initial commit master
authorChuck Scott <cscott@gaslightmedia.com>
Tue, 19 May 2015 17:49:24 +0000 (13:49 -0400)
committerChuck Scott <cscott@gaslightmedia.com>
Tue, 19 May 2015 17:49:24 +0000 (13:49 -0400)
149 files changed:
classes/class.swpm-fb-admin-custom-fields.php [new file with mode: 0644]
classes/class.swpm-fb-fieldmeta.php [new file with mode: 0644]
classes/class.swpm-fb-form-custom.php [new file with mode: 0644]
classes/class.swpm-fb-form.php [new file with mode: 0644]
classes/class.swpm-fb-formmeta.php [new file with mode: 0644]
classes/class.swpm-fb-forms-list.php [new file with mode: 0644]
classes/class.swpm-fb-installer.php [new file with mode: 0644]
classes/class.swpm-fb-profile-formmeta.php [new file with mode: 0644]
classes/class.swpm-fb-registration-formmeta.php [new file with mode: 0644]
classes/class.swpm-fb-utils.php [new file with mode: 0644]
classes/class.swpm-form-builder.php [new file with mode: 0644]
css/smoothness/images/animated-overlay.gif [new file with mode: 0644]
css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png [new file with mode: 0644]
css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png [new file with mode: 0644]
css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png [new file with mode: 0644]
css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png [new file with mode: 0644]
css/smoothness/images/ui-bg_glass_75_dadada_1x400.png [new file with mode: 0644]
css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png [new file with mode: 0644]
css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png [new file with mode: 0644]
css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png [new file with mode: 0644]
css/smoothness/images/ui-icons_222222_256x240.png [new file with mode: 0644]
css/smoothness/images/ui-icons_2e83ff_256x240.png [new file with mode: 0644]
css/smoothness/images/ui-icons_454545_256x240.png [new file with mode: 0644]
css/smoothness/images/ui-icons_888888_256x240.png [new file with mode: 0644]
css/smoothness/images/ui-icons_cd0a0a_256x240.png [new file with mode: 0644]
css/smoothness/jquery-ui-1.10.3.css [new file with mode: 0644]
css/smoothness/jquery-ui-1.10.3.min.css [new file with mode: 0644]
css/swpm-form-builder-admin.css [new file with mode: 0644]
css/swpm-form-builder-admin.min.css [new file with mode: 0644]
css/swpm-form-builder.css [new file with mode: 0644]
css/swpm-form-builder.min.css [new file with mode: 0644]
images/arrows-2x.png [new file with mode: 0644]
images/arrows-dark-2x.png [new file with mode: 0644]
images/arrows-dark-vs-2x.png [new file with mode: 0644]
images/arrows-dark-vs.png [new file with mode: 0644]
images/arrows-dark.png [new file with mode: 0644]
images/arrows-vs-2x.png [new file with mode: 0644]
images/arrows-vs.png [new file with mode: 0644]
images/arrows.png [new file with mode: 0644]
images/swpm-form-items-2x.png [new file with mode: 0644]
images/swpm-form-items.png [new file with mode: 0644]
images/swpm-interface-icons-2x.png [new file with mode: 0644]
images/swpm-interface-icons.png [new file with mode: 0644]
images/swpm_icon.png [new file with mode: 0644]
includes/admin-field-options.php [new file with mode: 0644]
includes/admin-form-creator.php [new file with mode: 0644]
includes/admin-license-interface.php [new file with mode: 0644]
includes/admin-new-form.php [new file with mode: 0644]
includes/class-widget.php [new file with mode: 0644]
includes/email.php [new file with mode: 0644]
includes/form-output.php [new file with mode: 0644]
js/ckeditor/ckeditor.js [new file with mode: 0644]
js/ckeditor/config.js [new file with mode: 0644]
js/ckeditor/contents.css [new file with mode: 0644]
js/ckeditor/lang/en.js [new file with mode: 0644]
js/ckeditor/plugins/dialog/dialogDefinition.js [new file with mode: 0644]
js/ckeditor/plugins/icons.png [new file with mode: 0644]
js/ckeditor/plugins/link/dialogs/anchor.js [new file with mode: 0644]
js/ckeditor/plugins/link/dialogs/link.js [new file with mode: 0644]
js/ckeditor/plugins/link/images/anchor.png [new file with mode: 0644]
js/ckeditor/skins/moono/dialog.css [new file with mode: 0644]
js/ckeditor/skins/moono/dialog_ie.css [new file with mode: 0644]
js/ckeditor/skins/moono/dialog_ie7.css [new file with mode: 0644]
js/ckeditor/skins/moono/dialog_ie8.css [new file with mode: 0644]
js/ckeditor/skins/moono/dialog_iequirks.css [new file with mode: 0644]
js/ckeditor/skins/moono/dialog_opera.css [new file with mode: 0644]
js/ckeditor/skins/moono/editor.css [new file with mode: 0644]
js/ckeditor/skins/moono/editor_gecko.css [new file with mode: 0644]
js/ckeditor/skins/moono/editor_ie.css [new file with mode: 0644]
js/ckeditor/skins/moono/editor_ie7.css [new file with mode: 0644]
js/ckeditor/skins/moono/editor_ie8.css [new file with mode: 0644]
js/ckeditor/skins/moono/editor_iequirks.css [new file with mode: 0644]
js/ckeditor/skins/moono/icons.png [new file with mode: 0644]
js/ckeditor/skins/moono/images/arrow.png [new file with mode: 0644]
js/ckeditor/skins/moono/images/close.png [new file with mode: 0644]
js/ckeditor/skins/moono/images/mini.png [new file with mode: 0644]
js/ckeditor/skins/moono/readme.md [new file with mode: 0644]
js/i18n/datepicker/datepicker-cs_CS.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-de_DE.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-el_GR.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-en_AU.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-en_GB.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-en_US.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-es_ES.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-fr_FR.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-he_IL.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-hu_HU.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-id_ID.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-it_IT.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-ja_JP.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-ko_KR.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-nl_NL.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-pl_PL.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-pt_BR.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-pt_PT.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-ro_RO.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-ru_RU.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-sv_SE.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-tr_TR.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-zh_CN.js [new file with mode: 0644]
js/i18n/datepicker/datepicker-zh_TW.js [new file with mode: 0644]
js/i18n/validate/messages-cs_CS.js [new file with mode: 0644]
js/i18n/validate/messages-de_DE.js [new file with mode: 0644]
js/i18n/validate/messages-el_GR.js [new file with mode: 0644]
js/i18n/validate/messages-en_AU.js [new file with mode: 0644]
js/i18n/validate/messages-en_GB.js [new file with mode: 0644]
js/i18n/validate/messages-en_US.js [new file with mode: 0644]
js/i18n/validate/messages-es_ES.js [new file with mode: 0644]
js/i18n/validate/messages-fr_FR.js [new file with mode: 0644]
js/i18n/validate/messages-he_IL.js [new file with mode: 0644]
js/i18n/validate/messages-hu_HU.js [new file with mode: 0644]
js/i18n/validate/messages-id_ID.js [new file with mode: 0644]
js/i18n/validate/messages-it_IT.js [new file with mode: 0644]
js/i18n/validate/messages-ja_JP.js [new file with mode: 0644]
js/i18n/validate/messages-ko_KR.js [new file with mode: 0644]
js/i18n/validate/messages-nl_NL.js [new file with mode: 0644]
js/i18n/validate/messages-pl_PL.js [new file with mode: 0644]
js/i18n/validate/messages-pt_BR.js [new file with mode: 0644]
js/i18n/validate/messages-pt_PT.js [new file with mode: 0644]
js/i18n/validate/messages-ro_RO.js [new file with mode: 0644]
js/i18n/validate/messages-ru_RU.js [new file with mode: 0644]
js/i18n/validate/messages-sv_SE.js [new file with mode: 0644]
js/i18n/validate/messages-tr_TR.js [new file with mode: 0644]
js/i18n/validate/messages-zh_CN.js [new file with mode: 0644]
js/i18n/validate/messages-zh_TW.js [new file with mode: 0644]
js/jquery.metadata.js [new file with mode: 0644]
js/jquery.ui.nestedSortable.js [new file with mode: 0644]
js/jquery.ui.nestedSortable.min.js [new file with mode: 0644]
js/jquery.validate.min.js [new file with mode: 0644]
js/swpm-admin.js [new file with mode: 0644]
js/swpm-admin.min.js [new file with mode: 0644]
js/swpm-validation.js [new file with mode: 0644]
js/swpm-validation.min.js [new file with mode: 0644]
languages/swpm-form-builder-bg_BG.mo [new file with mode: 0644]
languages/swpm-form-builder-bg_BG.po [new file with mode: 0644]
languages/swpm-form-builder-es_ES.mo [new file with mode: 0644]
languages/swpm-form-builder-es_ES.po [new file with mode: 0644]
languages/swpm-form-builder-fr_FR.mo [new file with mode: 0644]
languages/swpm-form-builder-fr_FR.po [new file with mode: 0644]
languages/swpm-form-builder-hu_HU.mo [new file with mode: 0644]
languages/swpm-form-builder-hu_HU.po [new file with mode: 0644]
languages/swpm-form-builder-nl_NL.mo [new file with mode: 0644]
languages/swpm-form-builder-nl_NL.po [new file with mode: 0644]
languages/swpm-form-builder.pot [new file with mode: 0644]
swpm-form-builder.php [new file with mode: 0644]
uninstall.php [new file with mode: 0644]
views/all_forms.php [new file with mode: 0644]
views/button_palette_metabox.php [new file with mode: 0644]
views/settings.php [new file with mode: 0644]

diff --git a/classes/class.swpm-fb-admin-custom-fields.php b/classes/class.swpm-fb-admin-custom-fields.php
new file mode 100644 (file)
index 0000000..f67c6d2
--- /dev/null
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Description of class
+ *
+ * @author nur
+ */
+class SwpmFbAdminCustomFields {
+    private $fields ;
+    private $membership_level;
+    private $form_id;
+    public function init($membership_level){
+        global $wpdb;
+        $this->fields = array();
+        $this->membership_level = $membership_level;
+        $form_table_name = $wpdb->prefix . 'swpm_form_builder_forms';
+        $field_table = $wpdb->prefix . 'swpm_form_builder_fields';
+        $query = $wpdb->prepare("SELECT form_id FROM $form_table_name WHERE form_type = 1 AND "
+                . " (form_membership_level= %d OR form_membership_level=0 )"
+                . " ORDER BY form_membership_level DESC", $membership_level);
+        $form_id = $wpdb->get_var($query);
+        $this->form_id = $form_id;
+        if (empty($form_id)) {return; }
+        $query = $wpdb->prepare(
+                    "SELECT
+                        field_id AS id,
+                        form_id,
+                        field_key AS _key,
+                        field_type AS type,
+                        field_options AS options,
+                        field_description AS description,
+                        field_name AS name,
+                        field_sequence AS sequence,
+                        field_parent AS parent,
+                        field_validation AS validation,
+                        field_required AS required,
+                        field_size AS size,
+                        field_css AS css,
+                        field_layout AS layout,
+                        field_default AS _default,
+                        field_readonly As readonly,
+                        field_adminonly AS adminonly,
+                        reg_field_id AS reg_field_id
+                    FROM $field_table WHERE form_id= %d and field_key='custom' ORDER BY field_sequence ASC",
+                    $form_id
+                );
+        $data = $wpdb->get_results($query);
+        foreach ($data as $field){
+            $obj = new SwpmFbFieldmeta();
+            $obj->load($field);
+            $this->fields[] = $obj;
+        }
+    }
+    public function admin_ui(){
+//    if (!(BUtils::is_admin() && is_admin())) {return '';}
+        $custom = new SwpmFbFormCustom();
+        $member_id = filter_input(INPUT_GET, 'member_id');
+        if (empty($member_id)){return'';}
+        $custom->init($member_id);
+        return $custom->admin_ui($this->fields);
+    }
+    public function save($user_id){
+        $custom = new SwpmFbFormCustom();
+        $custom->init($user_id);
+        $custom->process_custom($this->fields);
+        if ($custom->is_valid()){
+            $custom->save();
+        }
+
+    }
+}
diff --git a/classes/class.swpm-fb-fieldmeta.php b/classes/class.swpm-fb-fieldmeta.php
new file mode 100644 (file)
index 0000000..272e643
--- /dev/null
@@ -0,0 +1,622 @@
+<?php
+
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+/**
+ * Description of class
+ *
+ * @author nur
+ */
+class SwpmFbFieldmeta {
+
+    private $table;
+    private $mtable;
+    public $id;
+    public $form_id;
+    public $key;
+    public $type;
+    public $options;
+    public $description;
+    public $name;
+    public $sequence;
+    public $parent;
+    public $validation;
+    public $required;
+    public $size;
+    public $css;
+    public $layout;
+    public $default;
+    public $readnly;
+    public $adminonly;
+    public $reg_field_id;
+
+    public function __construct() {
+        global $wpdb;
+        $this->table = $wpdb->prefix . 'swpm_form_builder_fields';
+        $this->mtable = $wpdb->prefix . 'swpm_form_builder_multivalue';
+    }
+
+    public function save() {
+        global $wpdb;
+        $data = array(
+            'form_id' => $this->form_id,
+            'field_key' => $this->key,
+            'field_type' => $this->type,
+            'field_name' => $this->name,
+            'field_description' => $this->description,
+            'field_size' => $this->size,
+            'field_required' => $this->required,
+            'field_parent' => $this->parent,
+            'field_sequence' => $this->sequence,
+            'field_options' => $this->options,
+            'field_validation' => $this->validation,
+            'field_css' => $this->css,
+            'field_layout' => $this->layout,
+            'field_default' => $this->default,
+            'field_readonly' => $this->readnly,
+            'field_adminonly' => $this->adminonly,
+            'reg_field_id' => $this->reg_field_id
+        );
+        // todo: validate here
+        if (empty($this->id)) {
+            $wpdb->insert($this->table, $data);
+        } else {
+            $wpdb->update($this->table, $data, array('field_id', $this->id));
+        }
+    }
+
+    public function load($field) {
+        foreach ($field as $key => $value) {
+            if ($key == '_key') {
+                $this->key = $value;
+            } elseif ($key == '_default') {
+                $this->default = $value;
+            } else {
+                $this->$key = $value;
+            }
+        }
+    }
+
+    public function load_from_db($field_id) {
+        global $wpdb;
+        $query = $wpdb->prepare(
+                "SELECT
+                        field_id AS id,
+                        form_id,
+                        field_key AS _key,
+                        field_type AS type,
+                        field_options AS options,
+                        field_description AS description,
+                        field_name AS name,
+                        field_sequence AS sequence,
+                        field_parent AS parent,
+                        field_validation AS validation,
+                        field_required AS required,
+                        field_size AS size,
+                        field_css AS css,
+                        field_layout AS layout,
+                        field_default AS _default,
+                        field_readonly AS readonly,
+                        field_adminonly AS adminonly,
+                        reg_field_id AS reg_field_id
+                    FROM $this->table WHERE field_id= %d", $field_id
+        );
+        $data = $wpdb->get_row($query);
+        $this->load($data);
+    }
+
+    public function validate() {
+
+    }
+
+    public function get_unique_value_id() {
+        return empty($this->reg_field_id) ? $this->id : $this->reg_field_id;
+    }
+
+    public function toHTML($value = null, $form_type = 0, $label_align = "") {
+        switch ($this->type) {
+            case 'text':
+                return $this->text($value, $form_type, $label_align);
+                break;
+            case 'select':
+                return $this->select($value, $form_type, $label_align);
+                break;
+            case 'radio':
+                return $this->radio($value, $form_type, $label_align);
+                break;
+            case 'fieldset':
+                return $this->fieldset($form_type, $label_align);
+                break;
+            case 'section':
+                return $this->section($form_type, $label_align);
+                break;
+            case 'secret':
+                return $this->secret($form_type, $label_align);
+                break;
+            case 'submit':
+                return $this->submit($form_type, $label_align);
+                break;
+            case 'verification':
+                return $this->verification($form_type, $label_align);
+                break;
+            case 'email':
+                return $this->email($value, $form_type, $label_align);
+                break;
+            case 'url':
+                return $this->url($value, $form_type, $label_align);
+                break;
+            case 'currency':
+                return $this->currency($value, $form_type, $label_align);
+                break;
+            case 'number':
+                return $this->number($value, $form_type, $label_align);
+                break;
+            case 'phone':
+                return $this->phone($value, $form_type, $label_align);
+                break;
+            case 'password':
+                return $this->password($form_type, $label_align);
+                break;
+            case 'textarea':
+                return $this->textarea($value, $form_type, $label_align);
+                break;
+            case 'checkbox':
+                return $this->checkbox($value, $form_type, $label_align);
+                break;
+            case 'address':
+                return $this->address($value, $form_type, $label_align);
+                break;
+            case 'date':
+                return $this->date($value, $form_type, $label_align);
+                break;
+            case 'time':
+                return $this->time($value, $form_type, $label_align);
+                break;
+            case 'html':
+                return $this->html($value, $form_type, $label_align);
+                break;
+            case 'file-upload':
+                return $this->file_upload($value, $form_type, $label_align);
+                break;
+            case 'instructions':
+                return $this->instructions($form_type, $label_align);
+                break;
+        }
+    }
+
+    private function text($value = null, $form_type = 0, $label_align = "") {
+        $options = $this->get_sanitized_options();
+        $value = empty($value) ? $options['default'] : $value;
+        $key = str_replace('-', '_', $this->key);
+        switch ($key) {
+            case 'membership_level':
+                return $this->membership_level($value, $form_type, $label_align);
+            default:
+        }
+        // HTML5 types
+        if (in_array($this->type, array('email', 'url'))) {
+            $type = esc_attr($this->type);
+        } elseif ('phone' == $this->type) {
+            $type = 'tel';
+        } else {
+            $type = 'text';
+        }
+        $form_item = sprintf(
+                '<input type="%8$s" %9$s name="swpm-%1$d" id="%2$s" value="%3$s" class="swpm-text %4$s %5$s %6$s %7$s"  />', $options['field_id'], $options['id_attr'], stripslashes($value), $options['size'], $options['required'], $options['validation'], $options['css'], $type, $options['readonly'] ? 'disabled' : ''
+        );
+        if ($form_type == SwpmFbForm::PROFILE) {
+            switch ($key) {
+                case 'user_name':
+                    $form_item = '<b>' . $value . '</b>';
+                    break;
+            }
+        }
+        return (!empty($options['description']) ) ?
+                sprintf('<span class="swpm-span">%1$s<label>%2$s</label></span>', $form_item, $options['description']) : $form_item;
+    }
+
+    private function membership_level($level, $form_type = 0, $label_align = "") {
+        $options = $this->get_sanitized_options();
+        $value = BPermission::get_instance($level)->get('alias');
+        $id = BPermission::get_instance($level)->get('id');
+        $type = 'hidden';
+        $form_item = sprintf(
+                '<input type="%8$s" %9$s name="swpm-%1$d" id="%2$s" value="%3$s" class="swpm-text %4$s %5$s %6$s %7$s"  />', $options['field_id'], $options['id_attr'], $id, $options['size'], $options['required'], $options['validation'], $options['css'], $type, $options['readonly'] ? 'disabled' : ''
+        );
+        $form_item .= sprintf('<div> %1$s</div>', $value);
+        return (!empty($options['description']) ) ?
+                sprintf('<span class="swpm-span">%1$s<label>%2$s</label></span>', $form_item, $options['description']) : $form_item;
+    }
+
+    private function select($value = null, $form_type = 0, $label_align = "") {
+        extract($this->get_sanitized_options());
+        $field_options = maybe_unserialize($this->options);
+        $options = '';
+        $value = empty($value) ? $default : $value;
+        // Loop through each option and output
+        foreach ($field_options as $option => $tvalue) {
+            $options .= sprintf('<option value="%1$s"%2$s>%1$s</option>', esc_attr(trim(stripslashes($tvalue))), selected($tvalue, $value, 0));
+        }
+
+        $form_item = sprintf(
+                '<select name="swpm-%1$d" id="%2$s" class="swpm-select %3$s %4$s %5$s">%6$s</select>', $field_id, $id_attr, $size, $required, $css, $options
+        );
+
+        return (!empty($description) ) ?
+                sprintf('<span class="swpm-span">%1$s<label>%2$s</label></span>', $form_item, $description) : $form_item;
+    }
+
+    private function radio($value = null, $form_type = 0, $label_align = "") {
+        extract($this->get_sanitized_options());
+        $field_options = maybe_unserialize($this->options);
+
+        $options = '';
+        $value = empty($value) ? $default : $value;
+        // Loop through each option and output
+        foreach ($field_options as $option => $tvalue) {
+            $options .= sprintf(
+                    '<div class="swpm-span"><input type="radio" name="swpm-%1$d" id="%2$s-%3$d" value="%6$s" class="swpm-radio %4$s %5$s"%8$s /><label for="%2$s-%3$d" class="swpm-choice">%7$s</label></div>', $field_id, $id_attr, $option, $required, $css, esc_attr(trim(stripslashes($tvalue))), wp_specialchars_decode(stripslashes($tvalue)), checked($tvalue, $value, 0)
+            );
+        }
+
+        $form_item = $options;
+
+        $output = '<div>';
+
+        $output .= (!empty($description) ) ? sprintf('%1$s<span><label>%2$s</label></span>', $form_item, $description) : $form_item;
+
+        $output .= '<div style="clear:both"></div></div>';
+        return $output;
+    }
+
+    private function fieldset($form_type = 0, $label_align = "") {
+
+    }
+
+    private function section($form_type = 0, $label_align = "") {
+
+    }
+
+    private function secret($form_type = 0, $label_align = "") {
+
+    }
+
+    private function submit($form_type = 0, $label_align = "") {
+        extract($this->get_sanitized_options());
+        return sprintf(
+                '<li class="swpm-item swpm-item-submit" id="item-%2$s">
+                <input type="submit" name="swpm-submit" id="%2$s" value="%3$s" class="swpm-submit %4$s" />
+                ' . BUtils::delete_account_button() . '
+                </li>', $field_id, $id_attr, wp_specialchars_decode(esc_html($field_name), ENT_QUOTES), $css
+        );
+    }
+
+    private function verification($form_type = 0) {
+
+    }
+
+    private function email($value = null, $form_type = 0) {
+        $options = $this->get_sanitized_options();
+        $value = empty($value) ? $options['default'] : $value;
+        // HTML5 types
+        $type = esc_attr($this->type);
+        $form_item = sprintf(
+                '<input type="%8$s" %9$s name="swpm-%1$d" id="%2$s" value="%3$s" class="swpm-text %4$s %5$s %6$s %7$s"  />', $options['field_id'], $options['id_attr'], stripslashes($value), $options['size'], $options['required'], $options['validation'], $options['css'], $type, $options['readonly'] ? 'disabled' : ''
+        );
+
+        return (!empty($options['description']) ) ?
+                sprintf('<span class="swpm-span">%1$s<label>%2$s</label></span>', $form_item, $options['description']) : $form_item;
+    }
+
+    private function url($value = null, $form_type = 0, $label_align = "") {
+        $options = $this->get_sanitized_options();
+        $value = empty($value) ? $options['default'] : $value;
+        // HTML5 types
+        $type = esc_attr($this->type);
+        $form_item = sprintf(
+                '<input type="%8$s" %9$s name="swpm-%1$d" id="%2$s" value="%3$s" class="swpm-text %4$s %5$s %6$s %7$s"  />', $options['field_id'], $options['id_attr'], $value, $options['size'], $options['required'], $options['validation'], $options['css'], $type, $options['readonly'] ? 'disabled' : ''
+        );
+
+        return (!empty($options['description']) ) ?
+                sprintf('<span class="swpm-span">%1$s<label>%2$s</label></span>', $form_item, $options['description']) : $form_item;
+    }
+
+    private function currency($value = null, $form_type = 0, $label_align = "") {
+        $options = $this->get_sanitized_options();
+        $value = empty($value) ? $options['default'] : $value;
+        // HTML5 types
+        $type = 'text';
+        $form_item = sprintf(
+                '<input type="%8$s" %9$s name="swpm-%1$d" id="%2$s" value="%3$s" class="swpm-text %4$s %5$s %6$s %7$s"  />', $options['field_id'], $options['id_attr'], $value, $options['size'], $options['required'], $options['validation'], $options['css'], $type, $options['readonly'] ? 'disabled' : ''
+        );
+
+        return (!empty($options['description']) ) ?
+                sprintf('<span class="swpm-span">%1$s<label>%2$s</label></span>', $form_item, $options['description']) : $form_item;
+    }
+
+    private function number($value = null, $form_type = 0, $label_align = "") {
+        $options = $this->get_sanitized_options();
+        $value = empty($value) ? $options['default'] : $value;
+        // HTML5 types
+        $type = 'text';
+        $form_item = sprintf(
+                '<input type="%8$s" %9$s name="swpm-%1$d" id="%2$s" value="%3$s" class="swpm-text %4$s %5$s %6$s %7$s"  />', $options['field_id'], $options['id_attr'], $value, $options['size'], $options['required'], $options['validation'], $options['css'], $type, $options['readonly'] ? 'disabled' : ''
+        );
+
+        return (!empty($options['description']) ) ?
+                sprintf('<span class="swpm-span">%1$s<label>%2$s</label></span>', $form_item, $options['description']) : $form_item;
+    }
+
+    private function phone($value = null, $form_type = 0, $label_align = "") {
+        $options = $this->get_sanitized_options();
+        $value = empty($value) ? $options['default'] : $value;
+        // HTML5 types
+        $type = 'tel';
+        $form_item = sprintf(
+                '<input type="%8$s" %9$s name="swpm-%1$d" id="%2$s" value="%3$s" class="swpm-text %4$s %5$s %6$s %7$s"  />', $options['field_id'], $options['id_attr'], $value, $options['size'], $options['required'], $options['validation'], $options['css'], $type, $options['readonly'] ? 'disabled' : ''
+        );
+
+        return (!empty($options['description']) ) ?
+                sprintf('<span class="swpm-span">%1$s<label>%2$s</label></span>', $form_item, $options['description']) : $form_item;
+    }
+
+    private function password($form_type = 0, $label_align = "") {
+        extract($this->get_sanitized_options());
+        $required = $form_type == SwpmFbForm::PROFILE ? '' : $required;
+        $form_item = sprintf(
+                '<div><input type="password" placeholder="Type password Here" name="swpm-%1$d" id="%2$s" value="%3$s" class="swpm-text %4$s %5$s %6$s %7$s" /></div>', $field_id, $id_attr, $default, $size, $required, $validation, $css
+        );
+        $form_item .= sprintf(
+                '<div><input type="password" placeholder="Retype password Here" name="swpm-%1$d_re" id="%2$s" value="%3$s" class="swpm-text %4$s %5$s %6$s %7$s" /></div>', $field_id, $id_attr, $default, $size, $required, $validation, $css
+        );
+
+        return (!empty($description) ) ?
+                sprintf('<div class="swpm-span">%1$s<label>%2$s</label></div>', $form_item, $description) : $form_item;
+    }
+
+    private function textarea($value = null, $form_type = 0, $label_align = "") {
+        extract($this->get_sanitized_options());
+        $value = empty($value) ? $default : $value;
+        $form_item = sprintf(
+                '<textarea name="swpm-%1$d" id="%2$s" class="swpm-textarea %4$s %5$s %6$s">%3$s</textarea>', $field_id, $id_attr, $value, $size, $required, $css
+        );
+
+        $output = '<div>';
+
+        $output .= (!empty($description) ) ?
+                sprintf('<span class="swpm-span"><label>%2$s</label></span>%1$s', $form_item, $description) : $form_item;
+
+        $output .= '</div>';
+        return $output;
+    }
+
+    private function checkbox($value = null, $form_type = 0, $label_align = "") {
+        extract($this->get_sanitized_options());
+        $field_options = maybe_unserialize($this->options);
+
+        $options = '';
+        $saved_value = maybe_unserialize(empty($value) ? $default : $value);
+        // Loop through each option and output
+        $indexes = array_keys((array) $saved_value);
+        foreach ($field_options as $option => $value) {
+            $options .= sprintf(
+                    '<div class="swpm-span"><input type="checkbox" name="swpm-%1$d[%3$d]" id="%2$s-%3$d" value="%5$s" class="swpm-checkbox %4$s"%7$s /><label for="%2$s-%3$d" class="swpm-choice">%6$s</label></div>', $field_id, $id_attr, $option, $css, esc_attr(trim(stripslashes($value))), wp_specialchars_decode(stripslashes($value)), checked(in_array($option, $indexes) ? $option : -1, $option, 0)
+            );
+        }
+
+        $form_item = $options;
+
+        $output = sprintf('<div class="%1$s">', empty($required) ? "" : "swpm-checkbox-required");
+
+        $output .= (!empty($description) ) ? sprintf('%1$s<span><label>%2$s</label></span>', $form_item, $description) : $form_item;
+
+        $output .= '<div style="clear:both"></div></div>';
+        return $output;
+    }
+
+    private function address($value = array(), $form_type = 0, $label_align = "") {
+        extract($this->get_sanitized_options());
+        $address = '';
+        $swpm_settings = get_option('swpm-settings');
+
+        // Settings - Place Address labels above fields
+        $settings_address_labels = isset($swpm_settings['address-labels']) ? false : true;
+        $address_parts = array(
+            'address' => array(
+                'label' => __('Street Address', 'swpm-form-builder'),
+                'layout' => 'full',
+                'value' => isset($value['address']) ? $value['address'] : ''
+            ),
+            'address-2' => array(
+                'label' => __('Apt, Suite, Bldg. (optional)', 'swpm-form-builder'),
+                'layout' => 'full',
+                'value' => isset($value['address-2']) ? $value['address-2'] : ''
+            ),
+            'city' => array(
+                'label' => __('City', 'swpm-form-builder'),
+                'layout' => 'left',
+                'value' => isset($value['city']) ? $value['city'] : ''
+            ),
+            'state' => array(
+                'label' => __('State / Province / Region', 'swpm-form-builder'),
+                'layout' => 'right',
+                'value' => isset($value['state']) ? $value['state'] : ''
+            ),
+            'zip' => array(
+                'label' => __('Postal / Zip Code', 'swpm-form-builder'),
+                'layout' => 'left',
+                'value' => isset($value['zip']) ? $value['zip'] : ''
+            ),
+            'country' => array(
+                'label' => __('Country', 'swpm-form-builder'),
+                'layout' => 'right',
+                'value' => isset($value['country']) ? $value['country'] : $default
+            )
+        );
+
+        $address_parts = apply_filters('swpm_address_labels', $address_parts, $this->form_id);
+        $label_placement = apply_filters('swpm_address_labels_placement', $settings_address_labels, $this->form_id);
+        $placement_bottom = ( $label_placement ) ? '<label for="%2$s-%4$s">%5$s</label>' : '';
+        $placement_top = (!$label_placement ) ? '<label for="%2$s-%4$s">%5$s</label>' : '';
+
+        foreach ($address_parts as $parts => $part) :
+
+            // Make sure the second address line is not required
+            $addr_required = ( 'address-2' !== $parts ) ? $required : '';
+
+            if ('country' == $parts) :
+
+                $options = '';
+
+                foreach (SwpmFbUtils::$countries as $country) {
+                    $options .= sprintf('<option value="%1$s"%2$s>%1$s</option>', $country, selected($part['value'], $country, 0));
+                }
+
+                $address .= sprintf(
+                        '<span class="swpm-%3$s">' . $placement_top . '<select name="swpm-%1$d[%4$s]" class="swpm-select %7$s %8$s" id="%2$s-%4$s">%6$s</select>' . $placement_bottom . '</span>', $field_id, $id_attr, esc_attr($part['layout']), esc_attr($parts), esc_html($part['label']), $options, $addr_required, $css
+                );
+
+            else :
+
+                $address .= sprintf(
+                        '<span class="swpm-%3$s">' . $placement_top . '<input type="text" value="' . $part['value'] . '" name="swpm-%1$d[%4$s]" id="%2$s-%4$s" maxlength="150" class="swpm-text swpm-medium %7$s %8$s" />' . $placement_bottom . '</span>', $field_id, $id_attr, esc_attr($part['layout']), esc_attr($parts), esc_html($part['label']), $size, $addr_required, $css
+                );
+
+            endif;
+
+        endforeach;
+
+        $output = '<div>';
+
+        $output .=!empty($description) ? "<span class='swpm-span'><label>$description</label></span>$address" : $address;
+
+        $output .= '</div>';
+        return $output;
+    }
+
+    private function date($value = null, $form_type = 0, $label_align = "") {
+        extract($this->get_sanitized_options());
+        // Load jQuery UI datepicker library
+        wp_enqueue_script('jquery-ui-datepicker');
+        wp_enqueue_script('swpm-datepicker-i18n');
+
+        $options = maybe_unserialize($this->options);
+        $dateFormat = ( $options ) ? $options['dateFormat'] : '';
+        $value = empty($value) ? $default : $value;
+        $form_item = sprintf(
+                '<input type="text" name="swpm-%1$d" id="%2$s" value="%3$s" class="swpm-text swpm-date-picker %4$s %5$s %6$s" data-dp-dateFormat="%7$s" />', $field_id, $id_attr, $value, $size, $required, $css, $dateFormat
+        );
+
+        $output = (!empty($description) ) ? sprintf('<span class="swpm-span">%1$s<label>%2$s</label></span>', $form_item, $description) : $form_item;
+        return $output;
+    }
+
+    private function time($value = null, $form_type = 0, $label_align = "") {
+        extract($this->get_sanitized_options());
+        $hour = $minute = $ampm = '';
+
+        // Get the time format (12 or 24)
+        $time_format = str_replace('time-', '', $validation);
+
+        $time_format = apply_filters('swpm_time_format', $time_format, $this->form_id);
+        $total_mins = apply_filters('swpm_time_min_total', 55, $this->form_id);
+        $min_interval = apply_filters('swpm_time_min_interval', 5, $this->form_id);
+
+        // Set whether we start with 0 or 1 and how many total hours
+        $hour_start = ( $time_format == '12' ) ? 1 : 0;
+        $hour_total = ( $time_format == '12' ) ? 12 : 23;
+
+        // Hour
+        for ($i = $hour_start; $i <= $hour_total; $i++) {
+            $hour .= sprintf('<option value="%1$02d">%1$02d</option>', $i);
+        }
+
+        // Minute
+        for ($i = 0; $i <= $total_mins; $i += $min_interval) {
+            $minute .= sprintf('<option value="%1$02d">%1$02d</option>', $i);
+        }
+
+        // AM/PM
+        if ($time_format == '12') {
+            $ampm = sprintf(
+                    '<span class="swpm-time"><select name="swpm-%1$d[ampm]" id="%2$s-ampm" class="swpm-select %5$s %6$s"><option value="AM">AM</option><option value="PM">PM</option></select><label for="%2$s-ampm">AM/PM</label></span>', $field_id, $id_attr, $hour, $minute, $required, $css
+            );
+        }
+
+        $form_item = sprintf(
+                '<span class="swpm-time"><select name="swpm-%1$d[hour]" id="%2$s-hour" class="swpm-select %5$s %6$s">%3$s</select><label for="%2$s-hour">HH</label></span>' .
+                '<span class="swpm-time"><select name="swpm-%1$d[min]" id="%2$s-min" class="swpm-select %5$s %6$s">%4$s</select><label for="%2$s-min">MM</label></span>' .
+                '%7$s', $field_id, $id_attr, $hour, $minute, $required, $css, $ampm
+        );
+
+        $output = (!empty($description) ) ? sprintf('<span class="swpm-span"><label>%2$s</label></span>%1$s', $form_item, $description) : $form_item;
+
+        $output .= '<div class="clear"></div>';
+        return $output;
+    }
+
+    private function html($value = null, $form_type = 0, $label_align = "") {
+        extract($this->get_sanitized_options());
+        //Load CKEditor library
+        wp_enqueue_script('swpm-ckeditor');
+        $value = empty($value) ? $default : $value;
+        $form_item = sprintf(
+                '<textarea name="swpm-%1$d" id="%2$s" class="swpm-textarea ckeditor %4$s %5$s %6$s">%3$s</textarea>', $field_id, $id_attr, $value, $size, $required, $css
+        );
+
+        $output = '<div>';
+
+        $output .= (!empty($description) ) ? sprintf('<span class="swpm-span"><label>%2$s</label></span>%1$s', $form_item, $description) : $form_item;
+
+        $output .= '</div>';
+        return $output;
+    }
+
+    private function file_upload($value = null, $form_type = 0, $label_align = "") {
+        extract($this->get_sanitized_options());
+        $options = maybe_unserialize($this->options);
+        $accept = (!empty($options[0]) ) ? " {accept:'$options[0]'}" : '';
+        $form_item = sprintf(
+                '<div><input type="file" name="swpm-%1$d" id="%2$s" value="%3$s" class="swpm-text %4$s %5$s %6$s %7$s %8$s" /></div>', $field_id, $id_attr, $default, $size, (($form_type == SwpmFbForm::PROFILE) && !empty($value) ) ? "" : $required, $validation, $css, $accept
+        );
+
+        $section = (!empty($description) ) ? sprintf('<span class="swpm-span">%1$s<label>%2$s</label></span>', $form_item, $description) : $form_item;
+        if ($this->key == 'profile_image') {
+            $url = wp_get_attachment_url($value);
+            $profile_image = empty($url) ? get_avatar("", 100, "mm") : sprintf('<img height="100" weidth="100" src="%1$s" />', $url);
+            $section = '<div>' . $profile_image . '</div>' . $section;
+        }
+        return '<div>' . $section . '</div>';
+    }
+
+    private function instructions($form_type = 0, $label_align = "") {
+        extract($this->get_sanitized_options());
+        return wp_specialchars_decode(esc_html(stripslashes($description)), ENT_QUOTES);
+    }
+
+    public function get_sanitized_options() {
+        $css = is_admin() ? ((in_array($this->type, array('text', 'password', 'email'))) ? 'regular-text' : '') : $this->css;
+        $description = $this->description;
+        return array(
+            'field_id' => absint($this->id),
+            'field_type' => esc_html($this->type),
+            'field_name' => esc_html(stripslashes($this->name)),
+            'required_span' => (!empty($this->required) && $this->required === 'yes' ) ? ' <span class="swpm-required-asterisk">*</span>' : '',
+            'required' => (!empty($this->required) && $this->required === 'yes' ) ? esc_attr(' required') : '',
+            'validation' => (!empty($this->validation) ) ? esc_attr(" $this->validation") : '',
+            'css' => (!empty($css) ) ? esc_attr(" $css") : '',
+            'id_attr' => "swpm-" . absint($this->id),
+            'size' => (!empty($this->size) ) ? esc_attr(" swpm-$this->size") : '',
+            'layout' => (!empty($this->layout) ) ? esc_attr(" swpm-$this->layout") : '',
+            'default' => (!empty($this->default) ) ? wp_specialchars_decode(esc_html(stripslashes($this->default)), ENT_QUOTES) : '',
+            'description' => (!empty($description) ) ? wp_specialchars_decode(esc_html(stripslashes($description)), ENT_QUOTES) : '',
+            'readonly' => ( $this->readonly == 'yes') ? true : false,
+            'adminonly' => ( $this->adminonly == 'yes') ? true : false,
+        );
+    }
+
+}
diff --git a/classes/class.swpm-fb-form-custom.php b/classes/class.swpm-fb-form-custom.php
new file mode 100644 (file)
index 0000000..b7514ea
--- /dev/null
@@ -0,0 +1,278 @@
+<?php
+
+/**
+ * Description of class
+ *
+ * @author nur
+ */
+class SwpmFbFormCustom {
+
+    const SPAM_SENSITIVITY = 4; //should come from settings.
+    const REGISTRATION = 0;
+    const PROFILE = 1;
+
+    protected $error;
+    protected $custom_info;
+    protected $spam_score;
+    protected $custom;
+    private $member_id;
+
+    public function __construct() {
+        $this->spam_score = 0;
+        $this->error = array();
+        $this->custom_info = array();
+        $this->custom = array();
+    }
+
+    protected function get_custom($member_id) {
+        global $wpdb;
+        $query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_form_builder_custom WHERE user_id= %d';
+        $query = $wpdb->prepare($query, $member_id);
+        foreach ($wpdb->get_results($query) as $row) {
+            $id = empty($row->reg_field_id) ? $row->field_id : $row->reg_field_id;
+            $this->custom_info[$id] = $row;
+        }
+    }
+
+    public function is_valid() {
+        return empty($this->error);
+    }
+
+    public function admin_ui($fields) {
+        $html = '<h3>Custom Fields</h3>';
+        $html .= '<table class="form-table">';
+        foreach ($fields as $field) { 
+            $id = $field->get_unique_value_id();
+            $value = isset($this->custom_info[$id]) ? $this->custom_info[$id]->value : '';
+            $html .= '<tr>  <th scope="row"><label for="swpm-' . $field->id . '">' . $field->name . '</label></th><td>';
+            $html .= $field->toHTML($value, SwpmFbForm::PROFILE);
+            $html .= '</td></tr>';
+        }
+        return $html . '</table>';
+    }
+
+    public function init($member_id) {
+        $this->get_custom($member_id);
+        $this->member_id = $member_id;
+    }
+
+    public function process_custom($fields) {
+        foreach ($fields as $field) {
+            $type = str_replace('-', '_', $field->type);
+            if (method_exists($this, $type)) {
+                $this->$type($field);
+            }
+        }
+    }
+
+    protected function text($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' Field is required');
+            return;
+        }
+        $this->custom[$meta->get_unique_value_id()] = sanitize_text_field($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    protected function checkbox($meta) {
+        $args = array('swpm-' . $meta->id => array(
+                'filter' => FILTER_SANITIZE_STRING,
+                'flags' => FILTER_REQUIRE_ARRAY,
+        ));
+        $value = filter_input_array(INPUT_POST, $args);
+        $value = $value['swpm-' . $meta->id];
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' Field is required');
+            return;
+        }
+        $this->custom[$meta->get_unique_value_id()] = $value;
+    }
+
+    protected function radio($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' Field is required');
+            return;
+        }
+        $this->custom[$meta->get_unique_value_id()] = wp_kses_data($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    protected function select($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' Field is required');
+            return;
+        }
+        $this->custom[$meta->get_unique_value_id()] = wp_kses_data($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    protected function date($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' Field is required');
+            return;
+        }
+        // todo: check date format.
+        $this->custom[$meta->get_unique_value_id()] = wp_kses_data($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    protected function time($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' Field is required');
+            return;
+        }
+        //todo: check format.
+        $this->custom[$meta->get_unique_value_id()] = wp_kses_data($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    protected function phone($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = BUtils::_($meta->name . ' Field is required');
+            return;
+        }
+        //todo: phone number format validation
+        $this->custom[$meta->get_unique_value_id()] = wp_kses_data($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    protected function url($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' Field is required');
+            return;
+        }
+        if (!empty($value) && !preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_('  not a valid url');
+            return;
+        }
+        $this->custom[$meta->get_unique_value_id()] = wp_kses_data($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    protected function number($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' Field is required');
+            return;
+        }
+        if (!is_numeric($value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' must be a valid number');
+            return;
+        }
+        if (strlen($value) <= 9 || !preg_match('/^((\+)?[1-9]{1,2})?([-\s\.])?((\(\d{1,4}\))|\d{1,4})(([-\s\.])?[0-9]{1,12}){1,2}$/', $value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' not a valid phone number');
+            return;
+        }
+        $this->custom[$meta->get_unique_value_id()] = wp_kses_data($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    protected function file_upload($meta) {
+        $value = ( isset($_FILES['swpm-' . $meta->id]) ) ? $_FILES['swpm-' . $meta->id] : '';
+        if (is_array($value) && $value['size'] > 0) {
+            $status = SwpmFbUtils::handle_file_upload($value);
+            if (isset($status['error'])) {
+                $this->error[$meta->id] = $status['error'];
+                return;
+            }
+            $this->custom[$meta->get_unique_value_id()] = $status['file'];
+        }
+        if ($this->formmeta->type == self::PROFILE) {
+            // unlink existing image.
+        }
+    }
+
+    protected function address($meta) {
+        if (isset($_POST['swpm-' . $meta->id])) {
+            $address = $_POST['swpm-' . $meta->id];
+            $allowed_html = array('br' => array());
+            $address['address'] = wp_kses($address['address'], $allowed_html);
+            $address['address'] = wp_kses($address['address-2'], $allowed_html);
+            $address['city'] = wp_kses($address['city'], $allowed_html);
+            $address['state'] = wp_kses($address['state'], $allowed_html);
+            $address['zip'] = wp_kses($address['zip'], $allowed_html);
+            $address['country'] = wp_kses($address['country'], $allowed_html);
+            $this->custom[$meta->get_unique_value_id()] = json_encode($address);
+            //todo: spam score
+        } else if ($meta->required == 'yes') {
+            $this->error[$meta->id] = BUtils::_($meta->name . ' Field is required');
+        }
+    }
+
+    protected function textarea($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' Field is required');
+            return;
+        }
+        $this->custom[$meta->get_unique_value_id()] = wp_strip_all_tags($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    protected function currency($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' Field is required');
+            return;
+        }
+        if (!is_numeric($value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' must be a valid number');
+            return;
+        }
+        $this->custom[$meta->get_unique_value_id()] = wp_kses_data($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    protected function html($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' Field is required');
+            return;
+        }
+        $this->custom[$meta->get_unique_value_id()] = wp_kses_data($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    protected function email($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = $meta->name . BUtils::_(' Field is required');
+            return;
+        }
+        $this->custom[$meta->get_unique_value_id()] = sanitize_email($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    public function error($key = '', $value = '') {
+        if (empty($key)) {
+            return $this->error;
+        }
+        $this->error[$key] = $value;
+    }
+
+    public function save() {
+        global $wpdb;
+        foreach ($this->custom as $field_id => $value) {
+            $v = is_array($value) ? serialize($value) : $value;
+            if (isset($this->custom_info[$field_id])) {
+                $wpdb->update($wpdb->prefix . 'swpm_form_builder_custom', array(
+                    'value' => $v
+                        ), array('value_id' => $this->custom_info[$field_id]->value_id));
+            } else {
+                $wpdb->insert($wpdb->prefix . 'swpm_form_builder_custom', array(
+                    'value' => $v,
+                    'user_id' => $this->member_id,
+                    'field_id' => $field_id
+                ));
+            }
+        }
+    }
+
+}
diff --git a/classes/class.swpm-fb-form.php b/classes/class.swpm-fb-form.php
new file mode 100644 (file)
index 0000000..0351fa9
--- /dev/null
@@ -0,0 +1,483 @@
+<?php
+
+/**
+ * Description of class
+ *
+ * @author nur
+ */
+require_once(SWPM_FORM_BUILDER_PATH . 'classes/class.swpm-fb-form-custom.php');
+
+class SwpmFbForm extends SwpmFbFormCustom {
+
+    public $formmeta;
+    private $fatal;
+    private $data;
+    private $member_info;
+    private $membership_level_info;
+    private $required_fields_count;
+
+    public function __construct() {
+        $this->fatal = array();
+        $this->data = array();
+        $this->member_info = new stdClass();
+        $this->required_fields_count = 0;
+        parent::__construct();
+    }
+
+    public function init_by_id($form_id) {
+        if (BUtils::is_paid_registration()) {
+            $this->member_info = BUtils::get_paid_member_info();
+            if (empty($this->member_info)) {
+                $form->error[] = BUtils::_('Error! Invalid Request. Could not find a match for the given security code and the user ID.');
+            } else {
+                $membership_level = $this->member_info->membership_level;
+            }
+        } else {
+            $membership_level = BUtils::get_free_level();
+            if (empty($membership_level)) {
+                $joinuspage_link = '<a href="' . BSettings::get_instance()->get_value('join-us-page-url') . '">Join us</a>';
+                $this->fatal[] = BUtils::_('Free membership is disabled on this site. Please make a payment from the ' . $joinuspage_link . ' page to pay for a premium membership.');
+                return;
+            }
+        }
+        $this->membership_level_info = BPermission::get_instance($membership_level);
+        $this->init($form_id);
+    }
+
+    public function init_by_level_for_registration($membership_level) {
+        if (BUtils::is_paid_registration()) {
+            $this->member_info = BUtils::get_paid_member_info();
+            if (empty($this->member_info)) {
+                $form->error[] = BUtils::_('Error! Invalid Request. Could not find a match for the given security code and the user ID.');
+            } else {
+                $membership_level = $this->member_info->membership_level;
+            }
+        }
+        $this->membership_level_info = BPermission::get_instance($membership_level);
+        $level = $this->membership_level_info->get('id');
+
+        if (empty($level)) {
+            $joinuspage_link = '<a href="' . $settings_configs->get_value('join-us-page-url') . '">Join us</a>';
+            $this->fatal[] = BUtils::_('Free membership is disabled on this site. Please make a payment from the ' . $joinuspage_link . ' page to pay for a premium membership.');
+            return;
+        }
+        global $wpdb;
+        $query = $wpdb->prepare("SELECT form_id FROM {$wpdb->prefix}swpm_form_builder_forms WHERE form_type = 0 AND "
+                . " (form_membership_level = %d OR form_membership_level = 0 ) "
+                . " ORDER BY form_membership_level DESC", $level);
+        $form_id = $wpdb->get_var($query);
+        if (empty($form_id)) {
+            $this->fatal[] = BUtils::_('Error! Form not found.');
+            return;
+        }
+
+        $this->init($form_id);
+    }
+
+    public function get_level_info($key) {
+        return $this->membership_level_info->get($key);
+    }
+
+    public function init_by_level_for_profile() {
+        global $wpdb;
+        $auth = BAuth::get_instance();
+        if (!$auth->is_logged_in()) {
+            $this->fatal[] = BUtils::_('Please login to edit profile.');
+        }
+
+        $membership_level = $auth->get('membership_level');
+        $this->membership_level_info = BPermission::get_instance($membership_level);
+        $query = $wpdb->prepare("SELECT form_id FROM {$wpdb->prefix}swpm_form_builder_forms WHERE form_type = 1 AND "
+                . " (form_membership_level= %d OR form_membership_level=0 )"
+                . " ORDER BY form_membership_level DESC", $this->membership_level_info->get('id'));
+        $form_id = $wpdb->get_var($query);
+        parent::init($auth->get('member_id')); // load custom fields when editing profile.
+        if (empty($form_id)) {
+            $this->fatal[] = BUtils::_('Form Build Error! Form not found.');
+            return;
+        }
+        $this->init($form_id);
+        $this->member_info = $auth->userData;
+    }
+
+    public function init($form_id) {
+        $this->formmeta = new SwpmFbFormmeta();
+        $this->formmeta->load($form_id, true);
+        return true;
+    }
+
+    public function is_valid() {
+        if ($this->formmeta->type == SwpmFbForm::REGISTRATION && $this->required_fields_count != 3) {
+            return false;
+        }
+        return empty($this->error);
+    }
+
+    public function get_field_value($field) {
+        if (isset($_POST['swpm-' . $field->id])) {
+            return $_POST['swpm-' . $field->id];
+        }
+        $key = str_replace('-', '_', $field->key);
+        if ($this->formmeta->type == self::REGISTRATION) {
+            if ($key == 'membership_level') {
+                return $this->membership_level_info->get('id');
+            }
+            return '';
+        }
+        if ($this->formmeta->type == self::PROFILE) {
+            $id = $field->get_unique_value_id();
+            if ($key == 'custom' && isset($this->custom_info[$id])) {
+                if ($field->type == 'address') {
+                    return json_decode($this->custom_info[$id]->value, true);
+                }
+                return $this->custom_info[$id]->value;
+            }
+            if ($key == 'primary_address') {
+                $address = explode(',', $this->member_info->address_street);
+                return array('address' => $address[0],
+                    'address-2' => isset($address[1]) ? $address[1] : '',
+                    'city' => $this->member_info->address_city,
+                    'state' => $this->member_info->address_state,
+                    'zip' => $this->member_info->address_zipcode,
+                    'country' => $this->member_info->country
+                );
+            }
+            if (isset($this->member_info->{$field->type})) {
+                return $this->member_info->{$field->type};
+            }
+            if (isset($this->member_info->{$key})) {
+                return $this->member_info->{$key};
+            }
+        }
+        return '';
+    }
+
+    public function process() {
+        if ($this->is_fatal()) {
+            return; // if already got fatal error.
+        }
+        // mandatory fields
+        foreach ($this->formmeta->fields as $field) {
+            $key = str_replace('-', '_', $field->key);
+            $type = str_replace('-', '_', $field->type);
+            if (method_exists($this, $key)) {
+                $this->$key($field);
+            } else if (method_exists($this, $type)) {
+                $this->$type($field);
+            }
+        }
+        if ($this->spam_score > self::SPAM_SENSITIVITY) {
+            $this->error["Spam Words"] = BUtils::_(' Information You submitted contains too many spam word. Cannot continue.');
+        }
+        /* if ($this->is_valid()){
+          $this->save();
+          return true;
+          }
+          return false; */
+    }
+
+    private function password($meta) {
+        if ($this->formmeta->type == self::REGISTRATION) {
+            $this->required_fields_count += 1;
+        }
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if (empty($value)) {
+            if ($this->formmeta->type == self::PROFILE) {
+                return;
+            }
+            $this->error[$meta->id] = BUtils::_($meta->name . ' Field is required');
+            return;
+        }
+        $value_re = filter_input(INPUT_POST, 'swpm-' . $meta->id . '_re');
+        if ($value == $value_re) {
+            include_once(ABSPATH . WPINC . '/class-phpass.php');
+            $wp_hasher = new PasswordHash(8, TRUE);
+            //$this->sanitized['plain_password'] = $password;
+            $this->data['password'] = $wp_hasher->HashPassword(trim($value));
+            $this->data['plain_password'] = $value;
+            //$this->data['password'] = sanitize_text_field($value);
+            return;
+        }
+        $this->error[$meta->name] = BUtils::_($meta->name . ' Password  doesn\'t match');
+    }
+
+    private function user_name($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($this->formmeta->type == SwpmFbForm::REGISTRATION) {
+            if (empty($value)) {
+                $this->error[$meta->id] = BUtils::_($meta->name . ' Field is required');
+                return;
+            }
+            if (preg_match("/^[a-zA-Z0-9!@#$%&*+\/=?^_`{|}~\.-]+$/", $value) === 0) {
+                $this->error[$meta->id] = BUtils::_($meta->name . ' Field has invalid character');
+                return;
+            }
+            $this->required_fields_count += 1;
+            global $wpdb;
+            $query = $wpdb->prepare('SELECT 1 as yes FROM ' . $wpdb->prefix . 'swpm_members_tbl WHERE user_name=%s', $value);
+
+            $exists = $wpdb->get_var($query);
+            if (!empty($exists)) {
+                $this->error[$meta->id] = $value . ' ' . BUtils::_('Already taken.');
+                return;
+            }
+            $this->data['user_name'] = sanitize_text_field($value);
+            $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+        }
+    }
+
+    private function first_name($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = BUtils::_($meta->name . ' Field is required');
+            return;
+        }
+        $this->data['first_name'] = sanitize_text_field($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    private function last_name($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = BUtils::_($meta->name . ' Field is required');
+            return;
+        }
+        $this->data['last_name'] = sanitize_text_field($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    private function gender($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = BUtils::_($meta->name . ' Field is required');
+            return;
+        }
+        $this->data['gender'] = strtolower(wp_kses_data($value));
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    private function title($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = BUtils::_($meta->name . ' Field is required');
+            return;
+        }
+        $this->data['title'] = strtolower(wp_kses_data($value));
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    private function primary_address($meta) {
+        if (isset($_POST['swpm-' . $meta->id])) {
+            $address = $_POST['swpm-' . $meta->id];
+            $allowed_html = array('br' => array());
+            $this->data['address_street'] = wp_kses($address['address'] . ', ' . $address['address-2'], $allowed_html);
+            $this->data['address_city'] = wp_kses($address['city'], $allowed_html);
+            $this->data['address_state'] = wp_kses($address['state'], $allowed_html);
+            $this->data['address_zipcode'] = wp_kses($address['zip'], $allowed_html);
+            $this->data['country'] = wp_kses($address['country'], $allowed_html);
+            //todo: spam score
+        } else if ($meta->required == 'yes') {
+            $this->error[$meta->id] = BUtils::_($meta->name . ' Field is required');
+        }
+    }
+
+    private function primary_phone($meta) {
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if ($meta->required == 'yes' && empty($value)) {
+            $this->error[$meta->id] = BUtils::_($meta->name . ' Field is required');
+            return;
+        }
+        //todo: phone number format validation
+        $this->data['phone'] = wp_kses_data($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    private function primary_email($meta) {
+        if ($this->formmeta->type == self::REGISTRATION) {
+            $this->required_fields_count += 1;
+        }
+        $value = filter_input(INPUT_POST, 'swpm-' . $meta->id);
+        if (empty($value)) {
+            $this->error[$meta->id] = BUtils::_($meta->name . ' Field is required');
+            return;
+        }
+        if (!is_email($value)) {
+            $this->error[$meta->id] = $value . ' ' . BUtils::_('Invalid email.');
+            return;
+        }
+
+        if ($this->formmeta->type == SwpmFbForm::PROFILE && $value == $this->member_info->email) {
+            return; // same email address. doesn't require storing in db again.
+        }
+        global $wpdb;
+        $query = $wpdb->prepare('SELECT email FROM ' . $wpdb->prefix . 'swpm_members_tbl WHERE email=%s', $value);
+        $exists = $wpdb->get_var($query);
+        if (!empty($exists)) {
+            $this->error[$meta->id] = $value . ' ' . BUtils::_('Already taken.');
+            return;
+        }
+        $this->data['email'] = sanitize_email($value);
+        $this->spam_score += SwpmFbUtils::calculate_spam_score($value);
+    }
+
+    private function membership_level($meta) {
+        if (!is_admin() && $this->formmeta->type == SwpmFbFormCustom::PROFILE) {
+            return;
+        }
+        if (BUtils::is_paid_registration()) {
+            return;
+        }
+        $free = BUtils::get_free_level();
+
+        if (empty($free)) {
+            return;
+        }
+
+        $this->data['membership_level'] = $free;
+    }
+
+    private function profile_image($meta) {
+        $value = ( isset($_FILES['swpm-' . $meta->id]) ) ? $_FILES['swpm-' . $meta->id] : '';
+        if ($meta->required == 'yes') {
+            if ($this->formmeta->type == self::REGISTRATION && empty($value)) {
+                $this->error[$meta->id] = BUtils::_($meta->name . ' Field is required');
+                return;
+            }
+            if ($this->formmeta->type == self::PROFILE && empty($value) && empty($this->member_info->profile_image)) {
+                $this->error[$meta->id] = BUtils::_($meta->name . ' Field is required');
+                return;
+            }
+        }
+
+        if (is_array($value) && $value['size'] > 0) {
+            $status = SwpmFbUtils::handle_file_upload($value);
+            if (isset($status['error'])) {
+                $this->error[$meta->id] = $status['error'];
+                return;
+            }
+            $this->data['profile_image'] = $status['attachment_id'];
+            if ($this->formmeta->type == self::PROFILE) {
+                //delete previously stored one.
+                wp_delete_attachment($this->member_info->profile_image, true);
+            }
+        }
+    }
+
+    public function fatal($key = '', $value = '') {
+        if (empty($key)) {
+            return $this->fatal;
+        }
+        $this->fatal[$key] = $value;
+    }
+
+    public function is_fatal() {
+        return !empty($this->fatal);
+    }
+
+    public function save() {
+        global $wpdb;
+
+        $account_status = BSettings::get_instance()->get_value('default-account-status', 'active');
+        $auth = BAuth::get_instance();
+        if ($this->formmeta->type == self::REGISTRATION) {
+            $plain_password = $this->data['plain_password'];
+            unset($this->data['plain_password']);
+            $this->data['account_state'] = $account_status;
+            if (isset($this->member_info->member_id)) {
+                $this->data['reg_code'] = '';
+                $wpdb->update($wpdb->prefix . "swpm_members_tbl", $this->data, array('member_id' => $this->member_info->member_id));
+                $user_id = $this->member_info->member_id;
+            } else {
+                $this->data['member_since'] = (date("Y-m-d"));
+                $this->data['subscription_starts'] = date("Y-m-d");
+                $this->data['last_accessed_from_ip'] = BTransfer::get_real_ip_addr();
+                $this->data['last_accessed'] = date("Y-m-d H:i:s");
+                $wpdb->insert($wpdb->prefix . "swpm_members_tbl", $this->data);
+                $user_id = $wpdb->insert_id;
+            }
+            $query = "SELECT role FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id = " . $this->data['membership_level'];
+            $wp_user_info = array();
+            $wp_user_info['user_nicename'] = implode('-', explode(' ', $this->data['user_name']));
+            $wp_user_info['display_name'] = $this->data['user_name'];
+            $wp_user_info['user_email'] = $this->data['email'];
+            $wp_user_info['nickname'] = $this->data['user_name'];
+            $wp_user_info['first_name'] = $this->data['first_name'];
+            $wp_user_info['last_name'] = $this->data['last_name'];
+            $wp_user_info['user_login'] = $this->data['user_name'];
+            $wp_user_info['password'] = $plain_password;
+            $wp_user_info['role'] = $wpdb->get_var($query);
+            $wp_user_info['user_registered'] = date('Y-m-d H:i:s');
+            BUtils::create_wp_user($wp_user_info);
+            $this->data['plain_password'] = $plain_password;
+            $this->send_reg_email();
+        } else if (!$auth->is_logged_in()) { // must be profile edit/must be logged in.
+            return;
+        }
+
+        if ($this->formmeta->type == self::PROFILE) {
+            $user_id = $auth->get('member_id');
+            $plain_password = '';
+            if (isset($this->data['plain_password'])) {
+                $plain_password = $this->data['plain_password'];
+                unset($this->data['plain_password']);
+            }
+            $wpdb->update($wpdb->prefix . "swpm_members_tbl", $this->data, array('member_id' => $user_id));
+            $wp_data = $this->data;
+            if (!empty($plain_password)) {
+                $wp_data['plain_password'] = $plain_password;
+            }
+            Butils::update_wp_user($auth->get('user_name'), $wp_data);
+
+            $wp_user = get_user_by('login', $auth->get('user_name'));
+            if ($wp_user) {
+                BUtils::update_wp_user_Role($wp_user->ID, $auth->get('role'));
+            }
+        }
+        parent::init($user_id); // load custom fields.
+        parent::save(); // save custom fields
+    }
+
+    protected function send_reg_email() {
+        global $wpdb;
+        if (empty($this->data)) {
+            return false;
+        }
+        $member_info = $this->data;
+        $settings = BSettings::get_instance();
+        $subject = empty($this->formmeta->notification_setting) ?
+                $settings->get_value('reg-complete-mail-subject') : stripslashes($this->formmeta->notification_subject);
+
+        $body = empty($this->formmeta->notification_setting) ?
+                $settings->get_value('reg-complete-mail-body') : stripslashes(html_entity_decode(wp_kses_stripslashes(($this->formmeta->notification_message))));
+        $from_address = empty($this->formmeta->notification_setting) ?
+                $settings->get_value('email-from') : stripslashes($this->formmeta->notification_email_name);
+
+        $login_link = $settings->get_value('login-page-url');
+        $headers = 'From: ' . $from_address . "\r\n";
+        $headers .= "MIME-Version: 1.0\r\n";
+        if (!empty($this->formmeta->notification_setting)) {
+            $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
+        }
+        $query = "SELECT alias FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id = " . $member_info['membership_level'];
+        $member_info['membership_level_name'] = $wpdb->get_var($query);
+        $member_info['password'] = $member_info['plain_password'];
+        $member_info['login_link'] = $login_link;
+        $values = array_values($member_info);
+        $keys = array_map('swpm_enclose_var', array_keys($member_info));
+        $body = str_replace($keys, $values, $body);
+
+        $email = sanitize_email($this->formmeta->type == self::REGISTRATION ? $this->data['email'] : $this->member_info->email);
+//        if (!empty($this->formmeta->notification_setting)) {
+        wp_mail(trim($email), $subject, $body, $headers);
+//        }
+        if ($settings->get_value('enable-admin-notification-after-reg')) {
+            $subject = "Notification of New Member Registration";
+            $body = "A new member has registered. The following email was sent to the member." .
+                    "\n\n-------Member Email----------\n" . $body .
+                    "\n\n------End------\n";
+            wp_mail($from_address, $subject, $body, $headers);
+        }
+        return true;
+    }
+
+}
diff --git a/classes/class.swpm-fb-formmeta.php b/classes/class.swpm-fb-formmeta.php
new file mode 100644 (file)
index 0000000..9ae208c
--- /dev/null
@@ -0,0 +1,138 @@
+<?php
+/**
+ * Description of class
+ *
+ * @author nur
+ */
+class SwpmFbFormmeta {
+    private $table;
+    private $ftable;
+    public $id;
+    public $key;
+    public $title;
+    public $type;
+    public $for_level;
+    public $success_type;
+    public $success_message;
+    public $notification_setting;
+    public $notification_email_name;
+    public $notification_subject;
+    public $notification_message;
+    public $label_alignment;
+    public $fields = array();
+    public function __construct() {
+        global $wpdb;
+        $this->error = array();
+        $this->data  = array();
+        $this->custom = array();
+        $this->table = $wpdb->prefix . 'swpm_form_builder_forms';
+        $this->ftable = $wpdb->prefix . 'swpm_form_builder_fields';
+    }
+    public function create(){
+
+    }
+    public function save(){
+        global $wpdb;
+        $out = true;
+        $data = array(
+            'form_key' => $this->key,
+            'form_title' => $this->title,
+            'form_type' => $this->type,
+            'form_membership_level' => $this->for_level,
+            'form_success_type' => $this->success_type,
+            'form_success_message' => $this->success_message,
+            'form_notification_email_name'=> $this->notification_email_name,
+            'form_notification_subject'=> $this->notification_subject,
+            'form_notification_message'=>  $this->notification_message                
+        );
+        // todo: validate here
+        if (empty($this->id)){
+            // Create the form
+            $out = $wpdb->insert($this->table, $data);
+            // Get form ID to add our first field
+            $this->id = $wpdb->insert_id;
+            for($i = 0; $i< count($this->fields); $i++){
+                $field = $this->fields[$i];
+                $field->form_id = $this->id;
+                //todo: set parent;
+                $field->save();
+            }
+        }
+        else{
+            $wpdb->update($this->table, $data, array('form_id'=>$this->id));
+            for($i = 0; $i< count($this->fields); $i++){
+                $field = $this->fields[$i];
+                $field->form_id = $this->id;
+                //todo: set parent;
+                $field->save();
+            }
+        }
+        return $out;
+    }
+    public function load($form_id, $load_fields=true){
+        global $wpdb;
+        $query = $wpdb->prepare("SELECT
+            form_id AS id,
+            form_key AS _key,
+            form_title AS title,
+            form_type AS type,
+            form_membership_level AS for_level,
+            form_success_type AS success_type,
+            form_success_message AS success_message,
+            form_notification_setting AS notification_setting,
+            form_notification_email_name AS notification_email_name,
+            form_notification_subject AS notification_subject,
+            form_notification_message AS notification_message,
+            form_label_alignment AS label_alignment
+        FROM $this->table WHERE form_id=%d", $form_id);
+        $data = $wpdb->get_row($query);
+        foreach($data as $key=>$value){
+            if ($key == '_key'){$this->key = $value; continue;}
+            $this->$key = $value;
+        }
+        if ($load_fields){
+            $query = $wpdb->prepare(
+                        "SELECT
+                            field_id AS id,
+                            form_id,
+                            field_key AS _key,
+                            field_type AS type,
+                            field_options AS options,
+                            field_description AS description,
+                            field_name AS name,
+                            field_sequence AS sequence,
+                            field_parent AS parent,
+                            field_validation AS validation,
+                            field_required AS required,
+                            field_size AS size,
+                            field_css AS css,
+                            field_layout AS layout,
+                            field_default AS _default,
+                            field_readonly As readonly,
+                            field_adminonly AS adminonly,
+                            reg_field_id AS reg_field_id
+                        FROM $this->ftable WHERE form_id= %d ORDER BY field_sequence ASC",
+                        $form_id
+                    );
+            $data = $wpdb->get_results($query);
+            foreach ($data as $field){
+                $obj = new SwpmFbFieldmeta();
+                $obj->load($field);
+                $this->fields[] = $obj;
+            }
+        }
+    }
+    public function validate(){
+
+    }
+    public static function get_registration_form_id_by_level($level){
+        global $wpdb;
+        $query = $wpdb->prepare('SELECT form_id FROM ' .
+                $wpdb->prefix . 'swpm_form_builder_forms WHERE form_type = %d AND form_membership_level=%d',
+                SwpmFbFormCustom::REGISTRATION, $level
+                );
+
+        $form_id = $wpdb->get_var($query);
+        return $form_id;
+    }
+}
diff --git a/classes/class.swpm-fb-forms-list.php b/classes/class.swpm-fb-forms-list.php
new file mode 100644 (file)
index 0000000..024e293
--- /dev/null
@@ -0,0 +1,421 @@
+<?php
+
+/**
+ * Class that builds our Entries table
+ *
+ * @since 1.2
+ */
+class SwpmFbFormsList extends WP_List_Table {
+
+    public $errors;
+    public $field_table_name;
+    public $form_table_name;
+    public $multivalue_table_name;
+
+    function __construct() {
+        global $status, $page, $wpdb;
+
+        // Setup global database table names
+        $this->field_table_name = $wpdb->prefix . 'swpm_form_builder_fields';
+        $this->form_table_name = $wpdb->prefix . 'swpm_form_builder_forms';
+        $this->multivalue_table_name = $wpdb->prefix . 'swpm_form_builder_multivalue';
+
+        // Set parent defaults
+        parent::__construct(array(
+            'singular' => 'form',
+            'plural' => 'forms',
+            'ajax' => false
+        ));
+
+        // Handle our bulk actions
+        $this->process_bulk_action();
+    }
+
+    /**
+     * Display column names
+     *
+     * @since 1.2
+     * @returns $item string Column name
+     */
+    function column_default($item, $column_name) {
+        global $wpdb;
+        switch ($column_name) {
+            case 'form_type':
+                return ($item[$column_name] == '0') ? __('Registration', 'swpm-form-builder') : __('Profile', 'swpm-form-builder');
+            case 'form_membership_level':
+                if ($item[$column_name] == '0')
+                    return __('All', 'swpm-form-builder');
+                return $wpdb->get_var($wpdb->prepare("SELECT alias FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id =%d", $item[$column_name]));
+            case 'id':
+            case 'form_id' :
+                return $item[$column_name];
+        }
+    }
+
+    /**
+     * Builds the on:hover links for the Form column
+     *
+     * @since 1.2
+     */
+    function column_form_title($item) {
+
+        $actions = array();
+
+        // Edit Form
+        $form_title = sprintf('<strong><a href="?page=%s&form=%s" id="%3$s" class="view-form">%s</a></strong>', $_REQUEST['page'], $item['form_id'], $item['form_title']);
+        $actions['edit'] = sprintf('<a href="?page=%s&action=%s&form=%s" id="%3$s" class="view-form">%s</a>', $_REQUEST['page'], 'edit', $item['form_id'], __('Edit', 'swpm-form-builder'));
+
+        // Duplicate Form
+        $actions['copy'] = sprintf('<a href="%s&action=%s&form=%s" id="%3$s" class="view-form">%s</a>', wp_nonce_url(admin_url('admin.php?page=swpm-form-builder'), 'copy-form-' . $item['form_id']), 'copy_form', $item['form_id'], __('Duplicate', 'swpm-form-builder'));
+
+        // Delete Form
+        $actions['delete'] = sprintf('<a href="%s&action=%s&form=%s" id="%3$s" class="view-form">%s</a>', wp_nonce_url(admin_url('admin.php?page=swpm-form-builder'), 'delete-form-' . $item['form_id']), 'delete_form', $item['form_id'], __('Delete', 'swpm-form-builder'));
+
+        return sprintf('%1$s %2$s', $form_title, $this->row_actions($actions));
+    }
+
+    /**
+     * Used for checkboxes and bulk editing
+     *
+     * @since 1.2
+     */
+    function column_cb($item) {
+        return sprintf('<input type="checkbox" name="%1$s[]" value="%2$s" />', $this->_args['singular'], $item['form_id']);
+    }
+
+    /**
+     * Builds the actual columns
+     *
+     * @since 1.2
+     */
+    function get_columns() {
+        $columns = array(
+            'cb' => '<input type="checkbox" />', //Render a checkbox instead of text
+            'form_title' => __('Form', 'swpm-form-builder'),
+            'form_id' => __('Form ID', 'swpm-form-builder'),
+            'form_type' => __('Form Type', 'swpm-form-builder'),
+            'form_membership_level' => __('For Membership Level', 'swpm-form-builder'),
+        );
+
+        return $columns;
+    }
+
+    /**
+     * A custom function to get the entries and sort them
+     *
+     * @since 1.2
+     * @returns array() $cols SQL results
+     */
+    function get_forms($orderby = 'form_id', $order = 'ASC', $per_page, $offset = 0, $search = '') {
+        global $wpdb;
+
+        // Set OFFSET for pagination
+        $offset = ( $offset > 0 ) ? "OFFSET $offset" : '';
+
+        $where = apply_filters('swpm_pre_get_forms', '');
+
+        // If the form filter dropdown is used
+        if ($this->current_filter_action())
+            $where .= ' AND forms.form_id = ' . $this->current_filter_action();
+
+        $sql_order = sanitize_sql_orderby("$orderby $order");
+        $cols = $wpdb->get_results("SELECT forms.form_id, forms.form_title, forms.form_type, forms.form_membership_level FROM "
+                . "$this->form_table_name AS forms WHERE 1=1 $where $search ORDER BY $sql_order LIMIT $per_page $offset", ARRAY_A);
+        return $cols;
+    }
+
+    /**
+     * Build the different views for the entries screen
+     *
+     * @since 2.7.6
+     * @returns array $status_links Status links with counts
+     */
+    function get_views() {
+        $status_links = array();
+        $num_forms = $this->get_forms_count();
+        $class = '';
+        $link = '?page=swpm-form-builder';
+
+        $stati = array(
+            'all' => _n_noop('All <span class="count">(<span class="pending-count">%s</span>)</span>', 'All <span class="count">(<span class="pending-count">%s</span>)</span>'),
+        );
+
+        $entry_status = isset($_REQUEST['form_status']) ? $_REQUEST['form_status'] : 'all';
+
+        foreach ($stati as $status => $label) {
+            $class = ( $status == $entry_status ) ? ' class="current"' : '';
+
+            if (!isset($num_forms->$status))
+                $num_forms->$status = 10;
+
+            $link = add_query_arg('form_status', $status, $link);
+
+            $status_links[$status] = "<li class='$status'><a href='$link'$class>" . sprintf(
+                            translate_nooped_plural($label, $num_forms->$status), number_format_i18n($num_forms->$status)
+                    ) . '</a>';
+        }
+
+        return $status_links;
+    }
+
+    /**
+     * Get the number of forms
+     *
+     * @since 2.2.7
+     * @returns int $count Form count
+     */
+    function get_forms_count() {
+        global $wpdb;
+
+        $stats = array();
+
+        $count = $wpdb->get_var("SELECT COUNT(*) FROM $this->form_table_name");
+
+        $stats['all'] = $count;
+
+        $stats = (object) $stats;
+
+        return $stats;
+    }
+
+    /**
+     * Setup which columns are sortable. Default is by Date.
+     *
+     * @since 1.2
+     * @returns array() $sortable_columns Sortable columns
+     */
+    function get_sortable_columns() {
+        $sortable_columns = array(
+            'id' => array('id', false),
+            'form_id' => array('form_id', false),
+            'form_title' => array('form_title', true),
+        );
+
+        return $sortable_columns;
+    }
+
+    /**
+     * Define our bulk actions
+     *
+     * @since 1.2
+     * @returns array() $actions Bulk actions
+     */
+    function get_bulk_actions() {
+        $actions = array();
+
+        // Build the row actions
+        $actions['delete'] = __('Delete Permanently', 'swpm-form-builder');
+
+        return $actions;
+    }
+
+    /**
+     * Process ALL actions on the Entries screen, not only Bulk Actions
+     *
+     * @since 1.2
+     */
+    function process_bulk_action() {
+        global $wpdb;
+
+        $form_id = '';
+
+        // Set the Entry ID array
+        if (isset($_REQUEST['form'])) {
+            if (is_array($_REQUEST['form']))
+                $form_id = $_REQUEST['form'];
+            else
+                $form_id = (array) $_REQUEST['form'];
+        }
+
+        switch ($this->current_action()) {
+            case 'trash' :
+                foreach ($form_id as $id) {
+                    $id = absint($id);
+                    $wpdb->update($this->form_table_name, array('form_approved' => 'trash'), array('form_id' => $id));
+                }
+                break;
+
+            case 'delete' :
+                foreach ($form_id as $id) {
+                    $id = absint($id);
+                    $wpdb->query($wpdb->prepare("DELETE FROM $this->form_table_name WHERE form_id = %d", $id));
+                    $wpdb->query($wpdb->prepare("DELETE FROM $this->field_table_name WHERE form_id = %d", $id));
+                    $wpdb->query($wpdb->prepare("DELETE FROM $this->entries_table_name WHERE form_id = %d", $id));
+                }
+                break;
+        }
+    }
+
+    /**
+     * Set our forms filter action
+     *
+     * @since 1.2
+     * @returns int Form ID
+     */
+    function current_filter_action() {
+        if (isset($_REQUEST['form-filter']) && -1 != $_REQUEST['form-filter'])
+            return $_REQUEST['form-filter'];
+
+        return false;
+    }
+
+    /**
+     * Display Search box
+     *
+     * @since 1.4
+     * @returns html Search Form
+     */
+    function search_box($text, $input_id) {
+        parent::search_box($text, $input_id);
+    }
+
+    /**
+     * Prepares our data for display
+     *
+     * @since 1.2
+     */
+    function prepare_items() {
+        global $wpdb;
+        /*
+          // get the current user ID
+          $user = get_current_user_id();
+
+          // get the current admin screen
+          $screen = get_current_screen();
+
+          // retrieve the "per_page" option
+          $screen_option = $screen->get_option( 'per_page', 'option' );
+         */
+        // retrieve the value of the option stored for the current user
+        $per_page = 10; //get_user_meta( $user, $screen_option, true );
+        // get the default value if none is set
+        if (empty($per_page) || $per_page < 1)
+            $per_page = $screen->get_option('per_page', 'default');
+
+        // Get the date/time format that is saved in the options table
+        $date_format = get_option('date_format');
+        $time_format = get_option('time_format');
+
+        // What page are we looking at?
+        $current_page = $this->get_pagenum();
+
+        // Use offset for pagination
+        $offset = ( $current_page - 1 ) * $per_page;
+
+        // Get column headers
+        $columns = $this->get_columns();
+        $hidden = get_hidden_columns($this->screen);
+
+        // Get sortable columns
+        $sortable = $this->get_sortable_columns();
+
+        // Build the column headers
+        $this->_column_headers = array($columns, $hidden, $sortable);
+
+        // Get entries search terms
+        $search_terms = (!empty($_REQUEST['s']) ) ? explode(' ', $_REQUEST['s']) : array();
+
+        $searchand = $search = '';
+        // Loop through search terms and build query
+        foreach ($search_terms as $term) {
+            $term = esc_sql(like_escape($term));
+
+            $search .= "{$searchand}((forms.form_title LIKE '%{$term}%') OR (forms.form_key LIKE '%{$term}%') OR (forms.form_email_subject LIKE '%{$term}%'))";
+            $searchand = ' AND ';
+        }
+
+        $search = (!empty($search) ) ? " AND ({$search}) " : '';
+
+        // Set our ORDER BY and ASC/DESC to sort the entries
+        $orderby = (!empty($_REQUEST['orderby']) ) ? $_REQUEST['orderby'] : 'form_id';
+        $order = (!empty($_REQUEST['order']) ) ? $_REQUEST['order'] : 'desc';
+
+        // Get the sorted entries
+        $forms = $this->get_forms($orderby, $order, $per_page, $offset, $search);
+
+        // How many forms do we have?
+        $total_items = $this->get_forms_count();
+
+        // Add sorted data to the items property
+        $this->items = (array) $forms;
+
+        // Register our pagination
+        $this->set_pagination_args(array(
+            'total_items' => $total_items->all,
+            'per_page' => $per_page,
+            'total_pages' => ceil($total_items->all / $per_page)
+        ));
+    }
+
+    /**
+     * Display the pagination.
+     * Customize default function to work with months and form drop down filters
+     *
+     * @since 3.1.0
+     * @access protected
+     */
+    function pagination($which) {
+
+        if (empty($this->_pagination_args))
+            return;
+
+        extract($this->_pagination_args, EXTR_SKIP);
+
+        $output = '<span class="displaying-num">' . sprintf(_n('1 form', '%s forms', $total_items), number_format_i18n($total_items)) . '</span>';
+
+        $current = $this->get_pagenum();
+
+        $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
+
+        $current_url = remove_query_arg(array('hotkeys_highlight_last', 'hotkeys_highlight_first'), $current_url);
+
+        $page_links = array();
+
+        // Added to pick up the months dropdown
+        $m = isset($_REQUEST['m']) ? (int) $_REQUEST['m'] : 0;
+
+        $disable_first = $disable_last = '';
+        if ($current == 1)
+            $disable_first = ' disabled';
+        if ($current == $total_pages)
+            $disable_last = ' disabled';
+
+        $page_links[] = sprintf("<a class='%s' title='%s' href='%s'>%s</a>", 'first-page' . $disable_first, esc_attr__('Go to the first page'), esc_url(remove_query_arg('paged', $current_url)), '&laquo;'
+        );
+
+        // Modified the add_query_args to include my custom dropdowns
+        $page_links[] = sprintf("<a class='%s' title='%s' href='%s'>%s</a>", 'prev-page' . $disable_first, esc_attr__('Go to the previous page'), esc_url(add_query_arg(array('paged' => max(1, $current - 1), 'm' => $m, 'form-filter' => $this->current_filter_action()), $current_url)), '&lsaquo;'
+        );
+
+        if ('bottom' == $which)
+            $html_current_page = $current;
+        else
+            $html_current_page = sprintf("<input class='current-page' title='%s' type='text' name='paged' value='%s' size='%d' />", esc_attr__('Current page'), $current, strlen($total_pages)
+            );
+
+        $html_total_pages = sprintf("<span class='total-pages'>%s</span>", number_format_i18n($total_pages));
+        $page_links[] = '<span class="paging-input">' . sprintf(_x('%1$s of %2$s', 'paging'), $html_current_page, $html_total_pages) . '</span>';
+
+        $page_links[] = sprintf("<a class='%s' title='%s' href='%s'>%s</a>", 'next-page' . $disable_last, esc_attr__('Go to the next page'), esc_url(add_query_arg(array('paged' => min($total_pages, $current + 1), 'm' => $m, 'form-filter' => $this->current_filter_action()), $current_url)), '&rsaquo;'
+        );
+
+        // Modified the add_query_args to include my custom dropdowns
+        $page_links[] = sprintf("<a class='%s' title='%s' href='%s'>%s</a>", 'last-page' . $disable_last, esc_attr__('Go to the last page'), esc_url(add_query_arg(array('paged' => $total_pages, 'm' => $m, 'form-filter' => $this->current_filter_action()), $current_url)), '&raquo;'
+        );
+
+        $pagination_links_class = 'pagination-links';
+        if (!empty($infinite_scroll))
+            $pagination_links_class = ' hide-if-js';
+        $output .= "\n<span class='$pagination_links_class'>" . join("\n", $page_links) . '</span>';
+
+        if ($total_pages)
+            $page_class = $total_pages < 2 ? ' one-page' : '';
+        else
+            $page_class = ' no-pages';
+
+        $this->_pagination = "<div class='tablenav-pages{$page_class}'>$output</div>";
+
+        echo $this->_pagination;
+    }
+
+}
diff --git a/classes/class.swpm-fb-installer.php b/classes/class.swpm-fb-installer.php
new file mode 100644 (file)
index 0000000..3de8ae3
--- /dev/null
@@ -0,0 +1,73 @@
+<?php
+/**
+ * Description of class
+ *
+ * @author nur
+ */
+class SwpmFbInstaller {
+    static function activate() {
+        global $wpdb;
+
+        $field_table = $wpdb->prefix . 'swpm_form_builder_fields';
+        $form_table = $wpdb->prefix . 'swpm_form_builder_forms';
+        $custom_table = $wpdb->prefix . 'swpm_form_builder_custom';
+
+        // Explicitly set the character set and collation when creating the tables
+        $charset = ( defined('DB_CHARSET' && '' !== DB_CHARSET) ) ? DB_CHARSET : 'utf8';
+        $collate = ( defined('DB_COLLATE' && '' !== DB_COLLATE) ) ? DB_COLLATE : 'utf8_general_ci';
+
+        require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
+
+        $field_sql = "CREATE TABLE $field_table (
+                               field_id BIGINT(20) NOT NULL AUTO_INCREMENT,
+                               form_id BIGINT(20) NOT NULL,
+                               field_key VARCHAR(255) NOT NULL,
+                               field_type VARCHAR(25) NOT NULL,
+                               field_options TEXT,
+                               field_description TEXT,
+                               field_name TEXT NOT NULL,
+                               field_sequence BIGINT(20) DEFAULT '0',
+                               field_parent BIGINT(20) DEFAULT '0',
+                               field_validation VARCHAR(25),
+                               field_required VARCHAR(25),
+                               field_size VARCHAR(25) DEFAULT 'medium',
+                               field_css VARCHAR(255),
+                               field_layout VARCHAR(255),
+                               field_default TEXT,
+                field_adminonly TINYINT DEFAULT 0,
+                field_readonly TINYINT DEFAULT 0,
+                reg_field_id BIGINT(20) NOT NULL DEFAULT 0,
+                               PRIMARY KEY  (field_id)
+                       ) DEFAULT CHARACTER SET $charset COLLATE $collate;";
+
+        $form_sql = "CREATE TABLE $form_table (
+                               form_id BIGINT(20) NOT NULL AUTO_INCREMENT,
+                               form_key TINYTEXT NOT NULL,
+                               form_title TEXT NOT NULL,
+                                form_type TINYINT DEFAULT 0,
+                                form_membership_level INT DEFAULT 0,
+                               form_success_type VARCHAR(25) DEFAULT 'text',
+                               form_success_message TEXT,
+                               form_notification_setting VARCHAR(25),
+                               form_notification_email_name VARCHAR(255),
+                               form_notification_subject VARCHAR(255),
+                               form_notification_message TEXT,
+                               form_label_alignment VARCHAR(25),
+                UNIQUE KEY form_unique_key_id (form_type,form_membership_level),
+                               PRIMARY KEY  (form_id)
+                       ) DEFAULT CHARACTER SET $charset COLLATE $collate;";
+
+        $custom_sql = "CREATE TABLE $custom_table (
+                               value_id BIGINT(20) NOT NULL AUTO_INCREMENT,
+                               field_id BIGINT(20) NOT NULL,
+                user_id INT NOT NULL,
+                               value TEXT,
+                               PRIMARY KEY  (value_id)
+                       ) DEFAULT CHARACTER SET $charset COLLATE $collate;";
+
+        // Create or Update database tables
+        dbDelta($field_sql);
+        dbDelta($form_sql);
+        dbDelta($custom_sql);
+    }
+}
diff --git a/classes/class.swpm-fb-profile-formmeta.php b/classes/class.swpm-fb-profile-formmeta.php
new file mode 100644 (file)
index 0000000..e5581a8
--- /dev/null
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Description of class
+ *
+ * @author nur
+ */
+class SwpmFbProfileFormmeta extends SwpmFbFormmeta {
+    public function create(){
+        $this->id = null; // force to save it as new form.
+        $this->type = SwpmFbFormCustom::PROFILE;
+        $this->success_message = '<p id="form_success">' . BUtils::_("Profile Updated.") . '</p>';
+        foreach($this->fields as &$value){
+            $value->reg_field_id = $value->id; 
+            $value->id = null;
+        }
+        return $this->save();
+    }
+}
diff --git a/classes/class.swpm-fb-registration-formmeta.php b/classes/class.swpm-fb-registration-formmeta.php
new file mode 100644 (file)
index 0000000..4d30a5c
--- /dev/null
@@ -0,0 +1,84 @@
+<?php
+/**
+ * Description of class
+ *
+ * @author nur
+ */
+class SwpmFbRegistrationFormmeta extends SwpmFbFormmeta {
+    public function create(){
+        $field = new SwpmFbFieldmeta();
+        $field->key = 'fieldset';
+        $field->type = 'fieldset';
+        $field->name = 'Fieldset';
+        $field->sequence = 0;
+        $this->fields[$field->sequence] = $field;
+
+        $field = new SwpmFbFieldmeta();
+        $field->key = 'user_name';
+        $field->type = 'text';
+        $field->name = 'User Name';
+        $field->description = 'User Name';
+        $field->size = 'medium';
+        $field->required = 'yes';
+        $field->sequence = 1;
+        $this->fields[$field->sequence] = $field;
+
+        $field = new SwpmFbFieldmeta();
+        $field->key = 'password';
+        $field->type = 'password';
+        $field->name = 'Password';
+        $field->description = 'Password';
+        $field->size = 'medium';
+        $field->required = 'yes';
+        $field->sequence = 2;
+        $this->fields[$field->sequence] = $field;
+
+        $field = new SwpmFbFieldmeta();
+        $field->key = 'membership_level';
+        $field->type = 'text';
+        $field->name = 'Membership Level';
+        $field->description = '';
+        $field->size = 'medium';
+        $field->required = 'yes';
+        $field->readnly = 'yes';
+        $field->sequence = 3;
+        $this->fields[$field->sequence] = $field;
+
+        $field = new SwpmFbFieldmeta();
+        $field->key = 'primary_email';
+        $field->type = 'email';
+        $field->name = 'Email';
+        $field->description = 'Email';
+        $field->size = 'medium';
+        $field->required = 'yes';
+        $field->sequence = 4;
+        $this->fields[$field->sequence] = $field;
+        $field = new SwpmFbFieldmeta();
+        $field->key = 'verification';
+        $field->type = 'verification';
+        $field->name = 'Verification';
+        $field->description = '(This is for preventing spam)';
+        $field->sequence = 5;
+        $this->fields[$field->sequence] = $field;
+
+        $field = new SwpmFbFieldmeta();
+        $field->key = 'secret';
+        $field->type = 'secret';
+        $field->name = 'Please enter any two digits';
+        $field->description = 'Example: 12';
+        $field->size = 'medium';
+        $field->required = 'yes';
+        $field->sequence = 6;
+        $this->fields[$field->sequence] = $field;
+        $field = new SwpmFbFieldmeta();
+        $field->key = 'submit';
+        $field->type = 'submit';
+        $field->name = 'Submit';
+        $field->sequence = 7;
+        $this->fields[$field->sequence] = $field;
+
+        $this->type = SwpmFbFormCustom::REGISTRATION;
+        $this->success_message = '<p id="form_success">' . BUtils::_("Registration is complete") . '</p>';
+        return $this->save();
+    }
+}
diff --git a/classes/class.swpm-fb-utils.php b/classes/class.swpm-fb-utils.php
new file mode 100644 (file)
index 0000000..7a57801
--- /dev/null
@@ -0,0 +1,228 @@
+<?php
+/**
+ * Description of class
+ *
+ * @author nur
+ */
+class SwpmFbUtils {
+     public static $countries = array("", "Afghanistan", "Albania", "Algeria", "Andorra",
+        "Angola", "Antigua and Barbuda", "Argentina", "Armenia", "Australia",
+        "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados",
+        "Belarus", "Belgium", "Belize", "Benin", "Bhutan", "Bolivia",
+        "Bosnia and Herzegovina", "Botswana", "Brazil", "Brunei", "Bulgaria",
+        "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde",
+        "Central African Republic", "Chad", "Chile", "China", "Colombi", "Comoros",
+        "Congo (Brazzaville)", "Congo", "Costa Rica", "Cote d\'Ivoire", "Croatia",
+        "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica",
+        "Dominican Republic", "East Timor (Timor Timur)", "Ecuador", "Egypt",
+        "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia",
+        "Fiji", "Finland", "France", "Gabon", "Gambia, The", "Georgia", "Germany",
+        "Ghana", "Greece", "Grenada", "Guatemala", "Guinea", "Guinea-Bissau",
+        "Guyana", "Haiti", "Honduras", "Hungary", "Iceland", "India", "Indonesia",
+        "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica", "Japan", "Jordan",
+        "Kazakhstan", "Kenya", "Kiribati", "Korea, North", "Korea, South", "Kuwait",
+        "Kyrgyzstan", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya",
+        "Liechtenstein", "Lithuania", "Luxembourg", "Macedonia", "Madagascar",
+        "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands",
+        "Mauritania", "Mauritius", "Mexico", "Micronesia", "Moldova", "Monaco",
+        "Mongolia", "Montenegro", "Morocco", "Mozambique", "Myanmar", "Namibia",
+        "Nauru", "Nepa", "Netherlands", "New Zealand", "Nicaragua", "Niger", "Nigeria",
+        "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay",
+        "Peru", "Philippines", "Poland", "Portugal", "Qatar", "Romania", "Russia", "Rwanda",
+        "Saint Kitts and Nevis", "Saint Lucia", "Saint Vincent", "Samoa", "San Marino",
+        "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia", "Seychelles",
+        "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands",
+        "Somalia", "South Africa", "Spain", "Sri Lanka", "Sudan", "Suriname",
+        "Swaziland", "Sweden", "Switzerland", "Syria", "Taiwan", "Tajikistan",
+        "Tanzania", "Thailand", "Togo", "Tonga", "Trinidad and Tobago", "Tunisia",
+        "Turkey", "Turkmenistan", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates",
+        "United Kingdom", "United States of America", "Uruguay", "Uzbekistan", "Vanuatu",
+        "Vatican City", "Venezuela", "Vietnam", "Yemen", "Zambia", "Zimbabwe");
+
+    public static $exploits = array( 'content-type', 'bcc:', 'cc:', 'document.cookie', 'onclick', 'onload', 'javascript', 'alert' );
+    public static $profanity = array( 'beastial', 'bestial', 'blowjob', 'clit', 'cock', 'cum', 'cunilingus', 'cunillingus', 'cunnilingus',
+        'cunt', 'ejaculate', 'fag', 'felatio', 'fellatio', 'fuck', 'fuk', 'fuks', 'gangbang', 'gangbanged', 'gangbangs', 'hotsex', 'jism',
+        'jiz', 'kock', 'kondum', 'kum', 'kunilingus', 'orgasim', 'orgasims', 'orgasm', 'orgasms', 'phonesex', 'phuk', 'phuq', 'porn', 'pussies',
+        'pussy', 'spunk', 'xxx' );
+    public static $spamwords = array( 'viagra', 'phentermine', 'tramadol', 'adipex', 'advai', 'alprazolam', 'ambien', 'ambian',
+        'amoxicillin', 'antivert', 'blackjack', 'backgammon', 'holdem', 'poker', 'carisoprodol', 'ciara', 'ciprofloxacin', 'debt', 'dating', 'porn' );
+    public static function calculate_spam_score ($value){
+        $points = 0;
+               // Add up points for each spam hit
+               if ( preg_match( '/(' . implode( '|', SwpmFbUtils::$exploits ) . ')/i', $value ) ){
+                       $points += 2;
+        }
+               elseif ( preg_match( '/(' . implode( '|', SwpmFbUtils::$profanity ) . ')/i', $value ) ){
+                       $points += 1;
+        }
+               elseif ( preg_match( '/(' . implode( '|', SwpmFbUtils::$spamwords ) . ')/i', $value ) ){
+                       $points += 1;
+        }
+        return $points;
+    }
+
+    public static function help($screen){
+        $screen->add_help_tab(array(
+            'id' => 'swpm-help-tab-getting-started',
+            'title' => 'Getting Started',
+            'content' => '<ul>
+                                               <li>Click on the + tab, give your form a name and click Create Form.</li>
+                                               <li>Select form fields from the box on the left and click a field to add it to your form.</li>
+                                               <li>Edit the information for each form field by clicking on the down arrow.</li>
+                                               <li>Drag and drop the elements to put them in order.</li>
+                                               <li>Click Save Form to save your changes.</li>
+                                       </ul>'
+        ));
+
+        $screen->add_help_tab(array(
+            'id' => 'swpm-help-tab-item-config',
+            'title' => 'Form Item Configuration',
+            'content' => "<ul>
+                                               <li><em>Name</em> will change the display name of your form input.</li>
+                                               <li><em>Description</em> will be displayed below the associated input.</li>
+                                               <li><em>Validation</em> allows you to select from several of jQuery's Form Validation methods for text inputs. For more about the types of validation, read the <em>Validation</em> section below.</li>
+                                               <li><em>Required</em> is either Yes or No. Selecting 'Yes' will make the associated input a required field and the form will not submit until the user fills this field out correctly.</li>
+                                               <li><em>Options</em> will only be active for Radio and Checkboxes.  This field contols how many options are available for the associated input.</li>
+                                               <li><em>Size</em> controls the width of Text, Textarea, Select, and Date Picker input fields.  The default is set to Medium but if you need a longer text input, select Large.</li>
+                                               <li><em>CSS Classes</em> allow you to add custom CSS to a field.  This option allows you to fine tune the look of the form.</li>
+                                       </ul>"
+        ));
+
+        $screen->add_help_tab(array(
+            'id' => 'swpm-help-tab-validation',
+            'title' => 'Validation',
+            'content' => "<p>Visual Form Builder uses the <a href='http://docs.jquery.com/Plugins/Validation/Validator'>jQuery Form Validation plugin</a> to perform clientside form validation.</p>
+                                       <ul>
+
+                                               <li><em>Email</em>: makes the element require a valid email.</li>
+                                               <li><em>URL</em>: makes the element require a valid url.</li>
+                                               <li><em>Date</em>: makes the element require a date. <a href='http://docs.jquery.com/Plugins/Validation/Methods/date'>Refer to documentation for various accepted formats</a>.
+                                               <li><em>Number</em>: makes the element require a decimal number.</li>
+                                               <li><em>Digits</em>: makes the element require digits only.</li>
+                                               <li><em>Phone</em>: makes the element require a US or International phone number. Most formats are accepted.</li>
+                                               <li><em>Time</em>: choose either 12- or 24-hour time format (NOTE: only available with the Time field).</li>
+                                       </ul>"
+        ));
+
+        $screen->add_help_tab(array(
+            'id' => 'swpm-help-tab-confirmation',
+            'title' => 'Confirmation',
+            'content' => "<p>Each form allows you to customize the confirmation by selecing either a Text Message, a WordPress Page, or to Redirect to a URL.</p>
+                                       <ul>
+                                               <li><em>Text</em> allows you to enter a custom formatted message that will be displayed on the page after your form is submitted. HTML is allowed here.</li>
+                                               <li><em>Page</em> displays a dropdown of all WordPress Pages you have created. Select one to redirect the user to that page after your form is submitted.</li>
+                                               <li><em>Redirect</em> will only accept URLs and can be used to send the user to a different site completely, if you choose.</li>
+                                       </ul>"
+        ));
+
+        $screen->add_help_tab(array(
+            'id' => 'swpm-help-tab-notification',
+            'title' => 'Notification',
+            'content' => "<p>Send a customized notification email to the user when the form has been successfully submitted.</p>
+                                       <ul>
+                                               <li><em>Sender Name</em>: the name that will be displayed on the email.</li>
+                                               <li><em>Sender Email</em>: the email that will be used as the Reply To email.</li>
+                                               <li><em>Send To</em>: the email where the notification will be sent. This must be a required text field with email validation.</li>
+                                               <li><em>Subject</em>: the subject of the email.</li>
+                                               <li><em>Message</em>: additional text that can be displayed in the body of the email. HTML tags are allowed.</li>
+                                               <li><em>Include a Copy of the User's Entry</em>: appends a copy of the user's submitted entry to the notification email.</li>
+                                       </ul>"
+        ));
+
+        $screen->add_help_tab(array(
+            'id' => 'swpm-help-tab-tips',
+            'title' => 'Tips',
+            'content' => "<ul>
+                                               <li>Fieldsets, a way to group form fields, are an essential piece of this plugin's HTML. As such, at least one fieldset is required and must be first in the order. Subsequent fieldsets may be placed wherever you would like to start your next grouping of fields.</li>
+                                               <li>Security verification is automatically included on very form. It's a simple logic question and should keep out most, if not all, spam bots.</li>
+                                               <li>There is a hidden spam field, known as a honey pot, that should also help deter potential abusers of your form.</li>
+                                               <li>Nesting is allowed underneath fieldsets and sections.  Sections can be nested underneath fieldsets.  Nesting is not required, however, it does make reorganizing easier.</li>
+                                       </ul>"
+        ));
+        return $screen;
+    }
+    public static function is_mandatory_field($key){
+        return in_array($key, array('user_name', 'primary_email', 'password', 'membership_level'));
+    }
+    public static function handle_file_upload($value, $destination = null){
+        $status = array();
+        // Settings - Max Upload Size
+        $settings_max_upload    =  25;
+               if ( is_array( $value) && $value['size'] > 0 ) {
+                       // 25MB is the max size allowed
+                       $size = apply_filters( 'swpm_max_file_size', $settings_max_upload ); // change file size limit using filter.
+                       $max_attach_size = $size * 1048576;
+
+                       // Display error if file size has been exceeded
+                       if ( $value['size'] > $max_attach_size ){
+                               $status['error'] = sprintf( BUtils::_( "File size exceeds %dMB. Please decrease the file size and try again.", 'swpm-form-builder' ), $size );
+                return $status;
+            }
+
+                       // Options array for the wp_handle_upload function. 'test_form' => false
+                       $upload_overrides = array( 'test_form' => false );
+
+                       // We need to include the file that runs the wp_handle_upload function
+                       require_once( ABSPATH . 'wp-admin/includes/file.php' );
+
+                       // Handle the upload using WP's wp_handle_upload function. Takes the posted file and an options array
+                       $uploaded_file = wp_handle_upload( $value, $upload_overrides );
+
+                       // If the wp_handle_upload call returned a local path for the image
+                       if ( isset( $uploaded_file['file'] ) ) {
+                               // Retrieve the file type from the file name. Returns an array with extension and mime type
+                               $wp_filetype = wp_check_filetype( basename( $uploaded_file['file'] ), null );
+
+                               // Return the current upload directory location
+                               $wp_upload_dir = wp_upload_dir();
+
+                               $media_upload = array(
+                                       'guid'                          => $wp_upload_dir['url'] . '/' . basename( $uploaded_file['file'] ),
+                                       'post_mime_type'        => $wp_filetype['type'],
+                                       'post_title'            => preg_replace( '/\.[^.]+$/', '', basename( $uploaded_file['file'] ) ),
+                                       'post_content'          => '',
+                                       'post_status'           => 'inherit'
+                               );
+
+                               // Insert attachment into Media Library and get attachment ID
+                               $attach_id = wp_insert_attachment( $media_upload, $uploaded_file['file'] );
+
+                               // Include the file that runs wp_generate_attachment_metadata()
+                               require_once( ABSPATH . 'wp-admin/includes/image.php' );
+                               require_once( ABSPATH . 'wp-admin/includes/media.php' );
+
+                               // Setup attachment metadata
+                               $attach_data = wp_generate_attachment_metadata( $attach_id, $uploaded_file['file'] );
+
+                               // Update the attachment metadata
+                               wp_update_attachment_metadata( $attach_id, $attach_data );
+
+                               /*$attachments[ 'swpm-' . $field->id ] = $uploaded_file['file'];
+
+                               $data[] = array(
+                                       'id'            => $field->id,
+                                       'slug'          => $field->key,
+                                       'name'          => $field->name,
+                                       'type'          => $field->type,
+                                       'options'       => $field->options,
+                                       'parent_id' => $field->parent,
+                                       'value'         => $uploaded_file['url']
+                               );
+
+                               $body .= sprintf(
+                                       '<tr>
+                                       <td><strong>%1$s: </strong></td>
+                                       <td><a href="%2$s">%2$s</a></td>
+                                       </tr>' . "\n",
+                                       stripslashes( $field->name ),
+                                       $uploaded_file['url']
+                               );*/
+                return array('attachment_id'=>$attach_id);
+            }
+            $status['error'] = BUtils::_('File not found.');
+        }else{
+            $status['error'] = BUtils::_('Invalid file.');
+        }
+        return $status;
+    }
+}
diff --git a/classes/class.swpm-form-builder.php b/classes/class.swpm-form-builder.php
new file mode 100644 (file)
index 0000000..48b7fd4
--- /dev/null
@@ -0,0 +1,1357 @@
+<?php
+// Version number to output as meta tag
+
+
+/*
+  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; version 2 of the License.
+
+  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 St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+require_once(SWPM_FORM_BUILDER_PATH . 'classes/class.swpm-fb-fieldmeta.php');
+require_once(SWPM_FORM_BUILDER_PATH . 'classes/class.swpm-fb-formmeta.php');
+require_once(SWPM_FORM_BUILDER_PATH . 'classes/class.swpm-fb-profile-formmeta.php');
+require_once(SWPM_FORM_BUILDER_PATH . 'classes/class.swpm-fb-registration-formmeta.php');
+require_once(SWPM_FORM_BUILDER_PATH . 'classes/class.swpm-fb-form.php');
+require_once(SWPM_FORM_BUILDER_PATH . 'classes/class.swpm-fb-admin-custom-fields.php');
+require_once(SWPM_FORM_BUILDER_PATH . 'classes/class.swpm-fb-form-custom.php');
+
+// Swpm Form Builder class
+class Swpm_Form_Builder {
+
+    /**
+     * The DB version. Used for SQL install and upgrades.
+     *
+     * Should only be changed when needing to change SQL
+     * structure or custom capabilities.
+     *
+     * @since 1.0
+     * @var string
+     * @access protected
+     */
+    protected $swpm_db_version = '1.0';
+
+    /**
+     * Flag used to add scripts to front-end only once
+     *
+     * @since 1.0
+     * @var string
+     * @access protected
+     */
+    protected $add_scripts = false;
+
+    /**
+     * Admin page menu hooks
+     *
+     * @since 2.7.2
+     * @var array
+     * @access private
+     */
+    private $_admin_pages = array();
+
+    /**
+     * Flag used to display post_max_vars error when saving
+     *
+     * @since 2.7.6
+     * @var string
+     * @access protected
+     */
+    protected $post_max_vars = false;
+    protected $form;
+
+    /**
+     * Constructor. Register core filters and actions.
+     *
+     * @access public
+     */
+    public function __construct() {
+        global $wpdb;
+        $this->field_table_name = $wpdb->prefix . 'swpm_form_builder_fields';
+        $this->form_table_name = $wpdb->prefix . 'swpm_form_builder_forms';
+        $this->custom_table_name = $wpdb->prefix . 'swpm_form_builder_custom';
+
+        if (class_exists('SimpleWpMembership')) {
+            // Add suffix to load dev files
+            $this->load_dev_files = ( defined('SWPMFB_SCRIPT_DEBUG') && SWPMFB_SCRIPT_DEBUG ) ? '' : '.min';
+
+            // Saving functions
+            add_action('admin_init', array(&$this, 'admin_init'));
+
+            // Build options and settings pages.
+            add_action('admin_menu', array(&$this, 'admin_menu'));
+
+            // Register AJAX functions
+            $actions = array(
+                // Form Builder
+                'sort_field',
+                'create_field',
+                'delete_field',
+                'form_settings',
+                    // Media button
+            );
+
+            // Add all AJAX functions
+            foreach ($actions as $name) {
+                add_action("wp_ajax_swpm_form_builder_$name", array(&$this, "ajax_$name"));
+            }
+
+            // Adds a Dashboard widget
+            //add_action('wp_dashboard_setup', array(&$this, 'add_dashboard_widget'));
+            // Adds a Settings link to the Plugins page
+            add_filter('plugin_action_links', array(&$this, 'plugin_action_links'), 10, 2);
+
+            // Display update messages
+            add_action('admin_notices', array(&$this, 'admin_notices'));
+
+            // Print meta keyword
+            add_action('wp_head', array(&$this, 'add_meta_keyword'));
+
+            add_action('init', array(&$this, 'init'), 10);
+
+            // Add CSS to the front-end
+            add_action('wp_enqueue_scripts', array(&$this, 'css'));
+            add_filter('swpm_registration_form_override', array(&$this, 'registration_override'), 10, 2);
+            add_filter('swpm_profile_form_override', array(&$this, 'profile_override'));
+            add_filter('swpm_admin_custom_fields', array(&$this, 'admin_profile_override'), 10, 2);
+            add_action('swpm_admin_edit_custom_fields', array(&$this, 'admin_save_custom_fields'));
+        }
+    }
+
+    public function admin_save_custom_fields($member) {
+        $custom = new SwpmFbAdminCustomFields();
+        $custom->init($member['membership_level']);
+        $custom->save($member['member_id']);
+    }
+
+    public function admin_profile_override($output, $membership_level) {
+        $custom = new SwpmFbAdminCustomFields();
+        $custom->init($membership_level);
+        return $custom->admin_ui();
+    }
+
+    public function profile_override($output = '') {
+        $this->form->init_by_level_for_profile();
+        require( SWPM_FORM_BUILDER_PATH . 'includes/form-output.php' );
+        return $output;
+    }
+
+    public function registration_override($output, $membership_level) {
+        if ($membership_level == 1 || $membership_level == md5(1)) {
+            wp_die('Invalid membership level!');
+        }
+        $this->form->init_by_level_for_registration($membership_level);
+        require( SWPM_FORM_BUILDER_PATH . 'includes/form-output.php' );
+        return $output;
+    }
+
+    public function admin_menu() {
+        $this->add_admin();
+        $this->additional_plugin_setup();
+    }
+
+    public function admin_init() {
+        $this->save_add_new_form();
+        $this->save_update_form();
+        $this->save_trash_delete_form();
+        $this->save_copy_form();
+        $this->save_settings();
+    }
+
+    public function init() {
+        $this->form = new SwpmFbForm();
+        $this->languages();
+        $this->email();
+        $this->confirmation();
+    }
+
+    /**
+     * Allow for additional plugin code to be run during admin_init
+     * which is not available during the plugin __construct()
+     *
+     * @since 2.7
+     */
+    public function additional_plugin_setup() {
+
+        $page_main = $this->_admin_pages['swpm'];
+
+        if (!get_option('swpm_dashboard_widget_options')) {
+            $widget_options['swpm_dashboard_recent_entries'] = array(
+                'items' => 5,
+            );
+            update_option('swpm_dashboard_widget_options', $widget_options);
+        }
+    }
+
+    /**
+     * Output plugin version number to help with troubleshooting
+     *
+     * @since 2.7.5
+     */
+    public function add_meta_keyword() {
+        // Get global settings
+        $swpm_settings = get_option('swpm-settings');
+
+        // Settings - Disable meta tag version
+        $settings_meta = isset($swpm_settings['show-version']) ? '' : '<!-- <meta name="swpm" version="' . SWPMFB_VERSION . '" /> -->' . "\n";
+
+        echo apply_filters('swpm_show_version', $settings_meta);
+    }
+
+    /**
+     * Load localization file
+     *
+     * @since 2.7
+     */
+    public function languages() {
+        load_plugin_textdomain('swpm-form-builder', false, 'swpm-form-builder/languages');
+    }
+
+    public function include_forms_list() {
+        global $forms_list;
+
+        // Load the Forms List class
+        require_once( SWPM_FORM_BUILDER_PATH . 'classes/class.swpm-fb-forms-list.php' );
+        $forms_list = new SwpmFbFormsList();
+    }
+
+    /**
+     * Add Settings link to Plugins page
+     *
+     * @since 1.8
+     * @return $links array Links to add to plugin name
+     */
+    public function plugin_action_links($links, $file) {
+        if ($file == plugin_basename(__FILE__))
+            $links[] = '<a href="admin.php?page=swpm-form-builder">' . __('Settings', 'swpm-form-builder') . '</a>';
+
+        return $links;
+    }
+
+    /**
+     * Adds the dashboard widget
+     *
+     * @since 2.7
+     */
+    public function add_dashboard_widget() {
+        wp_add_dashboard_widget('swpm-dashboard', __('Recent Visual Form Builder Entries', 'swpm-form-builder'), array(&$this, 'dashboard_widget'), array(&$this, 'dashboard_widget_control'));
+    }
+
+    /**
+     * Displays the dashboard widget content
+     *
+     * @since 2.7
+     */
+    public function dashboard_widget() {
+        global $wpdb;
+
+        // Get the date/time format that is saved in the options table
+        $date_format = get_option('date_format');
+        $time_format = get_option('time_format');
+
+        $widgets = get_option('swpm_dashboard_widget_options');
+        $total_items = isset($widgets['swpm_dashboard_recent_entries']) && isset($widgets['swpm_dashboard_recent_entries']['items']) ?
+                absint($widgets['swpm_dashboard_recent_entries']['items']) : 5;
+
+        $forms = $wpdb->get_var("SELECT COUNT(*) FROM {$this->form_table_name}");
+
+        if (!$forms) :
+            echo sprintf(
+                    '<p>%1$s <a href="%2$s">%3$s</a></p>', __('You currently do not have any forms.', 'swpm-form-builder'), esc_url(admin_url('admin.php?page=swpm-add-new')), __('Get started!', 'swpm-form-builder')
+            );
+
+            return;
+        endif;
+
+        $entries = $wpdb->get_results($wpdb->prepare("SELECT forms.form_title, entries.entries_id, entries.form_id, "
+                        . "entries.sender_name, entries.sender_email, entries.date_submitted FROM $this->form_table_name "
+                        . "AS forms INNER JOIN $this->entries_table_name AS entries ON entries.form_id = forms.form_id ORDER BY "
+                        . "entries.date_submitted DESC LIMIT %d", $total_items));
+
+        if (!$entries) :
+            echo sprintf('<p>%1$s</p>', __('You currently do not have any entries.', 'swpm-form-builder'));
+        else :
+
+            $content = '';
+
+            foreach ($entries as $entry) :
+
+                $content .= sprintf(
+                        '<li><a href="%1$s">%4$s</a> via <a href="%2$s">%5$s</a> <span class="rss-date">%6$s</span><cite>%3$s</cite></li>', esc_url(add_query_arg(array('action' => 'view', 'entry' => absint($entry->entries_id)), admin_url('admin.php?page=swpm-entries'))), esc_url(add_query_arg('form-filter', absint($entry->form_id), admin_url('admin.php?page=swpm-entries'))), esc_html($entry->sender_name), esc_html($entry->sender_email), esc_html($entry->form_title), date("$date_format $time_format", strtotime($entry->date_submitted))
+                );
+
+            endforeach;
+
+            echo "<div class='rss-widget'><ul>$content</ul></div>";
+
+        endif;
+    }
+
+    /**
+     * Displays the dashboard widget form control
+     *
+     * @since 2.7
+     */
+    public function dashboard_widget_control() {
+        if (!$widget_options = get_option('swpm_dashboard_widget_options'))
+            $widget_options = array();
+
+        if (!isset($widget_options['swpm_dashboard_recent_entries']))
+            $widget_options['swpm_dashboard_recent_entries'] = array();
+
+        if ('POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['swpm-widget-recent-entries'])) {
+            $number = absint($_POST['swpm-widget-recent-entries']['items']);
+            $widget_options['swpm_dashboard_recent_entries']['items'] = $number;
+            update_option('swpm_dashboard_widget_options', $widget_options);
+        }
+
+        $number = isset($widget_options['swpm_dashboard_recent_entries']['items']) ? (int) $widget_options['swpm_dashboard_recent_entries']['items'] : '';
+
+        echo sprintf(
+                '<p>
+                       <label for="comments-number">%1$s</label>
+                       <input id="comments-number" name="swpm-widget-recent-entries[items]" type="text" value="%2$d" size="3" />
+                       </p>', __('Number of entries to show:', 'swpm-form-builder'), $number
+        );
+    }
+
+    /**
+     * Register contextual help. This is for the Help tab dropdown
+     *
+     * @since 1.0
+     */
+    public function help() {
+        $screen = get_current_screen();
+        SwpmFbUtils::help($screen);
+    }
+
+    /**
+     * Adds the Screen Options tab to the Entries screen
+     *
+     * @since 1.0
+     */
+    public function screen_options() {
+        $screen = get_current_screen();
+
+        $page_main = $this->_admin_pages['swpm'];
+
+        switch ($screen->id) {
+            case $page_main :
+
+                if (isset($_REQUEST['form'])) :
+                    add_screen_option('layout_columns', array(
+                        'max' => 2,
+                        'default' => 2
+                    ));
+                else :
+                    add_screen_option('per_page', array(
+                        'label' => __('Forms per page', 'swpm-form-builder'),
+                        'default' => 20,
+                        'option' => 'swpm_forms_per_page'
+                    ));
+                endif;
+
+                break;
+        }
+    }
+
+    /**
+     * Saves the Screen Options
+     *
+     * @since 1.0
+     */
+    public function save_screen_options($status, $option, $value) {
+        if ($option == 'swpm_forms_per_page')
+            return $value;
+    }
+
+    /**
+     * Add meta boxes to form builder screen
+     *
+     * @since 1.8
+     */
+    public function add_meta_boxes() {
+        global $current_screen;
+
+        $page_main = $this->_admin_pages['swpm'];
+
+        if ($current_screen->id == $page_main && isset($_REQUEST['form'])) {
+            add_meta_box('swpm_form_items_meta_box', __('Form Items', 'swpm-form-builder'), array(&$this, 'meta_box_form_items'), $page_main, 'side', 'high');
+        }
+    }
+
+    /**
+     * Output for Form Items meta box
+     *
+     * @since 1.8
+     */
+    public function meta_box_form_items() {
+        include_once (SWPM_FORM_BUILDER_PATH . 'views/button_palette_metabox.php');
+    }
+
+    /**
+     * Queue plugin scripts for sorting form fields
+     *
+     * @since 1.0
+     */
+    public function admin_scripts() {
+        wp_enqueue_script('jquery-ui-sortable');
+        wp_enqueue_script('postbox');
+        wp_enqueue_script('jquery-form-validation', SWPM_FORM_BUILDER_URL . '/js/jquery.validate.min.js', array('jquery'), '1.9.0', true);
+        wp_enqueue_script('swpm-admin', SWPM_FORM_BUILDER_URL . "/js/swpm-admin$this->load_dev_files.js", array('jquery', 'jquery-form-validation'), '20140412', true);
+        wp_enqueue_script('nested-sortable', SWPM_FORM_BUILDER_URL . "/js/jquery.ui.nestedSortable$this->load_dev_files.js", array('jquery', 'jquery-ui-sortable'), '1.3.5', true);
+
+        wp_enqueue_style('swpm-form-builder-style', SWPM_FORM_BUILDER_URL . "/css/swpm-form-builder-admin$this->load_dev_files.css", array(), '20140412');
+
+        wp_localize_script('swpm-admin', 'SwpmAdminPages', array('swpm_pages' => $this->_admin_pages));
+    }
+
+    /**
+     * Queue form validation scripts
+     *
+     * Scripts loaded in form-output.php, when field is present:
+     *         jQuery UI date picker
+     *         CKEditor
+     *
+     * @since 1.0
+     */
+    public function scripts() {
+        // Make sure scripts are only added once via shortcode
+        $this->add_scripts = true;
+
+        wp_register_script('jquery-form-validation', SWPM_FORM_BUILDER_URL . '/js/jquery.validate.min.js', array('jquery'), '1.9.0', true);
+        wp_register_script('swpm-form-builder-validation', SWPM_FORM_BUILDER_URL . "/js/swpm-validation$this->load_dev_files.js", array('jquery', 'jquery-form-validation'), '20140412', true);
+        wp_register_script('swpm-form-builder-metadata', SWPM_FORM_BUILDER_URL . '/js/jquery.metadata.js', array('jquery', 'jquery-form-validation'), '2.0', true);
+        wp_register_script('swpm-ckeditor', SWPM_FORM_BUILDER_URL . '/js/ckeditor/ckeditor.js', array('jquery'), '4.1', true);
+
+        wp_enqueue_script('jquery-form-validation');
+        wp_enqueue_script('swpm-form-builder-validation');
+        wp_enqueue_script('swpm-form-builder-metadata');
+
+        $locale = get_locale();
+        $translations = array(
+            'cs_CS', // Czech
+            'de_DE', // German
+            'el_GR', // Greek
+            'en_US', // English (US)
+            'en_AU', // English (AU)
+            'en_GB', // English (GB)
+            'es_ES', // Spanish
+            'fr_FR', // French
+            'he_IL', // Hebrew
+            'hu_HU', // Hungarian
+            'id_ID', // Indonseian
+            'it_IT', // Italian
+            'ja_JP', // Japanese
+            'ko_KR', // Korean
+            'nl_NL', // Dutch
+            'pl_PL', // Polish
+            'pt_BR', // Portuguese (Brazilian)
+            'pt_PT', // Portuguese (European)
+            'ro_RO', // Romanian
+            'ru_RU', // Russian
+            'sv_SE', // Swedish
+            'tr_TR', // Turkish
+            'zh_CN', // Chinese
+            'zh_TW', // Chinese (Taiwan)
+        );
+
+        // Load localized vaidation and datepicker text, if translation files exist
+        if (in_array($locale, $translations)) {
+            wp_register_script('swpm-validation-i18n', SWPM_FORM_BUILDER_URL . "/js/i18n/validate/messages-$locale.js", array('jquery-form-validation'), '1.9.0', true);
+            wp_register_script('swpm-datepicker-i18n', SWPM_FORM_BUILDER_URL . "/js/i18n/datepicker/datepicker-$locale.js", array('jquery-ui-datepicker'), '1.0', true);
+
+            wp_enqueue_script('swpm-validation-i18n');
+        }
+        // Otherwise, load English translations
+        else {
+            wp_register_script('swpm-validation-i18n', SWPM_FORM_BUILDER_URL . "/js/i18n/validate/messages-en_US.js", array('jquery-form-validation'), '1.9.0', true);
+            wp_register_script('swpm-datepicker-i18n', SWPM_FORM_BUILDER_URL . "/js/i18n/datepicker/datepicker-en_US.js", array('jquery-ui-datepicker'), '1.0', true);
+
+            wp_enqueue_script('swpm-validation-i18n');
+        }
+    }
+
+    /**
+     * Add form CSS to wp_head
+     *
+     * @since 1.0
+     */
+    public function css() {
+        $swpm_settings = get_option('swpm-settings');
+        wp_register_style('swpm-jqueryui-css', apply_filters('swpm-date-picker-css', SWPM_FORM_BUILDER_URL . '/css/smoothness/jquery-ui-1.10.3.min.css'), array(), '20131203');
+        wp_register_style('swpm-form-builder-css', apply_filters('swpm-form-builder-css', SWPM_FORM_BUILDER_URL . "/css/swpm-form-builder$this->load_dev_files.css"), array(), '20140412');
+
+        // Settings - Always load CSS
+        //if (isset($swpm_settings['always-load-css'])) {
+        wp_enqueue_style('swpm-form-builder-css');
+        wp_enqueue_style('swpm-jqueryui-css');
+        return;
+        //}
+        // Settings - Disable CSS
+        if (isset($swpm_settings['disable-css']))
+            return;
+
+        // Get active widgets
+        $widget = is_active_widget(false, false, 'swpm_widget');
+
+        // If no widget is found, test for shortcode
+        if (empty($widget)) {
+            // If WordPress 3.6, use internal function. Otherwise, my own
+            if (function_exists('has_shortcode')) {
+                global $post;
+
+                // If no post exists, exit
+                if (!$post)
+                    return;
+
+                if (!has_shortcode($post->post_content, 'swpm'))
+                    return;
+            } elseif (!$this->has_shortcode('swpm')) {
+                return;
+            }
+        }
+
+        wp_enqueue_style('swpm-form-builder-css');
+        wp_enqueue_style('swpm-jqueryui-css');
+    }
+
+    /**
+     * Save new forms on the VFB Pro > Add New page
+     *
+     * @access public
+     * @since 2.8.1
+     * @return void
+     */
+    public function save_add_new_form() {
+        $page = filter_input(INPUT_GET, 'page');
+        $action = filter_input(INPUT_POST, 'action');
+
+        if ('swpm-form-builder' !== $page || 'create_form' !== $action) {
+            return;
+        }
+        $level = absint(filter_input(INPUT_POST, 'form_for_level'));
+        $type = absint(filter_input(INPUT_POST, 'form_type'));
+        check_admin_referer('create_form');
+        if ($type == SwpmFbFormCustom::REGISTRATION) {
+            $form = new SwpmFbRegistrationFormmeta();
+        } else if ($type == SwpmFbFormCustom::PROFILE) {
+            $form = new SwpmFbProfileFormmeta();
+            $reg_form_id = SwpmFbFormmeta::get_registration_form_id_by_level($level);
+            if (empty($reg_form_id)) {
+                return;
+            }
+            $form->load($reg_form_id);
+        }
+
+        $form->key = sanitize_title(filter_input(INPUT_POST, 'form_title'));
+        $form->title = esc_html(filter_input(INPUT_POST, 'form_title'));
+        $form->for_level = $level;
+        $success = $form->create();
+        // Redirect to keep the URL clean (use AJAX in the future?)
+        if ($success) {
+            wp_redirect('admin.php?page=swpm-form-builder&action=edit&form=' . $form->id);
+            exit();
+        }
+    }
+
+    private function get_submitted_form_definition(&$form_id) {
+        $form_id = absint($_REQUEST['form_id']);
+        $form_key = sanitize_title($_REQUEST['form_title'], $form_id);
+        $form_title = $_REQUEST['form_title'];
+
+        $form_notification_message = isset($_REQUEST['form_notification_message']) ? wp_richedit_pre($_REQUEST['form_notification_message']) : '';
+        $form_notification_subject = isset($_REQUEST['form_notification_subject']) ? $_REQUEST['form_notification_subject'] : '';
+        $form_notification_email_name = isset($_REQUEST['form_notification_email_name']) ? $_REQUEST['form_notification_email_name'] : '';
+        $form_notification_setting = isset($_REQUEST['form_notification_setting']) ? $_REQUEST['form_notification_setting'] : '';
+        $form_success_type = $_REQUEST['form_success_type'];
+        $form_label_alignment = $_REQUEST['form_label_alignment'];
+
+        // Add confirmation based on which type was selected
+        switch ($form_success_type) {
+            case 'text' :
+                $form_success_message = wp_richedit_pre($_REQUEST['form_success_message_text']);
+                break;
+            case 'page' :
+                $form_success_message = $_REQUEST['form_success_message_page'];
+                break;
+            case 'redirect' :
+                $form_success_message = $_REQUEST['form_success_message_redirect'];
+                break;
+        }
+
+        return array(
+            'form_key' => $form_key,
+            'form_title' => $form_title,
+            'form_success_type' => $form_success_type,
+            'form_success_message' => $form_success_message,
+            'form_notification_setting' => $form_notification_setting,
+            'form_notification_email_name' => $form_notification_email_name,
+            'form_notification_subject' => $form_notification_subject,
+            'form_notification_message' => $form_notification_message,
+            'form_label_alignment' => $form_label_alignment
+        );
+    }
+
+    private function get_submitted_field_details($id) {
+        $id = absint($id);
+
+        $field_name = ( isset($_REQUEST['field_name-' . $id]) ) ? trim($_REQUEST['field_name-' . $id]) : '';
+        //$field_key = sanitize_key(sanitize_title($field_name, $id));
+        $field_desc = ( isset($_REQUEST['field_description-' . $id]) ) ? trim($_REQUEST['field_description-' . $id]) : '';
+        $field_options = ( isset($_REQUEST['field_options-' . $id]) ) ? serialize(array_map('trim', $_REQUEST['field_options-' . $id])) : '';
+        $field_validation = ( isset($_REQUEST['field_validation-' . $id]) ) ? $_REQUEST['field_validation-' . $id] : '';
+        $field_required = ( isset($_REQUEST['field_required-' . $id]) ) ? $_REQUEST['field_required-' . $id] : '';
+        $field_size = ( isset($_REQUEST['field_size-' . $id]) ) ? $_REQUEST['field_size-' . $id] : '';
+        $field_css = ( isset($_REQUEST['field_css-' . $id]) ) ? $_REQUEST['field_css-' . $id] : '';
+        $field_layout = ( isset($_REQUEST['field_layout-' . $id]) ) ? $_REQUEST['field_layout-' . $id] : '';
+        $field_default = ( isset($_REQUEST['field_default-' . $id]) ) ? trim($_REQUEST['field_default-' . $id]) : '';
+
+        return array(
+            'field_name' => $field_name,
+            'field_description' => $field_desc,
+            'field_options' => $field_options,
+            'field_validation' => $field_validation,
+            'field_required' => $field_required,
+            'field_size' => $field_size,
+            'field_css' => $field_css,
+            'field_layout' => $field_layout,
+            'field_default' => $field_default
+        );
+    }
+
+    /**
+     * Save the form
+     *
+     * @access public
+     * @since 2.8.1
+     * @return void
+     */
+    public function save_update_form() {
+        global $wpdb;
+        $page = filter_input(INPUT_GET, 'page');
+        $action = filter_input(INPUT_POST, 'action');
+        if (empty($page) || empty($action))
+            return;
+
+        if ('swpm-form-builder' !== $page)
+            return;
+
+        if ('update_form' !== $_REQUEST['action'])
+            return;
+
+        check_admin_referer('swpm_update_form');
+
+        $form_id = 0;
+        $form_data = $this->get_submitted_form_definition($form_id);
+
+        $where = array('form_id' => $form_id);
+
+        // Update form details
+        $wpdb->update($this->form_table_name, $form_data, $where);
+
+        $field_ids = array();
+
+        // Get max post vars, if available. Otherwise set to 1000
+        $max_post_vars = ( ini_get('max_input_vars') ) ? intval(ini_get('max_input_vars')) : 1000;
+
+        // Set a message to be displayed if we've reached a limit
+        if (count($_POST, COUNT_RECURSIVE) > $max_post_vars)
+            $this->post_max_vars = true;
+
+        foreach ($_REQUEST['field_id'] as $fields) :
+            $field_ids[] = $fields;
+        endforeach;
+
+        // Initialize field sequence
+        $field_sequence = 0;
+        $query = $wpdb->prepare("SELECT form_id FROM  $this->form_table_name WHERE form_type= 1 AND `form_membership_level` = "
+                . " (SELECT `form_membership_level` FROM $this->form_table_name WHERE `form_id` = %d)", $form_id);
+        $edit_form = $wpdb->get_var($query);
+
+        // Loop through each field and update
+        foreach ($field_ids as $id) :
+            $field_data = $this->get_submitted_field_details($id);
+
+            $where = array(
+                'form_id' => $form_id,
+                'field_id' => $id
+            );
+
+
+            if (!empty($edit_form)) {
+                $form_data['form_id'] = $edit_form;
+                $this->create_field($field_data, $id);
+            }
+            // Update all fields
+
+            $wpdb->update($this->field_table_name, $field_data, $where);
+
+            $field_sequence++;
+        endforeach;
+    }
+
+    /**
+     * Handle trashing and deleting forms
+     *
+     * This is a placeholder function since all processing is handled in includes/class-forms-list.php
+     *
+     * @access public
+     * @since 2.8.1
+     * @return void
+     */
+    public function save_trash_delete_form() {
+        global $wpdb;
+
+        if (!isset($_REQUEST['action']) || !isset($_GET['page']))
+            return;
+
+        if ('swpm-form-builder' !== $_GET['page'])
+            return;
+
+        if ('delete_form' !== $_REQUEST['action'])
+            return;
+
+        $id = absint($_REQUEST['form']);
+
+        check_admin_referer('delete-form-' . $id);
+
+        // Delete form and all fields
+        $wpdb->query($wpdb->prepare("DELETE FROM $this->form_table_name WHERE form_id = %d", $id));
+        $wpdb->query($wpdb->prepare("DELETE FROM $this->field_table_name WHERE form_id = %d", $id));
+
+        // Redirect to keep the URL clean (use AJAX in the future?)
+        wp_redirect(add_query_arg('action', 'deleted', 'admin.php?page=swpm-form-builder'));
+        exit();
+    }
+
+    /**
+     * Handle form duplication
+     *
+     * @access public
+     * @since 2.8.1
+     * @return void
+     */
+    public function save_copy_form() {
+        global $wpdb;
+
+        if (!isset($_REQUEST['action']) || !isset($_GET['page']))
+            return;
+
+        if ('swpm-form-builder' !== $_GET['page'])
+            return;
+
+        if ('copy_form' !== $_REQUEST['action'])
+            return;
+
+        $id = absint($_REQUEST['form']);
+
+        check_admin_referer('copy-form-' . $id);
+
+        // Get all fields and data for the request form
+        $fields = $wpdb->get_results($wpdb->prepare("SELECT * FROM $this->field_table_name WHERE form_id = %d", $id));
+        $forms = $wpdb->get_results($wpdb->prepare("SELECT * FROM $this->form_table_name WHERE form_id = %d", $id));
+        $override = $wpdb->get_var($wpdb->prepare("SELECT form_email_from_override, form_email_from_name_override, "
+                        . "form_notification_email FROM $this->form_table_name WHERE form_id = %d", $id));
+        $from_name = $wpdb->get_var(null, 1);
+        $notify = $wpdb->get_var(null, 2);
+
+        // Copy this form and force the initial title to denote a copy
+        foreach ($forms as $form) {
+            $data = (array) $form;
+            $data['form_key'] = sanitize_title($form->form_key . ' copy');
+            $data['form_title'] = form_title . ' Copy';
+            $wpdb->insert($this->form_table_name, $data);
+        }
+
+        // Get form ID to add our first field
+        $new_form_selected = $wpdb->insert_id;
+
+        // Copy each field and data
+        foreach ($fields as $field) {
+            $data = (array) $field;
+            $data['form_id'] = $new_form_selected;
+            $wpdb->insert($this->field_table_name, $data);
+
+            // If a parent field, save the old ID and the new ID to update new parent ID
+            if (in_array($field->field_type, array('fieldset', 'section', 'verification')))
+                $parents[$field->field_id] = $wpdb->insert_id;
+
+            if ($override == $field->field_id)
+                $wpdb->update($this->form_table_name, array('form_email_from_override' => $wpdb->insert_id), array('form_id' => $new_form_selected));
+
+            if ($from_name == $field->field_id)
+                $wpdb->update($this->form_table_name, array('form_email_from_name_override' => $wpdb->insert_id), array('form_id' => $new_form_selected));
+
+            if ($notify == $field->field_id)
+                $wpdb->update($this->form_table_name, array('form_notification_email' => $wpdb->insert_id), array('form_id' => $new_form_selected));
+        }
+
+        // Loop through our parents and update them to their new IDs
+        foreach ($parents as $k => $v) {
+            $wpdb->update($this->field_table_name, array('field_parent' => $v), array('form_id' => $new_form_selected, 'field_parent' => $k));
+        }
+    }
+
+    /**
+     * Save options on the VFB Pro > Settings page
+     *
+     * @access public
+     * @since 2.8.1
+     * @return void
+     */
+    public function save_settings() {
+
+        if (!isset($_REQUEST['action']) || !isset($_GET['page']))
+            return;
+
+        if ('swpm-settings' !== $_GET['page'])
+            return;
+
+        if ('swpm_settings' !== $_REQUEST['action'])
+            return;
+
+        check_admin_referer('swpm-update-settings');
+
+        $data = array();
+
+        foreach ($_POST['swpm-settings'] as $key => $val) {
+            $data[$key] = esc_html($val);
+        }
+
+        update_option('swpm-settings', $data);
+    }
+
+    /**
+     * The jQuery field sorting callback
+     *
+     * @since 1.0
+     */
+    public function ajax_sort_field() {
+        global $wpdb;
+
+        $data = array();
+
+        foreach ($_REQUEST['order'] as $k) :
+            if ('root' !== $k['item_id'] && !empty($k['item_id'])) :
+                $data[] = array(
+                    'field_id' => $k['item_id'],
+                    'parent' => $k['parent_id']
+                );
+            endif;
+        endforeach;
+
+        foreach ($data as $k => $v) :
+            // Update each field with it's new sequence and parent ID
+            $wpdb->update($this->field_table_name, array(
+                'field_sequence' => $k,
+                'field_parent' => $v['parent']), array('field_id' => $v['field_id']), '%d'
+            );
+        endforeach;
+
+        die(1);
+    }
+
+    /**
+     * The jQuery create field callback
+     *
+     * @since 1.9
+     */
+    public function ajax_create_field() {
+        global $wpdb;
+
+        $data = array();
+        $field_options = $field_validation = '';
+
+        foreach ($_REQUEST['data'] as $k) {
+            $data[$k['name']] = $k['value'];
+        }
+
+        check_ajax_referer('create-field-' . $data['form_id'], 'nonce');
+
+        $form_id = absint($data['form_id']);
+        $field_key = esc_html($_REQUEST['field_key']);
+        $field_name = esc_html(str_replace('_', ' ', $field_key));
+        $field_type = strtolower(sanitize_title($_REQUEST['field_type']));
+        $field_description = str_replace('_', ' ', $field_key);
+
+        // Set defaults for validation
+        switch ($field_type) {
+            case 'select' :
+                if ($field_key == 'gender') {
+                    $field_options = serialize(array('male' => 'Male', 'female' => 'Female', 'not specified' => 'Not Specified'));
+                } else if ($field_key == 'title') {
+                    $field_options = serialize(array('mr' => 'Mr', 'mrs' => 'Mrs', 'ms' => 'Ms', 'dr' => 'Dr', 'not specified' => 'Not Specified'));
+                } else {
+                    $field_options = serialize(array('Option 1', 'Option 2', 'Option 3'));
+                }
+                break;
+            case 'radio' :
+            case 'checkbox' :
+                $field_options = serialize(array('Option 1', 'Option 2', 'Option 3'));
+                break;
+            case 'email' :
+            case 'url' :
+            case 'phone' :
+                $field_validation = $field_type;
+                break;
+
+            case 'currency' :
+                $field_validation = 'number';
+                break;
+
+            case 'number' :
+                $field_validation = 'digits';
+                break;
+
+            case 'time' :
+                $field_validation = 'time-12';
+                break;
+
+            case 'file-upload' :
+                $field_options = serialize(array('png|jpe?g|gif'));
+                break;
+        }
+
+        $newdata = array(
+            'form_id' => $form_id,
+            'field_key' => $field_key,
+            'field_name' => $field_name,
+            'field_type' => $field_type,
+            'field_options' => $field_options,
+            'field_validation' => $field_validation,
+            'field_description' => $field_description
+        );
+
+        $insert_id = $this->create_field($newdata);
+
+        $query = $wpdb->prepare("SELECT form_id FROM  $this->form_table_name WHERE form_type= 1 AND `form_membership_level` = "
+                . " (SELECT `form_membership_level` FROM $this->form_table_name WHERE form_type= 0 AND `form_id` = %d)", $form_id);
+        $edit_form = $wpdb->get_var($query);
+        if (!empty($edit_form)) {
+            $newdata['form_id'] = $edit_form;
+            $this->create_field($newdata, $insert_id);
+        }
+
+        echo $this->field_output($form_id, $insert_id);
+
+        die(1);
+    }
+
+    private function create_field($form_data, $reg_field_id = 0) {
+        global $wpdb;
+        $form_id = $form_data['form_id'];
+        $insert_id = 0;
+        if (!empty($reg_field_id)) {
+            $form_data['reg_field_id'] = $reg_field_id;
+            $query = $wpdb->prepare("SELECT field_id FROM $this->field_table_name WHERE reg_field_id = %d", $reg_field_id);
+            $insert_id = $wpdb->get_var($query);
+        }
+
+        if (!empty($insert_id)) {
+            $wpdb->update($this->field_table_name, $form_data, array('field_id' => $insert_id));
+        } else {
+            // Get the last row's sequence that isn't a Verification
+            $sequence_last_row = $wpdb->get_var(
+                    $wpdb->prepare(
+                            "SELECT field_sequence FROM $this->field_table_name WHERE form_id = %d AND field_type = 'verification' ORDER BY field_sequence DESC LIMIT 1", $form_id));
+
+            // If it's not the first for this form, add 1
+            $field_sequence = (!empty($sequence_last_row) ) ? $sequence_last_row : 0;
+            $form_data['field_sequence'] = $field_sequence;
+            // Create the field
+            $wpdb->insert($this->field_table_name, $form_data);
+            $insert_id = $wpdb->insert_id;
+            // VIP fields
+            $vip_fields = array('verification', 'secret', 'submit');
+
+            // Move the VIPs
+            foreach ($vip_fields as $update) {
+                $field_sequence++;
+                $where = array('form_id' => absint($form_id), 'field_type' => $update);
+                $wpdb->update($this->field_table_name, array('field_sequence' => $field_sequence), $where);
+            }
+        }
+
+        return $insert_id;
+    }
+
+    /**
+     * The jQuery delete field callback
+     *
+     * @since 1.9
+     */
+    public function ajax_delete_field() {
+        global $wpdb;
+
+        if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'swpm_form_builder_delete_field') {
+            $form_id = absint($_REQUEST['form']);
+            $field_id = absint($_REQUEST['field']);
+
+            check_ajax_referer('delete-field-' . $form_id, 'nonce');
+
+            $field_key = $wpdb->get_var($wpdb->prepare("SELECT field_key FROM $this->field_table_name WHERE field_id=%d", $field_id));
+            if (SwpmFbUtils::is_mandatory_field($field_key)) {
+                die('0'); // don't delete required fields
+            }
+            if (isset($_REQUEST['child_ids'])) {
+                foreach ($_REQUEST['child_ids'] as $children) {
+                    $parent = absint($_REQUEST['parent_id']);
+
+                    // Update each child item with the new parent ID
+                    $wpdb->update($this->field_table_name, array('field_parent' => $parent), array('field_id' => $children));
+                }
+            }
+
+            // Delete the field
+            $wpdb->query($wpdb->prepare("DELETE FROM $this->field_table_name WHERE field_id = %d", $field_id));
+        }
+
+        die(1);
+    }
+
+    /**
+     * The jQuery form settings callback
+     *
+     * @since 2.2
+     */
+    public function ajax_form_settings() {
+        global $current_user;
+        get_currentuserinfo();
+
+        if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'swpm_form_builder_form_settings') {
+            $form_id = absint($_REQUEST['form']);
+            $status = isset($_REQUEST['status']) ? $_REQUEST['status'] : 'opened';
+            $accordion = isset($_REQUEST['accordion']) ? $_REQUEST['accordion'] : 'general-settings';
+            $user_id = $current_user->ID;
+
+            $form_settings = get_user_meta($user_id, 'swpm-form-settings', true);
+
+            $array = array(
+                'form_setting_tab' => $status,
+                'setting_accordion' => $accordion
+            );
+
+            // Set defaults if meta key doesn't exist
+            if (!$form_settings || $form_settings == '') {
+                $meta_value[$form_id] = $array;
+
+                update_user_meta($user_id, 'swpm-form-settings', $meta_value);
+            } else {
+                $form_settings[$form_id] = $array;
+
+                update_user_meta($user_id, 'swpm-form-settings', $form_settings);
+            }
+        }
+
+        die(1);
+    }
+
+    /**
+     * All Forms output in admin
+     *
+     * @since 2.5
+     */
+    public function all_forms() {
+        $searched = isset($_REQUEST['s']) && !empty($_REQUEST['s']) ? true : false;
+        global $wpdb, $forms_list;
+        require( SWPM_FORM_BUILDER_PATH . 'views/all_forms.php' );
+    }
+
+    /**
+     * Build field output in admin
+     *
+     * @since 1.9
+     */
+    public function field_output($form_nav_selected_id, $field_id = NULL) {
+        require( SWPM_FORM_BUILDER_PATH . 'includes/admin-field-options.php' );
+    }
+
+    /**
+     * Display admin notices
+     *
+     * @since 1.0
+     */
+    public function admin_notices() {
+        if (!isset($_REQUEST['action']) || !isset($_GET['page']))
+            return;
+
+        if (!in_array($_GET['page'], array('swpm-form-builder',
+                    'swpm-add-new',
+                    'swpm-email-design',
+                    'swpm-reports',
+                    'swpm-settings')))
+            return;
+
+        switch ($_REQUEST['action']) {
+            case 'create_form' :
+                echo '<div id="message" class="error"><p>' .
+                __('Error! Combination of membership level and form type must be unique.', 'swpm-form-builder') . '</p>';
+                $form_type = absint(filter_input(INPUT_POST, 'form_type'));
+                if ($form_type == SwpmFbFormCustom::PROFILE) {
+                    echo '<p>' . __('You must create a registration form before creating edit profile form.', 'swpm-form-builder') . '</p>';
+                }
+                echo '</div>';
+                break;
+
+            case 'update_form' :
+                echo '<div id="message" class="updated"><p>' .
+                __('Form updated.', 'swpm-form-builder') . '</p></div>';
+
+                if ($this->post_max_vars) :
+                    // Get max post vars, if available. Otherwise set to 1000
+                    $max_post_vars = ( ini_get('max_input_vars') ) ? intval(ini_get('max_input_vars')) : 1000;
+
+                    echo '<div id="message" class="error"><p>' .
+                    sprintf(__('Error saving form. The maximum amount of data allowed by your server has been reached. '
+                                    . 'Please update <a href="%s" target="_blank">max_input_vars</a> in your php.ini '
+                                    . 'file to allow more data to be saved. Current limit is <strong>%d</strong>', 'swpm-form-builder'), 'http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars', $max_post_vars) . '</p></div>';
+                endif;
+                break;
+
+            case 'deleted' :
+                echo '<div id="message" class="updated"><p>' .
+                __('Item permanently deleted.', 'swpm-form-builder') . '</p></div>';
+                break;
+
+            case 'copy_form' :
+                echo '<div id="message" class="updated"><p>' .
+                __('Item successfully duplicated.', 'swpm-form-builder') . '</p></div>';
+                break;
+
+            case 'swpm_settings' :
+                echo sprintf('<div id="message" class="updated"><p>%s</p></div>', __('Settings saved.', 'swpm-form-builder'));
+                break;
+        }
+    }
+
+    /**
+     * Add options page to Settings menu
+     *
+     *
+     * @since 1.0
+     * @uses add_options_page() Creates a menu item under the Settings menu.
+     */
+    public function add_admin() {
+        $current_pages = array();
+
+        $current_pages['swpm'] = add_submenu_page('simple_wp_membership', __('Form Builder', 'swpm-form-builder'), __('Form Builder', 'swpm-form-builder'), 'manage_options', 'swpm-form-builder', array(&$this, 'admin'));
+        // All plugin page load hooks
+        foreach ($current_pages as $key => $page) {
+            // Load the jQuery and CSS we need if we're on our plugin page
+            add_action("load-$page", array(&$this, 'admin_scripts'));
+
+            // Load the Help tab on all pages
+            add_action("load-$page", array(&$this, 'help'));
+        }
+        // Save pages array for filter/action use throughout plugin
+        $this->_admin_pages = $current_pages;
+
+        // Adds a Screen Options tab to the Entries screen
+        add_action('load-' . $current_pages['swpm'], array(&$this, 'screen_options'));
+
+        // Add meta boxes to the form builder admin page
+        add_action('load-' . $current_pages['swpm'], array(&$this, 'add_meta_boxes'));
+
+        add_action('load-' . $current_pages['swpm'], array(&$this, 'include_forms_list'));
+    }
+
+    /**
+     * Display Add New Form page
+     *
+     *
+     * @since 2.7.2
+     */
+    public function admin_add_new() {
+        ?>
+        <div class="wrap">
+            <h2><?php _e('Add New Form', 'swpm-form-builder'); ?></h2>
+            <?php
+            include_once( SWPM_FORM_BUILDER_PATH . 'includes/admin-new-form.php' );
+            ?>
+        </div>
+        <?php
+    }
+
+    public function admin_license_menu() {
+        ?>
+        <div class="wrap">
+            <h2><?php _e('Product License', 'swpm-form-builder'); ?></h2>
+            <?php
+            include_once( SWPM_FORM_BUILDER_PATH . 'includes/admin-license-interface.php' );
+            ?>
+        </div>
+        <?php
+    }
+
+    /**
+     * admin_settings function.
+     *
+     * @access public
+     * @return void
+     */
+    public function admin_settings() {
+        $swpm_settings = get_option('swpm-form-builder-settings');
+        include_once( SWPM_FORM_BUILDER_PATH . 'views/settings.php' );
+    }
+
+    /**
+     * Builds the options settings page
+     *
+     * @since 1.0
+     */
+    public function admin() {
+        global $wpdb, $current_user;
+        $action = filter_input(INPUT_GET, 'action');
+
+        get_currentuserinfo();
+        screen_icon('options-general');
+        echo '<div class="wrap"><h2>';
+        BUtils::e('Simple Membership Form Builder');
+        echo '</h2>';
+        // Save current user ID
+        $user_id = $current_user->ID;
+        $current_tab = empty($action) ? '' : $action;
+        $tabs = array('' => "Form List", 'add' => 'New Form', 'license' => 'Product License');
+        echo '<h2 class="nav-tab-wrapper">';
+        foreach ($tabs as $tab_key => $tab_caption) {
+            $active = $current_tab == $tab_key ? 'nav-tab-active' : '';
+            echo '<a class="nav-tab ' . $active . '" href="admin.php?page=swpm-form-builder&action=' . $tab_key . '">' . $tab_caption . '</a>';
+        }
+        echo '</h2>';
+        switch ($action) {
+            case 'add':
+                $this->admin_add_new();
+                break;
+            case 'license':
+                $this->admin_license_menu();
+                break;
+            case 'edit':
+            default:
+                $form_nav_selected_id = filter_input(INPUT_GET, 'form');
+                if (empty($form_nav_selected_id) || $form_nav_selected_id == 0) {
+                    $this->all_forms();
+                } else {
+                    include_once( SWPM_FORM_BUILDER_PATH . 'includes/admin-form-creator.php' );
+                }
+                break;
+        }
+        echo '</div>';
+    }
+
+    /**
+     * Handle confirmation when form is submitted
+     *
+     * @since 1.3
+     */
+    function confirmation() {
+        global $wpdb;
+
+        $form_id = ( isset($_REQUEST['form_id']) ) ? (int) esc_html($_REQUEST['form_id']) : '';
+
+        if (!isset($_REQUEST['swpm-submit']))
+            return;
+        if ($this->form->is_fatal() || !$this->form->is_valid()) {
+            return;
+        }
+
+        // Get forms
+        $order = sanitize_sql_orderby('form_id DESC');
+        $forms = $wpdb->get_results($wpdb->prepare("SELECT * FROM $this->form_table_name WHERE form_id = %d ORDER BY $order", $form_id));
+
+        foreach ($forms as $form) :
+            // If text, return output and format the HTML for display
+            if ('text' == $form->form_success_type) {
+                return stripslashes(html_entity_decode(wp_kses_stripslashes($form->form_success_message)));
+            }// If page, redirect to the permalink
+            elseif ('page' == $form->form_success_type) {
+                $page = get_permalink($form->form_success_message);
+                wp_redirect($page);
+                exit();
+            }
+            // If redirect, redirect to the URL
+            elseif ('redirect' == $form->form_success_type) {
+                wp_redirect(esc_url($form->form_success_message));
+                exit();
+            }
+        endforeach;
+    }
+
+    /**
+     * Handle emailing the content
+     *
+     * @since 1.0
+     * @uses wp_mail() E-mails a message
+     */
+    public function email() {
+        require( SWPM_FORM_BUILDER_PATH . 'includes/email.php' );
+    }
+
+    /**
+     * Make sure the User Agent string is not a SPAM bot
+     *
+     * @since 1.3
+     */
+    public function isBot() {
+        $bots = apply_filters('swpm_blocked_spam_bots', array(
+            '<', '>', '&lt;', '%0A', '%0D', '%27', '%3C', '%3E', '%00', 'href',
+            'binlar', 'casper', 'cmsworldmap', 'comodo', 'diavol',
+            'dotbot', 'feedfinder', 'flicky', 'ia_archiver', 'jakarta',
+            'kmccrew', 'nutch', 'planetwork', 'purebot', 'pycurl',
+            'skygrid', 'sucker', 'turnit', 'vikspider', 'zmeu',
+                )
+        );
+
+        $isBot = false;
+
+        $user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? wp_kses_data($_SERVER['HTTP_USER_AGENT']) : '';
+
+        do_action('swpm_isBot', $user_agent, $bots);
+
+        foreach ($bots as $bot) {
+            if (stripos($user_agent, $bot) !== false)
+                $isBot = true;
+        }
+
+        return $isBot;
+    }
+
+    /**
+     * Check whether the content contains the specified shortcode
+     *
+     * @access public
+     * @param string $shortcode (default: '')
+     * @return void
+     */
+    function has_shortcode($shortcode = '') {
+
+        $post_to_check = get_post(get_the_ID());
+
+        // false because we have to search through the post content first
+        $found = false;
+
+        // if no short code was provided, return false
+        if (!$shortcode) {
+            return $found;
+        }
+        // check the post content for the short code
+        if (stripos($post_to_check->post_content, '[' . $shortcode) !== false) {
+            // we have found the short code
+            $found = true;
+        }
+
+        // return our final results
+        return $found;
+    }
+
+}
+
+// The VFB widget
+require( SWPM_FORM_BUILDER_PATH . 'includes/class-widget.php' );
diff --git a/css/smoothness/images/animated-overlay.gif b/css/smoothness/images/animated-overlay.gif
new file mode 100644 (file)
index 0000000..d441f75
Binary files /dev/null and b/css/smoothness/images/animated-overlay.gif differ
diff --git a/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png b/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100644 (file)
index 0000000..81f996d
Binary files /dev/null and b/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png differ
diff --git a/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png b/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
new file mode 100644 (file)
index 0000000..7dc8742
Binary files /dev/null and b/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png differ
diff --git a/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png b/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
new file mode 100644 (file)
index 0000000..448f5ff
Binary files /dev/null and b/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png differ
diff --git a/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png b/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
new file mode 100644 (file)
index 0000000..e8791d7
Binary files /dev/null and b/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png differ
diff --git a/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png b/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
new file mode 100644 (file)
index 0000000..f03b130
Binary files /dev/null and b/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png differ
diff --git a/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png b/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
new file mode 100644 (file)
index 0000000..7e9446d
Binary files /dev/null and b/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png differ
diff --git a/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png b/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
new file mode 100644 (file)
index 0000000..20eb6ca
Binary files /dev/null and b/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png differ
diff --git a/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
new file mode 100644 (file)
index 0000000..4e130bc
Binary files /dev/null and b/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ
diff --git a/css/smoothness/images/ui-icons_222222_256x240.png b/css/smoothness/images/ui-icons_222222_256x240.png
new file mode 100644 (file)
index 0000000..c1cb117
Binary files /dev/null and b/css/smoothness/images/ui-icons_222222_256x240.png differ
diff --git a/css/smoothness/images/ui-icons_2e83ff_256x240.png b/css/smoothness/images/ui-icons_2e83ff_256x240.png
new file mode 100644 (file)
index 0000000..84b601b
Binary files /dev/null and b/css/smoothness/images/ui-icons_2e83ff_256x240.png differ
diff --git a/css/smoothness/images/ui-icons_454545_256x240.png b/css/smoothness/images/ui-icons_454545_256x240.png
new file mode 100644 (file)
index 0000000..b6db1ac
Binary files /dev/null and b/css/smoothness/images/ui-icons_454545_256x240.png differ
diff --git a/css/smoothness/images/ui-icons_888888_256x240.png b/css/smoothness/images/ui-icons_888888_256x240.png
new file mode 100644 (file)
index 0000000..feea0e2
Binary files /dev/null and b/css/smoothness/images/ui-icons_888888_256x240.png differ
diff --git a/css/smoothness/images/ui-icons_cd0a0a_256x240.png b/css/smoothness/images/ui-icons_cd0a0a_256x240.png
new file mode 100644 (file)
index 0000000..ed5b6b0
Binary files /dev/null and b/css/smoothness/images/ui-icons_cd0a0a_256x240.png differ
diff --git a/css/smoothness/jquery-ui-1.10.3.css b/css/smoothness/jquery-ui-1.10.3.css
new file mode 100644 (file)
index 0000000..4e04c99
--- /dev/null
@@ -0,0 +1,1177 @@
+/*! jQuery UI - v1.10.3 - 2013-08-21
+* http://jqueryui.com
+* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden {
+       display: none;
+}
+.ui-helper-hidden-accessible {
+       border: 0;
+       clip: rect(0 0 0 0);
+       height: 1px;
+       margin: -1px;
+       overflow: hidden;
+       padding: 0;
+       position: absolute;
+       width: 1px;
+}
+.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:before,
+.ui-helper-clearfix:after {
+       content: "";
+       display: table;
+       border-collapse: collapse;
+}
+.ui-helper-clearfix:after {
+       clear: both;
+}
+.ui-helper-clearfix {
+       min-height: 0; /* support: IE7 */
+}
+.ui-helper-zfix {
+       width: 100%;
+       height: 100%;
+       top: 0;
+       left: 0;
+       position: absolute;
+       opacity: 0;
+       filter:Alpha(Opacity=0);
+}
+
+.ui-front {
+       z-index: 100;
+}
+
+
+/* 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: fixed;
+       top: 0;
+       left: 0;
+       width: 100%;
+       height: 100%;
+}
+.ui-resizable {
+       position: relative;
+}
+.ui-resizable-handle {
+       position: absolute;
+       font-size: 0.1px;
+       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: 0;
+}
+.ui-resizable-s {
+       cursor: s-resize;
+       height: 7px;
+       width: 100%;
+       bottom: -5px;
+       left: 0;
+}
+.ui-resizable-e {
+       cursor: e-resize;
+       width: 7px;
+       right: -5px;
+       top: 0;
+       height: 100%;
+}
+.ui-resizable-w {
+       cursor: w-resize;
+       width: 7px;
+       left: -5px;
+       top: 0;
+       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;
+}
+.ui-selectable-helper {
+       position: absolute;
+       z-index: 100;
+       border: 1px dotted black;
+}
+.ui-accordion .ui-accordion-header {
+       display: block;
+       cursor: pointer;
+       position: relative;
+       margin-top: 2px;
+       padding: .5em .5em .5em .7em;
+       min-height: 0; /* support: IE7 */
+}
+.ui-accordion .ui-accordion-icons {
+       padding-left: 2.2em;
+}
+.ui-accordion .ui-accordion-noicons {
+       padding-left: .7em;
+}
+.ui-accordion .ui-accordion-icons .ui-accordion-icons {
+       padding-left: 2.2em;
+}
+.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
+       position: absolute;
+       left: .5em;
+       top: 50%;
+       margin-top: -8px;
+}
+.ui-accordion .ui-accordion-content {
+       padding: 1em 2.2em;
+       border-top: 0;
+       overflow: auto;
+}
+.ui-autocomplete {
+       position: absolute;
+       top: 0;
+       left: 0;
+       cursor: default;
+}
+.ui-button {
+       display: inline-block;
+       position: relative;
+       padding: 0;
+       line-height: normal;
+       margin-right: .1em;
+       cursor: pointer;
+       vertical-align: middle;
+       text-align: center;
+       overflow: visible; /* removes extra width in IE */
+}
+.ui-button,
+.ui-button:link,
+.ui-button:visited,
+.ui-button:hover,
+.ui-button:active {
+       text-decoration: none;
+}
+/* to make room for the icon, a width needs to be set here */
+.ui-button-icon-only {
+       width: 2.2em;
+}
+/* button elements seem to need a little more width */
+button.ui-button-icon-only {
+       width: 2.4em;
+}
+.ui-button-icons-only {
+       width: 3.4em;
+}
+button.ui-button-icons-only {
+       width: 3.7em;
+}
+
+/* button text element */
+.ui-button .ui-button-text {
+       display: block;
+       line-height: normal;
+}
+.ui-button-text-only .ui-button-text {
+       padding: .4em 1em;
+}
+.ui-button-icon-only .ui-button-text,
+.ui-button-icons-only .ui-button-text {
+       padding: .4em;
+       text-indent: -9999999px;
+}
+.ui-button-text-icon-primary .ui-button-text,
+.ui-button-text-icons .ui-button-text {
+       padding: .4em 1em .4em 2.1em;
+}
+.ui-button-text-icon-secondary .ui-button-text,
+.ui-button-text-icons .ui-button-text {
+       padding: .4em 2.1em .4em 1em;
+}
+.ui-button-text-icons .ui-button-text {
+       padding-left: 2.1em;
+       padding-right: 2.1em;
+}
+/* no icon support for input elements, provide padding by default */
+input.ui-button {
+       padding: .4em 1em;
+}
+
+/* button icon element(s) */
+.ui-button-icon-only .ui-icon,
+.ui-button-text-icon-primary .ui-icon,
+.ui-button-text-icon-secondary .ui-icon,
+.ui-button-text-icons .ui-icon,
+.ui-button-icons-only .ui-icon {
+       position: absolute;
+       top: 50%;
+       margin-top: -8px;
+}
+.ui-button-icon-only .ui-icon {
+       left: 50%;
+       margin-left: -8px;
+}
+.ui-button-text-icon-primary .ui-button-icon-primary,
+.ui-button-text-icons .ui-button-icon-primary,
+.ui-button-icons-only .ui-button-icon-primary {
+       left: .5em;
+}
+.ui-button-text-icon-secondary .ui-button-icon-secondary,
+.ui-button-text-icons .ui-button-icon-secondary,
+.ui-button-icons-only .ui-button-icon-secondary {
+       right: .5em;
+}
+
+/* button sets */
+.ui-buttonset {
+       margin-right: 7px;
+}
+.ui-buttonset .ui-button {
+       margin-left: 0;
+       margin-right: -.3em;
+}
+
+/* workarounds */
+/* reset extra padding in Firefox, see h5bp.com/l */
+input.ui-button::-moz-focus-inner,
+button.ui-button::-moz-focus-inner {
+       border: 0;
+       padding: 0;
+}
+.ui-datepicker {
+       width: 17em;
+       padding: .2em .2em 0;
+       display: none;
+}
+.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 {
+       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 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,
+.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%;
+       font-size: 0;
+}
+
+/* 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,
+.ui-datepicker-rtl .ui-datepicker-group {
+       float: right;
+}
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
+       border-right-width: 0;
+       border-left-width: 1px;
+}
+.ui-dialog {
+       position: absolute;
+       top: 0;
+       left: 0;
+       padding: .2em;
+       outline: 0;
+}
+.ui-dialog .ui-dialog-titlebar {
+       padding: .4em 1em;
+       position: relative;
+}
+.ui-dialog .ui-dialog-title {
+       float: left;
+       margin: .1em 0;
+       white-space: nowrap;
+       width: 90%;
+       overflow: hidden;
+       text-overflow: ellipsis;
+}
+.ui-dialog .ui-dialog-titlebar-close {
+       position: absolute;
+       right: .3em;
+       top: 50%;
+       width: 21px;
+       margin: -10px 0 0 0;
+       padding: 1px;
+       height: 20px;
+}
+.ui-dialog .ui-dialog-content {
+       position: relative;
+       border: 0;
+       padding: .5em 1em;
+       background: none;
+       overflow: auto;
+}
+.ui-dialog .ui-dialog-buttonpane {
+       text-align: left;
+       border-width: 1px 0 0 0;
+       background-image: none;
+       margin-top: .5em;
+       padding: .3em 1em .5em .4em;
+}
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
+       float: right;
+}
+.ui-dialog .ui-dialog-buttonpane button {
+       margin: .5em .4em .5em 0;
+       cursor: pointer;
+}
+.ui-dialog .ui-resizable-se {
+       width: 12px;
+       height: 12px;
+       right: -5px;
+       bottom: -5px;
+       background-position: 16px 16px;
+}
+.ui-draggable .ui-dialog-titlebar {
+       cursor: move;
+}
+.ui-menu {
+       list-style: none;
+       padding: 2px;
+       margin: 0;
+       display: block;
+       outline: none;
+}
+.ui-menu .ui-menu {
+       margin-top: -3px;
+       position: absolute;
+}
+.ui-menu .ui-menu-item {
+       margin: 0;
+       padding: 0;
+       width: 100%;
+       /* support: IE10, see #8844 */
+       list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
+}
+.ui-menu .ui-menu-divider {
+       margin: 5px -2px 5px -2px;
+       height: 0;
+       font-size: 0;
+       line-height: 0;
+       border-width: 1px 0 0 0;
+}
+.ui-menu .ui-menu-item a {
+       text-decoration: none;
+       display: block;
+       padding: 2px .4em;
+       line-height: 1.5;
+       min-height: 0; /* support: IE7 */
+       font-weight: normal;
+}
+.ui-menu .ui-menu-item a.ui-state-focus,
+.ui-menu .ui-menu-item a.ui-state-active {
+       font-weight: normal;
+       margin: -1px;
+}
+
+.ui-menu .ui-state-disabled {
+       font-weight: normal;
+       margin: .4em 0 .2em;
+       line-height: 1.5;
+}
+.ui-menu .ui-state-disabled a {
+       cursor: default;
+}
+
+/* icon support */
+.ui-menu-icons {
+       position: relative;
+}
+.ui-menu-icons .ui-menu-item a {
+       position: relative;
+       padding-left: 2em;
+}
+
+/* left-aligned */
+.ui-menu .ui-icon {
+       position: absolute;
+       top: .2em;
+       left: .2em;
+}
+
+/* right-aligned */
+.ui-menu .ui-menu-icon {
+       position: static;
+       float: right;
+}
+.ui-progressbar {
+       height: 2em;
+       text-align: left;
+       overflow: hidden;
+}
+.ui-progressbar .ui-progressbar-value {
+       margin: -1px;
+       height: 100%;
+}
+.ui-progressbar .ui-progressbar-overlay {
+       background: url("images/animated-overlay.gif");
+       height: 100%;
+       filter: alpha(opacity=25);
+       opacity: 0.25;
+}
+.ui-progressbar-indeterminate .ui-progressbar-value {
+       background-image: none;
+}
+.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;
+       background-position: 0 0;
+}
+
+/* For IE8 - See #6727 */
+.ui-slider.ui-state-disabled .ui-slider-handle,
+.ui-slider.ui-state-disabled .ui-slider-range {
+       filter: inherit;
+}
+
+.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;
+}
+.ui-spinner {
+       position: relative;
+       display: inline-block;
+       overflow: hidden;
+       padding: 0;
+       vertical-align: middle;
+}
+.ui-spinner-input {
+       border: none;
+       background: none;
+       color: inherit;
+       padding: 0;
+       margin: .2em 0;
+       vertical-align: middle;
+       margin-left: .4em;
+       margin-right: 22px;
+}
+.ui-spinner-button {
+       width: 16px;
+       height: 50%;
+       font-size: .5em;
+       padding: 0;
+       margin: 0;
+       text-align: center;
+       position: absolute;
+       cursor: default;
+       display: block;
+       overflow: hidden;
+       right: 0;
+}
+/* more specificity required here to overide default borders */
+.ui-spinner a.ui-spinner-button {
+       border-top: none;
+       border-bottom: none;
+       border-right: none;
+}
+/* vertical centre icon */
+.ui-spinner .ui-icon {
+       position: absolute;
+       margin-top: -8px;
+       top: 50%;
+       left: 0;
+}
+.ui-spinner-up {
+       top: 0;
+}
+.ui-spinner-down {
+       bottom: 0;
+}
+
+/* TR overrides */
+.ui-spinner .ui-icon-triangle-1-s {
+       /* need to fix icons sprite */
+       background-position: -65px -16px;
+}
+.ui-tabs {
+       position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+       padding: .2em;
+}
+.ui-tabs .ui-tabs-nav {
+       margin: 0;
+       padding: .2em .2em 0;
+}
+.ui-tabs .ui-tabs-nav li {
+       list-style: none;
+       float: left;
+       position: relative;
+       top: 0;
+       margin: 1px .2em 0 0;
+       border-bottom-width: 0;
+       padding: 0;
+       white-space: nowrap;
+}
+.ui-tabs .ui-tabs-nav li a {
+       float: left;
+       padding: .5em 1em;
+       text-decoration: none;
+}
+.ui-tabs .ui-tabs-nav li.ui-tabs-active {
+       margin-bottom: -1px;
+       padding-bottom: 1px;
+}
+.ui-tabs .ui-tabs-nav li.ui-tabs-active a,
+.ui-tabs .ui-tabs-nav li.ui-state-disabled a,
+.ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
+       cursor: text;
+}
+.ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
+       cursor: pointer;
+}
+.ui-tabs .ui-tabs-panel {
+       display: block;
+       border-width: 0;
+       padding: 1em 1.4em;
+       background: none;
+}
+.ui-tooltip {
+       padding: 8px;
+       position: absolute;
+       z-index: 9999;
+       max-width: 300px;
+       -webkit-box-shadow: 0 0 5px #aaa;
+       box-shadow: 0 0 5px #aaa;
+}
+body .ui-tooltip {
+       border-width: 2px;
+}
+
+/* Component containers
+----------------------------------*/
+.ui-widget {
+       font-family: Verdana,Arial,sans-serif;
+       font-size: 1.1em;
+}
+.ui-widget .ui-widget {
+       font-size: 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,
+.ui-widget-header .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;
+}
+.ui-state-default a,
+.ui-state-default a:link,
+.ui-state-default a:visited {
+       color: #555555;
+       text-decoration: none;
+}
+.ui-state-hover,
+.ui-widget-content .ui-state-hover,
+.ui-widget-header .ui-state-hover,
+.ui-state-focus,
+.ui-widget-content .ui-state-focus,
+.ui-widget-header .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;
+}
+.ui-state-hover a,
+.ui-state-hover a:hover,
+.ui-state-hover a:link,
+.ui-state-hover a:visited {
+       color: #212121;
+       text-decoration: none;
+}
+.ui-state-active,
+.ui-widget-content .ui-state-active,
+.ui-widget-header .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;
+}
+.ui-state-active a,
+.ui-state-active a:link,
+.ui-state-active a:visited {
+       color: #212121;
+       text-decoration: none;
+}
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight,
+.ui-widget-content .ui-state-highlight,
+.ui-widget-header .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,
+.ui-widget-header .ui-state-highlight a {
+       color: #363636;
+}
+.ui-state-error,
+.ui-widget-content .ui-state-error,
+.ui-widget-header .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,
+.ui-widget-header .ui-state-error a {
+       color: #cd0a0a;
+}
+.ui-state-error-text,
+.ui-widget-content .ui-state-error-text,
+.ui-widget-header .ui-state-error-text {
+       color: #cd0a0a;
+}
+.ui-priority-primary,
+.ui-widget-content .ui-priority-primary,
+.ui-widget-header .ui-priority-primary {
+       font-weight: bold;
+}
+.ui-priority-secondary,
+.ui-widget-content .ui-priority-secondary,
+.ui-widget-header .ui-priority-secondary {
+       opacity: .7;
+       filter:Alpha(Opacity=70);
+       font-weight: normal;
+}
+.ui-state-disabled,
+.ui-widget-content .ui-state-disabled,
+.ui-widget-header .ui-state-disabled {
+       opacity: .35;
+       filter:Alpha(Opacity=35);
+       background-image: none;
+}
+.ui-state-disabled .ui-icon {
+       filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
+}
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon {
+       width: 16px;
+       height: 16px;
+}
+.ui-icon,
+.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-blank { background-position: 16px 16px; }
+.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-on { background-position: -96px -144px; }
+.ui-icon-radio-off { 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-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.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-all,
+.ui-corner-top,
+.ui-corner-left,
+.ui-corner-tl {
+       border-top-left-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-right,
+.ui-corner-tr {
+       border-top-right-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-left,
+.ui-corner-bl {
+       border-bottom-left-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-right,
+.ui-corner-br {
+       border-bottom-right-radius: 4px;
+}
+
+/* Overlays */
+.ui-widget-overlay {
+       background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
+       opacity: .3;
+       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: .3;
+       filter: Alpha(Opacity=30);
+       border-radius: 8px;
+}
diff --git a/css/smoothness/jquery-ui-1.10.3.min.css b/css/smoothness/jquery-ui-1.10.3.min.css
new file mode 100644 (file)
index 0000000..f7efcac
--- /dev/null
@@ -0,0 +1,5 @@
+/*! jQuery UI - v1.10.3 - 2013-08-21
+* http://jqueryui.com
+* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.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:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;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:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;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}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.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{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 table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;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;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;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.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,.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%;font-size:0}.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,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:0}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:400}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url(images/animated-overlay.gif);height:100%;filter:alpha(opacity=25);opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.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;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.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}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:0;background:0;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:0;border-bottom:0;border-right:0}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size: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 #aaa;background:#fff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .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:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .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,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .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,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.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)}.ui-icon-blank{background-position:16px 16px}.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-on{background-position:-96px -144px}.ui-icon-radio-off{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-start{background-position:-80px -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}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px}
\ No newline at end of file
diff --git a/css/swpm-form-builder-admin.css b/css/swpm-form-builder-admin.css
new file mode 100644 (file)
index 0000000..a3f9bcb
--- /dev/null
@@ -0,0 +1,1705 @@
+/* VFB Pro call to action */
+.swpm-pro-call-to-action {
+    padding: 5px 0;
+    text-align: center;
+}
+
+.swpm-btn {
+    display: inline-block;
+    *display: inline;
+    /* IE7 inline-block hack */
+
+    *zoom: 1;
+    padding: 15px 10px;
+    margin-bottom: 0;
+    line-height: 20px;
+    text-align: center;
+    vertical-align: middle;
+    cursor: pointer;
+    color: #333333;
+    font-size: 21px;
+    font-weight: 500;
+    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+    background-color: #f5f5f5;
+    background-repeat: repeat-x;
+    border-color: #e6e6e6 #e6e6e6 #bfbfbf;
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+    *background-color: #e6e6e6;
+    /* Darken IE7 buttons by default so they stand out more given they won't have borders */
+
+    filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+    border: 1px solid #cccccc;
+    *border: 0;
+    border-bottom-color: #b3b3b3;
+    -webkit-border-radius: 6px;
+    -moz-border-radius: 6px;
+    border-radius: 6px;
+    *margin-left: .3em;
+    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
+    -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
+    box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
+    text-decoration: none;
+}
+
+.swpm-btn:hover,
+.swpm-btn:focus {
+    color: #333333;
+    text-decoration: none;
+    background-position: 0 -15px;
+    -webkit-transition: background-position 0.1s linear;
+    -moz-transition: background-position 0.1s linear;
+    -o-transition: background-position 0.1s linear;
+    transition: background-position 0.1s linear;
+}
+
+.swpm-btn:focus {
+    outline: thin dotted #333;
+    outline: 5px auto -webkit-focus-ring-color;
+    outline-offset: -2px;
+}
+
+.swpm-btn.active,
+.swpm-btn:active {
+    background-image: none;
+    outline: 0;
+    -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
+    -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
+    box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
+}
+
+
+.swpm-btn-primary.active {
+    color: rgba(255, 255, 255, 0.75);
+}
+
+.swpm-btn-primary {
+    color: #ffffff;
+    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+    background-color: #006dcc;
+    background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
+    background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
+    background-image: -o-linear-gradient(top, #0088cc, #0044cc);
+    background-image: linear-gradient(to bottom, #0088cc, #0044cc);
+    background-repeat: repeat-x;
+    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
+    border-color: #0044cc #0044cc #002a80;
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+    *background-color: #0044cc;
+    /* Darken IE7 buttons by default so they stand out more given they won't have borders */
+
+    filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+
+.swpm-btn-primary:hover,
+.swpm-btn-primary:focus,
+.swpm-btn-primary:active,
+.swpm-btn-primary.active,
+.swpm-btn-primary.disabled,
+.swpm-btn-primary[disabled] {
+    color: #ffffff;
+    background-color: #0044cc;
+    *background-color: #003bb3;
+}
+
+.swpm-btn-primary:active,
+.swpm-btn-primary.active {
+    background-color: #003399 \9;
+}
+
+.swpm-btn-inverse {
+    background-color: #363636;
+    background-repeat: repeat-x;
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+    color: #FFFFFF;
+    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+
+.swpm-btn-inverse:hover,
+.swpm-btn-inverse:focus,
+.swpm-btn-inverse:active,
+.swpm-btn-inverse.active,
+.swpm-btn-inverse.disabled,
+.swpm-btn-inverse[disabled] {
+    background-color: #222222;
+    color: #FFFFFF;
+}
+
+.swpm-pro-call-to-action .cta-sign-up {
+    color: #fff;
+    display: block;
+    font-size: 24px;
+    font-weight: bold;
+    text-align: center;
+    text-decoration: none;
+    text-shadow: 1px 1px 1px #2b658c;
+    width: 100%;
+    line-height: 22px;
+}
+
+.swpm-pro-call-to-action .cta-price {
+    color: #ace7ff;
+    display: block;
+    font-size: 12px;
+    font-weight: normal;
+    line-height: 20px;
+    text-align: center;
+    text-decoration: none;
+    width: 100%;
+    line-height: 20px;
+}
+
+.swpm-pro-upgrade {
+    display: inline;
+    float: left;
+    padding: 10px;
+    margin-bottom: 20px;
+    background-color: #d3e7ee;
+    border: 1px solid #21759b;
+    border-radius: 5px;
+}
+
+.rtl .swpm-pro-upgrade {
+    float: right;
+}
+
+.swpm-pro-upgrade h2,
+.wrap .swpm-pro-upgrade h2 {
+    font-size: 23px;
+    font-weight: 500;
+    padding: 5px 0;
+    text-align: center;
+}
+
+.swpm-pro-upgrade h2 a {
+    text-decoration: none;
+}
+
+.swpm-pro-upgrade ul {
+    list-style: outside;
+    margin-left: 10px;
+}
+
+.rtl .swpm-pro-upgrade ul {
+    margin-left: 0;
+    margin-right: 10px;
+}
+
+/* !Form View framework */
+#swpm-form-builder-frame{
+    display:block;
+    margin: 0 -8px 0 290px;
+}
+
+.rtl #swpm-form-builder-frame {
+    margin: 0 290px 0 -8px;
+}
+
+#swpm-form-builder-frame:after,
+#form-editor-header .swpm-major-publishing-actions:after,
+#form-editor-footer .swpm-major-publishing-actions:after,
+#swpm-form-builder-frame .menu-item-settings:after,
+#swpm-form-list:after,
+.option:after{
+    display: block;
+    visibility: hidden;
+    clear:both;
+    height: 0;
+    content: ".";
+}
+
+#swpm-form-builder-sidebar{
+    clear:both;
+    width:281px;
+}
+
+#swpm-form-builder-management{
+    position: relative;
+    margin-right: 10px;
+}
+
+.rtl #swpm-form-builder-management {
+    margin-right: 0;
+    margin-left: 10px;
+}
+
+#swpm-form-builder-management .form-edit{
+    margin-bottom: 20px;
+    border: 1px solid #dfdfdf;
+    border-radius: 3px;
+}
+
+/* Blue Admin style */
+.admin-color-classic #swpm-form-builder-management .form-edit {
+    border-color: #D0DFE9;
+}
+
+/* !Form Editor Header/Footer */
+#form-editor-header,
+#form-editor-footer{
+    padding: 0 10px;
+    background-color: #f1f1f1;
+}
+
+#form-editor-footer{
+    border-top:1px solid #dfdfdf;
+}
+
+/* Blue Admin style */
+.admin-color-classic #form-editor-header,
+.admin-color-classic #form-editor-footer {
+    background-color: #F5FAFD;
+}
+
+.admin-color-class #form-editor-footer {
+    border-top-color: #D0DFE9;
+}
+
+.swpm-major-publishing-actions{
+    clear:both;
+    padding:3px 0 5px;
+}
+
+.swpm-major-publishing-actions .publishing-action{
+    float:right;
+    margin: 5px 0 1px;
+    text-align: right;
+    line-height: 23px;
+}
+
+#form-editor-header .publishing-action{
+    margin-top:12px;
+}
+
+/* !Subnavigation links */
+.sub-navigation{
+    float:none;
+    margin:8px 0 5px;
+    padding:0;
+    list-style: none;
+    white-space: nowrap;
+    font-size: 12px;
+}
+
+.sub-navigation li{
+    display: inline;
+    margin:0;
+    padding:0;
+}
+
+.sub-navigation a{
+    padding:0.2em;
+    text-decoration: none;
+    line-height: 2;
+}
+
+.sub-navigation a.current{
+    border:medium none;
+    background:none;
+    color: black;
+    font-weight: bold;
+}
+
+.sub-navigation a:hover{
+    color:rgb(213,78,33);
+}
+
+/* Form Box view */
+#swpm-sidebar,
+#swpm-main{
+    float: left;
+    margin: 10px 0;
+    width: 280px;
+}
+
+.rtl #swpm-sidebar,
+.rtl #swpm-main {
+    float: right;
+}
+
+#swpm-main{
+    width:auto;
+}
+#swpm-main.swpm-order-type-list{
+    width: 100%;
+}
+
+#swpm-main p a,
+#swpm-main h3 a{
+    text-decoration: none;
+}
+
+#swpm-main .submitdelete{
+    color: #BC0B0B;
+    text-decoration: none;
+}
+#swpm-main .submitdelete:hover{
+    color:red;
+}
+
+#swpm-sidebar{
+    margin-left: -300px;
+}
+
+.rtl #swpm-sidebar {
+    margin-left: 0;
+    margin-right: -300px;
+}
+
+#swpm-form-list{
+    display: block;
+    /*margin-left: 300px;*/
+}
+
+.rtl #swpm-form-list {
+    margin-left: 0;
+    margin-right: 300px;
+}
+
+/* !Form Boxes */
+.swpm-box{
+    position:relative;
+    float:left;
+    padding:0 10px;
+    border: 1px solid #DFDFDF;
+    border-radius: 3px 3px 3px 3px;
+    background-color: #F5F5F5;
+    background: -moz-linear-gradient(top,  #ffffff 0%, #f5f5f5 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#f5f5f5));
+    background: -webkit-linear-gradient(top,  #ffffff 0%,#f5f5f5 100%);
+    background: -o-linear-gradient(top,  #ffffff 0%,#f5f5f5 100%);
+    background: -ms-linear-gradient(top,  #ffffff 0%,#f5f5f5 100%);
+    background: linear-gradient(to bottom,  #ffffff 0%,#f5f5f5 100%);
+    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f5f5f5',GradientType=0 );
+    box-shadow: 0 1px 0 #FFFFFF inset;
+    line-height: 1.4em;
+}
+
+.swpm-form-alpha-list{
+    width: 70%;
+    float: left;
+    padding-right:20px;
+}
+
+.rtl .swpm-form-alpha-list {
+    float: right;
+    padding-right: 0;
+    padding-left: 20px;
+}
+
+.swpm-form-alpha-list hr{
+    display:block;
+    margin:1em 0;
+    padding:0;
+    height:1px;
+    border:0;
+    border-top:1px solid #ccc;
+}
+
+.swpm-form-alpha-group .letter,
+.wrap h2.letter{
+    float:left;
+    padding:0;
+    color:#666;
+    font-size:14px;
+    line-height: 17px;
+}
+
+.swpm-form-alpha-form{
+    display: block;
+    margin:10px 0;
+    padding-left:150px;
+    width:auto;
+}
+.swpm-form-alpha-form h3{
+    float:left;
+    margin: 0;
+    width:50%;
+    word-wrap: break-word;
+    font-size:17px;
+}
+
+.swpm-form-alpha-form .swpm-publishing-actions,
+.swpm-form-alpha-form .swpm-form-meta{
+    float:left;
+    width:20%;
+    text-align: center;
+}
+
+.swpm-form-alpha-form .swpm-form-meta{
+    width: 30%;
+}
+
+.swpm-form-alpha-form .swpm-publishing-actions p,
+.swpm-form-alpha-form .swpm-form-meta p{
+    margin:0;
+}
+
+.swpm-form-alpha-form .swpm-form-meta,
+.swpm-form-alpha-form .paypal{
+    float:left;
+    margin:0;
+    text-align: left;
+}
+
+.rtl .swpm-form-alpha-form .swpm-form-meta,
+.rtl .swpm-form-alpha-form .paypal {
+    float: right;
+    text-align: right;
+}
+
+.swpm-sortable-placeholder{
+    display:block;
+    height:35px;
+    width:400px;
+    margin:8px;
+    border:1px dashed #bbb;
+    background-color:#f5f5f5;
+}
+
+#swpm-main .swpm-sortable-placeholder{
+    float:left;
+    margin:8px;
+    height:200px;
+    width:210px;
+}
+
+.rtl #swpm-main .swpm-sortable-placeholder {
+    float: right;
+}
+
+#swpm-menu-to-edit .mjs-nestedSortable-error{
+    border-color:red;
+    background-color:#fbe3e4;
+    color:#8a1f11;
+}
+.swpm-meta-entries-total span,
+.swpm-meta-entries-total-today span{
+    font-size: 11px;
+    font-weight: bold;
+    height: 1.4em;
+    line-height: 1.4em;
+    min-width: .7em;
+    padding: 0 6px;
+    display: inline-block;
+    border-radius: 5px;
+    background-color: #bbb;
+    color: white;
+    text-align: center;
+}
+
+.swpm-meta-entries-total:hover span,
+.swpm-meta-entries-total-today:hover span{
+    background-color: #d54e21;
+}
+.fixed .column-entries,
+.fixed .column-form_id {
+    width: 8em;
+}
+
+strong .swpm-meta-entries-total span {
+    background-color: #21759B;
+}
+
+.entries-count-wrapper {
+    font-family: sans-serif;
+    min-width: 22px;
+    padding-bottom: 1px;
+}
+
+/* !New Form box */
+#new-form{
+    margin:8px 0;
+    padding-top:10px;
+    width:75px;
+    height:105px;
+    text-align: center;
+}
+#new-form a{
+    display:block;
+    width:auto;
+    text-decoration: none;
+}
+
+#post-body{
+    padding: 10px;
+    background: white;
+}
+
+/* !Form Editor columns */
+.swpm-postbox-container{
+    float:left;
+    margin:0 8px;
+    width:100%;
+}
+
+.rtl .swpm-postbox-container {
+    float: right;
+}
+
+#swpm-postbox-container-1 .postbox{
+    min-width:281px;
+}
+
+#swpm-postbox-container-2{
+    min-width: 485px;
+}
+
+#swpm-form-builder-frame.columns-1{
+    margin-left:-8px;
+}
+
+.rtl #swpm-form-builder-frame.columns-1 {
+    margin-left: 0;
+    margin-right: -8px;
+}
+
+#swpm-form-builder-frame.columns-1 #swpm-postbox-container-1{
+    float:none;
+}
+
+#swpm-form-builder-frame.columns-1 #swpm-postbox-container-2{
+    width:99%;
+}
+
+#swpm-form-builder-frame.columns-2 #swpm-postbox-container-3{
+    display:none;
+}
+
+#swpm-form-builder-frame.columns-2 #swpm-postbox-container-1,
+#swpm-form-builder-frame.columns-3 #swpm-postbox-container-1{
+    margin-left:-290px;
+    width:281px;
+}
+
+.rtl #swpm-form-builder-frame.columns-2 #swpm-postbox-container-1,
+.rtl #swpm-form-builder-frame.columns-3 #swpm-postbox-container-1{
+    margin-left: 0;
+    margin-right: -290px;
+}
+
+#swpm-form-builder-frame.columns-3 #swpm-form-builder-management{
+    margin-right: 0;
+}
+
+#swpm-form-builder-frame.columns-3 #swpm-postbox-container-2{
+    width:30%;
+}
+
+#swpm-form-builder-frame.columns-3 #swpm-postbox-container-3{
+    display:inline;
+    margin-right:0;
+    width:46.5%;
+}
+
+.rtl #swpm-form-builder-frame.columns-3 #swpm-postbox-container-3{
+    margin-right: 0;
+    margin-left: 0;
+}
+
+#swpm-form-meta-preview iframe{
+    width:100%;
+    height: 100%;
+}
+
+#swpm_form_media_button_tip input {
+    width: 100%;
+    border: 0;
+    padding: 6px;
+    font-family: Consolas, Monaco, monospace;
+    font-size: 12px;
+}
+
+/* !Form Editor Columns - One Column */
+@media only screen and (max-width: 799px) {
+    #swpm-form-builder-frame .swpm-postbox-container {
+        width: 100%;
+    }
+    .columns-prefs .columns-prefs-3{
+        display: none;
+    }
+}
+
+/* !Form Editor Columns - Two Columns */
+@media only screen and (min-width: 800px) and (max-width: 1200px) {
+    #swpm-form-builder-frame .swpm-postbox-container {
+        width: 49.5%;
+    }
+
+    #swpm-form-builder-frame.columns-3 #swpm-postbox-container-2,
+    #swpm-form-builder-frame.columns-3 #swpm-postbox-container-3{
+        width: 50.5%;
+    }
+
+    #swpm-form-builder-frame.columns-1 .swpm-postbox-container {
+        width: 100%;
+    }
+}
+/* !Form Editor Columns - Three Columns */
+@media only screen and (min-width: 1600px) {
+    #swpm-form-builder-frame.columns-3 #swpm-postbox-container-3{
+        width: 58%;
+    }
+}
+
+/* !Field Item arrows */
+.item-edit {
+    position: absolute;
+    top: 3px;
+    right: -20px;
+    display: block;
+    overflow: hidden;
+    width:30px;
+    height: 40px;
+    background:url('../images/arrows.png?d=20130703') no-repeat scroll 8px 10px transparent;
+    text-indent:-999em;
+}
+
+/* Blue Admin style */
+.admin-color-classic .item-edit {
+    background: url('../images/arrows-vs.png?d=20130703') no-repeat scroll 8px 10px transparent;
+}
+
+.rtl .item-edit {
+    right: auto;
+    left: -20px;
+}
+
+.item-edit:hover{
+    background:url('../images/arrows-dark.png?d=20130703') no-repeat scroll 8px 10px transparent;
+}
+
+/* Blue Admin style */
+.admin-color-classic .item-edit:hover {
+    background: url('../images/arrows-dark-vs.png?d=20130703') no-repeat scroll 8px 10px transparent;
+}
+
+.item-edit.opened{
+    background:url('../images/arrows.png?d=20130703') no-repeat scroll 8px -25px transparent;
+}
+
+/* Blue Admin style */
+.admin-color-classic .item-edit.opened {
+    background: url('../images/arrows-vs.png?d=20130703') no-repeat scroll 8px -25px transparent;
+}
+
+.item-edit.opened:hover{
+    background:url('../images/arrows-dark.png?d=20130703') no-repeat scroll 8px -25px transparent;
+}
+
+/* Blue Admin style */
+.admin-color-classic .item-edit.opened:hover {
+    background: url('../images/arrows-dark-vs.png?d=20130703') no-repeat scroll 8px -25px transparent;
+}
+
+/* !Field Item attribute input styles */
+.option .widefat,
+.options-other-show .widefat,
+.options-other-hide .widefat {
+    margin: 0 6px 7px 0;
+    width: 320px;
+}
+
+.rtl .option .widefat,
+.rtl .options-other-show .widefat,
+.rtl .options-other-hide .widefat {
+    margin: 0 0 7px 6px;
+}
+
+#form-settings .description-thin{
+    margin:12px 10px 12px 0;
+}
+
+.rtl #form-settings .description-thin {
+    margin: 12px 0 12px 10px;
+}
+
+.description-thin,
+.description-wide {
+    float: left;
+    margin-right: 10px;
+}
+
+.rtl .description-thin,
+.rtl .description-wide {
+    float: right;
+    margin-right: 0;
+    margin-left: 10px;
+}
+
+.description-thin {
+    width: 190px;
+    height: 40px;
+}
+
+.description-wide {
+    width: 390px;
+}
+
+/* Interface icons */
+.swpm-interface-icon {
+    position: absolute;
+    top: 4px;
+    right: 4px;
+    display: inline-block;
+    width: 16px;
+    height: 16px;
+    background-color: transparent;
+    background-image: url('../images/swpm-interface-icons.png?d=20130713');
+    background-repeat: no-repeat;
+    text-indent: -9999px;
+}
+
+.swpm-interface-settings {             background-position: -32px 0;}
+.swpm-interface-duplicate {            background-position: 0 0;}
+.swpm-interface-trash {                        background-position: -64px 0;}
+.swpm-interface-conditional {  background-position: -224px 0;}
+.swpm-interface-sort {                 background-position: -128px 0;}
+.swpm-interface-plus {                         background-position: -160px 0;}
+.swpm-interface-minus {                        background-position: -192px 0;}
+.swpm-interface-bulk-add {             background-position: -96px 0;}
+
+.swpm-interface-plus,
+.swpm-interface-minus {
+    top: 0;
+}
+
+/* Form Settings add/delete emails */
+.addEmail,
+.deleteEmail {
+    top: 28px;
+}
+.addEmail {
+    right: 55px;
+}
+
+.rtl .addEmail {
+    right: auto;
+    left: 55px;
+}
+
+.deleteEmail {
+    right: 30px;
+}
+
+.rtl .deleteEmail {
+    right: auto;
+    left: 30px;
+}
+
+/* Form item delete/sort options */
+.deleteOption,
+.swpm-interface-sort,
+.addCondition,
+.deleteCondition {
+    top: 3px;
+}
+
+.deleteOption,
+.addCondition {
+    right: 25px;
+}
+
+.rtl .deleteOption,
+.rtl .addCondition {
+    right: auto;
+    left: 25px;
+}
+
+.swpm-interface-sort,
+.deleteCondition {
+    right: 0;
+}
+
+.rtl .swpm-interface-sort,
+.rtl .deleteCondition {
+    right: auto;
+    left: 0;
+}
+
+.swpm-interface-sort:hover {
+    cursor: pointer;
+}
+
+.option {
+    float: left;
+    width: 97%;
+    position: relative;
+}
+
+.rtl .option {
+    float: right;
+}
+
+#swpm-poststuff{
+    display:block;
+    margin-right:300px;
+}
+
+.rtl #swpm-poststuff {
+    margin-right: 0;
+    margin-left: 300px;
+}
+
+#swpm-entries-body-content{
+    float:left;
+    width:100%;
+}
+
+.rtl #swpm-entries-body-content {
+    float: right;
+}
+
+.metabox-holder #swpm-entries-body-content h3{
+    font-weight: bold;
+    font-family: sans-serif;
+}
+
+#entry-edit #side-info-column{
+    margin-right:-300px;
+}
+
+.rtl #entry-edit #side-info-column {
+    margin-right: 0;
+    margin-left: -300px;
+}
+
+label.error{
+    display:block;
+    color:red;
+}
+
+#visual-form-builder-update input.error,
+#visual-form-builder-update textarea.error,
+#visual-form-builder-update select.error{
+    border:1px solid red;
+}
+
+#swpm-menu-to-edit .menu-item-settings {
+    width: 402px;
+}
+
+.swpm-menu-item-handle {
+    background: white;
+    border: 1px solid #DFDFDF;
+    border-radius: 3px;
+    height: auto;
+    line-height: 35px;
+    overflow: hidden;
+    padding: 10px 15px;
+    position: relative;
+    text-shadow: 0 1px 0 #FFFFFF;
+    width: 382px;
+    word-wrap: break-word;
+    cursor: move;
+}
+
+.swpm-menu-item-handle:hover {
+    border-color: #999;
+}
+
+/* Blue Admin style */
+.admin-color-classic .swpm-menu-item-handle {
+    background: #F5FAFD;
+    box-shadow: 0 1px 0 #FFFFFF inset;
+    border-color: #D0DFE9;
+}
+
+.rtl .swpm-menu-item-handle {
+    padding-left: 0;
+    padding-right: 10px;
+}
+
+.swpm-menu-item-type-fieldset,
+.swpm-menu-item-type-verification,
+#form-element-fieldset {
+    background: #e3e3e3;
+    box-shadow:0 1px 0 #e3e3e3 inset;
+}
+
+/* Blue Admin style */
+.admin-color-classic .swpm-menu-item-type-fieldset,
+.admin-color-classic .swpm-menu-item-type-verification,
+.admin-color-classic #form-element-fieldset {
+    background: #e2f3ff;
+    box-shadow: 0 1px 0 #FFFFFF inset;
+}
+
+.swpm-menu-item-handle .item-title {
+    min-height: 20px;
+    display: block;
+    font-size: 12px;
+    font-weight: bold;
+    line-height: 20px;
+    margin-right: 13em;
+}
+
+.rtl .swpm-menu-item-handle .item-title {
+    margin-right: 0;
+    margin-left: 13em;
+}
+
+.swpm-menu-item-active .swpm-menu-item-handle {
+    border-bottom-left-radius: 0;
+    border-bottom-right-radius: 0;
+}
+
+.sender-labels{
+    width:80px;
+}
+
+.is-field-required{
+    color:#BC1212;
+}
+
+#form-details-nav{
+    padding-top:10px;
+    font-size:1.0em;
+}
+#form-details-nav a,
+.charts-nav a{
+    padding:5px 10px;
+    text-decoration:none;
+    font-weight:bold;
+}
+
+#form-details-nav a.current,
+.charts-nav a.current{
+    height:40px;
+    border-color: #dfdfdf;
+    border-radius:5px;
+    background-color:#777;
+    background-image: -ms-linear-gradient(bottom, #6d6d6d, #808080);
+    background-image: -moz-linear-gradient(bottom, #6d6d6d, #808080);
+    background-image: -o-linear-gradient(bottom, #6d6d6d, #808080);
+    background-image: -webkit-gradient(linear, left bottom, left top, from(#6d6d6d), to(#808080));
+    background-image: -webkit-linear-gradient(bottom, #6d6d6d, #808080);
+    background-image: linear-gradient(bottom, #6d6d6d, #808080);
+    color:white;
+    text-shadow:0 -1px 0 #333333;
+}
+
+/* !Form Settings - Confirmation */
+.form-details,
+#form-success-message-text,
+#form-success-message-page,
+#form-success-message-redirect{
+    display:none;
+}
+
+.form-details-current, .active{
+    display:block;
+}
+
+#confirmation-message textarea,
+#notification textarea{
+    width:100%;
+    height:10em;
+    font-family:Consolas,Monaco,monospace;
+}
+
+#form-success-message-page,
+#form-success-message-redirect{
+    margin-top:10px;
+    width:100%;
+}
+
+.post-body-plain ol li{
+    list-style:decimal;
+}
+
+#swpm-upgrade-column {
+    display: inline;
+    float: left;
+    width: auto;
+}
+
+.rtl #swpm-upgrade-column {
+    float: right;
+}
+
+ul#promote-swpm {
+    margin-left: 20px;
+    list-style: disc;
+}
+
+.rtl ul#promote-swpm {
+    margin-left: auto;
+    margin-right: 20px;
+}
+
+#promote-swpm li {
+    text-align: left;
+}
+
+.rtl #promote-swpm li {
+    text-align: right;
+}
+
+.menu .ui-nestedSortable-error {
+    background-color: #fbe3e4;
+    border-color: red;
+    color: #8a1f11;
+}
+
+ul#swpm-menu-to-edit ul{
+    margin: 0 0 0 25px;
+    padding: 0;
+    width:98%;
+    list-style-type: none;
+}
+#swpm-menu-to-edit{
+    margin-top:0;
+    padding:1em 0;
+}
+
+#swpm-fieldset-first-warning{
+    display: none;
+}
+
+.ui-state-disabled,
+.ui-state-disabled dl,
+.ui-state-disabled dt,
+.form-item.ui-state-disabled {
+    opacity: 100;
+    filter: alpha(Opacity=100);
+    background-image: none;
+}
+
+.ui-state-disabled .swpm-menu-item-handle,
+.ui-state-disabled .menu-item-handle {
+    background: #dfdfdf;
+    box-shadow: none;
+    cursor: default;
+}
+
+.swpm-details{
+    margin-bottom:10px;
+    padding:0 10px;
+    border:1px solid #ccc;
+    border-radius:3px;
+}
+
+.swpm-details.section{
+    width:97.55%;
+    background-color:#efefef;
+}
+
+.swpm-details .postbox{
+    min-height:60px;
+}
+
+#poststuff .swpm-details h2{
+    margin-top:0;
+}
+
+#poststuff h3.section-heading{
+    padding-left:0;
+}
+
+/* !Form Items */
+#form-items .tabs-panel{
+    overflow: visible;
+    padding: 0.5em 0 0.5em 4px;
+    min-height: 325px;
+    height: auto;
+}
+
+.rtl #form-items .tabs-panel {
+    padding: 0.5em 4px 0.5em 0;
+}
+
+ul.swpm-fields-col-1,
+ul.swpm-fields-col-2{
+    float:left;
+    width:50%;
+    list-style: none;
+}
+
+.rtl ul.swpm-fields-col-1,
+.rtl ul.swpm-fields-col-2 {
+    float: right;
+}
+
+#swpm-form-builder-frame.columns-1 #swpm-postbox-container-1 #form-items .tabs-panel{
+    height:auto;
+}
+
+.swpm-draggable-form-items{
+    position: relative;
+    position: relative;
+    display: block;
+    margin-right: 8px;
+    padding:4px 0 4px 34px;
+    border:1px solid #bbb;
+    border-radius: 3px;
+    color:#464646;
+    text-align: left;
+    text-decoration: none;
+    font-size: 12px;
+}
+
+.rtl .swpm-draggable-form-items {
+    margin-right: 0;
+    margin-left: 8px;
+    padding: 4px 34px 4px 10px;
+}
+
+.swpm-draggable-form-items:hover{
+    border-color:#aaaaaa;
+}
+
+.swpm-draggable-form-items b{
+    position: absolute;
+    left:8px;
+    display: inline-block;
+    width:16px;
+    height:16px;
+    background-color: transparent;
+    background-image: url('../images/swpm-form-items.png?d=20130712');
+    background-repeat: no-repeat;
+    line-height: 16px;
+}
+
+.rtl .swpm-draggable-form-items b {
+    left: auto;
+    right: 8px;
+}
+
+#form-element-address b{               background-position: -128px 0;}
+#form-element-autocomplete b{  background-position: -384px 0;}
+#form-element-checkbox b{              background-position: -672px 0;}
+#form-element-color b{                 background-position: 0 0;}
+#form-element-currency b{              background-position: -64px 0;}
+#form-element-datepicker b{            background-position: -224px 0;}
+#form-element-digits b{                        background-position: -832px 0;}
+#form-element-email b{                 background-position: -160px 0;}
+#form-element-file b{                  background-position: -512px 0;}
+#form-element-hidden b{                        background-position: -544px 0;}
+#form-element-html b{                  background-position: -800px 0;}
+#form-element-instructions b{  background-position: -256px 0;}
+#form-element-ip b{                            background-position: -448px 0;}
+#form-element-max b{                   background-position: -576px 0;}
+#form-element-min b{                   background-position: -608px 0;}
+#form-element-name b{                  background-position: -320px 0;}
+#form-element-pagebreak b{             background-position: -768px 0;}
+#form-element-password b{              background-position: -352px 0;}
+#form-element-phone b{                 background-position: -96px 0;}
+#form-element-radio b{                 background-position: -704px 0;}
+#form-element-range b{                 background-position: -640px 0;}
+#form-element-select b{                        background-position: -416px 0;}
+#form-element-text b{                  background-position: -736px 0;}
+#form-element-textarea b{              background-position: -32px 0;}
+#form-element-time b{                  background-position: -192px 0;}
+#form-element-username b{              background-position: -288px 0;}
+#form-element-url b{                   background-position: -480px 0;}
+
+.static-vars-inactive{
+    display:none;
+}
+
+.static-vars-active{
+    display:block;
+}
+
+/* !Form Settings buttons */
+.swpm-button {
+    position: relative;
+    display: inline-block;
+    overflow: visible;
+    margin: 0;
+    padding:0.5em 2.5em 0.5em 1em;
+    outline: none;
+    border: 1px solid #d4d4d4;
+    border-radius: 0.2em;
+    background-color: #f5f5f5;
+    color: #333;
+    text-decoration: none;
+    white-space: nowrap;
+    font:12px/normal sans-serif;
+    cursor: pointer;
+    zoom: 1;
+    -webkit-background-clip: padding;
+    -moz-background-clip: padding;
+    -o-background-clip: padding-box;
+    *display: inline;
+}
+
+.swpm-button:hover,
+.swpm-button:active,
+.swpm-button.current {
+    border-color: #929292;
+    border-bottom-color: #929292;
+    background-color: #eeeeee;
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#cccccc));
+    background-image: -moz-linear-gradient(#eeeeee, #cccccc);
+    background-image: -o-linear-gradient(#eeeeee, #cccccc);
+    background-image: linear-gradient(#eeeeee, #cccccc);
+    color: #000;
+}
+
+.swpm-button.current{
+    font-weight:bold;
+}
+
+.swpm-button::-moz-focus-inner {
+    padding: 0;
+    border: 0;
+}
+
+.swpm-button.swpm-settings:hover,
+.swpm-button.swpm-settings:focus,
+.swpm-button.swpm-settings:active {
+    color: #3072b3;
+}
+
+.swpm-button.swpm-delete:hover,
+.swpm-button.swpm-delete:focus,
+.swpm-button.swpm-delete:active {
+    color: #900;
+}
+
+.swpm-button.swpm-duplicate:hover,
+.swpm-button.swpm-duplicate:focus,
+.swpm-button.swpm-duplicate:active {
+    color: #008e0d;
+}
+
+.swpm-button.swpm-conditional-fields:hover,
+.swpm-button.swpm-conditional-fields:focus,
+.swpm-button.swpm-conditional-fields:active {
+
+}
+
+.swpm-button-group{
+    display:inline-block;
+    margin: 10px 0;
+    list-style:none;
+}
+
+.rtl .swpm-button-group {
+    margin-left: -2px;
+}
+
+.swpm-button-group .swpm-button{
+    float:left;
+    margin-right: 5px;
+}
+
+.rtl .swpm-button-group .swpm-button {
+    float: right;
+    margin-right: 0;
+    margin-left: 5px;
+}
+
+.swpm-button-group .button-primary {
+    margin-top: 2px;
+}
+
+.swpm-item-actions{
+    margin-right: 10px;
+    margin-bottom: 10px;
+    text-align: center;
+}
+
+.rtl .swpm-item-actions {
+    margin-right: 0;
+    margin-left: 10px;
+}
+
+.swpm-item-actions .swpm-delete{
+    float:left;
+}
+
+.rtl .swpm-item-actions .swpm-delete {
+    float: right;
+}
+
+.swpm-item-actions .swpm-conditional-fields{
+    float:right;
+}
+
+.rtl .swpm-item-actions .swpm-conditional-fields {
+    float: left;
+}
+
+.swpm-item-actions .swpm-delete,
+.swpm-item-actions .swpm-duplicate,
+.swpm-item-actions .swpm-conditional-fields{
+    margin-top: 10px;
+}
+
+#form-settings{
+    display:none;
+    width: 100%;
+    max-width: 460px;
+    margin-bottom: 15px;
+    border-bottom: 1px solid #D6D6D6;
+}
+
+#form-settings.current{
+    display:block;
+}
+
+.form-details{
+    padding:20px;
+    background: rgb( 255, 255, 255 );
+    background: rgba(255, 255, 255, 0.5);
+    border-left: 1px solid #D6D6D6;
+    border-right: 1px solid #D6D6D6;
+}
+
+.form-details.on{
+    display:block;
+}
+
+.settings-links{
+    position: relative;
+    z-index: 1;
+    display: block;
+    padding: 5px 15px;
+    height: 25px;
+    background: #f5f5f5;
+    border-top: 1px solid #cccccc;
+    border-left: 1px solid #cccccc;
+    border-right: 1px solid #cccccc;
+    color: #333333;
+    text-decoration:none;
+    text-transform:uppercase;
+    text-shadow: 0 1px 0 #FFFFFF;
+    font-weight: normal;
+    font-size: 15px;
+    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+    line-height: 25px;
+    cursor: pointer;
+}
+
+.settings-links .swpm-large-arrow{
+    position: absolute;
+    top: 16px;
+    right: 25px;
+    width: 5px;
+    height: 0;
+    z-index: 1;
+}
+
+.settings-links .swpm-large-arrow:after {
+    content: '';
+    width: 0;
+    height: 0;
+    border-color: #ccc transparent;
+    border-style: solid;
+    border-width: 6px 6px 0;
+    position: absolute;
+    z-index: 1;
+}
+
+.rtl .settings-links .swpm-large-arrow {
+    right: auto;
+    left: 13px;
+}
+
+.settings-links.on {
+    border-bottom: 1px solid #808080;
+}
+
+.settings-links:hover,
+.settings-links.on {
+    background: #808080;
+    color: #ffffff;
+    text-shadow: 0 -1px 0 #333333;
+}
+
+.settings-links:first-child {
+    border-top-left-radius: 3px;
+    border-top-right-radius: 3px;
+}
+
+/* !Help tooltip popups */
+.swpm-tooltip{
+    position: relative;
+    float: right;
+    margin-right: 2px;
+    width: 16px;
+    height: 16px;
+    cursor: pointer;
+}
+
+.rtl .swpm-tooltip {
+    float: left;
+    margin-right: 0;
+    margin-left: 2px;
+}
+
+.swpm-tooltip-popup {
+    position: absolute;
+    top: -40px;
+    z-index: 200;
+    display: none;
+    padding: 5px 20px;
+    width: 250px;
+    border: 2px solid #333;
+    border-radius: 5px;
+    background: #222;
+    box-shadow: 0 0 7px black;
+    color: white;
+    text-indent: 0;
+    font-style: normal;
+}
+
+.swpm-tooltip-popup h3,
+.swpm-tooltip .swpm-tooltip-popup h3{
+    margin: 5px 0;
+    padding: 0 0 6px 0;
+    border-bottom: 1px solid white;
+    color: white;
+    font-weight: normal;
+    font-size: 13px;
+    font-family: sans-serif;
+}
+
+.swpm-tooltip-popup p{
+    margin-top:1 0px;
+    color: white;
+    font-size: 12px;
+}
+
+/* !Bulk Add Options */
+.swpm-add-options-group {
+    display: inline-block;
+    margin: 10px 0;
+    list-style: none;
+    text-align: center;
+    width: 95%;
+}
+
+.swpm-add-options-group .swpm-interface-plus {
+    top: 4px;
+}
+
+/* !Import/Export */
+.swpm-export-label {
+    width: 10em;
+    float: left;
+}
+
+.rtl .swpm-export-label {
+    float: right;
+}
+
+#swpm-export-entries-fields {
+    height:275px;
+    width:300px;
+    overflow: auto;
+    display: block;
+    border:1px solid #e8e8e8;
+    border-radius: 3px;
+    margin-left: 10em;
+    padding: 5px;
+    background: white;
+}
+
+#swpm-export-select-all,
+#swpm-export-unselect-all {
+    width: 150px;
+    display: inline-block;
+    text-align: left;
+}
+
+#swpm-export-unselect-all {
+    text-align: right;
+    margin-left: 5px;
+}
+
+
+@media print {
+    body * {
+        float: none;
+    }
+
+    html,
+    .wrap,
+    #wpbody-content,
+    #swpm-poststuff {
+        background: none !important;
+        padding: 0;
+        margin: 0;
+        height: auto;
+    }
+
+    #wpadminbar,
+    #adminmenuwrap,
+    #adminmenushadow,
+    #adminmenuback,
+    .screen-reader-shortcut,
+    #screen-meta,
+    #screen-meta-links,
+    #wpfooter,
+    #icon-options-general,
+    .wrap h2,
+    .view-entry,
+    #major-publishing-actions,
+    .clear {
+        display: none;
+    }
+
+    #wpcontent,
+    body #wpcontent {
+        margin-left: 0;
+        width: auto;
+        height: auto;
+    }
+
+    #entry-edit h3 span {
+        font-size: 23px;
+        font-weight: normal;
+    }
+
+    #swpm-poststuff {
+        page-break-after: auto;
+    }
+
+    #swpm-entries-body-content {
+        width: 100%;
+        height: auto;
+        margin: 0 0 50px 0;
+        padding: 0;
+    }
+
+    #side-info-column{
+        width: 100%;
+        height: auto;
+        float: none;
+    }
+
+    #side-info-column .postbox .inside {
+        margin: 0;
+        padding: 0;
+    }
+
+    #minor-publishing,
+    .misc-pub-section,
+    #submitdiv,
+    #submitdiv h3 {
+        background: none !important;
+        border: none;
+        margin: 0;
+    }
+
+    #submitdiv h3 span {
+        font-family: sans-serif;
+        font-size: 16px;
+    }
+
+    .inner-sidebar #side-sortables,
+    .columns-2 .inner-sidebar #side-sortables {
+        margin: 0;
+        padding: 0;
+        width: auto;
+    }
+
+    table {
+        page-break-inside: auto;
+    }
+
+    tr textarea {
+        overflow: visible;
+    }
+}
+
+/* !HiDPI Displays */
+@media print,
+(-o-min-device-pixel-ratio: 5/4),
+(-webkit-min-device-pixel-ratio: 1.25),
+(min-resolution: 120dpi) {
+
+    /* Interface icons */
+    .swpm-interface-icon {
+        top: 5px;
+        background-image: url( '../images/swpm-interface-icons-2x.png?d=20130712' );
+        background-size: cover;
+    }
+
+    /* Form items */
+    .swpm-draggable-form-items b {
+        background-image: url( '../images/swpm-form-items-2x.png?d=20130712' );
+        background-size: cover;
+    }
+
+    .swpm-add-options-group .swpm-interface-plus {
+        top: 5px;
+    }
+
+    .addEmail,
+    .deleteEmail {
+        top: 28px;
+    }
+
+    /* Field Item arrows */
+    .item-edit {
+        background-image: url('../images/arrows-2x.png?d=20130611');
+        background-size: 15px 123px;
+    }
+
+    /* Blue Admin style */
+    .admin-color-classic .item-edit {
+        background-image: url('../images/arrows-vs-2x.png?d=20130611');
+        background-size: 15px 123px;
+    }
+
+    .item-edit:hover{
+        background-image: url('../images/arrows-dark-2x.png?d=20130611');
+        background-size: 15px 123px;
+    }
+
+    /* Blue Admin style */
+    .admin-color-classic .item-edit:hover {
+        background-image: url('../images/arrows-dark-vs-2x.png?d=20130611');
+        background-size: 15px 123px;
+    }
+
+    .item-edit.opened{
+        background-image: url('../images/arrows-2x.png?d=20130611');
+        background-size: 15px 123px;
+    }
+
+    /* Blue Admin style */
+    .admin-color-classic .item-edit.opened {
+        background-image: url('../images/arrows-vs-2x.png?d=20130611');
+        background-size: 15px 123px;
+    }
+
+    .item-edit.opened:hover{
+        background-image: url('../images/arrows-dark-2x.png?d=20130611');
+        background-size: 15px 123px;
+    }
+
+    /* Blue Admin style */
+    .admin-color-classic .item-edit.opened:hover {
+        background-image: url('../images/arrows-dark-vs-2x.png?d=20130611');
+        background-size: 15px 123px;
+    }
+
+    /* Form Settings arrow */
+    .button-icon.swpm-small-arrow{
+        background-image: url('../images/arrows-2x.png?d=20130611');
+        background-size: 15px 123px;
+    }
+
+    /* Blue Admin style */
+    .admin-color-classic .button-icon.swpm-small-arrow {
+        background-image: url('../images/arrows-vs-2x.png?d=20130611');
+        background-size: 15px 123px;
+    }
+
+    .current .button-icon.swpm-small-arrow{
+        background-image: url('../images/arrows-2x.png?d=20130611');
+        background-size: 15px 123px;
+    }
+
+    /* Blue Admin style */
+    .admin-color-classic .current .button-icon.swpm-small-arrow {
+        background-image: url('../images/arrows-vs.png?d=20130611');
+        background-size: 15px 123px;
+    }
+}
\ No newline at end of file
diff --git a/css/swpm-form-builder-admin.min.css b/css/swpm-form-builder-admin.min.css
new file mode 100644 (file)
index 0000000..3ef9b77
--- /dev/null
@@ -0,0 +1 @@
+.swpm-pro-call-to-action{padding:5px 0;text-align:center}.swpm-btn{display:inline-block;*display:inline;*zoom:1;padding:15px 10px;margin-bottom:0;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333;font-size:21px;font-weight:500;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f5f5f5;background-repeat:repeat-x;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid #ccc;*border:0;border-bottom-color:#b3b3b3;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);text-decoration:none}.swpm-btn:hover,.swpm-btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.swpm-btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.swpm-btn.active,.swpm-btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.swpm-btn-primary.active{color:rgba(255,255,255,0.75)}.swpm-btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);border-color:#04c #0044cc #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#04c;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.swpm-btn-primary:hover,.swpm-btn-primary:focus,.swpm-btn-primary:active,.swpm-btn-primary.active,.swpm-btn-primary.disabled,.swpm-btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.swpm-btn-primary:active,.swpm-btn-primary.active{background-color:#039 \9}.swpm-btn-inverse{background-color:#363636;background-repeat:repeat-x;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.swpm-btn-inverse:hover,.swpm-btn-inverse:focus,.swpm-btn-inverse:active,.swpm-btn-inverse.active,.swpm-btn-inverse.disabled,.swpm-btn-inverse[disabled]{background-color:#222;color:#fff}.swpm-pro-call-to-action .cta-sign-up{color:#fff;display:block;font-size:24px;font-weight:bold;text-align:center;text-decoration:none;text-shadow:1px 1px 1px #2b658c;width:100%;line-height:22px}.swpm-pro-call-to-action .cta-price{color:#ace7ff;display:block;font-size:12px;font-weight:normal;line-height:20px;text-align:center;text-decoration:none;width:100%;line-height:20px}.swpm-pro-upgrade{display:inline;float:left;padding:10px;margin-bottom:20px;background-color:#d3e7ee;border:1px solid #21759b;border-radius:5px}.rtl .swpm-pro-upgrade{float:right}.swpm-pro-upgrade h2,.wrap .swpm-pro-upgrade h2{font-size:23px;font-weight:500;padding:5px 0;text-align:center}.swpm-pro-upgrade h2 a{text-decoration:none}.swpm-pro-upgrade ul{list-style:outside;margin-left:10px}.rtl .swpm-pro-upgrade ul{margin-left:0;margin-right:10px}#swpm-form-builder-frame{display:block;margin:0 -8px 0 290px}.rtl #swpm-form-builder-frame{margin:0 290px 0 -8px}#swpm-form-builder-frame:after,#form-editor-header .swpm-major-publishing-actions:after,#form-editor-footer .swpm-major-publishing-actions:after,#swpm-form-builder-frame .menu-item-settings:after,#swpm-form-list:after,.option:after{display:block;visibility:hidden;clear:both;height:0;content:"."}#swpm-form-builder-sidebar{clear:both;width:281px}#swpm-form-builder-management{position:relative;margin-right:10px}.rtl #swpm-form-builder-management{margin-right:0;margin-left:10px}#swpm-form-builder-management .form-edit{margin-bottom:20px;border:1px solid #dfdfdf;border-radius:3px}.admin-color-classic #swpm-form-builder-management .form-edit{border-color:#d0dfe9}#form-editor-header,#form-editor-footer{padding:0 10px;background-color:#f1f1f1}#form-editor-footer{border-top:1px solid #dfdfdf}.admin-color-classic #form-editor-header,.admin-color-classic #form-editor-footer{background-color:#f5fafd}.admin-color-class #form-editor-footer{border-top-color:#d0dfe9}.swpm-major-publishing-actions{clear:both;padding:3px 0 5px}.swpm-major-publishing-actions .publishing-action{float:right;margin:5px 0 1px;text-align:right;line-height:23px}#form-editor-header .publishing-action{margin-top:12px}.sub-navigation{float:none;margin:8px 0 5px;padding:0;list-style:none;white-space:nowrap;font-size:12px}.sub-navigation li{display:inline;margin:0;padding:0}.sub-navigation a{padding:.2em;text-decoration:none;line-height:2}.sub-navigation a.current{border:medium none;background:0;color:black;font-weight:bold}.sub-navigation a:hover{color:#d54e21}#swpm-sidebar,#swpm-main{float:left;margin:10px 0;width:280px}.rtl #swpm-sidebar,.rtl #swpm-main{float:right}#swpm-main{width:auto}#swpm-main.swpm-order-type-list{width:100%}#swpm-main p a,#swpm-main h3 a{text-decoration:none}#swpm-main .submitdelete{color:#bc0b0b;text-decoration:none}#swpm-main .submitdelete:hover{color:red}#swpm-sidebar{margin-left:-300px}.rtl #swpm-sidebar{margin-left:0;margin-right:-300px}#swpm-form-list{display:block;margin-left:300px}.rtl #swpm-form-list{margin-left:0;margin-right:300px}.swpm-box{position:relative;float:left;padding:0 10px;border:1px solid #dfdfdf;border-radius:3px 3px 3px 3px;background-color:#f5f5f5;background:-moz-linear-gradient(top,#fff 0,#f5f5f5 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#fff),color-stop(100%,#f5f5f5));background:-webkit-linear-gradient(top,#fff 0,#f5f5f5 100%);background:-o-linear-gradient(top,#fff 0,#f5f5f5 100%);background:-ms-linear-gradient(top,#fff 0,#f5f5f5 100%);background:linear-gradient(to bottom,#fff 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#f5f5f5',GradientType=0);box-shadow:0 1px 0 #fff inset;line-height:1.4em}.swpm-form-alpha-list{width:70%;float:left;padding-right:20px}.rtl .swpm-form-alpha-list{float:right;padding-right:0;padding-left:20px}.swpm-form-alpha-list hr{display:block;margin:1em 0;padding:0;height:1px;border:0;border-top:1px solid #ccc}.swpm-form-alpha-group .letter,.wrap h2.letter{float:left;padding:0;color:#666;font-size:14px;line-height:17px}.swpm-form-alpha-form{display:block;margin:10px 0;padding-left:150px;width:auto}.swpm-form-alpha-form h3{float:left;margin:0;width:50%;word-wrap:break-word;font-size:17px}.swpm-form-alpha-form .swpm-publishing-actions,.swpm-form-alpha-form .swpm-form-meta{float:left;width:20%;text-align:center}.swpm-form-alpha-form .swpm-form-meta{width:30%}.swpm-form-alpha-form .swpm-publishing-actions p,.swpm-form-alpha-form .swpm-form-meta p{margin:0}.swpm-form-alpha-form .swpm-form-meta,.swpm-form-alpha-form .paypal{float:left;margin:0;text-align:left}.rtl .swpm-form-alpha-form .swpm-form-meta,.rtl .swpm-form-alpha-form .paypal{float:right;text-align:right}.swpm-sortable-placeholder{display:block;height:35px;width:400px;margin:8px;border:1px dashed #bbb;background-color:#f5f5f5}#swpm-main .swpm-sortable-placeholder{float:left;margin:8px;height:200px;width:210px}.rtl #swpm-main .swpm-sortable-placeholder{float:right}#swpm-menu-to-edit .mjs-nestedSortable-error{border-color:red;background-color:#fbe3e4;color:#8a1f11}.swpm-meta-entries-total span,.swpm-meta-entries-total-today span{font-size:11px;font-weight:bold;height:1.4em;line-height:1.4em;min-width:.7em;padding:0 6px;display:inline-block;border-radius:5px;background-color:#bbb;color:white;text-align:center}.swpm-meta-entries-total:hover span,.swpm-meta-entries-total-today:hover span{background-color:#d54e21}.fixed .column-entries,.fixed .column-form_id{width:8em}strong .swpm-meta-entries-total span{background-color:#21759b}.entries-count-wrapper{font-family:sans-serif;min-width:22px;padding-bottom:1px}#new-form{margin:8px 0;padding-top:10px;width:75px;height:105px;text-align:center}#new-form a{display:block;width:auto;text-decoration:none}#post-body{padding:10px;background:white}.swpm-postbox-container{float:left;margin:0 8px;width:100%}.rtl .swpm-postbox-container{float:right}#swpm-postbox-container-1 .postbox{min-width:281px}#swpm-postbox-container-2{min-width:485px}#swpm-form-builder-frame.columns-1{margin-left:-8px}.rtl #swpm-form-builder-frame.columns-1{margin-left:0;margin-right:-8px}#swpm-form-builder-frame.columns-1 #swpm-postbox-container-1{float:none}#swpm-form-builder-frame.columns-1 #swpm-postbox-container-2{width:99%}#swpm-form-builder-frame.columns-2 #swpm-postbox-container-3{display:none}#swpm-form-builder-frame.columns-2 #swpm-postbox-container-1,#swpm-form-builder-frame.columns-3 #swpm-postbox-container-1{margin-left:-290px;width:281px}.rtl #swpm-form-builder-frame.columns-2 #swpm-postbox-container-1,.rtl #swpm-form-builder-frame.columns-3 #swpm-postbox-container-1{margin-left:0;margin-right:-290px}#swpm-form-builder-frame.columns-3 #swpm-form-builder-management{margin-right:0}#swpm-form-builder-frame.columns-3 #swpm-postbox-container-2{width:30%}#swpm-form-builder-frame.columns-3 #swpm-postbox-container-3{display:inline;margin-right:0;width:46.5%}.rtl #swpm-form-builder-frame.columns-3 #swpm-postbox-container-3{margin-right:0;margin-left:0}#swpm-form-meta-preview iframe{width:100%;height:100%}#swpm_form_media_button_tip input{width:100%;border:0;padding:6px;font-family:Consolas,Monaco,monospace;font-size:12px}@media only screen and (max-width:799px){#swpm-form-builder-frame .swpm-postbox-container{width:100%}.columns-prefs .columns-prefs-3{display:none}}@media only screen and (min-width:800px) and (max-width:1200px){#swpm-form-builder-frame .swpm-postbox-container{width:49.5%}#swpm-form-builder-frame.columns-3 #swpm-postbox-container-2,#swpm-form-builder-frame.columns-3 #swpm-postbox-container-3{width:50.5%}#swpm-form-builder-frame.columns-1 .swpm-postbox-container{width:100%}}@media only screen and (min-width:1600px){#swpm-form-builder-frame.columns-3 #swpm-postbox-container-3{width:58%}}.item-edit{position:absolute;top:3px;right:-20px;display:block;overflow:hidden;width:30px;height:40px;background:url('../images/arrows.png?d=20130703') no-repeat scroll 8px 10px transparent;text-indent:-999em}.admin-color-classic .item-edit{background:url('../images/arrows-vs.png?d=20130703') no-repeat scroll 8px 10px transparent}.rtl .item-edit{right:auto;left:-20px}.item-edit:hover{background:url('../images/arrows-dark.png?d=20130703') no-repeat scroll 8px 10px transparent}.admin-color-classic .item-edit:hover{background:url('../images/arrows-dark-vs.png?d=20130703') no-repeat scroll 8px 10px transparent}.item-edit.opened{background:url('../images/arrows.png?d=20130703') no-repeat scroll 8px -25px transparent}.admin-color-classic .item-edit.opened{background:url('../images/arrows-vs.png?d=20130703') no-repeat scroll 8px -25px transparent}.item-edit.opened:hover{background:url('../images/arrows-dark.png?d=20130703') no-repeat scroll 8px -25px transparent}.admin-color-classic .item-edit.opened:hover{background:url('../images/arrows-dark-vs.png?d=20130703') no-repeat scroll 8px -25px transparent}.option .widefat,.options-other-show .widefat,.options-other-hide .widefat{margin:0 6px 7px 0;width:320px}.rtl .option .widefat,.rtl .options-other-show .widefat,.rtl .options-other-hide .widefat{margin:0 0 7px 6px}#form-settings .description-thin{margin:12px 10px 12px 0}.rtl #form-settings .description-thin{margin:12px 0 12px 10px}.description-thin,.description-wide{float:left;margin-right:10px}.rtl .description-thin,.rtl .description-wide{float:right;margin-right:0;margin-left:10px}.description-thin{width:190px;height:40px}.description-wide{width:390px}.swpm-interface-icon{position:absolute;top:4px;right:4px;display:inline-block;width:16px;height:16px;background-color:transparent;background-image:url('../images/swpm-interface-icons.png?d=20130713');background-repeat:no-repeat;text-indent:-9999px}.swpm-interface-settings{background-position:-32px 0}.swpm-interface-duplicate{background-position:0 0}.swpm-interface-trash{background-position:-64px 0}.swpm-interface-conditional{background-position:-224px 0}.swpm-interface-sort{background-position:-128px 0}.swpm-interface-plus{background-position:-160px 0}.swpm-interface-minus{background-position:-192px 0}.swpm-interface-bulk-add{background-position:-96px 0}.swpm-interface-plus,.swpm-interface-minus{top:0}.addEmail,.deleteEmail{top:28px}.addEmail{right:55px}.rtl .addEmail{right:auto;left:55px}.deleteEmail{right:30px}.rtl .deleteEmail{right:auto;left:30px}.deleteOption,.swpm-interface-sort,.addCondition,.deleteCondition{top:3px}.deleteOption,.addCondition{right:25px}.rtl .deleteOption,.rtl .addCondition{right:auto;left:25px}.swpm-interface-sort,.deleteCondition{right:0}.rtl .swpm-interface-sort,.rtl .deleteCondition{right:auto;left:0}.swpm-interface-sort:hover{cursor:pointer}.option{float:left;width:97%;position:relative}.rtl .option{float:right}#swpm-poststuff{display:block;margin-right:300px}.rtl #swpm-poststuff{margin-right:0;margin-left:300px}#swpm-entries-body-content{float:left;width:100%}.rtl #swpm-entries-body-content{float:right}.metabox-holder #swpm-entries-body-content h3{font-weight:bold;font-family:sans-serif}#entry-edit #side-info-column{margin-right:-300px}.rtl #entry-edit #side-info-column{margin-right:0;margin-left:-300px}label.error{display:block;color:red}#swpm-form-builder-update input.error,#swpm-form-builder-update textarea.error,#swpm-form-builder-update select.error{border:1px solid red}#swpm-menu-to-edit .menu-item-settings{width:402px}.swpm-menu-item-handle{background:white;border:1px solid #dfdfdf;border-radius:3px;height:auto;line-height:35px;overflow:hidden;padding:10px 15px;position:relative;text-shadow:0 1px 0 #fff;width:382px;word-wrap:break-word;cursor:move}.swpm-menu-item-handle:hover{border-color:#999}.admin-color-classic .swpm-menu-item-handle{background:#f5fafd;box-shadow:0 1px 0 #fff inset;border-color:#d0dfe9}.rtl .swpm-menu-item-handle{padding-left:0;padding-right:10px}.swpm-menu-item-type-fieldset,.swpm-menu-item-type-verification,#form-element-fieldset{background:#e3e3e3;box-shadow:0 1px 0 #e3e3e3 inset}.admin-color-classic .swpm-menu-item-type-fieldset,.admin-color-classic .swpm-menu-item-type-verification,.admin-color-classic #form-element-fieldset{background:#e2f3ff;box-shadow:0 1px 0 #fff inset}.swpm-menu-item-handle .item-title{min-height:20px;display:block;font-size:12px;font-weight:bold;line-height:20px;margin-right:13em}.rtl .swpm-menu-item-handle .item-title{margin-right:0;margin-left:13em}.swpm-menu-item-active .swpm-menu-item-handle{border-bottom-left-radius:0;border-bottom-right-radius:0}.sender-labels{width:80px}.is-field-required{color:#bc1212}#form-details-nav{padding-top:10px;font-size:1.0em}#form-details-nav a,.charts-nav a{padding:5px 10px;text-decoration:none;font-weight:bold}#form-details-nav a.current,.charts-nav a.current{height:40px;border-color:#dfdfdf;border-radius:5px;background-color:#777;background-image:-ms-linear-gradient(bottom,#6d6d6d,#808080);background-image:-moz-linear-gradient(bottom,#6d6d6d,#808080);background-image:-o-linear-gradient(bottom,#6d6d6d,#808080);background-image:-webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080));background-image:-webkit-linear-gradient(bottom,#6d6d6d,#808080);background-image:linear-gradient(bottom,#6d6d6d,#808080);color:white;text-shadow:0 -1px 0 #333}.form-details,#form-success-message-text,#form-success-message-page,#form-success-message-redirect{display:none}.form-details-current,.active{display:block}#confirmation-message textarea,#notification textarea{width:100%;height:10em;font-family:Consolas,Monaco,monospace}#form-success-message-page,#form-success-message-redirect{margin-top:10px;width:100%}.post-body-plain ol li{list-style:decimal}#swpm-upgrade-column{display:inline;float:left;width:auto}.rtl #swpm-upgrade-column{float:right}ul#promote-swpm{margin-left:20px;list-style:disc}.rtl ul#promote-swpm{margin-left:auto;margin-right:20px}#promote-swpm li{text-align:left}.rtl #promote-swpm li{text-align:right}.menu .ui-nestedSortable-error{background-color:#fbe3e4;border-color:red;color:#8a1f11}ul#swpm-menu-to-edit ul{margin:0 0 0 25px;padding:0;width:98%;list-style-type:none}#swpm-menu-to-edit{margin-top:0;padding:1em 0}#swpm-fieldset-first-warning{display:none}.ui-state-disabled,.ui-state-disabled dl,.ui-state-disabled dt,.form-item.ui-state-disabled{opacity:100;filter:alpha(Opacity=100);background-image:none}.ui-state-disabled .swpm-menu-item-handle,.ui-state-disabled .menu-item-handle{background:#dfdfdf;box-shadow:none;cursor:default}.swpm-details{margin-bottom:10px;padding:0 10px;border:1px solid #ccc;border-radius:3px}.swpm-details.section{width:97.55%;background-color:#efefef}.swpm-details .postbox{min-height:60px}#poststuff .swpm-details h2{margin-top:0}#poststuff h3.section-heading{padding-left:0}#form-items .tabs-panel{overflow:visible;padding:.5em 0 .5em 4px;min-height:325px;height:auto}.rtl #form-items .tabs-panel{padding:.5em 4px .5em 0}ul.swpm-fields-col-1,ul.swpm-fields-col-2{float:left;width:50%;list-style:none}.rtl ul.swpm-fields-col-1,.rtl ul.swpm-fields-col-2{float:right}#swpm-form-builder-frame.columns-1 #swpm-postbox-container-1 #form-items .tabs-panel{height:auto}.swpm-draggable-form-items{position:relative;position:relative;display:block;margin-right:8px;padding:4px 0 4px 34px;border:1px solid #bbb;border-radius:3px;color:#464646;text-align:left;text-decoration:none;font-size:12px}.rtl .swpm-draggable-form-items{margin-right:0;margin-left:8px;padding:4px 34px 4px 10px}.swpm-draggable-form-items:hover{border-color:#aaa}.swpm-draggable-form-items b{position:absolute;left:8px;display:inline-block;width:16px;height:16px;background-color:transparent;background-image:url('../images/swpm-form-items.png?d=20130712');background-repeat:no-repeat;line-height:16px}.rtl .swpm-draggable-form-items b{left:auto;right:8px}#form-element-address b{background-position:-128px 0}#form-element-autocomplete b{background-position:-384px 0}#form-element-checkbox b{background-position:-672px 0}#form-element-color b{background-position:0 0}#form-element-currency b{background-position:-64px 0}#form-element-datepicker b{background-position:-224px 0}#form-element-digits b{background-position:-832px 0}#form-element-email b{background-position:-160px 0}#form-element-file b{background-position:-512px 0}#form-element-hidden b{background-position:-544px 0}#form-element-html b{background-position:-800px 0}#form-element-instructions b{background-position:-256px 0}#form-element-ip b{background-position:-448px 0}#form-element-max b{background-position:-576px 0}#form-element-min b{background-position:-608px 0}#form-element-name b{background-position:-320px 0}#form-element-pagebreak b{background-position:-768px 0}#form-element-password b{background-position:-352px 0}#form-element-phone b{background-position:-96px 0}#form-element-radio b{background-position:-704px 0}#form-element-range b{background-position:-640px 0}#form-element-select b{background-position:-416px 0}#form-element-text b{background-position:-736px 0}#form-element-textarea b{background-position:-32px 0}#form-element-time b{background-position:-192px 0}#form-element-username b{background-position:-288px 0}#form-element-url b{background-position:-480px 0}.static-vars-inactive{display:none}.static-vars-active{display:block}.swpm-button{position:relative;display:inline-block;overflow:visible;margin:0;padding:.5em 2.5em .5em 1em;outline:0;border:1px solid #d4d4d4;border-radius:.2em;background-color:#f5f5f5;color:#333;text-decoration:none;white-space:nowrap;font:12px/normal sans-serif;cursor:pointer;zoom:1;-webkit-background-clip:padding;-moz-background-clip:padding;-o-background-clip:padding-box;*display:inline}.swpm-button:hover,.swpm-button:active,.swpm-button.current{border-color:#929292;border-bottom-color:#929292;background-color:#eee;background-image:-webkit-gradient(linear,0 0,0 100%,from(#eee),to(#ccc));background-image:-moz-linear-gradient(#eee,#ccc);background-image:-o-linear-gradient(#eee,#ccc);background-image:linear-gradient(#eee,#ccc);color:#000}.swpm-button.current{font-weight:bold}.swpm-button::-moz-focus-inner{padding:0;border:0}.swpm-button.swpm-settings:hover,.swpm-button.swpm-settings:focus,.swpm-button.swpm-settings:active{color:#3072b3}.swpm-button.swpm-delete:hover,.swpm-button.swpm-delete:focus,.swpm-button.swpm-delete:active{color:#900}.swpm-button.swpm-duplicate:hover,.swpm-button.swpm-duplicate:focus,.swpm-button.swpm-duplicate:active{color:#008e0d}.swpm-button-group{display:inline-block;margin:10px 0;list-style:none}.rtl .swpm-button-group{margin-left:-2px}.swpm-button-group .swpm-button{float:left;margin-right:5px}.rtl .swpm-button-group .swpm-button{float:right;margin-right:0;margin-left:5px}.swpm-button-group .button-primary{margin-top:2px}.swpm-item-actions{margin-right:10px;margin-bottom:10px;text-align:center}.rtl .swpm-item-actions{margin-right:0;margin-left:10px}.swpm-item-actions .swpm-delete{float:left}.rtl .swpm-item-actions .swpm-delete{float:right}.swpm-item-actions .swpm-conditional-fields{float:right}.rtl .swpm-item-actions .swpm-conditional-fields{float:left}.swpm-item-actions .swpm-delete,.swpm-item-actions .swpm-duplicate,.swpm-item-actions .swpm-conditional-fields{margin-top:10px}#form-settings{display:none;width:100%;max-width:460px;margin-bottom:15px;border-bottom:1px solid #d6d6d6}#form-settings.current{display:block}.form-details{padding:20px;background:#fff;background:rgba(255,255,255,0.5);border-left:1px solid #d6d6d6;border-right:1px solid #d6d6d6}.form-details.on{display:block}.settings-links{position:relative;z-index:1;display:block;padding:5px 15px;height:25px;background:#f5f5f5;border-top:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;color:#333;text-decoration:none;text-transform:uppercase;text-shadow:0 1px 0 #fff;font-weight:normal;font-size:15px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:25px;cursor:pointer}.settings-links .swpm-large-arrow{position:absolute;top:16px;right:25px;width:5px;height:0;z-index:1}.settings-links .swpm-large-arrow:after{content:'';width:0;height:0;border-color:#ccc transparent;border-style:solid;border-width:6px 6px 0;position:absolute;z-index:1}.rtl .settings-links .swpm-large-arrow{right:auto;left:13px}.settings-links.on{border-bottom:1px solid #808080}.settings-links:hover,.settings-links.on{background:#808080;color:#fff;text-shadow:0 -1px 0 #333}.settings-links:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.swpm-tooltip{position:relative;float:right;margin-right:2px;width:16px;height:16px;cursor:pointer}.rtl .swpm-tooltip{float:left;margin-right:0;margin-left:2px}.swpm-tooltip-popup{position:absolute;top:-40px;z-index:200;display:none;padding:5px 20px;width:250px;border:2px solid #333;border-radius:5px;background:#222;box-shadow:0 0 7px black;color:white;text-indent:0;font-style:normal}.swpm-tooltip-popup h3,.swpm-tooltip .swpm-tooltip-popup h3{margin:5px 0;padding:0 0 6px 0;border-bottom:1px solid white;color:white;font-weight:normal;font-size:13px;font-family:sans-serif}.swpm-tooltip-popup p{margin-top:1 0;color:white;font-size:12px}.swpm-add-options-group{display:inline-block;margin:10px 0;list-style:none;text-align:center;width:95%}.swpm-add-options-group .swpm-interface-plus{top:4px}.swpm-export-label{width:10em;float:left}.rtl .swpm-export-label{float:right}#swpm-export-entries-fields{height:275px;width:300px;overflow:auto;display:block;border:1px solid #e8e8e8;border-radius:3px;margin-left:10em;padding:5px;background:white}#swpm-export-select-all,#swpm-export-unselect-all{width:150px;display:inline-block;text-align:left}#swpm-export-unselect-all{text-align:right;margin-left:5px}@media print{body *{float:none}html,.wrap,#wpbody-content,#swpm-poststuff{background:none!important;padding:0;margin:0;height:auto}#wpadminbar,#adminmenuwrap,#adminmenushadow,#adminmenuback,.screen-reader-shortcut,#screen-meta,#screen-meta-links,#wpfooter,#icon-options-general,.wrap h2,.view-entry,#major-publishing-actions,.clear{display:none}#wpcontent,body #wpcontent{margin-left:0;width:auto;height:auto}#entry-edit h3 span{font-size:23px;font-weight:normal}#swpm-poststuff{page-break-after:auto}#swpm-entries-body-content{width:100%;height:auto;margin:0 0 50px 0;padding:0}#side-info-column{width:100%;height:auto;float:none}#side-info-column .postbox .inside{margin:0;padding:0}#minor-publishing,.misc-pub-section,#submitdiv,#submitdiv h3{background:none!important;border:0;margin:0}#submitdiv h3 span{font-family:sans-serif;font-size:16px}.inner-sidebar #side-sortables,.columns-2 .inner-sidebar #side-sortables{margin:0;padding:0;width:auto}table{page-break-inside:auto}tr textarea{overflow:visible}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.swpm-interface-icon{top:5px;background-image:url('../images/swpm-interface-icons-2x.png?d=20130712');background-size:cover}.swpm-draggable-form-items b{background-image:url('../images/swpm-form-items-2x.png?d=20130712');background-size:cover}.swpm-add-options-group .swpm-interface-plus{top:5px}.addEmail,.deleteEmail{top:28px}.item-edit{background-image:url('../images/arrows-2x.png?d=20130611');background-size:15px 123px}.admin-color-classic .item-edit{background-image:url('../images/arrows-vs-2x.png?d=20130611');background-size:15px 123px}.item-edit:hover{background-image:url('../images/arrows-dark-2x.png?d=20130611');background-size:15px 123px}.admin-color-classic .item-edit:hover{background-image:url('../images/arrows-dark-vs-2x.png?d=20130611');background-size:15px 123px}.item-edit.opened{background-image:url('../images/arrows-2x.png?d=20130611');background-size:15px 123px}.admin-color-classic .item-edit.opened{background-image:url('../images/arrows-vs-2x.png?d=20130611');background-size:15px 123px}.item-edit.opened:hover{background-image:url('../images/arrows-dark-2x.png?d=20130611');background-size:15px 123px}.admin-color-classic .item-edit.opened:hover{background-image:url('../images/arrows-dark-vs-2x.png?d=20130611');background-size:15px 123px}.button-icon.swpm-small-arrow{background-image:url('../images/arrows-2x.png?d=20130611');background-size:15px 123px}.admin-color-classic .button-icon.swpm-small-arrow{background-image:url('../images/arrows-vs-2x.png?d=20130611');background-size:15px 123px}.current .button-icon.swpm-small-arrow{background-image:url('../images/arrows-2x.png?d=20130611');background-size:15px 123px}.admin-color-classic .current .button-icon.swpm-small-arrow{background-image:url('../images/arrows-vs.png?d=20130611');background-size:15px 123px}}
\ No newline at end of file
diff --git a/css/swpm-form-builder.css b/css/swpm-form-builder.css
new file mode 100644 (file)
index 0000000..ad42595
--- /dev/null
@@ -0,0 +1,530 @@
+form.swpm-form-builder{
+    position: relative;
+    margin:20px 0;
+    background: none;
+    list-style:none;
+    list-style-type: none;
+    list-style-image: none;
+    text-shadow: none;
+    font-family:inherit;
+}
+
+form.swpm-form-builder li{
+    margin: 0 !important;
+    width: auto !important;
+    background: none !important;
+    list-style: none !important;
+    list-style-type: none !important;
+    list-style-image: none !important;
+    clear: both;
+}
+
+form.swpm-form-builder li:before {
+    content: none;
+}
+
+form.swpm-form-builder ul:after,
+form.swpm-form-builder li:after,
+form.swpm-form-builder li div:after {
+    clear: both;
+    content: '.';
+    display: block;
+    height: 0;
+    visibility: hidden;
+}
+
+/* Hide br tags for themes that auto add them */
+.swpm-form-builder br {
+    display: none;
+}
+
+form.swpm-form-builder .swpm-item-instructions br {
+    display: inline;
+}
+
+/* !Remove list item styles */
+.swpm-form-builder ul,
+.entry-content .swpm-form-builder ul,
+.comment-content .swpm-form-builder ul,
+.mu_register .swpm-form-builder ul,
+.swpm-form-builder ol,
+.entry-content .swpm-form-builder ol,
+.comment-content .swpm-form-builder ol,
+.mu_register .swpm-form-builder ol {
+    margin: 0 14px !important;
+    padding: 0 !important;
+    background: none !important;
+    list-style: none !important;
+    list-style-type: none !important;
+    list-style-image: none !important;
+    font-size: 13px;
+    line-height: inherit;
+}
+
+.swpm-form-builder ul li {
+    margin: 0 !important;
+    background: none !important;
+    list-style: none !important;
+    list-style-type: none !important;
+    list-style-image: none !important;
+}
+
+.swpm-form-builder ul li:before {
+    content: none;
+}
+
+.swpm-form-builder li,
+.entry-content .swpm-form-builder li,
+.comment-content .swpm-form-builder li,
+.mu_register .swpm-form-builder li {
+    clear: both;
+    margin: 0 !important;
+    padding: 6px 1% 9px !important;
+    width: 64%;
+    background: none !important;
+    list-style: none !important;
+    list-style-type: none !important;
+    list-style-image: none !important;
+}
+
+.swpm-form-builder li:before,
+.entry-content .swpm-form-builder li:before,
+.comment-content .swpm-form-builder li:before,
+.mu_register .swpm-form-builder li:before {
+    content: none;
+}
+
+.swpm-span,
+.swpm-form-builder li div span.swpm-span,
+.swpm-form-builder [class*="swpm-span"],
+span.swpm-full input,
+span.swpm-full input[type="text"].swpm-medium,
+span.swpm-full select{
+    display:block;
+    float:left;
+    margin: 0;
+    width:100%;
+}
+
+.swpm-form-builder span.swpm-left{
+    float:left;
+    width:48%;
+}
+
+.swpm-form-builder span.swpm-right{
+    float:right;
+    width:48%;
+}
+
+.swpm-form-builder span.swpm-span ul li {
+    list-style: disc;
+}
+
+.swpm-form-builder span.swpm-span ol li {
+    list-style: decimal;
+}
+
+.swpm-form-builder span.swpm-right input,
+.swpm-form-builder span.swpm-right input[type="text"],
+.swpm-form-builder span.swpm-right select,
+.swpm-form-builder span.swpm-left input,
+.swpm-form-builder span.swpm-left input[type="text"],
+.swpm-form-builder span.swpm-left select{
+    width:100% !important;
+}
+
+/* !Time Field */
+.swpm-form-builder span.swpm-time{
+    float:left;
+    margin:0 0.3em 0 0;
+}
+
+.rtl .swpm-form-builder span.swpm-time {
+    float: right;
+    margin: 0 0 0 0.3em;
+}
+
+.swpm-form-builder li div label,
+.swpm-form-builder li span label {
+    margin: 0;
+    font-size: 90%;
+}
+
+/* !Fieldset */
+.swpm-form-builder fieldset{
+    clear:both;
+    margin:15px 0;
+    padding: 0;
+    border:1px solid #D3D3D3;
+    border-radius:3px;
+    background-color:#eeeeee;
+}
+
+/* !Legend */
+.swpm-form-builder .swpm-legend{
+    margin:5px 14px;
+    padding:0 6px;
+    border-bottom:1px solid #CCCCCC;
+    color:#990000;
+    font-size:inherit;
+}
+
+.swpm-form-builder .swpm-legend h3 {
+    margin: 0 !important;
+    padding: 0 !important;
+    font-size:20px;
+    line-height: 2.0em;
+}
+
+/* !Description */
+.swpm-form-builder label,
+label.swpm-desc{
+    display:block;
+    margin:0;
+    padding: 0 0 3px 0;
+    color:#000;
+}
+label.swpm-desc{
+    font-weight:bold;
+}
+
+.swpm-form-builder.left-label .swpm-desc,
+.swpm-form-builder.right-label .swpm-desc{
+    float:left;
+    margin:0 15px 0 0;
+    width:20%;
+}
+
+.swpm-form-builder.right-label .swpm-desc{
+    padding-top:2px;
+    text-align:right;
+}
+
+.swpm-form-builder li div {
+    margin: 0;
+    padding: 0;
+}
+
+.swpm-form-builder.left-label li div,
+.swpm-form-builder.right-label li div {
+    float: left;
+    width: 65%;
+}
+
+.swpm-form-builder label.swpm-choice{
+    margin:-16px 0 0 23px;
+    padding:0 0 5px;
+    width:88%;
+    font-size:100%;
+    line-height:150%;
+}
+
+.rtl .swpm-form-builder label.swpm-choice {
+    margin: -16px 23px 0 0;
+}
+
+.swpm-form-builder label .swpm-required-asterisk {
+    margin: 0;
+    padding: 0;
+    color: #BC1212;
+    vertical-align: baseline;
+    font-weight: bold;
+}
+
+/* !Input, Textarea, and Select */
+input.swpm-text,
+input[type="text"].swpm-text,
+input[type="tel"].swpm-text,
+input[type="email"].swpm-text,
+input[type="url"].swpm-text,
+textarea.swpm-textarea {
+    padding: 3px 0;
+    border: 1px solid #DDDDDD;
+    border-radius: 3px;
+    background: none repeat scroll 0 0 #FAFAFA;
+
+    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+    -webkit-transition: border linear .2s, box-shadow linear .2s;
+    -moz-transition: border linear .2s, box-shadow linear .2s;
+    -o-transition: border linear .2s, box-shadow linear .2s;
+    transition: border linear .2s, box-shadow linear .2s;
+}
+
+input.swpm-text:focus,
+input[type="text"].swpm-text:focus,
+input[type="tel"].swpm-text:focus,
+input[type="email"].swpm-text:focus,
+input[type="url"].swpm-text:focus,
+textarea.swpm-textarea:focus {
+    outline: 0;
+    outline: thin dotted \9;
+    /* IE6-9 */
+    border-color: rgba(82, 168, 236, 0.8);
+
+    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
+    -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
+    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
+}
+
+input.swpm-text.swpm-error:focus,
+input[type="text"].swpm-text.swpm-error:focus,
+input[type="tel"].swpm-text.swpm-error:focus,
+input[type="email"].swpm-text.swpm-error:focus,
+input[type="url"].swpm-text.swpm-error:focus,
+textarea.swpm-textarea.swpm-error:focus {
+    border-color: rgba(238,83,83,0.8);
+
+    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(238,83,83,.6);
+    -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(238,83,83,.6);
+    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(238,83,83,.6);
+}
+
+input.swpm-text,
+input[type="text"].swpm-text,
+input[type="tel"].swpm-text,
+input[type="email"].swpm-text,
+input[type="url"].swpm-text,
+textarea.swpm-textarea,
+select.swpm-select {
+    margin: 0 0 5px 0;
+    height: auto;
+    color: #373737;
+    font-size:100%;
+    font-family:inherit;
+    line-height: normal;
+}
+
+select.swpm-select{
+    padding: 1px 0 0;
+}
+
+input.swpm-small,
+input[type="text"].swpm-small,
+input[type="tel"].swpm-small,
+input[type="email"].swpm-small,
+input[type="url"].swpm-small,
+select.swpm-small{
+    width:25%;
+}
+
+input.swpm-medium,
+input[type="text"].swpm-medium,
+input[type="tel"].swpm-medium,
+input[type="email"].swpm-medium,
+input[type="url"].swpm-medium,
+select.swpm-medium{
+    width:50%;
+}
+
+input.swpm-large,
+input[type="text"].swpm-large,
+input[type="tel"].swpm-large,
+input[type="email"].swpm-large,
+input[type="url"].swpm-large,
+select.swpm-large,
+textarea.swpm-textarea{
+    width:100%;
+}
+
+input[type="file"].swpm-small,
+input[type="file"].swpm-medium,
+input[type="file"].swpm-large {
+    height: auto;
+    line-height: normal;
+}
+
+
+textarea.swpm-medium{
+    height:5.5em;
+}
+
+textarea.swpm-medium{
+    height:10em;
+}
+
+textarea.swpm-large{
+    height:20em;
+}
+
+/* !Submit Button */
+.swpm-submit,
+input[type="submit"].swpm-submit {
+    font-size:1.1em;
+}
+
+/* !Checkbox and Radio */
+input.swpm-checkbox,
+input[type="checkbox"].swpm-checkbox,
+input.swpm-radio,
+input[type="radio"].swpm-radio {
+    display:block;
+    margin:4px 0 0;
+    width:13px;
+    height:13px;
+    font-size:1.1em;
+}
+
+input.swpm-other,
+input[type="text"].swpm-other {
+    margin: 0 0 8px 25px;
+}
+
+/* !Field Layout */
+.swpm-form-builder li.swpm-two-column div span,
+.swpm-form-builder li.swpm-three-column div span,
+.swpm-form-builder li.swpm-auto-column div span{
+    margin:0 5px 0 0;
+    width:48%;
+}
+
+.swpm-form-builder li.swpm-three-column div span{
+    width:30%;
+}
+
+.swpm-form-builder li.swpm-auto-column div span{
+    width:auto;
+}
+
+.swpm-form-builder li.swpm-left-half,
+.swpm-form-builder li.swpm-left-third,
+.swpm-form-builder li.swpm-left-two-thirds{
+    float:left;
+    clear:left;
+}
+
+.swpm-form-builder li.swpm-right-half,
+.swpm-form-builder li.swpm-right-third,
+.swpm-form-builder li.swpm-right-two-thirds{
+    float:right;
+    clear:none;
+}
+
+.swpm-form-builder li.swpm-middle-third{
+    float:left;
+    clear:none;
+    margin-left:2%;
+}
+
+.swpm-form-builder li.swpm-left-half,
+.swpm-form-builder li.swpm-right-half{
+    width:47% !important;
+}
+
+.swpm-form-builder li.swpm-left-third,
+.swpm-form-builder li.swpm-middle-third,
+.swpm-form-builder li.swpm-right-third{
+    width:30% !important;
+}
+
+.swpm-form-builder li.swpm-left-two-thirds,
+.swpm-form-builder li.swpm-right-two-thirds{
+    width:64% !important;
+}
+
+li.swpm-left-half .swpm-small,
+li.swpm-left-half .swpm-medium,
+li.swpm-left-half .swpm-large,
+li.swpm-right-half .swpm-small,
+li.swpm-right-half .swpm-medium,
+li.swpm-right-half .swpm-large,
+li.swpm-left-third .swpm-small,
+li.swpm-left-third .swpm-medium,
+li.swpm-left-third .swpm-large,
+li.swpm-middle-third .swpm-small,
+li.swpm-middle-third .swpm-medium,
+li.swpm-middle-third .swpm-large,
+li.swpm-right-third .swpm-small,
+li.swpm-right-third .swpm-medium,
+li.swpm-right-third .swpm-large,
+.swpm-form-builder li.swpm-left-two-thirds .swpm-small,
+.swpm-form-builder li.swpm-left-two-thirds .swpm-medium,
+.swpm-form-builder li.swpm-left-two-thirds .swpm-large,
+.swpm-form-builder li.swpm-right-two-thirds .swpm-small,
+.swpm-form-builder li.swpm-right-two-thirds .swpm-medium,
+.swpm-form-builder li.swpm-right-two-thirds .swpm-large{
+    width:100%;
+}
+
+/* !Error */
+label.swpm-error{
+    color:red;
+    font-weight:bold;
+    font-size:90%;
+}
+
+input.swpm-error,
+input.swpm-text.swpm-error,
+input[type="text"].swpm-text.swpm-error,
+input[type="tel"].swpm-text.swpm-error,
+input[type="email"].swpm-text.swpm-error,
+input[type="url"].swpm-text.swpm-error,
+select.swpm-error,
+textarea.swpm-error,
+textarea.swpm-textarea.swpm-error,{
+    border:1px solid red;
+}
+
+/* !Success Mesage - Default */
+p#form_success,
+.swpm-form-success {
+    color: green;
+    font-weight: bold;
+}
+
+#ui-datepicker-div {
+    display: none;
+    font-size:12px;
+}
+
+/* !Instructions */
+.swpm-item-instructions{
+    border-radius:3px;
+    background-color:#e3e3e3;
+}
+
+.swpm-item-instructions ul,
+.swpm-item-instructions ul li {
+    padding-bottom: 0;
+    list-style: disc;
+}
+
+.swpm-item-instructions ol,
+.swpm-item-instructions ol li {
+    padding-bottom: 0;
+    list-style: decimal;
+}
+
+/* !Sections */
+.swpm-section-div {
+    float:left;
+    margin:10px 0;
+    padding:10px;
+    width:97%;
+    border-radius:3px;
+    background-color:#D4D4D4;
+}
+
+.swpm-form-builder .swpm-section-div h4 {
+    margin: 0 !important;
+    padding: 0 !important;
+    border-bottom:1px solid #BABABA;
+    font-size:16px;
+    line-height: inherit;
+}
+
+/* !Clearing */
+.swpm-clear{
+    display:block;
+    visibility:hidden;
+    clear:both;
+    overflow:hidden;
+    width:0;
+    height:0;
+}
+
+/* !Conditional Field */
+.swpm-conditional-hide{
+    display: none;
+}
diff --git a/css/swpm-form-builder.min.css b/css/swpm-form-builder.min.css
new file mode 100644 (file)
index 0000000..5101276
--- /dev/null
@@ -0,0 +1 @@
+form.swpm-form-builder{position:relative;margin:20px 0;background:0;list-style:none;list-style-type:none;list-style-image:none;text-shadow:none;font-family:inherit}form.swpm-form-builder li{margin:0!important;width:auto!important;background:none!important;list-style:none!important;list-style-type:none!important;list-style-image:none!important;clear:both}form.swpm-form-builder li:before{content:none}form.swpm-form-builder ul:after,form.swpm-form-builder li:after,form.swpm-form-builder li div:after{clear:both;content:'.';display:block;height:0;visibility:hidden}.swpm-form-builder br{display:none}form.swpm-form-builder .swpm-item-instructions br{display:inline}.swpm-form-builder ul,.entry-content .swpm-form-builder ul,.comment-content .swpm-form-builder ul,.mu_register .swpm-form-builder ul,.swpm-form-builder ol,.entry-content .swpm-form-builder ol,.comment-content .swpm-form-builder ol,.mu_register .swpm-form-builder ol{margin:0 14px!important;padding:0!important;background:none!important;list-style:none!important;list-style-type:none!important;list-style-image:none!important;font-size:13px;line-height:inherit}.swpm-form-builder ul li{margin:0!important;background:none!important;list-style:none!important;list-style-type:none!important;list-style-image:none!important}.swpm-form-builder ul li:before{content:none}.swpm-form-builder li,.entry-content .swpm-form-builder li,.comment-content .swpm-form-builder li,.mu_register .swpm-form-builder li{clear:both;margin:0!important;padding:6px 1% 9px!important;width:64%;background:none!important;list-style:none!important;list-style-type:none!important;list-style-image:none!important}.swpm-form-builder li:before,.entry-content .swpm-form-builder li:before,.comment-content .swpm-form-builder li:before,.mu_register .swpm-form-builder li:before{content:none}.swpm-span,.swpm-form-builder li div span.swpm-span,.swpm-form-builder [class*="swpm-span"],span.swpm-full input,span.swpm-full input[type="text"].swpm-medium,span.swpm-full select{display:block;float:left;margin:0;width:100%}.swpm-form-builder span.swpm-left{float:left;width:48%}.swpm-form-builder span.swpm-right{float:right;width:48%}.swpm-form-builder span.swpm-span ul li{list-style:disc}.swpm-form-builder span.swpm-span ol li{list-style:decimal}.swpm-form-builder span.swpm-right input,.swpm-form-builder span.swpm-right input[type="text"],.swpm-form-builder span.swpm-right select,.swpm-form-builder span.swpm-left input,.swpm-form-builder span.swpm-left input[type="text"],.swpm-form-builder span.swpm-left select{width:100%!important}.swpm-form-builder span.swpm-time{float:left;margin:0 .3em 0 0}.rtl .swpm-form-builder span.swpm-time{float:right;margin:0 0 0 .3em}.swpm-form-builder li div label,.swpm-form-builder li span label{margin:0;font-size:90%}.swpm-form-builder fieldset{clear:both;margin:15px 0;padding:0;border:1px solid #d3d3d3;border-radius:3px;background-color:#eee}.swpm-form-builder .swpm-legend{margin:5px 14px;padding:0 6px;border-bottom:1px solid #ccc;color:#900;font-size:inherit}.swpm-form-builder .swpm-legend h3{margin:0!important;padding:0!important;font-size:20px;line-height:2.0em}.swpm-form-builder label,label.swpm-desc{display:block;margin:0;padding:0 0 3px 0;color:#000}label.swpm-desc{font-weight:bold}.swpm-form-builder.left-label .swpm-desc,.swpm-form-builder.right-label .swpm-desc{float:left;margin:0 15px 0 0;width:20%}.swpm-form-builder.right-label .swpm-desc{padding-top:2px;text-align:right}.swpm-form-builder li div{margin:0;padding:0}.swpm-form-builder.left-label li div,.swpm-form-builder.right-label li div{float:left;width:65%}.swpm-form-builder label.swpm-choice{margin:-16px 0 0 23px;padding:0 0 5px;width:88%;font-size:100%;line-height:150%}.rtl .swpm-form-builder label.swpm-choice{margin:-16px 23px 0 0}.swpm-form-builder label .swpm-required-asterisk{margin:0;padding:0;color:#bc1212;vertical-align:baseline;font-weight:bold}input.swpm-text,input[type="text"].swpm-text,input[type="tel"].swpm-text,input[type="email"].swpm-text,input[type="url"].swpm-text,textarea.swpm-textarea{padding:3px 0;border:1px solid #ddd;border-radius:3px;background:none repeat scroll 0 0 #fafafa;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}input.swpm-text:focus,input[type="text"].swpm-text:focus,input[type="tel"].swpm-text:focus,input[type="email"].swpm-text:focus,input[type="url"].swpm-text:focus,textarea.swpm-textarea:focus{outline:0;outline:thin dotted \9;border-color:rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6)}input.swpm-text.swpm-error:focus,input[type="text"].swpm-text.swpm-error:focus,input[type="tel"].swpm-text.swpm-error:focus,input[type="email"].swpm-text.swpm-error:focus,input[type="url"].swpm-text.swpm-error:focus,textarea.swpm-textarea.swpm-error:focus{border-color:rgba(238,83,83,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(238,83,83,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(238,83,83,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(238,83,83,.6)}input.swpm-text,input[type="text"].swpm-text,input[type="tel"].swpm-text,input[type="email"].swpm-text,input[type="url"].swpm-text,textarea.swpm-textarea,select.swpm-select{margin:0 0 5px 0;height:auto;color:#373737;font-size:100%;font-family:inherit;line-height:normal}select.swpm-select{padding:1px 0 0}input.swpm-small,input[type="text"].swpm-small,input[type="tel"].swpm-small,input[type="email"].swpm-small,input[type="url"].swpm-small,select.swpm-small{width:25%}input.swpm-medium,input[type="text"].swpm-medium,input[type="tel"].swpm-medium,input[type="email"].swpm-medium,input[type="url"].swpm-medium,select.swpm-medium{width:50%}input.swpm-large,input[type="text"].swpm-large,input[type="tel"].swpm-large,input[type="email"].swpm-large,input[type="url"].swpm-large,select.swpm-large,textarea.swpm-textarea{width:100%}input[type="file"].swpm-small,input[type="file"].swpm-medium,input[type="file"].swpm-large{height:auto;line-height:normal}textarea.swpm-medium{height:5.5em}textarea.swpm-medium{height:10em}textarea.swpm-large{height:20em}.swpm-submit,input[type="submit"].swpm-submit{font-size:1.1em}input.swpm-checkbox,input[type="checkbox"].swpm-checkbox,input.swpm-radio,input[type="radio"].swpm-radio{display:block;margin:4px 0 0;width:13px;height:13px;font-size:1.1em}input.swpm-other,input[type="text"].swpm-other{margin:0 0 8px 25px}.swpm-form-builder li.swpm-two-column div span,.swpm-form-builder li.swpm-three-column div span,.swpm-form-builder li.swpm-auto-column div span{margin:0 5px 0 0;width:48%}.swpm-form-builder li.swpm-three-column div span{width:30%}.swpm-form-builder li.swpm-auto-column div span{width:auto}.swpm-form-builder li.swpm-left-half,.swpm-form-builder li.swpm-left-third,.swpm-form-builder li.swpm-left-two-thirds{float:left;clear:left}.swpm-form-builder li.swpm-right-half,.swpm-form-builder li.swpm-right-third,.swpm-form-builder li.swpm-right-two-thirds{float:right;clear:none}.swpm-form-builder li.swpm-middle-third{float:left;clear:none;margin-left:2%}.swpm-form-builder li.swpm-left-half,.swpm-form-builder li.swpm-right-half{width:47%!important}.swpm-form-builder li.swpm-left-third,.swpm-form-builder li.swpm-middle-third,.swpm-form-builder li.swpm-right-third{width:30%!important}.swpm-form-builder li.swpm-left-two-thirds,.swpm-form-builder li.swpm-right-two-thirds{width:64%!important}li.swpm-left-half .swpm-small,li.swpm-left-half .swpm-medium,li.swpm-left-half .swpm-large,li.swpm-right-half .swpm-small,li.swpm-right-half .swpm-medium,li.swpm-right-half .swpm-large,li.swpm-left-third .swpm-small,li.swpm-left-third .swpm-medium,li.swpm-left-third .swpm-large,li.swpm-middle-third .swpm-small,li.swpm-middle-third .swpm-medium,li.swpm-middle-third .swpm-large,li.swpm-right-third .swpm-small,li.swpm-right-third .swpm-medium,li.swpm-right-third .swpm-large,.swpm-form-builder li.swpm-left-two-thirds .swpm-small,.swpm-form-builder li.swpm-left-two-thirds .swpm-medium,.swpm-form-builder li.swpm-left-two-thirds .swpm-large,.swpm-form-builder li.swpm-right-two-thirds .swpm-small,.swpm-form-builder li.swpm-right-two-thirds .swpm-medium,.swpm-form-builder li.swpm-right-two-thirds .swpm-large{width:100%}label.swpm-error{color:red;font-weight:bold;font-size:90%}input.swpm-error,input.swpm-text.swpm-error,input[type="text"].swpm-text.swpm-error,input[type="tel"].swpm-text.swpm-error,input[type="email"].swpm-text.swpm-error,input[type="url"].swpm-text.swpm-error,select.swpm-error,textarea.swpm-error,textarea.swpm-textarea.swpm-error,{border:1px solid red}p#form_success,.swpm-form-success{color:green;font-weight:bold}#ui-datepicker-div{display:none;font-size:12px}.swpm-item-instructions{border-radius:3px;background-color:#e3e3e3}.swpm-item-instructions ul,.swpm-item-instructions ul li{padding-bottom:0;list-style:disc}.swpm-item-instructions ol,.swpm-item-instructions ol li{padding-bottom:0;list-style:decimal}.swpm-section-div{float:left;margin:10px 0;padding:10px;width:97%;border-radius:3px;background-color:#d4d4d4}.swpm-form-builder .swpm-section-div h4{margin:0!important;padding:0!important;border-bottom:1px solid #bababa;font-size:16px;line-height:inherit}.swpm-clear{display:block;visibility:hidden;clear:both;overflow:hidden;width:0;height:0}.swpm-conditional-hide{display:none}
\ No newline at end of file
diff --git a/images/arrows-2x.png b/images/arrows-2x.png
new file mode 100644 (file)
index 0000000..0b0c53d
Binary files /dev/null and b/images/arrows-2x.png differ
diff --git a/images/arrows-dark-2x.png b/images/arrows-dark-2x.png
new file mode 100644 (file)
index 0000000..86be981
Binary files /dev/null and b/images/arrows-dark-2x.png differ
diff --git a/images/arrows-dark-vs-2x.png b/images/arrows-dark-vs-2x.png
new file mode 100644 (file)
index 0000000..c509a4e
Binary files /dev/null and b/images/arrows-dark-vs-2x.png differ
diff --git a/images/arrows-dark-vs.png b/images/arrows-dark-vs.png
new file mode 100644 (file)
index 0000000..3c48995
Binary files /dev/null and b/images/arrows-dark-vs.png differ
diff --git a/images/arrows-dark.png b/images/arrows-dark.png
new file mode 100644 (file)
index 0000000..8ab7346
Binary files /dev/null and b/images/arrows-dark.png differ
diff --git a/images/arrows-vs-2x.png b/images/arrows-vs-2x.png
new file mode 100644 (file)
index 0000000..be55877
Binary files /dev/null and b/images/arrows-vs-2x.png differ
diff --git a/images/arrows-vs.png b/images/arrows-vs.png
new file mode 100644 (file)
index 0000000..4f1421d
Binary files /dev/null and b/images/arrows-vs.png differ
diff --git a/images/arrows.png b/images/arrows.png
new file mode 100644 (file)
index 0000000..9e4a96c
Binary files /dev/null and b/images/arrows.png differ
diff --git a/images/swpm-form-items-2x.png b/images/swpm-form-items-2x.png
new file mode 100644 (file)
index 0000000..9c17213
Binary files /dev/null and b/images/swpm-form-items-2x.png differ
diff --git a/images/swpm-form-items.png b/images/swpm-form-items.png
new file mode 100644 (file)
index 0000000..98662dd
Binary files /dev/null and b/images/swpm-form-items.png differ
diff --git a/images/swpm-interface-icons-2x.png b/images/swpm-interface-icons-2x.png
new file mode 100644 (file)
index 0000000..9e4c100
Binary files /dev/null and b/images/swpm-interface-icons-2x.png differ
diff --git a/images/swpm-interface-icons.png b/images/swpm-interface-icons.png
new file mode 100644 (file)
index 0000000..3ac34ea
Binary files /dev/null and b/images/swpm-interface-icons.png differ
diff --git a/images/swpm_icon.png b/images/swpm_icon.png
new file mode 100644 (file)
index 0000000..52dc8a0
Binary files /dev/null and b/images/swpm_icon.png differ
diff --git a/includes/admin-field-options.php b/includes/admin-field-options.php
new file mode 100644 (file)
index 0000000..94fd418
--- /dev/null
@@ -0,0 +1,448 @@
+<?php
+global $wpdb;
+
+$field_where = ( isset( $field_id ) && !is_null( $field_id ) ) ? "AND field_id = $field_id" : '';
+// Display all fields for the selected form
+$fields = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $this->field_table_name WHERE form_id = %d $field_where ORDER BY field_sequence ASC", $form_nav_selected_id ) );
+
+$depth = 1;
+$parent = $last = 0;
+ob_start();
+
+// Loop through each field and display
+foreach ( $fields as &$field ) :
+       // If we are at the root level
+       if ( !$field->field_parent && $depth > 1 ) {
+               // If we've been down a level, close out the list
+               while ( $depth > 1 ) {
+                       echo '</li></ul>';
+                       $depth--;
+               }
+
+               // Close out the root item
+               echo '</li>';
+       }
+       // first item of <ul>, so move down a level
+       elseif ( $field->field_parent && $field->field_parent == $last ) {
+               echo '<ul class="parent">';
+               $depth++;
+       }
+       // Close up a <ul> and move up a level
+       elseif ( $field->field_parent && $field->field_parent != $parent ) {
+               echo '</li></ul></li>';
+               $depth--;
+       }
+       // Same level so close list item
+       elseif ( $field->field_parent && $field->field_parent == $parent )
+               echo '</li>';
+
+       // Store item ID and parent ID to test for nesting
+       $last = $field->field_id;
+       $parent = $field->field_parent;
+?>
+<li id="form_item_<?php echo $field->field_id; ?>" class="form-item<?php echo ( in_array( $field->field_type, array( 'submit', 'secret', 'verification' ) ) ) ? ' ui-state-disabled' : ''; ?><?php echo ( !in_array( $field->field_type, array( 'fieldset', 'section', 'verification' ) ) ) ? ' mjs-nestedSortable-no-nesting' : ''; ?>">
+<dl class="menu-item-bar swpm-menu-item-inactive">
+       <dt class="swpm-menu-item-handle swpm-menu-item-type-<?php echo esc_attr( $field->field_type ); ?>">
+               <span class="item-title"><?php echo stripslashes( esc_attr( $field->field_name ) ); ?><?php echo ( $field->field_required == 'yes' ) ? ' <span class="is-field-required">*</span>' : ''; ?></span>
+        <span class="item-controls">
+                       <span class="item-type"><?php echo strtoupper( str_replace( '-', ' ', $field->field_type ) ); ?></span>
+                       <a href="#" title="<?php _e( 'Edit Field Item' , 'swpm-form-builder'); ?>" id="edit-<?php echo $field->field_id; ?>" class="item-edit"><?php _e( 'Edit Field Item' , 'swpm-form-builder'); ?></a>
+               </span>
+       </dt>
+</dl>
+
+<div id="form-item-settings-<?php echo $field->field_id; ?>" class="menu-item-settings field-type-<?php echo $field->field_type; ?>" style="display: none;">
+<?php if ( in_array( $field->field_type, array( 'fieldset', 'section', 'verification' ) ) ) : ?>
+
+       <p class="description description-wide">
+               <label for="edit-form-item-name-<?php echo $field->field_id; ?>"><?php echo ( in_array( $field->field_type, array( 'fieldset', 'verification' ) ) ) ? 'Legend' : 'Name'; ?>
+        <span class="swpm-tooltip" rel="<?php esc_attr_e( 'For Fieldsets, a Legend is simply the name of that group. Use general terms that describe the fields included in this Fieldset.', 'swpm-form-builder' ); ?>" title="<?php esc_attr_e( 'About Legend', 'swpm-form-builder' ); ?>">(?)</span>
+            <br />
+                       <input type="text" value="<?php echo stripslashes( esc_attr( $field->field_name ) ); ?>" name="field_name-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-name-<?php echo $field->field_id; ?>" maxlength="255" />
+               </label>
+       </p>
+    <p class="description description-wide">
+        <label for="edit-form-item-css-<?php echo $field->field_id; ?>">
+            <?php _e( 'CSS Classes' , 'swpm-form-builder'); ?>
+            <span class="swpm-tooltip" rel="<?php esc_attr_e( 'For each field, you can insert your own CSS class names which can be used in your own stylesheets.', 'swpm-form-builder' ); ?>" title="<?php esc_attr_e( 'About CSS Classes', 'swpm-form-builder' ); ?>">(?)</span>
+            <br />
+            <input type="text" value="<?php echo stripslashes( esc_attr( $field->field_css ) ); ?>" name="field_css-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-css-<?php echo $field->field_id; ?>" />
+        </label>
+    </p>
+
+<?php elseif( $field->field_type == 'instructions' ) : ?>
+       <!-- Instructions -->
+       <p class="description description-wide">
+               <label for="edit-form-item-name-<?php echo $field->field_id; ?>">
+                               <?php _e( 'Name' , 'swpm-form-builder'); ?>
+                <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Name', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( "A field's name is the most visible and direct way to describe what that field is for.", 'swpm-form-builder' ); ?>">(?)</span>
+                <br />
+                               <input type="text" value="<?php echo stripslashes( esc_attr( $field->field_name ) ); ?>" name="field_name-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-name-<?php echo $field->field_id; ?>" maxlength="255" />
+               </label>
+       </p>
+       <!-- Description -->
+       <p class="description description-wide">
+               <label for="edit-form-item-description-<?php echo $field->field_id; ?>">
+               <?php _e( 'Description (HTML tags allowed)', 'swpm-form-builder' ); ?>
+               <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Instructions Description', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'The Instructions field allows for long form explanations, typically seen at the beginning of Fieldsets or Sections. HTML tags are allowed.', 'swpm-form-builder' ); ?>">(?)</span>
+            <br />
+                       <textarea name="field_description-<?php echo $field->field_id; ?>" class="widefat edit-menu-item-description" cols="20" rows="3" id="edit-form-item-description-<?php echo $field->field_id; ?>" /><?php echo stripslashes( $field->field_description ); ?></textarea>
+               </label>
+       </p>
+       <!-- CSS Classes -->
+<p class="description description-thin">
+    <label for="edit-form-item-css-<?php echo $field->field_id; ?>">
+        <?php _e( 'CSS Classes' , 'swpm-form-builder-pro'); ?>
+        <span class="swpm-tooltip" rel="<?php esc_attr_e( 'For each field, you can insert your own CSS class names which can be used in your own stylesheets.', 'swpm-form-builder-pro' ); ?>" title="<?php esc_attr_e( 'About CSS Classes', 'swpm-form-builder-pro' ); ?>">(?)</span>
+        <br />
+        <input type="text" value="<?php echo stripslashes( esc_attr( $field->field_css ) ); ?>" name="field_css-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-css-<?php echo $field->field_id; ?>" />
+    </label>
+</p>
+
+<!-- Field Layout -->
+<p class="description description-thin">
+       <label for="edit-form-item-layout">
+               <?php _e( 'Field Layout' , 'swpm-form-builder-pro'); ?>
+        <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Field Layout', 'swpm-form-builder-pro' ); ?>" rel="<?php esc_attr_e( 'Used to create advanced layouts. Align fields side by side in various configurations.', 'swpm-form-builder-pro' ); ?>">(?)</span>
+    <br />
+               <select name="field_layout-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-layout-<?php echo $field->field_id; ?>">
+
+                       <option value="" <?php selected( $field->field_layout, '' ); ?>><?php _e( 'Default' , 'swpm-form-builder-pro'); ?></option>
+            <optgroup label="------------">
+            <option value="left-half" <?php selected( $field->field_layout, 'left-half' ); ?>><?php _e( 'Left Half' , 'swpm-form-builder-pro'); ?></option>
+            <option value="right-half" <?php selected( $field->field_layout, 'right-half' ); ?>><?php _e( 'Right Half' , 'swpm-form-builder-pro'); ?></option>
+            </optgroup>
+            <optgroup label="------------">
+                       <option value="left-third" <?php selected( $field->field_layout, 'left-third' ); ?>><?php _e( 'Left Third' , 'swpm-form-builder-pro'); ?></option>
+            <option value="middle-third" <?php selected( $field->field_layout, 'middle-third' ); ?>><?php _e( 'Middle Third' , 'swpm-form-builder-pro'); ?></option>
+            <option value="right-third" <?php selected( $field->field_layout, 'right-third' ); ?>><?php _e( 'Right Third' , 'swpm-form-builder-pro'); ?></option>
+            </optgroup>
+            <optgroup label="------------">
+            <option value="left-two-thirds" <?php selected( $field->field_layout, 'left-two-thirds' ); ?>><?php _e( 'Left Two Thirds' , 'swpm-form-builder-pro'); ?></option>
+            <option value="right-two-thirds" <?php selected( $field->field_layout, 'right-two-thirds' ); ?>><?php _e( 'Right Two Thirds' , 'swpm-form-builder-pro'); ?></option>
+            </optgroup>
+            <?php apply_filters( 'swpm_admin_field_layout', $field->field_layout ); ?>
+               </select>
+       </label>
+</p>
+
+<?php else: ?>
+
+       <!-- Name -->
+       <p class="description description-wide">
+               <label for="edit-form-item-name-<?php echo $field->field_id; ?>">
+                       <?php _e( 'Name' , 'swpm-form-builder'); ?>
+            <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Name', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( "A field's name is the most visible and direct way to describe what that field is for.", 'swpm-form-builder' ); ?>">(?)</span>
+            <br />
+                       <input type="text" value="<?php echo stripslashes( esc_attr( $field->field_name ) ); ?>" name="field_name-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-name-<?php echo $field->field_id; ?>" maxlength="255" />
+               </label>
+       </p>
+       <?php if ( $field->field_type == 'submit' ) : ?>
+               <!-- CSS Classes -->
+        <p class="description description-wide">
+            <label for="edit-form-item-css-<?php echo $field->field_id; ?>">
+                <?php _e( 'CSS Classes' , 'swpm-form-builder'); ?>
+                <span class="swpm-tooltip" rel="<?php esc_attr_e( 'For each field, you can insert your own CSS class names which can be used in your own stylesheets.', 'swpm-form-builder' ); ?>" title="<?php esc_attr_e( 'About CSS Classes', 'swpm-form-builder' ); ?>">(?)</span>
+                <br />
+                <input type="text" value="<?php echo stripslashes( esc_attr( $field->field_css ) ); ?>" name="field_css-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-css-<?php echo $field->field_id; ?>" />
+            </label>
+        </p>
+       <?php elseif ( $field->field_type !== 'submit' ) : ?>
+               <!-- Description -->
+               <p class="description description-wide">
+                       <label for="edit-form-item-description-<?php echo $field->field_id; ?>">
+                               <?php _e( 'Description' , 'swpm-form-builder'); ?>
+                 <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Description', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'A description is an optional piece of text that further explains the meaning of this field. Descriptions are displayed below the field. HTML tags are allowed.', 'swpm-form-builder' ); ?>">(?)</span>
+                <br />
+                               <textarea name="field_description-<?php echo $field->field_id; ?>" class="widefat edit-menu-item-description" cols="20" rows="3" id="edit-form-item-description-<?php echo $field->field_id; ?>" /><?php echo stripslashes( $field->field_description ); ?></textarea>
+                       </label>
+               </p>
+
+               <?php
+                       // Display the Options input only for radio, checkbox, and select fields
+                       if ( in_array( $field->field_type, array( 'radio', 'checkbox', 'select' ) ) ) : ?>
+                       <!-- Options -->
+                       <p class="description description-wide">
+                               <?php _e( 'Options' , 'swpm-form-builder'); ?>
+                <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Options', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'This property allows you to set predefined options to be selected by the user.  Use the plus and minus buttons to add and delete options.  At least one option must exist.', 'swpm-form-builder' ); ?>">(?)</span>
+                <br />
+                       <?php
+                               // If the options field isn't empty, unserialize and build array
+                               if ( !empty( $field->field_options ) ) {
+                                       if ( is_serialized( $field->field_options ) )
+                                               $opts_vals = ( is_array( unserialize( $field->field_options ) ) ) ? unserialize( $field->field_options ) : explode( ',', unserialize( $field->field_options ) );
+                               }
+                               // Otherwise, present some default options
+                               else
+                                       $opts_vals = array( 'Option 1', 'Option 2', 'Option 3' );
+
+                               // Basic count to keep track of multiple options
+                               $count = 1;
+?>
+                       <div class="swpm-cloned-options">
+                       <?php foreach ( $opts_vals as $options ) : ?>
+                       <div id="clone-<?php echo $field->field_id . '-' . $count; ?>" class="option">
+                               <label for="edit-form-item-options-<?php echo $field->field_id . "-$count"; ?>" class="clonedOption">
+                                       <input type="radio" value="<?php echo esc_attr( $count ); ?>" name="field_default-<?php echo $field->field_id; ?>" <?php checked( $field->field_default, $count ); ?> />
+                                       <input type="text" value="<?php echo stripslashes( esc_attr( $options ) ); ?>" name="field_options-<?php echo $field->field_id; ?>[]" class="widefat" id="edit-form-item-options-<?php echo $field->field_id . "-$count"; ?>" />
+                               </label>
+
+                               <a href="#" class="deleteOption swpm-interface-icon swpm-interface-minus" title="Delete Option">
+                                       <?php _e( 'Delete', 'swpm-form-builder' ); ?>
+                               </a>
+                               <span class="swpm-interface-icon swpm-interface-sort" title="<?php esc_attr_e( 'Drag and Drop to Sort Options', 'swpm-form-builder-pro' ); ?>"></span>
+                       </div>
+                       <?php
+                                       $count++;
+                               endforeach;
+                       ?>
+
+                       </div> <!-- .swpm-cloned-options -->
+                       <div class="clear"></div>
+                       <div class="swpm-add-options-group">
+                               <a href="#" class="swpm-button swpm-add-option" title="Add Option">
+                                       <?php _e( 'Add Option', 'swpm-form-builder' ); ?>
+                                       <span class="swpm-interface-icon swpm-interface-plus"></span>
+                               </a>
+                       </div>
+                       </p>
+               <?php
+                       // Unset the options for any following radio, checkboxes, or selects
+                       unset( $opts_vals );
+                       endif;
+               ?>
+
+               <?php if ( in_array( $field->field_type, array( 'file-upload' ) ) ) : ?>
+               <!-- File Upload Accepts -->
+                       <p class="description description-wide">
+                <?php
+                               $opts_vals = array( '' );
+
+                               // If the options field isn't empty, unserialize and build array
+                               if ( !empty( $field->field_options ) ) {
+                                       if ( is_serialized( $field->field_options ) )
+                                               $opts_vals = ( is_array( unserialize( $field->field_options ) ) ) ? unserialize( $field->field_options ) : unserialize( $field->field_options );
+                               }
+
+                               // Loop through the options
+                               foreach ( $opts_vals as $options ) {
+                       ?>
+                               <label for="edit-form-item-options-<?php echo $field->field_id; ?>">
+                                       <?php _e( 'Accepted File Extensions' , 'swpm-form-builder'); ?>
+                    <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Accepted File Extensions', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'Control the types of files allowed.  Enter extensions without periods and separate multiples using the pipe character ( | ).', 'swpm-form-builder' ); ?>">(?)</span>
+                       <br />
+                    <input type="text" value="<?php echo stripslashes( esc_attr( $options ) ); ?>" name="field_options-<?php echo $field->field_id; ?>[]" class="widefat" id="edit-form-item-options-<?php echo $field->field_id; ?>" />
+                               </label>
+            </p>
+        <?php
+                               }
+                       // Unset the options for any following radio, checkboxes, or selects
+                       unset( $opts_vals );
+                       endif;
+               ?>
+
+               <?php if ( in_array( $field->field_type, array( 'date' ) ) ) : ?>
+               <!-- Date Format -->
+                       <p class="description description-wide">
+                               <?php
+                                       $opts_vals = maybe_unserialize( $field->field_options );
+                                       $dateFormat = ( isset( $opts_vals['dateFormat'] ) ) ? $opts_vals['dateFormat'] : 'mm/dd/yy';
+                               ?>
+                               <label for="edit-form-item-date-dateFormat-<?php echo $field->field_id; ?>">
+                                       <?php _e( 'Date Format', 'swpm-form-builder' ); ?>
+                                       <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Date Format', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'Set the date format for each date picker.', 'swpm-form-builder' ); ?>">(?)</span>
+                                       <br />
+                                       <input type="text" value="<?php echo esc_attr( $dateFormat ); ?>" name="field_options-<?php echo $field->field_id; ?>[dateFormat]" class="widefat" id="edit-form-item-date-dateFormat-<?php echo $field->field_id; ?>" />
+                               </label>
+               </p>
+               <?php
+                       // Unset the options for any following radio, checkboxes, or selects
+                       unset( $opts_vals );
+                       endif;
+               ?>
+               <!-- Validation -->
+               <p class="description description-thin">
+                       <label for="edit-form-item-validation">
+                               <?php _e( 'Validation' , 'swpm-form-builder'); ?>
+                <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Validation', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'Ensures user-entered data is formatted properly. For more information on Validation, refer to the Help tab at the top of this page.', 'swpm-form-builder' ); ?>">(?)</span>
+                <br />
+
+                          <?php if ( in_array( $field->field_type , array( 'text', 'time', 'number' ) ) ) : ?>
+                                  <select name="field_validation-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-validation-<?php echo $field->field_id; ?>">
+                                               <?php if ( $field->field_type == 'time' ) : ?>
+                                               <option value="time-12" <?php selected( $field->field_validation, 'time-12' ); ?>><?php _e( '12 Hour Format' , 'swpm-form-builder'); ?></option>
+                                               <option value="time-24" <?php selected( $field->field_validation, 'time-24' ); ?>><?php _e( '24 Hour Format' , 'swpm-form-builder'); ?></option>
+                                               <?php elseif ( in_array( $field->field_type, array( 'number' ) ) ) : ?>
+                        <option value="number" <?php selected( $field->field_validation, 'number' ); ?>><?php _e( 'Number' , 'swpm-form-builder'); ?></option>
+                                               <option value="digits" <?php selected( $field->field_validation, 'digits' ); ?>><?php _e( 'Digits' , 'swpm-form-builder'); ?></option>
+                                               <?php else : ?>
+                                               <option value="" <?php selected( $field->field_validation, '' ); ?>><?php _e( 'None' , 'swpm-form-builder'); ?></option>
+                                               <option value="email" <?php selected( $field->field_validation, 'email' ); ?>><?php _e( 'Email' , 'swpm-form-builder'); ?></option>
+                                               <option value="url" <?php selected( $field->field_validation, 'url' ); ?>><?php _e( 'URL' , 'swpm-form-builder'); ?></option>
+                                               <option value="date" <?php selected( $field->field_validation, 'date' ); ?>><?php _e( 'Date' , 'swpm-form-builder'); ?></option>
+                                               <option value="number" <?php selected( $field->field_validation, 'number' ); ?>><?php _e( 'Number' , 'swpm-form-builder'); ?></option>
+                                               <option value="digits" <?php selected( $field->field_validation, 'digits' ); ?>><?php _e( 'Digits' , 'swpm-form-builder'); ?></option>
+                                               <option value="phone" <?php selected( $field->field_validation, 'phone' ); ?>><?php _e( 'Phone' , 'swpm-form-builder'); ?></option>
+                                               <?php endif; ?>
+                                  </select>
+                          <?php else :
+                                  $field_validation = '';
+
+                                  switch ( $field->field_type ) {
+                                          case 'email' :
+                                               case 'url' :
+                                               case 'phone' :
+                                                       $field_validation = $field->field_type;
+                                               break;
+
+                                               case 'currency' :
+                                                       $field_validation = 'number';
+                                               break;
+
+                                               case 'number' :
+                                                       $field_validation = 'digits';
+                                               break;
+                                  }
+
+                          ?>
+                          <input type="text" class="widefat" name="field_validation-<?php echo $field->field_id; ?>" value="<?php echo $field_validation; ?>" readonly="readonly" />
+                          <?php endif; ?>
+
+                       </label>
+               </p>
+
+               <!-- Required -->
+               <p class="field-link-target description description-thin">
+                       <label for="edit-form-item-required">
+                               <?php _e( 'Required' , 'swpm-form-builder'); ?>
+                <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Required', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'Requires the field to be completed before the form is submitted. By default, all fields are set to No.', 'swpm-form-builder' ); ?>">(?)</span>
+                <br />
+                               <select name="field_required-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-required-<?php echo $field->field_id; ?>">
+                                       <option value="no" <?php selected( $field->field_required, 'no' ); ?>><?php _e( 'No' , 'swpm-form-builder'); ?></option>
+                                       <option value="yes" <?php selected( $field->field_required, 'yes' ); ?>><?php _e( 'Yes' , 'swpm-form-builder'); ?></option>
+                               </select>
+                       </label>
+               </p>
+
+               <?php if ( !in_array( $field->field_type, array( 'radio', 'checkbox', 'time' ) ) ) : ?>
+                       <!-- Size -->
+                       <p class="description description-thin">
+                               <label for="edit-form-item-size">
+                                       <?php _e( 'Size' , 'swpm-form-builder'); ?>
+                    <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Size', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'Control the size of the field.  By default, all fields are set to Medium.', 'swpm-form-builder' ); ?>">(?)</span>
+                    <br />
+                                       <select name="field_size-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-size-<?php echo $field->field_id; ?>">
+                       <option value="small" <?php selected( $field->field_size, 'small' ); ?>><?php _e( 'Small' , 'swpm-form-builder'); ?></option>
+                                               <option value="medium" <?php selected( $field->field_size, 'medium' ); ?>><?php _e( 'Medium' , 'swpm-form-builder'); ?></option>
+                                               <option value="large" <?php selected( $field->field_size, 'large' ); ?>><?php _e( 'Large' , 'swpm-form-builder'); ?></option>
+                                       </select>
+                               </label>
+                       </p>
+
+               <?php elseif ( in_array( $field->field_type, array( 'radio', 'checkbox', 'time' ) ) ) : ?>
+                       <!-- Options Layout -->
+                       <p class="description description-thin">
+                               <label for="edit-form-item-size">
+                                       <?php _e( 'Options Layout' , 'swpm-form-builder'); ?>
+                    <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Options Layout', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'Control the layout of radio buttons or checkboxes.  By default, options are arranged in One Column.', 'swpm-form-builder' ); ?>">(?)</span>
+                    <br />
+                                       <select name="field_size-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-size-<?php echo $field->field_id; ?>"<?php echo ( $field->field_type == 'time' ) ? ' disabled="disabled"' : ''; ?>>
+                                               <option value="" <?php selected( $field->field_size, '' ); ?>><?php _e( 'One Column' , 'swpm-form-builder'); ?></option>
+                        <option value="two-column" <?php selected( $field->field_size, 'two-column' ); ?>><?php _e( 'Two Columns' , 'swpm-form-builder'); ?></option>
+                                               <option value="three-column" <?php selected( $field->field_size, 'three-column' ); ?>><?php _e( 'Three Columns' , 'swpm-form-builder'); ?></option>
+                        <option value="auto-column" <?php selected( $field->field_size, 'auto-column' ); ?>><?php _e( 'Auto Width' , 'swpm-form-builder'); ?></option>
+                                       </select>
+                               </label>
+                       </p>
+
+               <?php endif; ?>
+                       <!-- Field Layout -->
+                       <p class="description description-thin">
+                               <label for="edit-form-item-layout">
+                                       <?php _e( 'Field Layout' , 'swpm-form-builder'); ?>
+                    <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Field Layout', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'Used to create advanced layouts. Align fields side by side in various configurations.', 'swpm-form-builder' ); ?>">(?)</span>
+                    <br />
+                                       <select name="field_layout-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-layout-<?php echo $field->field_id; ?>">
+
+                                               <option value="" <?php selected( $field->field_layout, '' ); ?>><?php _e( 'Default' , 'swpm-form-builder'); ?></option>
+                        <optgroup label="------------">
+                        <option value="left-half" <?php selected( $field->field_layout, 'left-half' ); ?>><?php _e( 'Left Half' , 'swpm-form-builder'); ?></option>
+                        <option value="right-half" <?php selected( $field->field_layout, 'right-half' ); ?>><?php _e( 'Right Half' , 'swpm-form-builder'); ?></option>
+                        </optgroup>
+                        <optgroup label="------------">
+                                               <option value="left-third" <?php selected( $field->field_layout, 'left-third' ); ?>><?php _e( 'Left Third' , 'swpm-form-builder'); ?></option>
+                        <option value="middle-third" <?php selected( $field->field_layout, 'middle-third' ); ?>><?php _e( 'Middle Third' , 'swpm-form-builder'); ?></option>
+                        <option value="right-third" <?php selected( $field->field_layout, 'right-third' ); ?>><?php _e( 'Right Third' , 'swpm-form-builder'); ?></option>
+                        </optgroup>
+                        <optgroup label="------------">
+                        <option value="left-two-thirds" <?php selected( $field->field_layout, 'left-two-thirds' ); ?>><?php _e( 'Left Two Thirds' , 'swpm-form-builder'); ?></option>
+                        <option value="right-two-thirds" <?php selected( $field->field_layout, 'right-two-thirds' ); ?>><?php _e( 'Right Two Thirds' , 'swpm-form-builder'); ?></option>
+                        </optgroup>
+                                       </select>
+                               </label>
+                       </p>
+               <?php if ( !in_array( $field->field_type, array( 'radio', 'select', 'checkbox', 'time', 'address' ) ) ) : ?>
+               <!-- Default Value -->
+               <p class="description description-wide">
+            <label for="edit-form-item-default-<?php echo $field->field_id; ?>">
+                <?php _e( 'Default Value' , 'swpm-form-builder'); ?>
+                <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Default Value', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'Set a default value that will be inserted automatically.', 'swpm-form-builder' ); ?>">(?)</span>
+               <br />
+                <input type="text" value="<?php echo stripslashes( esc_attr( $field->field_default ) ); ?>" name="field_default-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-default-<?php echo $field->field_id; ?>" maxlength="255" />
+            </label>
+               </p>
+               <?php elseif( in_array( $field->field_type, array( 'address' ) ) ) : ?>
+               <!-- Default Country -->
+               <p class="description description-wide">
+            <label for="edit-form-item-default-<?php echo $field->field_id; ?>">
+                <?php _e( 'Default Country' , 'swpm-form-builder'); ?>
+                <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Default Country', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'Select the country you would like to be displayed by default.', 'swpm-form-builder' ); ?>">(?)</span>
+               <br />
+                <select name="field_default-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-default-<?php echo $field->field_id; ?>">
+                <?php
+                foreach ( $this->countries as $country ) {
+                                       echo '<option value="' . $country . '" ' . selected( $field->field_default, $country, 0 ) . '>' . $country . '</option>';
+                               }
+                               ?>
+                               </select>
+            </label>
+               </p>
+               <?php endif; ?>
+               <!-- CSS Classes -->
+               <p class="description description-wide">
+            <label for="edit-form-item-css-<?php echo $field->field_id; ?>">
+                <?php _e( 'CSS Classes' , 'swpm-form-builder'); ?>
+                <span class="swpm-tooltip" title="<?php esc_attr_e( 'About CSS Classes', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'For each field, you can insert your own CSS class names which can be used in your own stylesheets.', 'swpm-form-builder' ); ?>">(?)</span>
+                <br />
+                <input type="text" value="<?php echo stripslashes( esc_attr( $field->field_css ) ); ?>" name="field_css-<?php echo $field->field_id; ?>" class="widefat" id="edit-form-item-css-<?php echo $field->field_id; ?>" maxlength="255" />
+            </label>
+               </p>
+
+       <?php endif; ?>
+<?php endif; ?>
+
+<?php if ( !in_array( $field->field_key, array('user_name','password','membership_level','primary_email','verification', 'secret', 'submit' ) )) : ?>
+               <!-- Delete link -->
+               <a href="<?php echo esc_url( wp_nonce_url( admin_url('admin.php?page=swpm-form-builder&amp;action=delete_field&amp;form=' . $form_nav_selected_id . '&amp;field=' . $field->field_id ), 'delete-field-' . $form_nav_selected_id ) ); ?>" class="swpm-button swpm-delete item-delete submitdelete deletion">
+                       <?php _e( 'Delete' , 'swpm-form-builder'); ?>
+                       <span class="swpm-interface-icon swpm-interface-trash"></span>
+               </a>
+<?php endif; ?>
+
+<input type="hidden" name="field_id[<?php echo $field->field_id; ?>]" value="<?php echo $field->field_id; ?>" />
+</div>
+<?php
+endforeach;
+
+// This assures all of the <ul> and <li> are closed
+if ( $depth > 1 ) {
+       while( $depth > 1 ) {
+               echo '</li>
+                       </ul>';
+               $depth--;
+       }
+}
+
+// Close out last item
+echo '</li>';
+echo ob_get_clean();
diff --git a/includes/admin-form-creator.php b/includes/admin-form-creator.php
new file mode 100644 (file)
index 0000000..77afd96
--- /dev/null
@@ -0,0 +1,242 @@
+<?php
+$order = sanitize_sql_orderby( 'form_id DESC' );
+$form = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $this->form_table_name WHERE form_id = %d ORDER BY $order", $form_nav_selected_id ) );
+
+if ( !$form || $form->form_id !== $form_nav_selected_id )
+       wp_die( 'You must select a form' );
+
+$form_id                                       = $form->form_id;
+$form_title                            = stripslashes( $form->form_title );
+$form_subject                          = stripslashes( $form->form_email_subject );
+$form_email_from_name          = stripslashes( $form->form_email_from_name );
+$form_email_from                       = stripslashes( $form->form_email_from);
+$form_email_from_override      = stripslashes( $form->form_email_from_override);
+$form_email_from_name_override = stripslashes( $form->form_email_from_name_override);
+$form_email_to = ( is_array( unserialize( $form->form_email_to ) ) ) ? unserialize( $form->form_email_to ) : explode( ',', unserialize( $form->form_email_to ) );
+$form_success_type                     = stripslashes( $form->form_success_type );
+$form_success_message          = stripslashes( $form->form_success_message );
+$form_notification_setting     = stripslashes( $form->form_notification_setting );
+$form_notification_email_name = stripslashes( $form->form_notification_email_name );
+$form_notification_email_from = stripslashes( $form->form_notification_email_from );
+$form_notification_email       = stripslashes( $form->form_notification_email );
+$form_notification_subject     = stripslashes( $form->form_notification_subject );
+$form_notification_message     = stripslashes( $form->form_notification_message );
+$form_notification_entry       = stripslashes( $form->form_notification_entry );
+$form_type                  = $form->form_type;
+$form_label_alignment          = stripslashes( $form->form_label_alignment );
+
+// Only show required text fields for the sender name override
+$senders = $wpdb->get_results( $wpdb->prepare( "SELECT field_id, field_name FROM $this->field_table_name WHERE form_id = %d AND field_type IN( 'text', 'name' ) AND field_validation = '' AND field_required = 'yes'", $form_nav_selected_id ) );
+
+// Only show required email fields for the email override
+$emails = $wpdb->get_results( $wpdb->prepare( "SELECT field_id, field_name FROM $this->field_table_name WHERE (form_id = %d AND field_type='text' AND field_validation = 'email' AND field_required = 'yes') OR (form_id = %d AND field_type='email' AND field_validation = 'email' AND field_required = 'yes')", $form_nav_selected_id, $form_nav_selected_id ) );
+
+$screen = get_current_screen();
+$class = 'columns-' . get_current_screen()->get_columns();
+
+$page_main = $this->_admin_pages[ 'swpm' ];
+?>
+<div id="swpm-form-builder-frame" class="metabox-holder <?php echo $class; ?>">
+       <div id="swpm-postbox-container-1" class='swpm-postbox-container'>
+       <form id="form-items" class="nav-menu-meta" method="post" action="">
+                       <input name="action" type="hidden" value="create_field" />
+                       <input name="form_id" type="hidden" value="<?php echo $form_nav_selected_id; ?>" />
+                       <?php
+                       wp_nonce_field( 'create-field-' . $form_nav_selected_id );
+                       do_meta_boxes( $page_main, 'side', null );
+                       ?>
+               </form>
+       </div> <!-- .swpm-postbox-container -->
+
+    <div id="swpm-postbox-container-2" class='swpm-postbox-container'>
+           <div id="swpm-form-builder-main">
+               <div id="swpm-form-builder-management">
+                   <div class="form-edit">
+<form method="post" id="swpm-form-builder-update" action="">
+       <input name="action" type="hidden" value="update_form" />
+       <input name="form_id" type="hidden" value="<?php echo $form_nav_selected_id; ?>" />
+    <?php wp_nonce_field( 'swpm_update_form' ); ?>
+       <div id="form-editor-header">
+       <div id="submitpost" class="submitbox">
+               <div class="swpm-major-publishing-actions">
+                       <label for="form-name" class="menu-name-label howto open-label">
+                    <span class="sender-labels"><?php _e( 'Form Name' , 'swpm-form-builder'); ?></span>
+                    <input type="text" value="<?php echo ( isset( $form_title ) ) ? $form_title : ''; ?>" placeholder="<?php _e( 'Enter form name here' , 'swpm-form-builder'); ?>" class="menu-name regular-text menu-item-textbox required" id="form-name" name="form_title" />
+                </label>
+                <br class="clear" />
+
+                <?php
+                                       // Get the Form Setting drop down and accordion settings, if any
+                                       $user_form_settings = get_user_meta( $user_id, 'swpm-form-settings' );
+
+                                       // Setup defaults for the Form Setting tab and accordion
+                                       $settings_tab = 'closed';
+                                       $settings_accordion = 'general-settings';
+
+                                       // Loop through the user_meta array
+                                       foreach( $user_form_settings as $set ) :
+                                               // If form settings exist for this form, use them instead of the defaults
+                                               if ( isset( $set[ $form_id ] ) ) :
+                                                       $settings_tab           = $set[ $form_id ]['form_setting_tab'];
+                                                       $settings_accordion = $set[ $form_id ]['setting_accordion'];
+                                               endif;
+                                       endforeach;
+
+                                       // If tab is opened, set current class
+                                       $opened_tab = ( $settings_tab == 'opened' ) ? 'current' : '';
+                               ?>
+
+
+                <div class="swpm-button-group">
+                                       <a href="#form-settings" id="form-settings-button" class="swpm-button swpm-settings <?php echo $opened_tab; ?>">
+                                               <?php _e( 'Settings' , 'swpm-form-builder'); ?>
+                                               <span class="swpm-interface-icon swpm-interface-settings"></span>
+                                       </a>
+                    <a href="<?php echo esc_url( wp_nonce_url( admin_url('admin.php?page=swpm-form-builder&amp;action=copy_form&amp;form=' . $form_nav_selected_id ), 'copy-form-' . $form_nav_selected_id ) ); ?>" class="swpm-button swpm-duplicate">
+                       <?php _e( 'Duplicate' , 'swpm-form-builder'); ?>
+                       <span class="swpm-interface-icon swpm-interface-duplicate"></span>
+                    </a>
+                    <a href="<?php echo esc_url( wp_nonce_url( admin_url('admin.php?page=swpm-form-builder&amp;action=delete_form&amp;form=' . $form_nav_selected_id ), 'delete-form-' . $form_nav_selected_id ) ); ?>" class="swpm-button swpm-delete swpm-last menu-delete">
+                       <?php _e( 'Delete' , 'swpm-form-builder'); ?>
+                       <span class="swpm-interface-icon swpm-interface-trash"></span>
+                    </a>
+
+                    <?php submit_button( __( 'Save', 'swpm-form-builder' ), 'primary', 'save_form', false ); ?>
+                </div>
+
+                    <div id="form-settings" class="<?php echo $opened_tab; ?>">
+                        <!-- General settings section -->
+                            <!--<a href="#general-settings" class="settings-links<?php echo ( $settings_accordion == 'general-settings' ) ? ' on' : ''; ?>"><?php _e( 'General', 'swpm-form-builder' ); ?><span class="swpm-large-arrow"></span></a>
+                        <div id="general-settings" class="form-details<?php echo ( $settings_accordion == 'general-settings' ) ? ' on' : ''; ?>">
+                            <p class="description description-wide">
+                            <label for="form-label-alignment">
+                                <?php _e( 'Label Alignment' , 'swpm-form-builder'); ?>
+                                <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Label Alignment', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'Set the field labels for this form to be aligned either on top, to the left, or to the right.  By default, all labels are aligned on top of the inputs.' ); ?>">(?)</span>
+                                               <br />
+                             </label>
+                                <select name="form_label_alignment" id="form-label-alignment" class="widefat">
+                                    <option value="" <?php selected( $form_label_alignment, '' ); ?>><?php _e( 'Top Aligned' , 'swpm-form-builder'); ?></option>
+                                    <option value="left-label" <?php selected( $form_label_alignment, 'left-label' ); ?>><?php _e( 'Left Aligned' , 'swpm-form-builder'); ?></option>
+                                    <option value="right-label" <?php selected( $form_label_alignment, 'right-label' ); ?>><?php _e( 'Right Aligned' , 'swpm-form-builder'); ?></option>
+                                </select>
+                            </p>
+                            <br class="clear" />
+                        </div> --> <!-- #general-settings -->
+                        <!-- Confirmation section -->
+                        <a href="#confirmation" class="settings-links<?php echo ( $settings_accordion == 'confirmation' ) ? ' on' : ''; ?>"><?php _e( 'Confirmation', 'swpm-form-builder' ); ?><span class="swpm-large-arrow"></span></a>
+                        <div id="confirmation-message" class="form-details<?php echo ( $settings_accordion == 'confirmation' ) ? ' on' : ''; ?>">
+                            <p><em><?php _e( "After someone submits a form, you can control what is displayed. By default, it's a message but you can send them to another WordPress Page or a custom URL." , 'swpm-form-builder'); ?></em></p>
+                            <label for="form-success-type-text" class="menu-name-label open-label">
+                                <input type="radio" value="text" id="form-success-type-text" class="form-success-type" name="form_success_type" <?php checked( $form_success_type, 'text' ); ?> />
+                                <span><?php _e( 'Text' , 'swpm-form-builder'); ?></span>
+                            </label>
+                            <label for="form-success-type-page" class="menu-name-label open-label">
+                                <input type="radio" value="page" id="form-success-type-page" class="form-success-type" name="form_success_type" <?php checked( $form_success_type, 'page' ); ?>/>
+                                <span><?php _e( 'Page' , 'swpm-form-builder'); ?></span>
+                            </label>
+                            <label for="form-success-type-redirect" class="menu-name-label open-label">
+                                <input type="radio" value="redirect" id="form-success-type-redirect" class="form-success-type" name="form_success_type" <?php checked( $form_success_type, 'redirect' ); ?>/>
+                                <span><?php _e( 'Redirect' , 'swpm-form-builder'); ?></span>
+                            </label>
+                            <br class="clear" />
+                            <p class="description description-wide">
+                            <?php
+                            $default_text = '';
+
+                            /* If there's no text message, make sure there is something displayed by setting a default */
+                            if ( $form_success_message === '' ){
+                                $msg = ($form_type == SwpmFbForm::REGISTRATION)? BUtils::_("Registration is complete"): BUtils::_("Profile Updated.");
+                                $default_text = sprintf( '<p id="form_success">%s</p>', $msg );
+                            }
+                            ?>
+                            <textarea id="form-success-message-text" class="form-success-message<?php echo ( 'text' == $form_success_type ) ? ' active' : ''; ?>" name="form_success_message_text"><?php echo $default_text; ?><?php echo ( 'text' == $form_success_type ) ? $form_success_message : ''; ?></textarea>
+
+                            <?php
+                            /* Display all Pages */
+                            wp_dropdown_pages( array(
+                                'name' => 'form_success_message_page',
+                                'id' => 'form-success-message-page',
+                                'class' => 'widefat',
+                                'show_option_none' => __( 'Select a Page' , 'swpm-form-builder'),
+                                'selected' => $form_success_message
+                            ));
+                            ?>
+                            <input type="text" value="<?php echo ( 'redirect' == $form_success_type ) ? $form_success_message : ''; ?>" id="form-success-message-redirect" class="form-success-message regular-text<?php echo ( 'redirect' == $form_success_type ) ? ' active' : ''; ?>" name="form_success_message_redirect" placeholder="http://" />
+                            </p>
+                        <br class="clear" />
+
+                        </div>
+
+                        <!-- Notification section -->
+                        <a href="#notification" class="settings-links<?php echo ( $settings_accordion == 'notification' ) ? ' on' : ''; ?>"><?php _e( 'Notification', 'swpm-form-builder' ); ?><span class="swpm-large-arrow"></span></a>
+                        <div id="notification" class="form-details<?php echo ( $settings_accordion == 'notification' ) ? ' on' : ''; ?>">
+                            <p><em><?php _e( "When a user submits their entry, you can send a customizable notification email." , 'swpm-form-builder'); ?></em></p>
+                            <label for="form-notification-setting">
+                                <input type="checkbox" value="1" id="form-notification-setting" class="form-notification" name="form_notification_setting" <?php checked( $form_notification_setting, '1' ); ?> style="margin-top:-1px;margin-left:0;"/>
+                                <?php _e( 'Send Confirmation Email to User' , 'swpm-form-builder'); ?>
+                            </label>
+                            <br class="clear" />
+                            <div id="notification-email">
+                                <p class="description description-wide">
+                                <label for="form-notification-email-name">
+                                    <?php _e( 'From Email Address' , 'swpm-form-builder'); ?>
+                                    <span class="swpm-tooltip" title="<?php esc_attr_e( 'Sender Email Address', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'Enter the sender email you would like to use for the email notification.', 'swpm-form-builder' ); ?>">(?)</span>
+                                                       <br />
+                                    <input type="text" value="<?php echo $form_notification_email_name; ?>" class="widefat" id="form-notification-email-name" name="form_notification_email_name" />
+                                </label>
+                                </p>
+                                <br class="clear" />
+                                <p class="description description-wide">
+                                <label for="form-notification-subject">
+                                   <?php _e( 'E-mail Subject' , 'swpm-form-builder'); ?>
+                                   <span class="swpm-tooltip" title="<?php esc_attr_e( 'About E-mail Subject', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'This option sets the subject of the email that is sent to the emails you have set in the E-mail To field.', 'swpm-form-builder' ); ?>">(?)</span>
+                                                       <br />
+                                    <input type="text" value="<?php echo $form_notification_subject; ?>" class="widefat" id="form-notification-subject" name="form_notification_subject" />
+                                </label>
+                                </p>
+                                <br class="clear" />
+                                <p class="description description-wide">
+                                <label for="form-notification-message"><?php _e( 'Message' , 'swpm-form-builder'); ?></label>
+                                <span class="swpm-tooltip" title="<?php esc_attr_e( 'About Message', 'swpm-form-builder' ); ?>" rel="<?php esc_attr_e( 'Insert a message to the user. This will be inserted into the beginning of the email body.', 'swpm-form-builder' ); ?>">(?)</span>
+                                               <br />
+                                <textarea id="form-notification-message" class="form-notification-message widefat" name="form_notification_message"><?php echo $form_notification_message; ?></textarea>
+                                </p>
+                                <br class="clear" />
+                                <!--<label for="form-notification-entry">
+                                <input type="checkbox" value="1" id="form-notification-entry" class="form-notification" name="form_notification_entry" <?php checked( $form_notification_entry, '1' ); ?> style="margin-top:-1px;margin-left:0;"/>
+                                <?php _e( "Include a Copy of the User's Entry" , 'swpm-form-builder'); ?>
+                            </label>-->
+                            <br class="clear" />
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div id="post-body">
+        <div id="post-body-content">
+        <div id="swpm-fieldset-first-warning" class="error"><?php printf( '<p><strong>%1$s </strong><br>%2$s</p>', __( 'Warning &mdash; Missing Fieldset', 'swpm-form-builder' ), __( 'Your form may not function or display correctly. Please be sure to add or move a Fieldset to the beginning of your form.' , 'swpm-form-builder') ); ?></div>
+        <!-- !Field Items output -->
+               <ul id="swpm-menu-to-edit" class="menu ui-sortable droppable">
+               <?php echo $this->field_output( $form_nav_selected_id ); ?>
+               </ul>
+        </div>
+        <br class="clear" />
+     </div>
+     <br class="clear" />
+    <div id="form-editor-footer">
+       <div class="swpm-major-publishing-actions">
+            <div class="publishing-action">
+               <?php submit_button( __( 'Save Form', 'swpm-form-builder' ), 'primary', 'save_form', false ); ?>
+            </div> <!-- .publishing-action -->
+        </div> <!-- .swpm-major-publishing-actions -->
+    </div> <!-- #form-editor-footer -->
+</form>
+                   </div> <!-- .form-edit -->
+               </div> <!-- #swpm-form-builder-management -->
+           </div> <!-- swpm-form-builder-main -->
+    </div> <!-- .swpm-postbox-container -->
+</div> <!-- #swpm-form-builder-frame -->
+<?php
+wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
+wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false );
diff --git a/includes/admin-license-interface.php b/includes/admin-license-interface.php
new file mode 100644 (file)
index 0000000..9e19ac9
--- /dev/null
@@ -0,0 +1,111 @@
+<?php\r
+// This is the secret key for API authentication. You configured it in the settings menu of the license manager plugin.\r
+define('SWPM_FB_SECRET_KEY', '5428d95d7ce397.02132089'); //Rename this constant name so it is specific to your plugin or theme.\r
+// This is the URL where API query request will be sent to. This should be the URL of the site where you have installed the main license manager plugin. Get this value from the integration help page.\r
+define('SWPM_FB_LICENSE_SERVER_URL', 'https://simple-membership-plugin.com'); //Rename this constant name so it is specific to your plugin or theme.\r
+// This is a value that will be recorded in the license manager data so you can identify licenses for this item/product.\r
+define('SWPM_FB_ITEM_REFERENCE', 'SWPM Form Builder'); //Rename this constant name so it is specific to your plugin or theme.\r
+\r
+add_action('admin_menu', 'slm_sample_license_menu');\r
+\r
+\r
+/* * * License activate button was clicked ** */\r
+if (isset($_REQUEST['activate_license'])) {\r
+    $license_key = $_REQUEST['swpm_fb_license_key'];\r
+\r
+    // API query parameters\r
+    $api_params = array(\r
+        'slm_action' => 'slm_activate',\r
+        'secret_key' => SWPM_FB_SECRET_KEY,\r
+        'license_key' => $license_key,\r
+        'registered_domain' => $_SERVER['SERVER_NAME'],\r
+        'item_reference' => urlencode(SWPM_FB_ITEM_REFERENCE),\r
+    );\r
+\r
+    // Send query to the license manager server\r
+    $response = wp_remote_get(add_query_arg($api_params, SWPM_FB_LICENSE_SERVER_URL), array('timeout' => 20, 'sslverify' => false));\r
+\r
+    // Check for error in the response\r
+    if (is_wp_error($response)) {\r
+        echo "Unexpected Error! The query returned with an error.";\r
+    }\r
+\r
+    //var_dump($response);//uncomment it if you want to look at the full response\r
+    // License data.\r
+    $license_data = json_decode(wp_remote_retrieve_body($response));\r
+\r
+    // TODO - Do something with it.\r
+    //var_dump($license_data);//uncomment it to look at the data\r
+\r
+    if ($license_data->result == 'success') {//Success was returned for the license activation\r
+        //Uncomment the followng line to see the message that returned from the license server\r
+        //echo '<br />The following message was returned from the server: ' . $license_data->message;\r
+        echo '<p style="color: green; font-size: 16px; font-weight: bold;">'.$license_data->message.'</p>';\r
+\r
+        //Save the license key in the options table\r
+        update_option('swpm_fb_license_key', $license_key);\r
+    } else {\r
+        //Show error to the user. Probably entered incorrect license key.\r
+        //Uncomment the followng line to see the message that returned from the license server\r
+        echo '<p style="color: red; font-size: 16px; font-weight: bold;">'.$license_data->message.'</p>';\r
+    }\r
+}\r
+/* * * End of license activation ** */\r
+\r
+/* * * License activate button was clicked ** */\r
+if (isset($_REQUEST['deactivate_license'])) {\r
+    $license_key = $_REQUEST['swpm_fb_license_key'];\r
+\r
+    // API query parameters\r
+    $api_params = array(\r
+        'slm_action' => 'slm_deactivate',\r
+        'secret_key' => SWPM_FB_SECRET_KEY,\r
+        'license_key' => $license_key,\r
+        'registered_domain' => $_SERVER['SERVER_NAME'],\r
+        'item_reference' => urlencode(SWPM_FB_ITEM_REFERENCE),\r
+    );\r
+\r
+    // Send query to the license manager server\r
+    $response = wp_remote_get(add_query_arg($api_params, SWPM_FB_LICENSE_SERVER_URL), array('timeout' => 20, 'sslverify' => false));\r
+\r
+    // Check for error in the response\r
+    if (is_wp_error($response)) {\r
+        echo "Unexpected Error! The query returned with an error.";\r
+    }\r
+\r
+    //var_dump($response);//uncomment it if you want to look at the full response\r
+    // License data.\r
+    $license_data = json_decode(wp_remote_retrieve_body($response));\r
+\r
+    // TODO - Do something with it.\r
+    //var_dump($license_data);//uncomment it to look at the data\r
+\r
+    if ($license_data->result == 'success') {//Success was returned for the license activation\r
+        //Uncomment the followng line to see the message that returned from the license server\r
+        echo '<p style="color: green; font-size: 16px; font-weight: bold;">'.$license_data->message.'</p>';\r
+\r
+        //Remove the licensse key from the options table. It will need to be activated again.\r
+        update_option('swpm_fb_license_key', '');\r
+    } else {\r
+        //Show error to the user. Probably entered incorrect license key.\r
+        //Uncomment the followng line to see the message that returned from the license server\r
+        echo '<p style="color: red; font-size: 16px; font-weight: bold;">'.$license_data->message.'</p>';\r
+    }\r
+}\r
+/* * * End of sample license deactivation ** */\r
+?>\r
+<p>Please enter the license key for this product to activate it. You were given a license key when you purchased this item.</p>\r
+<form action="" method="post">\r
+    <table class="form-table">\r
+        <tr>\r
+            <th style="width:100px;"><label for="swpm_fb_license_key">License Key</label></th>\r
+            <td ><input class="regular-text" type="text" id="swpm_fb_license_key" name="swpm_fb_license_key"  value="<?php echo get_option('swpm_fb_license_key'); ?>" ></td>\r
+        </tr>\r
+    </table>\r
+    <p class="submit">\r
+        <input type="submit" name="activate_license" value="Activate" class="button-primary" />\r
+        <input type="submit" name="deactivate_license" value="Deactivate" class="button" />\r
+    </p>\r
+</form>\r
+    <?php\r
+    
\ No newline at end of file
diff --git a/includes/admin-new-form.php b/includes/admin-new-form.php
new file mode 100644 (file)
index 0000000..507f979
--- /dev/null
@@ -0,0 +1,78 @@
+<form method="post" id="swpm-form-builder-new-form" action="">
+       <input name="action" type="hidden" value="create_form" />
+    <?php
+       wp_nonce_field( 'create_form' );
+
+       if ( !current_user_can( 'manage_options' ) )
+               wp_die( __( 'You do not have sufficient permissions to create a new form.', 'swpm-form-builder' ) );
+    ?>
+       <h3><?php _e( 'Create a form' , 'swpm-form-builder'); ?></h3>
+
+       <table class="form-table">
+               <tbody>
+                       <!-- Form Name -->
+                       <tr valign="top">
+                               <th scope="row"><label for="form-name"><?php _e( 'Name the form' , 'swpm-form-builder'); ?></label></th>
+                               <td>
+                                       <input type="text" autofocus="autofocus" class="regular-text required" id="form-name" name="form_title" />
+                                       <p class="description"><?php _e( 'Required. This name is used for admin purposes.' , 'swpm-form-builder'); ?></p>
+                               </td>
+                       </tr>
+                       <tr valign="top">
+                               <th scope="row"><label for="form-type"><?php _e( 'Type of the form' , 'swpm-form-builder'); ?></label></th>
+                               <td>
+                    <select name="form_type" id="form-type">
+                        <option value ="0">Registration</option>
+                        <option value ="1">Profile</option>
+                    </select>
+                                       <p class="description"><?php _e( 'Required. Select which type of form you want to create.' , 'swpm-form-builder'); ?></p>
+                               </td>
+                       </tr>
+                       <tr valign="top">
+                               <th scope="row"><label for="form-for-level"><?php _e( 'Membership level' , 'swpm-form-builder'); ?></label></th>
+                               <td>
+                    <select name="form_for_level" id="form-for-level">
+                        <option value ="0" selected>All</option>
+                        <?php echo  bUtils::membership_level_dropdown();?>
+                    </select>
+                                       <p class="description"><?php _e( 'Required. Select membership level for this form.' , 'swpm-form-builder'); ?></p>
+                               </td>
+                       </tr>
+                       <!-- Sender Name -->
+                       <!-- <tr valign="top">
+                               <th scope="row"><label for="form-email-sender-name"><?php _e( 'Your Name or Company' , 'swpm-form-builder'); ?></label></th>
+                               <td>
+                                       <input type="text" value="" placeholder="" class="regular-text required" id="form-email-sender-name" name="form_email_from_name" />
+                                       <p class="description"><?php _e( 'Required. This option sets the "From" display name of the email that is sent.' , 'swpm-form-builder'); ?></p>
+                               </td>
+                       </tr>-->
+                       <!-- Reply-to Email -->
+                       <!-- <tr valign="top">
+                               <th scope="row"><label for="form-email-from"><?php _e( 'Reply-To E-mail' , 'swpm-form-builder'); ?></label></th>
+                               <td>
+                                       <input type="text" value="" placeholder="" class="regular-text required" id="form-email-from" name="form_email_from" />
+                                       <p class="description"><?php _e( 'Required. Replies to your email will go here.' , 'swpm-form-builder'); ?></p>
+                                       <p class="description"><?php _e( 'Tip: for best results, use an email that exists on this domain.' , 'swpm-form-builder'); ?></p>
+                               </td>
+                       </tr>-->
+                       <!-- Email Subject -->
+                       <!-- <tr valign="top">
+                               <th scope="row"><label for="form-email-subject"><?php _e( 'E-mail Subject' , 'swpm-form-builder'); ?></label></th>
+                               <td>
+                                       <input type="text" value="" placeholder="" class="regular-text" id="form-email-subject" name="form_email_subject" />
+                                       <p class="description"><?php _e( 'This sets the subject of the email that is sent.' , 'swpm-form-builder'); ?></p>
+                               </td>
+                       </tr>-->
+                       <!-- E-mail To -->
+                       <!--<tr valign="top">
+                               <th scope="row"><label for="form-email-to"><?php _e( 'E-mail To' , 'swpm-form-builder'); ?></label></th>
+                               <td>
+                                       <input type="text" value="" placeholder="" class="regular-text" id="form-email-to" name="form_email_to[]" />
+                                       <p class="description"><?php _e( 'Who to send the submitted data to. You can add more after creating the form.' , 'swpm-form-builder'); ?></p>
+                               </td>
+                       </tr>-->
+
+               </tbody>
+       </table>
+       <?php submit_button( __( 'Create Form', 'swpm-form-builder' ) ); ?>
+</form>
\ No newline at end of file
diff --git a/includes/class-widget.php b/includes/class-widget.php
new file mode 100644 (file)
index 0000000..0047044
--- /dev/null
@@ -0,0 +1,88 @@
+<?php
+add_action('widgets_init', 'swpm_register_widgets');
+
+function swpm_register_widgets() {
+    register_widget('SwpmFormBuilder_Widget');
+}
+
+/**
+ * Class that builds our Import page
+ *
+ * @since 2.7
+ */
+class SwpmFormBuilder_Widget extends WP_Widget {
+
+    public function __construct() {
+        global $wpdb;
+
+        /* Setup global database table names */
+        $this->field_table_name = $wpdb->prefix . 'swpm_form_builder_fields';
+        $this->form_table_name = $wpdb->prefix . 'swpm_form_builder_forms';
+        $this->entries_table_name = $wpdb->prefix . 'swpm_form_builder_entries';
+
+        $args = array(
+            'classname' => 'swpm_widget_class',
+            'description' => 'Visual Form Builder widget'
+        );
+
+        $this->WP_Widget('swpm_widget', 'Visual Form Builder', $args);
+    }
+
+    public function form($instance) {
+        global $wpdb;
+
+        // Query to get all forms
+        $order = sanitize_sql_orderby('form_id ASC');
+        $where = apply_filters('swpm_pre_get_forms_widget', '');
+        $forms = $wpdb->get_results("SELECT * FROM $this->form_table_name WHERE 1=1 $where ORDER BY $order");
+
+        $instance = wp_parse_args((array) $instance);
+
+        $title = isset($instance['title']) ? $instance['title'] : '';
+        ?>
+        <p>
+            <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label>
+            <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>" />
+        </p>
+        <p>
+            <label for="<?php echo $this->get_field_id('id'); ?>"><?php _e('Form to display:', 'swpm-form-builder'); ?></label>
+            <select id="<?php echo $this->get_field_id('id'); ?>" name="<?php echo $this->get_field_name('id'); ?>" class="widefat">
+                <?php
+                foreach ($forms as $form) {
+                    echo sprintf(
+                            '<option value="%1$d" id="%2$s"%3$s>%1$d - %4$s</option>', absint($form->form_id), esc_html($form->form_key), selected($form->form_id, $instance['id'], 1), wp_specialchars_decode(esc_html(stripslashes($form->form_title)), ENT_QUOTES)
+                    );
+                }
+                ?>
+            </select>
+        </p>
+        <?php
+    }
+
+    public function widget($args, $instance) {
+        extract($args);
+
+        $form_id = absint($instance['id']);
+
+        echo $before_widget;
+
+        // Title
+        if (!empty($instance['title']))
+            echo $args['before_title'] . $instance['title'] . $args['after_title'];
+
+        // Print the output
+        echo do_shortcode("[swpm id=$form_id]");
+
+        echo $after_widget;
+    }
+
+    public function update($new_instance, $old_instance) {
+        $instance = array();
+
+        $instance['id'] = !empty($new_instance['id']) ? absint($new_instance['id']) : '';
+        $instance['title'] = !empty($new_instance['title']) ? strip_tags($new_instance['title']) : '';
+
+        return $instance;
+    }
+
+}
diff --git a/includes/email.php b/includes/email.php
new file mode 100644 (file)
index 0000000..5dfe709
--- /dev/null
@@ -0,0 +1,65 @@
+<?php
+
+global $wpdb, $post;
+$required = ( isset($_POST['_swpm-required-secret']) && $_POST['_swpm-required-secret'] == '0' ) ? false : true;
+$secret_field = ( isset($_POST['_swpm-secret']) ) ? esc_html($_POST['_swpm-secret']) : '';
+$honeypot = ( isset($_POST['swpm-spam']) ) ? esc_html($_POST['swpm-spam']) : '';
+$referrer = ( isset($_POST['_wp_http_referer']) ) ? esc_html($_POST['_wp_http_referer']) : false;
+$wp_get_referer = wp_get_referer();
+$form = $this->form;
+// If the verification is set to required, run validation check
+if (true == $required && !empty($secret_field)) {
+    if (!empty($honeypot)) {
+        $form->fatal[] = BUtils::_('Security check: hidden spam field should be blank.');
+    }
+    if (!is_numeric($_POST[$secret_field]) || strlen($_POST[$secret_field]) !== 2) {
+        $form->fatal[] = BUtils::_('Security check: failed secret question. Please try again!');
+    }
+}
+
+// Basic security check before moving any further
+if (!isset($_POST['swpm-submit']))
+    return;
+// Get global settings
+$swpm_settings = get_option('swpm-settings');
+
+// Settings - Max Upload Size
+$settings_max_upload = isset($swpm_settings['max-upload-size']) ? $swpm_settings['max-upload-size'] : 25;
+
+// Settings - Spam word sensitivity
+$settings_spam_points = isset($swpm_settings['spam-points']) ? $swpm_settings['spam-points'] : 4;
+
+// Set submitted action to display success message
+$this->submitted = true;
+
+// Tells us which form to get from the database
+$form_id = absint($_POST['form_id']);
+$form->init_by_id($form_id);
+if($form->formmeta->type == SwpmFbForm::PROFILE){
+    $form->init_by_level_for_profile();
+}
+$skip_referrer_check = apply_filters('swpm_skip_referrer_check', false, $form_id);
+
+// Test if referral URL has been set
+if (!$referrer) {
+    $form->fatal('security', BUtils::_('Security check: referal URL does not appear to be set.'));
+}
+// Allow referrer check to be skipped
+if (!$skip_referrer_check) {
+    // Test if the referral URL matches what sent from WordPress
+    if ($wp_get_referer) {
+        $form->fatal('security', BUtils::_('Security check: referal does not match this site.'));
+    }
+}
+
+// Test if it's a known SPAM bot
+if ($this->isBot()) {
+    $form->fatal('Spam Words', BUtils::_('Security check: looks like you are a SPAM bot. If you think this is an error, please email the site owner.'));
+    return;
+}
+if (!$form->is_fatal()) {
+    $form->process();
+    if ($form->is_valid()) {
+        $form->save();
+    }
+}
diff --git a/includes/form-output.php b/includes/form-output.php
new file mode 100644 (file)
index 0000000..49684a7
--- /dev/null
@@ -0,0 +1,220 @@
+<?php
+
+// Add JavaScript files to the front-end, only once
+if (!$this->add_scripts)
+    $this->scripts();
+
+$form = $this->form;
+
+if ($form->is_fatal()) {
+    $fatal = $form->fatal();
+    echo '<div style="color:red;">';
+    foreach ($fatal as $each) {
+        echo $each . '<br/';
+    }
+    echo '</div>';
+    return;
+}
+if (!$form->is_valid()) {
+    $error = $form->error();
+    foreach ($error as $each) {
+        echo $each . '<br/>';
+    }
+}
+
+// If form is submitted, show success message, otherwise the form
+if (isset($_POST['swpm-submit'])) {
+    $output = $this->confirmation();
+    if ($form->is_valid()) {
+        return;
+    }; // if submitted and valid
+} else { //initialize the form if valid.
+    if ($form->is_fatal()) {
+        return;
+    }
+}
+
+// Get fields
+/* $order_fields   = sanitize_sql_orderby( 'field_sequence ASC' );
+  $fields         = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $this->field_table_name WHERE form_id = %d ORDER BY $order_fields", $form_id ) ); */
+
+// Setup default variables
+$count = 1;
+$open_fieldset = $open_section = false;
+$submit = 'Submit';
+$verification = '';
+$form_id = $form->formmeta->id;
+$label_alignment = ( $form->formmeta->label_alignment !== '' ) ? esc_attr($form->formmeta->label_alignment) : '';
+
+// Start form container
+$output .= sprintf('<div id="swpm-form-%d" class="swpm-form-builder-container">', $form_id);
+
+$output .= sprintf(
+        '<form id="%1$s-%2$d" class="swpm-form-builder %3$s %4$s" method="post" enctype="multipart/form-data">
+       <input type="hidden" name="form_id" value="%5$d" />', esc_attr($form->formmeta->key), $form_id, "swpm-form-$form_id", $label_alignment, absint($form->formmeta->id)
+);
+
+$level_identifier = md5($form->get_level_info('id'));
+$output .= sprintf('<input type ="hidden" name="level_identifier" value="%s" />', $level_identifier);
+foreach ($form->formmeta->fields as $field) :
+    if (!BUtils::is_admin() && $field->adminonly) {
+        continue;
+    } //
+    extract($field->get_sanitized_options());
+    // Close each section
+    if ($open_section == true) :
+        // If this field's parent does NOT equal our section ID
+        if ($sec_id && $sec_id !== absint($field->parent)) :
+            $output .= '</div><div class="swpm-clear"></div>';
+            $open_section = false;
+        endif;
+    endif;
+
+// Force an initial fieldset and display an error message to strongly encourage user to add one
+    if ($count === 1 && $field_type !== 'fieldset') :
+        $output .= sprintf('<fieldset class="swpm-fieldset"><div class="swpm-legend" style="background-color:#FFEBE8;border:1px solid #CC0000;"><h3>%1$s</h3><p style="color:black;">%2$s</p></div><ul class="section section-%3$d">', __('Oops! Missing Fieldset', 'swpm-form-builder'), __('If you are seeing this message, it means you need to <strong>add a Fieldset to the beginning of your form</strong>. Your form may not function or display properly without one.', 'swpm-form-builder'), $count
+        );
+
+        $count++;
+    endif;
+
+    if ($field_type == 'fieldset') :
+        // Close each fieldset
+        if ($open_fieldset == true)
+            $output .= '</ul>&nbsp;</fieldset>';
+
+        // Only display Legend if field name is not blank
+        $legend = !empty($field_name) ? sprintf('<div class="swpm-legend"><h3>%s</h3></div>', $field_name) : '&nbsp;';
+
+        $output .= sprintf(
+                '<fieldset class="swpm-fieldset swpm-fieldset-%1$d %2$s %3$s" id="item-%4$s">%5$s<ul class="swpm-section swpm-section-%1$d">', $count, esc_attr($field->key), $css, $id_attr, $legend
+        );
+
+        $open_fieldset = true;
+        $count++;
+
+    elseif ($field_type == 'section') :
+
+        $output .= sprintf(
+                '<div id="item-%1$s" class="swpm-section-div %2$s"><h4>%3$s</h4>', $id_attr, $css, $field_name
+        );
+
+        // Save section ID for future comparison
+        $sec_id = $field_id;
+        $open_section = true;
+
+    elseif (!in_array($field_type, array('verification', 'secret', 'submit'))) :
+
+        $columns_choice = (!empty($field->size) && in_array($field_type, array('radio', 'checkbox')) ) ? esc_attr(" swpm-$field->size") : '';
+
+        if ($field_type !== 'hidden') :
+
+            // Don't add for attribute for certain form items
+            $for = !in_array($field_type, array('checkbox', 'radio', 'time', 'address', 'instructions')) ? ' for="%4$s"' : '';
+
+            $output .= sprintf(
+                    '<li class="swpm-item swpm-item-%1$s %2$s %3$s" id="item-%4$s"><label' . $for . ' class="swpm-desc">%5$s %6$s</label>', $field_type, $columns_choice, $layout, $id_attr, $field_name, $required_span
+            );
+        endif;
+
+    elseif (in_array($field_type, array('verification', 'secret'))) :
+
+        if ($field_type == 'verification') :
+            $verification .= sprintf(
+                    '<fieldset class="swpm-fieldset swpm-fieldset-%1$d %2$s %3$s" id="item-%4$s" style="display:block"><div class="swpm-legend"><h3>%5$s</h3></div><ul class="swpm-section swpm-section-%1$d">', $count, esc_attr($field->key), $css, $id_attr, $field_name
+            );
+        endif;
+
+        if ($field_type == 'secret') :
+            // Default logged in values
+            $logged_in_display = $logged_in_value = '';
+            $verification .= sprintf(
+                    '<li class="swpm-item swpm-item-%1$s" %2$s style="display:block"><label for="%3$s" class="swpm-desc">%4$s%5$s</label>', $field_type, $logged_in_display, $id_attr, $field_name, $required_span
+            );
+
+            // Set variable for testing if required is Yes/No
+            $verification .= ( empty($required) ) ? '<input type="hidden" name="_swpm-required-secret" value="0" />' : '';
+
+            // Set hidden secret to matching input
+            $verification .= sprintf('<input type="hidden" name="_swpm-secret" value="swpm-%d" />', $field_id);
+
+            $validation = '{digits:true,maxlength:2,minlength:2}';
+
+            $verification_item = sprintf(
+                    '<input type="text" name="swpm-%1$d" id="%2$s" value="%3$s" class="swpm-text %4$s %5$s %6$s %7$s" style="display:block" />', $field_id, $id_attr, $logged_in_value, $size, $required, $validation, $css
+            );
+
+            $verification .= (!empty($description) ) ? sprintf('<span class="swpm-span">%1$s<label>%2$s</label></span>', $verification_item, $description) : $verification_item;
+
+        endif;
+    endif;
+    $value = $form->get_field_value($field);
+    switch ($field_type) {
+        case 'text' :
+        case 'email' :
+        case 'url' :
+        case 'currency' :
+        case 'number' :
+        case 'phone' :
+        case 'password':
+        case 'textarea' :
+        case 'select' :
+        case 'radio' :
+        case 'checkbox' :
+        case 'address' :
+        case 'date' :
+        case 'time' :
+        case 'html' :
+        case 'file-upload' :
+        case 'instructions' :
+            $output .= $field->toHTML($value, $form->formmeta->type, $form->formmeta->label_alignment);
+            break;
+        case 'submit' :
+            $submit = $field->toHTML(null, $form->formmeta->type, $form->formmeta->label_alignment);
+            break;
+        default:
+            echo '';
+    }
+
+    // Closing </li>
+    $output .= (!in_array($field_type, array('verification', 'secret', 'submit', 'fieldset', 'section')) ) ? '</li>' : '';
+endforeach;
+
+
+// Close user-added fields
+$output .= '</ul>&nbsp;</fieldset>';
+
+// Make sure the verification displays even if they have not updated their form
+if (empty($verification)) :
+
+    $verification = sprintf(
+            '<fieldset class="swpm-fieldset swpm-verification" style="display:block">
+        <div class="swpm-legend"><h3>%1$s</h3></div>
+        <ul class="swpm-section swpm-section-%2$d">
+        <li class="swpm-item swpm-item-text" style="display:block">
+        <label for="swpm-secret" class="swpm-desc">%3$s<span>*</span></label>
+        <div><input type="text" name="swpm-secret" id="swpm-secret" class="swpm-text swpm-medium" style="display:block" /></div>
+        </li>', __('Verification', 'swpm-form-builder'), $count, __('Please enter any two digits with <strong>no</strong> spaces (Example: 12)', 'swpm-form-builder')
+    );
+
+endif;
+
+// Output our security test
+$output .= sprintf(
+        $verification .
+        '<li style="display:none;"><label>%1$s:</label><div><input name="swpm-spam" /></div></li>
+    %2$s</ul>
+    </fieldset>', __('This box is for spam protection - <strong>please leave it blank</strong>', 'swpm-form-builder'), $submit
+);
+$output .= wp_referer_field(false);
+
+// Close the form out
+$output .= '</form>';
+
+// Close form container
+$output .= '</div> <!-- .swpm-form-builder-container -->';
+
+// Force tags to balance
+force_balance_tags($output);
+
+return $output;
diff --git a/js/ckeditor/ckeditor.js b/js/ckeditor/ckeditor.js
new file mode 100644 (file)
index 0000000..cfdeec4
--- /dev/null
@@ -0,0 +1,919 @@
+/*
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;window.CKEDITOR||(window.CKEDITOR=function(){var a={timestamp:"D3NA",version:"4.1.1",revision:"5a2a7e3",rnd:Math.floor(900*Math.random())+100,_:{pending:[]},status:"unloaded",basePath:function(){var b=window.CKEDITOR_BASEPATH||"";if(!b)for(var a=document.getElementsByTagName("script"),d=0;d<a.length;d++){var c=a[d].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(c){b=c[1];break}}-1==b.indexOf(":/")&&(b=0===b.indexOf("/")?location.href.match(/^.*?:\/\/[^\/]*/)[0]+b:location.href.match(/^[^\?]*\/(?:)/)[0]+
+b);if(!b)throw'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return b}(),getUrl:function(b){-1==b.indexOf(":/")&&0!==b.indexOf("/")&&(b=this.basePath+b);this.timestamp&&("/"!=b.charAt(b.length-1)&&!/[&?]t=/.test(b))&&(b+=(0<=b.indexOf("?")?"&":"?")+"t="+this.timestamp);return b},domReady:function(){function b(){try{document.addEventListener?(document.removeEventListener("DOMContentLoaded",b,
+!1),a()):document.attachEvent&&"complete"===document.readyState&&(document.detachEvent("onreadystatechange",b),a())}catch(d){}}function a(){for(var b;b=d.shift();)b()}var d=[];return function(a){d.push(a);"complete"===document.readyState&&setTimeout(b,1);if(1==d.length)if(document.addEventListener)document.addEventListener("DOMContentLoaded",b,!1),window.addEventListener("load",b,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange",b);window.attachEvent("onload",b);a=!1;try{a=
+!window.frameElement}catch(e){}if(document.documentElement.doScroll&&a){var c=function(){try{document.documentElement.doScroll("left")}catch(a){setTimeout(c,1);return}b()};c()}}}}()},c=window.CKEDITOR_GETURL;if(c){var b=a.getUrl;a.getUrl=function(f){return c.call(a,f)||b.call(a,f)}}return a}());
+CKEDITOR.event||(CKEDITOR.event=function(){},CKEDITOR.event.implementOn=function(a){var c=CKEDITOR.event.prototype,b;for(b in c)a[b]==void 0&&(a[b]=c[b])},CKEDITOR.event.prototype=function(){function a(f){var a=c(this);return a[f]||(a[f]=new b(f))}var c=function(b){b=b.getPrivate&&b.getPrivate()||b._||(b._={});return b.events||(b.events={})},b=function(b){this.name=b;this.listeners=[]};b.prototype={getListenerIndex:function(b){for(var a=0,d=this.listeners;a<d.length;a++)if(d[a].fn==b)return a;return-1}};
+return{define:function(b,e){var d=a.call(this,b);CKEDITOR.tools.extend(d,e,true)},on:function(b,e,d,c,l){function i(a,h,n,p){a={name:b,sender:this,editor:a,data:h,listenerData:c,stop:n,cancel:p,removeListener:m};return e.call(d,a)===false?false:a.data}function m(){r.removeListener(b,e)}var n=a.call(this,b);if(n.getListenerIndex(e)<0){n=n.listeners;d||(d=this);isNaN(l)&&(l=10);var r=this;i.fn=e;i.priority=l;for(var p=n.length-1;p>=0;p--)if(n[p].priority<=l){n.splice(p+1,0,i);return{removeListener:m}}n.unshift(i)}return{removeListener:m}},
+once:function(){var b=arguments[1];arguments[1]=function(a){a.removeListener();return b.apply(this,arguments)};return this.on.apply(this,arguments)},capture:function(){CKEDITOR.event.useCapture=1;var b=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return b},fire:function(){var b=0,a=function(){b=1},d=0,j=function(){d=1};return function(l,i,m){var n=c(this)[l],l=b,r=d;b=d=0;if(n){var p=n.listeners;if(p.length)for(var p=p.slice(0),g,h=0;h<p.length;h++){if(n.errorProof)try{g=p[h].call(this,
+m,i,a,j)}catch(u){}else g=p[h].call(this,m,i,a,j);g===false?d=1:typeof g!="undefined"&&(i=g);if(b||d)break}}i=d?false:typeof i=="undefined"?true:i;b=l;d=r;return i}}(),fireOnce:function(b,a,d){a=this.fire(b,a,d);delete c(this)[b];return a},removeListener:function(b,a){var d=c(this)[b];if(d){var j=d.getListenerIndex(a);j>=0&&d.listeners.splice(j,1)}},removeAllListeners:function(){var b=c(this),a;for(a in b)delete b[a]},hasListeners:function(b){return(b=c(this)[b])&&b.listeners.length>0}}}());
+CKEDITOR.editor||(CKEDITOR.editor=function(){CKEDITOR._.pending.push([this,arguments]);CKEDITOR.event.call(this)},CKEDITOR.editor.prototype.fire=function(a,c){a in{instanceReady:1,loaded:1}&&(this[a]=true);return CKEDITOR.event.prototype.fire.call(this,a,c,this)},CKEDITOR.editor.prototype.fireOnce=function(a,c){a in{instanceReady:1,loaded:1}&&(this[a]=true);return CKEDITOR.event.prototype.fireOnce.call(this,a,c,this)},CKEDITOR.event.implementOn(CKEDITOR.editor.prototype));
+CKEDITOR.env||(CKEDITOR.env=function(){var a=navigator.userAgent.toLowerCase(),c=window.opera,b={ie:eval("/*@cc_on!@*/false"),opera:!!c&&c.version,webkit:a.indexOf(" applewebkit/")>-1,air:a.indexOf(" adobeair/")>-1,mac:a.indexOf("macintosh")>-1,quirks:document.compatMode=="BackCompat",mobile:a.indexOf("mobile")>-1,iOS:/(ipad|iphone|ipod)/.test(a),isCustomDomain:function(){if(!this.ie)return false;var b=document.domain,a=window.location.hostname;return b!=a&&b!="["+a+"]"},secure:location.protocol==
+"https:"};b.gecko=navigator.product=="Gecko"&&!b.webkit&&!b.opera;if(b.webkit)a.indexOf("chrome")>-1?b.chrome=true:b.safari=true;var f=0;if(b.ie){f=b.quirks||!document.documentMode?parseFloat(a.match(/msie (\d+)/)[1]):document.documentMode;b.ie9Compat=f==9;b.ie8Compat=f==8;b.ie7Compat=f==7;b.ie6Compat=f<7||b.quirks}if(b.gecko){var e=a.match(/rv:([\d\.]+)/);if(e){e=e[1].split(".");f=e[0]*1E4+(e[1]||0)*100+(e[2]||0)*1}}b.opera&&(f=parseFloat(c.version()));b.air&&(f=parseFloat(a.match(/ adobeair\/(\d+)/)[1]));
+b.webkit&&(f=parseFloat(a.match(/ applewebkit\/(\d+)/)[1]));b.version=f;b.isCompatible=b.iOS&&f>=534||!b.mobile&&(b.ie&&f>6||b.gecko&&f>=10801||b.opera&&f>=9.5||b.air&&f>=1||b.webkit&&f>=522||false);b.cssClass="cke_browser_"+(b.ie?"ie":b.gecko?"gecko":b.opera?"opera":b.webkit?"webkit":"unknown");if(b.quirks)b.cssClass=b.cssClass+" cke_browser_quirks";if(b.ie){b.cssClass=b.cssClass+(" cke_browser_ie"+(b.quirks||b.version<7?"6":b.version));if(b.quirks)b.cssClass=b.cssClass+" cke_browser_iequirks"}if(b.gecko)if(f<
+10900)b.cssClass=b.cssClass+" cke_browser_gecko18";else if(f<=11E3)b.cssClass=b.cssClass+" cke_browser_gecko19";if(b.air)b.cssClass=b.cssClass+" cke_browser_air";return b}());
+"unloaded"==CKEDITOR.status&&function(){CKEDITOR.event.implementOn(CKEDITOR);CKEDITOR.loadFullCore=function(){if(CKEDITOR.status!="basic_ready")CKEDITOR.loadFullCore._load=1;else{delete CKEDITOR.loadFullCore;var a=document.createElement("script");a.type="text/javascript";a.src=CKEDITOR.basePath+"ckeditor.js";document.getElementsByTagName("head")[0].appendChild(a)}};CKEDITOR.loadFullCoreTimeout=0;CKEDITOR.add=function(a){(this._.pending||(this._.pending=[])).push(a)};(function(){CKEDITOR.domReady(function(){var a=
+CKEDITOR.loadFullCore,c=CKEDITOR.loadFullCoreTimeout;if(a){CKEDITOR.status="basic_ready";a&&a._load?a():c&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},c*1E3)}})})();CKEDITOR.status="basic_loaded"}();CKEDITOR.dom={};
+(function(){var a=[],c=CKEDITOR.env.gecko?"-moz-":CKEDITOR.env.webkit?"-webkit-":CKEDITOR.env.opera?"-o-":CKEDITOR.env.ie?"-ms-":"";CKEDITOR.on("reset",function(){a=[]});CKEDITOR.tools={arrayCompare:function(b,a){if(!b&&!a)return true;if(!b||!a||b.length!=a.length)return false;for(var e=0;e<b.length;e++)if(b[e]!=a[e])return false;return true},clone:function(b){var a;if(b&&b instanceof Array){a=[];for(var e=0;e<b.length;e++)a[e]=CKEDITOR.tools.clone(b[e]);return a}if(b===null||typeof b!="object"||
+b instanceof String||b instanceof Number||b instanceof Boolean||b instanceof Date||b instanceof RegExp)return b;a=new b.constructor;for(e in b)a[e]=CKEDITOR.tools.clone(b[e]);return a},capitalize:function(b){return b.charAt(0).toUpperCase()+b.substring(1).toLowerCase()},extend:function(b){var a=arguments.length,e,d;if(typeof(e=arguments[a-1])=="boolean")a--;else if(typeof(e=arguments[a-2])=="boolean"){d=arguments[a-1];a=a-2}for(var c=1;c<a;c++){var l=arguments[c],i;for(i in l)if(e===true||b[i]==void 0)if(!d||
+i in d)b[i]=l[i]}return b},prototypedCopy:function(b){var a=function(){};a.prototype=b;return new a},copy:function(b){var a={},e;for(e in b)a[e]=b[e];return a},isArray:function(b){return!!b&&b instanceof Array},isEmpty:function(b){for(var a in b)if(b.hasOwnProperty(a))return false;return true},cssVendorPrefix:function(b,a,e){if(e)return c+b+":"+a+";"+b+":"+a;e={};e[b]=a;e[c+b]=a;return e},cssStyleToDomStyle:function(){var b=document.createElement("div").style,a=typeof b.cssFloat!="undefined"?"cssFloat":
+typeof b.styleFloat!="undefined"?"styleFloat":"float";return function(b){return b=="float"?a:b.replace(/-./g,function(b){return b.substr(1).toUpperCase()})}}(),buildStyleHtml:function(b){for(var b=[].concat(b),a,e=[],d=0;d<b.length;d++)if(a=b[d])/@import|[{}]/.test(a)?e.push("<style>"+a+"</style>"):e.push('<link type="text/css" rel=stylesheet href="'+a+'">');return e.join("")},htmlEncode:function(b){return(""+b).replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;")},htmlEncodeAttr:function(b){return b.replace(/"/g,
+"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},getNextNumber:function(){var b=0;return function(){return++b}}(),getNextId:function(){return"cke_"+this.getNextNumber()},override:function(b,a){var e=a(b);e.prototype=b.prototype;return e},setTimeout:function(b,a,e,d,c){c||(c=window);e||(e=c);return c.setTimeout(function(){d?b.apply(e,[].concat(d)):b.apply(e)},a||0)},trim:function(){var b=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(a){return a.replace(b,"")}}(),ltrim:function(){var b=/^[ \t\n\r]+/g;
+return function(a){return a.replace(b,"")}}(),rtrim:function(){var b=/[ \t\n\r]+$/g;return function(a){return a.replace(b,"")}}(),indexOf:function(b,a){if(typeof a=="function")for(var e=0,d=b.length;e<d;e++){if(a(b[e]))return e}else{if(b.indexOf)return b.indexOf(a);e=0;for(d=b.length;e<d;e++)if(b[e]===a)return e}return-1},search:function(b,a){var e=CKEDITOR.tools.indexOf(b,a);return e>=0?b[e]:null},bind:function(b,a){return function(){return b.apply(a,arguments)}},createClass:function(b){var a=b.$,
+e=b.base,d=b.privates||b._,c=b.proto,b=b.statics;!a&&(a=function(){e&&this.base.apply(this,arguments)});if(d)var l=a,a=function(){var b=this._||(this._={}),a;for(a in d){var f=d[a];b[a]=typeof f=="function"?CKEDITOR.tools.bind(f,this):f}l.apply(this,arguments)};if(e){a.prototype=this.prototypedCopy(e.prototype);a.prototype.constructor=a;a.base=e;a.baseProto=e.prototype;a.prototype.base=function(){this.base=e.prototype.base;e.apply(this,arguments);this.base=arguments.callee}}c&&this.extend(a.prototype,
+c,true);b&&this.extend(a,b,true);return a},addFunction:function(b,f){return a.push(function(){return b.apply(f||this,arguments)})-1},removeFunction:function(b){a[b]=null},callFunction:function(b){var f=a[b];return f&&f.apply(window,Array.prototype.slice.call(arguments,1))},cssLength:function(){var b=/^-?\d+\.?\d*px$/,a;return function(e){a=CKEDITOR.tools.trim(e+"")+"px";return b.test(a)?a:e||""}}(),convertToPx:function(){var b;return function(a){if(!b){b=CKEDITOR.dom.element.createFromHtml('<div style="position:absolute;left:-9999px;top:-9999px;margin:0px;padding:0px;border:0px;"></div>',
+CKEDITOR.document);CKEDITOR.document.getBody().append(b)}if(!/%$/.test(a)){b.setStyle("width",a);return b.$.clientWidth}return a}}(),repeat:function(b,a){return Array(a+1).join(b)},tryThese:function(){for(var b,a=0,e=arguments.length;a<e;a++){var d=arguments[a];try{b=d();break}catch(c){}}return b},genKey:function(){return Array.prototype.slice.call(arguments).join("-")},defer:function(b){return function(){var a=arguments,e=this;window.setTimeout(function(){b.apply(e,a)},0)}},normalizeCssText:function(b,
+a){var e=[],d,c=CKEDITOR.tools.parseCssText(b,true,a);for(d in c)e.push(d+":"+c[d]);e.sort();return e.length?e.join(";")+";":""},convertRgbToHex:function(b){return b.replace(/(?:rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\))/gi,function(b,a,d,c){b=[a,d,c];for(a=0;a<3;a++)b[a]=("0"+parseInt(b[a],10).toString(16)).slice(-2);return"#"+b.join("")})},parseCssText:function(b,a,e){var d={};if(e){e=new CKEDITOR.dom.element("span");e.setAttribute("style",b);b=CKEDITOR.tools.convertRgbToHex(e.getAttribute("style")||
+"")}if(!b||b==";")return d;b.replace(/&quot;/g,'"').replace(/\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(b,e,c){if(a){e=e.toLowerCase();e=="font-family"&&(c=c.toLowerCase().replace(/["']/g,"").replace(/\s*,\s*/g,","));c=CKEDITOR.tools.trim(c)}d[e]=c});return d},writeCssText:function(b,a){var e,c=[];for(e in b)c.push(e+":"+b[e]);a&&c.sort();return c.join("; ")},objectCompare:function(b,a,c){var d;if(!b&&!a)return true;if(!b||!a)return false;for(d in b)if(b[d]!=a[d])return false;if(!c)for(d in a)if(b[d]!=
+a[d])return false;return true},objectKeys:function(b){var a=[],c;for(c in b)a.push(c);return a},convertArrayToObject:function(b,a){var c={};arguments.length==1&&(a=true);for(var d=0,j=b.length;d<j;++d)c[b[d]]=a;return c}}})();
+CKEDITOR.dtd=function(){var a=CKEDITOR.tools.extend,c=function(b,a){for(var f=CKEDITOR.tools.clone(b),c=1;c<arguments.length;c++){var a=arguments[c],g;for(g in a)delete f[g]}return f},b={},f={},e={address:1,article:1,aside:1,blockquote:1,details:1,div:1,dl:1,fieldset:1,figure:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,hr:1,menu:1,nav:1,ol:1,p:1,pre:1,section:1,table:1,ul:1},d={command:1,link:1,meta:1,noscript:1,script:1,style:1},j={},l={"#":1},i={center:1,dir:1,noframes:1};
+a(b,{a:1,abbr:1,area:1,audio:1,b:1,bdi:1,bdo:1,br:1,button:1,canvas:1,cite:1,code:1,command:1,datalist:1,del:1,dfn:1,em:1,embed:1,i:1,iframe:1,img:1,input:1,ins:1,kbd:1,keygen:1,label:1,map:1,mark:1,meter:1,noscript:1,object:1,output:1,progress:1,q:1,ruby:1,s:1,samp:1,script:1,select:1,small:1,span:1,strong:1,sub:1,sup:1,textarea:1,time:1,u:1,"var":1,video:1,wbr:1},l,{acronym:1,applet:1,basefont:1,big:1,font:1,isindex:1,strike:1,style:1,tt:1});a(f,e,b,i);c={a:c(b,{a:1,button:1}),abbr:b,address:f,
+area:j,article:a({style:1},f),aside:a({style:1},f),audio:a({source:1,track:1},f),b:b,base:j,bdi:b,bdo:b,blockquote:f,body:f,br:j,button:c(b,{a:1,button:1}),canvas:b,caption:f,cite:b,code:b,col:j,colgroup:{col:1},command:j,datalist:a({option:1},b),dd:f,del:b,details:a({summary:1},f),dfn:b,div:a({style:1},f),dl:{dt:1,dd:1},dt:f,em:b,embed:j,fieldset:a({legend:1},f),figcaption:f,figure:a({figcaption:1},f),footer:f,form:f,h1:b,h2:b,h3:b,h4:b,h5:b,h6:b,head:a({title:1,base:1},d),header:f,hgroup:{h1:1,
+h2:1,h3:1,h4:1,h5:1,h6:1},hr:j,html:a({head:1,body:1},f,d),i:b,iframe:l,img:j,input:j,ins:b,kbd:b,keygen:j,label:b,legend:b,li:f,link:j,map:f,mark:b,menu:a({li:1},f),meta:j,meter:c(b,{meter:1}),nav:f,noscript:a({link:1,meta:1,style:1},b),object:a({param:1},b),ol:{li:1},optgroup:{option:1},option:l,output:b,p:b,param:j,pre:b,progress:c(b,{progress:1}),q:b,rp:b,rt:b,ruby:a({rp:1,rt:1},b),s:b,samp:b,script:l,section:a({style:1},f),select:{optgroup:1,option:1},small:b,source:j,span:b,strong:b,style:l,
+sub:b,summary:b,sup:b,table:{caption:1,colgroup:1,thead:1,tfoot:1,tbody:1,tr:1},tbody:{tr:1},td:f,textarea:l,tfoot:{tr:1},th:f,thead:{tr:1},time:c(b,{time:1}),title:l,tr:{th:1,td:1},track:j,u:b,ul:{li:1},"var":b,video:a({source:1,track:1},f),wbr:j,acronym:b,applet:a({param:1},f),basefont:j,big:b,center:f,dialog:j,dir:{li:1},font:b,isindex:j,noframes:f,strike:b,tt:b};a(c,{$block:a({audio:1,dd:1,dt:1,li:1,video:1},e,i),$blockLimit:{article:1,aside:1,audio:1,body:1,caption:1,details:1,dir:1,div:1,dl:1,
+fieldset:1,figure:1,footer:1,form:1,header:1,hgroup:1,menu:1,nav:1,ol:1,section:1,table:1,td:1,th:1,tr:1,ul:1,video:1},$cdata:{script:1,style:1},$editable:{address:1,article:1,aside:1,blockquote:1,body:1,details:1,div:1,fieldset:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,nav:1,p:1,pre:1,section:1},$empty:{area:1,base:1,basefont:1,br:1,col:1,command:1,dialog:1,embed:1,hr:1,img:1,input:1,isindex:1,keygen:1,link:1,meta:1,param:1,source:1,track:1,wbr:1},$inline:b,$list:{dl:1,ol:1,
+ul:1},$listItem:{dd:1,dt:1,li:1},$nonBodyContent:a({body:1,head:1,html:1},c.head),$nonEditable:{applet:1,audio:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,param:1,script:1,textarea:1,video:1},$object:{applet:1,audio:1,button:1,hr:1,iframe:1,img:1,input:1,object:1,select:1,table:1,textarea:1,video:1},$removeEmpty:{abbr:1,acronym:1,b:1,bdi: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,mark:1,meter:1,output:1,q:1,ruby:1,s:1,samp:1,small:1,span:1,strike:1,strong:1,
+sub:1,sup:1,time:1,tt:1,u:1,"var":1},$tabIndex:{a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},$tableContent:{caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},$transparent:{a:1,audio:1,canvas:1,del:1,ins:1,map:1,noscript:1,object:1,video:1},$intermediate:{caption:1,colgroup:1,dd:1,dt:1,figcaption:1,legend:1,li:1,optgroup:1,option:1,rp:1,rt:1,summary:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1}});return c}();CKEDITOR.dom.event=function(a){this.$=a};
+CKEDITOR.dom.event.prototype={getKey:function(){return this.$.keyCode||this.$.which},getKeystroke:function(){var a=this.getKey();if(this.$.ctrlKey||this.$.metaKey)a=a+CKEDITOR.CTRL;this.$.shiftKey&&(a=a+CKEDITOR.SHIFT);this.$.altKey&&(a=a+CKEDITOR.ALT);return a},preventDefault:function(a){var c=this.$;c.preventDefault?c.preventDefault():c.returnValue=false;a&&this.stopPropagation()},stopPropagation:function(){var a=this.$;a.stopPropagation?a.stopPropagation():a.cancelBubble=true},getTarget:function(){var a=
+this.$.target||this.$.srcElement;return a?new CKEDITOR.dom.node(a):null},getPhase:function(){return this.$.eventPhase||2},getPageOffset:function(){var a=this.getTarget().getDocument().$;return{x:this.$.pageX||this.$.clientX+(a.documentElement.scrollLeft||a.body.scrollLeft),y:this.$.pageY||this.$.clientY+(a.documentElement.scrollTop||a.body.scrollTop)}}};CKEDITOR.CTRL=1114112;CKEDITOR.SHIFT=2228224;CKEDITOR.ALT=4456448;CKEDITOR.EVENT_PHASE_CAPTURING=1;CKEDITOR.EVENT_PHASE_AT_TARGET=2;
+CKEDITOR.EVENT_PHASE_BUBBLING=3;CKEDITOR.dom.domObject=function(a){if(a)this.$=a};
+CKEDITOR.dom.domObject.prototype=function(){var a=function(a,b){return function(f){typeof CKEDITOR!="undefined"&&a.fire(b,new CKEDITOR.dom.event(f))}};return{getPrivate:function(){var a;if(!(a=this.getCustomData("_")))this.setCustomData("_",a={});return a},on:function(c){var b=this.getCustomData("_cke_nativeListeners");if(!b){b={};this.setCustomData("_cke_nativeListeners",b)}if(!b[c]){b=b[c]=a(this,c);this.$.addEventListener?this.$.addEventListener(c,b,!!CKEDITOR.event.useCapture):this.$.attachEvent&&
+this.$.attachEvent("on"+c,b)}return CKEDITOR.event.prototype.on.apply(this,arguments)},removeListener:function(a){CKEDITOR.event.prototype.removeListener.apply(this,arguments);if(!this.hasListeners(a)){var b=this.getCustomData("_cke_nativeListeners"),f=b&&b[a];if(f){this.$.removeEventListener?this.$.removeEventListener(a,f,false):this.$.detachEvent&&this.$.detachEvent("on"+a,f);delete b[a]}}},removeAllListeners:function(){var a=this.getCustomData("_cke_nativeListeners"),b;for(b in a){var f=a[b];this.$.detachEvent?
+this.$.detachEvent("on"+b,f):this.$.removeEventListener&&this.$.removeEventListener(b,f,false);delete a[b]}}}}();
+(function(a){var c={};CKEDITOR.on("reset",function(){c={}});a.equals=function(b){try{return b&&b.$===this.$}catch(a){return false}};a.setCustomData=function(b,a){var e=this.getUniqueId();(c[e]||(c[e]={}))[b]=a;return this};a.getCustomData=function(b){var a=this.$["data-cke-expando"];return(a=a&&c[a])&&b in a?a[b]:null};a.removeCustomData=function(b){var a=this.$["data-cke-expando"],a=a&&c[a],e,d;if(a){e=a[b];d=b in a;delete a[b]}return d?e:null};a.clearCustomData=function(){this.removeAllListeners();
+var b=this.$["data-cke-expando"];b&&delete c[b]};a.getUniqueId=function(){return this.$["data-cke-expando"]||(this.$["data-cke-expando"]=CKEDITOR.tools.getNextNumber())};CKEDITOR.event.implementOn(a)})(CKEDITOR.dom.domObject.prototype);
+CKEDITOR.dom.node=function(a){return a?new CKEDITOR.dom[a.nodeType==CKEDITOR.NODE_DOCUMENT?"document":a.nodeType==CKEDITOR.NODE_ELEMENT?"element":a.nodeType==CKEDITOR.NODE_TEXT?"text":a.nodeType==CKEDITOR.NODE_COMMENT?"comment":a.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT?"documentFragment":"domObject"](a):this};CKEDITOR.dom.node.prototype=new CKEDITOR.dom.domObject;CKEDITOR.NODE_ELEMENT=1;CKEDITOR.NODE_DOCUMENT=9;CKEDITOR.NODE_TEXT=3;CKEDITOR.NODE_COMMENT=8;CKEDITOR.NODE_DOCUMENT_FRAGMENT=11;
+CKEDITOR.POSITION_IDENTICAL=0;CKEDITOR.POSITION_DISCONNECTED=1;CKEDITOR.POSITION_FOLLOWING=2;CKEDITOR.POSITION_PRECEDING=4;CKEDITOR.POSITION_IS_CONTAINED=8;CKEDITOR.POSITION_CONTAINS=16;
+CKEDITOR.tools.extend(CKEDITOR.dom.node.prototype,{appendTo:function(a,c){a.append(this,c);return a},clone:function(a,c){var b=this.$.cloneNode(a),f=function(b){b["data-cke-expando"]&&(b["data-cke-expando"]=false);if(b.nodeType==CKEDITOR.NODE_ELEMENT){c||b.removeAttribute("id",false);if(a)for(var b=b.childNodes,d=0;d<b.length;d++)f(b[d])}};f(b);return new CKEDITOR.dom.node(b)},hasPrevious:function(){return!!this.$.previousSibling},hasNext:function(){return!!this.$.nextSibling},insertAfter:function(a){a.$.parentNode.insertBefore(this.$,
+a.$.nextSibling);return a},insertBefore:function(a){a.$.parentNode.insertBefore(this.$,a.$);return a},insertBeforeMe:function(a){this.$.parentNode.insertBefore(a.$,this.$);return a},getAddress:function(a){for(var c=[],b=this.getDocument().$.documentElement,f=this.$;f&&f!=b;){var e=f.parentNode;e&&c.unshift(this.getIndex.call({$:f},a));f=e}return c},getDocument:function(){return new CKEDITOR.dom.document(this.$.ownerDocument||this.$.parentNode.ownerDocument)},getIndex:function(a){var c=this.$,b=-1,
+f;if(!this.$.parentNode)return b;do if(!a||!(c!=this.$&&c.nodeType==CKEDITOR.NODE_TEXT&&(f||!c.nodeValue))){b++;f=c.nodeType==CKEDITOR.NODE_TEXT}while(c=c.previousSibling);return b},getNextSourceNode:function(a,c,b){if(b&&!b.call)var f=b,b=function(b){return!b.equals(f)};var a=!a&&this.getFirst&&this.getFirst(),e;if(!a){if(this.type==CKEDITOR.NODE_ELEMENT&&b&&b(this,true)===false)return null;a=this.getNext()}for(;!a&&(e=(e||this).getParent());){if(b&&b(e,true)===false)return null;a=e.getNext()}return!a||
+b&&b(a)===false?null:c&&c!=a.type?a.getNextSourceNode(false,c,b):a},getPreviousSourceNode:function(a,c,b){if(b&&!b.call)var f=b,b=function(b){return!b.equals(f)};var a=!a&&this.getLast&&this.getLast(),e;if(!a){if(this.type==CKEDITOR.NODE_ELEMENT&&b&&b(this,true)===false)return null;a=this.getPrevious()}for(;!a&&(e=(e||this).getParent());){if(b&&b(e,true)===false)return null;a=e.getPrevious()}return!a||b&&b(a)===false?null:c&&a.type!=c?a.getPreviousSourceNode(false,c,b):a},getPrevious:function(a){var c=
+this.$,b;do b=(c=c.previousSibling)&&c.nodeType!=10&&new CKEDITOR.dom.node(c);while(b&&a&&!a(b));return b},getNext:function(a){var c=this.$,b;do b=(c=c.nextSibling)&&new CKEDITOR.dom.node(c);while(b&&a&&!a(b));return b},getParent:function(a){var c=this.$.parentNode;return c&&(c.nodeType==CKEDITOR.NODE_ELEMENT||a&&c.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT)?new CKEDITOR.dom.node(c):null},getParents:function(a){var c=this,b=[];do b[a?"push":"unshift"](c);while(c=c.getParent());return b},getCommonAncestor:function(a){if(a.equals(this))return this;
+if(a.contains&&a.contains(this))return a;var c=this.contains?this:this.getParent();do if(c.contains(a))return c;while(c=c.getParent());return null},getPosition:function(a){var c=this.$,b=a.$;if(c.compareDocumentPosition)return c.compareDocumentPosition(b);if(c==b)return CKEDITOR.POSITION_IDENTICAL;if(this.type==CKEDITOR.NODE_ELEMENT&&a.type==CKEDITOR.NODE_ELEMENT){if(c.contains){if(c.contains(b))return CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_PRECEDING;if(b.contains(c))return CKEDITOR.POSITION_IS_CONTAINED+
+CKEDITOR.POSITION_FOLLOWING}if("sourceIndex"in c)return c.sourceIndex<0||b.sourceIndex<0?CKEDITOR.POSITION_DISCONNECTED:c.sourceIndex<b.sourceIndex?CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION_FOLLOWING}for(var c=this.getAddress(),a=a.getAddress(),b=Math.min(c.length,a.length),f=0;f<=b-1;f++)if(c[f]!=a[f]){if(f<b)return c[f]<a[f]?CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION_FOLLOWING;break}return c.length<a.length?CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION_IS_CONTAINED+
+CKEDITOR.POSITION_FOLLOWING},getAscendant:function(a,c){var b=this.$,f;if(!c)b=b.parentNode;for(;b;){if(b.nodeName&&(f=b.nodeName.toLowerCase(),typeof a=="string"?f==a:f in a))return new CKEDITOR.dom.node(b);try{b=b.parentNode}catch(e){b=null}}return null},hasAscendant:function(a,c){var b=this.$;if(!c)b=b.parentNode;for(;b;){if(b.nodeName&&b.nodeName.toLowerCase()==a)return true;b=b.parentNode}return false},move:function(a,c){a.append(this.remove(),c)},remove:function(a){var c=this.$,b=c.parentNode;
+if(b){if(a)for(;a=c.firstChild;)b.insertBefore(c.removeChild(a),c);b.removeChild(c)}return this},replace:function(a){this.insertBefore(a);a.remove()},trim:function(){this.ltrim();this.rtrim()},ltrim:function(){for(var a;this.getFirst&&(a=this.getFirst());){if(a.type==CKEDITOR.NODE_TEXT){var c=CKEDITOR.tools.ltrim(a.getText()),b=a.getLength();if(c){if(c.length<b){a.split(b-c.length);this.$.removeChild(this.$.firstChild)}}else{a.remove();continue}}break}},rtrim:function(){for(var a;this.getLast&&(a=
+this.getLast());){if(a.type==CKEDITOR.NODE_TEXT){var c=CKEDITOR.tools.rtrim(a.getText()),b=a.getLength();if(c){if(c.length<b){a.split(c.length);this.$.lastChild.parentNode.removeChild(this.$.lastChild)}}else{a.remove();continue}}break}if(!CKEDITOR.env.ie&&!CKEDITOR.env.opera)(a=this.$.lastChild)&&(a.type==1&&a.nodeName.toLowerCase()=="br")&&a.parentNode.removeChild(a)},isReadOnly:function(){var a=this;this.type!=CKEDITOR.NODE_ELEMENT&&(a=this.getParent());if(a&&typeof a.$.isContentEditable!="undefined")return!(a.$.isContentEditable||
+a.data("cke-editable"));for(;a;){if(a.data("cke-editable"))break;if(a.getAttribute("contentEditable")=="false")return true;if(a.getAttribute("contentEditable")=="true")break;a=a.getParent()}return!a}});CKEDITOR.dom.window=function(a){CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.window.prototype=new CKEDITOR.dom.domObject;
+CKEDITOR.tools.extend(CKEDITOR.dom.window.prototype,{focus:function(){this.$.focus()},getViewPaneSize:function(){var a=this.$.document,c=a.compatMode=="CSS1Compat";return{width:(c?a.documentElement.clientWidth:a.body.clientWidth)||0,height:(c?a.documentElement.clientHeight:a.body.clientHeight)||0}},getScrollPosition:function(){var a=this.$;if("pageXOffset"in a)return{x:a.pageXOffset||0,y:a.pageYOffset||0};a=a.document;return{x:a.documentElement.scrollLeft||a.body.scrollLeft||0,y:a.documentElement.scrollTop||
+a.body.scrollTop||0}},getFrame:function(){var a=this.$.frameElement;return a?new CKEDITOR.dom.element.get(a):null}});CKEDITOR.dom.document=function(a){CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.document.prototype=new CKEDITOR.dom.domObject;
+CKEDITOR.tools.extend(CKEDITOR.dom.document.prototype,{type:CKEDITOR.NODE_DOCUMENT,appendStyleSheet:function(a){if(this.$.createStyleSheet)this.$.createStyleSheet(a);else{var c=new CKEDITOR.dom.element("link");c.setAttributes({rel:"stylesheet",type:"text/css",href:a});this.getHead().append(c)}},appendStyleText:function(a){if(this.$.createStyleSheet){var c=this.$.createStyleSheet("");c.cssText=a}else{var b=new CKEDITOR.dom.element("style",this);b.append(new CKEDITOR.dom.text(a,this));this.getHead().append(b)}return c||
+b.$.sheet},createElement:function(a,c){var b=new CKEDITOR.dom.element(a,this);if(c){c.attributes&&b.setAttributes(c.attributes);c.styles&&b.setStyles(c.styles)}return b},createText:function(a){return new CKEDITOR.dom.text(a,this)},focus:function(){this.getWindow().focus()},getActive:function(){return new CKEDITOR.dom.element(this.$.activeElement)},getById:function(a){return(a=this.$.getElementById(a))?new CKEDITOR.dom.element(a):null},getByAddress:function(a,c){for(var b=this.$.documentElement,f=
+0;b&&f<a.length;f++){var e=a[f];if(c)for(var d=-1,j=0;j<b.childNodes.length;j++){var l=b.childNodes[j];if(!(c===true&&l.nodeType==3&&l.previousSibling&&l.previousSibling.nodeType==3)){d++;if(d==e){b=l;break}}}else b=b.childNodes[e]}return b?new CKEDITOR.dom.node(b):null},getElementsByTag:function(a,c){if((!CKEDITOR.env.ie||document.documentMode>8)&&c)a=c+":"+a;return new CKEDITOR.dom.nodeList(this.$.getElementsByTagName(a))},getHead:function(){var a=this.$.getElementsByTagName("head")[0];return a=
+a?new CKEDITOR.dom.element(a):this.getDocumentElement().append(new CKEDITOR.dom.element("head"),true)},getBody:function(){return new CKEDITOR.dom.element(this.$.body)},getDocumentElement:function(){return new CKEDITOR.dom.element(this.$.documentElement)},getWindow:function(){var a=new CKEDITOR.dom.window(this.$.parentWindow||this.$.defaultView);return(this.getWindow=function(){return a})()},write:function(a){this.$.open("text/html","replace");CKEDITOR.env.isCustomDomain()&&(this.$.domain=document.domain);
+this.$.write(a);this.$.close()}});CKEDITOR.dom.nodeList=function(a){this.$=a};CKEDITOR.dom.nodeList.prototype={count:function(){return this.$.length},getItem:function(a){if(a<0||a>=this.$.length)return null;return(a=this.$[a])?new CKEDITOR.dom.node(a):null}};CKEDITOR.dom.element=function(a,c){typeof a=="string"&&(a=(c?c.$:document).createElement(a));CKEDITOR.dom.domObject.call(this,a)};
+CKEDITOR.dom.element.get=function(a){return(a=typeof a=="string"?document.getElementById(a)||document.getElementsByName(a)[0]:a)&&(a.$?a:new CKEDITOR.dom.element(a))};CKEDITOR.dom.element.prototype=new CKEDITOR.dom.node;CKEDITOR.dom.element.createFromHtml=function(a,c){var b=new CKEDITOR.dom.element("div",c);b.setHtml(a);return b.getFirst().remove()};
+CKEDITOR.dom.element.setMarker=function(a,c,b,f){var e=c.getCustomData("list_marker_id")||c.setCustomData("list_marker_id",CKEDITOR.tools.getNextNumber()).getCustomData("list_marker_id"),d=c.getCustomData("list_marker_names")||c.setCustomData("list_marker_names",{}).getCustomData("list_marker_names");a[e]=c;d[b]=1;return c.setCustomData(b,f)};CKEDITOR.dom.element.clearAllMarkers=function(a){for(var c in a)CKEDITOR.dom.element.clearMarkers(a,a[c],1)};
+CKEDITOR.dom.element.clearMarkers=function(a,c,b){var f=c.getCustomData("list_marker_names"),e=c.getCustomData("list_marker_id"),d;for(d in f)c.removeCustomData(d);c.removeCustomData("list_marker_names");if(b){c.removeCustomData("list_marker_id");delete a[e]}};
+(function(){function a(b){for(var a=0,e=0,d=c[b].length;e<d;e++)a=a+(parseInt(this.getComputedStyle(c[b][e])||0,10)||0);return a}CKEDITOR.tools.extend(CKEDITOR.dom.element.prototype,{type:CKEDITOR.NODE_ELEMENT,addClass:function(b){var a=this.$.className;a&&(RegExp("(?:^|\\s)"+b+"(?:\\s|$)","").test(a)||(a=a+(" "+b)));this.$.className=a||b},removeClass:function(b){var a=this.getAttribute("class");if(a){b=RegExp("(?:^|\\s+)"+b+"(?=\\s|$)","i");if(b.test(a))(a=a.replace(b,"").replace(/^\s+/,""))?this.setAttribute("class",
+a):this.removeAttribute("class")}return this},hasClass:function(b){return RegExp("(?:^|\\s+)"+b+"(?=\\s|$)","").test(this.getAttribute("class"))},append:function(b,a){typeof b=="string"&&(b=this.getDocument().createElement(b));a?this.$.insertBefore(b.$,this.$.firstChild):this.$.appendChild(b.$);return b},appendHtml:function(b){if(this.$.childNodes.length){var a=new CKEDITOR.dom.element("div",this.getDocument());a.setHtml(b);a.moveChildren(this)}else this.setHtml(b)},appendText:function(b){this.$.text!=
+void 0?this.$.text=this.$.text+b:this.append(new CKEDITOR.dom.text(b))},appendBogus:function(){for(var b=this.getLast();b&&b.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.rtrim(b.getText());)b=b.getPrevious();if(!b||!b.is||!b.is("br")){b=CKEDITOR.env.opera?this.getDocument().createText(""):this.getDocument().createElement("br");CKEDITOR.env.gecko&&b.setAttribute("type","_moz");this.append(b)}},breakParent:function(b){var a=new CKEDITOR.dom.range(this.getDocument());a.setStartAfter(this);a.setEndAfter(b);
+b=a.extractContents();a.insertNode(this.remove());b.insertAfterNode(this)},contains:CKEDITOR.env.ie||CKEDITOR.env.webkit?function(b){var a=this.$;return b.type!=CKEDITOR.NODE_ELEMENT?a.contains(b.getParent().$):a!=b.$&&a.contains(b.$)}:function(b){return!!(this.$.compareDocumentPosition(b.$)&16)},focus:function(){function b(){try{this.$.focus()}catch(b){}}return function(a){a?CKEDITOR.tools.setTimeout(b,100,this):b.call(this)}}(),getHtml:function(){var b=this.$.innerHTML;return CKEDITOR.env.ie?b.replace(/<\?[^>]*>/g,
+""):b},getOuterHtml:function(){if(this.$.outerHTML)return this.$.outerHTML.replace(/<\?[^>]*>/,"");var b=this.$.ownerDocument.createElement("div");b.appendChild(this.$.cloneNode(true));return b.innerHTML},getClientRect:function(){var b=CKEDITOR.tools.extend({},this.$.getBoundingClientRect());!b.width&&(b.width=b.right-b.left);!b.height&&(b.height=b.bottom-b.top);return b},setHtml:function(){var b=function(b){return this.$.innerHTML=b};return CKEDITOR.env.ie&&CKEDITOR.env.version<9?function(b){try{return this.$.innerHTML=
+b}catch(a){this.$.innerHTML="";var c=new CKEDITOR.dom.element("body",this.getDocument());c.$.innerHTML=b;for(c=c.getChildren();c.count();)this.append(c.getItem(0));return b}}:b}(),setText:function(b){CKEDITOR.dom.element.prototype.setText=this.$.innerText!=void 0?function(b){return this.$.innerText=b}:function(b){return this.$.textContent=b};return this.setText(b)},getAttribute:function(){var b=function(b){return this.$.getAttribute(b,2)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)?
+function(b){switch(b){case "class":b="className";break;case "http-equiv":b="httpEquiv";break;case "name":return this.$.name;case "tabindex":b=this.$.getAttribute(b,2);b!==0&&this.$.tabIndex===0&&(b=null);return b;case "checked":b=this.$.attributes.getNamedItem(b);return(b.specified?b.nodeValue:this.$.checked)?"checked":null;case "hspace":case "value":return this.$[b];case "style":return this.$.style.cssText;case "contenteditable":case "contentEditable":return this.$.attributes.getNamedItem("contentEditable").specified?
+this.$.getAttribute("contentEditable"):null}return this.$.getAttribute(b,2)}:b}(),getChildren:function(){return new CKEDITOR.dom.nodeList(this.$.childNodes)},getComputedStyle:CKEDITOR.env.ie?function(b){return this.$.currentStyle[CKEDITOR.tools.cssStyleToDomStyle(b)]}:function(b){var a=this.getWindow().$.getComputedStyle(this.$,null);return a?a.getPropertyValue(b):""},getDtd:function(){var b=CKEDITOR.dtd[this.getName()];this.getDtd=function(){return b};return b},getElementsByTag:CKEDITOR.dom.document.prototype.getElementsByTag,
+getTabIndex:CKEDITOR.env.ie?function(){var b=this.$.tabIndex;b===0&&(!CKEDITOR.dtd.$tabIndex[this.getName()]&&parseInt(this.getAttribute("tabindex"),10)!==0)&&(b=-1);return b}:CKEDITOR.env.webkit?function(){var b=this.$.tabIndex;if(b==void 0){b=parseInt(this.getAttribute("tabindex"),10);isNaN(b)&&(b=-1)}return b}:function(){return this.$.tabIndex},getText:function(){return this.$.textContent||this.$.innerText||""},getWindow:function(){return this.getDocument().getWindow()},getId:function(){return this.$.id||
+null},getNameAtt:function(){return this.$.name||null},getName:function(){var b=this.$.nodeName.toLowerCase();if(CKEDITOR.env.ie&&!(document.documentMode>8)){var a=this.$.scopeName;a!="HTML"&&(b=a.toLowerCase()+":"+b)}return(this.getName=function(){return b})()},getValue:function(){return this.$.value},getFirst:function(b){var a=this.$.firstChild;(a=a&&new CKEDITOR.dom.node(a))&&(b&&!b(a))&&(a=a.getNext(b));return a},getLast:function(b){var a=this.$.lastChild;(a=a&&new CKEDITOR.dom.node(a))&&(b&&!b(a))&&
+(a=a.getPrevious(b));return a},getStyle:function(b){return this.$.style[CKEDITOR.tools.cssStyleToDomStyle(b)]},is:function(){var b=this.getName();if(typeof arguments[0]=="object")return!!arguments[0][b];for(var a=0;a<arguments.length;a++)if(arguments[a]==b)return true;return false},isEditable:function(b){var a=this.getName();if(this.isReadOnly()||this.getComputedStyle("display")=="none"||this.getComputedStyle("visibility")=="hidden"||CKEDITOR.dtd.$nonEditable[a]||CKEDITOR.dtd.$empty[a]||this.is("a")&&
+(this.data("cke-saved-name")||this.hasAttribute("name"))&&!this.getChildCount())return false;if(b!==false){b=CKEDITOR.dtd[a]||CKEDITOR.dtd.span;return!(!b||!b["#"])}return true},isIdentical:function(b){var a=this.clone(0,1),b=b.clone(0,1);a.removeAttributes(["_moz_dirty","data-cke-expando","data-cke-saved-href","data-cke-saved-name"]);b.removeAttributes(["_moz_dirty","data-cke-expando","data-cke-saved-href","data-cke-saved-name"]);if(a.$.isEqualNode){a.$.style.cssText=CKEDITOR.tools.normalizeCssText(a.$.style.cssText);
+b.$.style.cssText=CKEDITOR.tools.normalizeCssText(b.$.style.cssText);return a.$.isEqualNode(b.$)}a=a.getOuterHtml();b=b.getOuterHtml();if(CKEDITOR.env.ie&&CKEDITOR.env.version<9&&this.is("a")){var c=this.getParent();if(c.type==CKEDITOR.NODE_ELEMENT){c=c.clone();c.setHtml(a);a=c.getHtml();c.setHtml(b);b=c.getHtml()}}return a==b},isVisible:function(){var b=(this.$.offsetHeight||this.$.offsetWidth)&&this.getComputedStyle("visibility")!="hidden",a,c;if(b&&(CKEDITOR.env.webkit||CKEDITOR.env.opera)){a=
+this.getWindow();if(!a.equals(CKEDITOR.document.getWindow())&&(c=a.$.frameElement))b=(new CKEDITOR.dom.element(c)).isVisible()}return!!b},isEmptyInlineRemoveable:function(){if(!CKEDITOR.dtd.$removeEmpty[this.getName()])return false;for(var b=this.getChildren(),a=0,c=b.count();a<c;a++){var d=b.getItem(a);if(!(d.type==CKEDITOR.NODE_ELEMENT&&d.data("cke-bookmark"))&&(d.type==CKEDITOR.NODE_ELEMENT&&!d.isEmptyInlineRemoveable()||d.type==CKEDITOR.NODE_TEXT&&CKEDITOR.tools.trim(d.getText())))return false}return true},
+hasAttributes:CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)?function(){for(var b=this.$.attributes,a=0;a<b.length;a++){var c=b[a];switch(c.nodeName){case "class":if(this.getAttribute("class"))return true;case "data-cke-expando":continue;default:if(c.specified)return true}}return false}:function(){var b=this.$.attributes,a=b.length,c={"data-cke-expando":1,_moz_dirty:1};return a>0&&(a>2||!c[b[0].nodeName]||a==2&&!c[b[1].nodeName])},hasAttribute:function(){function b(b){b=this.$.attributes.getNamedItem(b);
+return!(!b||!b.specified)}return CKEDITOR.env.ie&&CKEDITOR.env.version<8?function(a){return a=="name"?!!this.$.name:b.call(this,a)}:b}(),hide:function(){this.setStyle("display","none")},moveChildren:function(b,a){var c=this.$,b=b.$;if(c!=b){var d;if(a)for(;d=c.lastChild;)b.insertBefore(c.removeChild(d),b.firstChild);else for(;d=c.firstChild;)b.appendChild(c.removeChild(d))}},mergeSiblings:function(){function b(b,a,c){if(a&&a.type==CKEDITOR.NODE_ELEMENT){for(var j=[];a.data("cke-bookmark")||a.isEmptyInlineRemoveable();){j.push(a);
+a=c?a.getNext():a.getPrevious();if(!a||a.type!=CKEDITOR.NODE_ELEMENT)return}if(b.isIdentical(a)){for(var l=c?b.getLast():b.getFirst();j.length;)j.shift().move(b,!c);a.moveChildren(b,!c);a.remove();l&&l.type==CKEDITOR.NODE_ELEMENT&&l.mergeSiblings()}}}return function(a){if(a===false||CKEDITOR.dtd.$removeEmpty[this.getName()]||this.is("a")){b(this,this.getNext(),true);b(this,this.getPrevious())}}}(),show:function(){this.setStyles({display:"",visibility:""})},setAttribute:function(){var b=function(b,
+a){this.$.setAttribute(b,a);return this};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)?function(a,c){a=="class"?this.$.className=c:a=="style"?this.$.style.cssText=c:a=="tabindex"?this.$.tabIndex=c:a=="checked"?this.$.checked=c:a=="contenteditable"?b.call(this,"contentEditable",c):b.apply(this,arguments);return this}:CKEDITOR.env.ie8Compat&&CKEDITOR.env.secure?function(a,c){if(a=="src"&&c.match(/^http:\/\//))try{b.apply(this,arguments)}catch(d){}else b.apply(this,arguments);
+return this}:b}(),setAttributes:function(b){for(var a in b)this.setAttribute(a,b[a]);return this},setValue:function(b){this.$.value=b;return this},removeAttribute:function(){var b=function(b){this.$.removeAttribute(b)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)?function(b){b=="class"?b="className":b=="tabindex"?b="tabIndex":b=="contenteditable"&&(b="contentEditable");this.$.removeAttribute(b)}:b}(),removeAttributes:function(b){if(CKEDITOR.tools.isArray(b))for(var a=0;a<
+b.length;a++)this.removeAttribute(b[a]);else for(a in b)b.hasOwnProperty(a)&&this.removeAttribute(a)},removeStyle:function(b){var a=this.$.style;if(!a.removeProperty&&(b=="border"||b=="margin"||b=="padding")){var c=["top","left","right","bottom"],d;b=="border"&&(d=["color","style","width"]);for(var a=[],j=0;j<c.length;j++)if(d)for(var l=0;l<d.length;l++)a.push([b,c[j],d[l]].join("-"));else a.push([b,c[j]].join("-"));for(b=0;b<a.length;b++)this.removeStyle(a[b])}else{a.removeProperty?a.removeProperty(b):
+a.removeAttribute(CKEDITOR.tools.cssStyleToDomStyle(b));this.$.style.cssText||this.removeAttribute("style")}},setStyle:function(b,a){this.$.style[CKEDITOR.tools.cssStyleToDomStyle(b)]=a;return this},setStyles:function(b){for(var a in b)this.setStyle(a,b[a]);return this},setOpacity:function(b){if(CKEDITOR.env.ie&&CKEDITOR.env.version<9){b=Math.round(b*100);this.setStyle("filter",b>=100?"":"progid:DXImageTransform.Microsoft.Alpha(opacity="+b+")")}else this.setStyle("opacity",b)},unselectable:function(){this.setStyles(CKEDITOR.tools.cssVendorPrefix("user-select",
+"none"));if(CKEDITOR.env.ie||CKEDITOR.env.opera){this.setAttribute("unselectable","on");for(var b,a=this.getElementsByTag("*"),c=0,d=a.count();c<d;c++){b=a.getItem(c);b.setAttribute("unselectable","on")}}},getPositionedAncestor:function(){for(var b=this;b.getName()!="html";){if(b.getComputedStyle("position")!="static")return b;b=b.getParent()}return null},getDocumentPosition:function(b){var a=0,c=0,d=this.getDocument(),j=d.getBody(),l=d.$.compatMode=="BackCompat";if(document.documentElement.getBoundingClientRect){var i=
+this.$.getBoundingClientRect(),m=d.$.documentElement,n=m.clientTop||j.$.clientTop||0,r=m.clientLeft||j.$.clientLeft||0,p=true;if(CKEDITOR.env.ie){p=d.getDocumentElement().contains(this);d=d.getBody().contains(this);p=l&&d||!l&&p}if(p){a=i.left+(!l&&m.scrollLeft||j.$.scrollLeft);a=a-r;c=i.top+(!l&&m.scrollTop||j.$.scrollTop);c=c-n}}else{j=this;for(d=null;j&&!(j.getName()=="body"||j.getName()=="html");){a=a+(j.$.offsetLeft-j.$.scrollLeft);c=c+(j.$.offsetTop-j.$.scrollTop);if(!j.equals(this)){a=a+(j.$.clientLeft||
+0);c=c+(j.$.clientTop||0)}for(;d&&!d.equals(j);){a=a-d.$.scrollLeft;c=c-d.$.scrollTop;d=d.getParent()}d=j;j=(i=j.$.offsetParent)?new CKEDITOR.dom.element(i):null}}if(b){j=this.getWindow();d=b.getWindow();if(!j.equals(d)&&j.$.frameElement){b=(new CKEDITOR.dom.element(j.$.frameElement)).getDocumentPosition(b);a=a+b.x;c=c+b.y}}if(!document.documentElement.getBoundingClientRect&&CKEDITOR.env.gecko&&!l){a=a+(this.$.clientLeft?1:0);c=c+(this.$.clientTop?1:0)}return{x:a,y:c}},scrollIntoView:function(b){var a=
+this.getParent();if(a){do{(a.$.clientWidth&&a.$.clientWidth<a.$.scrollWidth||a.$.clientHeight&&a.$.clientHeight<a.$.scrollHeight)&&!a.is("body")&&this.scrollIntoParent(a,b,1);if(a.is("html")){var c=a.getWindow();try{var d=c.$.frameElement;d&&(a=new CKEDITOR.dom.element(d))}catch(j){}}}while(a=a.getParent())}},scrollIntoParent:function(b,a,c){var d,j,l,i;function m(a,c){if(/body|html/.test(b.getName()))b.getWindow().$.scrollBy(a,c);else{b.$.scrollLeft=b.$.scrollLeft+a;b.$.scrollTop=b.$.scrollTop+c}}
+function n(b,a){var c={x:0,y:0};if(!b.is(p?"body":"html")){var g=b.$.getBoundingClientRect();c.x=g.left;c.y=g.top}g=b.getWindow();if(!g.equals(a)){g=n(CKEDITOR.dom.element.get(g.$.frameElement),a);c.x=c.x+g.x;c.y=c.y+g.y}return c}function r(b,a){return parseInt(b.getComputedStyle("margin-"+a)||0,10)||0}!b&&(b=this.getWindow());l=b.getDocument();var p=l.$.compatMode=="BackCompat";b instanceof CKEDITOR.dom.window&&(b=p?l.getBody():l.getDocumentElement());l=b.getWindow();j=n(this,l);var g=n(b,l),h=this.$.offsetHeight;
+d=this.$.offsetWidth;var u=b.$.clientHeight,w=b.$.clientWidth;l=j.x-r(this,"left")-g.x||0;i=j.y-r(this,"top")-g.y||0;d=j.x+d+r(this,"right")-(g.x+w)||0;j=j.y+h+r(this,"bottom")-(g.y+u)||0;if(i<0||j>0)m(0,a===true?i:a===false?j:i<0?i:j);if(c&&(l<0||d>0))m(l<0?l:d,0)},setState:function(b,a,c){a=a||"cke";switch(b){case CKEDITOR.TRISTATE_ON:this.addClass(a+"_on");this.removeClass(a+"_off");this.removeClass(a+"_disabled");c&&this.setAttribute("aria-pressed",true);c&&this.removeAttribute("aria-disabled");
+break;case CKEDITOR.TRISTATE_DISABLED:this.addClass(a+"_disabled");this.removeClass(a+"_off");this.removeClass(a+"_on");c&&this.setAttribute("aria-disabled",true);c&&this.removeAttribute("aria-pressed");break;default:this.addClass(a+"_off");this.removeClass(a+"_on");this.removeClass(a+"_disabled");c&&this.removeAttribute("aria-pressed");c&&this.removeAttribute("aria-disabled")}},getFrameDocument:function(){var b=this.$;try{b.contentWindow.document}catch(a){b.src=b.src}return b&&new CKEDITOR.dom.document(b.contentWindow.document)},
+copyAttributes:function(b,a){for(var c=this.$.attributes,a=a||{},d=0;d<c.length;d++){var j=c[d],l=j.nodeName.toLowerCase(),i;if(!(l in a))if(l=="checked"&&(i=this.getAttribute(l)))b.setAttribute(l,i);else if(j.specified||CKEDITOR.env.ie&&j.nodeValue&&l=="value"){i=this.getAttribute(l);if(i===null)i=j.nodeValue;b.setAttribute(l,i)}}if(this.$.style.cssText!=="")b.$.style.cssText=this.$.style.cssText},renameNode:function(b){if(this.getName()!=b){var a=this.getDocument(),b=new CKEDITOR.dom.element(b,
+a);this.copyAttributes(b);this.moveChildren(b);this.getParent()&&this.$.parentNode.replaceChild(b.$,this.$);b.$["data-cke-expando"]=this.$["data-cke-expando"];this.$=b.$}},getChild:function(){function b(b,a){var c=b.childNodes;if(a>=0&&a<c.length)return c[a]}return function(a){var c=this.$;if(a.slice)for(;a.length>0&&c;)c=b(c,a.shift());else c=b(c,a);return c?new CKEDITOR.dom.node(c):null}}(),getChildCount:function(){return this.$.childNodes.length},disableContextMenu:function(){this.on("contextmenu",
+function(b){b.data.getTarget().hasClass("cke_enable_context_menu")||b.data.preventDefault()})},getDirection:function(b){return b?this.getComputedStyle("direction")||this.getDirection()||this.getParent()&&this.getParent().getDirection(1)||this.getDocument().$.dir||"ltr":this.getStyle("direction")||this.getAttribute("dir")},data:function(b,a){b="data-"+b;if(a===void 0)return this.getAttribute(b);a===false?this.removeAttribute(b):this.setAttribute(b,a);return null},getEditor:function(){var b=CKEDITOR.instances,
+a,c;for(a in b){c=b[a];if(c.element.equals(this)&&c.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO)return c}return null}});var c={width:["border-left-width","border-right-width","padding-left","padding-right"],height:["border-top-width","border-bottom-width","padding-top","padding-bottom"]};CKEDITOR.dom.element.prototype.setSize=function(b,c,e){if(typeof c=="number"){if(e&&(!CKEDITOR.env.ie||!CKEDITOR.env.quirks))c=c-a.call(this,b);this.setStyle(b,c+"px")}};CKEDITOR.dom.element.prototype.getSize=function(b,
+c){var e=Math.max(this.$["offset"+CKEDITOR.tools.capitalize(b)],this.$["client"+CKEDITOR.tools.capitalize(b)])||0;c&&(e=e-a.call(this,b));return e}})();CKEDITOR.dom.documentFragment=function(a){a=a||CKEDITOR.document;this.$=a.type==CKEDITOR.NODE_DOCUMENT?a.$.createDocumentFragment():a};
+CKEDITOR.tools.extend(CKEDITOR.dom.documentFragment.prototype,CKEDITOR.dom.element.prototype,{type:CKEDITOR.NODE_DOCUMENT_FRAGMENT,insertAfterNode:function(a){a=a.$;a.parentNode.insertBefore(this.$,a.nextSibling)}},!0,{append:1,appendBogus:1,getFirst:1,getLast:1,getParent:1,getNext:1,getPrevious:1,appendTo:1,moveChildren:1,insertBefore:1,insertAfterNode:1,replace:1,trim:1,type:1,ltrim:1,rtrim:1,getDocument:1,getChildCount:1,getChild:1,getChildren:1});
+(function(){function a(a,b){var c=this.range;if(this._.end)return null;if(!this._.start){this._.start=1;if(c.collapsed){this.end();return null}c.optimize()}var d,n=c.startContainer;d=c.endContainer;var r=c.startOffset,p=c.endOffset,g,h=this.guard,u=this.type,f=a?"getPreviousSourceNode":"getNextSourceNode";if(!a&&!this._.guardLTR){var k=d.type==CKEDITOR.NODE_ELEMENT?d:d.getParent(),e=d.type==CKEDITOR.NODE_ELEMENT?d.getChild(p):d.getNext();this._.guardLTR=function(a,b){return(!b||!k.equals(a))&&(!e||
+!a.equals(e))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(c.root))}}if(a&&!this._.guardRTL){var F=n.type==CKEDITOR.NODE_ELEMENT?n:n.getParent(),D=n.type==CKEDITOR.NODE_ELEMENT?r?n.getChild(r-1):null:n.getPrevious();this._.guardRTL=function(a,b){return(!b||!F.equals(a))&&(!D||!a.equals(D))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(c.root))}}var B=a?this._.guardRTL:this._.guardLTR;g=h?function(a,b){return B(a,b)===false?false:h(a,b)}:B;if(this.current)d=this.current[f](false,u,g);else{if(a)d.type==
+CKEDITOR.NODE_ELEMENT&&(d=p>0?d.getChild(p-1):g(d,true)===false?null:d.getPreviousSourceNode(true,u,g));else{d=n;if(d.type==CKEDITOR.NODE_ELEMENT&&!(d=d.getChild(r)))d=g(n,true)===false?null:n.getNextSourceNode(true,u,g)}d&&g(d)===false&&(d=null)}for(;d&&!this._.end;){this.current=d;if(!this.evaluator||this.evaluator(d)!==false){if(!b)return d}else if(b&&this.evaluator)return false;d=d[f](false,u,g)}this.end();return this.current=null}function c(b){for(var c,d=null;c=a.call(this,b);)d=c;return d}
+CKEDITOR.dom.walker=CKEDITOR.tools.createClass({$:function(a){this.range=a;this._={}},proto:{end:function(){this._.end=1},next:function(){return a.call(this)},previous:function(){return a.call(this,1)},checkForward:function(){return a.call(this,0,1)!==false},checkBackward:function(){return a.call(this,1,1)!==false},lastForward:function(){return c.call(this)},lastBackward:function(){return c.call(this,1)},reset:function(){delete this.current;this._={}}}});var b={block:1,"list-item":1,table:1,"table-row-group":1,
+"table-header-group":1,"table-footer-group":1,"table-row":1,"table-column-group":1,"table-column":1,"table-cell":1,"table-caption":1};CKEDITOR.dom.element.prototype.isBlockBoundary=function(a){a=a?CKEDITOR.tools.extend({},CKEDITOR.dtd.$block,a||{}):CKEDITOR.dtd.$block;return this.getComputedStyle("float")=="none"&&b[this.getComputedStyle("display")]||a[this.getName()]};CKEDITOR.dom.walker.blockBoundary=function(a){return function(b){return!(b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary(a))}};CKEDITOR.dom.walker.listItemBoundary=
+function(){return this.blockBoundary({br:1})};CKEDITOR.dom.walker.bookmark=function(a,b){function c(a){return a&&a.getName&&a.getName()=="span"&&a.data("cke-bookmark")}return function(d){var n,r;n=d&&d.type!=CKEDITOR.NODE_ELEMENT&&(r=d.getParent())&&c(r);n=a?n:n||c(d);return!!(b^n)}};CKEDITOR.dom.walker.whitespaces=function(a){return function(b){var c;b&&b.type==CKEDITOR.NODE_TEXT&&(c=!CKEDITOR.tools.trim(b.getText())||CKEDITOR.env.webkit&&b.getText()=="​");return!!(a^c)}};CKEDITOR.dom.walker.invisible=
+function(a){var b=CKEDITOR.dom.walker.whitespaces();return function(c){if(b(c))c=1;else{c.type==CKEDITOR.NODE_TEXT&&(c=c.getParent());c=!c.$.offsetHeight}return!!(a^c)}};CKEDITOR.dom.walker.nodeType=function(a,b){return function(c){return!!(b^c.type==a)}};CKEDITOR.dom.walker.bogus=function(a){function b(a){return!e(a)&&!d(a)}return function(c){var d=!CKEDITOR.env.ie?c.is&&c.is("br"):c.getText&&f.test(c.getText());if(d){d=c.getParent();c=c.getNext(b);d=d.isBlockBoundary()&&(!c||c.type==CKEDITOR.NODE_ELEMENT&&
+c.isBlockBoundary())}return!!(a^d)}};var f=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,e=CKEDITOR.dom.walker.whitespaces(),d=CKEDITOR.dom.walker.bookmark();CKEDITOR.dom.element.prototype.getBogus=function(){var a=this;do a=a.getPreviousSourceNode();while(d(a)||e(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.getName()in CKEDITOR.dtd.$inline&&!(a.getName()in CKEDITOR.dtd.$empty));return a&&(!CKEDITOR.env.ie?a.is&&a.is("br"):a.getText&&f.test(a.getText()))?a:false}})();
+CKEDITOR.dom.range=function(a){this.endOffset=this.endContainer=this.startOffset=this.startContainer=null;this.collapsed=true;var c=a instanceof CKEDITOR.dom.document;this.document=c?a:a.getDocument();this.root=c?a.getBody():a};
+(function(){function a(){var a=false,b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(true),g=CKEDITOR.dom.walker.bogus();return function(h){if(c(h)||b(h))return true;if(g(h)&&!a)return a=true;return h.type==CKEDITOR.NODE_TEXT&&(h.hasAscendant("pre")||CKEDITOR.tools.trim(h.getText()).length)||h.type==CKEDITOR.NODE_ELEMENT&&!h.is(d)?false:true}}function c(a){var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(1);return function(g){return c(g)||b(g)?true:!a&&j(g)||
+g.type==CKEDITOR.NODE_ELEMENT&&g.is(CKEDITOR.dtd.$removeEmpty)}}function b(a){return!l(a)&&!i(a)}var f=function(a){a.collapsed=a.startContainer&&a.endContainer&&a.startContainer.equals(a.endContainer)&&a.startOffset==a.endOffset},e=function(a,b,c,g){a.optimizeBookmark();var h=a.startContainer,d=a.endContainer,f=a.startOffset,k=a.endOffset,e,j;if(d.type==CKEDITOR.NODE_TEXT)d=d.split(k);else if(d.getChildCount()>0)if(k>=d.getChildCount()){d=d.append(a.document.createText(""));j=true}else d=d.getChild(k);
+if(h.type==CKEDITOR.NODE_TEXT){h.split(f);h.equals(d)&&(d=h.getNext())}else if(f)if(f>=h.getChildCount()){h=h.append(a.document.createText(""));e=true}else h=h.getChild(f).getPrevious();else{h=h.append(a.document.createText(""),1);e=true}var f=h.getParents(),k=d.getParents(),l,i,q;for(l=0;l<f.length;l++){i=f[l];q=k[l];if(!i.equals(q))break}for(var m=c,s,A,v,o=l;o<f.length;o++){s=f[o];m&&!s.equals(h)&&(A=m.append(s.clone()));for(s=s.getNext();s;){if(s.equals(k[o])||s.equals(d))break;v=s.getNext();
+if(b==2)m.append(s.clone(true));else{s.remove();b==1&&m.append(s)}s=v}m&&(m=A)}m=c;for(c=l;c<k.length;c++){s=k[c];b>0&&!s.equals(d)&&(A=m.append(s.clone()));if(!f[c]||s.$.parentNode!=f[c].$.parentNode)for(s=s.getPrevious();s;){if(s.equals(f[c])||s.equals(h))break;v=s.getPrevious();if(b==2)m.$.insertBefore(s.$.cloneNode(true),m.$.firstChild);else{s.remove();b==1&&m.$.insertBefore(s.$,m.$.firstChild)}s=v}m&&(m=A)}if(b==2){i=a.startContainer;if(i.type==CKEDITOR.NODE_TEXT){i.$.data=i.$.data+i.$.nextSibling.data;
+i.$.parentNode.removeChild(i.$.nextSibling)}a=a.endContainer;if(a.type==CKEDITOR.NODE_TEXT&&a.$.nextSibling){a.$.data=a.$.data+a.$.nextSibling.data;a.$.parentNode.removeChild(a.$.nextSibling)}}else{if(i&&q&&(h.$.parentNode!=i.$.parentNode||d.$.parentNode!=q.$.parentNode)){b=q.getIndex();e&&q.$.parentNode==h.$.parentNode&&b--;if(g&&i.type==CKEDITOR.NODE_ELEMENT){g=CKEDITOR.dom.element.createFromHtml('<span data-cke-bookmark="1" style="display:none">&nbsp;</span>',a.document);g.insertAfter(i);i.mergeSiblings(false);
+a.moveToBookmark({startNode:g})}else a.setStart(q.getParent(),b)}a.collapse(true)}e&&h.remove();j&&d.$.parentNode&&d.remove()},d={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},j=CKEDITOR.dom.walker.bogus(),l=new CKEDITOR.dom.walker.whitespaces,i=new CKEDITOR.dom.walker.bookmark,m=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/;CKEDITOR.dom.range.prototype={clone:function(){var a=new CKEDITOR.dom.range(this.root);
+a.startContainer=this.startContainer;a.startOffset=this.startOffset;a.endContainer=this.endContainer;a.endOffset=this.endOffset;a.collapsed=this.collapsed;return 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},cloneContents:function(){var a=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||e(this,2,a);return a},deleteContents:function(a){this.collapsed||
+e(this,0,null,a)},extractContents:function(a){var b=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||e(this,1,b,a);return b},createBookmark:function(a){var b,c,g,h,d=this.collapsed;b=this.document.createElement("span");b.data("cke-bookmark",1);b.setStyle("display","none");b.setHtml("&nbsp;");if(a){g="cke_bm_"+CKEDITOR.tools.getNextNumber();b.setAttribute("id",g+(d?"C":"S"))}if(!d){c=b.clone();c.setHtml("&nbsp;");a&&c.setAttribute("id",g+"E");h=this.clone();h.collapse();h.insertNode(c)}h=
+this.clone();h.collapse(true);h.insertNode(b);if(c){this.setStartAfter(b);this.setEndBefore(c)}else this.moveToPosition(b,CKEDITOR.POSITION_AFTER_END);return{startNode:a?g+(d?"C":"S"):b,endNode:a?g+"E":c,serializable:a,collapsed:d}},createBookmark2:function(a){var b=this.startContainer,c=this.endContainer,g=this.startOffset,h=this.endOffset,d=this.collapsed,f,k;if(!b||!c)return{start:0,end:0};if(a){if(b.type==CKEDITOR.NODE_ELEMENT){if((f=b.getChild(g))&&f.type==CKEDITOR.NODE_TEXT&&g>0&&f.getPrevious().type==
+CKEDITOR.NODE_TEXT){b=f;g=0}f&&f.type==CKEDITOR.NODE_ELEMENT&&(g=f.getIndex(1))}for(;b.type==CKEDITOR.NODE_TEXT&&(k=b.getPrevious())&&k.type==CKEDITOR.NODE_TEXT;){b=k;g=g+k.getLength()}if(!d){if(c.type==CKEDITOR.NODE_ELEMENT){if((f=c.getChild(h))&&f.type==CKEDITOR.NODE_TEXT&&h>0&&f.getPrevious().type==CKEDITOR.NODE_TEXT){c=f;h=0}f&&f.type==CKEDITOR.NODE_ELEMENT&&(h=f.getIndex(1))}for(;c.type==CKEDITOR.NODE_TEXT&&(k=c.getPrevious())&&k.type==CKEDITOR.NODE_TEXT;){c=k;h=h+k.getLength()}}}return{start:b.getAddress(a),
+end:d?null:c.getAddress(a),startOffset:g,endOffset:h,normalized:a,collapsed:d,is2:true}},moveToBookmark:function(a){if(a.is2){var b=this.document.getByAddress(a.start,a.normalized),c=a.startOffset,g=a.end&&this.document.getByAddress(a.end,a.normalized),a=a.endOffset;this.setStart(b,c);g?this.setEnd(g,a):this.collapse(true)}else{b=(c=a.serializable)?this.document.getById(a.startNode):a.startNode;a=c?this.document.getById(a.endNode):a.endNode;this.setStartBefore(b);b.remove();if(a){this.setEndBefore(a);
+a.remove()}else this.collapse(true)}},getBoundaryNodes:function(){var a=this.startContainer,b=this.endContainer,c=this.startOffset,g=this.endOffset,h;if(a.type==CKEDITOR.NODE_ELEMENT){h=a.getChildCount();if(h>c)a=a.getChild(c);else if(h<1)a=a.getPreviousSourceNode();else{for(a=a.$;a.lastChild;)a=a.lastChild;a=new CKEDITOR.dom.node(a);a=a.getNextSourceNode()||a}}if(b.type==CKEDITOR.NODE_ELEMENT){h=b.getChildCount();if(h>g)b=b.getChild(g).getPreviousSourceNode(true);else if(h<1)b=b.getPreviousSourceNode();
+else{for(b=b.$;b.lastChild;)b=b.lastChild;b=new CKEDITOR.dom.node(b)}}a.getPosition(b)&CKEDITOR.POSITION_FOLLOWING&&(a=b);return{startNode:a,endNode:b}},getCommonAncestor:function(a,b){var c=this.startContainer,g=this.endContainer,c=c.equals(g)?a&&c.type==CKEDITOR.NODE_ELEMENT&&this.startOffset==this.endOffset-1?c.getChild(this.startOffset):c:c.getCommonAncestor(g);return b&&!c.is?c.getParent():c},optimize:function(){var a=this.startContainer,b=this.startOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=
+a.getLength()&&this.setStartAfter(a):this.setStartBefore(a));a=this.endContainer;b=this.endOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setEndAfter(a):this.setEndBefore(a))},optimizeBookmark:function(){var a=this.startContainer,b=this.endContainer;a.is&&(a.is("span")&&a.data("cke-bookmark"))&&this.setStartAt(a,CKEDITOR.POSITION_BEFORE_START);b&&(b.is&&b.is("span")&&b.data("cke-bookmark"))&&this.setEndAt(b,CKEDITOR.POSITION_AFTER_END)},trim:function(a,b){var c=this.startContainer,
+g=this.startOffset,h=this.collapsed;if((!a||h)&&c&&c.type==CKEDITOR.NODE_TEXT){if(g)if(g>=c.getLength()){g=c.getIndex()+1;c=c.getParent()}else{var d=c.split(g),g=c.getIndex()+1,c=c.getParent();if(this.startContainer.equals(this.endContainer))this.setEnd(d,this.endOffset-this.startOffset);else if(c.equals(this.endContainer))this.endOffset=this.endOffset+1}else{g=c.getIndex();c=c.getParent()}this.setStart(c,g);if(h){this.collapse(true);return}}c=this.endContainer;g=this.endOffset;if(!b&&!h&&c&&c.type==
+CKEDITOR.NODE_TEXT){if(g){g>=c.getLength()||c.split(g);g=c.getIndex()+1}else g=c.getIndex();c=c.getParent();this.setEnd(c,g)}},enlarge:function(a,b){switch(a){case CKEDITOR.ENLARGE_INLINE:var c=1;case CKEDITOR.ENLARGE_ELEMENT:if(this.collapsed)break;var g=this.getCommonAncestor(),h=this.root,d,f,k,e,j,l=false,i,q;i=this.startContainer;q=this.startOffset;if(i.type==CKEDITOR.NODE_TEXT){if(q){i=!CKEDITOR.tools.trim(i.substring(0,q)).length&&i;l=!!i}if(i&&!(e=i.getPrevious()))k=i.getParent()}else{q&&
+(e=i.getChild(q-1)||i.getLast());e||(k=i)}for(;k||e;){if(k&&!e){!j&&k.equals(g)&&(j=true);if(c?k.isBlockBoundary():!h.contains(k))break;if(!l||k.getComputedStyle("display")!="inline"){l=false;j?d=k:this.setStartBefore(k)}e=k.getPrevious()}for(;e;){i=false;if(e.type==CKEDITOR.NODE_COMMENT)e=e.getPrevious();else{if(e.type==CKEDITOR.NODE_TEXT){q=e.getText();/[^\s\ufeff]/.test(q)&&(e=null);i=/[\s\ufeff]$/.test(q)}else if((e.$.offsetWidth>0||b&&e.is("br"))&&!e.data("cke-bookmark"))if(l&&CKEDITOR.dtd.$removeEmpty[e.getName()]){q=
+e.getText();if(/[^\s\ufeff]/.test(q))e=null;else for(var m=e.$.getElementsByTagName("*"),s=0,A;A=m[s++];)if(!CKEDITOR.dtd.$removeEmpty[A.nodeName.toLowerCase()]){e=null;break}e&&(i=!!q.length)}else e=null;i&&(l?j?d=k:k&&this.setStartBefore(k):l=true);if(e){i=e.getPrevious();if(!k&&!i){k=e;e=null;break}e=i}else k=null}}k&&(k=k.getParent())}i=this.endContainer;q=this.endOffset;k=e=null;j=l=false;if(i.type==CKEDITOR.NODE_TEXT){i=!CKEDITOR.tools.trim(i.substring(q)).length&&i;l=!(i&&i.getLength());if(i&&
+!(e=i.getNext()))k=i.getParent()}else(e=i.getChild(q))||(k=i);for(;k||e;){if(k&&!e){!j&&k.equals(g)&&(j=true);if(c?k.isBlockBoundary():!h.contains(k))break;if(!l||k.getComputedStyle("display")!="inline"){l=false;j?f=k:k&&this.setEndAfter(k)}e=k.getNext()}for(;e;){i=false;if(e.type==CKEDITOR.NODE_TEXT){q=e.getText();/[^\s\ufeff]/.test(q)&&(e=null);i=/^[\s\ufeff]/.test(q)}else if(e.type==CKEDITOR.NODE_ELEMENT){if((e.$.offsetWidth>0||b&&e.is("br"))&&!e.data("cke-bookmark"))if(l&&CKEDITOR.dtd.$removeEmpty[e.getName()]){q=
+e.getText();if(/[^\s\ufeff]/.test(q))e=null;else{m=e.$.getElementsByTagName("*");for(s=0;A=m[s++];)if(!CKEDITOR.dtd.$removeEmpty[A.nodeName.toLowerCase()]){e=null;break}}e&&(i=!!q.length)}else e=null}else i=1;i&&l&&(j?f=k:this.setEndAfter(k));if(e){i=e.getNext();if(!k&&!i){k=e;e=null;break}e=i}else k=null}k&&(k=k.getParent())}if(d&&f){g=d.contains(f)?f:d;this.setStartBefore(g);this.setEndAfter(g)}break;case CKEDITOR.ENLARGE_BLOCK_CONTENTS:case CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:k=new CKEDITOR.dom.range(this.root);
+h=this.root;k.setStartAt(h,CKEDITOR.POSITION_AFTER_START);k.setEnd(this.startContainer,this.startOffset);k=new CKEDITOR.dom.walker(k);var v,o,x=CKEDITOR.dom.walker.blockBoundary(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?{br:1}:null),I=function(a){var b=x(a);b||(v=a);return b},c=function(a){var b=I(a);!b&&(a.is&&a.is("br"))&&(o=a);return b};k.guard=I;k=k.lastBackward();v=v||h;this.setStartAt(v,!v.is("br")&&(!k&&this.checkStartOfBlock()||k&&v.contains(k))?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_AFTER_END);
+if(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS){k=this.clone();k=new CKEDITOR.dom.walker(k);var G=CKEDITOR.dom.walker.whitespaces(),C=CKEDITOR.dom.walker.bookmark();k.evaluator=function(a){return!G(a)&&!C(a)};if((k=k.previous())&&k.type==CKEDITOR.NODE_ELEMENT&&k.is("br"))break}k=this.clone();k.collapse();k.setEndAt(h,CKEDITOR.POSITION_BEFORE_END);k=new CKEDITOR.dom.walker(k);k.guard=a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?c:I;v=null;k=k.lastForward();v=v||h;this.setEndAt(v,!k&&this.checkEndOfBlock()||k&&
+v.contains(k)?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_BEFORE_START);o&&this.setEndAfter(o)}},shrink:function(a,b,c){if(!this.collapsed){var a=a||CKEDITOR.SHRINK_TEXT,g=this.clone(),h=this.startContainer,d=this.endContainer,e=this.startOffset,f=this.endOffset,j=1,i=1;if(h&&h.type==CKEDITOR.NODE_TEXT)if(e)if(e>=h.getLength())g.setStartAfter(h);else{g.setStartBefore(h);j=0}else g.setStartBefore(h);if(d&&d.type==CKEDITOR.NODE_TEXT)if(f)if(f>=d.getLength())g.setEndAfter(d);else{g.setEndAfter(d);
+i=0}else g.setEndBefore(d);var g=new CKEDITOR.dom.walker(g),l=CKEDITOR.dom.walker.bookmark();g.evaluator=function(b){return b.type==(a==CKEDITOR.SHRINK_ELEMENT?CKEDITOR.NODE_ELEMENT:CKEDITOR.NODE_TEXT)};var m;g.guard=function(b,g){if(l(b))return true;if(a==CKEDITOR.SHRINK_ELEMENT&&b.type==CKEDITOR.NODE_TEXT||g&&b.equals(m)||c===false&&b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary())return false;!g&&b.type==CKEDITOR.NODE_ELEMENT&&(m=b);return true};if(j)(h=g[a==CKEDITOR.SHRINK_ELEMENT?"lastForward":
+"next"]())&&this.setStartAt(h,b?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_START);if(i){g.reset();(g=g[a==CKEDITOR.SHRINK_ELEMENT?"lastBackward":"previous"]())&&this.setEndAt(g,b?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_END)}return!(!j&&!i)}},insertNode:function(a){this.optimizeBookmark();this.trim(false,true);var b=this.startContainer,c=b.getChild(this.startOffset);c?a.insertBefore(c):b.append(a);a.getParent()&&a.getParent().equals(this.endContainer)&&this.endOffset++;this.setStartBefore(a)},
+moveToPosition:function(a,b){this.setStartAt(a,b);this.collapse(true)},moveToRange:function(a){this.setStart(a.startContainer,a.startOffset);this.setEnd(a.endContainer,a.endOffset)},selectNodeContents:function(a){this.setStart(a,0);this.setEnd(a,a.type==CKEDITOR.NODE_TEXT?a.getLength():a.getChildCount())},setStart:function(a,b){if(a.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[a.getName()]){b=a.getIndex();a=a.getParent()}this.startContainer=a;this.startOffset=b;if(!this.endContainer){this.endContainer=
+a;this.endOffset=b}f(this)},setEnd:function(a,b){if(a.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[a.getName()]){b=a.getIndex()+1;a=a.getParent()}this.endContainer=a;this.endOffset=b;if(!this.startContainer){this.startContainer=a;this.startOffset=b}f(this)},setStartAfter:function(a){this.setStart(a.getParent(),a.getIndex()+1)},setStartBefore:function(a){this.setStart(a.getParent(),a.getIndex())},setEndAfter:function(a){this.setEnd(a.getParent(),a.getIndex()+1)},setEndBefore:function(a){this.setEnd(a.getParent(),
+a.getIndex())},setStartAt:function(a,b){switch(b){case CKEDITOR.POSITION_AFTER_START:this.setStart(a,0);break;case CKEDITOR.POSITION_BEFORE_END:a.type==CKEDITOR.NODE_TEXT?this.setStart(a,a.getLength()):this.setStart(a,a.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setStartBefore(a);break;case CKEDITOR.POSITION_AFTER_END:this.setStartAfter(a)}f(this)},setEndAt:function(a,b){switch(b){case CKEDITOR.POSITION_AFTER_START:this.setEnd(a,0);break;case CKEDITOR.POSITION_BEFORE_END:a.type==
+CKEDITOR.NODE_TEXT?this.setEnd(a,a.getLength()):this.setEnd(a,a.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setEndBefore(a);break;case CKEDITOR.POSITION_AFTER_END:this.setEndAfter(a)}f(this)},fixBlock:function(a,b){var c=this.createBookmark(),g=this.document.createElement(b);this.collapse(a);this.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);this.extractContents().appendTo(g);g.trim();CKEDITOR.env.ie||g.appendBogus();this.insertNode(g);this.moveToBookmark(c);return g},splitBlock:function(a){var b=
+new CKEDITOR.dom.elementPath(this.startContainer,this.root),c=new CKEDITOR.dom.elementPath(this.endContainer,this.root),g=b.block,h=c.block,d=null;if(!b.blockLimit.equals(c.blockLimit))return null;if(a!="br"){if(!g){g=this.fixBlock(true,a);h=(new CKEDITOR.dom.elementPath(this.endContainer,this.root)).block}h||(h=this.fixBlock(false,a))}a=g&&this.checkStartOfBlock();b=h&&this.checkEndOfBlock();this.deleteContents();if(g&&g.equals(h))if(b){d=new CKEDITOR.dom.elementPath(this.startContainer,this.root);
+this.moveToPosition(h,CKEDITOR.POSITION_AFTER_END);h=null}else if(a){d=new CKEDITOR.dom.elementPath(this.startContainer,this.root);this.moveToPosition(g,CKEDITOR.POSITION_BEFORE_START);g=null}else{h=this.splitElement(g);!CKEDITOR.env.ie&&!g.is("ul","ol")&&g.appendBogus()}return{previousBlock:g,nextBlock:h,wasStartOfBlock:a,wasEndOfBlock:b,elementPath:d}},splitElement:function(a){if(!this.collapsed)return null;this.setEndAt(a,CKEDITOR.POSITION_BEFORE_END);var b=this.extractContents(),c=a.clone(false);
+b.appendTo(c);c.insertAfter(a);this.moveToPosition(a,CKEDITOR.POSITION_AFTER_END);return c},removeEmptyBlocksAtEnd:function(){function a(g){return function(a){return b(a)||(c(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.isEmptyInlineRemoveable())||g.is("table")&&a.is("caption")?false:true}}var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(false);return function(b){for(var c=this.createBookmark(),d=this[b?"endPath":"startPath"](),e=d.block||d.blockLimit,f;e&&!e.equals(d.root)&&!e.getFirst(a(e));){f=
+e.getParent();this[b?"setEndAt":"setStartAt"](e,CKEDITOR.POSITION_AFTER_END);e.remove(1);e=f}this.moveToBookmark(c)}}(),startPath:function(){return new CKEDITOR.dom.elementPath(this.startContainer,this.root)},endPath:function(){return new CKEDITOR.dom.elementPath(this.endContainer,this.root)},checkBoundaryOfElement:function(a,b){var d=b==CKEDITOR.START,g=this.clone();g.collapse(d);g[d?"setStartAt":"setEndAt"](a,d?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END);g=new CKEDITOR.dom.walker(g);
+g.evaluator=c(d);return g[d?"checkBackward":"checkForward"]()},checkStartOfBlock:function(){var b=this.startContainer,c=this.startOffset;if(CKEDITOR.env.ie&&c&&b.type==CKEDITOR.NODE_TEXT){b=CKEDITOR.tools.ltrim(b.substring(0,c));m.test(b)&&this.trim(0,1)}this.trim();b=new CKEDITOR.dom.elementPath(this.startContainer,this.root);c=this.clone();c.collapse(true);c.setStartAt(b.block||b.blockLimit,CKEDITOR.POSITION_AFTER_START);b=new CKEDITOR.dom.walker(c);b.evaluator=a();return b.checkBackward()},checkEndOfBlock:function(){var b=
+this.endContainer,c=this.endOffset;if(CKEDITOR.env.ie&&b.type==CKEDITOR.NODE_TEXT){b=CKEDITOR.tools.rtrim(b.substring(c));m.test(b)&&this.trim(1,0)}this.trim();b=new CKEDITOR.dom.elementPath(this.endContainer,this.root);c=this.clone();c.collapse(false);c.setEndAt(b.block||b.blockLimit,CKEDITOR.POSITION_BEFORE_END);b=new CKEDITOR.dom.walker(c);b.evaluator=a();return b.checkForward()},getPreviousNode:function(a,b,c){var d=this.clone();d.collapse(1);d.setStartAt(c||this.root,CKEDITOR.POSITION_AFTER_START);
+c=new CKEDITOR.dom.walker(d);c.evaluator=a;c.guard=b;return c.previous()},getNextNode:function(a,b,c){var d=this.clone();d.collapse();d.setEndAt(c||this.root,CKEDITOR.POSITION_BEFORE_END);c=new CKEDITOR.dom.walker(d);c.evaluator=a;c.guard=b;return c.next()},checkReadOnly:function(){function a(b,c){for(;b;){if(b.type==CKEDITOR.NODE_ELEMENT){if(b.getAttribute("contentEditable")=="false"&&!b.data("cke-editable"))return 0;if(b.is("html")||b.getAttribute("contentEditable")=="true"&&(b.contains(c)||b.equals(c)))break}b=
+b.getParent()}return 1}return function(){var b=this.startContainer,c=this.endContainer;return!(a(b,c)&&a(c,b))}}(),moveToElementEditablePosition:function(a,c){if(a.type==CKEDITOR.NODE_ELEMENT&&!a.isEditable(false)){this.moveToPosition(a,c?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);return true}for(var d=0;a;){if(a.type==CKEDITOR.NODE_TEXT){c&&this.checkEndOfBlock()&&m.test(a.getText())?this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START):this.moveToPosition(a,c?CKEDITOR.POSITION_AFTER_END:
+CKEDITOR.POSITION_BEFORE_START);d=1;break}if(a.type==CKEDITOR.NODE_ELEMENT)if(a.isEditable()){this.moveToPosition(a,c?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_START);d=1}else c&&(a.is("br")&&this.checkEndOfBlock())&&this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START);var g=a,h=d,e=void 0;g.type==CKEDITOR.NODE_ELEMENT&&g.isEditable(false)&&(e=g[c?"getLast":"getFirst"](b));!h&&!e&&(e=g[c?"getPrevious":"getNext"](b));a=e}return!!d},moveToElementEditStart:function(a){return this.moveToElementEditablePosition(a)},
+moveToElementEditEnd:function(a){return this.moveToElementEditablePosition(a,true)},getEnclosedNode:function(){var a=this.clone();a.optimize();if(a.startContainer.type!=CKEDITOR.NODE_ELEMENT||a.endContainer.type!=CKEDITOR.NODE_ELEMENT)return null;var a=new CKEDITOR.dom.walker(a),b=CKEDITOR.dom.walker.bookmark(false,true),c=CKEDITOR.dom.walker.whitespaces(true);a.evaluator=function(a){return c(a)&&b(a)};var d=a.next();a.reset();return d&&d.equals(a.previous())?d:null},getTouchedStartNode:function(){var a=
+this.startContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.startOffset)||a},getTouchedEndNode:function(){var a=this.endContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.endOffset-1)||a},scrollIntoView:function(){var a=new CKEDITOR.dom.element.createFromHtml("<span>&nbsp;</span>",this.document),b,c,d,h=this.clone();h.optimize();if(d=h.startContainer.type==CKEDITOR.NODE_TEXT){c=h.startContainer.getText();b=h.startContainer.split(h.startOffset);
+a.insertAfter(h.startContainer)}else h.insertNode(a);a.scrollIntoView();if(d){h.startContainer.setText(c);b.remove()}a.remove()}}})();CKEDITOR.POSITION_AFTER_START=1;CKEDITOR.POSITION_BEFORE_END=2;CKEDITOR.POSITION_BEFORE_START=3;CKEDITOR.POSITION_AFTER_END=4;CKEDITOR.ENLARGE_ELEMENT=1;CKEDITOR.ENLARGE_BLOCK_CONTENTS=2;CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS=3;CKEDITOR.ENLARGE_INLINE=4;CKEDITOR.START=1;CKEDITOR.END=2;CKEDITOR.SHRINK_ELEMENT=1;CKEDITOR.SHRINK_TEXT=2;
+(function(){function a(a){if(!(arguments.length<1)){this.range=a;this.forceBrBreak=0;this.enlargeBr=1;this.enforceRealBlocks=0;this._||(this._={})}}function c(a,b,c){for(a=a.getNextSourceNode(b,null,c);!f(a);)a=a.getNextSourceNode(b,null,c);return a}var b=/^[\r\n\t ]+$/,f=CKEDITOR.dom.walker.bookmark(false,true),e=CKEDITOR.dom.walker.whitespaces(true),d=function(a){return f(a)&&e(a)};a.prototype={getNextParagraph:function(a){a=a||"p";if(!CKEDITOR.dtd[this.range.root.getName()][a])return null;var e,
+i,m,n,r,p;if(!this._.started){i=this.range.clone();i.shrink(CKEDITOR.NODE_ELEMENT,true);n=i.endContainer.hasAscendant("pre",true)||i.startContainer.hasAscendant("pre",true);i.enlarge(this.forceBrBreak&&!n||!this.enlargeBr?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:CKEDITOR.ENLARGE_BLOCK_CONTENTS);if(!i.collapsed){n=new CKEDITOR.dom.walker(i.clone());var g=CKEDITOR.dom.walker.bookmark(true,true);n.evaluator=g;this._.nextNode=n.next();n=new CKEDITOR.dom.walker(i.clone());n.evaluator=g;n=n.previous();this._.lastNode=
+n.getNextSourceNode(true);if(this._.lastNode&&this._.lastNode.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(this._.lastNode.getText())&&this._.lastNode.getParent().isBlockBoundary()){g=this.range.clone();g.moveToPosition(this._.lastNode,CKEDITOR.POSITION_AFTER_END);if(g.checkEndOfBlock()){g=new CKEDITOR.dom.elementPath(g.endContainer,g.root);this._.lastNode=(g.block||g.blockLimit).getNextSourceNode(true)}}if(!this._.lastNode){this._.lastNode=this._.docEndMarker=i.document.createText("");this._.lastNode.insertAfter(n)}i=
+null}this._.started=1}g=this._.nextNode;n=this._.lastNode;for(this._.nextNode=null;g;){var h=0,u=g.hasAscendant("pre"),w=g.type!=CKEDITOR.NODE_ELEMENT,k=0;if(w)g.type==CKEDITOR.NODE_TEXT&&b.test(g.getText())&&(w=0);else{var t=g.getName();if(g.isBlockBoundary(this.forceBrBreak&&!u&&{br:1})){if(t=="br")w=1;else if(!i&&!g.getChildCount()&&t!="hr"){e=g;m=g.equals(n);break}if(i){i.setEndAt(g,CKEDITOR.POSITION_BEFORE_START);if(t!="br")this._.nextNode=g}h=1}else{if(g.getFirst()){if(!i){i=this.range.clone();
+i.setStartAt(g,CKEDITOR.POSITION_BEFORE_START)}g=g.getFirst();continue}w=1}}if(w&&!i){i=this.range.clone();i.setStartAt(g,CKEDITOR.POSITION_BEFORE_START)}m=(!h||w)&&g.equals(n);if(i&&!h)for(;!g.getNext(d)&&!m;){t=g.getParent();if(t.isBlockBoundary(this.forceBrBreak&&!u&&{br:1})){h=1;w=0;m||t.equals(n);i.setEndAt(t,CKEDITOR.POSITION_BEFORE_END);break}g=t;w=1;m=g.equals(n);k=1}w&&i.setEndAt(g,CKEDITOR.POSITION_AFTER_END);g=c(g,k,n);if((m=!g)||h&&i)break}if(!e){if(!i){this._.docEndMarker&&this._.docEndMarker.remove();
+return this._.nextNode=null}e=new CKEDITOR.dom.elementPath(i.startContainer,i.root);g=e.blockLimit;h={div:1,th:1,td:1};e=e.block;if(!e&&g&&!this.enforceRealBlocks&&h[g.getName()]&&i.checkStartOfBlock()&&i.checkEndOfBlock()&&!g.equals(i.root))e=g;else if(!e||this.enforceRealBlocks&&e.getName()=="li"){e=this.range.document.createElement(a);i.extractContents().appendTo(e);e.trim();i.insertNode(e);r=p=true}else if(e.getName()!="li"){if(!i.checkStartOfBlock()||!i.checkEndOfBlock()){e=e.clone(false);i.extractContents().appendTo(e);
+e.trim();p=i.splitBlock();r=!p.wasStartOfBlock;p=!p.wasEndOfBlock;i.insertNode(e)}}else if(!m)this._.nextNode=e.equals(n)?null:c(i.getBoundaryNodes().endNode,1,n)}if(r)(i=e.getPrevious())&&i.type==CKEDITOR.NODE_ELEMENT&&(i.getName()=="br"?i.remove():i.getLast()&&i.getLast().$.nodeName.toLowerCase()=="br"&&i.getLast().remove());if(p)(i=e.getLast())&&i.type==CKEDITOR.NODE_ELEMENT&&i.getName()=="br"&&(CKEDITOR.env.ie||i.getPrevious(f)||i.getNext(f))&&i.remove();if(!this._.nextNode)this._.nextNode=m||
+e.equals(n)||!n?null:c(e,1,n);return e}};CKEDITOR.dom.range.prototype.createIterator=function(){return new a(this)}})();
+CKEDITOR.command=function(a,c){this.uiItems=[];this.exec=function(b){if(this.state==CKEDITOR.TRISTATE_DISABLED||!this.checkAllowed())return false;this.editorFocus&&a.focus();return this.fire("exec")===false?true:c.exec.call(this,a,b)!==false};this.refresh=function(a,b){if(!this.readOnly&&a.readOnly)return true;if(this.context&&!b.isContextFor(this.context)){this.disable();return true}this.enable();return this.fire("refresh",{editor:a,path:b})===false?true:c.refresh&&c.refresh.apply(this,arguments)!==
+false};var b;this.checkAllowed=function(){return typeof b=="boolean"?b:b=a.filter.checkFeature(this)};CKEDITOR.tools.extend(this,c,{modes:{wysiwyg:1},editorFocus:1,contextSensitive:!!c.context,state:CKEDITOR.TRISTATE_DISABLED});CKEDITOR.event.call(this)};
+CKEDITOR.command.prototype={enable:function(){this.state==CKEDITOR.TRISTATE_DISABLED&&this.checkAllowed()&&this.setState(!this.preserveState||typeof this.previousState=="undefined"?CKEDITOR.TRISTATE_OFF:this.previousState)},disable:function(){this.setState(CKEDITOR.TRISTATE_DISABLED)},setState:function(a){if(this.state==a||!this.checkAllowed())return false;this.previousState=this.state;this.state=a;this.fire("state");return true},toggleState:function(){this.state==CKEDITOR.TRISTATE_OFF?this.setState(CKEDITOR.TRISTATE_ON):
+this.state==CKEDITOR.TRISTATE_ON&&this.setState(CKEDITOR.TRISTATE_OFF)}};CKEDITOR.event.implementOn(CKEDITOR.command.prototype);CKEDITOR.ENTER_P=1;CKEDITOR.ENTER_BR=2;CKEDITOR.ENTER_DIV=3;
+CKEDITOR.config={customConfig:"config.js",autoUpdateElement:!0,language:"",defaultLanguage:"en",contentsLangDirection:"",enterMode:CKEDITOR.ENTER_P,forceEnterMode:!1,shiftEnterMode:CKEDITOR.ENTER_BR,docType:"<!DOCTYPE html>",bodyId:"",bodyClass:"",fullPage:!1,height:200,extraPlugins:"",removePlugins:"",protectedSource:[],tabIndex:0,width:"",baseFloatZIndex:1E4,blockedKeystrokes:[CKEDITOR.CTRL+66,CKEDITOR.CTRL+73,CKEDITOR.CTRL+85]};
+(function(){function a(a,b,d,g,h){var f=b.name;if((g||typeof a.elements!="function"||a.elements(f))&&(!a.match||a.match(b))){if(g=!h){a:if(a.nothingRequired)g=true;else{if(h=a.requiredClasses){f=b.classes;for(g=0;g<h.length;++g)if(CKEDITOR.tools.indexOf(f,h[g])==-1){g=false;break a}}g=e(b.styles,a.requiredStyles)&&e(b.attributes,a.requiredAttributes)}g=!g}if(!g){if(!a.propertiesOnly)d.valid=true;if(!d.allAttributes)d.allAttributes=c(a.attributes,b.attributes,d.validAttributes);if(!d.allStyles)d.allStyles=
+c(a.styles,b.styles,d.validStyles);if(!d.allClasses){a=a.classes;b=b.classes;g=d.validClasses;if(a)if(a===true)b=true;else{for(var h=0,f=b.length,k;h<f;++h){k=b[h];g[k]||(g[k]=a(k))}b=false}else b=false;d.allClasses=b}}}}function c(a,b,c){if(!a)return false;if(a===true)return true;for(var d in b)c[d]||(c[d]=a(d,b[d]));return false}function b(a,b){if(!a)return false;if(a===true)return a;if(typeof a=="string"){a=q(a);return a=="*"?true:CKEDITOR.tools.convertArrayToObject(a.split(b))}if(CKEDITOR.tools.isArray(a))return a.length?
+CKEDITOR.tools.convertArrayToObject(a):false;var c={},d=0,g;for(g in a){c[g]=a[g];d++}return d?c:false}function f(b){if(b._.filterFunction)return b._.filterFunction;var c=/^cke:(object|embed|param)$/,d=/^(object|embed|param)$/;return b._.filterFunction=function(g,h,e,f,k,j,p){var o=g.name,r,l=false;if(k)g.name=o=o.replace(c,"$1");if(e=e&&e[o]){i(g);for(o=0;o<e.length;++o)u(b,g,e[o]);m(g)}if(h){var o=g.name,e=h.elements[o],w=h.generic,h={valid:false,validAttributes:{},validClasses:{},validStyles:{},
+allAttributes:false,allClasses:false,allStyles:false};if(!e&&!w){f.push(g);return true}i(g);if(e){o=0;for(r=e.length;o<r;++o)a(e[o],g,h,true,j)}if(w){o=0;for(r=w.length;o<r;++o)a(w[o],g,h,false,j)}if(!h.valid){f.push(g);return true}j=h.validAttributes;o=h.validStyles;e=h.validClasses;r=g.attributes;var w=g.styles,q=r["class"],x=r.style,t,B,D=[],s=[],F=/^data-cke-/,z=false;delete r.style;delete r["class"];if(!h.allAttributes)for(t in r)if(!j[t])if(F.test(t)){if(t!=(B=t.replace(/^data-cke-saved-/,""))&&
+!j[B]){delete r[t];z=true}}else{delete r[t];z=true}if(h.allStyles){if(x)r.style=x}else{for(t in w)o[t]?D.push(t+":"+w[t]):z=true;if(D.length)r.style=D.sort().join("; ")}if(h.allClasses)q&&(r["class"]=q);else{for(t in e)e[t]&&s.push(t);s.length&&(r["class"]=s.sort().join(" "));q&&s.length<q.split(/\s+/).length&&(z=true)}z&&(l=true);if(!p&&!n(g)){f.push(g);return true}}if(k)g.name=g.name.replace(d,"cke:$1");return l}}function e(a,b){if(!b)return true;for(var c=0;c<b.length;++c)if(!(b[c]in a))return false;
+return true}function d(a){if(!a)return{};for(var a=a.split(/\s*,\s*/).sort(),b={};a.length;)b[a.shift()]=z;return b}function j(a){for(var b,c,d,g,h={},e=1,a=q(a);b=a.match(v);){if(c=b[2]){d=l(c,"styles");g=l(c,"attrs");c=l(c,"classes")}else d=g=c=null;h["$"+e++]={elements:b[1],classes:c,styles:d,attributes:g};a=a.slice(b[0].length)}return h}function l(a,b){var c=a.match(o[b]);return c?q(c[1]):null}function i(a){if(!a.styles)a.styles=CKEDITOR.tools.parseCssText(a.attributes.style||"",1);if(!a.classes)a.classes=
+a.attributes["class"]?a.attributes["class"].split(/\s+/):[]}function m(a){var b=a.attributes,c;delete b.style;delete b["class"];if(c=CKEDITOR.tools.writeCssText(a.styles,true))b.style=c;a.classes.length&&(b["class"]=a.classes.sort().join(" "))}function n(a){switch(a.name){case "a":if(!a.children.length&&!a.attributes.name)return false;break;case "img":if(!a.attributes.src)return false}return true}function r(a){return!a?false:a===true?true:function(b){return b in a}}function p(){return new CKEDITOR.htmlParser.element("br")}
+function g(a){return a.type==CKEDITOR.NODE_ELEMENT&&(a.name=="br"||D.$block[a.name])}function h(a,b,c){var d=a.name;if(D.$empty[d]||!a.children.length)if(d=="hr"&&b=="br")a.replaceWith(p());else{a.parent&&c.push({check:"it",el:a.parent});a.remove()}else if(D.$block[d]||d=="tr")if(b=="br"){if(a.previous&&!g(a.previous)){b=p();b.insertBefore(a)}if(a.next&&!g(a.next)){b=p();b.insertAfter(a)}a.replaceWithChildren()}else{var d=a.children,h;b:{h=D[b];for(var e=0,f=d.length,k;e<f;++e){k=d[e];if(k.type==
+CKEDITOR.NODE_ELEMENT&&!h[k.name]){h=false;break b}}h=true}if(h){a.name=b;a.attributes={};c.push({check:"parent-down",el:a})}else{h=a.parent;for(var e=h.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT||h.name=="body",j,f=d.length;f>0;){k=d[--f];if(e&&(k.type==CKEDITOR.NODE_TEXT||k.type==CKEDITOR.NODE_ELEMENT&&D.$inline[k.name])){if(!j){j=new CKEDITOR.htmlParser.element(b);j.insertAfter(a);c.push({check:"parent-down",el:j})}j.add(k,0)}else{j=null;k.insertAfter(a);h.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT&&(k.type==
+CKEDITOR.NODE_ELEMENT&&!D[h.name][k.name])&&c.push({check:"el-up",el:k})}}a.remove()}}else if(d=="style")a.remove();else{a.parent&&c.push({check:"it",el:a.parent});a.replaceWithChildren()}}function u(a,b,c){var d,g;for(d=0;d<c.length;++d){g=c[d];if((!g.check||a.check(g.check,false))&&(!g.left||g.left(b))){g.right(b,x);break}}}function w(a,b){var c=b.getDefinition(),d=c.attributes,g=c.styles,h,e,f,k;if(a.name!=c.element)return false;for(h in d)if(h=="class"){c=d[h].split(/\s+/);for(f=a.classes.join("|");k=
+c.pop();)if(f.indexOf(k)==-1)return false}else if(a.attributes[h]!=d[h])return false;for(e in g)if(a.styles[e]!=g[e])return false;return true}function k(a,b){var c,d;if(typeof a=="string")c=a;else if(a instanceof CKEDITOR.style)d=a;else{c=a[0];d=a[1]}return[{element:c,left:d,right:function(a,c){c.transform(a,b)}}]}function t(a){return function(b){return w(b,a)}}function F(a){return function(b,c){c[a](b)}}var D=CKEDITOR.dtd,B=CKEDITOR.tools.copy,q=CKEDITOR.tools.trim,z="cke-test";CKEDITOR.filter=function(a){this.allowedContent=
+[];this.disabled=false;this.editor=null;this.enterMode=CKEDITOR.ENTER_P;this._={rules:{},transformations:{},cachedTests:{}};if(a instanceof CKEDITOR.editor){var b=this.editor=a;this.customConfig=true;var a=b.config.allowedContent,c;if(a===true)this.disabled=true;else{if(!a)this.customConfig=false;this.enterMode=c=b.blockless?CKEDITOR.ENTER_BR:b.config.enterMode;this.allow("br "+(c==CKEDITOR.ENTER_P?"p":c==CKEDITOR.ENTER_DIV?"div":""),"default",1);this.allow(a,"config",1);this.allow(b.config.extraAllowedContent,
+"extra",1);this._.toHtmlListener=b.on("toHtml",function(a){this.applyTo(a.data.dataValue,true,a.data.dontFilter)&&b.fire("dataFiltered")},this,null,6);this._.toDataFormatListener=b.on("toDataFormat",function(a){this.applyTo(a.data.dataValue,false,true)},this,null,11)}}else{this.customConfig=false;this.allow(a,"default",1)}};CKEDITOR.filter.prototype={allow:function(a,c,d){if(this.disabled||this.customConfig&&!d||!a)return false;this._.cachedChecks={};var g,h;if(typeof a=="string")a=j(a);else if(a instanceof
+CKEDITOR.style){h=a.getDefinition();d={};a=h.attributes;d[h.element]=h={styles:h.styles,requiredStyles:h.styles&&CKEDITOR.tools.objectKeys(h.styles)};if(a){a=B(a);h.classes=a["class"]?a["class"].split(/\s+/):null;h.requiredClasses=h.classes;delete a["class"];h.attributes=a;h.requiredAttributes=a&&CKEDITOR.tools.objectKeys(a)}a=d}else if(CKEDITOR.tools.isArray(a)){for(g=0;g<a.length;++g)h=this.allow(a[g],c,d);return h}var e,d=[];for(e in a){h=a[e];h=typeof h=="boolean"?{}:typeof h=="function"?{match:h}:
+B(h);if(e.charAt(0)!="$")h.elements=e;if(c)h.featureName=c.toLowerCase();var f=h;f.elements=b(f.elements,/\s+/)||null;f.propertiesOnly=f.propertiesOnly||f.elements===true;var k=/\s*,\s*/,u=void 0;for(u in s){f[u]=b(f[u],k)||null;var o=f,p=A[u],i=b(f[A[u]],k),l=f[u],w=[],m=true,q=void 0;i?m=false:i={};for(q in l)if(q.charAt(0)=="!"){q=q.slice(1);w.push(q);i[q]=true;m=false}for(;q=w.pop();){l[q]=l["!"+q];delete l["!"+q]}o[p]=(m?false:i)||null}f.match=f.match||null;this.allowedContent.push(h);d.push(h)}c=
+this._.rules;e=c.elements||{};a=c.generic||[];h=0;for(f=d.length;h<f;++h){k=B(d[h]);u=k.classes===true||k.styles===true||k.attributes===true;o=k;p=void 0;for(p in s)o[p]=r(o[p]);i=true;for(p in A){p=A[p];o[p]=CKEDITOR.tools.objectKeys(o[p]);o[p]&&(i=false)}o.nothingRequired=i;if(k.elements===true||k.elements===null){k.elements=r(k.elements);a[u?"unshift":"push"](k)}else{o=k.elements;delete k.elements;for(g in o)if(e[g])e[g][u?"unshift":"push"](k);else e[g]=[k]}}c.elements=e;c.generic=a.length?a:null;
+return true},applyTo:function(a,b,c){var d=[],g=!c&&this._.rules,e=this._.transformations,k=f(this),j=this.editor&&this.editor.config.protectedSource,u=false;a.forEach(function(a){if(a.type==CKEDITOR.NODE_ELEMENT){if(!b||!(a.name=="span"&&~CKEDITOR.tools.objectKeys(a.attributes).join("|").indexOf("data-cke-")))k(a,g,e,d,b)&&(u=true)}else if(a.type==CKEDITOR.NODE_COMMENT&&a.value.match(/^\{cke_protected\}(?!\{C\})/)){var c;a:{var h=decodeURIComponent(a.value.replace(/^\{cke_protected\}/,""));c=[];
+var f,o,p;if(j)for(o=0;o<j.length;++o)if((p=h.match(j[o]))&&p[0].length==h.length){c=true;break a}h=CKEDITOR.htmlParser.fragment.fromHtml(h);h.children.length==1&&(f=h.children[0]).type==CKEDITOR.NODE_ELEMENT&&k(f,g,e,c,b);c=!c.length}c||d.push(a)}},null,true);d.length&&(u=true);for(var o,p,a=[],c=["p","br","div"][this.enterMode-1];o=d.pop();)o.type==CKEDITOR.NODE_ELEMENT?h(o,c,a):o.remove();for(;p=a.pop();){o=p.el;if(o.parent)switch(p.check){case "it":D.$removeEmpty[o.name]&&!o.children.length?h(o,
+c,a):n(o)||h(o,c,a);break;case "el-up":o.parent.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT&&!D[o.parent.name][o.name]&&h(o,c,a);break;case "parent-down":o.parent.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT&&!D[o.parent.name][o.name]&&h(o.parent,c,a)}}return u},checkFeature:function(a){if(this.disabled||!a)return true;a.toFeature&&(a=a.toFeature(this.editor));return!a.requiredContent||this.check(a.requiredContent)},disable:function(){this.disabled=true;this._.toHtmlListener&&this._.toHtmlListener.removeListener();
+this._.toDataFormatListener&&this._.toDataFormatListener.removeListener()},addContentForms:function(a){if(!this.disabled&&a){var b,c,d=[],h;for(b=0;b<a.length&&!h;++b){c=a[b];if((typeof c=="string"||c instanceof CKEDITOR.style)&&this.check(c))h=c}if(h){for(b=0;b<a.length;++b)d.push(k(a[b],h));this.addTransformations(d)}}},addFeature:function(a){if(this.disabled||!a)return true;a.toFeature&&(a=a.toFeature(this.editor));this.allow(a.allowedContent,a.name);this.addTransformations(a.contentTransformations);
+this.addContentForms(a.contentForms);return this.customConfig&&a.requiredContent?this.check(a.requiredContent):true},addTransformations:function(a){var b,c;if(!this.disabled&&a){var d=this._.transformations,h;for(h=0;h<a.length;++h){b=a[h];var g=void 0,e=void 0,f=void 0,k=void 0,o=void 0,j=void 0;c=[];for(e=0;e<b.length;++e){f=b[e];if(typeof f=="string"){f=f.split(/\s*:\s*/);k=f[0];o=null;j=f[1]}else{k=f.check;o=f.left;j=f.right}if(!g){g=f;g=g.element?g.element:k?k.match(/^([a-z0-9]+)/i)[0]:g.left.getDefinition().element}o instanceof
+CKEDITOR.style&&(o=t(o));c.push({check:k==g?null:k,left:o,right:typeof j=="string"?F(j):j})}b=g;d[b]||(d[b]=[]);d[b].push(c)}}},check:function(a,b,c){if(this.disabled)return true;if(CKEDITOR.tools.isArray(a)){for(var h=a.length;h--;)if(this.check(a[h],b,c))return true;return false}var g,e;if(typeof a=="string"){e=a+"<"+(b===false?"0":"1")+(c?"1":"0")+">";if(e in this._.cachedChecks)return this._.cachedChecks[e];h=j(a).$1;g=h.styles;var k=h.classes;h.name=h.elements;h.classes=k=k?k.split(/\s*,\s*/):
+[];h.styles=d(g);h.attributes=d(h.attributes);h.children=[];k.length&&(h.attributes["class"]=k.join(" "));if(g)h.attributes.style=CKEDITOR.tools.writeCssText(h.styles);g=h}else{h=a.getDefinition();g=h.styles;k=h.attributes||{};if(g){g=B(g);k.style=CKEDITOR.tools.writeCssText(g,true)}else g={};g={name:h.element,attributes:k,classes:k["class"]?k["class"].split(/\s+/):[],styles:g,children:[]}}var k=CKEDITOR.tools.clone(g),o=[],p;if(b!==false&&(p=this._.transformations[g.name])){for(h=0;h<p.length;++h)u(this,
+g,p[h]);m(g)}f(this)(k,this._.rules,b===false?false:this._.transformations,o,false,!c,!c);b=o.length>0?false:CKEDITOR.tools.objectCompare(g.attributes,k.attributes,true)?true:false;typeof a=="string"&&(this._.cachedChecks[e]=b);return b}};var s={styles:1,attributes:1,classes:1},A={styles:"requiredStyles",attributes:"requiredAttributes",classes:"requiredClasses"},v=/^([a-z0-9*\s]+)((?:\s*\{[!\w\-,\s\*]+\}\s*|\s*\[[!\w\-,\s\*]+\]\s*|\s*\([!\w\-,\s\*]+\)\s*){0,3})(?:;\s*|$)/i,o={styles:/{([^}]+)}/,attrs:/\[([^\]]+)\]/,
+classes:/\(([^\)]+)\)/},x=CKEDITOR.filter.transformationsTools={sizeToStyle:function(a){this.lengthToStyle(a,"width");this.lengthToStyle(a,"height")},sizeToAttribute:function(a){this.lengthToAttribute(a,"width");this.lengthToAttribute(a,"height")},lengthToStyle:function(a,b,c){c=c||b;if(!(c in a.styles)){var d=a.attributes[b];if(d){/^\d+$/.test(d)&&(d=d+"px");a.styles[c]=d}}delete a.attributes[b]},lengthToAttribute:function(a,b,c){c=c||b;if(!(c in a.attributes)){var d=a.styles[b],h=d&&d.match(/^(\d+)(?:\.\d*)?px$/);
+h?a.attributes[c]=h[1]:d==z&&(a.attributes[c]=z)}delete a.styles[b]},alignmentToStyle:function(a){if(!("float"in a.styles)){var b=a.attributes.align;if(b=="left"||b=="right")a.styles["float"]=b}delete a.attributes.align},alignmentToAttribute:function(a){if(!("align"in a.attributes)){var b=a.styles["float"];if(b=="left"||b=="right")a.attributes.align=b}delete a.styles["float"]},matchesStyle:w,transform:function(a,b){if(typeof b=="string")a.name=b;else{var c=b.getDefinition(),d=c.styles,h=c.attributes,
+g,e,k,f;a.name=c.element;for(g in h)if(g=="class"){c=a.classes.join("|");for(k=h[g].split(/\s+/);f=k.pop();)c.indexOf(f)==-1&&a.classes.push(f)}else a.attributes[g]=h[g];for(e in d)a.styles[e]=d[e]}}}})();
+(function(){CKEDITOR.focusManager=function(a){if(a.focusManager)return a.focusManager;this.hasFocus=false;this.currentActive=null;this._={editor:a};return this};CKEDITOR.focusManager._={blurDelay:200};CKEDITOR.focusManager.prototype={focus:function(){this._.timer&&clearTimeout(this._.timer);if(!this.hasFocus&&!this._.locked){var a=CKEDITOR.currentInstance;a&&a.focusManager.blur(1);this.hasFocus=true;(a=this._.editor.container)&&a.addClass("cke_focus");this._.editor.fire("focus")}},lock:function(){this._.locked=
+1},unlock:function(){delete this._.locked},blur:function(a){function c(){if(this.hasFocus){this.hasFocus=false;var a=this._.editor.container;a&&a.removeClass("cke_focus");this._.editor.fire("blur")}}if(!this._.locked){this._.timer&&clearTimeout(this._.timer);var b=CKEDITOR.focusManager._.blurDelay;a||!b?c.call(this):this._.timer=CKEDITOR.tools.setTimeout(function(){delete this._.timer;c.call(this)},b,this)}},add:function(a,c){var b=a.getCustomData("focusmanager");if(!b||b!=this){b&&b.remove(a);var b=
+"focus",f="blur";if(c)if(CKEDITOR.env.ie){b="focusin";f="focusout"}else CKEDITOR.event.useCapture=1;var e={blur:function(){a.equals(this.currentActive)&&this.blur()},focus:function(){this.currentActive=a;this.focus()}};a.on(b,e.focus,this);a.on(f,e.blur,this);if(c)CKEDITOR.event.useCapture=0;a.setCustomData("focusmanager",this);a.setCustomData("focusmanager_handlers",e)}},remove:function(a){a.removeCustomData("focusmanager");var c=a.removeCustomData("focusmanager_handlers");a.removeListener("blur",
+c.blur);a.removeListener("focus",c.focus)}}})();CKEDITOR.keystrokeHandler=function(a){if(a.keystrokeHandler)return a.keystrokeHandler;this.keystrokes={};this.blockedKeystrokes={};this._={editor:a};return this};
+(function(){var a,c=function(b){var b=b.data,c=b.getKeystroke(),d=this.keystrokes[c],j=this._.editor;a=j.fire("key",{keyCode:c})===false;if(!a){d&&(a=j.execCommand(d,{from:"keystrokeHandler"})!==false);a||(a=!!this.blockedKeystrokes[c])}a&&b.preventDefault(true);return!a},b=function(b){if(a){a=false;b.data.preventDefault(true)}};CKEDITOR.keystrokeHandler.prototype={attach:function(a){a.on("keydown",c,this);if(CKEDITOR.env.opera||CKEDITOR.env.gecko&&CKEDITOR.env.mac)a.on("keypress",b,this)}}})();
+(function(){CKEDITOR.lang={languages:{af:1,ar:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,el:1,"en-au":1,"en-ca":1,"en-gb":1,en:1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,"fr-ca":1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,is:1,it:1,ja:1,ka:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,ms:1,nb:1,nl:1,no:1,pl:1,"pt-br":1,pt:1,ro:1,ru:1,sk:1,sl:1,sq:1,"sr-latn":1,sr:1,sv:1,th:1,tr:1,ug:1,uk:1,vi:1,"zh-cn":1,zh:1},load:function(a,c,b){if(!a||!CKEDITOR.lang.languages[a])a=this.detect(c,a);this[a]?b(a,this[a]):CKEDITOR.scriptLoader.load(CKEDITOR.getUrl("lang/"+
+a+".js"),function(){b(a,this[a])},this)},detect:function(a,c){var b=this.languages,c=c||navigator.userLanguage||navigator.language||a,f=c.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),e=f[1],f=f[2];b[e+"-"+f]?e=e+"-"+f:b[e]||(e=null);CKEDITOR.lang.detect=e?function(){return e}:function(a){return a};return e||a}}})();
+CKEDITOR.scriptLoader=function(){var a={},c={};return{load:function(b,f,e,d){var j=typeof b=="string";j&&(b=[b]);e||(e=CKEDITOR);var l=b.length,i=[],m=[],n=function(a){f&&(j?f.call(e,a):f.call(e,i,m))};if(l===0)n(true);else{var r=function(a,b){(b?i:m).push(a);if(--l<=0){d&&CKEDITOR.document.getDocumentElement().removeStyle("cursor");n(b)}},p=function(b,d){a[b]=1;var h=c[b];delete c[b];for(var g=0;g<h.length;g++)h[g](b,d)},g=function(b){if(a[b])r(b,true);else{var d=c[b]||(c[b]=[]);d.push(r);if(!(d.length>
+1)){var h=new CKEDITOR.dom.element("script");h.setAttributes({type:"text/javascript",src:b});if(f)if(CKEDITOR.env.ie)h.$.onreadystatechange=function(){if(h.$.readyState=="loaded"||h.$.readyState=="complete"){h.$.onreadystatechange=null;p(b,true)}};else{h.$.onload=function(){setTimeout(function(){p(b,true)},0)};h.$.onerror=function(){p(b,false)}}h.appendTo(CKEDITOR.document.getHead())}}};d&&CKEDITOR.document.getDocumentElement().setStyle("cursor","wait");for(var h=0;h<l;h++)g(b[h])}}}}();
+CKEDITOR.resourceManager=function(a,c){this.basePath=a;this.fileName=c;this.registered={};this.loaded={};this.externals={};this._={waitingList:{}}};
+CKEDITOR.resourceManager.prototype={add:function(a,c){if(this.registered[a])throw'[CKEDITOR.resourceManager.add] The resource name "'+a+'" is already registered.';var b=this.registered[a]=c||{};b.name=a;b.path=this.getPath(a);CKEDITOR.fire(a+CKEDITOR.tools.capitalize(this.fileName)+"Ready",b);return this.get(a)},get:function(a){return this.registered[a]||null},getPath:function(a){var c=this.externals[a];return CKEDITOR.getUrl(c&&c.dir||this.basePath+a+"/")},getFilePath:function(a){var c=this.externals[a];
+return CKEDITOR.getUrl(this.getPath(a)+(c&&typeof c.file=="string"?c.file:this.fileName+".js"))},addExternal:function(a,c,b){for(var a=a.split(","),f=0;f<a.length;f++)this.externals[a[f]]={dir:c,file:b}},load:function(a,c,b){CKEDITOR.tools.isArray(a)||(a=a?[a]:[]);for(var f=this.loaded,e=this.registered,d=[],j={},l={},i=0;i<a.length;i++){var m=a[i];if(m)if(!f[m]&&!e[m]){var n=this.getFilePath(m);d.push(n);n in j||(j[n]=[]);j[n].push(m)}else l[m]=this.get(m)}CKEDITOR.scriptLoader.load(d,function(a,
+d){if(d.length)throw'[CKEDITOR.resourceManager.load] Resource name "'+j[d[0]].join(",")+'" was not found at "'+d[0]+'".';for(var g=0;g<a.length;g++)for(var h=j[a[g]],e=0;e<h.length;e++){var i=h[e];l[i]=this.get(i);f[i]=1}c.call(b,l)},this)}};CKEDITOR.plugins=new CKEDITOR.resourceManager("plugins/","plugin");
+CKEDITOR.plugins.load=CKEDITOR.tools.override(CKEDITOR.plugins.load,function(a){var c={};return function(b,f,e){var d={},j=function(b){a.call(this,b,function(a){CKEDITOR.tools.extend(d,a);var b=[],l;for(l in a){var r=a[l],p=r&&r.requires;if(!c[l]){if(r.icons)for(var g=r.icons.split(","),h=0;h<g.length;h++)CKEDITOR.skin.addIcon(g[h],r.path+"icons/"+g[h]+".png");c[l]=1}if(p){p.split&&(p=p.split(","));for(r=0;r<p.length;r++)d[p[r]]||b.push(p[r])}}if(b.length)j.call(this,b);else{for(l in d){r=d[l];if(r.onLoad&&
+!r.onLoad._called){r.onLoad()===false&&delete d[l];r.onLoad._called=1}}f&&f.call(e||window,d)}},this)};j.call(this,b)}});CKEDITOR.plugins.setLang=function(a,c,b){var f=this.get(a),a=f.langEntries||(f.langEntries={}),f=f.lang||(f.lang=[]);f.split&&(f=f.split(","));CKEDITOR.tools.indexOf(f,c)==-1&&f.push(c);a[c]=b};CKEDITOR.ui=function(a){if(a.ui)return a.ui;this.items={};this.instances={};this.editor=a;this._={handlers:{}};return this};
+CKEDITOR.ui.prototype={add:function(a,c,b){b.name=a.toLowerCase();var f=this.items[a]={type:c,command:b.command||null,args:Array.prototype.slice.call(arguments,2)};CKEDITOR.tools.extend(f,b)},get:function(a){return this.instances[a]},create:function(a){var c=this.items[a],b=c&&this._.handlers[c.type],f=c&&c.command&&this.editor.getCommand(c.command),b=b&&b.create.apply(this,c.args);this.instances[a]=b;f&&f.uiItems.push(b);if(b&&!b.type)b.type=c.type;return b},addHandler:function(a,c){this._.handlers[a]=
+c},space:function(a){return CKEDITOR.document.getById(this.spaceId(a))},spaceId:function(a){return this.editor.id+"_"+a}};CKEDITOR.event.implementOn(CKEDITOR.ui);
+(function(){function a(a,d,g){CKEDITOR.event.call(this);a=a&&CKEDITOR.tools.clone(a);if(d!==void 0){if(d instanceof CKEDITOR.dom.element){if(!g)throw Error("One of the element modes must be specified.");}else throw Error("Expect element of type CKEDITOR.dom.element.");if(CKEDITOR.env.ie&&CKEDITOR.env.quirks&&g==CKEDITOR.ELEMENT_MODE_INLINE)throw Error("Inline element mode is not supported on IE quirks.");if(g==CKEDITOR.ELEMENT_MODE_INLINE&&!d.is(CKEDITOR.dtd.$editable)||g==CKEDITOR.ELEMENT_MODE_REPLACE&&
+d.is(CKEDITOR.dtd.$nonBodyContent))throw Error('The specified element mode is not supported on element: "'+d.getName()+'".');this.element=d;this.elementMode=g;this.name=this.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO&&(d.getId()||d.getNameAtt())}else this.elementMode=CKEDITOR.ELEMENT_MODE_NONE;this._={};this.commands={};this.templates={};this.name=this.name||c();this.id=CKEDITOR.tools.getNextId();this.status="unloaded";this.config=CKEDITOR.tools.prototypedCopy(CKEDITOR.config);this.ui=new CKEDITOR.ui(this);
+this.focusManager=new CKEDITOR.focusManager(this);this.keystrokeHandler=new CKEDITOR.keystrokeHandler(this);this.on("readOnly",b);this.on("selectionChange",e);this.on("mode",b);this.on("instanceReady",function(){this.config.startupFocus&&this.focus()});CKEDITOR.fire("instanceCreated",null,this);CKEDITOR.add(this);CKEDITOR.tools.setTimeout(function(){j(this,a)},0,this)}function c(){do var a="editor"+ ++p;while(CKEDITOR.instances[a]);return a}function b(){var a=this.commands,b;for(b in a)f(this,a[b])}
+function f(a,b){b[b.startDisabled?"disable":a.readOnly&&!b.readOnly?"disable":b.modes[a.mode]?"enable":"disable"]()}function e(a){var b=this.commands,c=a.editor,d=a.data.path,g;for(g in b){a=b[g];a.contextSensitive&&a.refresh(c,d)}}function d(a){var b=a.config.customConfig;if(!b)return false;var b=CKEDITOR.getUrl(b),c=g[b]||(g[b]={});if(c.fn){c.fn.call(a,a.config);(CKEDITOR.getUrl(a.config.customConfig)==b||!d(a))&&a.fireOnce("customConfigLoaded")}else CKEDITOR.scriptLoader.load(b,function(){c.fn=
+CKEDITOR.editorConfig?CKEDITOR.editorConfig:function(){};d(a)});return true}function j(a,b){a.on("customConfigLoaded",function(){if(b){if(b.on)for(var c in b.on)a.on(c,b.on[c]);CKEDITOR.tools.extend(a.config,b,true);delete a.config.on}a.readOnly=!(!a.config.readOnly&&!(a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a.element.isReadOnly():a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&a.element.getAttribute("disabled")));a.blockless=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE&&!CKEDITOR.dtd[a.element.getName()].p;
+a.tabIndex=a.config.tabIndex||a.element&&a.element.getAttribute("tabindex")||0;if(a.config.skin)CKEDITOR.skinName=a.config.skin;a.fireOnce("configLoaded");a.dataProcessor=new CKEDITOR.htmlDataProcessor(a);a.filter=new CKEDITOR.filter(a);l(a)});if(b&&b.customConfig!=void 0)a.config.customConfig=b.customConfig;d(a)||a.fireOnce("customConfigLoaded")}function l(a){CKEDITOR.skin.loadPart("editor",function(){i(a)})}function i(a){CKEDITOR.lang.load(a.config.language,a.config.defaultLanguage,function(b,c){a.langCode=
+b;a.lang=CKEDITOR.tools.prototypedCopy(c);if(CKEDITOR.env.gecko&&CKEDITOR.env.version<10900&&a.lang.dir=="rtl")a.lang.dir="ltr";if(!a.config.contentsLangDirection)a.config.contentsLangDirection=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a.element.getDirection(1):a.lang.dir;a.fire("langLoaded");m(a)})}function m(a){a.getStylesSet(function(b){a.once("loaded",function(){a.fire("stylesSet",{styles:b})},null,null,1);n(a)})}function n(a){var b=a.config,c=b.plugins,d=b.extraPlugins,g=b.removePlugins;if(d)var e=
+RegExp("(?:^|,)(?:"+d.replace(/\s*,\s*/g,"|")+")(?=,|$)","g"),c=c.replace(e,""),c=c+(","+d);if(g)var f=RegExp("(?:^|,)(?:"+g.replace(/\s*,\s*/g,"|")+")(?=,|$)","g"),c=c.replace(f,"");CKEDITOR.env.air&&(c=c+",adobeair");CKEDITOR.plugins.load(c.split(","),function(c){var d=[],g=[],e=[];a.plugins=c;for(var k in c){var j=c[k],o=j.lang,p=null,i=j.requires,r;CKEDITOR.tools.isArray(i)&&(i=i.join(","));if(i&&(r=i.match(f)))for(;i=r.pop();)CKEDITOR.tools.setTimeout(function(a,b){throw Error('Plugin "'+a.replace(",",
+"")+'" cannot be removed from the plugins list, because it\'s required by "'+b+'" plugin.');},0,null,[i,k]);if(o&&!a.lang[k]){o.split&&(o=o.split(","));if(CKEDITOR.tools.indexOf(o,a.langCode)>=0)p=a.langCode;else{p=a.langCode.replace(/-.*/,"");p=p!=a.langCode&&CKEDITOR.tools.indexOf(o,p)>=0?p:CKEDITOR.tools.indexOf(o,"en")>=0?"en":o[0]}if(!j.langEntries||!j.langEntries[p])e.push(CKEDITOR.getUrl(j.path+"lang/"+p+".js"));else{a.lang[k]=j.langEntries[p];p=null}}g.push(p);d.push(j)}CKEDITOR.scriptLoader.load(e,
+function(){for(var c=["beforeInit","init","afterInit"],e=0;e<c.length;e++)for(var k=0;k<d.length;k++){var f=d[k];e===0&&(g[k]&&f.lang&&f.langEntries)&&(a.lang[f.name]=f.langEntries[g[k]]);if(f[c[e]])f[c[e]](a)}a.fireOnce("pluginsLoaded");b.keystrokes&&a.setKeystroke(a.config.keystrokes);for(k=0;k<a.config.blockedKeystrokes.length;k++)a.keystrokeHandler.blockedKeystrokes[a.config.blockedKeystrokes[k]]=1;a.status="loaded";a.fireOnce("loaded");CKEDITOR.fire("instanceLoaded",null,a)})})}function r(){var a=
+this.element;if(a&&this.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO){var b=this.getData();this.config.htmlEncodeOutput&&(b=CKEDITOR.tools.htmlEncode(b));a.is("textarea")?a.setValue(b):a.setHtml(b);return true}return false}a.prototype=CKEDITOR.editor.prototype;CKEDITOR.editor=a;var p=0,g={};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{addCommand:function(a,b){b.name=a.toLowerCase();var c=new CKEDITOR.command(this,b);this.mode&&f(this,c);return this.commands[a]=c},destroy:function(a){this.fire("beforeDestroy");
+!a&&r.call(this);this.editable(null);this.status="destroyed";this.fire("destroy");this.removeAllListeners();CKEDITOR.remove(this);CKEDITOR.fire("instanceDestroyed",null,this)},elementPath:function(a){return(a=a||this.getSelection().getStartElement())?new CKEDITOR.dom.elementPath(a,this.editable()):null},createRange:function(){var a=this.editable();return a?new CKEDITOR.dom.range(a):null},execCommand:function(a,b){var c=this.getCommand(a),d={name:a,commandData:b,command:c};if(c&&c.state!=CKEDITOR.TRISTATE_DISABLED&&
+this.fire("beforeCommandExec",d)!==true){d.returnValue=c.exec(d.commandData);if(!c.async&&this.fire("afterCommandExec",d)!==true)return d.returnValue}return false},getCommand:function(a){return this.commands[a]},getData:function(a){!a&&this.fire("beforeGetData");var b=this._.data;if(typeof b!="string")b=(b=this.element)&&this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE?b.is("textarea")?b.getValue():b.getHtml():"";b={dataValue:b};!a&&this.fire("getData",b);return b.dataValue},getSnapshot:function(){var a=
+this.fire("getSnapshot");if(typeof a!="string"){var b=this.element;b&&this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&(a=b.is("textarea")?b.getValue():b.getHtml())}return a},loadSnapshot:function(a){this.fire("loadSnapshot",a)},setData:function(a,b,c){if(b)this.on("dataReady",function(a){a.removeListener();b.call(a.editor)});a={dataValue:a};!c&&this.fire("setData",a);this._.data=a.dataValue;!c&&this.fire("afterSetData",a)},setReadOnly:function(a){a=a==void 0||a;if(this.readOnly!=a){this.readOnly=
+a;this.editable().setReadOnly(a);this.fire("readOnly")}},insertHtml:function(a,b){this.fire("insertHtml",{dataValue:a,mode:b})},insertText:function(a){this.fire("insertText",a)},insertElement:function(a){this.fire("insertElement",a)},focus:function(){this.fire("beforeFocus")},checkDirty:function(){return this.status=="ready"&&this._.previousValue!==this.getSnapshot()},resetDirty:function(){this._.previousValue=this.getSnapshot()},updateElement:function(){return r.call(this)},setKeystroke:function(){for(var a=
+this.keystrokeHandler.keystrokes,b=CKEDITOR.tools.isArray(arguments[0])?arguments[0]:[[].slice.call(arguments,0)],c,d,g=b.length;g--;){c=b[g];d=0;if(CKEDITOR.tools.isArray(c)){d=c[1];c=c[0]}d?a[c]=d:delete a[c]}},addFeature:function(a){return this.filter.addFeature(a)}})})();CKEDITOR.ELEMENT_MODE_NONE=0;CKEDITOR.ELEMENT_MODE_REPLACE=1;CKEDITOR.ELEMENT_MODE_APPENDTO=2;CKEDITOR.ELEMENT_MODE_INLINE=3;
+CKEDITOR.htmlParser=function(){this._={htmlPartsRegex:RegExp("<(?:(?:\\/([^>]+)>)|(?:!--([\\S|\\s]*?)--\>)|(?:([^\\s>]+)\\s*((?:(?:\"[^\"]*\")|(?:'[^']*')|[^\"'>])*)\\/?>))","g")}};
+(function(){var a=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,c={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};CKEDITOR.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(b){for(var f,e,d=0,j;f=this._.htmlPartsRegex.exec(b);){e=f.index;if(e>d){d=b.substring(d,e);if(j)j.push(d);else this.onText(d)}d=
+this._.htmlPartsRegex.lastIndex;if(e=f[1]){e=e.toLowerCase();if(j&&CKEDITOR.dtd.$cdata[e]){this.onCDATA(j.join(""));j=null}if(!j){this.onTagClose(e);continue}}if(j)j.push(f[0]);else if(e=f[3]){e=e.toLowerCase();if(!/="/.test(e)){var l={},i;f=f[4];var m=!!(f&&f.charAt(f.length-1)=="/");if(f)for(;i=a.exec(f);){var n=i[1].toLowerCase();i=i[2]||i[3]||i[4]||"";l[n]=!i&&c[n]?n:i}this.onTagOpen(e,l,m);!j&&CKEDITOR.dtd.$cdata[e]&&(j=[])}}else if(e=f[2])this.onComment(e)}if(b.length>d)this.onText(b.substring(d,
+b.length))}}})();
+CKEDITOR.htmlParser.basicWriter=CKEDITOR.tools.createClass({$:function(){this._={output:[]}},proto:{openTag:function(a){this._.output.push("<",a)},openTagClose:function(a,c){c?this._.output.push(" />"):this._.output.push(">")},attribute:function(a,c){typeof c=="string"&&(c=CKEDITOR.tools.htmlEncodeAttr(c));this._.output.push(" ",a,'="',c,'"')},closeTag:function(a){this._.output.push("</",a,">")},text:function(a){this._.output.push(a)},comment:function(a){this._.output.push("<\!--",a,"--\>")},write:function(a){this._.output.push(a)},
+reset:function(){this._.output=[];this._.indent=false},getHtml:function(a){var c=this._.output.join("");a&&this.reset();return c}}});"use strict";
+(function(){CKEDITOR.htmlParser.node=function(){};CKEDITOR.htmlParser.node.prototype={remove:function(){var a=this.parent.children,c=CKEDITOR.tools.indexOf(a,this),b=this.previous,f=this.next;b&&(b.next=f);f&&(f.previous=b);a.splice(c,1);this.parent=null},replaceWith:function(a){var c=this.parent.children,b=CKEDITOR.tools.indexOf(c,this),f=a.previous=this.previous,e=a.next=this.next;f&&(f.next=a);e&&(e.previous=a);c[b]=a;a.parent=this.parent;this.parent=null},insertAfter:function(a){var c=a.parent.children,
+b=CKEDITOR.tools.indexOf(c,a),f=a.next;c.splice(b+1,0,this);this.next=a.next;this.previous=a;a.next=this;f&&(f.previous=this);this.parent=a.parent},insertBefore:function(a){var c=a.parent.children,b=CKEDITOR.tools.indexOf(c,a);c.splice(b,0,this);this.next=a;(this.previous=a.previous)&&(a.previous.next=this);a.previous=this;this.parent=a.parent}}})();"use strict";CKEDITOR.htmlParser.comment=function(a){this.value=a;this._={isBlockLike:false}};
+CKEDITOR.htmlParser.comment.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_COMMENT,filter:function(a){var c=this.value;if(!(c=a.onComment(c,this))){this.remove();return false}if(typeof c!="string"){this.replaceWith(c);return false}this.value=c;return true},writeHtml:function(a,c){c&&this.filter(c);a.comment(this.value)}});"use strict";
+(function(){CKEDITOR.htmlParser.text=function(a){this.value=a;this._={isBlockLike:false}};CKEDITOR.htmlParser.text.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(a){if(!(this.value=a.onText(this.value,this))){this.remove();return false}},writeHtml:function(a,c){c&&this.filter(c);a.text(this.value)}})})();"use strict";
+(function(){CKEDITOR.htmlParser.cdata=function(a){this.value=a};CKEDITOR.htmlParser.cdata.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(){},writeHtml:function(a){a.write(this.value)}})})();"use strict";CKEDITOR.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:true,hasInlineStarted:false}};
+(function(){function a(a){return a.name=="a"&&a.attributes.href||CKEDITOR.dtd.$removeEmpty[a.name]}var c=CKEDITOR.tools.extend({table:1,ul:1,ol:1,dl:1},CKEDITOR.dtd.table,CKEDITOR.dtd.ul,CKEDITOR.dtd.ol,CKEDITOR.dtd.dl),b={ol:1,ul:1},f=CKEDITOR.tools.extend({},{html:1},CKEDITOR.dtd.html,CKEDITOR.dtd.body,CKEDITOR.dtd.head,{style:1,script:1});CKEDITOR.htmlParser.fragment.fromHtml=function(e,d,j){function l(a){var b;if(u.length>0)for(var c=0;c<u.length;c++){var d=u[c],g=d.name,e=CKEDITOR.dtd[g],h=k.name&&
+CKEDITOR.dtd[k.name];if((!h||h[g])&&(!a||!e||e[a]||!CKEDITOR.dtd[a])){if(!b){i();b=1}d=d.clone();d.parent=k;k=d;u.splice(c,1);c--}else if(g==k.name){n(k,k.parent,1);c--}}}function i(){for(;w.length;)n(w.shift(),k)}function m(a){if(a._.isBlockLike&&a.name!="pre"&&a.name!="textarea"){var b=a.children.length,c=a.children[b-1],d;if(c&&c.type==CKEDITOR.NODE_TEXT)(d=CKEDITOR.tools.rtrim(c.value))?c.value=d:a.children.length=b-1}}function n(b,c,d){var c=c||k||h,e=k;if(b.previous===void 0){if(r(c,b)){k=c;
+g.onTagOpen(j,{});b.returnPoint=c=k}m(b);(!a(b)||b.children.length)&&c.add(b);b.name=="pre"&&(F=false);b.name=="textarea"&&(t=false)}if(b.returnPoint){k=b.returnPoint;delete b.returnPoint}else k=d?c:e}function r(a,b){if((a==h||a.name=="body")&&j&&(!a.name||CKEDITOR.dtd[a.name][j])){var c,d;return(c=b.attributes&&(d=b.attributes["data-cke-real-element-type"])?d:b.name)&&c in CKEDITOR.dtd.$inline&&!(c in CKEDITOR.dtd.head)&&!b.isOrphan||b.type==CKEDITOR.NODE_TEXT}}function p(a,b){return a in CKEDITOR.dtd.$listItem||
+a in CKEDITOR.dtd.$tableContent?a==b||a=="dt"&&b=="dd"||a=="dd"&&b=="dt":false}var g=new CKEDITOR.htmlParser,h=d instanceof CKEDITOR.htmlParser.element?d:typeof d=="string"?new CKEDITOR.htmlParser.element(d):new CKEDITOR.htmlParser.fragment,u=[],w=[],k=h,t=h.name=="textarea",F=h.name=="pre";g.onTagOpen=function(d,e,h,j){e=new CKEDITOR.htmlParser.element(d,e);if(e.isUnknown&&h)e.isEmpty=true;e.isOptionalClose=j;if(a(e))u.push(e);else{if(d=="pre")F=true;else{if(d=="br"&&F){k.add(new CKEDITOR.htmlParser.text("\n"));
+return}d=="textarea"&&(t=true)}if(d=="br")w.push(e);else{for(;;){j=(h=k.name)?CKEDITOR.dtd[h]||(k._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span):f;if(!e.isUnknown&&!k.isUnknown&&!j[d])if(k.isOptionalClose)g.onTagClose(h);else if(d in b&&h in b){h=k.children;(h=h[h.length-1])&&h.name=="li"||n(h=new CKEDITOR.htmlParser.element("li"),k);!e.returnPoint&&(e.returnPoint=k);k=h}else if(d in CKEDITOR.dtd.$listItem&&!p(d,h))g.onTagOpen(d=="li"?"ul":"dl",{},0,1);else if(h in c&&!p(d,h)){!e.returnPoint&&
+(e.returnPoint=k);k=k.parent}else{h in CKEDITOR.dtd.$inline&&u.unshift(k);if(k.parent)n(k,k.parent,1);else{e.isOrphan=1;break}}else break}l(d);i();e.parent=k;e.isEmpty?n(e):k=e}}};g.onTagClose=function(a){for(var b=u.length-1;b>=0;b--)if(a==u[b].name){u.splice(b,1);return}for(var c=[],d=[],g=k;g!=h&&g.name!=a;){g._.isBlockLike||d.unshift(g);c.push(g);g=g.returnPoint||g.parent}if(g!=h){for(b=0;b<c.length;b++){var e=c[b];n(e,e.parent)}k=g;g._.isBlockLike&&i();n(g,g.parent);if(g==k)k=k.parent;u=u.concat(d)}a==
+"body"&&(j=false)};g.onText=function(a){if((!k._.hasInlineStarted||w.length)&&!F&&!t){a=CKEDITOR.tools.ltrim(a);if(a.length===0)return}var d=k.name,e=d?CKEDITOR.dtd[d]||(k._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span):f;if(!t&&!e["#"]&&d in c){g.onTagOpen(d in b?"li":d=="dl"?"dd":d=="table"?"tr":d=="tr"?"td":"");g.onText(a)}else{i();l();!F&&!t&&(a=a.replace(/[\t\r\n ]{2,}|[\t\r\n]/g," "));a=new CKEDITOR.htmlParser.text(a);if(r(k,a))this.onTagOpen(j,{},0,1);k.add(a)}};g.onCDATA=function(a){k.add(new CKEDITOR.htmlParser.cdata(a))};
+g.onComment=function(a){i();l();k.add(new CKEDITOR.htmlParser.comment(a))};g.parse(e);for(i(!CKEDITOR.env.ie&&1);k!=h;)n(k,k.parent,1);m(h);return h};CKEDITOR.htmlParser.fragment.prototype={type:CKEDITOR.NODE_DOCUMENT_FRAGMENT,add:function(a,b){isNaN(b)&&(b=this.children.length);var c=b>0?this.children[b-1]:null;if(c){if(a._.isBlockLike&&c.type==CKEDITOR.NODE_TEXT){c.value=CKEDITOR.tools.rtrim(c.value);if(c.value.length===0){this.children.pop();this.add(a);return}}c.next=a}a.previous=c;a.parent=this;
+this.children.splice(b,0,a);if(!this._.hasInlineStarted)this._.hasInlineStarted=a.type==CKEDITOR.NODE_TEXT||a.type==CKEDITOR.NODE_ELEMENT&&!a._.isBlockLike},filter:function(a){a.onRoot(this);this.filterChildren(a)},filterChildren:function(a,b){if(this.childrenFilteredBy!=a.id){if(b&&!this.parent)a.onRoot(this);this.childrenFilteredBy=a.id;for(var c=0;c<this.children.length;c++)this.children[c].filter(a)===false&&c--}},writeHtml:function(a,b){b&&this.filter(b);this.writeChildrenHtml(a)},writeChildrenHtml:function(a,
+b,c){if(c&&!this.parent&&b)b.onRoot(this);b&&this.filterChildren(b);for(var b=0,c=this.children,f=c.length;b<f;b++)c[b].writeHtml(a)},forEach:function(a,b,c){!c&&(!b||this.type==b)&&a(this);for(var c=this.children,f,i=0,m=c.length;i<m;i++){f=c[i];f.type==CKEDITOR.NODE_ELEMENT?f.forEach(a,b):(!b||f.type==b)&&a(f)}}}})();
+(function(){function a(a,b){for(var c=0;a&&c<b.length;c++)var e=b[c],a=a.replace(e[0],e[1]);return a}function c(a,b,c){typeof b=="function"&&(b=[b]);var e,f;f=a.length;var n=b&&b.length;if(n){for(e=0;e<f&&a[e].pri<=c;e++);for(f=n-1;f>=0;f--)if(n=b[f]){n.pri=c;a.splice(e,0,n)}}}function b(a,b,c){if(b)for(var e in b){var m=a[e];a[e]=f(m,b[e],c);m||a.$length++}}function f(a,b,f){if(b){b.pri=f;if(a){if(a.splice)c(a,b,f);else{a=a.pri>f?[b,a]:[a,b];a.filter=e}return a}return b.filter=b}}function e(a){for(var b=
+a.type||a instanceof CKEDITOR.htmlParser.fragment,c=0;c<this.length;c++){if(b)var e=a.type,f=a.name;var n=this[c].apply(window,arguments);if(n===false)return n;if(b){if(n&&(n.name!=f||n.type!=e))return n}else if(typeof n!="string")return n;n!=void 0&&(a=n)}return a}CKEDITOR.htmlParser.filter=CKEDITOR.tools.createClass({$:function(a){this.id=CKEDITOR.tools.getNextNumber();this._={elementNames:[],attributeNames:[],elements:{$length:0},attributes:{$length:0}};a&&this.addRules(a,10)},proto:{addRules:function(a,
+e){typeof e!="number"&&(e=10);c(this._.elementNames,a.elementNames,e);c(this._.attributeNames,a.attributeNames,e);b(this._.elements,a.elements,e);b(this._.attributes,a.attributes,e);this._.text=f(this._.text,a.text,e)||this._.text;this._.comment=f(this._.comment,a.comment,e)||this._.comment;this._.root=f(this._.root,a.root,e)||this._.root},applyTo:function(a){a.filter(this)},onElementName:function(b){return a(b,this._.elementNames)},onAttributeName:function(b){return a(b,this._.attributeNames)},onText:function(a){var b=
+this._.text;return b?b.filter(a):a},onComment:function(a,b){var c=this._.comment;return c?c.filter(a,b):a},onRoot:function(a){var b=this._.root;return b?b.filter(a):a},onElement:function(a){for(var b=[this._.elements["^"],this._.elements[a.name],this._.elements.$],c,e=0;e<3;e++)if(c=b[e]){c=c.filter(a,this);if(c===false)return null;if(c&&c!=a)return this.onNode(c);if(a.parent&&!a.name)break}return a},onNode:function(a){var b=a.type;return b==CKEDITOR.NODE_ELEMENT?this.onElement(a):b==CKEDITOR.NODE_TEXT?
+new CKEDITOR.htmlParser.text(this.onText(a.value)):b==CKEDITOR.NODE_COMMENT?new CKEDITOR.htmlParser.comment(this.onComment(a.value)):null},onAttribute:function(a,b,c){if(b=this._.attributes[b]){a=b.filter(c,a,this);if(a===false)return false;if(typeof a!="undefined")return a}return c}}})})();
+(function(){function a(a,c){function g(a){return a||CKEDITOR.env.ie?new CKEDITOR.htmlParser.text(" "):new CKEDITOR.htmlParser.element("br",{"data-cke-bogus":1})}function h(a,c){return function(e){if(e.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var h=[],o=b(e),r,j;if(o)for(k(o,1)&&h.push(o);o;){if(d(o)&&(r=f(o))&&k(r))if((j=f(r))&&!d(j))h.push(r);else{var u=r,l=g(p),y=u.parent.children,m=CKEDITOR.tools.indexOf(y,u);y.splice(m+1,0,l);y=u.next;u.next=l;l.previous=u;l.parent=u.parent;l.next=y;i(r)}o=o.previous}for(o=
+0;o<h.length;o++)i(h[o]);if(h=CKEDITOR.env.opera&&!a||(typeof c=="function"?c(e)!==false:c))if(!p&&CKEDITOR.env.ie&&e.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)h=false;else if(!p&&CKEDITOR.env.ie&&(document.documentMode>7||e.name in CKEDITOR.dtd.tr||e.name in CKEDITOR.dtd.$listItem))h=false;else{h=b(e);h=!h||e.name=="form"&&h.name=="input"}h&&e.add(g(a))}}}function k(a,b){if((!p||!CKEDITOR.env.ie)&&a.type==CKEDITOR.NODE_ELEMENT&&a.name=="br"&&!a.attributes["data-cke-eol"])return true;var c;if(a.type==
+CKEDITOR.NODE_TEXT&&(c=a.value.match(F))){if(c.index){j(a,new CKEDITOR.htmlParser.text(a.value.substring(0,c.index)));a.value=c[0]}if(CKEDITOR.env.ie&&p&&(!b||a.parent.name in r))return true;if(!p)if((c=a.previous)&&c.name=="br"||!c||d(c))return true}return false}var o={elements:{}},p=c=="html",r=CKEDITOR.tools.extend({},z),u;for(u in r)"#"in B[u]||delete r[u];for(u in r)o.elements[u]=h(p,a.config.fillEmptyBlocks!==false);o.root=h(p);o.elements.br=function(a){return function(b){if(b.parent.type!=
+CKEDITOR.NODE_DOCUMENT_FRAGMENT){var c=b.attributes;if("data-cke-bogus"in c||"data-cke-eol"in c)delete c["data-cke-bogus"];else{for(c=b.next;c&&e(c);)c=c.next;var h=f(b);!c&&d(b.parent)?l(b.parent,g(a)):d(c)&&(h&&!d(h))&&j(c,g(a))}}}}(p);return o}function c(a){return a.enterMode!=CKEDITOR.ENTER_BR&&a.autoParagraph!==false?a.enterMode==CKEDITOR.ENTER_DIV?"div":"p":false}function b(a){for(a=a.children[a.children.length-1];a&&e(a);)a=a.previous;return a}function f(a){for(a=a.previous;a&&e(a);)a=a.previous;
+return a}function e(a){return a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(a.value)||a.type==CKEDITOR.NODE_ELEMENT&&a.attributes["data-cke-bookmark"]}function d(a){return a&&(a.type==CKEDITOR.NODE_ELEMENT&&a.name in z||a.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)}function j(a,b){var c=a.parent.children,g=CKEDITOR.tools.indexOf(c,a);c.splice(g,0,b);c=a.previous;a.previous=b;b.next=a;b.parent=a.parent;if(c){b.previous=c;c.next=b}}function l(a,b){var c=a.children[a.children.length-1];a.children.push(b);
+b.parent=a;if(c){c.next=b;b.previous=c}}function i(a){var b=a.parent.children,c=CKEDITOR.tools.indexOf(b,a),g=a.previous,a=a.next;g&&(g.next=a);a&&(a.previous=g);b.splice(c,1)}function m(a){var b=a.parent;return b?CKEDITOR.tools.indexOf(b.children,a):-1}function n(a){a=a.attributes;a.contenteditable!="false"&&(a["data-cke-editable"]=a.contenteditable?"true":1);a.contenteditable="false"}function r(a){a=a.attributes;switch(a["data-cke-editable"]){case "true":a.contenteditable="true";break;case "1":delete a.contenteditable}}
+function p(a){return a.replace(o,function(a,b,c){return"<"+b+c.replace(x,function(a,b){return!/^on/.test(b)&&c.indexOf("data-cke-saved-"+b)==-1?" data-cke-saved-"+a+" data-cke-"+CKEDITOR.rnd+"-"+a:a})+">"})}function g(a,b){return a.replace(b,function(a,b,c){a.indexOf("<textarea")==0&&(a=b+w(c).replace(/</g,"&lt;").replace(/>/g,"&gt;")+"</textarea>");return"<cke:encoded>"+encodeURIComponent(a)+"</cke:encoded>"})}function h(a){return a.replace(C,function(a,b){return decodeURIComponent(b)})}function u(a){return a.replace(/<\!--(?!{cke_protected})[\s\S]+?--\>/g,
+function(a){return"<\!--"+D+"{C}"+encodeURIComponent(a).replace(/--/g,"%2D%2D")+"--\>"})}function w(a){return a.replace(/<\!--\{cke_protected\}\{C\}([\s\S]+?)--\>/g,function(a,b){return decodeURIComponent(b)})}function k(a,b){var c=b._.dataStore;return a.replace(/<\!--\{cke_protected\}([\s\S]+?)--\>/g,function(a,b){return decodeURIComponent(b)}).replace(/\{cke_protected_(\d+)\}/g,function(a,b){return c&&c[b]||""})}function t(a,b){for(var c=[],g=b.config.protectedSource,d=b._.dataStore||(b._.dataStore=
+{id:1}),e=/<\!--\{cke_temp(comment)?\}(\d*?)--\>/g,g=[/<script[\s\S]*?<\/script>/gi,/<noscript[\s\S]*?<\/noscript>/gi].concat(g),a=a.replace(/<\!--[\s\S]*?--\>/g,function(a){return"<\!--{cke_tempcomment}"+(c.push(a)-1)+"--\>"}),h=0;h<g.length;h++)a=a.replace(g[h],function(a){a=a.replace(e,function(a,b,g){return c[g]});return/cke_temp(comment)?/.test(a)?a:"<\!--{cke_temp}"+(c.push(a)-1)+"--\>"});a=a.replace(e,function(a,b,g){return"<\!--"+D+(b?"{C}":"")+encodeURIComponent(c[g]).replace(/--/g,"%2D%2D")+
+"--\>"});return a.replace(/(['"]).*?\1/g,function(a){return a.replace(/<\!--\{cke_protected\}([\s\S]+?)--\>/g,function(a,b){d[d.id]=decodeURIComponent(b);return"{cke_protected_"+d.id++ +"}"})})}CKEDITOR.htmlDataProcessor=function(b){var d,e,f=this;this.editor=b;this.dataFilter=d=new CKEDITOR.htmlParser.filter;this.htmlFilter=e=new CKEDITOR.htmlParser.filter;this.writer=new CKEDITOR.htmlParser.basicWriter;d.addRules(s);d.addRules(a(b,"data"));e.addRules(A);e.addRules(a(b,"html"));b.on("toHtml",function(a){var a=
+a.data,d=a.dataValue,d=t(d,b),d=g(d,G),d=p(d),d=g(d,I),d=d.replace(Q,"$1cke:$2"),d=d.replace(E,"<cke:$1$2></cke:$1>"),d=CKEDITOR.env.opera?d:d.replace(/(<pre\b[^>]*>)(\r\n|\n)/g,"$1$2$2"),e=a.context||b.editable().getName(),f;if(CKEDITOR.env.ie&&CKEDITOR.env.version<9&&e=="pre"){e="div";d="<pre>"+d+"</pre>";f=1}e=b.document.createElement(e);e.setHtml("a"+d);d=e.getHtml().substr(1);d=d.replace(RegExp(" data-cke-"+CKEDITOR.rnd+"-","ig")," ");f&&(d=d.replace(/^<pre>|<\/pre>$/gi,""));d=d.replace(L,"$1$2");
+d=h(d);d=w(d);a.dataValue=CKEDITOR.htmlParser.fragment.fromHtml(d,a.context,a.fixForBody===false?false:c(b.config))},null,null,5);b.on("toHtml",function(a){a.data.dataValue.filterChildren(f.dataFilter,true)},null,null,10);b.on("toHtml",function(a){var a=a.data,b=a.dataValue,c=new CKEDITOR.htmlParser.basicWriter;b.writeChildrenHtml(c);b=c.getHtml(true);a.dataValue=u(b)},null,null,15);b.on("toDataFormat",function(a){a.data.dataValue=CKEDITOR.htmlParser.fragment.fromHtml(a.data.dataValue,b.editable().getName(),
+c(b.config))},null,null,5);b.on("toDataFormat",function(a){a.data.dataValue.filterChildren(f.htmlFilter,true)},null,null,10);b.on("toDataFormat",function(a){var c=a.data.dataValue,g=f.writer;g.reset();c.writeChildrenHtml(g);c=g.getHtml(true);c=w(c);c=k(c,b);a.data.dataValue=c},null,null,15)};CKEDITOR.htmlDataProcessor.prototype={toHtml:function(a,b,c,g){var d=this.editor;!b&&b!==null&&(b=d.editable().getName());return d.fire("toHtml",{dataValue:a,context:b,fixForBody:c,dontFilter:!!g}).dataValue},
+toDataFormat:function(a){return this.editor.fire("toDataFormat",{dataValue:a}).dataValue}};var F=/(?:&nbsp;|\xa0)$/,D="{cke_protected}",B=CKEDITOR.dtd,q=["caption","colgroup","col","thead","tfoot","tbody"],z=CKEDITOR.tools.extend({},B.$blockLimit,B.$block),s={elements:{},attributeNames:[[/^on/,"data-cke-pa-on"]]},A={elementNames:[[/^cke:/,""],[/^\?xml:namespace$/,""]],attributeNames:[[/^data-cke-(saved|pa)-/,""],[/^data-cke-.*/,""],["hidefocus",""]],elements:{$:function(a){var b=a.attributes;if(b){if(b["data-cke-temp"])return false;
+for(var c=["name","href","src"],g,d=0;d<c.length;d++){g="data-cke-saved-"+c[d];g in b&&delete b[c[d]]}}return a},table:function(a){a.children.slice(0).sort(function(a,b){var c,g;if(a.type==CKEDITOR.NODE_ELEMENT&&b.type==a.type){c=CKEDITOR.tools.indexOf(q,a.name);g=CKEDITOR.tools.indexOf(q,b.name)}if(!(c>-1&&g>-1&&c!=g)){c=m(a);g=m(b)}return c>g?1:-1})},embed:function(a){var b=a.parent;if(b&&b.name=="object"){var c=b.attributes.width,b=b.attributes.height;c&&(a.attributes.width=c);b&&(a.attributes.height=
+b)}},param:function(a){a.children=[];a.isEmpty=true;return a},a:function(a){if(!a.children.length&&!a.attributes.name&&!a.attributes["data-cke-saved-name"])return false},span:function(a){a.attributes["class"]=="Apple-style-span"&&delete a.name},html:function(a){delete a.attributes.contenteditable;delete a.attributes["class"]},body:function(a){delete a.attributes.spellcheck;delete a.attributes.contenteditable},style:function(a){var b=a.children[0];b&&b.value&&(b.value=CKEDITOR.tools.trim(b.value));
+if(!a.attributes.type)a.attributes.type="text/css"},title:function(a){var b=a.children[0];!b&&l(a,b=new CKEDITOR.htmlParser.text);b.value=a.attributes["data-cke-title"]||""}},attributes:{"class":function(a){return CKEDITOR.tools.ltrim(a.replace(/(?:^|\s+)cke_[^\s]*/g,""))||false}}};if(CKEDITOR.env.ie)A.attributes.style=function(a){return a.replace(/(^|;)([^\:]+)/g,function(a){return a.toLowerCase()})};for(var v in{input:1,textarea:1}){s.elements[v]=n;A.elements[v]=r}var o=/<(a|area|img|input|source)\b([^>]*)>/gi,
+x=/\b(on\w+|href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,I=/(?:<style(?=[ >])[^>]*>[\s\S]*?<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,G=/(<textarea(?=[ >])[^>]*>)([\s\S]*?)(?:<\/textarea>)/gi,C=/<cke:encoded>([^<]*)<\/cke:encoded>/gi,Q=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,L=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,E=/<cke:(param|embed)([^>]*?)\/?>(?!\s*<\/cke:\1)/gi})();"use strict";
+CKEDITOR.htmlParser.element=function(a,c){this.name=a;this.attributes=c||{};this.children=[];var b=a||"",f=b.match(/^cke:(.*)/);f&&(b=f[1]);b=!(!CKEDITOR.dtd.$nonBodyContent[b]&&!CKEDITOR.dtd.$block[b]&&!CKEDITOR.dtd.$listItem[b]&&!CKEDITOR.dtd.$tableContent[b]&&!(CKEDITOR.dtd.$nonEditable[b]||b=="br"));this.isEmpty=!!CKEDITOR.dtd.$empty[a];this.isUnknown=!CKEDITOR.dtd[a];this._={isBlockLike:b,hasInlineStarted:this.isEmpty||!b}};
+CKEDITOR.htmlParser.cssStyle=function(a){var c={};((a instanceof CKEDITOR.htmlParser.element?a.attributes.style:a)||"").replace(/&quot;/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(a,f,e){f=="font-family"&&(e=e.replace(/["']/g,""));c[f.toLowerCase()]=e});return{rules:c,populate:function(a){var c=this.toString();if(c)a instanceof CKEDITOR.dom.element?a.setAttribute("style",c):a instanceof CKEDITOR.htmlParser.element?a.attributes.style=c:a.style=c},toString:function(){var a=[],f;
+for(f in c)c[f]&&a.push(f,":",c[f],";");return a.join("")}}};
+(function(){var a=function(a,c){a=a[0];c=c[0];return a<c?-1:a>c?1:0},c=CKEDITOR.htmlParser.fragment.prototype;CKEDITOR.htmlParser.element.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_ELEMENT,add:c.add,clone:function(){return new CKEDITOR.htmlParser.element(this.name,this.attributes)},filter:function(a){var c=this,e,d;if(!c.parent)a.onRoot(c);for(;;){e=c.name;if(!(d=a.onElementName(e))){this.remove();return false}c.name=d;if(!(c=a.onElement(c))){this.remove();return false}if(c!==
+this){this.replaceWith(c);return false}if(c.name==e)break;if(c.type!=CKEDITOR.NODE_ELEMENT){this.replaceWith(c);return false}if(!c.name){this.replaceWithChildren();return false}}e=c.attributes;var j,l;for(j in e){l=j;for(d=e[j];;)if(l=a.onAttributeName(j))if(l!=j){delete e[j];j=l}else break;else{delete e[j];break}l&&((d=a.onAttribute(c,l,d))===false?delete e[l]:e[l]=d)}c.isEmpty||this.filterChildren(a);return true},filterChildren:c.filterChildren,writeHtml:function(b,c){c&&this.filter(c);var e=this.name,
+d=[],j=this.attributes,l,i;b.openTag(e,j);for(l in j)d.push([l,j[l]]);b.sortAttributes&&d.sort(a);l=0;for(i=d.length;l<i;l++){j=d[l];b.attribute(j[0],j[1])}b.openTagClose(e,this.isEmpty);this.writeChildrenHtml(b);this.isEmpty||b.closeTag(e)},writeChildrenHtml:c.writeChildrenHtml,replaceWithChildren:function(){for(var a=this.children,c=a.length;c;)a[--c].insertAfter(this);this.remove()},forEach:c.forEach})})();
+(function(){var a={};CKEDITOR.template=function(c){if(a[c])this.output=a[c];else{var b=c.replace(/'/g,"\\'").replace(/{([^}]+)}/g,function(a,b){return"',data['"+b+"']==undefined?'{"+b+"}':data['"+b+"'],'"});this.output=a[c]=Function("data","buffer","return buffer?buffer.push('"+b+"'):['"+b+"'].join('');")}}})();delete CKEDITOR.loadFullCore;CKEDITOR.instances={};CKEDITOR.document=new CKEDITOR.dom.document(document);
+CKEDITOR.add=function(a){CKEDITOR.instances[a.name]=a;a.on("focus",function(){if(CKEDITOR.currentInstance!=a){CKEDITOR.currentInstance=a;CKEDITOR.fire("currentInstance")}});a.on("blur",function(){if(CKEDITOR.currentInstance==a){CKEDITOR.currentInstance=null;CKEDITOR.fire("currentInstance")}});CKEDITOR.fire("instance",null,a)};CKEDITOR.remove=function(a){delete CKEDITOR.instances[a.name]};
+(function(){var a={};CKEDITOR.addTemplate=function(c,b){var f=a[c];if(f)return f;f={name:c,source:b};CKEDITOR.fire("template",f);return a[c]=new CKEDITOR.template(f.source)};CKEDITOR.getTemplate=function(c){return a[c]}})();(function(){var a=[];CKEDITOR.addCss=function(c){a.push(c)};CKEDITOR.getCss=function(){return a.join("\n")}})();CKEDITOR.on("instanceDestroyed",function(){CKEDITOR.tools.isEmpty(this.instances)&&CKEDITOR.fire("reset")});CKEDITOR.TRISTATE_ON=1;CKEDITOR.TRISTATE_OFF=2;
+CKEDITOR.TRISTATE_DISABLED=0;
+(function(){CKEDITOR.inline=function(a,c){if(!CKEDITOR.env.isCompatible)return null;a=CKEDITOR.dom.element.get(a);if(a.getEditor())throw'The editor instance "'+a.getEditor().name+'" is already attached to the provided element.';var b=new CKEDITOR.editor(c,a,CKEDITOR.ELEMENT_MODE_INLINE);b.setData(a.getHtml(),null,true);b.on("loaded",function(){b.fire("uiReady");b.editable(a);b.container=a;b.setData(b.getData(1));b.resetDirty();b.fire("contentDom");b.mode="wysiwyg";b.fire("mode");b.status="ready";
+b.fireOnce("instanceReady");CKEDITOR.fire("instanceReady",null,b)},null,null,1E4);b.on("destroy",function(){b.element.clearCustomData();delete b.element});return b};CKEDITOR.inlineAll=function(){var a,c,b;for(b in CKEDITOR.dtd.$editable)for(var f=CKEDITOR.document.getElementsByTag(b),e=0,d=f.count();e<d;e++){a=f.getItem(e);if(a.getAttribute("contenteditable")=="true"){c={element:a,config:{}};CKEDITOR.fire("inline",c)!==false&&CKEDITOR.inline(a,c.config)}}};CKEDITOR.domReady(function(){!CKEDITOR.disableAutoInline&&
+CKEDITOR.inlineAll()})})();CKEDITOR.replaceClass="ckeditor";
+(function(){function a(a,e,l,i){if(!CKEDITOR.env.isCompatible)return null;a=CKEDITOR.dom.element.get(a);if(a.getEditor())throw'The editor instance "'+a.getEditor().name+'" is already attached to the provided element.';var m=new CKEDITOR.editor(e,a,i);i==CKEDITOR.ELEMENT_MODE_REPLACE&&a.setStyle("visibility","hidden");l&&m.setData(l,null,true);m.on("loaded",function(){b(m);i==CKEDITOR.ELEMENT_MODE_REPLACE&&m.config.autoUpdateElement&&f(m);m.setMode(m.config.startupMode,function(){m.resetDirty();m.status=
+"ready";m.fireOnce("instanceReady");CKEDITOR.fire("instanceReady",null,m)})});m.on("destroy",c);return m}function c(){var a=this.container,b=this.element;if(a){a.clearCustomData();a.remove()}if(b){b.clearCustomData();this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&b.show();delete this.element}}function b(a){var b=a.name,c=a.element,f=a.elementMode,m=a.fire("uiSpace",{space:"top",html:""}).html,n=a.fire("uiSpace",{space:"bottom",html:""}).html;e||(e=CKEDITOR.addTemplate("maincontainer",'<{outerEl} id="cke_{name}" class="{id} cke cke_reset cke_chrome cke_editor_{name} cke_{langDir} '+
+CKEDITOR.env.cssClass+'"  dir="{langDir}" lang="{langCode}" role="application" aria-labelledby="cke_{name}_arialbl"><span id="cke_{name}_arialbl" class="cke_voice_label">{voiceLabel}</span><{outerEl} class="cke_inner cke_reset" role="presentation">{topHtml}<{outerEl} id="{contentId}" class="cke_contents cke_reset" role="presentation"></{outerEl}>{bottomHtml}</{outerEl}></{outerEl}>'));b=CKEDITOR.dom.element.createFromHtml(e.output({id:a.id,name:b,langDir:a.lang.dir,langCode:a.langCode,voiceLabel:a.lang.editor,
+topHtml:m?'<span id="'+a.ui.spaceId("top")+'" class="cke_top cke_reset_all" role="presentation" style="height:auto">'+m+"</span>":"",contentId:a.ui.spaceId("contents"),bottomHtml:n?'<span id="'+a.ui.spaceId("bottom")+'" class="cke_bottom cke_reset_all" role="presentation">'+n+"</span>":"",outerEl:CKEDITOR.env.ie?"span":"div"}));if(f==CKEDITOR.ELEMENT_MODE_REPLACE){c.hide();b.insertAfter(c)}else c.append(b);a.container=b;m&&a.ui.space("top").unselectable();n&&a.ui.space("bottom").unselectable();c=
+a.config.width;f=a.config.height;c&&b.setStyle("width",CKEDITOR.tools.cssLength(c));f&&a.ui.space("contents").setStyle("height",CKEDITOR.tools.cssLength(f));b.disableContextMenu();CKEDITOR.env.webkit&&b.on("focus",function(){a.focus()});a.fireOnce("uiReady")}function f(a){var b=a.element;if(a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&b.is("textarea")){var c=b.$.form&&new CKEDITOR.dom.element(b.$.form);if(c){var e=function(){a.updateElement()};c.on("submit",e);if(!c.$.submit.nodeName&&!c.$.submit.length)c.$.submit=
+CKEDITOR.tools.override(c.$.submit,function(b){return function(){a.updateElement();b.apply?b.apply(this,arguments):b()}});a.on("destroy",function(){c.removeListener("submit",e)})}}}CKEDITOR.replace=function(b,c){return a(b,c,null,CKEDITOR.ELEMENT_MODE_REPLACE)};CKEDITOR.appendTo=function(b,c,e){return a(b,c,e,CKEDITOR.ELEMENT_MODE_APPENDTO)};CKEDITOR.replaceAll=function(){for(var a=document.getElementsByTagName("textarea"),b=0;b<a.length;b++){var c=null,e=a[b];if(e.name||e.id){if(typeof arguments[0]==
+"string"){if(!RegExp("(?:^|\\s)"+arguments[0]+"(?:$|\\s)").test(e.className))continue}else if(typeof arguments[0]=="function"){c={};if(arguments[0](e,c)===false)continue}this.replace(e,c)}}};CKEDITOR.editor.prototype.addMode=function(a,b){(this._.modes||(this._.modes={}))[a]=b};CKEDITOR.editor.prototype.setMode=function(a,b){var c=this,e=this._.modes;if(!(a==c.mode||!e||!e[a])){c.fire("beforeSetMode",a);if(c.mode){var f=c.checkDirty();c._.previousMode=c.mode;c.fire("beforeModeUnload");c.editable(0);
+c.ui.space("contents").setHtml("");c.mode=""}this._.modes[a](function(){c.mode=a;f!==void 0&&!f&&c.resetDirty();setTimeout(function(){c.fire("mode");b&&b.call(c)},0)})}};CKEDITOR.editor.prototype.resize=function(a,b,c,e){var f=this.container,n=this.ui.space("contents"),r=CKEDITOR.env.webkit&&this.document&&this.document.getWindow().$.frameElement,e=e?f.getChild(1):f;e.setSize("width",a,true);r&&(r.style.width="1%");n.setStyle("height",Math.max(b-(c?0:(e.$.offsetHeight||0)-(n.$.clientHeight||0)),0)+
+"px");r&&(r.style.width="100%");this.fire("resize")};CKEDITOR.editor.prototype.getResizable=function(a){return a?this.ui.space("contents"):this.container};var e;CKEDITOR.domReady(function(){CKEDITOR.replaceClass&&CKEDITOR.replaceAll(CKEDITOR.replaceClass)})})();CKEDITOR.config.startupMode="wysiwyg";
+(function(){function a(a){var c=a.editor,g=c.editable(),d=a.data.path,e=d.blockLimit,f=a.data.selection.getRanges()[0],k=c.config.enterMode;if(CKEDITOR.env.gecko){var i=d.block||d.blockLimit||d.root,j=i&&i.getLast(b);i&&(i.isBlockBoundary()&&(!j||!(j.type==CKEDITOR.NODE_ELEMENT&&j.isBlockBoundary()))&&!i.is("pre")&&!i.getBogus())&&i.appendBogus()}if(c.config.autoParagraph!==false&&k!=CKEDITOR.ENTER_BR&&f.collapsed&&g.equals(e)&&!d.block){g=f.clone();g.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);d=new CKEDITOR.dom.walker(g);
+d.guard=function(a){return!b(a)||a.type==CKEDITOR.NODE_COMMENT||a.isReadOnly()};if(!d.checkForward()||g.checkStartOfBlock()&&g.checkEndOfBlock()){c=f.fixBlock(true,c.config.enterMode==CKEDITOR.ENTER_DIV?"div":"p");if(CKEDITOR.env.ie)(c=c.getFirst(b))&&(c.type==CKEDITOR.NODE_TEXT&&CKEDITOR.tools.trim(c.getText()).match(/^(?:&nbsp;|\xa0)$/))&&c.remove();f.select();a.cancel()}}}function c(a){var b=a.data.getTarget();if(b.is("input")){b=b.getAttribute("type");(b=="submit"||b=="reset")&&a.data.preventDefault()}}
+function b(a){return i(a)&&m(a)}function f(a,b){return function(c){var d=CKEDITOR.dom.element.get(c.data.$.toElement||c.data.$.fromElement||c.data.$.relatedTarget);(!d||!b.equals(d)&&!b.contains(d))&&a.call(this,c)}}function e(a){var c,g=a.getRanges()[0],a=a.root,d=g.startPath(),e={table:1,ul:1,ol:1,dl:1},f=CKEDITOR.dom.walker.bogus();if(d.contains(e)){var k=g.clone();k.collapse(1);k.setStartAt(a,CKEDITOR.POSITION_AFTER_START);k=new CKEDITOR.dom.walker(k);d=function(a,g){return function(a,d){d&&(a.type==
+CKEDITOR.NODE_ELEMENT&&a.is(e))&&(c=a);if(b(a)&&!d&&(!g||!f(a)))return false}};k.guard=d(k);k.checkBackward();if(c){k=g.clone();k.collapse();k.setEndAt(a,CKEDITOR.POSITION_BEFORE_END);k=new CKEDITOR.dom.walker(k);k.guard=d(k,1);c=0;k.checkForward();return c}}return null}function d(a){a.editor.focus();a.editor.fire("saveSnapshot")}function j(a,b){var c=a.editor;!b&&c.getSelection().scrollIntoView();setTimeout(function(){c.fire("saveSnapshot")},0)}CKEDITOR.editable=CKEDITOR.tools.createClass({base:CKEDITOR.dom.element,
+$:function(a,b){this.base(b.$||b);this.editor=a;this.hasFocus=false;this.setup()},proto:{focus:function(){this.$[CKEDITOR.env.ie&&this.getDocument().equals(CKEDITOR.document)?"setActive":"focus"]();CKEDITOR.env.safari&&!this.isInline()&&(CKEDITOR.document.getActive().equals(this.getWindow().getFrame())||this.getWindow().focus())},on:function(a,b){var c=Array.prototype.slice.call(arguments,0);if(CKEDITOR.env.ie&&/^focus|blur$/.exec(a)){a=a=="focus"?"focusin":"focusout";b=f(b,this);c[0]=a;c[1]=b}return CKEDITOR.dom.element.prototype.on.apply(this,
+c)},attachListener:function(a,b,c,d,e,f){!this._.listeners&&(this._.listeners=[]);var k=Array.prototype.slice.call(arguments,1);this._.listeners.push(a.on.apply(a,k))},clearListeners:function(){var a=this._.listeners;try{for(;a.length;)a.pop().removeListener()}catch(b){}},restoreAttrs:function(){var a=this._.attrChanges,b,c;for(c in a)if(a.hasOwnProperty(c)){b=a[c];b!==null?this.setAttribute(c,b):this.removeAttribute(c)}},attachClass:function(a){var b=this.getCustomData("classes");if(!this.hasClass(a)){!b&&
+(b=[]);b.push(a);this.setCustomData("classes",b);this.addClass(a)}},changeAttr:function(a,b){var c=this.getAttribute(a);if(b!==c){!this._.attrChanges&&(this._.attrChanges={});a in this._.attrChanges||(this._.attrChanges[a]=c);this.setAttribute(a,b)}},insertHtml:function(a,b){d(this);n(this,b||"html",a)},insertText:function(a){d(this);var b=this.editor,c=b.getSelection().getStartElement().hasAscendant("pre",true)?CKEDITOR.ENTER_BR:b.config.enterMode,b=c==CKEDITOR.ENTER_BR,e=CKEDITOR.tools,a=e.htmlEncode(a.replace(/\r\n/g,
+"\n")),a=a.replace(/\t/g,"&nbsp;&nbsp; &nbsp;"),c=c==CKEDITOR.ENTER_P?"p":"div";if(!b){var f=/\n{2}/g;if(f.test(a))var i="<"+c+">",k="</"+c+">",a=i+a.replace(f,function(){return k+i})+k}a=a.replace(/\n/g,"<br>");b||(a=a.replace(RegExp("<br>(?=</"+c+">)"),function(a){return e.repeat(a,2)}));a=a.replace(/^ | $/g,"&nbsp;");a=a.replace(/(>|\s) /g,function(a,b){return b+"&nbsp;"}).replace(/ (?=<)/g,"&nbsp;");n(this,"text",a)},insertElement:function(a){d(this);for(var c=this.editor,g=c.config.enterMode,
+e=c.getSelection(),f=e.getRanges(),i=a.getName(),k=CKEDITOR.dtd.$block[i],m,n,l,B=f.length-1;B>=0;B--){m=f[B];if(!m.checkReadOnly()){m.deleteContents(1);n=!B&&a||a.clone(1);var q,z;if(k)for(;(q=m.getCommonAncestor(0,1))&&(z=CKEDITOR.dtd[q.getName()])&&(!z||!z[i]);)if(q.getName()in CKEDITOR.dtd.span)m.splitElement(q);else if(m.checkStartOfBlock()&&m.checkEndOfBlock()){m.setStartBefore(q);m.collapse(true);q.remove()}else m.splitBlock(g==CKEDITOR.ENTER_DIV?"div":"p",c.editable());m.insertNode(n);l||
+(l=n)}}if(l){m.moveToPosition(l,CKEDITOR.POSITION_AFTER_END);if(k)if((a=l.getNext(b))&&a.type==CKEDITOR.NODE_ELEMENT&&a.is(CKEDITOR.dtd.$block))a.getDtd()["#"]?m.moveToElementEditStart(a):m.moveToElementEditEnd(l);else if(!a&&g!=CKEDITOR.ENTER_BR){a=m.fixBlock(true,g==CKEDITOR.ENTER_DIV?"div":"p");m.moveToElementEditStart(a)}}e.selectRanges([m]);j(this,CKEDITOR.env.opera)},setData:function(a,b){!b&&this.editor.dataProcessor&&(a=this.editor.dataProcessor.toHtml(a));this.setHtml(a);this.editor.fire("dataReady")},
+getData:function(a){var b=this.getHtml();!a&&this.editor.dataProcessor&&(b=this.editor.dataProcessor.toDataFormat(b));return b},setReadOnly:function(a){this.setAttribute("contenteditable",!a)},detach:function(){this.removeClass("cke_editable");var a=this.editor;this._.detach();delete a.document;delete a.window},isInline:function(){return this.getDocument().equals(CKEDITOR.document)},setup:function(){var a=this.editor;this.attachListener(a,"beforeGetData",function(){var b=this.getData();this.is("textarea")||
+a.config.ignoreEmptyParagraph!==false&&(b=b.replace(l,function(a,b){return b}));a.setData(b,null,1)},this);this.attachListener(a,"getSnapshot",function(a){a.data=this.getData(1)},this);this.attachListener(a,"afterSetData",function(){this.setData(a.getData(1))},this);this.attachListener(a,"loadSnapshot",function(a){this.setData(a.data,1)},this);this.attachListener(a,"beforeFocus",function(){var b=a.getSelection();(b=b&&b.getNative())&&b.type=="Control"||this.focus()},this);this.attachListener(a,"insertHtml",
+function(a){this.insertHtml(a.data.dataValue,a.data.mode)},this);this.attachListener(a,"insertElement",function(a){this.insertElement(a.data)},this);this.attachListener(a,"insertText",function(a){this.insertText(a.data)},this);this.setReadOnly(a.readOnly);this.attachClass("cke_editable");this.attachClass(a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?"cke_editable_inline":a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE||a.elementMode==CKEDITOR.ELEMENT_MODE_APPENDTO?"cke_editable_themed":"");this.attachClass("cke_contents_"+
+a.config.contentsLangDirection);a.keystrokeHandler.blockedKeystrokes[8]=a.readOnly;a.keystrokeHandler.attach(this);this.on("blur",function(a){CKEDITOR.env.opera&&CKEDITOR.document.getActive().equals(this.isInline()?this:this.getWindow().getFrame())?a.cancel():this.hasFocus=false},null,null,-1);this.on("focus",function(){this.hasFocus=true},null,null,-1);a.focusManager.add(this);if(this.equals(CKEDITOR.document.getActive())){this.hasFocus=true;a.once("contentDom",function(){a.focusManager.focus()})}this.isInline()&&
+this.changeAttr("tabindex",a.tabIndex);if(!this.is("textarea")){a.document=this.getDocument();a.window=this.getWindow();var b=a.document;this.changeAttr("spellcheck",!a.config.disableNativeSpellChecker);var g=a.config.contentsLangDirection;this.getDirection(1)!=g&&this.changeAttr("dir",g);var d=CKEDITOR.getCss();if(d){g=b.getHead();if(!g.getCustomData("stylesheet")){d=b.appendStyleText(d);d=new CKEDITOR.dom.element(d.ownerNode||d.owningElement);g.setCustomData("stylesheet",d);d.data("cke-temp",1)}}g=
+b.getCustomData("stylesheet_ref")||0;b.setCustomData("stylesheet_ref",g+1);this.setCustomData("cke_includeReadonly",!a.config.disableReadonlyStyling);this.attachListener(this,"click",function(a){var a=a.data,b=a.getTarget();b.is("a")&&(a.$.button!=2&&b.isReadOnly())&&a.preventDefault()});this.attachListener(a,"key",function(b){if(a.readOnly)return true;var c=b.data.keyCode,g;if(c in{8:1,46:1}){var d=a.getSelection(),b=d.getRanges()[0],h=b.startPath(),f,p,j,c=c==8;if(d=e(d)){a.fire("saveSnapshot");
+b.moveToPosition(d,CKEDITOR.POSITION_BEFORE_START);d.remove();b.select();a.fire("saveSnapshot");g=1}else if(b.collapsed)if((f=h.block)&&b[c?"checkStartOfBlock":"checkEndOfBlock"]()&&(j=f[c?"getPrevious":"getNext"](i))&&j.is("table")){a.fire("saveSnapshot");b[c?"checkEndOfBlock":"checkStartOfBlock"]()&&f.remove();b["moveToElementEdit"+(c?"End":"Start")](j);b.select();a.fire("saveSnapshot");g=1}else if(h.blockLimit&&h.blockLimit.is("td")&&(p=h.blockLimit.getAscendant("table"))&&b.checkBoundaryOfElement(p,
+c?CKEDITOR.START:CKEDITOR.END)&&(j=p[c?"getPrevious":"getNext"](i))){a.fire("saveSnapshot");b["moveToElementEdit"+(c?"End":"Start")](j);b.checkStartOfBlock()&&b.checkEndOfBlock()?j.remove():b.select();a.fire("saveSnapshot");g=1}else if((p=h.contains(["td","th","caption"]))&&b.checkBoundaryOfElement(p,c?CKEDITOR.START:CKEDITOR.END))g=1}return!g});CKEDITOR.env.ie&&this.attachListener(this,"click",c);!CKEDITOR.env.ie&&!CKEDITOR.env.opera&&this.attachListener(this,"mousedown",function(b){var c=b.data.getTarget();
+if(c.is("img","hr","input","textarea","select")){a.getSelection().selectElement(c);c.is("input","textarea","select")&&b.data.preventDefault()}});CKEDITOR.env.gecko&&this.attachListener(this,"mouseup",function(b){if(b.data.$.button==2){b=b.data.getTarget();if(!b.getOuterHtml().replace(l,"")){var c=a.createRange();c.moveToElementEditStart(b);c.select(true)}}});if(CKEDITOR.env.webkit){this.attachListener(this,"click",function(a){a.data.getTarget().is("input","select")&&a.data.preventDefault()});this.attachListener(this,
+"mouseup",function(a){a.data.getTarget().is("input","textarea")&&a.data.preventDefault()})}}}},_:{detach:function(){this.editor.setData(this.editor.getData(),0,1);this.clearListeners();this.restoreAttrs();var a;if(a=this.removeCustomData("classes"))for(;a.length;)this.removeClass(a.pop());a=this.getDocument();var b=a.getHead();if(b.getCustomData("stylesheet")){var c=a.getCustomData("stylesheet_ref");if(--c)a.setCustomData("stylesheet_ref",c);else{a.removeCustomData("stylesheet_ref");b.removeCustomData("stylesheet").remove()}}delete this.editor}}});
+CKEDITOR.editor.prototype.editable=function(a){var b=this._.editable;if(b&&a)return 0;if(arguments.length)b=this._.editable=a?a instanceof CKEDITOR.editable?a:new CKEDITOR.editable(this,a):(b&&b.detach(),null);return b};var l=/(^|<body\b[^>]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:<br[^>]*>|&nbsp;|\u00A0|&#160;)?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi,i=CKEDITOR.dom.walker.whitespaces(true),m=CKEDITOR.dom.walker.bookmark(false,true);CKEDITOR.on("instanceLoaded",function(b){var c=b.editor;c.on("insertElement",
+function(a){a=a.data;if(a.type==CKEDITOR.NODE_ELEMENT&&(a.is("input")||a.is("textarea"))){a.getAttribute("contentEditable")!="false"&&a.data("cke-editable",a.hasAttribute("contenteditable")?"true":"1");a.setAttribute("contentEditable",false)}});c.on("selectionChange",function(b){if(!c.readOnly){var d=c.getSelection();if(d&&!d.isLocked){d=c.checkDirty();c.fire("lockSnapshot");a(b);c.fire("unlockSnapshot");!d&&c.resetDirty()}}})});CKEDITOR.on("instanceCreated",function(a){var b=a.editor;b.on("mode",
+function(){var a=b.editable();if(a&&a.isInline()){var c=this.lang.editor+", "+this.name;a.changeAttr("role","textbox");a.changeAttr("aria-label",c);a.changeAttr("title",c);if(c=this.ui.space(this.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?"top":"contents")){var d=CKEDITOR.tools.getNextId(),e=CKEDITOR.dom.element.createFromHtml('<span id="'+d+'" class="cke_voice_label">'+this.lang.common.editorHelp+"</span>");c.append(e);a.changeAttr("aria-describedby",d)}}})});CKEDITOR.addCss(".cke_editable{cursor:text}.cke_editable img,.cke_editable input,.cke_editable textarea{cursor:default}");
+var n=function(){function a(b){return b.type==CKEDITOR.NODE_ELEMENT}function c(b,d){var g,e,h,f,o=[],i=d.range.startContainer;g=d.range.startPath();for(var i=k[i.getName()],j=0,m=b.getChildren(),n=m.count(),l=-1,u=-1,t=0,w=g.contains(k.$list);j<n;++j){g=m.getItem(j);if(a(g)){h=g.getName();if(w&&h in CKEDITOR.dtd.$list)o=o.concat(c(g,d));else{f=!!i[h];if(h=="br"&&g.data("cke-eol")&&(!j||j==n-1)){t=(e=j?o[j-1].node:m.getItem(j+1))&&(!a(e)||!e.is("br"));e=e&&a(e)&&k.$block[e.getName()]}l==-1&&!f&&(l=
+j);f||(u=j);o.push({isElement:1,isLineBreak:t,isBlock:g.isBlockBoundary(),hasBlockSibling:e,node:g,name:h,allowed:f});e=t=0}}else o.push({isElement:0,node:g,allowed:1})}if(l>-1)o[l].firstNotAllowed=1;if(u>-1)o[u].lastNotAllowed=1;return o}function d(b,c){var e=[],h=b.getChildren(),f=h.count(),i,o=0,j=k[c],p=!b.is(k.$inline)||b.is("br");for(p&&e.push(" ");o<f;o++){i=h.getItem(o);a(i)&&!i.is(j)?e=e.concat(d(i,c)):e.push(i)}p&&e.push(" ");return e}function e(b){return b&&a(b)&&(b.is(k.$removeEmpty)||
+b.is("a")&&!b.isBlockBoundary())}function f(b,c,d,g){var e=b.clone(),h,k;e.setEndAt(c,CKEDITOR.POSITION_BEFORE_END);if((h=(new CKEDITOR.dom.walker(e)).next())&&a(h)&&m[h.getName()]&&(k=h.getPrevious())&&a(k)&&!k.getParent().equals(b.startContainer)&&d.contains(k)&&g.contains(h)&&h.isIdentical(k)){h.moveChildren(k);h.remove();f(b,c,d,g)}}function i(b,c){function d(b,c){if(c.isBlock&&c.isElement&&!c.node.is("br")&&a(b)&&b.is("br")){b.remove();return 1}}var g=c.endContainer.getChild(c.endOffset),e=c.endContainer.getChild(c.endOffset-
+1);g&&d(g,b[b.length-1]);if(e&&d(e,b[0])){c.setEnd(c.endContainer,c.endOffset-1);c.collapse()}}var k=CKEDITOR.dtd,m={p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,ul:1,ol:1,li:1,pre:1,dl:1,blockquote:1},l={p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},n=CKEDITOR.tools.extend({},k.$inline);delete n.br;return function(m,q,t){var s=m.editor;m.getDocument();var A=s.getSelection().getRanges()[0],v=false;if(q=="unfiltered_html"){q="html";v=true}if(!A.checkReadOnly()){var o=(new CKEDITOR.dom.elementPath(A.startContainer,
+A.root)).blockLimit||A.root,q={type:q,dontFilter:v,editable:m,editor:s,range:A,blockLimit:o,mergeCandidates:[],zombies:[]},s=q.range,v=q.mergeCandidates,x,I,G,C;if(q.type=="text"&&s.shrink(CKEDITOR.SHRINK_ELEMENT,true,false)){x=CKEDITOR.dom.element.createFromHtml("<span>&nbsp;</span>",s.document);s.insertNode(x);s.setStartAfter(x)}I=new CKEDITOR.dom.elementPath(s.startContainer);q.endPath=G=new CKEDITOR.dom.elementPath(s.endContainer);if(!s.collapsed){var o=G.block||G.blockLimit,Q=s.getCommonAncestor();
+o&&(!o.equals(Q)&&!o.contains(Q)&&s.checkEndOfBlock())&&q.zombies.push(o);s.deleteContents()}for(;(C=a(s.startContainer)&&s.startContainer.getChild(s.startOffset-1))&&a(C)&&C.isBlockBoundary()&&I.contains(C);)s.moveToPosition(C,CKEDITOR.POSITION_BEFORE_END);f(s,q.blockLimit,I,G);if(x){s.setEndBefore(x);s.collapse();x.remove()}x=s.startPath();if(o=x.contains(e,false,1)){s.splitElement(o);q.inlineStylesRoot=o;q.inlineStylesPeak=x.lastElement}x=s.createBookmark();(o=x.startNode.getPrevious(b))&&a(o)&&
+e(o)&&v.push(o);(o=x.startNode.getNext(b))&&a(o)&&e(o)&&v.push(o);for(o=x.startNode;(o=o.getParent())&&e(o);)v.push(o);s.moveToBookmark(x);if(t){C=t;t=q.range;if(q.type=="text"&&q.inlineStylesRoot){x=C;C=q.inlineStylesPeak;s=C.getDocument().createText("{cke-peak}");for(v=q.inlineStylesRoot.getParent();!C.equals(v);){s=s.appendTo(C.clone());C=C.getParent()}C=s.getOuterHtml().replace("{cke-peak}",x)}x=q.blockLimit.getName();if(/^\s+|\s+$/.test(C)&&"span"in CKEDITOR.dtd[x]){var L='<span data-cke-marker="1">&nbsp;</span>';
+C=L+C+L}C=q.editor.dataProcessor.toHtml(C,null,false,q.dontFilter);x=t.document.createElement("body");x.setHtml(C);if(L){x.getFirst().remove();x.getLast().remove()}if((L=t.startPath().block)&&!(L.getChildCount()==1&&L.getBogus()))a:{var E;if(x.getChildCount()==1&&a(E=x.getFirst())&&E.is(l)){L=E.getElementsByTag("*");t=0;for(s=L.count();t<s;t++){C=L.getItem(t);if(!C.is(n))break a}E.moveChildren(E.getParent(1));E.remove()}}q.dataWrapper=x;E=q.range;var L=E.document,y,t=q.blockLimit;x=0;var J;C=[];var H,
+N,v=s=0,K,O;I=E.startContainer;var o=q.endPath.elements[0],P;G=o.getPosition(I);Q=!!o.getCommonAncestor(I)&&G!=CKEDITOR.POSITION_IDENTICAL&&!(G&CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_IS_CONTAINED);I=c(q.dataWrapper,q);for(i(I,E);x<I.length;x++){G=I[x];if(y=G.isLineBreak){y=E;K=t;var M=void 0,R=void 0;if(G.hasBlockSibling)y=1;else{M=y.startContainer.getAscendant(k.$block,1);if(!M||!M.is({div:1,p:1}))y=0;else{R=M.getPosition(K);if(R==CKEDITOR.POSITION_IDENTICAL||R==CKEDITOR.POSITION_CONTAINS)y=
+0;else{K=y.splitElement(M);y.moveToPosition(K,CKEDITOR.POSITION_AFTER_START);y=1}}}}if(y)v=x>0;else{y=E.startPath();if(!G.isBlock&&(N=q.editor.config.enterMode!=CKEDITOR.ENTER_BR&&q.editor.config.autoParagraph!==false?q.editor.config.enterMode==CKEDITOR.ENTER_DIV?"div":"p":false)&&!y.block&&y.blockLimit&&y.blockLimit.equals(E.root)){N=L.createElement(N);!CKEDITOR.env.ie&&N.appendBogus();E.insertNode(N);!CKEDITOR.env.ie&&(J=N.getBogus())&&J.remove();E.moveToPosition(N,CKEDITOR.POSITION_BEFORE_END)}if((y=
+E.startPath().block)&&!y.equals(H)){if(J=y.getBogus()){J.remove();C.push(y)}H=y}G.firstNotAllowed&&(s=1);if(s&&G.isElement){y=E.startContainer;for(K=null;y&&!k[y.getName()][G.name];){if(y.equals(t)){y=null;break}K=y;y=y.getParent()}if(y){if(K){O=E.splitElement(K);q.zombies.push(O);q.zombies.push(K)}}else{K=t.getName();P=!x;y=x==I.length-1;K=d(G.node,K);for(var M=[],R=K.length,T=0,U=void 0,V=0,W=-1;T<R;T++){U=K[T];if(U==" "){if(!V&&(!P||T)){M.push(new CKEDITOR.dom.text(" "));W=M.length}V=1}else{M.push(U);
+V=0}}y&&W==M.length&&M.pop();P=M}}if(P){for(;y=P.pop();)E.insertNode(y);P=0}else E.insertNode(G.node);if(G.lastNotAllowed&&x<I.length-1){(O=Q?o:O)&&E.setEndAt(O,CKEDITOR.POSITION_AFTER_START);s=0}E.collapse()}}q.dontMoveCaret=v;q.bogusNeededBlocks=C}J=q.range;var S;O=q.bogusNeededBlocks;for(P=J.createBookmark();H=q.zombies.pop();)if(H.getParent()){N=J.clone();N.moveToElementEditStart(H);N.removeEmptyBlocksAtEnd()}if(O)for(;H=O.pop();)H.append(CKEDITOR.env.ie?J.document.createText(" "):J.document.createElement("br"));
+for(;H=q.mergeCandidates.pop();)H.mergeSiblings();J.moveToBookmark(P);if(!q.dontMoveCaret){for(H=a(J.startContainer)&&J.startContainer.getChild(J.startOffset-1);H&&a(H)&&!H.is(k.$empty);){if(H.isBlockBoundary())J.moveToPosition(H,CKEDITOR.POSITION_BEFORE_END);else{if(e(H)&&H.getHtml().match(/(\s|&nbsp;)$/g)){S=null;break}S=J.clone();S.moveToPosition(H,CKEDITOR.POSITION_BEFORE_END)}H=H.getLast(b)}S&&J.moveToRange(S)}A.select();j(m)}}}()})();
+(function(){function a(){var a=this.getSelection(1);if(a.getType()!=CKEDITOR.SELECTION_NONE){this.fire("selectionCheck",a);var b=this.elementPath();if(!b.compare(this._.selectionPreviousPath)){this._.selectionPreviousPath=b;this.fire("selectionChange",{selection:a,path:b})}}}function c(){i=true;if(!l){b.call(this);l=CKEDITOR.tools.setTimeout(b,200,this)}}function b(){l=null;if(i){CKEDITOR.tools.setTimeout(a,0,this);i=false}}function f(a){function b(c,d){return!c||c.type==CKEDITOR.NODE_TEXT?false:
+a.clone()["moveToElementEdit"+(d?"End":"Start")](c)}if(!(a.root instanceof CKEDITOR.editable))return false;var c=a.startContainer,d=a.getPreviousNode(m,null,c),e=a.getNextNode(m,null,c);return b(d)||b(e,1)||!d&&!e&&!(c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary()&&c.getBogus())?true:false}function e(a){return a.getCustomData("cke-fillingChar")}function d(a,b){var c=a&&a.removeCustomData("cke-fillingChar");if(c){if(b!==false){var d,e=a.getDocument().getSelection().getNative(),f=e&&e.type!="None"&&
+e.getRangeAt(0);if(c.getLength()>1&&f&&f.intersectsNode(c.$)){d=[e.anchorOffset,e.focusOffset];f=e.focusNode==c.$&&e.focusOffset>0;e.anchorNode==c.$&&e.anchorOffset>0&&d[0]--;f&&d[1]--;var i;f=e;if(!f.isCollapsed){i=f.getRangeAt(0);i.setStart(f.anchorNode,f.anchorOffset);i.setEnd(f.focusNode,f.focusOffset);i=i.collapsed}i&&d.unshift(d.pop())}}c.setText(j(c.getText()));if(d){c=e.getRangeAt(0);c.setStart(c.startContainer,d[0]);c.setEnd(c.startContainer,d[1]);e.removeAllRanges();e.addRange(c)}}}function j(a){return a.replace(/\u200B( )?/g,
+function(a){return a[1]?" ":""})}var l,i,m=CKEDITOR.dom.walker.invisible(1);CKEDITOR.on("instanceCreated",function(b){function g(){var a=e.getSelection();a&&a.removeAllRanges()}var e=b.editor;e.define("selectionChange",{errorProof:1});e.on("contentDom",function(){var b=e.document,g=CKEDITOR.document,f=e.editable(),i=b.getBody(),j=b.getDocumentElement(),p=f.isInline(),m;CKEDITOR.env.gecko&&f.attachListener(f,"focus",function(a){a.removeListener();if(m!==0){a=e.getSelection().getNative();if(a.isCollapsed&&
+a.anchorNode==f.$){a=e.createRange();a.moveToElementEditStart(f);a.select()}}},null,null,-2);f.attachListener(f,"focus",function(){e.unlockSelection(m);m=0},null,null,-1);f.attachListener(f,"mousedown",function(){m=0});if(CKEDITOR.env.ie||CKEDITOR.env.opera||p){var l,r=function(){l=e.getSelection(1);l.lock()};n?f.attachListener(f,"beforedeactivate",r,null,null,-1):f.attachListener(e,"selectionCheck",r,null,null,-1);f.attachListener(f,"blur",function(){e.lockSelection(l);m=1},null,null,-1)}if(CKEDITOR.env.ie&&
+!p){var s;f.attachListener(f,"mousedown",function(a){a.data.$.button==2&&e.document.$.selection.type=="None"&&(s=e.window.getScrollPosition())});f.attachListener(f,"mouseup",function(a){if(a.data.$.button==2&&s){e.document.$.documentElement.scrollLeft=s.x;e.document.$.documentElement.scrollTop=s.y}s=null});if(b.$.compatMode!="BackCompat"){if(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)j.on("mousedown",function(a){function b(a){a=a.data.$;if(d){var c=i.$.createTextRange();try{c.moveToPoint(a.x,
+a.y)}catch(e){}d.setEndPoint(f.compareEndPoints("StartToStart",c)<0?"EndToEnd":"StartToStart",c);d.select()}}function c(){j.removeListener("mousemove",b);g.removeListener("mouseup",c);j.removeListener("mouseup",c);d.select()}a=a.data;if(a.getTarget().is("html")&&a.$.y<j.$.clientHeight&&a.$.x<j.$.clientWidth){var d=i.$.createTextRange();try{d.moveToPoint(a.$.x,a.$.y)}catch(e){}var f=d.duplicate();j.on("mousemove",b);g.on("mouseup",c);j.on("mouseup",c)}});if(CKEDITOR.env.version>7){j.on("mousedown",
+function(a){if(a.data.getTarget().is("html")){g.on("mouseup",A);j.on("mouseup",A)}});var A=function(){g.removeListener("mouseup",A);j.removeListener("mouseup",A);var a=CKEDITOR.document.$.selection,c=a.createRange();a.type!="None"&&c.parentElement().ownerDocument==b.$&&c.select()}}}}f.attachListener(f,"selectionchange",a,e);f.attachListener(f,"keyup",c,e);f.attachListener(f,"focus",function(){e.forceNextSelectionCheck();e.selectionChange(1)});if(p?CKEDITOR.env.webkit||CKEDITOR.env.gecko:CKEDITOR.env.opera){var v;
+f.attachListener(f,"mousedown",function(){v=1});f.attachListener(b.getDocumentElement(),"mouseup",function(){v&&c.call(e);v=0})}else f.attachListener(CKEDITOR.env.ie?f:b.getDocumentElement(),"mouseup",c,e);CKEDITOR.env.webkit&&f.attachListener(b,"keydown",function(a){switch(a.data.getKey()){case 13:case 33:case 34:case 35:case 36:case 37:case 39:case 8:case 45:case 46:d(f)}},null,null,-1)});e.on("contentDomUnload",e.forceNextSelectionCheck,e);e.on("dataReady",function(){e.selectionChange(1)});CKEDITOR.env.ie9Compat&&
+e.on("beforeDestroy",g,null,null,9);CKEDITOR.env.webkit&&e.on("setData",g);e.on("contentDomUnload",function(){e.unlockSelection()})});CKEDITOR.on("instanceReady",function(a){var b=a.editor;if(CKEDITOR.env.webkit){b.on("selectionChange",function(){var a=b.editable(),c=e(a);c&&(c.getCustomData("ready")?d(a):c.setCustomData("ready",1))},null,null,-1);b.on("beforeSetMode",function(){d(b.editable())},null,null,-1);var c,f,a=function(){var a=b.editable();if(a)if(a=e(a)){var d=b.document.$.defaultView.getSelection();
+d.type=="Caret"&&d.anchorNode==a.$&&(f=1);c=a.getText();a.setText(j(c))}},i=function(){var a=b.editable();if(a)if(a=e(a)){a.setText(c);if(f){b.document.$.defaultView.getSelection().setPosition(a.$,a.getLength());f=0}}};b.on("beforeUndoImage",a);b.on("afterUndoImage",i);b.on("beforeGetData",a,null,null,0);b.on("getData",i)}});CKEDITOR.editor.prototype.selectionChange=function(b){(b?a:c).call(this)};CKEDITOR.editor.prototype.getSelection=function(a){if(this._.savedSelection&&!a)return this._.savedSelection;
+return(a=this.editable())?new CKEDITOR.dom.selection(a):null};CKEDITOR.editor.prototype.lockSelection=function(a){a=a||this.getSelection(1);if(a.getType()!=CKEDITOR.SELECTION_NONE){!a.isLocked&&a.lock();this._.savedSelection=a;return true}return false};CKEDITOR.editor.prototype.unlockSelection=function(a){var b=this._.savedSelection;if(b){b.unlock(a);delete this._.savedSelection;return true}return false};CKEDITOR.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath};
+CKEDITOR.dom.document.prototype.getSelection=function(){return new CKEDITOR.dom.selection(this)};CKEDITOR.dom.range.prototype.select=function(){var a=this.root instanceof CKEDITOR.editable?this.root.editor.getSelection():new CKEDITOR.dom.selection(this.root);a.selectRanges([this]);return a};CKEDITOR.SELECTION_NONE=1;CKEDITOR.SELECTION_TEXT=2;CKEDITOR.SELECTION_ELEMENT=3;var n=typeof window.getSelection!="function";CKEDITOR.dom.selection=function(a){var b=a instanceof CKEDITOR.dom.element;this.document=
+a instanceof CKEDITOR.dom.document?a:a.getDocument();this.root=b?a:this.document.getBody();this.isLocked=0;this._={cache:{}};if(CKEDITOR.env.webkit){a=this.document.getWindow().$.getSelection();if(a.type=="None"&&this.document.getActive().equals(this.root)||a.type=="Caret"&&a.anchorNode.nodeType==CKEDITOR.NODE_DOCUMENT){var c=new CKEDITOR.dom.range(this.root);c.moveToPosition(this.root,CKEDITOR.POSITION_AFTER_START);b=this.document.$.createRange();b.setStart(c.startContainer.$,c.startOffset);b.collapse(1);
+var d=this.root.on("focus",function(a){a.cancel()},null,null,-100);a.addRange(b);d.removeListener()}}var a=this.getNative(),e;if(a)if(a.getRangeAt)e=(c=a.rangeCount&&a.getRangeAt(0))&&new CKEDITOR.dom.node(c.commonAncestorContainer);else{try{c=a.createRange()}catch(f){}e=c&&CKEDITOR.dom.element.get(c.item&&c.item(0)||c.parentElement())}if(!e||!this.root.equals(e)&&!this.root.contains(e)){this._.cache.type=CKEDITOR.SELECTION_NONE;this._.cache.startElement=null;this._.cache.selectedElement=null;this._.cache.selectedText=
+"";this._.cache.ranges=new CKEDITOR.dom.rangeList}return this};var r={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1};CKEDITOR.dom.selection.prototype={getNative:function(){return this._.cache.nativeSel!==void 0?this._.cache.nativeSel:this._.cache.nativeSel=n?this.document.$.selection:this.document.getWindow().$.getSelection()},getType:n?function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_NONE;
+try{var c=this.getNative(),d=c.type;if(d=="Text")b=CKEDITOR.SELECTION_TEXT;if(d=="Control")b=CKEDITOR.SELECTION_ELEMENT;if(c.createRange().parentElement())b=CKEDITOR.SELECTION_TEXT}catch(e){}return a.type=b}:function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_TEXT,c=this.getNative();if(!c||!c.rangeCount)b=CKEDITOR.SELECTION_NONE;else if(c.rangeCount==1){var c=c.getRangeAt(0),d=c.startContainer;if(d==c.endContainer&&d.nodeType==1&&c.endOffset-c.startOffset==1&&r[d.childNodes[c.startOffset].nodeName.toLowerCase()])b=
+CKEDITOR.SELECTION_ELEMENT}return a.type=b},getRanges:function(){var a=n?function(){function a(b){return(new CKEDITOR.dom.node(b)).getIndex()}var b=function(b,c){b=b.duplicate();b.collapse(c);var d=b.parentElement(),e=d.ownerDocument;if(!d.hasChildNodes())return{container:d,offset:0};for(var f=d.children,h,i,j=b.duplicate(),m=0,p=f.length-1,l=-1,n,o;m<=p;){l=Math.floor((m+p)/2);h=f[l];j.moveToElementText(h);n=j.compareEndPoints("StartToStart",b);if(n>0)p=l-1;else if(n<0)m=l+1;else{if(CKEDITOR.env.ie9Compat&&
+h.tagName=="BR"){f=e.defaultView.getSelection();return{container:f[c?"anchorNode":"focusNode"],offset:f[c?"anchorOffset":"focusOffset"]}}return{container:d,offset:a(h)}}}if(l==-1||l==f.length-1&&n<0){j.moveToElementText(d);j.setEndPoint("StartToStart",b);e=j.text.replace(/(\r\n|\r)/g,"\n").length;f=d.childNodes;if(!e){h=f[f.length-1];return h.nodeType!=CKEDITOR.NODE_TEXT?{container:d,offset:f.length}:{container:h,offset:h.nodeValue.length}}for(d=f.length;e>0&&d>0;){i=f[--d];if(i.nodeType==CKEDITOR.NODE_TEXT){o=
+i;e=e-i.nodeValue.length}}return{container:o,offset:-e}}j.collapse(n>0?true:false);j.setEndPoint(n>0?"StartToStart":"EndToStart",b);e=j.text.replace(/(\r\n|\r)/g,"\n").length;if(!e)return{container:d,offset:a(h)+(n>0?0:1)};for(;e>0;)try{i=h[n>0?"previousSibling":"nextSibling"];if(i.nodeType==CKEDITOR.NODE_TEXT){e=e-i.nodeValue.length;o=i}h=i}catch(x){return{container:d,offset:a(h)}}return{container:o,offset:n>0?-e:o.nodeValue.length+e}};return function(){var a=this.getNative(),c=a&&a.createRange(),
+d=this.getType();if(!a)return[];if(d==CKEDITOR.SELECTION_TEXT){a=new CKEDITOR.dom.range(this.root);d=b(c,true);a.setStart(new CKEDITOR.dom.node(d.container),d.offset);d=b(c);a.setEnd(new CKEDITOR.dom.node(d.container),d.offset);a.endContainer.getPosition(a.startContainer)&CKEDITOR.POSITION_PRECEDING&&a.endOffset<=a.startContainer.getIndex()&&a.collapse();return[a]}if(d==CKEDITOR.SELECTION_ELEMENT){for(var d=[],e=0;e<c.length;e++){for(var g=c.item(e),f=g.parentNode,i=0,a=new CKEDITOR.dom.range(this.root);i<
+f.childNodes.length&&f.childNodes[i]!=g;i++);a.setStart(new CKEDITOR.dom.node(f),i);a.setEnd(new CKEDITOR.dom.node(f),i+1);d.push(a)}return d}return[]}}():function(){var a=[],b,c=this.getNative();if(!c)return a;for(var d=0;d<c.rangeCount;d++){var e=c.getRangeAt(d);b=new CKEDITOR.dom.range(this.root);b.setStart(new CKEDITOR.dom.node(e.startContainer),e.startOffset);b.setEnd(new CKEDITOR.dom.node(e.endContainer),e.endOffset);a.push(b)}return a};return function(b){var c=this._.cache;if(c.ranges&&!b)return c.ranges;
+if(!c.ranges)c.ranges=new CKEDITOR.dom.rangeList(a.call(this));if(b)for(var d=c.ranges,e=0;e<d.length;e++){var f=d[e];f.getCommonAncestor().isReadOnly()&&d.splice(e,1);if(!f.collapsed){if(f.startContainer.isReadOnly())for(var b=f.startContainer,i;b;){if((i=b.type==CKEDITOR.NODE_ELEMENT)&&b.is("body")||!b.isReadOnly())break;i&&b.getAttribute("contentEditable")=="false"&&f.setStartAfter(b);b=b.getParent()}b=f.startContainer;i=f.endContainer;var j=f.startOffset,m=f.endOffset,l=f.clone();b&&b.type==CKEDITOR.NODE_TEXT&&
+(j>=b.getLength()?l.setStartAfter(b):l.setStartBefore(b));i&&i.type==CKEDITOR.NODE_TEXT&&(m?l.setEndAfter(i):l.setEndBefore(i));b=new CKEDITOR.dom.walker(l);b.evaluator=function(a){if(a.type==CKEDITOR.NODE_ELEMENT&&a.isReadOnly()){var b=f.clone();f.setEndBefore(a);f.collapsed&&d.splice(e--,1);if(!(a.getPosition(l.endContainer)&CKEDITOR.POSITION_CONTAINS)){b.setStartAfter(a);b.collapsed||d.splice(e+1,0,b)}return true}return false};b.next()}}return c.ranges}}(),getStartElement:function(){var a=this._.cache;
+if(a.startElement!==void 0)return a.startElement;var b;switch(this.getType()){case CKEDITOR.SELECTION_ELEMENT:return this.getSelectedElement();case CKEDITOR.SELECTION_TEXT:var c=this.getRanges()[0];if(c){if(c.collapsed){b=c.startContainer;b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent())}else{for(c.optimize();;){b=c.startContainer;if(c.startOffset==(b.getChildCount?b.getChildCount():b.getLength())&&!b.isBlockBoundary())c.setStartAfter(b);else break}b=c.startContainer;if(b.type!=CKEDITOR.NODE_ELEMENT)return b.getParent();
+b=b.getChild(c.startOffset);if(!b||b.type!=CKEDITOR.NODE_ELEMENT)b=c.startContainer;else for(c=b.getFirst();c&&c.type==CKEDITOR.NODE_ELEMENT;){b=c;c=c.getFirst()}}b=b.$}}return a.startElement=b?new CKEDITOR.dom.element(b):null},getSelectedElement:function(){var a=this._.cache;if(a.selectedElement!==void 0)return a.selectedElement;var b=this,c=CKEDITOR.tools.tryThese(function(){return b.getNative().createRange().item(0)},function(){for(var a=b.getRanges()[0],c,d,e=2;e&&(!(c=a.getEnclosedNode())||!(c.type==
+CKEDITOR.NODE_ELEMENT&&r[c.getName()]&&(d=c)));e--)a.shrink(CKEDITOR.SHRINK_ELEMENT);return d.$});return a.selectedElement=c?new CKEDITOR.dom.element(c):null},getSelectedText:function(){var a=this._.cache;if(a.selectedText!==void 0)return a.selectedText;var b=this.getNative(),b=n?b.type=="Control"?"":b.createRange().text:b.toString();return a.selectedText=b},lock:function(){this.getRanges();this.getStartElement();this.getSelectedElement();this.getSelectedText();this._.cache.nativeSel=null;this.isLocked=
+1},unlock:function(a){if(this.isLocked){if(a)var b=this.getSelectedElement(),c=!b&&this.getRanges();this.isLocked=0;this.reset();if(a)(a=b||c[0]&&c[0].getCommonAncestor())&&a.getAscendant("body",1)&&(b?this.selectElement(b):this.selectRanges(c))}},reset:function(){this._.cache={}},selectElement:function(a){var b=new CKEDITOR.dom.range(this.root);b.setStartBefore(a);b.setEndAfter(a);this.selectRanges([b])},selectRanges:function(a){if(a.length)if(this.isLocked){var b=CKEDITOR.document.getActive();this.unlock();
+this.selectRanges(a);this.lock();!b.equals(this.root)&&b.focus()}else{if(n){var c=CKEDITOR.dom.walker.whitespaces(true),e=/\ufeff|\u00a0/,i={table:1,tbody:1,tr:1};if(a.length>1){b=a[a.length-1];a[0].setEnd(b.endContainer,b.endOffset)}var b=a[0],a=b.collapsed,k,j,m,l=b.getEnclosedNode();if(l&&l.type==CKEDITOR.NODE_ELEMENT&&l.getName()in r&&(!l.is("a")||!l.getText()))try{m=l.$.createControlRange();m.addElement(l.$);m.select();return}catch(B){}(b.startContainer.type==CKEDITOR.NODE_ELEMENT&&b.startContainer.getName()in
+i||b.endContainer.type==CKEDITOR.NODE_ELEMENT&&b.endContainer.getName()in i)&&b.shrink(CKEDITOR.NODE_ELEMENT,true);m=b.createBookmark();var i=m.startNode,q;if(!a)q=m.endNode;m=b.document.$.body.createTextRange();m.moveToElementText(i.$);m.moveStart("character",1);if(q){e=b.document.$.body.createTextRange();e.moveToElementText(q.$);m.setEndPoint("EndToEnd",e);m.moveEnd("character",-1)}else{k=i.getNext(c);j=i.hasAscendant("pre");k=!(k&&k.getText&&k.getText().match(e))&&(j||!i.hasPrevious()||i.getPrevious().is&&
+i.getPrevious().is("br"));j=b.document.createElement("span");j.setHtml("&#65279;");j.insertBefore(i);k&&b.document.createText("").insertBefore(i)}b.setStartBefore(i);i.remove();if(a){if(k){m.moveStart("character",-1);m.select();b.document.$.selection.clear()}else m.select();b.moveToPosition(j,CKEDITOR.POSITION_BEFORE_START);j.remove()}else{b.setEndBefore(q);q.remove();m.select()}}else{q=this.getNative();if(!q)return;if(CKEDITOR.env.opera){b=this.document.$.createRange();b.selectNodeContents(this.root.$);
+q.addRange(b)}this.removeAllRanges();for(e=0;e<a.length;e++){if(e<a.length-1){b=a[e];m=a[e+1];j=b.clone();j.setStart(b.endContainer,b.endOffset);j.setEnd(m.startContainer,m.startOffset);if(!j.collapsed){j.shrink(CKEDITOR.NODE_ELEMENT,true);k=j.getCommonAncestor();j=j.getEnclosedNode();if(k.isReadOnly()||j&&j.isReadOnly()){m.setStart(b.startContainer,b.startOffset);a.splice(e--,1);continue}}}b=a[e];m=this.document.$.createRange();k=b.startContainer;if(CKEDITOR.env.opera&&b.collapsed&&k.type==CKEDITOR.NODE_ELEMENT){j=
+k.getChild(b.startOffset-1);c=k.getChild(b.startOffset);if(!j&&!c&&k.is(CKEDITOR.dtd.$removeEmpty)||j&&j.type==CKEDITOR.NODE_ELEMENT||c&&c.type==CKEDITOR.NODE_ELEMENT){b.insertNode(this.document.createText(""));b.collapse(1)}}if(b.collapsed&&CKEDITOR.env.webkit&&f(b)){k=this.root;d(k,false);j=k.getDocument().createText("​");k.setCustomData("cke-fillingChar",j);b.insertNode(j);if((k=j.getNext())&&!j.getPrevious()&&k.type==CKEDITOR.NODE_ELEMENT&&k.getName()=="br"){d(this.root);b.moveToPosition(k,CKEDITOR.POSITION_BEFORE_START)}else b.moveToPosition(j,
+CKEDITOR.POSITION_AFTER_END)}m.setStart(b.startContainer.$,b.startOffset);try{m.setEnd(b.endContainer.$,b.endOffset)}catch(z){if(z.toString().indexOf("NS_ERROR_ILLEGAL_VALUE")>=0){b.collapse(1);m.setEnd(b.endContainer.$,b.endOffset)}else throw z;}q.addRange(m)}}this.reset();this.root.fire("selectionchange")}},createBookmarks:function(a){return this.getRanges().createBookmarks(a)},createBookmarks2:function(a){return this.getRanges().createBookmarks2(a)},selectBookmarks:function(a){for(var b=[],c=0;c<
+a.length;c++){var d=new CKEDITOR.dom.range(this.root);d.moveToBookmark(a[c]);b.push(d)}this.selectRanges(b);return this},getCommonAncestor:function(){var a=this.getRanges();return a[0].startContainer.getCommonAncestor(a[a.length-1].endContainer)},scrollIntoView:function(){this.type!=CKEDITOR.SELECTION_NONE&&this.getRanges()[0].scrollIntoView()},removeAllRanges:function(){var a=this.getNative();try{a&&a[n?"empty":"removeAllRanges"]()}catch(b){}this.reset()}}})();
+CKEDITOR.editor.prototype.attachStyleStateChange=function(a,c){var b=this._.styleStateChangeCallbacks;if(!b){b=this._.styleStateChangeCallbacks=[];this.on("selectionChange",function(a){for(var c=0;c<b.length;c++){var d=b[c],j=d.style.checkActive(a.data.path)?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF;d.fn.call(this,j)}})}b.push({style:a,fn:c})};CKEDITOR.STYLE_BLOCK=1;CKEDITOR.STYLE_INLINE=2;CKEDITOR.STYLE_OBJECT=3;
+(function(){function a(a,b){for(var c,d;a=a.getParent();){if(a.equals(b))break;if(a.getAttribute("data-nostyle"))c=a;else if(!d){var e=a.getAttribute("contentEditable");e=="false"?c=a:e=="true"&&(d=1)}}return c}function c(b){var c=b.document;if(b.collapsed){c=u(this,c);b.insertNode(c);b.moveToPosition(c,CKEDITOR.POSITION_BEFORE_END)}else{var d=this.element,e=this._.definition,f,g=e.ignoreReadonly,h=g||e.includeReadonly;h==void 0&&(h=b.root.getCustomData("cke_includeReadonly"));var i=CKEDITOR.dtd[d]||
+(f=true,CKEDITOR.dtd.span);b.enlarge(CKEDITOR.ENLARGE_INLINE,1);b.trim();var j=b.createBookmark(),k=j.startNode,m=j.endNode,l=k,n;if(!g){var r=b.getCommonAncestor(),g=a(k,r),r=a(m,r);g&&(l=g.getNextSourceNode(true));r&&(m=r)}for(l.getPosition(m)==CKEDITOR.POSITION_FOLLOWING&&(l=0);l;){g=false;if(l.equals(m)){l=null;g=true}else{var q=l.type,s=q==CKEDITOR.NODE_ELEMENT?l.getName():null,r=s&&l.getAttribute("contentEditable")=="false",t=s&&l.getAttribute("data-nostyle");if(s&&l.data("cke-bookmark")){l=
+l.getNextSourceNode(true);continue}if(!s||i[s]&&!t&&(!r||h)&&(l.getPosition(m)|CKEDITOR.POSITION_PRECEDING|CKEDITOR.POSITION_IDENTICAL|CKEDITOR.POSITION_IS_CONTAINED)==CKEDITOR.POSITION_PRECEDING+CKEDITOR.POSITION_IDENTICAL+CKEDITOR.POSITION_IS_CONTAINED&&(!e.childRule||e.childRule(l))){var v=l.getParent();if(v&&((v.getDtd()||CKEDITOR.dtd.span)[d]||f)&&(!e.parentRule||e.parentRule(v))){if(!n&&(!s||!CKEDITOR.dtd.$removeEmpty[s]||(l.getPosition(m)|CKEDITOR.POSITION_PRECEDING|CKEDITOR.POSITION_IDENTICAL|
+CKEDITOR.POSITION_IS_CONTAINED)==CKEDITOR.POSITION_PRECEDING+CKEDITOR.POSITION_IDENTICAL+CKEDITOR.POSITION_IS_CONTAINED)){n=b.clone();n.setStartBefore(l)}if(q==CKEDITOR.NODE_TEXT||r||q==CKEDITOR.NODE_ELEMENT&&!l.getChildCount()){for(var q=l,w;(g=!q.getNext(A))&&(w=q.getParent(),i[w.getName()])&&(w.getPosition(k)|CKEDITOR.POSITION_FOLLOWING|CKEDITOR.POSITION_IDENTICAL|CKEDITOR.POSITION_IS_CONTAINED)==CKEDITOR.POSITION_FOLLOWING+CKEDITOR.POSITION_IDENTICAL+CKEDITOR.POSITION_IS_CONTAINED&&(!e.childRule||
+e.childRule(w));)q=w;n.setEndAfter(q)}}else g=true}else g=true;l=l.getNextSourceNode(t||r&&!h)}if(g&&n&&!n.collapsed){for(var g=u(this,c),r=g.hasAttributes(),t=n.getCommonAncestor(),q={},s={},v={},D={},B,z,F;g&&t;){if(t.getName()==d){for(B in e.attributes)if(!D[B]&&(F=t.getAttribute(z)))g.getAttribute(B)==F?s[B]=1:D[B]=1;for(z in e.styles)if(!v[z]&&(F=t.getStyle(z)))g.getStyle(z)==F?q[z]=1:v[z]=1}t=t.getParent()}for(B in s)g.removeAttribute(B);for(z in q)g.removeStyle(z);r&&!g.hasAttributes()&&(g=
+null);if(g){n.extractContents().appendTo(g);p.call(this,g);n.insertNode(g);g.mergeSiblings();CKEDITOR.env.ie||g.$.normalize()}else{g=new CKEDITOR.dom.element("span");n.extractContents().appendTo(g);n.insertNode(g);p.call(this,g);g.remove(true)}n=null}}b.moveToBookmark(j);b.shrink(CKEDITOR.SHRINK_TEXT)}}function b(a){a.enlarge(CKEDITOR.ENLARGE_INLINE,1);var b=a.createBookmark(),c=b.startNode;if(a.collapsed){for(var d=new CKEDITOR.dom.elementPath(c.getParent(),a.root),e,f=0,h;f<d.elements.length&&(h=
+d.elements[f]);f++){if(h==d.block||h==d.blockLimit)break;if(this.checkElementRemovable(h)){var i;if(a.collapsed&&(a.checkBoundaryOfElement(h,CKEDITOR.END)||(i=a.checkBoundaryOfElement(h,CKEDITOR.START)))){e=h;e.match=i?"start":"end"}else{h.mergeSiblings();h.getName()==this.element?r.call(this,h):g(h,t(this)[h.getName()])}}}if(e){h=c;for(f=0;;f++){i=d.elements[f];if(i.equals(e))break;else if(i.match)continue;else i=i.clone();i.append(h);h=i}h[e.match=="start"?"insertBefore":"insertAfter"](e)}}else{var j=
+b.endNode,k=this,d=function(){for(var a=new CKEDITOR.dom.elementPath(c.getParent()),b=new CKEDITOR.dom.elementPath(j.getParent()),e=null,d=null,f=0;f<a.elements.length;f++){var g=a.elements[f];if(g==a.block||g==a.blockLimit)break;k.checkElementRemovable(g)&&(e=g)}for(f=0;f<b.elements.length;f++){g=b.elements[f];if(g==b.block||g==b.blockLimit)break;k.checkElementRemovable(g)&&(d=g)}d&&j.breakParent(d);e&&c.breakParent(e)};d();for(e=c;!e.equals(j);){f=e.getNextSourceNode();if(e.type==CKEDITOR.NODE_ELEMENT&&
+this.checkElementRemovable(e)){e.getName()==this.element?r.call(this,e):g(e,t(this)[e.getName()]);if(f.type==CKEDITOR.NODE_ELEMENT&&f.contains(c)){d();f=c.getNext()}}e=f}}a.moveToBookmark(b)}function f(a){var b=a.getEnclosedNode()||a.getCommonAncestor(false,true);(a=(new CKEDITOR.dom.elementPath(b,a.root)).contains(this.element,1))&&!a.isReadOnly()&&w(a,this)}function e(a){var b=a.getCommonAncestor(true,true);if(a=(new CKEDITOR.dom.elementPath(b,a.root)).contains(this.element,1)){var b=this._.definition,
+c=b.attributes;if(c)for(var e in c)a.removeAttribute(e,c[e]);if(b.styles)for(var d in b.styles)b.styles.hasOwnProperty(d)&&a.removeStyle(d)}}function d(a){var b=a.createBookmark(true),c=a.createIterator();c.enforceRealBlocks=true;if(this._.enterMode)c.enlargeBr=this._.enterMode!=CKEDITOR.ENTER_BR;for(var e,d=a.document;e=c.getNextParagraph();)if(!e.isReadOnly()){var f=u(this,d,e);l(e,f)}a.moveToBookmark(b)}function j(a){var b=a.createBookmark(1),c=a.createIterator();c.enforceRealBlocks=true;c.enlargeBr=
+this._.enterMode!=CKEDITOR.ENTER_BR;for(var e;e=c.getNextParagraph();)if(this.checkElementRemovable(e))if(e.is("pre")){var d=this._.enterMode==CKEDITOR.ENTER_BR?null:a.document.createElement(this._.enterMode==CKEDITOR.ENTER_P?"p":"div");d&&e.copyAttributes(d);l(e,d)}else r.call(this,e);a.moveToBookmark(b)}function l(a,b){var c=!b;if(c){b=a.getDocument().createElement("div");a.copyAttributes(b)}var e=b&&b.is("pre"),d=a.is("pre"),f=!e&&d;if(e&&!d){d=b;(f=a.getBogus())&&f.remove();f=a.getHtml();f=m(f,
+/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,"");f=f.replace(/[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi,"$1");f=f.replace(/([ \t\n\r]+|&nbsp;)/g," ");f=f.replace(/<br\b[^>]*>/gi,"\n");if(CKEDITOR.env.ie){var g=a.getDocument().createElement("div");g.append(d);d.$.outerHTML="<pre>"+f+"</pre>";d.copyAttributes(g.getFirst());d=g.getFirst().remove()}else d.setHtml(f);b=d}else f?b=n(c?[a.getHtml()]:i(a),b):a.moveChildren(b);b.replace(a);if(e){var c=b,j;if((j=c.getPrevious(v))&&j.is&&j.is("pre")){e=m(j.getHtml(),/\n$/,"")+
+"\n\n"+m(c.getHtml(),/^\n/,"");CKEDITOR.env.ie?c.$.outerHTML="<pre>"+e+"</pre>":c.setHtml(e);j.remove()}}else c&&h(b)}function i(a){a.getName();var b=[];m(a.getOuterHtml(),/(\S\s*)\n(?:\s|(<span[^>]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,function(a,b,c){return b+"</pre>"+c+"<pre>"}).replace(/<pre\b.*?>([\s\S]*?)<\/pre>/gi,function(a,c){b.push(c)});return b}function m(a,b,c){var e="",d="",a=a.replace(/(^<span[^>]+data-cke-bookmark.*?\/span>)|(<span[^>]+data-cke-bookmark.*?\/span>$)/gi,function(a,
+b,c){b&&(e=b);c&&(d=c);return""});return e+a.replace(b,c)+d}function n(a,b){var c;a.length>1&&(c=new CKEDITOR.dom.documentFragment(b.getDocument()));for(var e=0;e<a.length;e++){var d=a[e],d=d.replace(/(\r\n|\r)/g,"\n"),d=m(d,/^[ \t]*\n/,""),d=m(d,/\n$/,""),d=m(d,/^[ \t]+|[ \t]+$/g,function(a,b){return a.length==1?"&nbsp;":b?" "+CKEDITOR.tools.repeat("&nbsp;",a.length-1):CKEDITOR.tools.repeat("&nbsp;",a.length-1)+" "}),d=d.replace(/\n/g,"<br>"),d=d.replace(/[ \t]{2,}/g,function(a){return CKEDITOR.tools.repeat("&nbsp;",
+a.length-1)+" "});if(c){var f=b.clone();f.setHtml(d);c.append(f)}else b.setHtml(d)}return c||b}function r(a){var b=this._.definition,c=b.attributes,b=b.styles,d=t(this)[a.getName()],e=CKEDITOR.tools.isEmpty(c)&&CKEDITOR.tools.isEmpty(b),f;for(f in c)if(!((f=="class"||this._.definition.fullMatch)&&a.getAttribute(f)!=F(f,c[f]))){e=a.hasAttribute(f);a.removeAttribute(f)}for(var i in b)if(!(this._.definition.fullMatch&&a.getStyle(i)!=F(i,b[i],true))){e=e||!!a.getStyle(i);a.removeStyle(i)}g(a,d,B[a.getName()]);
+e&&(this._.definition.alwaysRemoveElement?h(a,1):!CKEDITOR.dtd.$block[a.getName()]||this._.enterMode==CKEDITOR.ENTER_BR&&!a.hasAttributes()?h(a):a.renameNode(this._.enterMode==CKEDITOR.ENTER_P?"p":"div"))}function p(a){for(var b=t(this),c=a.getElementsByTag(this.element),d=c.count();--d>=0;)r.call(this,c.getItem(d));for(var e in b)if(e!=this.element){c=a.getElementsByTag(e);for(d=c.count()-1;d>=0;d--){var f=c.getItem(d);g(f,b[e])}}}function g(a,b,c){if(b=b&&b.attributes)for(var d=0;d<b.length;d++){var e=
+b[d][0],f;if(f=a.getAttribute(e)){var g=b[d][1];(g===null||g.test&&g.test(f)||typeof g=="string"&&f==g)&&a.removeAttribute(e)}}c||h(a)}function h(a,b){if(!a.hasAttributes()||b)if(CKEDITOR.dtd.$block[a.getName()]){var c=a.getPrevious(v),d=a.getNext(v);c&&(c.type==CKEDITOR.NODE_TEXT||!c.isBlockBoundary({br:1}))&&a.append("br",1);d&&(d.type==CKEDITOR.NODE_TEXT||!d.isBlockBoundary({br:1}))&&a.append("br");a.remove(true)}else{c=a.getFirst();d=a.getLast();a.remove(true);if(c){c.type==CKEDITOR.NODE_ELEMENT&&
+c.mergeSiblings();d&&(!c.equals(d)&&d.type==CKEDITOR.NODE_ELEMENT)&&d.mergeSiblings()}}}function u(a,b,c){var d;d=a.element;d=="*"&&(d="span");d=new CKEDITOR.dom.element(d,b);c&&c.copyAttributes(d);d=w(d,a);b.getCustomData("doc_processing_style")&&d.hasAttribute("id")?d.removeAttribute("id"):b.setCustomData("doc_processing_style",1);return d}function w(a,b){var c=b._.definition,d=c.attributes,c=CKEDITOR.style.getStyleText(c);if(d)for(var e in d)a.setAttribute(e,d[e]);c&&a.setAttribute("style",c);
+return a}function k(a,b){for(var c in a)a[c]=a[c].replace(s,function(a,c){return b[c]})}function t(a){if(a._.overrides)return a._.overrides;var b=a._.overrides={},c=a._.definition.overrides;if(c){CKEDITOR.tools.isArray(c)||(c=[c]);for(var d=0;d<c.length;d++){var e=c[d],f,g;if(typeof e=="string")f=e.toLowerCase();else{f=e.element?e.element.toLowerCase():a.element;g=e.attributes}e=b[f]||(b[f]={});if(g){var e=e.attributes=e.attributes||[],h;for(h in g)e.push([h.toLowerCase(),g[h]])}}}return b}function F(a,
+b,c){var d=new CKEDITOR.dom.element("span");d[c?"setStyle":"setAttribute"](a,b);return d[c?"getStyle":"getAttribute"](a)}function D(a,b){for(var c=a.document,d=a.getRanges(),e=b?this.removeFromRange:this.applyToRange,f,g=d.createIterator();f=g.getNextRange();)e.call(this,f);a.selectRanges(d);c.removeCustomData("doc_processing_style")}var B={address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1,menu:1,command:1,
+keygen:1,output:1,progress:1,details:1,datagrid:1,datalist:1},q={a:1,embed:1,hr:1,img:1,li:1,object:1,ol:1,table:1,td:1,tr:1,th:1,ul:1,dl:1,dt:1,dd:1,form:1,audio:1,video:1},z=/\s*(?:;\s*|$)/,s=/#\((.+?)\)/g,A=CKEDITOR.dom.walker.bookmark(0,1),v=CKEDITOR.dom.walker.whitespaces(1);CKEDITOR.style=function(a,b){var c=a.attributes;if(c&&c.style){a.styles=CKEDITOR.tools.extend({},a.styles,CKEDITOR.tools.parseCssText(c.style));delete c.style}if(b){a=CKEDITOR.tools.clone(a);k(a.attributes,b);k(a.styles,
+b)}c=this.element=a.element?typeof a.element=="string"?a.element.toLowerCase():a.element:"*";this.type=a.type||(B[c]?CKEDITOR.STYLE_BLOCK:q[c]?CKEDITOR.STYLE_OBJECT:CKEDITOR.STYLE_INLINE);if(typeof this.element=="object")this.type=CKEDITOR.STYLE_OBJECT;this._={definition:a}};CKEDITOR.editor.prototype.applyStyle=function(a){D.call(a,this.getSelection())};CKEDITOR.editor.prototype.removeStyle=function(a){D.call(a,this.getSelection(),1)};CKEDITOR.style.prototype={apply:function(a){D.call(this,a.getSelection())},
+remove:function(a){D.call(this,a.getSelection(),1)},applyToRange:function(a){return(this.applyToRange=this.type==CKEDITOR.STYLE_INLINE?c:this.type==CKEDITOR.STYLE_BLOCK?d:this.type==CKEDITOR.STYLE_OBJECT?f:null).call(this,a)},removeFromRange:function(a){return(this.removeFromRange=this.type==CKEDITOR.STYLE_INLINE?b:this.type==CKEDITOR.STYLE_BLOCK?j:this.type==CKEDITOR.STYLE_OBJECT?e:null).call(this,a)},applyToObject:function(a){w(a,this)},checkActive:function(a){switch(this.type){case CKEDITOR.STYLE_BLOCK:return this.checkElementRemovable(a.block||
+a.blockLimit,true);case CKEDITOR.STYLE_OBJECT:case CKEDITOR.STYLE_INLINE:for(var b=a.elements,c=0,d;c<b.length;c++){d=b[c];if(!(this.type==CKEDITOR.STYLE_INLINE&&(d==a.block||d==a.blockLimit))){if(this.type==CKEDITOR.STYLE_OBJECT){var e=d.getName();if(!(typeof this.element=="string"?e==this.element:e in this.element))continue}if(this.checkElementRemovable(d,true))return true}}}return false},checkApplicable:function(a){switch(this.type){case CKEDITOR.STYLE_OBJECT:return a.contains(this.element)}return true},
+checkElementMatch:function(a,b){var c=this._.definition;if(!a||!c.ignoreReadonly&&a.isReadOnly())return false;var d=a.getName();if(typeof this.element=="string"?d==this.element:d in this.element){if(!b&&!a.hasAttributes())return true;if(d=c._AC)c=d;else{var d={},e=0,f=c.attributes;if(f)for(var g in f){e++;d[g]=f[g]}if(g=CKEDITOR.style.getStyleText(c)){d.style||e++;d.style=g}d._length=e;c=c._AC=d}if(c._length){for(var h in c)if(h!="_length"){e=a.getAttribute(h)||"";if(h=="style")a:{d=c[h];typeof d==
+"string"&&(d=CKEDITOR.tools.parseCssText(d));typeof e=="string"&&(e=CKEDITOR.tools.parseCssText(e,true));g=void 0;for(g in d)if(!(g in e&&(e[g]==d[g]||d[g]=="inherit"||e[g]=="inherit"))){d=false;break a}d=true}else d=c[h]==e;if(d){if(!b)return true}else if(b)return false}if(b)return true}else return true}return false},checkElementRemovable:function(a,b){if(this.checkElementMatch(a,b))return true;var c=t(this)[a.getName()];if(c){var d;if(!(c=c.attributes))return true;for(var e=0;e<c.length;e++){d=
+c[e][0];if(d=a.getAttribute(d)){var f=c[e][1];if(f===null||typeof f=="string"&&d==f||f.test(d))return true}}}return false},buildPreview:function(a){var b=this._.definition,c=[],d=b.element;d=="bdo"&&(d="span");var c=["<",d],e=b.attributes;if(e)for(var f in e)c.push(" ",f,'="',e[f],'"');(e=CKEDITOR.style.getStyleText(b))&&c.push(' style="',e,'"');c.push(">",a||b.name,"</",d,">");return c.join("")},getDefinition:function(){return this._.definition}};CKEDITOR.style.getStyleText=function(a){var b=a._ST;
+if(b)return b;var b=a.styles,c=a.attributes&&a.attributes.style||"",d="";c.length&&(c=c.replace(z,";"));for(var e in b){var f=b[e],g=(e+":"+f).replace(z,";");f=="inherit"?d=d+g:c=c+g}c.length&&(c=CKEDITOR.tools.normalizeCssText(c,true));return a._ST=c+d}})();CKEDITOR.styleCommand=function(a,c){this.requiredContent=this.allowedContent=this.style=a;CKEDITOR.tools.extend(this,c,true)};
+CKEDITOR.styleCommand.prototype.exec=function(a){a.focus();this.state==CKEDITOR.TRISTATE_OFF?a.applyStyle(this.style):this.state==CKEDITOR.TRISTATE_ON&&a.removeStyle(this.style)};CKEDITOR.stylesSet=new CKEDITOR.resourceManager("","stylesSet");CKEDITOR.addStylesSet=CKEDITOR.tools.bind(CKEDITOR.stylesSet.add,CKEDITOR.stylesSet);CKEDITOR.loadStylesSet=function(a,c,b){CKEDITOR.stylesSet.addExternal(a,c,"");CKEDITOR.stylesSet.load(a,b)};
+CKEDITOR.editor.prototype.getStylesSet=function(a){if(this._.stylesDefinitions)a(this._.stylesDefinitions);else{var c=this,b=c.config.stylesCombo_stylesSet||c.config.stylesSet;if(b===false)a(null);else if(b instanceof Array){c._.stylesDefinitions=b;a(b)}else{b||(b="default");var b=b.split(":"),f=b[0];CKEDITOR.stylesSet.addExternal(f,b[1]?b.slice(1).join(":"):CKEDITOR.getUrl("styles.js"),"");CKEDITOR.stylesSet.load(f,function(b){c._.stylesDefinitions=b[f];a(c._.stylesDefinitions)})}}};
+CKEDITOR.dom.comment=function(a,c){typeof a=="string"&&(a=(c?c.$:document).createComment(a));CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.comment.prototype=new CKEDITOR.dom.node;CKEDITOR.tools.extend(CKEDITOR.dom.comment.prototype,{type:CKEDITOR.NODE_COMMENT,getOuterHtml:function(){return"<\!--"+this.$.nodeValue+"--\>"}});
+(function(){var a={},c;for(c in CKEDITOR.dtd.$blockLimit)c in CKEDITOR.dtd.$list||(a[c]=1);var b={};for(c in CKEDITOR.dtd.$block)c in CKEDITOR.dtd.$blockLimit||c in CKEDITOR.dtd.$empty||(b[c]=1);CKEDITOR.dom.elementPath=function(c,e){var d=null,j=null,l=[],e=e||c.getDocument().getBody(),i=c;do if(i.type==CKEDITOR.NODE_ELEMENT){l.push(i);if(!this.lastElement){this.lastElement=i;if(i.is(CKEDITOR.dtd.$object))continue}var m=i.getName();if(!j){!d&&b[m]&&(d=i);if(a[m]){var n;if(n=!d){if(m=m=="div"){a:{m=
+i.getChildren();n=0;for(var r=m.count();n<r;n++){var p=m.getItem(n);if(p.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$block[p.getName()]){m=true;break a}}m=false}m=!m&&!i.equals(e)}n=m}n?d=i:j=i}}if(i.equals(e))break}while(i=i.getParent());this.block=d;this.blockLimit=j;this.root=e;this.elements=l}})();
+CKEDITOR.dom.elementPath.prototype={compare:function(a){var c=this.elements,a=a&&a.elements;if(!a||c.length!=a.length)return false;for(var b=0;b<c.length;b++)if(!c[b].equals(a[b]))return false;return true},contains:function(a,c,b){var f;typeof a=="string"&&(f=function(b){return b.getName()==a});a instanceof CKEDITOR.dom.element?f=function(b){return b.equals(a)}:CKEDITOR.tools.isArray(a)?f=function(b){return CKEDITOR.tools.indexOf(a,b.getName())>-1}:typeof a=="function"?f=a:typeof a=="object"&&(f=
+function(b){return b.getName()in a});var e=this.elements,d=e.length;c&&d--;if(b){e=Array.prototype.slice.call(e,0);e.reverse()}for(c=0;c<d;c++)if(f(e[c]))return e[c];return null},isContextFor:function(a){var c;if(a in CKEDITOR.dtd.$block){c=this.contains(CKEDITOR.dtd.$intermediate)||this.root.equals(this.block)&&this.block||this.blockLimit;return!!c.getDtd()[a]}return true},direction:function(){return(this.block||this.blockLimit||this.root).getDirection(1)}};
+CKEDITOR.dom.text=function(a,c){typeof a=="string"&&(a=(c?c.$:document).createTextNode(a));this.$=a};CKEDITOR.dom.text.prototype=new CKEDITOR.dom.node;
+CKEDITOR.tools.extend(CKEDITOR.dom.text.prototype,{type:CKEDITOR.NODE_TEXT,getLength:function(){return this.$.nodeValue.length},getText:function(){return this.$.nodeValue},setText:function(a){this.$.nodeValue=a},split:function(a){var c=this.$.parentNode,b=c.childNodes.length,f=this.getLength(),e=this.getDocument(),d=new CKEDITOR.dom.text(this.$.splitText(a),e);if(c.childNodes.length==b)if(a>=f){d=e.createText("");d.insertAfter(this)}else{a=e.createText("");a.insertAfter(d);a.remove()}return d},substring:function(a,
+c){return typeof c!="number"?this.$.nodeValue.substr(a):this.$.nodeValue.substring(a,c)}});
+(function(){function a(a,c,e){var d=a.serializable,j=c[e?"endContainer":"startContainer"],l=e?"endOffset":"startOffset",i=d?c.document.getById(a.startNode):a.startNode,a=d?c.document.getById(a.endNode):a.endNode;if(j.equals(i.getPrevious())){c.startOffset=c.startOffset-j.getLength()-a.getPrevious().getLength();j=a.getNext()}else if(j.equals(a.getPrevious())){c.startOffset=c.startOffset-j.getLength();j=a.getNext()}j.equals(i.getParent())&&c[l]++;j.equals(a.getParent())&&c[l]++;c[e?"endContainer":"startContainer"]=
+j;return c}CKEDITOR.dom.rangeList=function(a){if(a instanceof CKEDITOR.dom.rangeList)return a;a?a instanceof CKEDITOR.dom.range&&(a=[a]):a=[];return CKEDITOR.tools.extend(a,c)};var c={createIterator:function(){var a=this,c=CKEDITOR.dom.walker.bookmark(),e=[],d;return{getNextRange:function(j){d=d==void 0?0:d+1;var l=a[d];if(l&&a.length>1){if(!d)for(var i=a.length-1;i>=0;i--)e.unshift(a[i].createBookmark(true));if(j)for(var m=0;a[d+m+1];){for(var n=l.document,j=0,i=n.getById(e[m].endNode),n=n.getById(e[m+
+1].startNode);;){i=i.getNextSourceNode(false);if(n.equals(i))j=1;else if(c(i)||i.type==CKEDITOR.NODE_ELEMENT&&i.isBlockBoundary())continue;break}if(!j)break;m++}for(l.moveToBookmark(e.shift());m--;){i=a[++d];i.moveToBookmark(e.shift());l.setEnd(i.endContainer,i.endOffset)}}return l}}},createBookmarks:function(b){for(var c=[],e,d=0;d<this.length;d++){c.push(e=this[d].createBookmark(b,true));for(var j=d+1;j<this.length;j++){this[j]=a(e,this[j]);this[j]=a(e,this[j],true)}}return c},createBookmarks2:function(a){for(var c=
+[],e=0;e<this.length;e++)c.push(this[e].createBookmark2(a));return c},moveToBookmarks:function(a){for(var c=0;c<this.length;c++)this[c].moveToBookmark(a[c])}}})();
+(function(){function a(){return CKEDITOR.getUrl(CKEDITOR.skinName.split(",")[1]||"skins/"+CKEDITOR.skinName.split(",")[0]+"/")}function c(b){var c=CKEDITOR.skin["ua_"+b],d=CKEDITOR.env;if(c)for(var c=c.split(",").sort(function(a,b){return a>b?-1:1}),e=0,f;e<c.length;e++){f=c[e];if(d.ie&&(f.replace(/^ie/,"")==d.version||d.quirks&&f=="iequirks"))f="ie";if(d[f]){b=b+("_"+c[e]);break}}return CKEDITOR.getUrl(a()+b+".css")}function b(a,b){if(!d[a]){CKEDITOR.document.appendStyleSheet(c(a));d[a]=1}b&&b()}
+function f(a){var b=a.getById(j);if(!b){b=a.getHead().append("style");b.setAttribute("id",j);b.setAttribute("type","text/css")}return b}function e(a,b,c){var d,e,f;if(CKEDITOR.env.webkit){b=b.split("}").slice(0,-1);for(e=0;e<b.length;e++)b[e]=b[e].split("{")}for(var i=0;i<a.length;i++)if(CKEDITOR.env.webkit)for(e=0;e<b.length;e++){f=b[e][1];for(d=0;d<c.length;d++)f=f.replace(c[d][0],c[d][1]);a[i].$.sheet.addRule(b[e][0],f)}else{f=b;for(d=0;d<c.length;d++)f=f.replace(c[d][0],c[d][1]);CKEDITOR.env.ie?
+a[i].$.styleSheet.cssText=a[i].$.styleSheet.cssText+f:a[i].$.innerHTML=a[i].$.innerHTML+f}}var d={};CKEDITOR.skin={path:a,loadPart:function(c,d){CKEDITOR.skin.name!=CKEDITOR.skinName.split(",")[0]?CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(a()+"skin.js"),function(){b(c,d)}):b(c,d)},getPath:function(a){return CKEDITOR.getUrl(c(a))},icons:{},addIcon:function(a,b,c){a=a.toLowerCase();this.icons[a]||(this.icons[a]={path:b,offset:c||0})},getIconStyle:function(a,b,c,d){var e;if(a){a=a.toLowerCase();b&&
+(e=this.icons[a+"-rtl"]);e||(e=this.icons[a])}a=c||e&&e.path||"";d=d||e&&e.offset;return a&&"background-image:url("+CKEDITOR.getUrl(a)+");background-position:0 "+d+"px;"}};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{getUiColor:function(){return this.uiColor},setUiColor:function(a){var b=f(CKEDITOR.document);return(this.setUiColor=function(a){var c=CKEDITOR.skin.chameleon,d=[[i,a]];this.uiColor=a;e([b],c(this,"editor"),d);e(l,c(this,"panel"),d)}).call(this,a)}});var j="cke_ui_color",l=[],i=/\$color/g;
+CKEDITOR.on("instanceLoaded",function(a){if(!CKEDITOR.env.ie||!CKEDITOR.env.quirks){var b=a.editor,a=function(a){a=(a.data[0]||a.data).element.getElementsByTag("iframe").getItem(0).getFrameDocument();if(!a.getById("cke_ui_color")){a=f(a);l.push(a);var c=b.getUiColor();c&&e([a],CKEDITOR.skin.chameleon(b,"panel"),[[i,c]])}};b.on("panelShow",a);b.on("menuShow",a);b.config.uiColor&&b.setUiColor(b.config.uiColor)}})})();
+(function(){if(CKEDITOR.env.webkit)CKEDITOR.env.hc=false;else{var a=CKEDITOR.dom.element.createFromHtml('<div style="width:0px;height:0px;position:absolute;left:-10000px;border: 1px solid;border-color: red blue;"></div>',CKEDITOR.document);a.appendTo(CKEDITOR.document.getHead());try{CKEDITOR.env.hc=a.getComputedStyle("border-top-color")==a.getComputedStyle("border-right-color")}catch(c){CKEDITOR.env.hc=false}a.remove()}if(CKEDITOR.env.hc)CKEDITOR.env.cssClass=CKEDITOR.env.cssClass+" cke_hc";CKEDITOR.document.appendStyleText(".cke{visibility:hidden;}");
+CKEDITOR.status="loaded";CKEDITOR.fireOnce("loaded");if(a=CKEDITOR._.pending){delete CKEDITOR._.pending;for(var b=0;b<a.length;b++){CKEDITOR.editor.prototype.constructor.apply(a[b][0],a[b][1]);CKEDITOR.add(a[b][0])}}})();/*
+ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+ For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+CKEDITOR.skin.name="moono";CKEDITOR.skin.ua_editor="ie,iequirks,ie7,ie8,gecko";CKEDITOR.skin.ua_dialog="ie,iequirks,ie7,ie8,opera";
+CKEDITOR.skin.chameleon=function(){var b=function(){return function(b,e){for(var a=b.match(/[^#]./g),c=0;3>c;c++){var f=a,h=c,d;d=parseInt(a[c],16);d=("0"+(0>e?0|d*(1+e):0|d+(255-d)*e).toString(16)).slice(-2);f[h]=d}return"#"+a.join("")}}(),c=function(){var b=new CKEDITOR.template("background:#{to};background-image:-webkit-gradient(linear,lefttop,leftbottom,from({from}),to({to}));background-image:-moz-linear-gradient(top,{from},{to});background-image:-webkit-linear-gradient(top,{from},{to});background-image:-o-linear-gradient(top,{from},{to});background-image:-ms-linear-gradient(top,{from},{to});background-image:linear-gradient(top,{from},{to});filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='{from}',endColorstr='{to}');");return function(c,
+a){return b.output({from:c,to:a})}}(),f={editor:new CKEDITOR.template("{id}.cke_chrome [border-color:{defaultBorder};] {id} .cke_top [ {defaultGradient}border-bottom-color:{defaultBorder};] {id} .cke_bottom [{defaultGradient}border-top-color:{defaultBorder};] {id} .cke_resizer [border-right-color:{ckeResizer}] {id} .cke_dialog_title [{defaultGradient}border-bottom-color:{defaultBorder};] {id} .cke_dialog_footer [{defaultGradient}outline-color:{defaultBorder};border-top-color:{defaultBorder};] {id} .cke_dialog_tab [{lightGradient}border-color:{defaultBorder};] {id} .cke_dialog_tab:hover [{mediumGradient}] {id} .cke_dialog_contents [border-top-color:{defaultBorder};] {id} .cke_dialog_tab_selected, {id} .cke_dialog_tab_selected:hover [background:{dialogTabSelected};border-bottom-color:{dialogTabSelectedBorder};] {id} .cke_dialog_body [background:{dialogBody};border-color:{defaultBorder};] {id} .cke_toolgroup [{lightGradient}border-color:{defaultBorder};] {id} a.cke_button_off:hover, {id} a.cke_button_off:focus, {id} a.cke_button_off:active [{mediumGradient}] {id} .cke_button_on [{ckeButtonOn}] {id} .cke_toolbar_separator [background-color: {ckeToolbarSeparator};] {id} .cke_combo_button [border-color:{defaultBorder};{lightGradient}] {id} a.cke_combo_button:hover, {id} a.cke_combo_button:focus, {id} .cke_combo_on a.cke_combo_button [border-color:{defaultBorder};{mediumGradient}] {id} .cke_path_item [color:{elementsPathColor};] {id} a.cke_path_item:hover, {id} a.cke_path_item:focus, {id} a.cke_path_item:active [background-color:{elementsPathBg};] {id}.cke_panel [border-color:{defaultBorder};] "),
+panel:new CKEDITOR.template(".cke_panel_grouptitle [{lightGradient}border-color:{defaultBorder};] .cke_menubutton_icon [background-color:{menubuttonIcon};] .cke_menubutton:hover .cke_menubutton_icon, .cke_menubutton:focus .cke_menubutton_icon, .cke_menubutton:active .cke_menubutton_icon [background-color:{menubuttonIconHover};] .cke_menuseparator [background-color:{menubuttonIcon};] a:hover.cke_colorbox, a:focus.cke_colorbox, a:active.cke_colorbox [border-color:{defaultBorder};] a:hover.cke_colorauto, a:hover.cke_colormore, a:focus.cke_colorauto, a:focus.cke_colormore, a:active.cke_colorauto, a:active.cke_colormore [background-color:{ckeColorauto};border-color:{defaultBorder};] ")};
+return function(g,e){var a=g.uiColor,a={id:"."+g.id,defaultBorder:b(a,-0.1),defaultGradient:c(b(a,0.9),a),lightGradient:c(b(a,1),b(a,0.7)),mediumGradient:c(b(a,0.8),b(a,0.5)),ckeButtonOn:c(b(a,0.6),b(a,0.7)),ckeResizer:b(a,-0.4),ckeToolbarSeparator:b(a,0.5),ckeColorauto:b(a,0.8),dialogBody:b(a,0.7),dialogTabSelected:c("#FFFFFF","#FFFFFF"),dialogTabSelectedBorder:"#FFF",elementsPathColor:b(a,-0.6),elementsPathBg:a,menubuttonIcon:b(a,0.5),menubuttonIconHover:b(a,0.3)};return f[e].output(a).replace(/\[/g,
+"{").replace(/\]/g,"}")}}();CKEDITOR.plugins.add("dialogui",{onLoad:function(){var h=function(b){this._||(this._={});this._["default"]=this._.initValue=b["default"]||"";this._.required=b.required||!1;for(var a=[this._],d=1;d<arguments.length;d++)a.push(arguments[d]);a.push(!0);CKEDITOR.tools.extend.apply(CKEDITOR.tools,a);return this._},r={build:function(b,a,d){return new CKEDITOR.ui.dialog.textInput(b,a,d)}},l={build:function(b,a,d){return new CKEDITOR.ui.dialog[a.type](b,a,d)}},n={isChanged:function(){return this.getValue()!=
+this.getInitValue()},reset:function(b){this.setValue(this.getInitValue(),b)},setInitValue:function(){this._.initValue=this.getValue()},resetInitValue:function(){this._.initValue=this._["default"]},getInitValue:function(){return this._.initValue}},o=CKEDITOR.tools.extend({},CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,{onChange:function(b,a){this._.domOnChangeRegistered||(b.on("load",function(){this.getInputElement().on("change",function(){b.parts.dialog.isVisible()&&this.fire("change",{value:this.getValue()})},
+this)},this),this._.domOnChangeRegistered=!0);this.on("change",a)}},!0),s=/^on([A-Z]\w+)/,p=function(b){for(var a in b)(s.test(a)||"title"==a||"type"==a)&&delete b[a];return b};CKEDITOR.tools.extend(CKEDITOR.ui.dialog,{labeledElement:function(b,a,d,e){if(!(4>arguments.length)){var c=h.call(this,a);c.labelId=CKEDITOR.tools.getNextId()+"_label";this._.children=[];CKEDITOR.ui.dialog.uiElement.call(this,b,a,d,"div",null,{role:"presentation"},function(){var f=[],d=a.required?" cke_required":"";"horizontal"!=
+a.labelLayout?f.push('<label class="cke_dialog_ui_labeled_label'+d+'" ',' id="'+c.labelId+'"',c.inputId?' for="'+c.inputId+'"':"",(a.labelStyle?' style="'+a.labelStyle+'"':"")+">",a.label,"</label>",'<div class="cke_dialog_ui_labeled_content"'+(a.controlStyle?' style="'+a.controlStyle+'"':"")+' role="presentation">',e.call(this,b,a),"</div>"):(d={type:"hbox",widths:a.widths,padding:0,children:[{type:"html",html:'<label class="cke_dialog_ui_labeled_label'+d+'" id="'+c.labelId+'" for="'+c.inputId+'"'+
+(a.labelStyle?' style="'+a.labelStyle+'"':"")+">"+CKEDITOR.tools.htmlEncode(a.label)+"</span>"},{type:"html",html:'<span class="cke_dialog_ui_labeled_content"'+(a.controlStyle?' style="'+a.controlStyle+'"':"")+">"+e.call(this,b,a)+"</span>"}]},CKEDITOR.dialog._.uiElementBuilders.hbox.build(b,d,f));return f.join("")})}},textInput:function(b,a,d){if(!(3>arguments.length)){h.call(this,a);var e=this._.inputId=CKEDITOR.tools.getNextId()+"_textInput",c={"class":"cke_dialog_ui_input_"+a.type,id:e,type:a.type};
+a.validate&&(this.validate=a.validate);a.maxLength&&(c.maxlength=a.maxLength);a.size&&(c.size=a.size);a.inputStyle&&(c.style=a.inputStyle);var f=this,i=!1;b.on("load",function(){f.getInputElement().on("keydown",function(a){a.data.getKeystroke()==13&&(i=true)});f.getInputElement().on("keyup",function(a){if(a.data.getKeystroke()==13&&i){b.getButton("ok")&&setTimeout(function(){b.getButton("ok").click()},0);i=false}},null,null,1E3)});CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){var b=
+['<div class="cke_dialog_ui_input_',a.type,'" role="presentation"'];a.width&&b.push('style="width:'+a.width+'" ');b.push("><input ");c["aria-labelledby"]=this._.labelId;this._.required&&(c["aria-required"]=this._.required);for(var f in c)b.push(f+'="'+c[f]+'" ');b.push(" /></div>");return b.join("")})}},textarea:function(b,a,d){if(!(3>arguments.length)){h.call(this,a);var e=this,c=this._.inputId=CKEDITOR.tools.getNextId()+"_textarea",f={};a.validate&&(this.validate=a.validate);f.rows=a.rows||5;f.cols=
+a.cols||20;f["class"]="cke_dialog_ui_input_textarea "+(a["class"]||"");"undefined"!=typeof a.inputStyle&&(f.style=a.inputStyle);a.dir&&(f.dir=a.dir);CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){f["aria-labelledby"]=this._.labelId;this._.required&&(f["aria-required"]=this._.required);var a=['<div class="cke_dialog_ui_input_textarea" role="presentation"><textarea id="',c,'" '],b;for(b in f)a.push(b+'="'+CKEDITOR.tools.htmlEncode(f[b])+'" ');a.push(">",CKEDITOR.tools.htmlEncode(e._["default"]),
+"</textarea></div>");return a.join("")})}},checkbox:function(b,a,d){if(!(3>arguments.length)){var e=h.call(this,a,{"default":!!a["default"]});a.validate&&(this.validate=a.validate);CKEDITOR.ui.dialog.uiElement.call(this,b,a,d,"span",null,null,function(){var c=CKEDITOR.tools.extend({},a,{id:a.id?a.id+"_checkbox":CKEDITOR.tools.getNextId()+"_checkbox"},true),f=[],d=CKEDITOR.tools.getNextId()+"_label",g={"class":"cke_dialog_ui_checkbox_input",type:"checkbox","aria-labelledby":d};p(c);if(a["default"])g.checked=
+"checked";if(typeof c.inputStyle!="undefined")c.style=c.inputStyle;e.checkbox=new CKEDITOR.ui.dialog.uiElement(b,c,f,"input",null,g);f.push(' <label id="',d,'" for="',g.id,'"'+(a.labelStyle?' style="'+a.labelStyle+'"':"")+">",CKEDITOR.tools.htmlEncode(a.label),"</label>");return f.join("")})}},radio:function(b,a,d){if(!(3>arguments.length)){h.call(this,a);this._["default"]||(this._["default"]=this._.initValue=a.items[0][1]);a.validate&&(this.validate=a.valdiate);var e=[],c=this;CKEDITOR.ui.dialog.labeledElement.call(this,
+b,a,d,function(){for(var f=[],d=[],g=a.id?a.id+"_radio":CKEDITOR.tools.getNextId()+"_radio",k=0;k<a.items.length;k++){var j=a.items[k],h=j[2]!==void 0?j[2]:j[0],l=j[1]!==void 0?j[1]:j[0],m=CKEDITOR.tools.getNextId()+"_radio_input",n=m+"_label",m=CKEDITOR.tools.extend({},a,{id:m,title:null,type:null},true),h=CKEDITOR.tools.extend({},m,{title:h},true),o={type:"radio","class":"cke_dialog_ui_radio_input",name:g,value:l,"aria-labelledby":n},q=[];if(c._["default"]==l)o.checked="checked";p(m);p(h);if(typeof m.inputStyle!=
+"undefined")m.style=m.inputStyle;e.push(new CKEDITOR.ui.dialog.uiElement(b,m,q,"input",null,o));q.push(" ");new CKEDITOR.ui.dialog.uiElement(b,h,q,"label",null,{id:n,"for":o.id},j[0]);f.push(q.join(""))}new CKEDITOR.ui.dialog.hbox(b,e,f,d);return d.join("")});this._.children=e}},button:function(b,a,d){if(arguments.length){"function"==typeof a&&(a=a(b.getParentEditor()));h.call(this,a,{disabled:a.disabled||!1});CKEDITOR.event.implementOn(this);var e=this;b.on("load",function(){var a=this.getElement();
+(function(){a.on("click",e.click,e);a.on("keydown",function(a){a.data.getKeystroke()in{32:1}&&(e.click(),a.data.preventDefault())})})();a.unselectable()},this);var c=CKEDITOR.tools.extend({},a);delete c.style;var f=CKEDITOR.tools.getNextId()+"_label";CKEDITOR.ui.dialog.uiElement.call(this,b,c,d,"a",null,{style:a.style,href:"javascript:void(0)",title:a.label,hidefocus:"true","class":a["class"],role:"button","aria-labelledby":f},'<span id="'+f+'" class="cke_dialog_ui_button">'+CKEDITOR.tools.htmlEncode(a.label)+
+"</span>")}},select:function(b,a,d){if(!(3>arguments.length)){var e=h.call(this,a);a.validate&&(this.validate=a.validate);e.inputId=CKEDITOR.tools.getNextId()+"_select";CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){var c=CKEDITOR.tools.extend({},a,{id:a.id?a.id+"_select":CKEDITOR.tools.getNextId()+"_select"},true),d=[],i=[],g={id:e.inputId,"class":"cke_dialog_ui_input_select","aria-labelledby":this._.labelId};d.push('<div class="cke_dialog_ui_input_',a.type,'" role="presentation"');
+a.width&&d.push('style="width:'+a.width+'" ');d.push(">");if(a.size!=void 0)g.size=a.size;if(a.multiple!=void 0)g.multiple=a.multiple;p(c);for(var k=0,j;k<a.items.length&&(j=a.items[k]);k++)i.push('<option value="',CKEDITOR.tools.htmlEncode(j[1]!==void 0?j[1]:j[0]).replace(/"/g,"&quot;"),'" /> ',CKEDITOR.tools.htmlEncode(j[0]));if(typeof c.inputStyle!="undefined")c.style=c.inputStyle;e.select=new CKEDITOR.ui.dialog.uiElement(b,c,d,"select",null,g,i.join(""));d.push("</div>");return d.join("")})}},
+file:function(b,a,d){if(!(3>arguments.length)){void 0===a["default"]&&(a["default"]="");var e=CKEDITOR.tools.extend(h.call(this,a),{definition:a,buttons:[]});a.validate&&(this.validate=a.validate);b.on("load",function(){CKEDITOR.document.getById(e.frameId).getParent().addClass("cke_dialog_ui_input_file")});CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){e.frameId=CKEDITOR.tools.getNextId()+"_fileInput";var b=CKEDITOR.env.isCustomDomain(),d=['<iframe frameborder="0" allowtransparency="0" class="cke_dialog_ui_input_file" role="presentation" id="',
+e.frameId,'" title="',a.label,'" src="javascript:void('];d.push(b?"(function(){document.open();document.domain='"+document.domain+"';document.close();})()":"0");d.push(')"></iframe>');return d.join("")})}},fileButton:function(b,a,d){if(!(3>arguments.length)){h.call(this,a);var e=this;a.validate&&(this.validate=a.validate);var c=CKEDITOR.tools.extend({},a),f=c.onClick;c.className=(c.className?c.className+" ":"")+"cke_dialog_ui_button";c.onClick=function(c){var d=a["for"];if(!f||f.call(this,c)!==false){b.getContentElement(d[0],
+d[1]).submit();this.disable()}};b.on("load",function(){b.getContentElement(a["for"][0],a["for"][1])._.buttons.push(e)});CKEDITOR.ui.dialog.button.call(this,b,c,d)}},html:function(){var b=/^\s*<[\w:]+\s+([^>]*)?>/,a=/^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/,d=/\/$/;return function(e,c,f){if(!(3>arguments.length)){var i=[],g=c.html;"<"!=g.charAt(0)&&(g="<span>"+g+"</span>");var k=c.focus;if(k){var j=this.focus;this.focus=function(){("function"==typeof k?k:j).call(this);this.fire("focus")};c.isFocusable&&
+(this.isFocusable=this.isFocusable);this.keyboardFocusable=!0}CKEDITOR.ui.dialog.uiElement.call(this,e,c,i,"span",null,null,"");i=i.join("").match(b);g=g.match(a)||["","",""];d.test(g[1])&&(g[1]=g[1].slice(0,-1),g[2]="/"+g[2]);f.push([g[1]," ",i[1]||"",g[2]].join(""))}}}(),fieldset:function(b,a,d,e,c){var f=c.label;this._={children:a};CKEDITOR.ui.dialog.uiElement.call(this,b,c,e,"fieldset",null,null,function(){var a=[];f&&a.push("<legend"+(c.labelStyle?' style="'+c.labelStyle+'"':"")+">"+f+"</legend>");
+for(var b=0;b<d.length;b++)a.push(d[b]);return a.join("")})}},!0);CKEDITOR.ui.dialog.html.prototype=new CKEDITOR.ui.dialog.uiElement;CKEDITOR.ui.dialog.labeledElement.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{setLabel:function(b){var a=CKEDITOR.document.getById(this._.labelId);1>a.getChildCount()?(new CKEDITOR.dom.text(b,CKEDITOR.document)).appendTo(a):a.getChild(0).$.nodeValue=b;return this},getLabel:function(){var b=CKEDITOR.document.getById(this._.labelId);return!b||1>b.getChildCount()?
+"":b.getChild(0).getText()},eventProcessors:o},!0);CKEDITOR.ui.dialog.button.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{click:function(){return!this._.disabled?this.fire("click",{dialog:this._.dialog}):!1},enable:function(){this._.disabled=!1;var b=this.getElement();b&&b.removeClass("cke_disabled")},disable:function(){this._.disabled=!0;this.getElement().addClass("cke_disabled")},isVisible:function(){return this.getElement().getFirst().isVisible()},isEnabled:function(){return!this._.disabled},
+eventProcessors:CKEDITOR.tools.extend({},CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,{onClick:function(b,a){this.on("click",function(){a.apply(this,arguments)})}},!0),accessKeyUp:function(){this.click()},accessKeyDown:function(){this.focus()},keyboardFocusable:!0},!0);CKEDITOR.ui.dialog.textInput.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,{getInputElement:function(){return CKEDITOR.document.getById(this._.inputId)},focus:function(){var b=this.selectParentTab();
+setTimeout(function(){var a=b.getInputElement();a&&a.$.focus()},0)},select:function(){var b=this.selectParentTab();setTimeout(function(){var a=b.getInputElement();a&&(a.$.focus(),a.$.select())},0)},accessKeyUp:function(){this.select()},setValue:function(b){!b&&(b="");return CKEDITOR.ui.dialog.uiElement.prototype.setValue.apply(this,arguments)},keyboardFocusable:!0},n,!0);CKEDITOR.ui.dialog.textarea.prototype=new CKEDITOR.ui.dialog.textInput;CKEDITOR.ui.dialog.select.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,
+{getInputElement:function(){return this._.select.getElement()},add:function(b,a,d){var e=new CKEDITOR.dom.element("option",this.getDialog().getParentEditor().document),c=this.getInputElement().$;e.$.text=b;e.$.value=void 0===a||null===a?b:a;void 0===d||null===d?CKEDITOR.env.ie?c.add(e.$):c.add(e.$,null):c.add(e.$,d);return this},remove:function(b){this.getInputElement().$.remove(b);return this},clear:function(){for(var b=this.getInputElement().$;0<b.length;)b.remove(0);return this},keyboardFocusable:!0},
+n,!0);CKEDITOR.ui.dialog.checkbox.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{getInputElement:function(){return this._.checkbox.getElement()},setValue:function(b,a){this.getInputElement().$.checked=b;!a&&this.fire("change",{value:b})},getValue:function(){return this.getInputElement().$.checked},accessKeyUp:function(){this.setValue(!this.getValue())},eventProcessors:{onChange:function(b,a){if(!CKEDITOR.env.ie||8<CKEDITOR.env.version)return o.onChange.apply(this,arguments);b.on("load",
+function(){var a=this._.checkbox.getElement();a.on("propertychange",function(b){b=b.data.$;"checked"==b.propertyName&&this.fire("change",{value:a.$.checked})},this)},this);this.on("change",a);return null}},keyboardFocusable:!0},n,!0);CKEDITOR.ui.dialog.radio.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{setValue:function(b,a){for(var d=this._.children,e,c=0;c<d.length&&(e=d[c]);c++)e.getElement().$.checked=e.getValue()==b;!a&&this.fire("change",{value:b})},getValue:function(){for(var b=
+this._.children,a=0;a<b.length;a++)if(b[a].getElement().$.checked)return b[a].getValue();return null},accessKeyUp:function(){var b=this._.children,a;for(a=0;a<b.length;a++)if(b[a].getElement().$.checked){b[a].getElement().focus();return}b[0].getElement().focus()},eventProcessors:{onChange:function(b,a){if(CKEDITOR.env.ie)b.on("load",function(){for(var a=this._.children,b=this,c=0;c<a.length;c++)a[c].getElement().on("propertychange",function(a){a=a.data.$;"checked"==a.propertyName&&this.$.checked&&
+b.fire("change",{value:this.getAttribute("value")})})},this),this.on("change",a);else return o.onChange.apply(this,arguments);return null}},keyboardFocusable:!0},n,!0);CKEDITOR.ui.dialog.file.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,n,{getInputElement:function(){var b=CKEDITOR.document.getById(this._.frameId).getFrameDocument();return 0<b.$.forms.length?new CKEDITOR.dom.element(b.$.forms[0].elements[0]):this.getElement()},submit:function(){this.getInputElement().getParent().$.submit();
+return this},getAction:function(){return this.getInputElement().getParent().$.action},registerEvents:function(b){var a=/^on([A-Z]\w+)/,d,e=function(a,b,c,d){a.on("formLoaded",function(){a.getInputElement().on(c,d,a)})},c;for(c in b)if(d=c.match(a))this.eventProcessors[c]?this.eventProcessors[c].call(this,this._.dialog,b[c]):e(this,this._.dialog,d[1].toLowerCase(),b[c]);return this},reset:function(){function b(){d.$.open();CKEDITOR.env.isCustomDomain()&&(d.$.domain=document.domain);var b="";e.size&&
+(b=e.size-(CKEDITOR.env.ie?7:0));var h=a.frameId+"_input";d.$.write(['<html dir="'+g+'" lang="'+k+'"><head><title></title></head><body style="margin: 0; overflow: hidden; background: transparent;">','<form enctype="multipart/form-data" method="POST" dir="'+g+'" lang="'+k+'" action="',CKEDITOR.tools.htmlEncode(e.action),'"><label id="',a.labelId,'" for="',h,'" style="display:none">',CKEDITOR.tools.htmlEncode(e.label),'</label><input id="',h,'" aria-labelledby="',a.labelId,'" type="file" name="',CKEDITOR.tools.htmlEncode(e.id||
+"cke_upload"),'" size="',CKEDITOR.tools.htmlEncode(0<b?b:""),'" /></form></body></html>',"<script>window.parent.CKEDITOR.tools.callFunction("+f+");","window.onbeforeunload = function() {window.parent.CKEDITOR.tools.callFunction("+i+")}<\/script>"].join(""));d.$.close();for(b=0;b<c.length;b++)c[b].enable()}var a=this._,d=CKEDITOR.document.getById(a.frameId).getFrameDocument(),e=a.definition,c=a.buttons,f=this.formLoadedNumber,i=this.formUnloadNumber,g=a.dialog._.editor.lang.dir,k=a.dialog._.editor.langCode;
+f||(f=this.formLoadedNumber=CKEDITOR.tools.addFunction(function(){this.fire("formLoaded")},this),i=this.formUnloadNumber=CKEDITOR.tools.addFunction(function(){this.getInputElement().clearCustomData()},this),this.getDialog()._.editor.on("destroy",function(){CKEDITOR.tools.removeFunction(f);CKEDITOR.tools.removeFunction(i)}));CKEDITOR.env.gecko?setTimeout(b,500):b()},getValue:function(){return this.getInputElement().$.value||""},setInitValue:function(){this._.initValue=""},eventProcessors:{onChange:function(b,
+a){this._.domOnChangeRegistered||(this.on("formLoaded",function(){this.getInputElement().on("change",function(){this.fire("change",{value:this.getValue()})},this)},this),this._.domOnChangeRegistered=!0);this.on("change",a)}},keyboardFocusable:!0},!0);CKEDITOR.ui.dialog.fileButton.prototype=new CKEDITOR.ui.dialog.button;CKEDITOR.ui.dialog.fieldset.prototype=CKEDITOR.tools.clone(CKEDITOR.ui.dialog.hbox.prototype);CKEDITOR.dialog.addUIElement("text",r);CKEDITOR.dialog.addUIElement("password",r);CKEDITOR.dialog.addUIElement("textarea",
+l);CKEDITOR.dialog.addUIElement("checkbox",l);CKEDITOR.dialog.addUIElement("radio",l);CKEDITOR.dialog.addUIElement("button",l);CKEDITOR.dialog.addUIElement("select",l);CKEDITOR.dialog.addUIElement("file",l);CKEDITOR.dialog.addUIElement("fileButton",l);CKEDITOR.dialog.addUIElement("html",l);CKEDITOR.dialog.addUIElement("fieldset",{build:function(b,a,d){for(var e=a.children,c,f=[],i=[],g=0;g<e.length&&(c=e[g]);g++){var h=[];f.push(h);i.push(CKEDITOR.dialog._.uiElementBuilders[c.type].build(b,c,h))}return new CKEDITOR.ui.dialog[a.type](b,
+i,f,d,a)}})}});CKEDITOR.DIALOG_RESIZE_NONE=0;CKEDITOR.DIALOG_RESIZE_WIDTH=1;CKEDITOR.DIALOG_RESIZE_HEIGHT=2;CKEDITOR.DIALOG_RESIZE_BOTH=3;
+(function(){function p(){for(var a=this._.tabIdList.length,b=CKEDITOR.tools.indexOf(this._.tabIdList,this._.currentTabId)+a,c=b-1;c>b-a;c--)if(this._.tabs[this._.tabIdList[c%a]][0].$.offsetHeight)return this._.tabIdList[c%a];return null}function u(){for(var a=this._.tabIdList.length,b=CKEDITOR.tools.indexOf(this._.tabIdList,this._.currentTabId),c=b+1;c<b+a;c++)if(this._.tabs[this._.tabIdList[c%a]][0].$.offsetHeight)return this._.tabIdList[c%a];return null}function q(a,b){for(var c=a.$.getElementsByTagName("input"),
+e=0,d=c.length;e<d;e++){var g=new CKEDITOR.dom.element(c[e]);"text"==g.getAttribute("type").toLowerCase()&&(b?(g.setAttribute("value",g.getCustomData("fake_value")||""),g.removeCustomData("fake_value")):(g.setCustomData("fake_value",g.getAttribute("value")),g.setAttribute("value","")))}}function P(a,b){var c=this.getInputElement();c&&(a?c.removeAttribute("aria-invalid"):c.setAttribute("aria-invalid",!0));a||(this.select?this.select():this.focus());b&&alert(b);this.fire("validated",{valid:a,msg:b})}
+function Q(){var a=this.getInputElement();a&&a.removeAttribute("aria-invalid")}function R(a){var a=CKEDITOR.dom.element.createFromHtml(CKEDITOR.addTemplate("dialog",S).output({id:CKEDITOR.tools.getNextNumber(),editorId:a.id,langDir:a.lang.dir,langCode:a.langCode,editorDialogClass:"cke_editor_"+a.name.replace(/\./g,"\\.")+"_dialog",closeTitle:a.lang.common.close})),b=a.getChild([0,0,0,0,0]),c=b.getChild(0),e=b.getChild(1);if(CKEDITOR.env.ie&&!CKEDITOR.env.ie6Compat){var d=CKEDITOR.env.isCustomDomain(),
+d="javascript:void(function(){"+encodeURIComponent("document.open();"+(d?'document.domain="'+document.domain+'";':"")+"document.close();")+"}())";CKEDITOR.dom.element.createFromHtml('<iframe frameBorder="0" class="cke_iframe_shim" src="'+d+'" tabIndex="-1"></iframe>').appendTo(b.getParent())}c.unselectable();e.unselectable();return{element:a,parts:{dialog:a.getChild(0),title:c,close:e,tabs:b.getChild(2),contents:b.getChild([3,0,0,0]),footer:b.getChild([3,0,1,0])}}}function H(a,b,c){this.element=b;
+this.focusIndex=c;this.tabIndex=0;this.isFocusable=function(){return!b.getAttribute("disabled")&&b.isVisible()};this.focus=function(){a._.currentFocusIndex=this.focusIndex;this.element.focus()};b.on("keydown",function(a){a.data.getKeystroke()in{32:1,13:1}&&this.fire("click")});b.on("focus",function(){this.fire("mouseover")});b.on("blur",function(){this.fire("mouseout")})}function T(a){function b(){a.layout()}var c=CKEDITOR.document.getWindow();c.on("resize",b);a.on("hide",function(){c.removeListener("resize",
+b)})}function I(a,b){this._={dialog:a};CKEDITOR.tools.extend(this,b)}function U(a){function b(b){var c=a.getSize(),h=CKEDITOR.document.getWindow().getViewPaneSize(),o=b.data.$.screenX,i=b.data.$.screenY,n=o-e.x,l=i-e.y;e={x:o,y:i};d.x+=n;d.y+=l;a.move(d.x+k[3]<f?-k[3]:d.x-k[1]>h.width-c.width-f?h.width-c.width+("rtl"==g.lang.dir?0:k[1]):d.x,d.y+k[0]<f?-k[0]:d.y-k[2]>h.height-c.height-f?h.height-c.height+k[2]:d.y,1);b.data.preventDefault()}function c(){CKEDITOR.document.removeListener("mousemove",
+b);CKEDITOR.document.removeListener("mouseup",c);if(CKEDITOR.env.ie6Compat){var a=r.getChild(0).getFrameDocument();a.removeListener("mousemove",b);a.removeListener("mouseup",c)}}var e=null,d=null;a.getElement().getFirst();var g=a.getParentEditor(),f=g.config.dialog_magnetDistance,k=CKEDITOR.skin.margins||[0,0,0,0];"undefined"==typeof f&&(f=20);a.parts.title.on("mousedown",function(f){e={x:f.data.$.screenX,y:f.data.$.screenY};CKEDITOR.document.on("mousemove",b);CKEDITOR.document.on("mouseup",c);d=
+a.getPosition();if(CKEDITOR.env.ie6Compat){var g=r.getChild(0).getFrameDocument();g.on("mousemove",b);g.on("mouseup",c)}f.data.preventDefault()},a)}function V(a){var b,c;function e(d){var e="rtl"==k.lang.dir,i=o.width,D=o.height,E=i+(d.data.$.screenX-b)*(e?-1:1)*(a._.moved?1:2),n=D+(d.data.$.screenY-c)*(a._.moved?1:2),x=a._.element.getFirst(),x=e&&x.getComputedStyle("right"),y=a.getPosition();y.y+n>h.height&&(n=h.height-y.y);if((e?x:y.x)+E>h.width)E=h.width-(e?x:y.x);if(f==CKEDITOR.DIALOG_RESIZE_WIDTH||
+f==CKEDITOR.DIALOG_RESIZE_BOTH)i=Math.max(g.minWidth||0,E-m);if(f==CKEDITOR.DIALOG_RESIZE_HEIGHT||f==CKEDITOR.DIALOG_RESIZE_BOTH)D=Math.max(g.minHeight||0,n-j);a.resize(i,D);a._.moved||a.layout();d.data.preventDefault()}function d(){CKEDITOR.document.removeListener("mouseup",d);CKEDITOR.document.removeListener("mousemove",e);i&&(i.remove(),i=null);if(CKEDITOR.env.ie6Compat){var a=r.getChild(0).getFrameDocument();a.removeListener("mouseup",d);a.removeListener("mousemove",e)}}var g=a.definition,f=g.resizable;
+if(f!=CKEDITOR.DIALOG_RESIZE_NONE){var k=a.getParentEditor(),m,j,h,o,i,n=CKEDITOR.tools.addFunction(function(f){o=a.getSize();var g=a.parts.contents;g.$.getElementsByTagName("iframe").length&&(i=CKEDITOR.dom.element.createFromHtml('<div class="cke_dialog_resize_cover" style="height: 100%; position: absolute; width: 100%;"></div>'),g.append(i));j=o.height-a.parts.contents.getSize("height",!(CKEDITOR.env.gecko||CKEDITOR.env.opera||CKEDITOR.env.ie&&CKEDITOR.env.quirks));m=o.width-a.parts.contents.getSize("width",
+1);b=f.screenX;c=f.screenY;h=CKEDITOR.document.getWindow().getViewPaneSize();CKEDITOR.document.on("mousemove",e);CKEDITOR.document.on("mouseup",d);CKEDITOR.env.ie6Compat&&(g=r.getChild(0).getFrameDocument(),g.on("mousemove",e),g.on("mouseup",d));f.preventDefault&&f.preventDefault()});a.on("load",function(){var b="";f==CKEDITOR.DIALOG_RESIZE_WIDTH?b=" cke_resizer_horizontal":f==CKEDITOR.DIALOG_RESIZE_HEIGHT&&(b=" cke_resizer_vertical");b=CKEDITOR.dom.element.createFromHtml('<div class="cke_resizer'+
+b+" cke_resizer_"+k.lang.dir+'" title="'+CKEDITOR.tools.htmlEncode(k.lang.common.resize)+'" onmousedown="CKEDITOR.tools.callFunction('+n+', event )">'+("ltr"==k.lang.dir?"◢":"◣")+"</div>");a.parts.footer.append(b,1)});k.on("destroy",function(){CKEDITOR.tools.removeFunction(n)})}}function F(a){a.data.preventDefault(1)}function J(a){var b=CKEDITOR.document.getWindow(),c=a.config,e=c.dialog_backgroundCoverColor||"white",d=c.dialog_backgroundCoverOpacity,g=c.baseFloatZIndex,c=CKEDITOR.tools.genKey(e,
+d,g),f=w[c];if(f)f.show();else{g=['<div tabIndex="-1" style="position: ',CKEDITOR.env.ie6Compat?"absolute":"fixed","; z-index: ",g,"; top: 0px; left: 0px; ",!CKEDITOR.env.ie6Compat?"background-color: "+e:"",'" class="cke_dialog_background_cover">'];if(CKEDITOR.env.ie6Compat){var k=CKEDITOR.env.isCustomDomain(),e="<html><body style=\\'background-color:"+e+";\\'></body></html>";g.push('<iframe hidefocus="true" frameborder="0" id="cke_dialog_background_iframe" src="javascript:');g.push("void((function(){document.open();"+
+(k?"document.domain='"+document.domain+"';":"")+"document.write( '"+e+"' );document.close();})())");g.push('" style="position:absolute;left:0;top:0;width:100%;height: 100%;filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0)"></iframe>')}g.push("</div>");f=CKEDITOR.dom.element.createFromHtml(g.join(""));f.setOpacity(void 0!=d?d:0.5);f.on("keydown",F);f.on("keypress",F);f.on("keyup",F);f.appendTo(CKEDITOR.document.getBody());w[c]=f}a.focusManager.add(f);r=f;var a=function(){var a=b.getViewPaneSize();
+f.setStyles({width:a.width+"px",height:a.height+"px"})},m=function(){var a=b.getScrollPosition(),c=CKEDITOR.dialog._.currentTop;f.setStyles({left:a.x+"px",top:a.y+"px"});if(c){do a=c.getPosition(),c.move(a.x,a.y);while(c=c._.parentDialog)}};G=a;b.on("resize",a);a();(!CKEDITOR.env.mac||!CKEDITOR.env.webkit)&&f.focus();if(CKEDITOR.env.ie6Compat){var j=function(){m();arguments.callee.prevScrollHandler.apply(this,arguments)};b.$.setTimeout(function(){j.prevScrollHandler=window.onscroll||function(){};
+window.onscroll=j},0);m()}}function K(a){r&&(a.focusManager.remove(r),a=CKEDITOR.document.getWindow(),r.hide(),a.removeListener("resize",G),CKEDITOR.env.ie6Compat&&a.$.setTimeout(function(){window.onscroll=window.onscroll&&window.onscroll.prevScrollHandler||null},0),G=null)}var s=CKEDITOR.tools.cssLength,S='<div class="cke cke_reset_all {editorId} {editorDialogClass}" dir="{langDir}" lang="{langCode}" role="application"><table class="cke_dialog '+CKEDITOR.env.cssClass+' cke_{langDir}" aria-labelledby="cke_dialog_title_{id}" style="position:absolute" role="dialog"><tr><td role="presentation"><div class="cke_dialog_body" role="presentation"><div id="cke_dialog_title_{id}" class="cke_dialog_title" role="presentation"></div><a id="cke_dialog_close_button_{id}" class="cke_dialog_close_button" href="javascript:void(0)" title="{closeTitle}" role="button"><span class="cke_label">X</span></a><div id="cke_dialog_tabs_{id}" class="cke_dialog_tabs" role="tablist"></div><table class="cke_dialog_contents" role="presentation"><tr><td id="cke_dialog_contents_{id}" class="cke_dialog_contents_body" role="presentation"></td></tr><tr><td id="cke_dialog_footer_{id}" class="cke_dialog_footer" role="presentation"></td></tr></table></div></td></tr></table></div>';
+CKEDITOR.dialog=function(a,b){function c(){var a=l._.focusList;a.sort(function(a,b){return a.tabIndex!=b.tabIndex?b.tabIndex-a.tabIndex:a.focusIndex-b.focusIndex});for(var b=a.length,c=0;c<b;c++)a[c].focusIndex=c}function e(a){var b=l._.focusList,a=a||0;if(!(1>b.length)){var c=l._.currentFocusIndex;try{b[c].getInputElement().$.blur()}catch(f){}for(var d=c=(c+a+b.length)%b.length;a&&!b[d].isFocusable()&&!(d=(d+a+b.length)%b.length,d==c););b[d].focus();"text"==b[d].type&&b[d].select()}}function d(b){if(l==
+CKEDITOR.dialog._.currentTop){var c=b.data.getKeystroke(),d="rtl"==a.lang.dir;o=i=0;if(9==c||c==CKEDITOR.SHIFT+9)c=c==CKEDITOR.SHIFT+9,l._.tabBarMode?(c=c?p.call(l):u.call(l),l.selectPage(c),l._.tabs[c][0].focus()):e(c?-1:1),o=1;else if(c==CKEDITOR.ALT+121&&!l._.tabBarMode&&1<l.getPageCount())l._.tabBarMode=!0,l._.tabs[l._.currentTabId][0].focus(),o=1;else if((37==c||39==c)&&l._.tabBarMode)c=c==(d?39:37)?p.call(l):u.call(l),l.selectPage(c),l._.tabs[c][0].focus(),o=1;else if((13==c||32==c)&&l._.tabBarMode)this.selectPage(this._.currentTabId),
+this._.tabBarMode=!1,this._.currentFocusIndex=-1,e(1),o=1;else if(13==c){c=b.data.getTarget();if(!c.is("a","button","select","textarea")&&(!c.is("input")||"button"!=c.$.type))(c=this.getButton("ok"))&&CKEDITOR.tools.setTimeout(c.click,0,c),o=1;i=1}else if(27==c)(c=this.getButton("cancel"))?CKEDITOR.tools.setTimeout(c.click,0,c):!1!==this.fire("cancel",{hide:!0}).hide&&this.hide(),i=1;else return;g(b)}}function g(a){o?a.data.preventDefault(1):i&&a.data.stopPropagation()}var f=CKEDITOR.dialog._.dialogDefinitions[b],
+k=CKEDITOR.tools.clone(W),m=a.config.dialog_buttonsOrder||"OS",j=a.lang.dir,h={},o,i;("OS"==m&&CKEDITOR.env.mac||"rtl"==m&&"ltr"==j||"ltr"==m&&"rtl"==j)&&k.buttons.reverse();f=CKEDITOR.tools.extend(f(a),k);f=CKEDITOR.tools.clone(f);f=new L(this,f);k=R(a);this._={editor:a,element:k.element,name:b,contentSize:{width:0,height:0},size:{width:0,height:0},contents:{},buttons:{},accessKeyMap:{},tabs:{},tabIdList:[],currentTabId:null,currentTabIndex:null,pageCount:0,lastTab:null,tabBarMode:!1,focusList:[],
+currentFocusIndex:0,hasFocus:!1};this.parts=k.parts;CKEDITOR.tools.setTimeout(function(){a.fire("ariaWidget",this.parts.contents)},0,this);k={position:CKEDITOR.env.ie6Compat?"absolute":"fixed",top:0,visibility:"hidden"};k["rtl"==j?"right":"left"]=0;this.parts.dialog.setStyles(k);CKEDITOR.event.call(this);this.definition=f=CKEDITOR.fire("dialogDefinition",{name:b,definition:f},a).definition;if(!("removeDialogTabs"in a._)&&a.config.removeDialogTabs){k=a.config.removeDialogTabs.split(";");for(j=0;j<
+k.length;j++)if(m=k[j].split(":"),2==m.length){var n=m[0];h[n]||(h[n]=[]);h[n].push(m[1])}a._.removeDialogTabs=h}if(a._.removeDialogTabs&&(h=a._.removeDialogTabs[b]))for(j=0;j<h.length;j++)f.removeContents(h[j]);if(f.onLoad)this.on("load",f.onLoad);if(f.onShow)this.on("show",f.onShow);if(f.onHide)this.on("hide",f.onHide);if(f.onOk)this.on("ok",function(b){a.fire("saveSnapshot");setTimeout(function(){a.fire("saveSnapshot")},0);!1===f.onOk.call(this,b)&&(b.data.hide=!1)});if(f.onCancel)this.on("cancel",
+function(a){!1===f.onCancel.call(this,a)&&(a.data.hide=!1)});var l=this,C=function(a){var b=l._.contents,c=!1,d;for(d in b)for(var f in b[d])if(c=a.call(this,b[d][f]))return};this.on("ok",function(a){C(function(b){if(b.validate){var c=b.validate(this),d="string"==typeof c||!1===c;d&&(a.data.hide=!1,a.stop());P.call(b,!d,"string"==typeof c?c:void 0);return d}})},this,null,0);this.on("cancel",function(b){C(function(c){if(c.isChanged())return confirm(a.lang.common.confirmCancel)||(b.data.hide=!1),!0})},
+this,null,0);this.parts.close.on("click",function(a){!1!==this.fire("cancel",{hide:!0}).hide&&this.hide();a.data.preventDefault()},this);this.changeFocus=e;var v=this._.element;a.focusManager.add(v,1);this.on("show",function(){v.on("keydown",d,this);if(CKEDITOR.env.opera||CKEDITOR.env.gecko)v.on("keypress",g,this)});this.on("hide",function(){v.removeListener("keydown",d);(CKEDITOR.env.opera||CKEDITOR.env.gecko)&&v.removeListener("keypress",g);C(function(a){Q.apply(a)})});this.on("iframeAdded",function(a){(new CKEDITOR.dom.document(a.data.iframe.$.contentWindow.document)).on("keydown",
+d,this,null,0)});this.on("show",function(){c();if(a.config.dialog_startupFocusTab&&1<l._.pageCount)l._.tabBarMode=!0,l._.tabs[l._.currentTabId][0].focus();else if(!this._.hasFocus)if(this._.currentFocusIndex=-1,f.onFocus){var b=f.onFocus.call(this);b&&b.focus()}else e(1)},this,null,4294967295);if(CKEDITOR.env.ie6Compat)this.on("load",function(){var a=this.getElement(),b=a.getFirst();b.remove();b.appendTo(a)},this);U(this);V(this);(new CKEDITOR.dom.text(f.title,CKEDITOR.document)).appendTo(this.parts.title);
+for(j=0;j<f.contents.length;j++)(h=f.contents[j])&&this.addPage(h);this.parts.tabs.on("click",function(a){var b=a.data.getTarget();b.hasClass("cke_dialog_tab")&&(b=b.$.id,this.selectPage(b.substring(4,b.lastIndexOf("_"))),this._.tabBarMode&&(this._.tabBarMode=!1,this._.currentFocusIndex=-1,e(1)),a.data.preventDefault())},this);j=[];h=CKEDITOR.dialog._.uiElementBuilders.hbox.build(this,{type:"hbox",className:"cke_dialog_footer_buttons",widths:[],children:f.buttons},j).getChild();this.parts.footer.setHtml(j.join(""));
+for(j=0;j<h.length;j++)this._.buttons[h[j].id]=h[j]};CKEDITOR.dialog.prototype={destroy:function(){this.hide();this._.element.remove()},resize:function(){return function(a,b){if(!this._.contentSize||!(this._.contentSize.width==a&&this._.contentSize.height==b))CKEDITOR.dialog.fire("resize",{dialog:this,width:a,height:b},this._.editor),this.fire("resize",{width:a,height:b},this._.editor),this.parts.contents.setStyles({width:a+"px",height:b+"px"}),"rtl"==this._.editor.lang.dir&&this._.position&&(this._.position.x=
+CKEDITOR.document.getWindow().getViewPaneSize().width-this._.contentSize.width-parseInt(this._.element.getFirst().getStyle("right"),10)),this._.contentSize={width:a,height:b}}}(),getSize:function(){var a=this._.element.getFirst();return{width:a.$.offsetWidth||0,height:a.$.offsetHeight||0}},move:function(a,b,c){var e=this._.element.getFirst(),d="rtl"==this._.editor.lang.dir,g="fixed"==e.getComputedStyle("position");CKEDITOR.env.ie&&e.setStyle("zoom","100%");if(!g||!this._.position||!(this._.position.x==
+a&&this._.position.y==b))this._.position={x:a,y:b},g||(g=CKEDITOR.document.getWindow().getScrollPosition(),a+=g.x,b+=g.y),d&&(g=this.getSize(),a=CKEDITOR.document.getWindow().getViewPaneSize().width-g.width-a),b={top:(0<b?b:0)+"px"},b[d?"right":"left"]=(0<a?a:0)+"px",e.setStyles(b),c&&(this._.moved=1)},getPosition:function(){return CKEDITOR.tools.extend({},this._.position)},show:function(){var a=this._.element,b=this.definition;!a.getParent()||!a.getParent().equals(CKEDITOR.document.getBody())?a.appendTo(CKEDITOR.document.getBody()):
+a.setStyle("display","block");if(CKEDITOR.env.gecko&&10900>CKEDITOR.env.version){var c=this.parts.dialog;c.setStyle("position","absolute");setTimeout(function(){c.setStyle("position","fixed")},0)}this.resize(this._.contentSize&&this._.contentSize.width||b.width||b.minWidth,this._.contentSize&&this._.contentSize.height||b.height||b.minHeight);this.reset();this.selectPage(this.definition.contents[0].id);null===CKEDITOR.dialog._.currentZIndex&&(CKEDITOR.dialog._.currentZIndex=this._.editor.config.baseFloatZIndex);
+this._.element.getFirst().setStyle("z-index",CKEDITOR.dialog._.currentZIndex+=10);null===CKEDITOR.dialog._.currentTop?(CKEDITOR.dialog._.currentTop=this,this._.parentDialog=null,J(this._.editor)):(this._.parentDialog=CKEDITOR.dialog._.currentTop,this._.parentDialog.getElement().getFirst().$.style.zIndex-=Math.floor(this._.editor.config.baseFloatZIndex/2),CKEDITOR.dialog._.currentTop=this);a.on("keydown",M);a.on(CKEDITOR.env.opera?"keypress":"keyup",N);this._.hasFocus=!1;CKEDITOR.tools.setTimeout(function(){this.layout();
+T(this);this.parts.dialog.setStyle("visibility","");this.fireOnce("load",{});CKEDITOR.ui.fire("ready",this);this.fire("show",{});this._.editor.fire("dialogShow",this);this._.parentDialog||this._.editor.focusManager.lock();this.foreach(function(a){a.setInitValue&&a.setInitValue()})},100,this)},layout:function(){var a=this.parts.dialog,b=this.getSize(),c=CKEDITOR.document.getWindow().getViewPaneSize(),e=(c.width-b.width)/2,d=(c.height-b.height)/2;CKEDITOR.env.ie6Compat||(b.height+(0<d?d:0)>c.height||
+b.width+(0<e?e:0)>c.width?a.setStyle("position","absolute"):a.setStyle("position","fixed"));this.move(this._.moved?this._.position.x:e,this._.moved?this._.position.y:d)},foreach:function(a){for(var b in this._.contents)for(var c in this._.contents[b])a.call(this,this._.contents[b][c]);return this},reset:function(){var a=function(a){a.reset&&a.reset(1)};return function(){this.foreach(a);return this}}(),setupContent:function(){var a=arguments;this.foreach(function(b){b.setup&&b.setup.apply(b,a)})},
+commitContent:function(){var a=arguments;this.foreach(function(b){CKEDITOR.env.ie&&this._.currentFocusIndex==b.focusIndex&&b.getInputElement().$.blur();b.commit&&b.commit.apply(b,a)})},hide:function(){if(this.parts.dialog.isVisible()){this.fire("hide",{});this._.editor.fire("dialogHide",this);this.selectPage(this._.tabIdList[0]);var a=this._.element;a.setStyle("display","none");this.parts.dialog.setStyle("visibility","hidden");for(X(this);CKEDITOR.dialog._.currentTop!=this;)CKEDITOR.dialog._.currentTop.hide();
+if(this._.parentDialog){var b=this._.parentDialog.getElement().getFirst();b.setStyle("z-index",parseInt(b.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2))}else K(this._.editor);if(CKEDITOR.dialog._.currentTop=this._.parentDialog)CKEDITOR.dialog._.currentZIndex-=10;else{CKEDITOR.dialog._.currentZIndex=null;a.removeListener("keydown",M);a.removeListener(CKEDITOR.env.opera?"keypress":"keyup",N);var c=this._.editor;c.focus();setTimeout(function(){c.focusManager.unlock()},0)}delete this._.parentDialog;
+this.foreach(function(a){a.resetInitValue&&a.resetInitValue()})}},addPage:function(a){if(!a.requiredContent||this._.editor.filter.check(a.requiredContent)){for(var b=[],c=a.label?' title="'+CKEDITOR.tools.htmlEncode(a.label)+'"':"",e=CKEDITOR.dialog._.uiElementBuilders.vbox.build(this,{type:"vbox",className:"cke_dialog_page_contents",children:a.elements,expand:!!a.expand,padding:a.padding,style:a.style||"width: 100%;"},b),d=this._.contents[a.id]={},g=e.getChild(),f=0;e=g.shift();)!e.notAllowed&&("hbox"!=
+e.type&&"vbox"!=e.type)&&f++,d[e.id]=e,"function"==typeof e.getChild&&g.push.apply(g,e.getChild());f||(a.hidden=!0);b=CKEDITOR.dom.element.createFromHtml(b.join(""));b.setAttribute("role","tabpanel");e=CKEDITOR.env;d="cke_"+a.id+"_"+CKEDITOR.tools.getNextNumber();c=CKEDITOR.dom.element.createFromHtml(['<a class="cke_dialog_tab"',0<this._.pageCount?" cke_last":"cke_first",c,a.hidden?' style="display:none"':"",' id="',d,'"',e.gecko&&10900<=e.version&&!e.hc?"":' href="javascript:void(0)"',' tabIndex="-1" hidefocus="true" role="tab">',
+a.label,"</a>"].join(""));b.setAttribute("aria-labelledby",d);this._.tabs[a.id]=[c,b];this._.tabIdList.push(a.id);!a.hidden&&this._.pageCount++;this._.lastTab=c;this.updateStyle();b.setAttribute("name",a.id);b.appendTo(this.parts.contents);c.unselectable();this.parts.tabs.append(c);a.accessKey&&(O(this,this,"CTRL+"+a.accessKey,Y,Z),this._.accessKeyMap["CTRL+"+a.accessKey]=a.id)}},selectPage:function(a){if(this._.currentTabId!=a&&!0!==this.fire("selectPage",{page:a,currentPage:this._.currentTabId})){for(var b in this._.tabs){var c=
+this._.tabs[b][0],e=this._.tabs[b][1];b!=a&&(c.removeClass("cke_dialog_tab_selected"),e.hide());e.setAttribute("aria-hidden",b!=a)}var d=this._.tabs[a];d[0].addClass("cke_dialog_tab_selected");CKEDITOR.env.ie6Compat||CKEDITOR.env.ie7Compat?(q(d[1]),d[1].show(),setTimeout(function(){q(d[1],1)},0)):d[1].show();this._.currentTabId=a;this._.currentTabIndex=CKEDITOR.tools.indexOf(this._.tabIdList,a)}},updateStyle:function(){this.parts.dialog[(1===this._.pageCount?"add":"remove")+"Class"]("cke_single_page")},
+hidePage:function(a){var b=this._.tabs[a]&&this._.tabs[a][0];b&&(1!=this._.pageCount&&b.isVisible())&&(a==this._.currentTabId&&this.selectPage(p.call(this)),b.hide(),this._.pageCount--,this.updateStyle())},showPage:function(a){if(a=this._.tabs[a]&&this._.tabs[a][0])a.show(),this._.pageCount++,this.updateStyle()},getElement:function(){return this._.element},getName:function(){return this._.name},getContentElement:function(a,b){var c=this._.contents[a];return c&&c[b]},getValueOf:function(a,b){return this.getContentElement(a,
+b).getValue()},setValueOf:function(a,b,c){return this.getContentElement(a,b).setValue(c)},getButton:function(a){return this._.buttons[a]},click:function(a){return this._.buttons[a].click()},disableButton:function(a){return this._.buttons[a].disable()},enableButton:function(a){return this._.buttons[a].enable()},getPageCount:function(){return this._.pageCount},getParentEditor:function(){return this._.editor},getSelectedElement:function(){return this.getParentEditor().getSelection().getSelectedElement()},
+addFocusable:function(a,b){if("undefined"==typeof b)b=this._.focusList.length,this._.focusList.push(new H(this,a,b));else{this._.focusList.splice(b,0,new H(this,a,b));for(var c=b+1;c<this._.focusList.length;c++)this._.focusList[c].focusIndex++}}};CKEDITOR.tools.extend(CKEDITOR.dialog,{add:function(a,b){if(!this._.dialogDefinitions[a]||"function"==typeof b)this._.dialogDefinitions[a]=b},exists:function(a){return!!this._.dialogDefinitions[a]},getCurrent:function(){return CKEDITOR.dialog._.currentTop},
+isTabEnabled:function(a,b,c){a=a.config.removeDialogTabs;return!(a&&a.match(RegExp("(?:^|;)"+b+":"+c+"(?:$|;)","i")))},okButton:function(){var a=function(a,c){c=c||{};return CKEDITOR.tools.extend({id:"ok",type:"button",label:a.lang.common.ok,"class":"cke_dialog_ui_button_ok",onClick:function(a){a=a.data.dialog;!1!==a.fire("ok",{hide:!0}).hide&&a.hide()}},c,!0)};a.type="button";a.override=function(b){return CKEDITOR.tools.extend(function(c){return a(c,b)},{type:"button"},!0)};return a}(),cancelButton:function(){var a=
+function(a,c){c=c||{};return CKEDITOR.tools.extend({id:"cancel",type:"button",label:a.lang.common.cancel,"class":"cke_dialog_ui_button_cancel",onClick:function(a){a=a.data.dialog;!1!==a.fire("cancel",{hide:!0}).hide&&a.hide()}},c,!0)};a.type="button";a.override=function(b){return CKEDITOR.tools.extend(function(c){return a(c,b)},{type:"button"},!0)};return a}(),addUIElement:function(a,b){this._.uiElementBuilders[a]=b}});CKEDITOR.dialog._={uiElementBuilders:{},dialogDefinitions:{},currentTop:null,currentZIndex:null};
+CKEDITOR.event.implementOn(CKEDITOR.dialog);CKEDITOR.event.implementOn(CKEDITOR.dialog.prototype);var W={resizable:CKEDITOR.DIALOG_RESIZE_BOTH,minWidth:600,minHeight:400,buttons:[CKEDITOR.dialog.okButton,CKEDITOR.dialog.cancelButton]},z=function(a,b,c){for(var e=0,d;d=a[e];e++)if(d.id==b||c&&d[c]&&(d=z(d[c],b,c)))return d;return null},A=function(a,b,c,e,d){if(c){for(var g=0,f;f=a[g];g++){if(f.id==c)return a.splice(g,0,b),b;if(e&&f[e]&&(f=A(f[e],b,c,e,!0)))return f}if(d)return null}a.push(b);return b},
+B=function(a,b,c){for(var e=0,d;d=a[e];e++){if(d.id==b)return a.splice(e,1);if(c&&d[c]&&(d=B(d[c],b,c)))return d}return null},L=function(a,b){this.dialog=a;for(var c=b.contents,e=0,d;d=c[e];e++)c[e]=d&&new I(a,d);CKEDITOR.tools.extend(this,b)};L.prototype={getContents:function(a){return z(this.contents,a)},getButton:function(a){return z(this.buttons,a)},addContents:function(a,b){return A(this.contents,a,b)},addButton:function(a,b){return A(this.buttons,a,b)},removeContents:function(a){B(this.contents,
+a)},removeButton:function(a){B(this.buttons,a)}};I.prototype={get:function(a){return z(this.elements,a,"children")},add:function(a,b){return A(this.elements,a,b,"children")},remove:function(a){B(this.elements,a,"children")}};var G,w={},r,t={},M=function(a){var b=a.data.$.ctrlKey||a.data.$.metaKey,c=a.data.$.altKey,e=a.data.$.shiftKey,d=String.fromCharCode(a.data.$.keyCode);if((b=t[(b?"CTRL+":"")+(c?"ALT+":"")+(e?"SHIFT+":"")+d])&&b.length)b=b[b.length-1],b.keydown&&b.keydown.call(b.uiElement,b.dialog,
+b.key),a.data.preventDefault()},N=function(a){var b=a.data.$.ctrlKey||a.data.$.metaKey,c=a.data.$.altKey,e=a.data.$.shiftKey,d=String.fromCharCode(a.data.$.keyCode);if((b=t[(b?"CTRL+":"")+(c?"ALT+":"")+(e?"SHIFT+":"")+d])&&b.length)b=b[b.length-1],b.keyup&&(b.keyup.call(b.uiElement,b.dialog,b.key),a.data.preventDefault())},O=function(a,b,c,e,d){(t[c]||(t[c]=[])).push({uiElement:a,dialog:b,key:c,keyup:d||a.accessKeyUp,keydown:e||a.accessKeyDown})},X=function(a){for(var b in t){for(var c=t[b],e=c.length-
+1;0<=e;e--)(c[e].dialog==a||c[e].uiElement==a)&&c.splice(e,1);0===c.length&&delete t[b]}},Z=function(a,b){a._.accessKeyMap[b]&&a.selectPage(a._.accessKeyMap[b])},Y=function(){};(function(){CKEDITOR.ui.dialog={uiElement:function(a,b,c,e,d,g,f){if(!(4>arguments.length)){var k=(e.call?e(b):e)||"div",m=["<",k," "],j=(d&&d.call?d(b):d)||{},h=(g&&g.call?g(b):g)||{},o=(f&&f.call?f.call(this,a,b):f)||"",i=this.domId=h.id||CKEDITOR.tools.getNextId()+"_uiElement";this.id=b.id;b.requiredContent&&!a.getParentEditor().filter.check(b.requiredContent)&&
+(j.display="none",this.notAllowed=!0);h.id=i;var n={};b.type&&(n["cke_dialog_ui_"+b.type]=1);b.className&&(n[b.className]=1);b.disabled&&(n.cke_disabled=1);for(var l=h["class"]&&h["class"].split?h["class"].split(" "):[],i=0;i<l.length;i++)l[i]&&(n[l[i]]=1);l=[];for(i in n)l.push(i);h["class"]=l.join(" ");b.title&&(h.title=b.title);n=(b.style||"").split(";");b.align&&(l=b.align,j["margin-left"]="left"==l?0:"auto",j["margin-right"]="right"==l?0:"auto");for(i in j)n.push(i+":"+j[i]);b.hidden&&n.push("display:none");
+for(i=n.length-1;0<=i;i--)""===n[i]&&n.splice(i,1);0<n.length&&(h.style=(h.style?h.style+"; ":"")+n.join("; "));for(i in h)m.push(i+'="'+CKEDITOR.tools.htmlEncode(h[i])+'" ');m.push(">",o,"</",k,">");c.push(m.join(""));(this._||(this._={})).dialog=a;"boolean"==typeof b.isChanged&&(this.isChanged=function(){return b.isChanged});"function"==typeof b.isChanged&&(this.isChanged=b.isChanged);"function"==typeof b.setValue&&(this.setValue=CKEDITOR.tools.override(this.setValue,function(a){return function(c){a.call(this,
+b.setValue.call(this,c))}}));"function"==typeof b.getValue&&(this.getValue=CKEDITOR.tools.override(this.getValue,function(a){return function(){return b.getValue.call(this,a.call(this))}}));CKEDITOR.event.implementOn(this);this.registerEvents(b);this.accessKeyUp&&(this.accessKeyDown&&b.accessKey)&&O(this,a,"CTRL+"+b.accessKey);var p=this;a.on("load",function(){var b=p.getInputElement();if(b){var c=p.type in{checkbox:1,ratio:1}&&CKEDITOR.env.ie&&CKEDITOR.env.version<8?"cke_dialog_ui_focused":"";b.on("focus",
+function(){a._.tabBarMode=false;a._.hasFocus=true;p.fire("focus");c&&this.addClass(c)});b.on("blur",function(){p.fire("blur");c&&this.removeClass(c)})}});this.keyboardFocusable&&(this.tabIndex=b.tabIndex||0,this.focusIndex=a._.focusList.push(this)-1,this.on("focus",function(){a._.currentFocusIndex=p.focusIndex}));CKEDITOR.tools.extend(this,b)}},hbox:function(a,b,c,e,d){if(!(4>arguments.length)){this._||(this._={});var g=this._.children=b,f=d&&d.widths||null,k=d&&d.height||null,m,j={role:"presentation"};
+d&&d.align&&(j.align=d.align);CKEDITOR.ui.dialog.uiElement.call(this,a,d||{type:"hbox"},e,"table",{},j,function(){var a=['<tbody><tr class="cke_dialog_ui_hbox">'];for(m=0;m<c.length;m++){var b="cke_dialog_ui_hbox_child",e=[];0===m&&(b="cke_dialog_ui_hbox_first");m==c.length-1&&(b="cke_dialog_ui_hbox_last");a.push('<td class="',b,'" role="presentation" ');f?f[m]&&e.push("width:"+s(f[m])):e.push("width:"+Math.floor(100/c.length)+"%");k&&e.push("height:"+s(k));d&&void 0!=d.padding&&e.push("padding:"+
+s(d.padding));CKEDITOR.env.ie&&(CKEDITOR.env.quirks&&g[m].align)&&e.push("text-align:"+g[m].align);0<e.length&&a.push('style="'+e.join("; ")+'" ');a.push(">",c[m],"</td>")}a.push("</tr></tbody>");return a.join("")})}},vbox:function(a,b,c,e,d){if(!(3>arguments.length)){this._||(this._={});var g=this._.children=b,f=d&&d.width||null,k=d&&d.heights||null;CKEDITOR.ui.dialog.uiElement.call(this,a,d||{type:"vbox"},e,"div",null,{role:"presentation"},function(){var b=['<table role="presentation" cellspacing="0" border="0" '];
+b.push('style="');d&&d.expand&&b.push("height:100%;");b.push("width:"+s(f||"100%"),";");CKEDITOR.env.webkit&&b.push("float:none;");b.push('"');b.push('align="',CKEDITOR.tools.htmlEncode(d&&d.align||("ltr"==a.getParentEditor().lang.dir?"left":"right")),'" ');b.push("><tbody>");for(var e=0;e<c.length;e++){var h=[];b.push('<tr><td role="presentation" ');f&&h.push("width:"+s(f||"100%"));k?h.push("height:"+s(k[e])):d&&d.expand&&h.push("height:"+Math.floor(100/c.length)+"%");d&&void 0!=d.padding&&h.push("padding:"+
+s(d.padding));CKEDITOR.env.ie&&(CKEDITOR.env.quirks&&g[e].align)&&h.push("text-align:"+g[e].align);0<h.length&&b.push('style="',h.join("; "),'" ');b.push(' class="cke_dialog_ui_vbox_child">',c[e],"</td></tr>")}b.push("</tbody></table>");return b.join("")})}}}})();CKEDITOR.ui.dialog.uiElement.prototype={getElement:function(){return CKEDITOR.document.getById(this.domId)},getInputElement:function(){return this.getElement()},getDialog:function(){return this._.dialog},setValue:function(a,b){this.getInputElement().setValue(a);
+!b&&this.fire("change",{value:a});return this},getValue:function(){return this.getInputElement().getValue()},isChanged:function(){return!1},selectParentTab:function(){for(var a=this.getInputElement();(a=a.getParent())&&-1==a.$.className.search("cke_dialog_page_contents"););if(!a)return this;a=a.getAttribute("name");this._.dialog._.currentTabId!=a&&this._.dialog.selectPage(a);return this},focus:function(){this.selectParentTab().getInputElement().focus();return this},registerEvents:function(a){var b=
+/^on([A-Z]\w+)/,c,e=function(a,b,c,d){b.on("load",function(){a.getInputElement().on(c,d,a)})},d;for(d in a)if(c=d.match(b))this.eventProcessors[d]?this.eventProcessors[d].call(this,this._.dialog,a[d]):e(this,this._.dialog,c[1].toLowerCase(),a[d]);return this},eventProcessors:{onLoad:function(a,b){a.on("load",b,this)},onShow:function(a,b){a.on("show",b,this)},onHide:function(a,b){a.on("hide",b,this)}},accessKeyDown:function(){this.focus()},accessKeyUp:function(){},disable:function(){var a=this.getElement();
+this.getInputElement().setAttribute("disabled","true");a.addClass("cke_disabled")},enable:function(){var a=this.getElement();this.getInputElement().removeAttribute("disabled");a.removeClass("cke_disabled")},isEnabled:function(){return!this.getElement().hasClass("cke_disabled")},isVisible:function(){return this.getInputElement().isVisible()},isFocusable:function(){return!this.isEnabled()||!this.isVisible()?!1:!0}};CKEDITOR.ui.dialog.hbox.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,
+{getChild:function(a){if(1>arguments.length)return this._.children.concat();a.splice||(a=[a]);return 2>a.length?this._.children[a[0]]:this._.children[a[0]]&&this._.children[a[0]].getChild?this._.children[a[0]].getChild(a.slice(1,a.length)):null}},!0);CKEDITOR.ui.dialog.vbox.prototype=new CKEDITOR.ui.dialog.hbox;(function(){var a={build:function(a,c,e){for(var d=c.children,g,f=[],k=[],m=0;m<d.length&&(g=d[m]);m++){var j=[];f.push(j);k.push(CKEDITOR.dialog._.uiElementBuilders[g.type].build(a,g,j))}return new CKEDITOR.ui.dialog[c.type](a,
+k,f,e,c)}};CKEDITOR.dialog.addUIElement("hbox",a);CKEDITOR.dialog.addUIElement("vbox",a)})();CKEDITOR.dialogCommand=function(a,b){this.dialogName=a;CKEDITOR.tools.extend(this,b,!0)};CKEDITOR.dialogCommand.prototype={exec:function(a){CKEDITOR.env.opera?CKEDITOR.tools.setTimeout(function(){a.openDialog(this.dialogName)},0,this):a.openDialog(this.dialogName)},canUndo:!1,editorFocus:1};(function(){var a=/^([a]|[^a])+$/,b=/^\d*$/,c=/^\d*(?:\.\d+)?$/,e=/^(((\d*(\.\d+))|(\d*))(px|\%)?)?$/,d=/^(((\d*(\.\d+))|(\d*))(px|em|ex|in|cm|mm|pt|pc|\%)?)?$/i,
+g=/^(\s*[\w-]+\s*:\s*[^:;]+(?:;|$))*$/;CKEDITOR.VALIDATE_OR=1;CKEDITOR.VALIDATE_AND=2;CKEDITOR.dialog.validate={functions:function(){var a=arguments;return function(){var b=this&&this.getValue?this.getValue():a[0],c=void 0,d=CKEDITOR.VALIDATE_AND,e=[],g;for(g=0;g<a.length;g++)if("function"==typeof a[g])e.push(a[g]);else break;g<a.length&&"string"==typeof a[g]&&(c=a[g],g++);g<a.length&&"number"==typeof a[g]&&(d=a[g]);var i=d==CKEDITOR.VALIDATE_AND?!0:!1;for(g=0;g<e.length;g++)i=d==CKEDITOR.VALIDATE_AND?
+i&&e[g](b):i||e[g](b);return!i?c:!0}},regex:function(a,b){return function(c){c=this&&this.getValue?this.getValue():c;return!a.test(c)?b:!0}},notEmpty:function(b){return this.regex(a,b)},integer:function(a){return this.regex(b,a)},number:function(a){return this.regex(c,a)},cssLength:function(a){return this.functions(function(a){return d.test(CKEDITOR.tools.trim(a))},a)},htmlLength:function(a){return this.functions(function(a){return e.test(CKEDITOR.tools.trim(a))},a)},inlineStyle:function(a){return this.functions(function(a){return g.test(CKEDITOR.tools.trim(a))},
+a)},equals:function(a,b){return this.functions(function(b){return b==a},b)},notEqual:function(a,b){return this.functions(function(b){return b!=a},b)}};CKEDITOR.on("instanceDestroyed",function(a){if(CKEDITOR.tools.isEmpty(CKEDITOR.instances)){for(var b;b=CKEDITOR.dialog._.currentTop;)b.hide();for(var c in w)w[c].remove();w={}}var a=a.editor._.storedDialogs,d;for(d in a)a[d].destroy()})})();CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{openDialog:function(a,b){var c=null,e=CKEDITOR.dialog._.dialogDefinitions[a];
+null===CKEDITOR.dialog._.currentTop&&J(this);if("function"==typeof e)c=this._.storedDialogs||(this._.storedDialogs={}),c=c[a]||(c[a]=new CKEDITOR.dialog(this,a)),b&&b.call(c,c),c.show();else{if("failed"==e)throw K(this),Error('[CKEDITOR.dialog.openDialog] Dialog "'+a+'" failed when loading definition.');"string"==typeof e&&CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(e),function(){"function"!=typeof CKEDITOR.dialog._.dialogDefinitions[a]&&(CKEDITOR.dialog._.dialogDefinitions[a]="failed");this.openDialog(a,
+b)},this,0,1)}CKEDITOR.skin.loadPart("dialog");return c}})})();CKEDITOR.plugins.add("dialog",{requires:"dialogui",init:function(p){p.on("contentDom",function(){var u=p.editable();u.attachListener(u,"dblclick",function(q){if(p.readOnly)return!1;q={element:q.data.getTarget()};p.fire("doubleclick",q);q.dialog&&p.openDialog(q.dialog);return 1})})}});CKEDITOR.plugins.add("about",{requires:"dialog",init:function(a){var b=a.addCommand("about",new CKEDITOR.dialogCommand("about"));b.modes={wysiwyg:1,source:1};b.canUndo=!1;b.readOnly=1;a.ui.addButton&&a.ui.addButton("About",{label:a.lang.about.title,command:"about",toolbar:"about"});CKEDITOR.dialog.add("about",this.path+"dialogs/about.js")}});(function(){CKEDITOR.plugins.add("a11yhelp",{requires:"dialog",availableLangs:{en:1,ar:1,bg:1,ca:1,et:1,cs:1,cy:1,da:1,de:1,el:1,eo:1,es:1,fa:1,fi:1,fr:1,"fr-ca":1,gu:1,he:1,hi:1,hr:1,hu:1,it:1,ja:1,km:1,ku:1,lt:1,lv:1,mk:1,mn:1,nb:1,nl:1,no:1,pl:1,pt:1,"pt-br":1,ro:1,ru:1,sk:1,sl:1,sq:1,sv:1,th:1,tr:1,ug:1,uk:1,vi:1,"zh-cn":1},init:function(b){var c=this;b.addCommand("a11yHelp",{exec:function(){var a=b.langCode,a=c.availableLangs[a]?a:c.availableLangs[a.replace(/-.*/,"")]?a.replace(/-.*/,""):"en";
+CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(c.path+"dialogs/lang/"+a+".js"),function(){b.lang.a11yhelp=c.langEntries[a];b.openDialog("a11yHelp")})},modes:{wysiwyg:1,source:1},readOnly:1,canUndo:!1});b.setKeystroke(CKEDITOR.ALT+48,"a11yHelp");CKEDITOR.dialog.add("a11yHelp",this.path+"dialogs/a11yhelp.js")}})})();(function(){function f(c){var a=this.att,c=c&&c.hasAttribute(a)&&c.getAttribute(a)||"";void 0!==c&&this.setValue(c)}function g(){for(var c,a=0;a<arguments.length;a++)if(arguments[a]instanceof CKEDITOR.dom.element){c=arguments[a];break}if(c){var a=this.att,b=this.getValue();b?c.setAttribute(a,b):c.removeAttribute(a,b)}}var i={id:1,dir:1,classes:1,styles:1};CKEDITOR.plugins.add("dialogadvtab",{requires:"dialog",allowedContent:function(c){c||(c=i);var a=[];c.id&&a.push("id");c.dir&&a.push("dir");var b=
+"";a.length&&(b+="["+a.join(",")+"]");c.classes&&(b+="(*)");c.styles&&(b+="{*}");return b},createAdvancedTab:function(c,a,b){a||(a=i);var d=c.lang.common,h={id:"advanced",label:d.advancedTab,title:d.advancedTab,elements:[{type:"vbox",padding:1,children:[]}]},e=[];if(a.id||a.dir)a.id&&e.push({id:"advId",att:"id",type:"text",requiredContent:b?b+"[id]":null,label:d.id,setup:f,commit:g}),a.dir&&e.push({id:"advLangDir",att:"dir",type:"select",requiredContent:b?b+"[dir]":null,label:d.langDir,"default":"",
+style:"width:100%",items:[[d.notSet,""],[d.langDirLTR,"ltr"],[d.langDirRTL,"rtl"]],setup:f,commit:g}),h.elements[0].children.push({type:"hbox",widths:["50%","50%"],children:[].concat(e)});if(a.styles||a.classes)e=[],a.styles&&e.push({id:"advStyles",att:"style",type:"text",requiredContent:b?b+"{cke-xyz}":null,label:d.styles,"default":"",validate:CKEDITOR.dialog.validate.inlineStyle(d.invalidInlineStyle),onChange:function(){},getStyle:function(a,c){var b=this.getValue().match(RegExp("(?:^|;)\\s*"+a+
+"\\s*:\\s*([^;]*)","i"));return b?b[1]:c},updateStyle:function(a,b){var d=this.getValue(),e=c.document.createElement("span");e.setAttribute("style",d);e.setStyle(a,b);d=CKEDITOR.tools.normalizeCssText(e.getAttribute("style"));this.setValue(d,1)},setup:f,commit:g}),a.classes&&e.push({type:"hbox",widths:["45%","55%"],children:[{id:"advCSSClasses",att:"class",type:"text",requiredContent:b?b+"(cke-xyz)":null,label:d.cssClasses,"default":"",setup:f,commit:g}]}),h.elements[0].children.push({type:"hbox",
+widths:["50%","50%"],children:[].concat(e)});return h}})})();CKEDITOR.plugins.add("basicstyles",{init:function(c){var e=0,d=function(g,d,b,a){if(a){var a=new CKEDITOR.style(a),f=h[b];f.unshift(a);c.attachStyleStateChange(a,function(a){!c.readOnly&&c.getCommand(b).setState(a)});c.addCommand(b,new CKEDITOR.styleCommand(a,{contentForms:f}));c.ui.addButton&&c.ui.addButton(g,{label:d,command:b,toolbar:"basicstyles,"+(e+=10)})}},h={bold:["strong","b",["span",function(a){a=a.styles["font-weight"];return"bold"==a||700<=+a}]],italic:["em","i",["span",function(a){return"italic"==
+a.styles["font-style"]}]],underline:["u",["span",function(a){return"underline"==a.styles["text-decoration"]}]],strike:["s","strike",["span",function(a){return"line-through"==a.styles["text-decoration"]}]],subscript:["sub"],superscript:["sup"]},b=c.config,a=c.lang.basicstyles;d("Bold",a.bold,"bold",b.coreStyles_bold);d("Italic",a.italic,"italic",b.coreStyles_italic);d("Underline",a.underline,"underline",b.coreStyles_underline);d("Strike",a.strike,"strike",b.coreStyles_strike);d("Subscript",a.subscript,
+"subscript",b.coreStyles_subscript);d("Superscript",a.superscript,"superscript",b.coreStyles_superscript);c.setKeystroke([[CKEDITOR.CTRL+66,"bold"],[CKEDITOR.CTRL+73,"italic"],[CKEDITOR.CTRL+85,"underline"]])}});CKEDITOR.config.coreStyles_bold={element:"strong",overrides:"b"};CKEDITOR.config.coreStyles_italic={element:"em",overrides:"i"};CKEDITOR.config.coreStyles_underline={element:"u"};CKEDITOR.config.coreStyles_strike={element:"s",overrides:"strike"};CKEDITOR.config.coreStyles_subscript={element:"sub"};
+CKEDITOR.config.coreStyles_superscript={element:"sup"};(function(){function n(a,f,d,b){if(!a.isReadOnly()&&!a.equals(d.editable())){CKEDITOR.dom.element.setMarker(b,a,"bidi_processed",1);for(var b=a,c=d.editable();(b=b.getParent())&&!b.equals(c);)if(b.getCustomData("bidi_processed")){a.removeStyle("direction");a.removeAttribute("dir");return}b="useComputedState"in d.config?d.config.useComputedState:1;if((b?a.getComputedStyle("direction"):a.getStyle("direction")||a.hasAttribute("dir"))!=f)a.removeStyle("direction"),b?(a.removeAttribute("dir"),f!=a.getComputedStyle("direction")&&
+a.setAttribute("dir",f)):a.setAttribute("dir",f),d.forceNextSelectionCheck()}}function r(a,f,d){var b=a.getCommonAncestor(!1,!0),a=a.clone();a.enlarge(d==CKEDITOR.ENTER_BR?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:CKEDITOR.ENLARGE_BLOCK_CONTENTS);if(a.checkBoundaryOfElement(b,CKEDITOR.START)&&a.checkBoundaryOfElement(b,CKEDITOR.END)){for(var c;b&&b.type==CKEDITOR.NODE_ELEMENT&&(c=b.getParent())&&1==c.getChildCount()&&!(b.getName()in f);)b=c;return b.type==CKEDITOR.NODE_ELEMENT&&b.getName()in f&&b}}function m(a){return{context:"p",
+allowedContent:{"h1 h2 h3 h4 h5 h6 table ul ol blockquote div tr p div li td":{propertiesOnly:!0,attributes:"dir"}},requiredContent:"p[dir]",refresh:function(a,d){var b=a.config.useComputedState,c,b=void 0===b||b;if(!b){c=d.lastElement;for(var h=a.editable();c&&!(c.getName()in q||c.equals(h));){var e=c.getParent();if(!e)break;c=e}}c=c||d.block||d.blockLimit;c.equals(a.editable())&&(h=a.getSelection().getRanges()[0].getEnclosedNode())&&h.type==CKEDITOR.NODE_ELEMENT&&(c=h);c&&(b=b?c.getComputedStyle("direction"):
+c.getStyle("direction")||c.getAttribute("dir"),a.getCommand("bidirtl").setState("rtl"==b?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF),a.getCommand("bidiltr").setState("ltr"==b?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF));b=(d.block||d.blockLimit||a.editable()).getDirection(1);if(b!=(a._.selDir||a.lang.dir))a._.selDir=b,a.fire("contentDirChanged",b)},exec:function(f){var d=f.getSelection(),b=f.config.enterMode,c=d.getRanges();if(c&&c.length){for(var h={},e=d.createBookmarks(),c=c.createIterator(),g,
+j=0;g=c.getNextRange(1);){var i=g.getEnclosedNode();if(!i||i&&!(i.type==CKEDITOR.NODE_ELEMENT&&i.getName()in o))i=r(g,p,b);i&&n(i,a,f,h);var k=new CKEDITOR.dom.walker(g),l=e[j].startNode,m=e[j++].endNode;k.evaluator=function(a){return!!(a.type==CKEDITOR.NODE_ELEMENT&&a.getName()in p&&!(a.getName()==(b==CKEDITOR.ENTER_P?"p":"div")&&a.getParent().type==CKEDITOR.NODE_ELEMENT&&"blockquote"==a.getParent().getName())&&a.getPosition(l)&CKEDITOR.POSITION_FOLLOWING&&(a.getPosition(m)&CKEDITOR.POSITION_PRECEDING+
+CKEDITOR.POSITION_CONTAINS)==CKEDITOR.POSITION_PRECEDING)};for(;i=k.next();)n(i,a,f,h);g=g.createIterator();for(g.enlargeBr=b!=CKEDITOR.ENTER_BR;i=g.getNextParagraph(b==CKEDITOR.ENTER_P?"p":"div");)n(i,a,f,h)}CKEDITOR.dom.element.clearAllMarkers(h);f.forceNextSelectionCheck();d.selectBookmarks(e);f.focus()}}}}function s(a){var f=a==j.setAttribute,d=a==j.removeAttribute,b=/\bdirection\s*:\s*(.*?)\s*(:?$|;)/;return function(c,h){if(!this.isReadOnly()){var e;if(e=c==(f||d?"dir":"direction")||"style"==
+c&&(d||b.test(h))){a:{e=this;for(var g=e.getDocument().getBody().getParent();e;){if(e.equals(g)){e=!1;break a}e=e.getParent()}e=!0}e=!e}if(e&&(e=this.getDirection(1),g=a.apply(this,arguments),e!=this.getDirection(1)))return this.getDocument().fire("dirChanged",this),g}return a.apply(this,arguments)}}var p={table:1,ul:1,ol:1,blockquote:1,div:1},o={},q={};CKEDITOR.tools.extend(o,p,{tr:1,p:1,div:1,li:1});CKEDITOR.tools.extend(q,o,{td:1});CKEDITOR.plugins.add("bidi",{init:function(a){function f(b,c,d,
+e,f){a.addCommand(d,new CKEDITOR.command(a,e));a.ui.addButton&&a.ui.addButton(b,{label:c,command:d,toolbar:"bidi,"+f})}if(!a.blockless){var d=a.lang.bidi;a.ui.addToolbarGroup&&a.ui.addToolbarGroup("bidi","align","paragraph");f("BidiLtr",d.ltr,"bidiltr",m("ltr"),10);f("BidiRtl",d.rtl,"bidirtl",m("rtl"),20);a.on("contentDom",function(){a.document.on("dirChanged",function(b){a.fire("dirChanged",{node:b.data,dir:b.data.getDirection(1)})})});a.on("contentDirChanged",function(b){var b=(a.lang.dir!=b.data?
+"add":"remove")+"Class",c=a.ui.space(a.config.toolbarLocation);if(c)c[b]("cke_mixed_dir_content")})}}});for(var j=CKEDITOR.dom.element.prototype,l=["setStyle","removeStyle","setAttribute","removeAttribute"],k=0;k<l.length;k++)j[l[k]]=CKEDITOR.tools.override(j[l[k]],s)})();(function(){var k={exec:function(g){var a=g.getCommand("blockquote").state,i=g.getSelection(),c=i&&i.getRanges(!0)[0];if(c){var h=i.createBookmarks();if(CKEDITOR.env.ie){var e=h[0].startNode,b=h[0].endNode,d;if(e&&"blockquote"==e.getParent().getName())for(d=e;d=d.getNext();)if(d.type==CKEDITOR.NODE_ELEMENT&&d.isBlockBoundary()){e.move(d,!0);break}if(b&&"blockquote"==b.getParent().getName())for(d=b;d=d.getPrevious();)if(d.type==CKEDITOR.NODE_ELEMENT&&d.isBlockBoundary()){b.move(d);break}}var f=c.createIterator();
+f.enlargeBr=g.config.enterMode!=CKEDITOR.ENTER_BR;if(a==CKEDITOR.TRISTATE_OFF){for(e=[];a=f.getNextParagraph();)e.push(a);1>e.length&&(a=g.document.createElement(g.config.enterMode==CKEDITOR.ENTER_P?"p":"div"),b=h.shift(),c.insertNode(a),a.append(new CKEDITOR.dom.text("",g.document)),c.moveToBookmark(b),c.selectNodeContents(a),c.collapse(!0),b=c.createBookmark(),e.push(a),h.unshift(b));d=e[0].getParent();c=[];for(b=0;b<e.length;b++)a=e[b],d=d.getCommonAncestor(a.getParent());for(a={table:1,tbody:1,
+tr:1,ol:1,ul:1};a[d.getName()];)d=d.getParent();for(b=null;0<e.length;){for(a=e.shift();!a.getParent().equals(d);)a=a.getParent();a.equals(b)||c.push(a);b=a}for(;0<c.length;)if(a=c.shift(),"blockquote"==a.getName()){for(b=new CKEDITOR.dom.documentFragment(g.document);a.getFirst();)b.append(a.getFirst().remove()),e.push(b.getLast());b.replace(a)}else e.push(a);c=g.document.createElement("blockquote");for(c.insertBefore(e[0]);0<e.length;)a=e.shift(),c.append(a)}else if(a==CKEDITOR.TRISTATE_ON){b=[];
+for(d={};a=f.getNextParagraph();){for(e=c=null;a.getParent();){if("blockquote"==a.getParent().getName()){c=a.getParent();e=a;break}a=a.getParent()}c&&(e&&!e.getCustomData("blockquote_moveout"))&&(b.push(e),CKEDITOR.dom.element.setMarker(d,e,"blockquote_moveout",!0))}CKEDITOR.dom.element.clearAllMarkers(d);a=[];e=[];for(d={};0<b.length;)f=b.shift(),c=f.getParent(),f.getPrevious()?f.getNext()?(f.breakParent(f.getParent()),e.push(f.getNext())):f.remove().insertAfter(c):f.remove().insertBefore(c),c.getCustomData("blockquote_processed")||
+(e.push(c),CKEDITOR.dom.element.setMarker(d,c,"blockquote_processed",!0)),a.push(f);CKEDITOR.dom.element.clearAllMarkers(d);for(b=e.length-1;0<=b;b--){c=e[b];a:{d=c;for(var f=0,k=d.getChildCount(),j=void 0;f<k&&(j=d.getChild(f));f++)if(j.type==CKEDITOR.NODE_ELEMENT&&j.isBlockBoundary()){d=!1;break a}d=!0}d&&c.remove()}if(g.config.enterMode==CKEDITOR.ENTER_BR)for(c=!0;a.length;)if(f=a.shift(),"div"==f.getName()){b=new CKEDITOR.dom.documentFragment(g.document);c&&(f.getPrevious()&&!(f.getPrevious().type==
+CKEDITOR.NODE_ELEMENT&&f.getPrevious().isBlockBoundary()))&&b.append(g.document.createElement("br"));for(c=f.getNext()&&!(f.getNext().type==CKEDITOR.NODE_ELEMENT&&f.getNext().isBlockBoundary());f.getFirst();)f.getFirst().remove().appendTo(b);c&&b.append(g.document.createElement("br"));b.replace(f);c=!1}}i.selectBookmarks(h);g.focus()}},refresh:function(g,a){this.setState(g.elementPath(a.block||a.blockLimit).contains("blockquote",1)?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF)},context:"blockquote",
+allowedContent:"blockquote",requiredContent:"blockquote"};CKEDITOR.plugins.add("blockquote",{init:function(g){g.blockless||(g.addCommand("blockquote",k),g.ui.addButton&&g.ui.addButton("Blockquote",{label:g.lang.blockquote.toolbar,command:"blockquote",toolbar:"blocks,10"}))}})})();(function(){function w(a){function b(){var d=a.editable();d.on(q,function(a){(!CKEDITOR.env.ie||!m)&&u(a)});CKEDITOR.env.ie&&d.on("paste",function(d){r||(f(),d.data.preventDefault(),u(d),k("paste")||a.openDialog("paste"))});CKEDITOR.env.ie&&(d.on("contextmenu",h,null,null,0),d.on("beforepaste",function(a){a.data&&!a.data.$.ctrlKey&&h()},null,null,0));d.on("beforecut",function(){!m&&l(a)});var v;d.attachListener(CKEDITOR.env.ie?d:a.document.getDocumentElement(),"mouseup",function(){v=setTimeout(function(){s()},
+0)});a.on("destroy",function(){clearTimeout(v)});d.on("keyup",s)}function e(d){return{type:d,canUndo:"cut"==d,startDisabled:!0,exec:function(){"cut"==this.type&&l();var d;var b=this.type;if(CKEDITOR.env.ie)d=k(b);else try{d=a.document.$.execCommand(b,!1,null)}catch(c){d=!1}d||alert(a.lang.clipboard[this.type+"Error"]);return d}}}function c(){return{canUndo:!1,async:!0,exec:function(a,b){var c=function(b,c){b&&g(b.type,b.dataValue,!!c);a.fire("afterCommandExec",{name:"paste",command:e,returnValue:!!b})},
+e=this;"string"==typeof b?c({type:"auto",dataValue:b},1):a.getClipboardData(c)}}}function f(){r=1;setTimeout(function(){r=0},100)}function h(){m=1;setTimeout(function(){m=0},10)}function k(d){var b=a.document,c=b.getBody(),e=!1,l=function(){e=!0};c.on(d,l);(7<CKEDITOR.env.version?b.$:b.$.selection.createRange()).execCommand(d);c.removeListener(d,l);return e}function g(d,b,c){d={type:d};if(c&&!a.fire("beforePaste",d)||!b)return!1;d.dataValue=b;return a.fire("paste",d)}function l(){if(CKEDITOR.env.ie&&
+!CKEDITOR.env.quirks){var d=a.getSelection(),b,c,e;if(d.getType()==CKEDITOR.SELECTION_ELEMENT&&(b=d.getSelectedElement()))c=d.getRanges()[0],e=a.document.createText(""),e.insertBefore(b),c.setStartBefore(e),c.setEndAfter(b),d.selectRanges([c]),setTimeout(function(){b.getParent()&&(e.remove(),d.selectElement(b))},0)}}function j(d,b){var c=a.document,e=a.editable(),l=function(a){a.cancel()},j=CKEDITOR.env.gecko&&10902>=CKEDITOR.env.version;if(!c.getById("cke_pastebin")){var f=a.getSelection(),h=f.createBookmarks(),
+i=new CKEDITOR.dom.element(e.is("body")&&!CKEDITOR.env.ie&&!CKEDITOR.env.opera?"body":"div",c);i.setAttribute("id","cke_pastebin");CKEDITOR.env.opera&&i.appendBogus();var o=0,c=c.getWindow();j?(i.insertAfter(h[0].startNode),i.setStyle("display","inline")):(CKEDITOR.env.webkit?(e.append(i),i.addClass("cke_editable"),o=(e.is("body")?e:CKEDITOR.dom.element.get(i.$.offsetParent)).getDocumentPosition().y):e.getAscendant(CKEDITOR.env.ie||CKEDITOR.env.opera?"body":"html",1).append(i),i.setStyles({position:"absolute",
+top:c.getScrollPosition().y-o+10+"px",width:"1px",height:Math.max(1,c.getViewPaneSize().height-20)+"px",overflow:"hidden",margin:0,padding:0}));(j=i.getParent().isReadOnly())?(i.setOpacity(0),i.setAttribute("contenteditable",!0)):i.setStyle("ltr"==a.config.contentsLangDirection?"left":"right","-1000px");a.on("selectionChange",l,null,null,0);j&&i.focus();j=new CKEDITOR.dom.range(i);j.selectNodeContents(i);var g=j.select();if(CKEDITOR.env.ie)var k=e.once("blur",function(){a.lockSelection(g)});var m=
+CKEDITOR.document.getWindow().getScrollPosition().y;setTimeout(function(){if(CKEDITOR.env.webkit||CKEDITOR.env.opera)CKEDITOR.document[CKEDITOR.env.webkit?"getBody":"getDocumentElement"]().$.scrollTop=m;k&&k.removeListener();CKEDITOR.env.ie&&e.focus();f.selectBookmarks(h);i.remove();var d;if(CKEDITOR.env.webkit&&(d=i.getFirst())&&d.is&&d.hasClass("Apple-style-span"))i=d;a.removeListener("selectionChange",l);b(i.getHtml())},0)}}function o(){if(CKEDITOR.env.ie){a.focus();f();var d=a.focusManager;d.lock();
+if(a.editable().fire(q)&&!k("paste"))return d.unlock(),!1;d.unlock()}else try{if(a.editable().fire(q)&&!a.document.$.execCommand("Paste",!1,null))throw 0;}catch(b){return!1}return!0}function p(d){if("wysiwyg"==a.mode)switch(d.data.keyCode){case CKEDITOR.CTRL+86:case CKEDITOR.SHIFT+45:d=a.editable();f();!CKEDITOR.env.ie&&d.fire("beforepaste");(CKEDITOR.env.opera||CKEDITOR.env.gecko&&10900>CKEDITOR.env.version)&&d.fire("paste");break;case CKEDITOR.CTRL+88:case CKEDITOR.SHIFT+46:a.fire("saveSnapshot"),
+setTimeout(function(){a.fire("saveSnapshot")},0)}}function u(d){var b={type:"auto"},c=a.fire("beforePaste",b);j(d,function(a){a=a.replace(/<span[^>]+data-cke-bookmark[^<]*?<\/span>/ig,"");c&&g(b.type,a,0,1)})}function s(){if("wysiwyg"==a.mode){var b=n("Paste");a.getCommand("cut").setState(n("Cut"));a.getCommand("copy").setState(n("Copy"));a.getCommand("paste").setState(b);a.fire("pasteState",b)}}function n(b){var c;if(t&&b in{Paste:1,Cut:1})return CKEDITOR.TRISTATE_DISABLED;if("Paste"==b){CKEDITOR.env.ie&&
+(m=1);try{c=a.document.$.queryCommandEnabled(b)||CKEDITOR.env.webkit}catch(e){}m=0}else b=a.getSelection(),c=b.getRanges(),c=b.getType()!=CKEDITOR.SELECTION_NONE&&!(1==c.length&&c[0].collapsed);return c?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED}var m=0,r=0,t=0,q=CKEDITOR.env.ie?"beforepaste":"paste";(function(){a.on("key",p);a.on("contentDom",b);a.on("selectionChange",function(a){t=a.data.selection.getRanges()[0].checkReadOnly();s()});a.contextMenu&&a.contextMenu.addListener(function(a,b){t=
+b.getRanges()[0].checkReadOnly();return{cut:n("Cut"),copy:n("Copy"),paste:n("Paste")}})})();(function(){function b(c,d,e,l,j){var f=a.lang.clipboard[d];a.addCommand(d,e);a.ui.addButton&&a.ui.addButton(c,{label:f,command:d,toolbar:"clipboard,"+l});a.addMenuItems&&a.addMenuItem(d,{label:f,command:d,group:"clipboard",order:j})}b("Cut","cut",e("cut"),10,1);b("Copy","copy",e("copy"),20,4);b("Paste","paste",c(),30,8)})();a.getClipboardData=function(b,c){function e(a){a.removeListener();a.cancel();c(a.data)}
+function l(a){a.removeListener();a.cancel();g=!0;c({type:h,dataValue:a.data})}function j(){this.customTitle=b&&b.title}var f=!1,h="auto",g=!1;c||(c=b,b=null);a.on("paste",e,null,null,0);a.on("beforePaste",function(a){a.removeListener();f=true;h=a.data.type},null,null,1E3);!1===o()&&(a.removeListener("paste",e),f&&a.fire("pasteDialog",j)?(a.on("pasteDialogCommit",l),a.on("dialogHide",function(a){a.removeListener();a.data.removeListener("pasteDialogCommit",l);setTimeout(function(){g||c(null)},10)})):
+c(null))}}function x(a){if(CKEDITOR.env.webkit){if(!a.match(/^[^<]*$/g)&&!a.match(/^(<div><br( ?\/)?><\/div>|<div>[^<]*<\/div>)*$/gi))return"html"}else if(CKEDITOR.env.ie){if(!a.match(/^([^<]|<br( ?\/)?>)*$/gi)&&!a.match(/^(<p>([^<]|<br( ?\/)?>)*<\/p>|(\r\n))*$/gi))return"html"}else if(CKEDITOR.env.gecko||CKEDITOR.env.opera){if(!a.match(/^([^<]|<br( ?\/)?>)*$/gi))return"html"}else return"html";return"htmlifiedtext"}function y(a,b){function e(a){return CKEDITOR.tools.repeat("</p><p>",~~(a/2))+(1==
+a%2?"<br>":"")}b=b.replace(/\s+/g," ").replace(/> +</g,"><").replace(/<br ?\/>/gi,"<br>");b=b.replace(/<\/?[A-Z]+>/g,function(a){return a.toLowerCase()});if(b.match(/^[^<]$/))return b;CKEDITOR.env.webkit&&-1<b.indexOf("<div>")&&(b=b.replace(/^(<div>(<br>|)<\/div>)(?!$|(<div>(<br>|)<\/div>))/g,"<br>").replace(/^(<div>(<br>|)<\/div>){2}(?!$)/g,"<div></div>"),b.match(/<div>(<br>|)<\/div>/)&&(b="<p>"+b.replace(/(<div>(<br>|)<\/div>)+/g,function(a){return e(a.split("</div><div>").length+1)})+"</p>"),b=
+b.replace(/<\/div><div>/g,"<br>"),b=b.replace(/<\/?div>/g,""));if((CKEDITOR.env.gecko||CKEDITOR.env.opera)&&a.enterMode!=CKEDITOR.ENTER_BR)CKEDITOR.env.gecko&&(b=b.replace(/^<br><br>$/,"<br>")),-1<b.indexOf("<br><br>")&&(b="<p>"+b.replace(/(<br>){2,}/g,function(a){return e(a.length/4)})+"</p>");return p(a,b)}function z(){var a=new CKEDITOR.htmlParser.filter,b={blockquote:1,dl:1,fieldset:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,ol:1,p:1,table:1,ul:1},e=CKEDITOR.tools.extend({br:0},CKEDITOR.dtd.$inline),c={p:1,
+br:1,"cke:br":1},f=CKEDITOR.dtd,h=CKEDITOR.tools.extend({area:1,basefont:1,embed:1,iframe:1,map:1,object:1,param:1},CKEDITOR.dtd.$nonBodyContent,CKEDITOR.dtd.$cdata),k=function(a){delete a.name;a.add(new CKEDITOR.htmlParser.text(" "))},g=function(a){for(var b=a,c;(b=b.next)&&b.name&&b.name.match(/^h\d$/);){c=new CKEDITOR.htmlParser.element("cke:br");c.isEmpty=!0;for(a.add(c);c=b.children.shift();)a.add(c)}};a.addRules({elements:{h1:g,h2:g,h3:g,h4:g,h5:g,h6:g,img:function(a){var a=CKEDITOR.tools.trim(a.attributes.alt||
+""),b=" ";a&&!a.match(/(^http|\.(jpe?g|gif|png))/i)&&(b=" ["+a+"] ");return new CKEDITOR.htmlParser.text(b)},td:k,th:k,$:function(a){var j=a.name,g;if(h[j])return!1;delete a.attributes;if("br"==j)return a;if(b[j])a.name="p";else if(e[j])delete a.name;else if(f[j]){g=new CKEDITOR.htmlParser.element("cke:br");g.isEmpty=!0;if(CKEDITOR.dtd.$empty[j])return g;a.add(g,0);g=g.clone();g.isEmpty=!0;a.add(g);delete a.name}c[a.name]||delete a.name;return a}}});return a}function A(a,b,e){var b=new CKEDITOR.htmlParser.fragment.fromHtml(b),
+c=new CKEDITOR.htmlParser.basicWriter;b.writeHtml(c,e);var b=c.getHtml(),b=b.replace(/\s*(<\/?[a-z:]+ ?\/?>)\s*/g,"$1").replace(/(<cke:br \/>){2,}/g,"<cke:br />").replace(/(<cke:br \/>)(<\/?p>|<br \/>)/g,"$2").replace(/(<\/?p>|<br \/>)(<cke:br \/>)/g,"$1").replace(/<(cke:)?br( \/)?>/g,"<br>").replace(/<p><\/p>/g,""),f=0,b=b.replace(/<\/?p>/g,function(a){if("<p>"==a){if(1<++f)return"</p><p>"}else if(0<--f)return"</p><p>";return a}).replace(/<p><\/p>/g,"");return p(a,b)}function p(a,b){a.enterMode==
+CKEDITOR.ENTER_BR?b=b.replace(/(<\/p><p>)+/g,function(a){return CKEDITOR.tools.repeat("<br>",2*(a.length/7))}).replace(/<\/?p>/g,""):a.enterMode==CKEDITOR.ENTER_DIV&&(b=b.replace(/<(\/)?p>/g,"<$1div>"));return b}CKEDITOR.plugins.add("clipboard",{requires:"dialog",init:function(a){var b;w(a);CKEDITOR.dialog.add("paste",CKEDITOR.getUrl(this.path+"dialogs/paste.js"));a.on("paste",function(a){var b=a.data.dataValue,f=CKEDITOR.dtd.$block;-1<b.indexOf("Apple-")&&(b=b.replace(/<span class="Apple-converted-space">&nbsp;<\/span>/gi,
+" "),"html"!=a.data.type&&(b=b.replace(/<span class="Apple-tab-span"[^>]*>([^<]*)<\/span>/gi,function(a,b){return b.replace(/\t/g,"&nbsp;&nbsp; &nbsp;")})),-1<b.indexOf('<br class="Apple-interchange-newline">')&&(a.data.startsWithEOL=1,a.data.preSniffing="html",b=b.replace(/<br class="Apple-interchange-newline">/,"")),b=b.replace(/(<[^>]+) class="Apple-[^"]*"/gi,"$1"));if(b.match(/^<[^<]+cke_(editable|contents)/i)){var h,k,g=new CKEDITOR.dom.element("div");for(g.setHtml(b);1==g.getChildCount()&&(h=
+g.getFirst())&&h.type==CKEDITOR.NODE_ELEMENT&&(h.hasClass("cke_editable")||h.hasClass("cke_contents"));)g=k=h;k&&(b=k.getHtml().replace(/<br>$/i,""))}CKEDITOR.env.ie?b=b.replace(/^&nbsp;(?: |\r\n)?<(\w+)/g,function(b,c){if(c.toLowerCase()in f){a.data.preSniffing="html";return"<"+c}return b}):CKEDITOR.env.webkit?b=b.replace(/<\/(\w+)><div><br><\/div>$/,function(b,c){if(c in f){a.data.endsWithEOL=1;return"</"+c+">"}return b}):CKEDITOR.env.gecko&&(b=b.replace(/(\s)<br>$/,"$1"));a.data.dataValue=b},null,
+null,3);a.on("paste",function(e){var e=e.data,c=e.type,f=e.dataValue,h,k=a.config.clipboard_defaultContentType||"html";h="html"==c||"html"==e.preSniffing?"html":x(f);"htmlifiedtext"==h?f=y(a.config,f):"text"==c&&"html"==h&&(f=A(a.config,f,b||(b=z(a))));e.startsWithEOL&&(f='<br data-cke-eol="1">'+f);e.endsWithEOL&&(f+='<br data-cke-eol="1">');"auto"==c&&(c="html"==h||"html"==k?"html":"text");e.type=c;e.dataValue=f;delete e.preSniffing;delete e.startsWithEOL;delete e.endsWithEOL},null,null,6);a.on("paste",
+function(b){b=b.data;a.insertHtml(b.dataValue,b.type);setTimeout(function(){a.fire("afterPaste")},0)},null,null,1E3);a.on("pasteDialog",function(b){setTimeout(function(){a.openDialog("paste",b.data)},0)})}})})();(function(){var c='<a id="{id}" class="cke_button cke_button__{name} cke_button_{state} {cls}"'+(CKEDITOR.env.gecko&&10900<=CKEDITOR.env.version&&!CKEDITOR.env.hc?"":'" href="javascript:void(\'{titleJs}\')"')+' title="{title}" tabindex="-1" hidefocus="true" role="button" aria-labelledby="{id}_label" aria-haspopup="{hasArrow}"';if(CKEDITOR.env.opera||CKEDITOR.env.gecko&&CKEDITOR.env.mac)c+=' onkeypress="return false;"';CKEDITOR.env.gecko&&(c+=' onblur="this.style.cssText = this.style.cssText;"');var c=
+c+(' onkeydown="return CKEDITOR.tools.callFunction({keydownFn},event);" onfocus="return CKEDITOR.tools.callFunction({focusFn},event);"  onmousedown="return CKEDITOR.tools.callFunction({mousedownFn},event);" '+(CKEDITOR.env.ie?'onclick="return false;" onmouseup':"onclick")+'="CKEDITOR.tools.callFunction({clickFn},this);return false;"><span class="cke_button_icon cke_button__{iconName}_icon" style="{style}"'),c=c+'>&nbsp;</span><span id="{id}_label" class="cke_button_label cke_button__{name}_label">{label}</span>{arrowHtml}</a>',
+m=CKEDITOR.addTemplate("buttonArrow",'<span class="cke_button_arrow">'+(CKEDITOR.env.hc?"&#9660;":"")+"</span>"),n=CKEDITOR.addTemplate("button",c);CKEDITOR.plugins.add("button",{beforeInit:function(a){a.ui.addHandler(CKEDITOR.UI_BUTTON,CKEDITOR.ui.button.handler)}});CKEDITOR.UI_BUTTON="button";CKEDITOR.ui.button=function(a){CKEDITOR.tools.extend(this,a,{title:a.label,click:a.click||function(b){b.execCommand(a.command)}});this._={}};CKEDITOR.ui.button.handler={create:function(a){return new CKEDITOR.ui.button(a)}};
+CKEDITOR.ui.button.prototype={render:function(a,b){var c=CKEDITOR.env,i=this._.id=CKEDITOR.tools.getNextId(),f="",e=this.command,l;this._.editor=a;var d={id:i,button:this,editor:a,focus:function(){CKEDITOR.document.getById(i).focus()},execute:function(){this.button.click(a)},attach:function(a){this.button.attach(a)}},o=CKEDITOR.tools.addFunction(function(a){if(d.onkey)return a=new CKEDITOR.dom.event(a),!1!==d.onkey(d,a.getKeystroke())}),p=CKEDITOR.tools.addFunction(function(a){var b;d.onfocus&&(b=
+!1!==d.onfocus(d,new CKEDITOR.dom.event(a)));CKEDITOR.env.gecko&&10900>CKEDITOR.env.version&&a.preventBubble();return b}),j=0,q=CKEDITOR.tools.addFunction(function(){if(CKEDITOR.env.opera){var b=a.editable();b.isInline()&&b.hasFocus&&(a.lockSelection(),j=1)}});d.clickFn=l=CKEDITOR.tools.addFunction(function(){j&&(a.unlockSelection(1),j=0);d.execute()});if(this.modes){var k={},g=function(){var b=a.mode;b&&(b=this.modes[b]?void 0!=k[b]?k[b]:CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,this.setState(a.readOnly&&
+!this.readOnly?CKEDITOR.TRISTATE_DISABLED:b))};a.on("beforeModeUnload",function(){a.mode&&this._.state!=CKEDITOR.TRISTATE_DISABLED&&(k[a.mode]=this._.state)},this);a.on("mode",g,this);!this.readOnly&&a.on("readOnly",g,this)}else if(e&&(e=a.getCommand(e)))e.on("state",function(){this.setState(e.state)},this),f+=e.state==CKEDITOR.TRISTATE_ON?"on":e.state==CKEDITOR.TRISTATE_DISABLED?"disabled":"off";if(this.directional)a.on("contentDirChanged",function(b){var c=CKEDITOR.document.getById(this._.id),d=
+c.getFirst(),b=b.data;b!=a.lang.dir?c.addClass("cke_"+b):c.removeClass("cke_ltr").removeClass("cke_rtl");d.setAttribute("style",CKEDITOR.skin.getIconStyle(h,"rtl"==b,this.icon,this.iconOffset))},this);e||(f+="off");var h=g=this.name||this.command;this.icon&&!/\./.test(this.icon)&&(h=this.icon,this.icon=null);c={id:i,name:g,iconName:h,label:this.label,cls:this.className||"",state:f,title:this.title,titleJs:c.gecko&&10900<=c.version&&!c.hc?"":(this.title||"").replace("'",""),hasArrow:this.hasArrow?
+"true":"false",keydownFn:o,mousedownFn:q,focusFn:p,clickFn:l,style:CKEDITOR.skin.getIconStyle(h,"rtl"==a.lang.dir,this.icon,this.iconOffset),arrowHtml:this.hasArrow?m.output():""};n.output(c,b);if(this.onRender)this.onRender();return d},setState:function(a){if(this._.state==a)return!1;this._.state=a;var b=CKEDITOR.document.getById(this._.id);return b?(b.setState(a,"cke_button"),a==CKEDITOR.TRISTATE_DISABLED?b.setAttribute("aria-disabled",!0):b.removeAttribute("aria-disabled"),a==CKEDITOR.TRISTATE_ON?
+b.setAttribute("aria-pressed",!0):b.removeAttribute("aria-pressed"),!0):!1},toFeature:function(a){if(this._.feature)return this._.feature;var b=this;!this.allowedContent&&(!this.requiredContent&&this.command)&&(b=a.getCommand(this.command)||b);return this._.feature=b}};CKEDITOR.ui.prototype.addButton=function(a,b){this.add(a,CKEDITOR.UI_BUTTON,b)}})();CKEDITOR.plugins.add("panelbutton",{requires:"button",onLoad:function(){function e(c){var a=this._;a.state!=CKEDITOR.TRISTATE_DISABLED&&(this.createPanel(c),a.on?a.panel.hide():a.panel.showBlock(this._.id,this.document.getById(this._.id),4))}CKEDITOR.ui.panelButton=CKEDITOR.tools.createClass({base:CKEDITOR.ui.button,$:function(c){var a=c.panel||{};delete c.panel;this.base(c);this.document=a.parent&&a.parent.getDocument()||CKEDITOR.document;a.block={attributes:a.attributes};this.hasArrow=a.toolbarRelated=
+!0;this.click=e;this._={panelDefinition:a}},statics:{handler:{create:function(c){return new CKEDITOR.ui.panelButton(c)}}},proto:{createPanel:function(c){var a=this._;if(!a.panel){var f=this._.panelDefinition,e=this._.panelDefinition.block,g=f.parent||CKEDITOR.document.getBody(),d=this._.panel=new CKEDITOR.ui.floatPanel(c,g,f),f=d.addBlock(a.id,e),b=this;d.onShow=function(){b.className&&this.element.addClass(b.className+"_panel");b.setState(CKEDITOR.TRISTATE_ON);a.on=1;b.editorFocus&&c.focus();if(b.onOpen)b.onOpen()};
+d.onHide=function(d){b.className&&this.element.getFirst().removeClass(b.className+"_panel");b.setState(b.modes&&b.modes[c.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);a.on=0;if(!d&&b.onClose)b.onClose()};d.onEscape=function(){d.hide(1);b.document.getById(a.id).focus()};if(this.onBlock)this.onBlock(d,f);f.onHide=function(){a.on=0;b.setState(CKEDITOR.TRISTATE_OFF)}}}}})},beforeInit:function(e){e.ui.addHandler(CKEDITOR.UI_PANELBUTTON,CKEDITOR.ui.panelButton.handler)}});
+CKEDITOR.UI_PANELBUTTON="panelbutton";(function(){CKEDITOR.plugins.add("panel",{beforeInit:function(a){a.ui.addHandler(CKEDITOR.UI_PANEL,CKEDITOR.ui.panel.handler)}});CKEDITOR.UI_PANEL="panel";CKEDITOR.ui.panel=function(a,b){b&&CKEDITOR.tools.extend(this,b);CKEDITOR.tools.extend(this,{className:"",css:[]});this.id=CKEDITOR.tools.getNextId();this.document=a;this.isFramed=this.forceIFrame||this.css.length;this._={blocks:{}}};CKEDITOR.ui.panel.handler={create:function(a){return new CKEDITOR.ui.panel(a)}};var e=CKEDITOR.addTemplate("panel",
+'<div lang="{langCode}" id="{id}" dir={dir} class="cke cke_reset_all {editorId} cke_panel cke_panel {cls} cke_{dir}" style="z-index:{z-index}" role="presentation">{frame}</div>'),f=CKEDITOR.addTemplate("panel-frame",'<iframe id="{id}" class="cke_panel_frame" role="application" frameborder="0" src="{src}"></iframe>'),g=CKEDITOR.addTemplate("panel-frame-inner",'<!DOCTYPE html><html class="cke_panel_container {env}" dir="{dir}" lang="{langCode}"><head>{css}</head><body class="cke_{dir}" style="margin:0;padding:0" onload="{onload}"></body></html>');
+CKEDITOR.ui.panel.prototype={render:function(a,b){this.getHolderElement=function(){var a=this._.holder;if(!a){if(this.isFramed){var a=this.document.getById(this.id+"_frame"),b=a.getParent(),a=a.getFrameDocument();CKEDITOR.env.iOS&&b.setStyles({overflow:"scroll","-webkit-overflow-scrolling":"touch"});b=CKEDITOR.tools.addFunction(CKEDITOR.tools.bind(function(){this.isLoaded=!0;if(this.onLoad)this.onLoad()},this));a.write(g.output(CKEDITOR.tools.extend({css:CKEDITOR.tools.buildStyleHtml(this.css),onload:"window.parent.CKEDITOR.tools.callFunction("+
+b+");"},c)));a.getWindow().$.CKEDITOR=CKEDITOR;a.on("key"+(CKEDITOR.env.opera?"press":"down"),function(a){var b=a.data.getKeystroke(),c=this.document.getById(this.id).getAttribute("dir");this._.onKeyDown&&!1===this._.onKeyDown(b)?a.data.preventDefault():(27==b||b==("rtl"==c?39:37))&&this.onEscape&&!1===this.onEscape(b)&&a.data.preventDefault()},this);a=a.getBody();a.unselectable();CKEDITOR.env.air&&CKEDITOR.tools.callFunction(b)}else a=this.document.getById(this.id);this._.holder=a}return a};var c=
+{editorId:a.id,id:this.id,langCode:a.langCode,dir:a.lang.dir,cls:this.className,frame:"",env:CKEDITOR.env.cssClass,"z-index":a.config.baseFloatZIndex+1};this.isFramed&&(c.frame=f.output({id:this.id+"_frame",src:"javascript:void(document.open(),"+(CKEDITOR.env.isCustomDomain()?"document.domain='"+document.domain+"',":"")+'document.close())">'}));var d=e.output(c);b&&b.push(d);return d},addBlock:function(a,b){b=this._.blocks[a]=b instanceof CKEDITOR.ui.panel.block?b:new CKEDITOR.ui.panel.block(this.getHolderElement(),
+b);this._.currentBlock||this.showBlock(a);return b},getBlock:function(a){return this._.blocks[a]},showBlock:function(a){var a=this._.blocks[a],b=this._.currentBlock,c=!this.forceIFrame||CKEDITOR.env.ie?this._.holder:this.document.getById(this.id+"_frame");b&&(c.removeAttributes(b.attributes),b.hide());this._.currentBlock=a;c.setAttributes(a.attributes);CKEDITOR.fire("ariaWidget",c);a._.focusIndex=-1;this._.onKeyDown=a.onKeyDown&&CKEDITOR.tools.bind(a.onKeyDown,a);a.show();return a},destroy:function(){this.element&&
+this.element.remove()}};CKEDITOR.ui.panel.block=CKEDITOR.tools.createClass({$:function(a,b){this.element=a.append(a.getDocument().createElement("div",{attributes:{tabIndex:-1,"class":"cke_panel_block",role:"presentation"},styles:{display:"none"}}));b&&CKEDITOR.tools.extend(this,b);this.attributes.title||(this.attributes.title=this.attributes["aria-label"]);this.keys={};this._.focusIndex=-1;this.element.disableContextMenu()},_:{markItem:function(a){-1!=a&&(a=this.element.getElementsByTag("a").getItem(this._.focusIndex=
+a),(CKEDITOR.env.webkit||CKEDITOR.env.opera)&&a.getDocument().getWindow().focus(),a.focus(),this.onMark&&this.onMark(a))}},proto:{show:function(){this.element.setStyle("display","")},hide:function(){(!this.onHide||!0!==this.onHide.call(this))&&this.element.setStyle("display","none")},onKeyDown:function(a){var b=this.keys[a];switch(b){case "next":for(var a=this._.focusIndex,b=this.element.getElementsByTag("a"),c;c=b.getItem(++a);)if(c.getAttribute("_cke_focus")&&c.$.offsetWidth){this._.focusIndex=
+a;c.focus();break}return!1;case "prev":a=this._.focusIndex;for(b=this.element.getElementsByTag("a");0<a&&(c=b.getItem(--a));)if(c.getAttribute("_cke_focus")&&c.$.offsetWidth){this._.focusIndex=a;c.focus();break}return!1;case "click":case "mouseup":return a=this._.focusIndex,(c=0<=a&&this.element.getElementsByTag("a").getItem(a))&&(c.$[b]?c.$[b]():c.$["on"+b]()),!1}return!0}}})})();CKEDITOR.plugins.add("floatpanel",{requires:"panel"});
+(function(){function o(a,b,c,h,g){var g=CKEDITOR.tools.genKey(b.getUniqueId(),c.getUniqueId(),a.lang.dir,a.uiColor||"",h.css||"",g||""),e=i[g];e||(e=i[g]=new CKEDITOR.ui.panel(b,h),e.element=c.append(CKEDITOR.dom.element.createFromHtml(e.render(a),b)),e.element.setStyles({display:"none",position:"absolute"}));return e}var i={};CKEDITOR.ui.floatPanel=CKEDITOR.tools.createClass({$:function(a,b,c,h){function g(){j.hide()}c.forceIFrame=1;c.toolbarRelated&&a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE&&
+(b=CKEDITOR.document.getById("cke_"+a.name));var e=b.getDocument(),h=o(a,e,b,c,h||0),k=h.element,d=k.getFirst(),j=this;k.disableContextMenu();k.setAttribute("role","application");this.element=k;this._={editor:a,panel:h,parentElement:b,definition:c,document:e,iframe:d,children:[],dir:a.lang.dir};a.on("mode",g);a.on("resize",g);e.getWindow().on("resize",g)},proto:{addBlock:function(a,b){return this._.panel.addBlock(a,b)},addListBlock:function(a,b){return this._.panel.addListBlock(a,b)},getBlock:function(a){return this._.panel.getBlock(a)},
+showBlock:function(a,b,c,h,g){var e=this._.panel,k=e.showBlock(a);this.allowBlur(!1);a=this._.editor.editable();this._.returnFocus=a.hasFocus?a:new CKEDITOR.dom.element(CKEDITOR.document.$.activeElement);var d=this.element,a=this._.iframe,a=CKEDITOR.env.ie?a:new CKEDITOR.dom.window(a.$.contentWindow),j=d.getDocument(),i=this._.parentElement.getPositionedAncestor(),n=b.getDocumentPosition(j),j=i?i.getDocumentPosition(j):{x:0,y:0},m="rtl"==this._.dir,f=n.x+(h||0)-j.x,l=n.y+(g||0)-j.y;if(m&&(1==c||4==
+c))f+=b.$.offsetWidth;else if(!m&&(2==c||3==c))f+=b.$.offsetWidth-1;if(3==c||4==c)l+=b.$.offsetHeight-1;this._.panel._.offsetParentId=b.getId();d.setStyles({top:l+"px",left:0,display:""});d.setOpacity(0);d.getFirst().removeStyle("width");this._.editor.focusManager.add(a);this._.blurSet||(CKEDITOR.event.useCapture=!0,a.on("blur",function(a){this.allowBlur()&&a.data.getPhase()==CKEDITOR.EVENT_PHASE_AT_TARGET&&(this.visible&&!this._.activeChild)&&(delete this._.returnFocus,this.hide())},this),a.on("focus",
+function(){this._.focused=!0;this.hideChild();this.allowBlur(!0)},this),CKEDITOR.event.useCapture=!1,this._.blurSet=1);e.onEscape=CKEDITOR.tools.bind(function(a){if(this.onEscape&&this.onEscape(a)===false)return false},this);CKEDITOR.tools.setTimeout(function(){var a=CKEDITOR.tools.bind(function(){d.removeStyle("width");if(k.autoSize){var a=k.element.getDocument(),a=(CKEDITOR.env.webkit?k.element:a.getBody()).$.scrollWidth;CKEDITOR.env.ie&&(CKEDITOR.env.quirks&&a>0)&&(a=a+((d.$.offsetWidth||0)-(d.$.clientWidth||
+0)+3));d.setStyle("width",a+10+"px");a=k.element.$.scrollHeight;CKEDITOR.env.ie&&(CKEDITOR.env.quirks&&a>0)&&(a=a+((d.$.offsetHeight||0)-(d.$.clientHeight||0)+3));d.setStyle("height",a+"px");e._.currentBlock.element.setStyle("display","none").removeStyle("display")}else d.removeStyle("height");m&&(f=f-d.$.offsetWidth);d.setStyle("left",f+"px");var b=e.element.getWindow(),a=d.$.getBoundingClientRect(),b=b.getViewPaneSize(),c=a.width||a.right-a.left,g=a.height||a.bottom-a.top,h=m?a.right:b.width-a.left,
+i=m?b.width-a.right:a.left;m?h<c&&(f=i>c?f+c:b.width>c?f-a.left:f-a.right+b.width):h<c&&(f=i>c?f-c:b.width>c?f-a.right+b.width:f-a.left);c=a.top;b.height-a.top<g&&(l=c>g?l-g:b.height>g?l-a.bottom+b.height:l-a.top);if(CKEDITOR.env.ie){b=a=new CKEDITOR.dom.element(d.$.offsetParent);b.getName()=="html"&&(b=b.getDocument().getBody());b.getComputedStyle("direction")=="rtl"&&(f=CKEDITOR.env.ie8Compat?f-d.getDocument().getDocumentElement().$.scrollLeft*2:f-(a.$.scrollWidth-a.$.clientWidth))}var a=d.getFirst(),
+j;(j=a.getCustomData("activePanel"))&&j.onHide&&j.onHide.call(this,1);a.setCustomData("activePanel",this);d.setStyles({top:l+"px",left:f+"px"});d.setOpacity(1)},this);e.isLoaded?a():e.onLoad=a;CKEDITOR.tools.setTimeout(function(){this.focus();this.allowBlur(true);this._.editor.fire("panelShow",this)},0,this)},CKEDITOR.env.air?200:0,this);this.visible=1;this.onShow&&this.onShow.call(this)},focus:function(){if(CKEDITOR.env.webkit){var a=CKEDITOR.document.getActive();!a.equals(this._.iframe)&&a.$.blur()}(this._.lastFocused||
+this._.iframe.getFrameDocument().getWindow()).focus()},blur:function(){var a=this._.iframe.getFrameDocument().getActive();a.is("a")&&(this._.lastFocused=a)},hide:function(a){if(this.visible&&(!this.onHide||!0!==this.onHide.call(this))){this.hideChild();CKEDITOR.env.gecko&&this._.iframe.getFrameDocument().$.activeElement.blur();this.element.setStyle("display","none");this.visible=0;this.element.getFirst().removeCustomData("activePanel");if(a=a&&this._.returnFocus)CKEDITOR.env.webkit&&a.type&&a.getWindow().$.focus(),
+a.focus();delete this._.lastFocused;this._.editor.fire("panelHide",this)}},allowBlur:function(a){var b=this._.panel;void 0!=a&&(b.allowBlur=a);return b.allowBlur},showAsChild:function(a,b,c,h,g,e){this._.activeChild==a&&a._.panel._.offsetParentId==c.getId()||(this.hideChild(),a.onHide=CKEDITOR.tools.bind(function(){CKEDITOR.tools.setTimeout(function(){this._.focused||this.hide()},0,this)},this),this._.activeChild=a,this._.focused=!1,a.showBlock(b,c,h,g,e),this.blur(),(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)&&
+setTimeout(function(){a.element.getChild(0).$.style.cssText+=""},100))},hideChild:function(a){var b=this._.activeChild;b&&(delete b.onHide,delete this._.activeChild,b.hide(),a&&this.focus())}}});CKEDITOR.on("instanceDestroyed",function(){var a=CKEDITOR.tools.isEmpty(CKEDITOR.instances),b;for(b in i){var c=i[b];a?c.destroy():c.element.hide()}a&&(i={})})})();CKEDITOR.plugins.add("colorbutton",{requires:"panelbutton,floatpanel",init:function(c){function m(l,g,e,h){var k=new CKEDITOR.style(i["colorButton_"+g+"Style"]),j=CKEDITOR.tools.getNextId()+"_colorBox";c.ui.add(l,CKEDITOR.UI_PANELBUTTON,{label:e,title:e,modes:{wysiwyg:1},editorFocus:1,toolbar:"colors,"+h,allowedContent:k,requiredContent:k,panel:{css:CKEDITOR.skin.getPath("editor"),attributes:{role:"listbox","aria-label":f.panelTitle}},onBlock:function(a,b){b.autoSize=!0;b.element.addClass("cke_colorblock");
+b.element.setHtml(o(a,g,j));b.element.getDocument().getBody().setStyle("overflow","hidden");CKEDITOR.ui.fire("ready",this);var d=b.keys,e="rtl"==c.lang.dir;d[e?37:39]="next";d[40]="next";d[9]="next";d[e?39:37]="prev";d[38]="prev";d[CKEDITOR.SHIFT+9]="prev";d[32]="click"},onOpen:function(){var a=c.getSelection(),a=a&&a.getStartElement(),a=c.elementPath(a),b,a=a.block||a.blockLimit||c.document.getBody();do b=a&&a.getComputedStyle("back"==g?"background-color":"color")||"transparent";while("back"==g&&
+"transparent"==b&&a&&(a=a.getParent()));if(!b||"transparent"==b)b="#ffffff";this._.panel._.iframe.getFrameDocument().getById(j).setStyle("background-color",b);return b}})}function o(l,g,e){var h=[],k=i.colorButton_colors.split(","),j=CKEDITOR.tools.addFunction(function(a,b){if("?"==a){var e=arguments.callee,d=function(a){this.removeListener("ok",d);this.removeListener("cancel",d);"ok"==a.name&&e(this.getContentElement("picker","selectedColor").getValue(),b)};c.openDialog("colordialog",function(){this.on("ok",
+d);this.on("cancel",d)})}else{c.focus();l.hide();c.fire("saveSnapshot");c.removeStyle(new CKEDITOR.style(i["colorButton_"+b+"Style"],{color:"inherit"}));if(a){var f=i["colorButton_"+b+"Style"];f.childRule="back"==b?function(a){return n(a)}:function(a){return!(a.is("a")||a.getElementsByTag("a").count())||n(a)};c.applyStyle(new CKEDITOR.style(f,{color:a}))}c.fire("saveSnapshot")}});h.push('<a class="cke_colorauto" _cke_focus=1 hidefocus=true title="',f.auto,'" onclick="CKEDITOR.tools.callFunction(',
+j,",null,'",g,"');return false;\" href=\"javascript:void('",f.auto,'\')" role="option"><table role="presentation" cellspacing=0 cellpadding=0 width="100%"><tr><td><span class="cke_colorbox" id="',e,'"></span></td><td colspan=7 align=center>',f.auto,'</td></tr></table></a><table role="presentation" cellspacing=0 cellpadding=0 width="100%">');for(e=0;e<k.length;e++){0===e%8&&h.push("</tr><tr>");var a=k[e].split("/"),b=a[0],d=a[1]||b;a[1]||(b="#"+b.replace(/^(.)(.)(.)$/,"$1$1$2$2$3$3"));a=c.lang.colorbutton.colors[d]||
+d;h.push('<td><a class="cke_colorbox" _cke_focus=1 hidefocus=true title="',a,'" onclick="CKEDITOR.tools.callFunction(',j,",'",b,"','",g,"'); return false;\" href=\"javascript:void('",a,'\')" role="option"><span class="cke_colorbox" style="background-color:#',d,'"></span></a></td>')}(c.plugins.colordialog&&void 0===i.colorButton_enableMore||i.colorButton_enableMore)&&h.push('</tr><tr><td colspan=8 align=center><a class="cke_colormore" _cke_focus=1 hidefocus=true title="',f.more,'" onclick="CKEDITOR.tools.callFunction(',
+j,",'?','",g,"');return false;\" href=\"javascript:void('",f.more,"')\"",' role="option">',f.more,"</a></td>");h.push("</tr></table>");return h.join("")}function n(c){return"false"==c.getAttribute("contentEditable")||c.getAttribute("data-nostyle")}var i=c.config,f=c.lang.colorbutton;CKEDITOR.env.hc||(m("TextColor","fore",f.textColorTitle,10),m("BGColor","back",f.bgColorTitle,20))}});CKEDITOR.config.colorButton_colors="000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF";
+CKEDITOR.config.colorButton_foreStyle={element:"span",styles:{color:"#(color)"},overrides:[{element:"font",attributes:{color:null}}]};CKEDITOR.config.colorButton_backStyle={element:"span",styles:{"background-color":"#(color)"}};CKEDITOR.plugins.colordialog={requires:"dialog",init:function(b){b.addCommand("colordialog",new CKEDITOR.dialogCommand("colordialog"));CKEDITOR.dialog.add("colordialog",this.path+"dialogs/colordialog.js");b.getColorFromDialog=function(e,f){var c=function(a){this.removeListener("ok",c);this.removeListener("cancel",c);a="ok"==a.name?this.getValueOf("picker","selectedColor"):null;e.call(f,a)},d=function(a){a.on("ok",c);a.on("cancel",c)};b.execCommand("colordialog");if(b._.storedDialogs&&b._.storedDialogs.colordialog)d(b._.storedDialogs.colordialog);
+else CKEDITOR.on("dialogDefinition",function(a){if("colordialog"==a.data.name){var b=a.data.definition;a.removeListener();b.onLoad=CKEDITOR.tools.override(b.onLoad,function(a){return function(){d(this);b.onLoad=a;"function"==typeof a&&a.call(this)}})}})}}};CKEDITOR.plugins.add("colordialog",CKEDITOR.plugins.colordialog);(function(){CKEDITOR.plugins.add("templates",{requires:"dialog",init:function(a){CKEDITOR.dialog.add("templates",CKEDITOR.getUrl(this.path+"dialogs/templates.js"));a.addCommand("templates",new CKEDITOR.dialogCommand("templates"));a.ui.addButton&&a.ui.addButton("Templates",{label:a.lang.templates.button,command:"templates",toolbar:"doctools,10"})}});var c={},f={};CKEDITOR.addTemplates=function(a,d){c[a]=d};CKEDITOR.getTemplates=function(a){return c[a]};CKEDITOR.loadTemplates=function(a,d){for(var e=
+[],b=0,c=a.length;b<c;b++)f[a[b]]||(e.push(a[b]),f[a[b]]=1);e.length?CKEDITOR.scriptLoader.load(e,d):setTimeout(d,0)}})();CKEDITOR.config.templates_files=[CKEDITOR.getUrl("plugins/templates/templates/default.js")];CKEDITOR.config.templates_replaceContent=!0;CKEDITOR.plugins.add("menu",{requires:"floatpanel",beforeInit:function(k){for(var g=k.config.menu_groups.split(","),m=k._.menuGroups={},l=k._.menuItems={},a=0;a<g.length;a++)m[g[a]]=a+1;k.addMenuGroup=function(b,a){m[b]=a||100};k.addMenuItem=function(a,c){m[c.group]&&(l[a]=new CKEDITOR.menuItem(this,a,c))};k.addMenuItems=function(a){for(var c in a)this.addMenuItem(c,a[c])};k.getMenuItem=function(a){return l[a]};k.removeMenuItem=function(a){delete l[a]}}});
+(function(){function k(a){a.sort(function(a,c){return a.group<c.group?-1:a.group>c.group?1:a.order<c.order?-1:a.order>c.order?1:0})}var g='<span class="cke_menuitem"><a id="{id}" class="cke_menubutton cke_menubutton__{name} cke_menubutton_{state} {cls}" href="{href}" title="{title}" tabindex="-1"_cke_focus=1 hidefocus="true" role="menuitem" aria-haspopup="{hasPopup}" aria-disabled="{disabled}"';if(CKEDITOR.env.opera||CKEDITOR.env.gecko&&CKEDITOR.env.mac)g+=' onkeypress="return false;"';CKEDITOR.env.gecko&&
+(g+=' onblur="this.style.cssText = this.style.cssText;"');var g=g+(' onmouseover="CKEDITOR.tools.callFunction({hoverFn},{index});" onmouseout="CKEDITOR.tools.callFunction({moveOutFn},{index});" '+(CKEDITOR.env.ie?'onclick="return false;" onmouseup':"onclick")+'="CKEDITOR.tools.callFunction({clickFn},{index}); return false;">'),m=CKEDITOR.addTemplate("menuItem",g+'<span class="cke_menubutton_inner"><span class="cke_menubutton_icon"><span class="cke_button_icon cke_button__{iconName}_icon" style="{iconStyle}"></span></span><span class="cke_menubutton_label">{label}</span>{arrowHtml}</span></a></span>'),
+l=CKEDITOR.addTemplate("menuArrow",'<span class="cke_menuarrow"><span>{label}</span></span>');CKEDITOR.menu=CKEDITOR.tools.createClass({$:function(a,b){b=this._.definition=b||{};this.id=CKEDITOR.tools.getNextId();this.editor=a;this.items=[];this._.listeners=[];this._.level=b.level||1;var c=CKEDITOR.tools.extend({},b.panel,{css:[CKEDITOR.skin.getPath("editor")],level:this._.level-1,block:{}}),j=c.block.attributes=c.attributes||{};!j.role&&(j.role="menu");this._.panelDefinition=c},_:{onShow:function(){var a=
+this.editor.getSelection(),b=a&&a.getStartElement(),c=this.editor.elementPath(),j=this._.listeners;this.removeAll();for(var e=0;e<j.length;e++){var i=j[e](b,a,c);if(i)for(var f in i){var h=this.editor.getMenuItem(f);if(h&&(!h.command||this.editor.getCommand(h.command).state))h.state=i[f],this.add(h)}}},onClick:function(a){this.hide();if(a.onClick)a.onClick();else a.command&&this.editor.execCommand(a.command)},onEscape:function(a){var b=this.parent;b?b._.panel.hideChild(1):27==a&&this.hide(1);return!1},
+onHide:function(){this.onHide&&this.onHide()},showSubMenu:function(a){var b=this._.subMenu,c=this.items[a];if(c=c.getItems&&c.getItems()){b?b.removeAll():(b=this._.subMenu=new CKEDITOR.menu(this.editor,CKEDITOR.tools.extend({},this._.definition,{level:this._.level+1},!0)),b.parent=this,b._.onClick=CKEDITOR.tools.bind(this._.onClick,this));for(var j in c){var e=this.editor.getMenuItem(j);e&&(e.state=c[j],b.add(e))}var i=this._.panel.getBlock(this.id).element.getDocument().getById(this.id+(""+a));setTimeout(function(){b.show(i,
+2)},0)}else this._.panel.hideChild(1)}},proto:{add:function(a){a.order||(a.order=this.items.length);this.items.push(a)},removeAll:function(){this.items=[]},show:function(a,b,c,j){if(!this.parent&&(this._.onShow(),!this.items.length))return;var b=b||("rtl"==this.editor.lang.dir?2:1),e=this.items,i=this.editor,f=this._.panel,h=this._.element;if(!f){f=this._.panel=new CKEDITOR.ui.floatPanel(this.editor,CKEDITOR.document.getBody(),this._.panelDefinition,this._.level);f.onEscape=CKEDITOR.tools.bind(function(a){if(!1===
+this._.onEscape(a))return!1},this);f.onShow=function(){f._.panel.getHolderElement().getParent().addClass("cke cke_reset_all")};f.onHide=CKEDITOR.tools.bind(function(){this._.onHide&&this._.onHide()},this);h=f.addBlock(this.id,this._.panelDefinition.block);h.autoSize=!0;var d=h.keys;d[40]="next";d[9]="next";d[38]="prev";d[CKEDITOR.SHIFT+9]="prev";d["rtl"==i.lang.dir?37:39]=CKEDITOR.env.ie?"mouseup":"click";d[32]=CKEDITOR.env.ie?"mouseup":"click";CKEDITOR.env.ie&&(d[13]="mouseup");h=this._.element=
+h.element;d=h.getDocument();d.getBody().setStyle("overflow","hidden");d.getElementsByTag("html").getItem(0).setStyle("overflow","hidden");this._.itemOverFn=CKEDITOR.tools.addFunction(function(a){clearTimeout(this._.showSubTimeout);this._.showSubTimeout=CKEDITOR.tools.setTimeout(this._.showSubMenu,i.config.menu_subMenuDelay||400,this,[a])},this);this._.itemOutFn=CKEDITOR.tools.addFunction(function(){clearTimeout(this._.showSubTimeout)},this);this._.itemClickFn=CKEDITOR.tools.addFunction(function(a){var b=
+this.items[a];if(b.state==CKEDITOR.TRISTATE_DISABLED)this.hide(1);else if(b.getItems)this._.showSubMenu(a);else this._.onClick(b)},this)}k(e);for(var d=i.elementPath(),d=['<div class="cke_menu'+(d&&d.direction()!=i.lang.dir?" cke_mixed_dir_content":"")+'" role="presentation">'],g=e.length,m=g&&e[0].group,l=0;l<g;l++){var n=e[l];m!=n.group&&(d.push('<div class="cke_menuseparator" role="separator"></div>'),m=n.group);n.render(this,l,d)}d.push("</div>");h.setHtml(d.join(""));CKEDITOR.ui.fire("ready",
+this);this.parent?this.parent._.panel.showAsChild(f,this.id,a,b,c,j):f.showBlock(this.id,a,b,c,j);i.fire("menuShow",[f])},addListener:function(a){this._.listeners.push(a)},hide:function(a){this._.onHide&&this._.onHide();this._.panel&&this._.panel.hide(a)}}});CKEDITOR.menuItem=CKEDITOR.tools.createClass({$:function(a,b,c){CKEDITOR.tools.extend(this,c,{order:0,className:"cke_menubutton__"+b});this.group=a._.menuGroups[this.group];this.editor=a;this.name=b},proto:{render:function(a,b,c){var g=a.id+(""+
+b),e="undefined"==typeof this.state?CKEDITOR.TRISTATE_OFF:this.state,i=e==CKEDITOR.TRISTATE_ON?"on":e==CKEDITOR.TRISTATE_DISABLED?"disabled":"off",f=this.getItems,h="&#"+("rtl"==this.editor.lang.dir?"9668":"9658")+";",d=this.name;this.icon&&!/\./.test(this.icon)&&(d=this.icon);a={id:g,name:this.name,iconName:d,label:this.label,cls:this.className||"",state:i,hasPopup:f?"true":"false",disabled:e==CKEDITOR.TRISTATE_DISABLED,title:this.label,href:"javascript:void('"+(this.label||"").replace("'")+"')",
+hoverFn:a._.itemOverFn,moveOutFn:a._.itemOutFn,clickFn:a._.itemClickFn,index:b,iconStyle:CKEDITOR.skin.getIconStyle(d,"rtl"==this.editor.lang.dir,d==this.icon?null:this.icon,this.iconOffset),arrowHtml:f?l.output({label:h}):""};m.output(a,c)}}})})();CKEDITOR.config.menu_groups="clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea,div";CKEDITOR.plugins.add("contextmenu",{requires:"menu",onLoad:function(){CKEDITOR.plugins.contextMenu=CKEDITOR.tools.createClass({base:CKEDITOR.menu,$:function(b){this.base.call(this,b,{panel:{className:"cke_menu_panel",attributes:{"aria-label":b.lang.contextmenu.options}}})},proto:{addTarget:function(b,d){if(CKEDITOR.env.opera&&!("oncontextmenu"in document.body)){var c;b.on("mousedown",function(a){a=a.data;if(2!=a.$.button)a.getKeystroke()==CKEDITOR.CTRL+1&&b.fire("contextmenu",a);else if(!d||!(CKEDITOR.env.mac?
+a.$.metaKey:a.$.ctrlKey)){var g=a.getTarget();c||(g=g.getDocument(),c=g.createElement("input"),c.$.type="button",g.getBody().append(c));c.setAttribute("style","position:absolute;top:"+(a.$.clientY-2)+"px;left:"+(a.$.clientX-2)+"px;width:5px;height:5px;opacity:0.01")}});b.on("mouseup",function(a){c&&(c.remove(),c=void 0,b.fire("contextmenu",a.data))})}b.on("contextmenu",function(a){a=a.data;if(!d||!(CKEDITOR.env.webkit?e:CKEDITOR.env.mac?a.$.metaKey:a.$.ctrlKey)){a.preventDefault();var b=a.getTarget().getDocument(),
+c=a.getTarget().getDocument().getDocumentElement(),f=!b.equals(CKEDITOR.document),b=b.getWindow().getScrollPosition(),h=f?a.$.clientX:a.$.pageX||b.x+a.$.clientX,i=f?a.$.clientY:a.$.pageY||b.y+a.$.clientY;CKEDITOR.tools.setTimeout(function(){this.open(c,null,h,i)},CKEDITOR.env.ie?200:0,this)}},this);if(CKEDITOR.env.opera)b.on("keypress",function(a){a=a.data;0===a.$.keyCode&&a.preventDefault()});if(CKEDITOR.env.webkit){var e,f=function(){e=0};b.on("keydown",function(a){e=CKEDITOR.env.mac?a.data.$.metaKey:
+a.data.$.ctrlKey});b.on("keyup",f);b.on("contextmenu",f)}},open:function(b,d,c,e){this.editor.focus();b=b||CKEDITOR.document.getDocumentElement();this.editor.selectionChange(1);this.show(b,d,c,e)}}})},beforeInit:function(b){var d=b.contextMenu=new CKEDITOR.plugins.contextMenu(b);b.on("contentDom",function(){d.addTarget(b.editable(),!1!==b.config.browserContextMenuOnCtrl)});b.addCommand("contextMenu",{exec:function(){b.contextMenu.open(b.document.getBody())}});b.setKeystroke(CKEDITOR.SHIFT+121,"contextMenu");
+b.setKeystroke(CKEDITOR.CTRL+CKEDITOR.SHIFT+121,"contextMenu")}});(function(){CKEDITOR.plugins.add("div",{requires:"dialog",init:function(a){if(!a.blockless){var c=a.lang.div,b="div(*)";CKEDITOR.dialog.isTabEnabled(a,"editdiv","advanced")&&(b+=";div[dir,id,lang,title]{*}");a.addCommand("creatediv",new CKEDITOR.dialogCommand("creatediv",{allowedContent:b,requiredContent:"div",contextSensitive:!0,refresh:function(a,c){this.setState("div"in(a.config.div_wrapTable?c.root:c.blockLimit).getDtd()?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED)}}));a.addCommand("editdiv",
+new CKEDITOR.dialogCommand("editdiv",{requiredContent:"div"}));a.addCommand("removediv",{requiredContent:"div",exec:function(a){function c(b){if((b=CKEDITOR.plugins.div.getSurroundDiv(a,b))&&!b.data("cke-div-added"))f.push(b),b.data("cke-div-added")}for(var b=a.getSelection(),g=b&&b.getRanges(),e,h=b.createBookmarks(),f=[],d=0;d<g.length;d++)e=g[d],e.collapsed?c(b.getStartElement()):(e=new CKEDITOR.dom.walker(e),e.evaluator=c,e.lastForward());for(d=0;d<f.length;d++)f[d].remove(!0);b.selectBookmarks(h)}});
+a.ui.addButton&&a.ui.addButton("CreateDiv",{label:c.toolbar,command:"creatediv",toolbar:"blocks,50"});a.addMenuItems&&(a.addMenuItems({editdiv:{label:c.edit,command:"editdiv",group:"div",order:1},removediv:{label:c.remove,command:"removediv",group:"div",order:5}}),a.contextMenu&&a.contextMenu.addListener(function(b){return!b||b.isReadOnly()?null:CKEDITOR.plugins.div.getSurroundDiv(a)?{editdiv:CKEDITOR.TRISTATE_OFF,removediv:CKEDITOR.TRISTATE_OFF}:null}));CKEDITOR.dialog.add("creatediv",this.path+
+"dialogs/div.js");CKEDITOR.dialog.add("editdiv",this.path+"dialogs/div.js")}}});CKEDITOR.plugins.div={getSurroundDiv:function(a,c){var b=a.elementPath(c);return a.elementPath(b.blockLimit).contains("div",1)}}})();CKEDITOR.plugins.add("resize",{init:function(b){var f,g,n,o,a=b.config,q=b.ui.spaceId("resizer"),h=b.element?b.element.getDirection(1):"ltr";!a.resize_dir&&(a.resize_dir="vertical");void 0==a.resize_maxWidth&&(a.resize_maxWidth=3E3);void 0==a.resize_maxHeight&&(a.resize_maxHeight=3E3);void 0==a.resize_minWidth&&(a.resize_minWidth=750);void 0==a.resize_minHeight&&(a.resize_minHeight=250);if(!1!==a.resize_enabled){var c=null,i=("both"==a.resize_dir||"horizontal"==a.resize_dir)&&a.resize_minWidth!=a.resize_maxWidth,
+l=("both"==a.resize_dir||"vertical"==a.resize_dir)&&a.resize_minHeight!=a.resize_maxHeight,j=function(d){var e=f,m=g,c=e+(d.data.$.screenX-n)*("rtl"==h?-1:1),d=m+(d.data.$.screenY-o);i&&(e=Math.max(a.resize_minWidth,Math.min(c,a.resize_maxWidth)));l&&(m=Math.max(a.resize_minHeight,Math.min(d,a.resize_maxHeight)));b.resize(i?e:null,m)},k=function(){CKEDITOR.document.removeListener("mousemove",j);CKEDITOR.document.removeListener("mouseup",k);b.document&&(b.document.removeListener("mousemove",j),b.document.removeListener("mouseup",
+k))},p=CKEDITOR.tools.addFunction(function(d){c||(c=b.getResizable());f=c.$.offsetWidth||0;g=c.$.offsetHeight||0;n=d.screenX;o=d.screenY;a.resize_minWidth>f&&(a.resize_minWidth=f);a.resize_minHeight>g&&(a.resize_minHeight=g);CKEDITOR.document.on("mousemove",j);CKEDITOR.document.on("mouseup",k);b.document&&(b.document.on("mousemove",j),b.document.on("mouseup",k));d.preventDefault&&d.preventDefault()});b.on("destroy",function(){CKEDITOR.tools.removeFunction(p)});b.on("uiSpace",function(a){if("bottom"==
+a.data.space){var e="";i&&!l&&(e=" cke_resizer_horizontal");!i&&l&&(e=" cke_resizer_vertical");var c='<span id="'+q+'" class="cke_resizer'+e+" cke_resizer_"+h+'" title="'+CKEDITOR.tools.htmlEncode(b.lang.common.resize)+'" onmousedown="CKEDITOR.tools.callFunction('+p+', event)">'+("ltr"==h?"◢":"◣")+"</span>";"ltr"==h&&"ltr"==e?a.data.html+=c:a.data.html=c+a.data.html}},b,null,100);b.on("maximize",function(a){b.ui.space("resizer")[a.data==CKEDITOR.TRISTATE_ON?"hide":"show"]()})}}});(function(){function w(a){function d(){for(var b=i(),e=CKEDITOR.tools.clone(a.config.toolbarGroups)||n(a),f=0;f<e.length;f++){var k=e[f];if("/"!=k){"string"==typeof k&&(k=e[f]={name:k});var j,d=k.groups;if(d)for(var h=0;h<d.length;h++)j=d[h],(j=b[j])&&c(k,j);(j=b[k.name])&&c(k,j)}}return e}function i(){var b={},c,f,e;for(c in a.ui.items)f=a.ui.items[c],e=f.toolbar||"others",e=e.split(","),f=e[0],e=parseInt(e[1]||-1,10),b[f]||(b[f]=[]),b[f].push({name:c,order:e});for(f in b)b[f]=b[f].sort(function(b,
+a){return b.order==a.order?0:0>a.order?-1:0>b.order?1:b.order<a.order?-1:1});return b}function c(c,e){if(e.length){c.items?c.items.push(a.ui.create("-")):c.items=[];for(var f;f=e.shift();)if(f="string"==typeof f?f:f.name,!b||-1==CKEDITOR.tools.indexOf(b,f))(f=a.ui.create(f))&&a.addFeature(f)&&c.items.push(f)}}function h(b){var a=[],e,d,h;for(e=0;e<b.length;++e)d=b[e],h={},"/"==d?a.push(d):CKEDITOR.tools.isArray(d)?(c(h,CKEDITOR.tools.clone(d)),a.push(h)):d.items&&(c(h,CKEDITOR.tools.clone(d.items)),
+h.name=d.name,a.push(h));return a}var b=a.config.removeButtons,b=b&&b.split(","),e=a.config.toolbar;"string"==typeof e&&(e=a.config["toolbar_"+e]);return a.toolbar=e?h(e):d()}function n(a){return a._.toolbarGroups||(a._.toolbarGroups=[{name:"document",groups:["mode","document","doctools"]},{name:"clipboard",groups:["clipboard","undo"]},{name:"editing",groups:["find","selection","spellchecker"]},{name:"forms"},"/",{name:"basicstyles",groups:["basicstyles","cleanup"]},{name:"paragraph",groups:["list",
+"indent","blocks","align"]},{name:"links"},{name:"insert"},"/",{name:"styles"},{name:"colors"},{name:"tools"},{name:"others"},{name:"about"}])}var t=function(){this.toolbars=[];this.focusCommandExecuted=!1};t.prototype.focus=function(){for(var a=0,d;d=this.toolbars[a++];)for(var i=0,c;c=d.items[i++];)if(c.focus){c.focus();return}};var x={modes:{wysiwyg:1,source:1},readOnly:1,exec:function(a){a.toolbox&&(a.toolbox.focusCommandExecuted=!0,CKEDITOR.env.ie||CKEDITOR.env.air?setTimeout(function(){a.toolbox.focus()},
+100):a.toolbox.focus())}};CKEDITOR.plugins.add("toolbar",{requires:"button",init:function(a){var d,i=function(c,h){var b,e="rtl"==a.lang.dir,g=a.config.toolbarGroupCycling,g=void 0===g||g;switch(h){case 9:case CKEDITOR.SHIFT+9:for(;!b||!b.items.length;)if(b=9==h?(b?b.next:c.toolbar.next)||a.toolbox.toolbars[0]:(b?b.previous:c.toolbar.previous)||a.toolbox.toolbars[a.toolbox.toolbars.length-1],b.items.length)for(c=b.items[d?b.items.length-1:0];c&&!c.focus;)(c=d?c.previous:c.next)||(b=0);c&&c.focus();
+return!1;case e?37:39:case 40:b=c;do b=b.next,!b&&g&&(b=c.toolbar.items[0]);while(b&&!b.focus);b?b.focus():i(c,9);return!1;case e?39:37:case 38:b=c;do b=b.previous,!b&&g&&(b=c.toolbar.items[c.toolbar.items.length-1]);while(b&&!b.focus);b?b.focus():(d=1,i(c,CKEDITOR.SHIFT+9),d=0);return!1;case 27:return a.focus(),!1;case 13:case 32:return c.execute(),!1}return!0};a.on("uiSpace",function(c){if(c.data.space==a.config.toolbarLocation){c.removeListener();a.toolbox=new t;var d=CKEDITOR.tools.getNextId(),
+b=['<span id="',d,'" class="cke_voice_label">',a.lang.toolbar.toolbars,"</span>",'<span id="'+a.ui.spaceId("toolbox")+'" class="cke_toolbox" role="group" aria-labelledby="',d,'" onmousedown="return false;">'],d=!1!==a.config.toolbarStartupExpanded,e,g;a.config.toolbarCanCollapse&&a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE&&b.push('<span class="cke_toolbox_main"'+(d?">":' style="display:none">'));for(var n=a.toolbox.toolbars,f=w(a),k=0;k<f.length;k++){var j,l=0,q,m=f[k],r;if(m)if(e&&(b.push("</span>"),
+g=e=0),"/"===m)b.push('<span class="cke_toolbar_break"></span>');else{r=m.items||m;for(var s=0;s<r.length;s++){var o=r[s],u;if(o)if(o.type==CKEDITOR.UI_SEPARATOR)g=e&&o;else{u=!1!==o.canGroup;if(!l){j=CKEDITOR.tools.getNextId();l={id:j,items:[]};q=m.name&&(a.lang.toolbar.toolbarGroups[m.name]||m.name);b.push('<span id="',j,'" class="cke_toolbar"',q?' aria-labelledby="'+j+'_label"':"",' role="toolbar">');q&&b.push('<span id="',j,'_label" class="cke_voice_label">',q,"</span>");b.push('<span class="cke_toolbar_start"></span>');
+var p=n.push(l)-1;0<p&&(l.previous=n[p-1],l.previous.next=l)}u?e||(b.push('<span class="cke_toolgroup" role="presentation">'),e=1):e&&(b.push("</span>"),e=0);j=function(c){c=c.render(a,b);p=l.items.push(c)-1;if(p>0){c.previous=l.items[p-1];c.previous.next=c}c.toolbar=l;c.onkey=i;c.onfocus=function(){a.toolbox.focusCommandExecuted||a.focus()}};g&&(j(g),g=0);j(o)}}e&&(b.push("</span>"),g=e=0);l&&b.push('<span class="cke_toolbar_end"></span></span>')}}a.config.toolbarCanCollapse&&b.push("</span>");if(a.config.toolbarCanCollapse&&
+a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE){var v=CKEDITOR.tools.addFunction(function(){a.execCommand("toolbarCollapse")});a.on("destroy",function(){CKEDITOR.tools.removeFunction(v)});a.addCommand("toolbarCollapse",{readOnly:1,exec:function(b){var a=b.ui.space("toolbar_collapser"),c=a.getPrevious(),e=b.ui.space("contents"),d=c.getParent(),f=parseInt(e.$.style.height,10),h=d.$.offsetHeight,g=a.hasClass("cke_toolbox_collapser_min");g?(c.show(),a.removeClass("cke_toolbox_collapser_min"),a.setAttribute("title",
+b.lang.toolbar.toolbarCollapse)):(c.hide(),a.addClass("cke_toolbox_collapser_min"),a.setAttribute("title",b.lang.toolbar.toolbarExpand));a.getFirst().setText(g?"▲":"◀");e.setStyle("height",f-(d.$.offsetHeight-h)+"px");b.fire("resize")},modes:{wysiwyg:1,source:1}});a.setKeystroke(CKEDITOR.ALT+(CKEDITOR.env.ie||CKEDITOR.env.webkit?189:109),"toolbarCollapse");b.push('<a title="'+(d?a.lang.toolbar.toolbarCollapse:a.lang.toolbar.toolbarExpand)+'" id="'+a.ui.spaceId("toolbar_collapser")+'" tabIndex="-1" class="cke_toolbox_collapser');
+d||b.push(" cke_toolbox_collapser_min");b.push('" onclick="CKEDITOR.tools.callFunction('+v+')">','<span class="cke_arrow">&#9650;</span>',"</a>")}b.push("</span>");c.data.html+=b.join("")}});a.on("destroy",function(){if(this.toolbox){var a,d=0,b,e,g;for(a=this.toolbox.toolbars;d<a.length;d++){e=a[d].items;for(b=0;b<e.length;b++)g=e[b],g.clickFn&&CKEDITOR.tools.removeFunction(g.clickFn),g.keyDownFn&&CKEDITOR.tools.removeFunction(g.keyDownFn)}}});a.on("uiReady",function(){var c=a.ui.space("toolbox");
+c&&a.focusManager.add(c,1)});a.addCommand("toolbarFocus",x);a.setKeystroke(CKEDITOR.ALT+121,"toolbarFocus");a.ui.add("-",CKEDITOR.UI_SEPARATOR,{});a.ui.addHandler(CKEDITOR.UI_SEPARATOR,{create:function(){return{render:function(a,d){d.push('<span class="cke_toolbar_separator" role="separator"></span>');return{}}}}})}});CKEDITOR.ui.prototype.addToolbarGroup=function(a,d,i){var c=n(this.editor),h=0===d,b={name:a};if(i){if(i=CKEDITOR.tools.search(c,function(a){return a.name==i})){!i.groups&&(i.groups=
+[]);if(d&&(d=CKEDITOR.tools.indexOf(i.groups,d),0<=d)){i.groups.splice(d+1,0,a);return}h?i.groups.splice(0,0,a):i.groups.push(a);return}d=null}d&&(d=CKEDITOR.tools.indexOf(c,function(a){return a.name==d}));h?c.splice(0,0,a):"number"==typeof d?c.splice(d+1,0,b):c.push(a)}})();CKEDITOR.UI_SEPARATOR="separator";CKEDITOR.config.toolbarLocation="top";(function(){var h;function m(a,d){function o(b){b=a._.elementsPath.list[b];if(b.equals(a.editable())){var e=a.createRange();e.selectNodeContents(b);e.select()}else a.getSelection().selectElement(b);a.focus()}function p(){i&&i.setHtml(n);delete a._.elementsPath.list}var l=a.ui.spaceId("path"),i,q="cke_elementspath_"+CKEDITOR.tools.getNextNumber()+"_";a._.elementsPath={idBase:q,filters:[]};d.html+='<span id="'+l+'_label" class="cke_voice_label">'+a.lang.elementspath.eleLabel+'</span><span id="'+l+'" class="cke_path" role="group" aria-labelledby="'+
+l+'_label">'+n+"</span>";a.on("uiReady",function(){var b=a.ui.space("path");b&&a.focusManager.add(b,1)});var m=CKEDITOR.tools.addFunction(o),r=CKEDITOR.tools.addFunction(function(b,e){var c=a._.elementsPath.idBase,f,e=new CKEDITOR.dom.event(e);f="rtl"==a.lang.dir;switch(e.getKeystroke()){case f?39:37:case 9:return(f=CKEDITOR.document.getById(c+(b+1)))||(f=CKEDITOR.document.getById(c+"0")),f.focus(),!1;case f?37:39:case CKEDITOR.SHIFT+9:return(f=CKEDITOR.document.getById(c+(b-1)))||(f=CKEDITOR.document.getById(c+
+(a._.elementsPath.list.length-1))),f.focus(),!1;case 27:return a.focus(),!1;case 13:case 32:return o(b),!1}return!0});a.on("selectionChange",function(b){for(var e=a.editable(),c=b.data.selection.getStartElement(),b=[],f=a._.elementsPath.list=[],d=a._.elementsPath.filters;c;){var j=0,g;g=c.data("cke-display-name")?c.data("cke-display-name"):c.data("cke-real-element-type")?c.data("cke-real-element-type"):c.getName();for(var k=0;k<d.length;k++){var h=d[k](c,g);if(!1===h){j=1;break}g=h||g}j||(j=f.push(c)-
+1,k=a.lang.elementspath.eleTitle.replace(/%1/,g),g=s.output({id:q+j,label:k,text:g,jsTitle:"javascript:void('"+g+"')",index:j,keyDownFn:r,clickFn:m}),b.unshift(g));if(c.equals(e))break;c=c.getParent()}i||(i=CKEDITOR.document.getById(l));e=i;e.setHtml(b.join("")+n);a.fire("elementsPathUpdate",{space:e})});a.on("readOnly",p);a.on("contentDomUnload",p);a.addCommand("elementsPathFocus",h);a.setKeystroke(CKEDITOR.ALT+122,"elementsPathFocus")}h={editorFocus:!1,readOnly:1,exec:function(a){(a=CKEDITOR.document.getById(a._.elementsPath.idBase+
+"0"))&&a.focus(CKEDITOR.env.ie||CKEDITOR.env.air)}};var n='<span class="cke_path_empty">&nbsp;</span>',d="";if(CKEDITOR.env.opera||CKEDITOR.env.gecko&&CKEDITOR.env.mac)d+=' onkeypress="return false;"';CKEDITOR.env.gecko&&(d+=' onblur="this.style.cssText = this.style.cssText;"');var s=CKEDITOR.addTemplate("pathItem",'<a id="{id}" href="{jsTitle}" tabindex="-1" class="cke_path_item" title="{label}"'+(CKEDITOR.env.gecko&&10900>CKEDITOR.env.version?' onfocus="event.preventBubble();"':"")+d+' hidefocus="true"  onkeydown="return CKEDITOR.tools.callFunction({keyDownFn},{index}, event );" onclick="CKEDITOR.tools.callFunction({clickFn},{index}); return false;" role="button" aria-label="{label}">{text}</a>');
+CKEDITOR.plugins.add("elementspath",{init:function(a){a.on("uiSpace",function(d){"bottom"==d.data.space&&m(a,d.data)})}})})();(function(){function C(c,j,f){function b(b){if((d=a[b?"getFirst":"getLast"]())&&(!d.is||!d.isBlockBoundary())&&(m=j.root[b?"getPrevious":"getNext"](CKEDITOR.dom.walker.invisible(!0)))&&(!m.is||!m.isBlockBoundary({br:1})))c.document.createElement("br")[b?"insertBefore":"insertAfter"](d)}for(var i=CKEDITOR.plugins.list.listToArray(j.root,f),e=[],h=0;h<j.contents.length;h++){var g=j.contents[h];if((g=g.getAscendant("li",!0))&&!g.getCustomData("list_item_processed"))e.push(g),CKEDITOR.dom.element.setMarker(f,
+g,"list_item_processed",!0)}g=null;for(h=0;h<e.length;h++)g=e[h].getCustomData("listarray_index"),i[g].indent=-1;for(h=g+1;h<i.length;h++)if(i[h].indent>i[h-1].indent+1){e=i[h-1].indent+1-i[h].indent;for(g=i[h].indent;i[h]&&i[h].indent>=g;)i[h].indent+=e,h++;h--}var a=CKEDITOR.plugins.list.arrayToList(i,f,null,c.config.enterMode,j.root.getAttribute("dir")).listNode,d,m;b(!0);b();a.replace(j.root)}function x(c,j){this.name=c;this.context=this.type=j;this.allowedContent=j+" li";this.requiredContent=
+j}function y(c,j,f,b){for(var i,e;i=c[b?"getLast":"getFirst"](D);)(e=i.getDirection(1))!==j.getDirection(1)&&i.setAttribute("dir",e),i.remove(),f?i[b?"insertBefore":"insertAfter"](f):j.append(i,b)}function A(c){var j;(j=function(f){var b=c[f?"getPrevious":"getNext"](q);b&&(b.type==CKEDITOR.NODE_ELEMENT&&b.is(c.getName()))&&(y(c,b,null,!f),c.remove(),c=b)})();j(1)}function B(c){return c.type==CKEDITOR.NODE_ELEMENT&&(c.getName()in CKEDITOR.dtd.$block||c.getName()in CKEDITOR.dtd.$listItem)&&CKEDITOR.dtd[c.getName()]["#"]}
+function v(c,j,f){c.fire("saveSnapshot");f.enlarge(CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS);var b=f.extractContents();j.trim(!1,!0);var i=j.createBookmark(),e=new CKEDITOR.dom.elementPath(j.startContainer),h=e.block,e=e.lastElement.getAscendant("li",1)||h,g=new CKEDITOR.dom.elementPath(f.startContainer),a=g.contains(CKEDITOR.dtd.$listItem),g=g.contains(CKEDITOR.dtd.$list);h?(h=h.getBogus())&&h.remove():g&&(h=g.getPrevious(q))&&u(h)&&h.remove();(h=b.getLast())&&(h.type==CKEDITOR.NODE_ELEMENT&&h.is("br"))&&
+h.remove();(h=j.startContainer.getChild(j.startOffset))?b.insertBefore(h):j.startContainer.append(b);if(a&&(b=w(a)))e.contains(a)?(y(b,a.getParent(),a),b.remove()):e.append(b);for(;f.checkStartOfBlock()&&f.checkEndOfBlock();)g=f.startPath(),b=g.block,b.is("li")&&(e=b.getParent(),b.equals(e.getLast(q))&&b.equals(e.getFirst(q))&&(b=e)),f.moveToPosition(b,CKEDITOR.POSITION_BEFORE_START),b.remove();f=f.clone();b=c.editable();f.setEndAt(b,CKEDITOR.POSITION_BEFORE_END);f=new CKEDITOR.dom.walker(f);f.evaluator=
+function(a){return q(a)&&!u(a)};(f=f.next())&&(f.type==CKEDITOR.NODE_ELEMENT&&f.getName()in CKEDITOR.dtd.$list)&&A(f);j.moveToBookmark(i);j.select();c.fire("saveSnapshot")}function w(c){return(c=c.getLast(q))&&c.type==CKEDITOR.NODE_ELEMENT&&c.getName()in r?c:null}var r={ol:1,ul:1},E=CKEDITOR.dom.walker.whitespaces(),F=CKEDITOR.dom.walker.bookmark(),q=function(c){return!(E(c)||F(c))},u=CKEDITOR.dom.walker.bogus();CKEDITOR.plugins.list={listToArray:function(c,j,f,b,i){if(!r[c.getName()])return[];b||
+(b=0);f||(f=[]);for(var e=0,h=c.getChildCount();e<h;e++){var g=c.getChild(e);g.type==CKEDITOR.NODE_ELEMENT&&g.getName()in CKEDITOR.dtd.$list&&CKEDITOR.plugins.list.listToArray(g,j,f,b+1);if("li"==g.$.nodeName.toLowerCase()){var a={parent:c,indent:b,element:g,contents:[]};i?a.grandparent=i:(a.grandparent=c.getParent(),a.grandparent&&"li"==a.grandparent.$.nodeName.toLowerCase()&&(a.grandparent=a.grandparent.getParent()));j&&CKEDITOR.dom.element.setMarker(j,g,"listarray_index",f.length);f.push(a);for(var d=
+0,m=g.getChildCount(),k;d<m;d++)k=g.getChild(d),k.type==CKEDITOR.NODE_ELEMENT&&r[k.getName()]?CKEDITOR.plugins.list.listToArray(k,j,f,b+1,a.grandparent):a.contents.push(k)}}return f},arrayToList:function(c,j,f,b,i){f||(f=0);if(!c||c.length<f+1)return null;for(var e,h=c[f].parent.getDocument(),g=new CKEDITOR.dom.documentFragment(h),a=null,d=f,m=Math.max(c[f].indent,0),k=null,n,l,p=b==CKEDITOR.ENTER_P?"p":"div";;){var o=c[d];e=o.grandparent;n=o.element.getDirection(1);if(o.indent==m){if(!a||c[d].parent.getName()!=
+a.getName())a=c[d].parent.clone(!1,1),i&&a.setAttribute("dir",i),g.append(a);k=a.append(o.element.clone(0,1));n!=a.getDirection(1)&&k.setAttribute("dir",n);for(e=0;e<o.contents.length;e++)k.append(o.contents[e].clone(1,1));d++}else if(o.indent==Math.max(m,0)+1)l=c[d-1].element.getDirection(1),d=CKEDITOR.plugins.list.arrayToList(c,null,d,b,l!=n?n:null),!k.getChildCount()&&(CKEDITOR.env.ie&&!(7<h.$.documentMode))&&k.append(h.createText(" ")),k.append(d.listNode),d=d.nextIndex;else if(-1==o.indent&&
+!f&&e){r[e.getName()]?(k=o.element.clone(!1,!0),n!=e.getDirection(1)&&k.setAttribute("dir",n)):k=new CKEDITOR.dom.documentFragment(h);var a=e.getDirection(1)!=n,s=o.element,z=s.getAttribute("class"),u=s.getAttribute("style"),w=k.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT&&(b!=CKEDITOR.ENTER_BR||a||u||z),t,x=o.contents.length;for(e=0;e<x;e++){t=o.contents[e];if(t.type==CKEDITOR.NODE_ELEMENT&&t.isBlockBoundary()){a&&!t.getDirection()&&t.setAttribute("dir",n);var v=t,y=s.getAttribute("style");y&&v.setAttribute("style",
+y.replace(/([^;])$/,"$1;")+(v.getAttribute("style")||""));z&&t.addClass(z)}else w&&(l||(l=h.createElement(p),a&&l.setAttribute("dir",n)),u&&l.setAttribute("style",u),z&&l.setAttribute("class",z),l.append(t.clone(1,1)));k.append(l||t.clone(1,1))}k.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT&&d!=c.length-1&&((n=k.getLast())&&(n.type==CKEDITOR.NODE_ELEMENT&&"_moz"==n.getAttribute("type"))&&n.remove(),(!k.getLast(q)||!(n.type==CKEDITOR.NODE_ELEMENT&&n.getName()in CKEDITOR.dtd.$block))&&k.append(h.createElement("br")));
+n=k.$.nodeName.toLowerCase();!CKEDITOR.env.ie&&("div"==n||"p"==n)&&k.appendBogus();g.append(k);a=null;d++}else return null;l=null;if(c.length<=d||Math.max(c[d].indent,0)<m)break}if(j)for(c=g.getFirst();c;){if(c.type==CKEDITOR.NODE_ELEMENT&&(CKEDITOR.dom.element.clearMarkers(j,c),c.getName()in CKEDITOR.dtd.$listItem&&(f=c,h=i=b=void 0,b=f.getDirection()))){for(i=f.getParent();i&&!(h=i.getDirection());)i=i.getParent();b==h&&f.removeAttribute("dir")}c=c.getNextSourceNode()}return{listNode:g,nextIndex:d}}};
+var G=/^h[1-6]$/,D=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_ELEMENT);x.prototype={exec:function(c){this.refresh(c,c.elementPath());var j=c.config,f=c.getSelection(),b=f&&f.getRanges(!0);if(this.state==CKEDITOR.TRISTATE_OFF){var i=c.editable();if(i.getFirst(q)){var e=1==b.length&&b[0];(j=e&&e.getEnclosedNode())&&(j.is&&this.type==j.getName())&&this.setState(CKEDITOR.TRISTATE_ON)}else j.enterMode==CKEDITOR.ENTER_BR?i.appendBogus():b[0].fixBlock(1,j.enterMode==CKEDITOR.ENTER_P?"p":"div"),f.selectRanges(b)}for(var j=
+f.createBookmarks(!0),i=[],h={},b=b.createIterator(),g=0;(e=b.getNextRange())&&++g;){var a=e.getBoundaryNodes(),d=a.startNode,m=a.endNode;d.type==CKEDITOR.NODE_ELEMENT&&"td"==d.getName()&&e.setStartAt(a.startNode,CKEDITOR.POSITION_AFTER_START);m.type==CKEDITOR.NODE_ELEMENT&&"td"==m.getName()&&e.setEndAt(a.endNode,CKEDITOR.POSITION_BEFORE_END);e=e.createIterator();for(e.forceBrBreak=this.state==CKEDITOR.TRISTATE_OFF;a=e.getNextParagraph();)if(!a.getCustomData("list_block")){CKEDITOR.dom.element.setMarker(h,
+a,"list_block",1);for(var k=c.elementPath(a),d=k.elements,m=0,k=k.blockLimit,n,l=d.length-1;0<=l&&(n=d[l]);l--)if(r[n.getName()]&&k.contains(n)){k.removeCustomData("list_group_object_"+g);(d=n.getCustomData("list_group_object"))?d.contents.push(a):(d={root:n,contents:[a]},i.push(d),CKEDITOR.dom.element.setMarker(h,n,"list_group_object",d));m=1;break}m||(m=k,m.getCustomData("list_group_object_"+g)?m.getCustomData("list_group_object_"+g).contents.push(a):(d={root:m,contents:[a]},CKEDITOR.dom.element.setMarker(h,
+m,"list_group_object_"+g,d),i.push(d)))}}for(n=[];0<i.length;)if(d=i.shift(),this.state==CKEDITOR.TRISTATE_OFF)if(r[d.root.getName()]){a=c;b=d;d=h;g=n;m=CKEDITOR.plugins.list.listToArray(b.root,d);k=[];for(e=0;e<b.contents.length;e++)if(l=b.contents[e],(l=l.getAscendant("li",!0))&&!l.getCustomData("list_item_processed"))k.push(l),CKEDITOR.dom.element.setMarker(d,l,"list_item_processed",!0);for(var l=b.root.getDocument(),p=void 0,o=void 0,e=0;e<k.length;e++){var s=k[e].getCustomData("listarray_index"),
+p=m[s].parent;p.is(this.type)||(o=l.createElement(this.type),p.copyAttributes(o,{start:1,type:1}),o.removeStyle("list-style-type"),m[s].parent=o)}a=CKEDITOR.plugins.list.arrayToList(m,d,null,a.config.enterMode);d=void 0;m=a.listNode.getChildCount();for(e=0;e<m&&(d=a.listNode.getChild(e));e++)d.getName()==this.type&&g.push(d);a.listNode.replace(b.root)}else{m=c;a=d;e=n;k=a.contents;b=a.root.getDocument();g=[];1==k.length&&k[0].equals(a.root)&&(d=b.createElement("div"),k[0].moveChildren&&k[0].moveChildren(d),
+k[0].append(d),k[0]=d);a=a.contents[0].getParent();for(l=0;l<k.length;l++)a=a.getCommonAncestor(k[l].getParent());p=m.config.useComputedState;m=d=void 0;p=void 0===p||p;for(l=0;l<k.length;l++)for(o=k[l];s=o.getParent();){if(s.equals(a)){g.push(o);!m&&o.getDirection()&&(m=1);o=o.getDirection(p);null!==d&&(d=d&&d!=o?null:o);break}o=s}if(!(1>g.length)){k=g[g.length-1].getNext();l=b.createElement(this.type);e.push(l);for(p=e=void 0;g.length;)e=g.shift(),p=b.createElement("li"),e.is("pre")||G.test(e.getName())?
+e.appendTo(p):(e.copyAttributes(p),d&&e.getDirection()&&(p.removeStyle("direction"),p.removeAttribute("dir")),e.moveChildren(p),e.remove()),p.appendTo(l);d&&m&&l.setAttribute("dir",d);k?l.insertBefore(k):l.appendTo(a)}}else this.state==CKEDITOR.TRISTATE_ON&&r[d.root.getName()]&&C.call(this,c,d,h);for(l=0;l<n.length;l++)A(n[l]);CKEDITOR.dom.element.clearAllMarkers(h);f.selectBookmarks(j);c.focus()},refresh:function(c,j){var f=j.contains(r,1),b=j.blockLimit||j.root;f&&b.contains(f)?this.setState(f.is(this.type)?
+CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF):this.setState(CKEDITOR.TRISTATE_OFF)}};CKEDITOR.plugins.add("list",{requires:"indent",init:function(c){c.blockless||(c.addCommand("numberedlist",new x("numberedlist","ol")),c.addCommand("bulletedlist",new x("bulletedlist","ul")),c.ui.addButton&&(c.ui.addButton("NumberedList",{label:c.lang.list.numberedlist,command:"numberedlist",directional:!0,toolbar:"list,10"}),c.ui.addButton("BulletedList",{label:c.lang.list.bulletedlist,command:"bulletedlist",directional:!0,
+toolbar:"list,20"})),c.on("key",function(j){var f=j.data.keyCode;if(c.mode=="wysiwyg"&&f in{8:1,46:1}){var b=c.getSelection().getRanges()[0],i=b.startPath();if(b.collapsed){var i=new CKEDITOR.dom.elementPath(b.startContainer),e=f==8,h=c.editable(),g=new CKEDITOR.dom.walker(b.clone());g.evaluator=function(a){return q(a)&&!u(a)};g.guard=function(a,b){return!(b&&a.type==CKEDITOR.NODE_ELEMENT&&a.is("table"))};f=b.clone();if(e){var a,d;if((a=i.contains(r))&&b.checkBoundaryOfElement(a,CKEDITOR.START)&&
+(a=a.getParent())&&a.is("li")&&(a=w(a))){d=a;a=a.getPrevious(q);f.moveToPosition(a&&u(a)?a:d,CKEDITOR.POSITION_BEFORE_START)}else{g.range.setStartAt(h,CKEDITOR.POSITION_AFTER_START);g.range.setEnd(b.startContainer,b.startOffset);if((a=g.previous())&&a.type==CKEDITOR.NODE_ELEMENT&&(a.getName()in r||a.is("li"))){if(!a.is("li")){g.range.selectNodeContents(a);g.reset();g.evaluator=B;a=g.previous()}d=a;f.moveToElementEditEnd(d)}}if(d){v(c,f,b);j.cancel()}else if((f=i.contains(r))&&b.checkBoundaryOfElement(f,
+CKEDITOR.START)){d=f.getFirst(q);if(b.checkBoundaryOfElement(d,CKEDITOR.START)){a=f.getPrevious(q);if(w(d)){if(a){b.moveToElementEditEnd(a);b.select()}}else c.execCommand("outdent");j.cancel()}}}else if(d=i.contains("li")){g.range.setEndAt(h,CKEDITOR.POSITION_BEFORE_END);h=(i=d.getLast(q))&&B(i)?i:d;d=0;if((a=g.next())&&a.type==CKEDITOR.NODE_ELEMENT&&a.getName()in r&&a.equals(i)){d=1;a=g.next()}else b.checkBoundaryOfElement(h,CKEDITOR.END)&&(d=1);if(d&&a){b=b.clone();b.moveToElementEditStart(a);v(c,
+f,b);j.cancel()}}else{g.range.setEndAt(h,CKEDITOR.POSITION_BEFORE_END);if((a=g.next())&&a.type==CKEDITOR.NODE_ELEMENT&&a.is(r)){a=a.getFirst(q);if(i.block&&b.checkStartOfBlock()&&b.checkEndOfBlock()){i.block.remove();b.moveToElementEditStart(a);b.select()}else if(w(a)){b.moveToElementEditStart(a);b.select()}else{b=b.clone();b.moveToElementEditStart(a);v(c,f,b)}j.cancel()}}setTimeout(function(){c.selectionChange(1)})}}}))}})})();(function(){function p(d,i){this.name=i;var a=this.useIndentClasses=d.config.indentClasses&&0<d.config.indentClasses.length;if(a){this.classNameRegex=RegExp("(?:^|\\s+)("+d.config.indentClasses.join("|")+")(?=$|\\s)");this.indentClassMap={};for(var f=0;f<d.config.indentClasses.length;f++)this.indentClassMap[d.config.indentClasses[f]]=f+1}this.startDisabled="outdent"==i;this.allowedContent={"div h1 h2 h3 h4 h5 h6 ol p pre ul":{propertiesOnly:!0,styles:!a?"margin-left,margin-right":null,classes:a?d.config.indentClasses:
+null}};this.requiredContent=["p"+(a?"("+d.config.indentClasses[0]+")":"{margin-left}"),"li"]}function r(d,i){return"ltr"==(i||d.getComputedStyle("direction"))?"margin-left":"margin-right"}function q(d){return d.type==CKEDITOR.NODE_ELEMENT&&d.is("li")}var m={ol:1,ul:1},t=CKEDITOR.dom.walker.whitespaces(!0),u=CKEDITOR.dom.walker.bookmark(!1,!0);p.prototype={context:"p",refresh:function(d,i){var a=i&&i.contains(m),f=i.block||i.blockLimit;a?this.setState(CKEDITOR.TRISTATE_OFF):!this.useIndentClasses&&
+"indent"==this.name?this.setState(CKEDITOR.TRISTATE_OFF):f?this.useIndentClasses?(a=f.$.className.match(this.classNameRegex),f=0,a&&(a=a[1],f=this.indentClassMap[a]),"outdent"==this.name&&!f||"indent"==this.name&&f==d.config.indentClasses.length?this.setState(CKEDITOR.TRISTATE_DISABLED):this.setState(CKEDITOR.TRISTATE_OFF)):(a=parseInt(f.getStyle(r(f)),10),isNaN(a)&&(a=0),0>=a?this.setState(CKEDITOR.TRISTATE_DISABLED):this.setState(CKEDITOR.TRISTATE_OFF)):this.setState(CKEDITOR.TRISTATE_DISABLED)},
+exec:function(d){function i(n){for(var j=l.startContainer,b=l.endContainer;j&&!j.getParent().equals(n);)j=j.getParent();for(;b&&!b.getParent().equals(n);)b=b.getParent();if(j&&b){for(var c=j,j=[],a=!1;!a;)c.equals(b)&&(a=!0),j.push(c),c=c.getNext();if(!(1>j.length)){c=n.getParents(!0);for(b=0;b<c.length;b++)if(c[b].getName&&m[c[b].getName()]){n=c[b];break}for(var c="indent"==e.name?1:-1,b=j[0],j=j[j.length-1],a=CKEDITOR.plugins.list.listToArray(n,o),f=a[j.getCustomData("listarray_index")].indent,
+b=b.getCustomData("listarray_index");b<=j.getCustomData("listarray_index");b++)if(a[b].indent+=c,0<c){var k=a[b].parent;a[b].parent=new CKEDITOR.dom.element(k.getName(),k.getDocument())}for(b=j.getCustomData("listarray_index")+1;b<a.length&&a[b].indent>f;b++)a[b].indent+=c;j=CKEDITOR.plugins.list.arrayToList(a,o,null,d.config.enterMode,n.getDirection());if("outdent"==e.name){var i;if((i=n.getParent())&&i.is("li"))for(var c=j.listNode.getChildren(),h=[],g,b=c.count()-1;0<=b;b--)(g=c.getItem(b))&&(g.is&&
+g.is("li"))&&h.push(g)}j&&j.listNode.replace(n);if(h&&h.length)for(b=0;b<h.length;b++){for(g=n=h[b];(g=g.getNext())&&g.is&&g.getName()in m;)CKEDITOR.env.ie&&!n.getFirst(function(b){return t(b)&&u(b)})&&n.append(l.document.createText(" ")),n.append(g);n.insertAfter(i)}}}}function a(){var a=l.createIterator(),e=d.config.enterMode;a.enforceRealBlocks=!0;a.enlargeBr=e!=CKEDITOR.ENTER_BR;for(var b;b=a.getNextParagraph(e==CKEDITOR.ENTER_P?"p":"div");)f(b)}function f(a,g){if(a.getCustomData("indent_processed"))return!1;
+if(e.useIndentClasses){var b=a.$.className.match(e.classNameRegex),c=0;b&&(b=b[1],c=e.indentClassMap[b]);"outdent"==e.name?c--:c++;if(0>c)return!1;c=Math.min(c,d.config.indentClasses.length);c=Math.max(c,0);a.$.className=CKEDITOR.tools.ltrim(a.$.className.replace(e.classNameRegex,""));0<c&&a.addClass(d.config.indentClasses[c-1])}else{b=r(a,g);c=parseInt(a.getStyle(b),10);isNaN(c)&&(c=0);var f=d.config.indentOffset||40,c=c+("indent"==e.name?1:-1)*f;if(0>c)return!1;c=Math.max(c,0);c=Math.ceil(c/f)*
+f;a.setStyle(b,c?c+(d.config.indentUnit||"px"):"");""===a.getAttribute("style")&&a.removeAttribute("style")}CKEDITOR.dom.element.setMarker(o,a,"indent_processed",1);return!0}for(var e=this,o={},g=d.getSelection(),v=g.createBookmarks(1),l,p=(g&&g.getRanges(1)).createIterator();l=p.getNextRange();){for(var h=l.getCommonAncestor();h&&!(h.type==CKEDITOR.NODE_ELEMENT&&m[h.getName()]);)h=h.getParent();if(!h){var k=l.getEnclosedNode();k&&(k.type==CKEDITOR.NODE_ELEMENT&&k.getName()in m)&&(l.setStartAt(k,
+CKEDITOR.POSITION_AFTER_START),l.setEndAt(k,CKEDITOR.POSITION_BEFORE_END),h=k)}h&&(l.startContainer.type==CKEDITOR.NODE_ELEMENT&&l.startContainer.getName()in m)&&(k=new CKEDITOR.dom.walker(l),k.evaluator=q,l.startContainer=k.next());h&&(l.endContainer.type==CKEDITOR.NODE_ELEMENT&&l.endContainer.getName()in m)&&(k=new CKEDITOR.dom.walker(l),k.evaluator=q,l.endContainer=k.previous());if(h){var k=h.getFirst(q),w=!!k.getNext(q),s=l.startContainer;(!k.equals(s)&&!k.contains(s)||!("indent"==e.name||e.useIndentClasses||
+parseInt(h.getStyle(r(h)),10))||!f(h,!w&&k.getDirection()))&&i(h)}else a()}CKEDITOR.dom.element.clearAllMarkers(o);d.forceNextSelectionCheck();g.selectBookmarks(v)}};CKEDITOR.plugins.add("indent",{requires:"list",onLoad:function(){(CKEDITOR.env.ie6Compat||CKEDITOR.env.ie7Compat)&&CKEDITOR.addCss(".cke_editable ul,.cke_editable ol{\tmargin-left: 0px;\tpadding-left: 40px;}")},init:function(d){d.blockless||(d.addCommand("indent",new p(d,"indent")),d.addCommand("outdent",new p(d,"outdent")),d.ui.addButton&&
+(d.ui.addButton("Indent",{label:d.lang.indent.indent,command:"indent",directional:!0,toolbar:"indent,20"}),d.ui.addButton("Outdent",{label:d.lang.indent.outdent,command:"outdent",directional:!0,toolbar:"indent,10"})),d.on("dirChanged",function(i){var a=d.createRange();a.setStartBefore(i.data.node);a.setEndAfter(i.data.node);for(var f=new CKEDITOR.dom.walker(a),e;e=f.next();)if(e.type==CKEDITOR.NODE_ELEMENT)if(!e.equals(i.data.node)&&e.getDirection()){a.setStartAfter(e);f=new CKEDITOR.dom.walker(a)}else{var o=
+d.config.indentClasses;if(o)for(var g=i.data.dir=="ltr"?["_rtl",""]:["","_rtl"],m=0;m<o.length;m++)if(e.hasClass(o[m]+g[0])){e.removeClass(o[m]+g[0]);e.addClass(o[m]+g[1])}o=e.getStyle("margin-right");g=e.getStyle("margin-left");o?e.setStyle("margin-left",o):e.removeStyle("margin-left");g?e.setStyle("margin-right",g):e.removeStyle("margin-right")}}))}})})();(function(){function m(a,d,b){b=a.config.forceEnterMode||b;if("wysiwyg"!=a.mode)return!1;d||(d=a.config.enterMode);a.elementPath().isContextFor("p")||(d=CKEDITOR.ENTER_BR,b=1);a.fire("saveSnapshot");d==CKEDITOR.ENTER_BR?n(a,d,null,b):o(a,d,null,b);a.fire("saveSnapshot");return!0}function p(a){for(var a=a.getSelection().getRanges(!0),d=a.length-1;0<d;d--)a[d].deleteContents();return a[0]}CKEDITOR.plugins.add("enterkey",{requires:"indent",init:function(a){a.addCommand("enter",{modes:{wysiwyg:1},editorFocus:!1,
+exec:function(a){m(a)}});a.addCommand("shiftEnter",{modes:{wysiwyg:1},editorFocus:!1,exec:function(a){"wysiwyg"==a.mode&&m(a,a.config.shiftEnterMode,1)}});a.setKeystroke([[13,"enter"],[CKEDITOR.SHIFT+13,"shiftEnter"]])}});var s=CKEDITOR.dom.walker.whitespaces(),t=CKEDITOR.dom.walker.bookmark();CKEDITOR.plugins.enterkey={enterBlock:function(a,d,b,i){if(b=b||p(a)){var f=b.document,j=b.checkStartOfBlock(),h=b.checkEndOfBlock(),c=a.elementPath(b.startContainer).block;if(j&&h){if(c&&(c.is("li")||c.getParent().is("li"))){a.execCommand("outdent");
+return}if(c&&c.getParent().is("blockquote")){c.breakParent(c.getParent());c.getPrevious().getFirst(CKEDITOR.dom.walker.invisible(1))||c.getPrevious().remove();c.getNext().getFirst(CKEDITOR.dom.walker.invisible(1))||c.getNext().remove();b.moveToElementEditStart(c);b.select();return}}else if(c&&c.is("pre")&&!h){n(a,d,b,i);return}var c=d==CKEDITOR.ENTER_DIV?"div":"p",l=b.splitBlock(c);if(l){var d=l.previousBlock,a=l.nextBlock,j=l.wasStartOfBlock,h=l.wasEndOfBlock,g;if(a)g=a.getParent(),g.is("li")&&(a.breakParent(g),
+a.move(a.getNext(),1));else if(d&&(g=d.getParent())&&g.is("li"))d.breakParent(g),g=d.getNext(),b.moveToElementEditStart(g),d.move(d.getPrevious());if(!j&&!h){if(a.is("li")){var e=b.clone();e.selectNodeContents(a);e=new CKEDITOR.dom.walker(e);e.evaluator=function(a){return!(t(a)||s(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.getName()in CKEDITOR.dtd.$inline&&!(a.getName()in CKEDITOR.dtd.$empty))};(g=e.next())&&(g.type==CKEDITOR.NODE_ELEMENT&&g.is("ul","ol"))&&(CKEDITOR.env.ie?f.createText(" "):f.createElement("br")).insertBefore(g)}a&&
+b.moveToElementEditStart(a)}else{var k;if(d){if(d.is("li")||!q.test(d.getName())&&!d.is("pre"))e=d.clone()}else a&&(e=a.clone());e?i&&!e.is("li")&&e.renameNode(c):g&&g.is("li")?e=g:(e=f.createElement(c),d&&(k=d.getDirection())&&e.setAttribute("dir",k));if(f=l.elementPath){i=0;for(g=f.elements.length;i<g;i++){k=f.elements[i];if(k.equals(f.block)||k.equals(f.blockLimit))break;CKEDITOR.dtd.$removeEmpty[k.getName()]&&(k=k.clone(),e.moveChildren(k),e.append(k))}}CKEDITOR.env.ie||e.appendBogus();e.getParent()||
+b.insertNode(e);e.is("li")&&e.removeAttribute("value");if(CKEDITOR.env.ie&&j&&(!h||!d.getChildCount()))b.moveToElementEditStart(h?d:e),b.select();b.moveToElementEditStart(j&&!h?a:e)}b.select();b.scrollIntoView()}}},enterBr:function(a,d,b,i){if(b=b||p(a)){var f=b.document,j=b.checkEndOfBlock(),h=new CKEDITOR.dom.elementPath(a.getSelection().getStartElement()),c=h.block,h=c&&h.block.getName();!i&&"li"==h?o(a,d,b,i):(!i&&j&&q.test(h)?(j=c.getDirection())?(f=f.createElement("div"),f.setAttribute("dir",
+j),f.insertAfter(c),b.setStart(f,0)):(f.createElement("br").insertAfter(c),CKEDITOR.env.gecko&&f.createText("").insertAfter(c),b.setStartAt(c.getNext(),CKEDITOR.env.ie?CKEDITOR.POSITION_BEFORE_START:CKEDITOR.POSITION_AFTER_START)):(c="pre"==h&&CKEDITOR.env.ie&&8>CKEDITOR.env.version?f.createText("\r"):f.createElement("br"),b.deleteContents(),b.insertNode(c),CKEDITOR.env.ie?b.setStartAt(c,CKEDITOR.POSITION_AFTER_END):(f.createText("").insertAfter(c),j&&c.getParent().appendBogus(),c.getNext().$.nodeValue=
+"",b.setStartAt(c.getNext(),CKEDITOR.POSITION_AFTER_START))),b.collapse(!0),b.select(),b.scrollIntoView())}}};var r=CKEDITOR.plugins.enterkey,n=r.enterBr,o=r.enterBlock,q=/^h[1-6]$/})();(function(){function j(a,b){var d={},e=[],f={nbsp:" ",shy:"­",gt:">",lt:"<",amp:"&",apos:"'",quot:'"'},a=a.replace(/\b(nbsp|shy|gt|lt|amp|apos|quot)(?:,|$)/g,function(a,h){var c=b?"&"+h+";":f[h];d[c]=b?f[h]:"&"+h+";";e.push(c);return""});if(!b&&a){var a=a.split(","),c=document.createElement("div"),g;c.innerHTML="&"+a.join(";&")+";";g=c.innerHTML;c=null;for(c=0;c<g.length;c++){var i=g.charAt(c);d[i]="&"+a[c]+";";e.push(i)}}d.regex=e.join(b?"|":"");return d}CKEDITOR.plugins.add("entities",{afterInit:function(a){var b=
+a.config;if(a=(a=a.dataProcessor)&&a.htmlFilter){var d=[];!1!==b.basicEntities&&d.push("nbsp,gt,lt,amp");b.entities&&(d.length&&d.push("quot,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,lceil,rceil,lfloor,rfloor,lang,rang,loz,spades,clubs,hearts,diams,circ,tilde,ensp,emsp,thinsp,zwnj,zwj,lrm,rlm,ndash,mdash,lsquo,rsquo,sbquo,ldquo,rdquo,bdquo,dagger,Dagger,permil,lsaquo,rsaquo,euro"),
+b.entities_latin&&d.push("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"),b.entities_greek&&d.push("Alpha,Beta,Gamma,Delta,Epsilon,Zeta,Eta,Theta,Iota,Kappa,Lambda,Mu,Nu,Xi,Omicron,Pi,Rho,Sigma,Tau,Upsilon,Phi,Chi,Psi,Omega,alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,mu,nu,xi,omicron,pi,rho,sigmaf,sigma,tau,upsilon,phi,chi,psi,omega,thetasym,upsih,piv"),
+b.entities_additional&&d.push(b.entities_additional));var e=j(d.join(",")),f=e.regex?"["+e.regex+"]":"a^";delete e.regex;b.entities&&b.entities_processNumerical&&(f="[^ -~]|"+f);var f=RegExp(f,"g"),c=function(a){return b.entities_processNumerical=="force"||!e[a]?"&#"+a.charCodeAt(0)+";":e[a]},g=j("nbsp,gt,lt,amp,shy",!0),i=RegExp(g.regex,"g"),k=function(a){return g[a]};a.addRules({text:function(a){return a.replace(i,k).replace(f,c)}})}}})})();CKEDITOR.config.basicEntities=!0;
+CKEDITOR.config.entities=!0;CKEDITOR.config.entities_latin=!0;CKEDITOR.config.entities_greek=!0;CKEDITOR.config.entities_additional="#39";CKEDITOR.plugins.add("popup");
+CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{popup:function(e,a,b,d){a=a||"80%";b=b||"70%";"string"==typeof a&&(1<a.length&&"%"==a.substr(a.length-1,1))&&(a=parseInt(window.screen.width*parseInt(a,10)/100,10));"string"==typeof b&&(1<b.length&&"%"==b.substr(b.length-1,1))&&(b=parseInt(window.screen.height*parseInt(b,10)/100,10));640>a&&(a=640);420>b&&(b=420);var f=parseInt((window.screen.height-b)/2,10),g=parseInt((window.screen.width-a)/2,10),d=(d||"location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes")+",width="+
+a+",height="+b+",top="+f+",left="+g,c=window.open("",null,d,!0);if(!c)return!1;try{-1==navigator.userAgent.toLowerCase().indexOf(" chrome/")&&(c.moveTo(g,f),c.resizeTo(a,b)),c.focus(),c.location.href=e}catch(h){window.open(e,null,d,!0)}return!0}});(function(){function g(a,c){var d=[];if(c)for(var b in c)d.push(b+"="+encodeURIComponent(c[b]));else return a;return a+(-1!=a.indexOf("?")?"&":"?")+d.join("&")}function i(a){a+="";return a.charAt(0).toUpperCase()+a.substr(1)}function k(){var a=this.getDialog(),c=a.getParentEditor();c._.filebrowserSe=this;var d=c.config["filebrowser"+i(a.getName())+"WindowWidth"]||c.config.filebrowserWindowWidth||"80%",a=c.config["filebrowser"+i(a.getName())+"WindowHeight"]||c.config.filebrowserWindowHeight||"70%",
+b=this.filebrowser.params||{};b.CKEditor=c.name;b.CKEditorFuncNum=c._.filebrowserFn;b.langCode||(b.langCode=c.langCode);b=g(this.filebrowser.url,b);c.popup(b,d,a,c.config.filebrowserWindowFeatures||c.config.fileBrowserWindowFeatures)}function l(){var a=this.getDialog();a.getParentEditor()._.filebrowserSe=this;return!a.getContentElement(this["for"][0],this["for"][1]).getInputElement().$.value||!a.getContentElement(this["for"][0],this["for"][1]).getAction()?!1:!0}function m(a,c,d){var b=d.params||{};
+b.CKEditor=a.name;b.CKEditorFuncNum=a._.filebrowserFn;b.langCode||(b.langCode=a.langCode);c.action=g(d.url,b);c.filebrowser=d}function j(a,c,d,b){if(b&&b.length)for(var e,g=b.length;g--;)if(e=b[g],("hbox"==e.type||"vbox"==e.type||"fieldset"==e.type)&&j(a,c,d,e.children),e.filebrowser)if("string"==typeof e.filebrowser&&(e.filebrowser={action:"fileButton"==e.type?"QuickUpload":"Browse",target:e.filebrowser}),"Browse"==e.filebrowser.action){var f=e.filebrowser.url;void 0===f&&(f=a.config["filebrowser"+
+i(c)+"BrowseUrl"],void 0===f&&(f=a.config.filebrowserBrowseUrl));f&&(e.onClick=k,e.filebrowser.url=f,e.hidden=!1)}else if("QuickUpload"==e.filebrowser.action&&e["for"]&&(f=e.filebrowser.url,void 0===f&&(f=a.config["filebrowser"+i(c)+"UploadUrl"],void 0===f&&(f=a.config.filebrowserUploadUrl)),f)){var h=e.onClick;e.onClick=function(a){var b=a.sender;return h&&h.call(b,a)===false?false:l.call(b,a)};e.filebrowser.url=f;e.hidden=!1;m(a,d.getContents(e["for"][0]).get(e["for"][1]),e.filebrowser)}}function h(a,
+c,d){if(-1!==d.indexOf(";")){for(var d=d.split(";"),b=0;b<d.length;b++)if(h(a,c,d[b]))return!0;return!1}return(a=a.getContents(c).get(d).filebrowser)&&a.url}function n(a,c){var d=this._.filebrowserSe.getDialog(),b=this._.filebrowserSe["for"],e=this._.filebrowserSe.filebrowser.onSelect;b&&d.getContentElement(b[0],b[1]).reset();if(!("function"==typeof c&&!1===c.call(this._.filebrowserSe))&&!(e&&!1===e.call(this._.filebrowserSe,a,c))&&("string"==typeof c&&c&&alert(c),a&&(b=this._.filebrowserSe,d=b.getDialog(),
+b=b.filebrowser.target||null)))if(b=b.split(":"),e=d.getContentElement(b[0],b[1]))e.setValue(a),d.selectPage(b[0])}CKEDITOR.plugins.add("filebrowser",{requires:"popup",init:function(a){a._.filebrowserFn=CKEDITOR.tools.addFunction(n,a);a.on("destroy",function(){CKEDITOR.tools.removeFunction(this._.filebrowserFn)})}});CKEDITOR.on("dialogDefinition",function(a){for(var c=a.data.definition,d,b=0;b<c.contents.length;++b)if(d=c.contents[b])j(a.editor,a.data.name,c,d.elements),d.hidden&&d.filebrowser&&(d.hidden=
+!h(c,d.id,d.filebrowser))})})();CKEDITOR.plugins.add("find",{requires:"dialog",init:function(a){var b=a.addCommand("find",new CKEDITOR.dialogCommand("find"));b.canUndo=!1;b.readOnly=1;a.addCommand("replace",new CKEDITOR.dialogCommand("replace")).canUndo=!1;a.ui.addButton&&(a.ui.addButton("Find",{label:a.lang.find.find,command:"find",toolbar:"find,10"}),a.ui.addButton("Replace",{label:a.lang.find.replace,command:"replace",toolbar:"find,20"}));CKEDITOR.dialog.add("find",this.path+"dialogs/find.js");CKEDITOR.dialog.add("replace",this.path+
+"dialogs/find.js")}});CKEDITOR.config.find_highlight={element:"span",styles:{"background-color":"#004",color:"#fff"}};(function(){function g(a,b){var c=j.exec(a),d=j.exec(b);if(c){if(!c[2]&&"px"==d[2])return d[1];if("px"==c[2]&&!d[2])return d[1]+"px"}return b}var i=CKEDITOR.htmlParser.cssStyle,h=CKEDITOR.tools.cssLength,j=/^((?:\d*(?:\.\d+))|(?:\d+))(.*)?$/i,l={elements:{$:function(a){var b=a.attributes;if((b=(b=(b=b&&b["data-cke-realelement"])&&new CKEDITOR.htmlParser.fragment.fromHtml(decodeURIComponent(b)))&&b.children[0])&&a.attributes["data-cke-resizable"]){var c=(new i(a)).rules,a=b.attributes,d=c.width,c=
+c.height;d&&(a.width=g(a.width,d));c&&(a.height=g(a.height,c))}return b}}},k=CKEDITOR.plugins.add("fakeobjects",{afterInit:function(a){(a=(a=a.dataProcessor)&&a.htmlFilter)&&a.addRules(l)}});CKEDITOR.editor.prototype.createFakeElement=function(a,b,c,d){var e=this.lang.fakeobjects,e=e[c]||e.unknown,b={"class":b,"data-cke-realelement":encodeURIComponent(a.getOuterHtml()),"data-cke-real-node-type":a.type,alt:e,title:e,align:a.getAttribute("align")||""};CKEDITOR.env.hc||(b.src=CKEDITOR.getUrl(k.path+
+"images/spacer.gif"));c&&(b["data-cke-real-element-type"]=c);d&&(b["data-cke-resizable"]=d,c=new i,d=a.getAttribute("width"),a=a.getAttribute("height"),d&&(c.rules.width=h(d)),a&&(c.rules.height=h(a)),c.populate(b));return this.document.createElement("img",{attributes:b})};CKEDITOR.editor.prototype.createFakeParserElement=function(a,b,c,d){var e=this.lang.fakeobjects,e=e[c]||e.unknown,f;f=new CKEDITOR.htmlParser.basicWriter;a.writeHtml(f);f=f.getHtml();b={"class":b,"data-cke-realelement":encodeURIComponent(f),
+"data-cke-real-node-type":a.type,alt:e,title:e,align:a.attributes.align||""};CKEDITOR.env.hc||(b.src=CKEDITOR.getUrl(k.path+"images/spacer.gif"));c&&(b["data-cke-real-element-type"]=c);d&&(b["data-cke-resizable"]=d,d=a.attributes,a=new i,c=d.width,d=d.height,void 0!=c&&(a.rules.width=h(c)),void 0!=d&&(a.rules.height=h(d)),a.populate(b));return new CKEDITOR.htmlParser.element("img",b)};CKEDITOR.editor.prototype.restoreRealElement=function(a){if(a.data("cke-real-node-type")!=CKEDITOR.NODE_ELEMENT)return null;
+var b=CKEDITOR.dom.element.createFromHtml(decodeURIComponent(a.data("cke-realelement")),this.document);if(a.data("cke-resizable")){var c=a.getStyle("width"),a=a.getStyle("height");c&&b.setAttribute("width",g(b.getAttribute("width"),c));a&&b.setAttribute("height",g(b.getAttribute("height"),a))}return b}})();(function(){function d(a){a=a.attributes;return"application/x-shockwave-flash"==a.type||f.test(a.src||"")}function e(a,b){return a.createFakeParserElement(b,"cke_flash","flash",!0)}var f=/\.swf(?:$|\?)/i;CKEDITOR.plugins.add("flash",{requires:"dialog,fakeobjects",onLoad:function(){CKEDITOR.addCss("img.cke_flash{background-image: url("+CKEDITOR.getUrl(this.path+"images/placeholder.png")+");background-position: center center;background-repeat: no-repeat;border: 1px solid #a9a9a9;width: 80px;height: 80px;}")},
+init:function(a){var b="object[classid,codebase,height,hspace,vspace,width];param[name,value];embed[height,hspace,pluginspage,src,type,vspace,width]";CKEDITOR.dialog.isTabEnabled(a,"flash","properties")&&(b+=";object[align]; embed[allowscriptaccess,quality,scale,wmode]");CKEDITOR.dialog.isTabEnabled(a,"flash","advanced")&&(b+=";object[id]{*}; embed[bgcolor]{*}(*)");a.addCommand("flash",new CKEDITOR.dialogCommand("flash",{allowedContent:b,requiredContent:"embed"}));a.ui.addButton&&a.ui.addButton("Flash",
+{label:a.lang.common.flash,command:"flash",toolbar:"insert,20"});CKEDITOR.dialog.add("flash",this.path+"dialogs/flash.js");a.addMenuItems&&a.addMenuItems({flash:{label:a.lang.flash.properties,command:"flash",group:"flash"}});a.on("doubleclick",function(a){var b=a.data.element;b.is("img")&&"flash"==b.data("cke-real-element-type")&&(a.data.dialog="flash")});a.contextMenu&&a.contextMenu.addListener(function(a){if(a&&a.is("img")&&!a.isReadOnly()&&"flash"==a.data("cke-real-element-type"))return{flash:CKEDITOR.TRISTATE_OFF}})},
+afterInit:function(a){var b=a.dataProcessor;(b=b&&b.dataFilter)&&b.addRules({elements:{"cke:object":function(b){var c=b.attributes;if((!c.classid||!(""+c.classid).toLowerCase())&&!d(b)){for(c=0;c<b.children.length;c++)if("cke:embed"==b.children[c].name){if(!d(b.children[c]))break;return e(a,b)}return null}return e(a,b)},"cke:embed":function(b){return!d(b)?null:e(a,b)}}},5)}})})();CKEDITOR.tools.extend(CKEDITOR.config,{flashEmbedTagOnly:!1,flashAddEmbedTag:!0,flashConvertOnEdit:!1});(function(){function t(a){var e="left"==a?"pageXOffset":"pageYOffset";return e in g.$?g.$[e]:CKEDITOR.document.$.documentElement["left"==a?"scrollLeft":"scrollTop"]}function p(a){var e,f=a.config,p=f.floatSpaceDockedOffsetX||0,o=f.floatSpaceDockedOffsetY||0,u=f.floatSpacePinnedOffsetX||0,q=f.floatSpacePinnedOffsetY||0,i=function(c){function f(a,c,b){d.setStyle(c,s(b));d.setStyle("position",a)}function j(a){var c=r.getDocumentPosition();switch(a){case "top":f("absolute","top",c.y-l-o);break;case "pin":f("fixed",
+"top",q);break;case "bottom":f("absolute","top",c.y+(b.height||b.bottom-b.top)+o)}e=a}var r=a.editable();if(r){"focus"==c.name&&d.show();d.removeStyle("left");d.removeStyle("right");var k=d.getClientRect(),b=r.getClientRect(),l=k.height,n=t("left");if(e){"top"==e&&k.top<q?j("pin"):"pin"==e?b.top>o+l?j("top"):b.bottom-k.bottom<l&&j("bottom"):"bottom"==e&&(b.top>o+l?j("top"):b.bottom>2*l+q&&j("pin"));var c=g.getViewPaneSize(),h=c.width/2,h=0<b.left&&b.right<c.width&&b.width>k.width?"rtl"==a.config.contentsLangDirection?
+"right":"left":h-b.left>b.right-h?"left":"right",m;k.width>c.width?(h="left",m=0):(m="left"==h?0<b.left?b.left:0:b.right<c.width?c.width-b.right:0,m+k.width>c.width&&(h="left"==h?"right":"left",m=0));d.setStyle(h,s(("pin"==e?u:p)+m+("pin"==e?0:"left"==h?n:-n)))}else e="pin",j("pin"),i(c)}},f=CKEDITOR.document.getBody(),v={id:a.id,name:a.name,langDir:a.lang.dir,langCode:a.langCode},n=a.fire("uiSpace",{space:"top",html:""}).html;if(n){var d=f.append(CKEDITOR.dom.element.createFromHtml(w.output(CKEDITOR.tools.extend({topId:a.ui.spaceId("top"),
+content:n,style:"display:none;z-index:"+(a.config.baseFloatZIndex-1)},v))));d.unselectable();d.on("mousedown",function(a){a=a.data;a.getTarget().hasAscendant("a",1)||a.preventDefault()});a.on("focus",function(a){i(a);g.on("scroll",i);g.on("resize",i)});a.on("blur",function(){d.hide();g.removeListener("scroll",i);g.removeListener("resize",i)});a.on("destroy",function(){g.removeListener("scroll",i);g.removeListener("resize",i);d.clearCustomData();d.remove()});a.focusManager.hasFocus&&d.show();a.focusManager.add(d,
+1)}}var w=CKEDITOR.addTemplate("floatcontainer",'<div id="cke_{name}" class="cke {id} cke_reset_all cke_chrome cke_editor_{name} cke_float cke_{langDir} '+CKEDITOR.env.cssClass+'" dir="{langDir}" title="'+(CKEDITOR.env.gecko?" ":"")+'" lang="{langCode}" role="application" style="{style}"><div class="cke_inner"><div id="{topId}" class="cke_top" role="presentation">{content}</div></div></div>');CKEDITOR.plugins.add("floatingspace",{init:function(a){a.on("loaded",function(){p(a)},null,null,20)}});var g=
+CKEDITOR.document.getWindow(),s=CKEDITOR.tools.cssLength})();CKEDITOR.plugins.add("listblock",{requires:"panel",onLoad:function(){var e=CKEDITOR.addTemplate("panel-list",'<ul role="presentation" class="cke_panel_list">{items}</ul>'),f=CKEDITOR.addTemplate("panel-list-item",'<li id="{id}" class="cke_panel_listItem" role=presentation><a id="{id}_option" _cke_focus=1 hidefocus=true title="{title}" href="javascript:void(\'{val}\')"  {onclick}="CKEDITOR.tools.callFunction({clickFn},\'{val}\'); return false;" role="option">{text}</a></li>'),g=CKEDITOR.addTemplate("panel-list-group",
+'<h1 id="{id}" class="cke_panel_grouptitle" role="presentation" >{label}</h1>');CKEDITOR.ui.panel.prototype.addListBlock=function(a,b){return this.addBlock(a,new CKEDITOR.ui.listBlock(this.getHolderElement(),b))};CKEDITOR.ui.listBlock=CKEDITOR.tools.createClass({base:CKEDITOR.ui.panel.block,$:function(a,b){var b=b||{},c=b.attributes||(b.attributes={});(this.multiSelect=!!b.multiSelect)&&(c["aria-multiselectable"]=!0);!c.role&&(c.role="listbox");this.base.apply(this,arguments);c=this.keys;c[40]="next";
+c[9]="next";c[38]="prev";c[CKEDITOR.SHIFT+9]="prev";c[32]=CKEDITOR.env.ie?"mouseup":"click";CKEDITOR.env.ie&&(c[13]="mouseup");this._.pendingHtml=[];this._.pendingList=[];this._.items={};this._.groups={}},_:{close:function(){if(this._.started){var a=e.output({items:this._.pendingList.join("")});this._.pendingList=[];this._.pendingHtml.push(a);delete this._.started}},getClick:function(){this._.click||(this._.click=CKEDITOR.tools.addFunction(function(a){var b=this.toggle(a);if(this.onClick)this.onClick(a,
+b)},this));return this._.click}},proto:{add:function(a,b,c){var d=CKEDITOR.tools.getNextId();this._.started||(this._.started=1,this._.size=this._.size||0);this._.items[a]=d;a={id:d,val:a,onclick:CKEDITOR.env.ie?'onclick="return false;" onmouseup':"onclick",clickFn:this._.getClick(),title:c||a,text:b||a};this._.pendingList.push(f.output(a))},startGroup:function(a){this._.close();var b=CKEDITOR.tools.getNextId();this._.groups[a]=b;this._.pendingHtml.push(g.output({id:b,label:a}))},commit:function(){this._.close();
+this.element.appendHtml(this._.pendingHtml.join(""));delete this._.size;this._.pendingHtml=[]},toggle:function(a){var b=this.isMarked(a);b?this.unmark(a):this.mark(a);return!b},hideGroup:function(a){var b=(a=this.element.getDocument().getById(this._.groups[a]))&&a.getNext();a&&(a.setStyle("display","none"),b&&"ul"==b.getName()&&b.setStyle("display","none"))},hideItem:function(a){this.element.getDocument().getById(this._.items[a]).setStyle("display","none")},showAll:function(){var a=this._.items,b=
+this._.groups,c=this.element.getDocument(),d;for(d in a)c.getById(a[d]).setStyle("display","");for(var e in b)a=c.getById(b[e]),d=a.getNext(),a.setStyle("display",""),d&&"ul"==d.getName()&&d.setStyle("display","")},mark:function(a){this.multiSelect||this.unmarkAll();var a=this._.items[a],b=this.element.getDocument().getById(a);b.addClass("cke_selected");this.element.getDocument().getById(a+"_option").setAttribute("aria-selected",!0);this.onMark&&this.onMark(b)},unmark:function(a){var b=this.element.getDocument(),
+a=this._.items[a],c=b.getById(a);c.removeClass("cke_selected");b.getById(a+"_option").removeAttribute("aria-selected");this.onUnmark&&this.onUnmark(c)},unmarkAll:function(){var a=this._.items,b=this.element.getDocument(),c;for(c in a){var d=a[c];b.getById(d).removeClass("cke_selected");b.getById(d+"_option").removeAttribute("aria-selected")}this.onUnmark&&this.onUnmark()},isMarked:function(a){return this.element.getDocument().getById(this._.items[a]).hasClass("cke_selected")},focus:function(a){this._.focusIndex=
+-1;if(a){for(var b=this.element.getDocument().getById(this._.items[a]).getFirst(),a=this.element.getElementsByTag("a"),c,d=-1;c=a.getItem(++d);)if(c.equals(b)){this._.focusIndex=d;break}setTimeout(function(){b.focus()},0)}}}})}});CKEDITOR.plugins.add("richcombo",{requires:"floatpanel,listblock,button",beforeInit:function(c){c.ui.addHandler(CKEDITOR.UI_RICHCOMBO,CKEDITOR.ui.richCombo.handler)}});
+(function(){var c='<span id="{id}" class="cke_combo cke_combo__{name} {cls}" role="presentation"><span id="{id}_label" class="cke_combo_label">{label}</span><a class="cke_combo_button" hidefocus=true title="{title}" tabindex="-1"'+(CKEDITOR.env.gecko&&10900<=CKEDITOR.env.version&&!CKEDITOR.env.hc?"":'" href="javascript:void(\'{titleJs}\')"')+' hidefocus="true" role="button" aria-labelledby="{id}_label" aria-haspopup="true"';if(CKEDITOR.env.opera||CKEDITOR.env.gecko&&CKEDITOR.env.mac)c+=' onkeypress="return false;"';
+CKEDITOR.env.gecko&&(c+=' onblur="this.style.cssText = this.style.cssText;"');var c=c+(' onkeydown="return CKEDITOR.tools.callFunction({keydownFn},event,this);" onmousedown="return CKEDITOR.tools.callFunction({mousedownFn},event);"  onfocus="return CKEDITOR.tools.callFunction({focusFn},event);" '+(CKEDITOR.env.ie?'onclick="return false;" onmouseup':"onclick")+'="CKEDITOR.tools.callFunction({clickFn},this);return false;"><span id="{id}_text" class="cke_combo_text cke_combo_inlinelabel">{label}</span><span class="cke_combo_open"><span class="cke_combo_arrow">'+
+(CKEDITOR.env.hc?"&#9660;":CKEDITOR.env.air?"&nbsp;":"")+"</span></span></a></span>"),h=CKEDITOR.addTemplate("combo",c);CKEDITOR.UI_RICHCOMBO="richcombo";CKEDITOR.ui.richCombo=CKEDITOR.tools.createClass({$:function(a){CKEDITOR.tools.extend(this,a,{canGroup:!1,title:a.label,modes:{wysiwyg:1},editorFocus:1});a=this.panel||{};delete this.panel;this.id=CKEDITOR.tools.getNextNumber();this.document=a.parent&&a.parent.getDocument()||CKEDITOR.document;a.className="cke_combopanel";a.block={multiSelect:a.multiSelect,
+attributes:a.attributes};a.toolbarRelated=!0;this._={panelDefinition:a,items:{}}},proto:{renderHtml:function(a){var b=[];this.render(a,b);return b.join("")},render:function(a,b){function j(){var d=this.modes[a.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED;this.setState(a.readOnly&&!this.readOnly?CKEDITOR.TRISTATE_DISABLED:d);this.setValue("")}var c=CKEDITOR.env,g="cke_"+this.id,e=CKEDITOR.tools.addFunction(function(b){i&&(a.unlockSelection(1),i=0);d.execute(b)},this),f=this,d={id:g,combo:this,
+focus:function(){CKEDITOR.document.getById(g).getChild(1).focus()},execute:function(d){var b=f._;if(b.state!=CKEDITOR.TRISTATE_DISABLED)if(f.createPanel(a),b.on)b.panel.hide();else{f.commit();var c=f.getValue();c?b.list.mark(c):b.list.unmarkAll();b.panel.showBlock(f.id,new CKEDITOR.dom.element(d),4)}},clickFn:e};a.on("mode",j,this);!this.readOnly&&a.on("readOnly",j,this);var k=CKEDITOR.tools.addFunction(function(a,b){var a=new CKEDITOR.dom.event(a),c=a.getKeystroke();switch(c){case 13:case 32:case 40:CKEDITOR.tools.callFunction(e,
+b);break;default:d.onkey(d,c)}a.preventDefault()}),l=CKEDITOR.tools.addFunction(function(){d.onfocus&&d.onfocus()}),i=0,m=CKEDITOR.tools.addFunction(function(){if(CKEDITOR.env.opera){var b=a.editable();b.isInline()&&b.hasFocus&&(a.lockSelection(),i=1)}});d.keyDownFn=k;c={id:g,name:this.name||this.command,label:this.label,title:this.title,cls:this.className||"",titleJs:c.gecko&&10900<=c.version&&!c.hc?"":(this.title||"").replace("'",""),keydownFn:k,mousedownFn:m,focusFn:l,clickFn:e};h.output(c,b);
+if(this.onRender)this.onRender();return d},createPanel:function(a){if(!this._.panel){var b=this._.panelDefinition,c=this._.panelDefinition.block,h=b.parent||CKEDITOR.document.getBody(),g="cke_combopanel__"+this.name,e=new CKEDITOR.ui.floatPanel(a,h,b),f=e.addListBlock(this.id,c),d=this;e.onShow=function(){this.element.addClass(g);d.setState(CKEDITOR.TRISTATE_ON);f.focus(!f.multiSelect&&d.getValue());d._.on=1;d.editorFocus&&a.focus();if(d.onOpen)d.onOpen()};e.onHide=function(b){this.element.removeClass(g);
+d.setState(d.modes&&d.modes[a.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);d._.on=0;if(!b&&d.onClose)d.onClose()};e.onEscape=function(){e.hide(1)};f.onClick=function(a,b){d.onClick&&d.onClick.call(d,a,b);e.hide()};this._.panel=e;this._.list=f;e.getBlock(this.id).onHide=function(){d._.on=0;d.setState(CKEDITOR.TRISTATE_OFF)};this.init&&this.init()}},setValue:function(a,b){this._.value=a;var c=this.document.getById("cke_"+this.id+"_text");c&&(!a&&!b?(b=this.label,c.addClass("cke_combo_inlinelabel")):
+c.removeClass("cke_combo_inlinelabel"),c.setText("undefined"!=typeof b?b:a))},getValue:function(){return this._.value||""},unmarkAll:function(){this._.list.unmarkAll()},mark:function(a){this._.list.mark(a)},hideItem:function(a){this._.list.hideItem(a)},hideGroup:function(a){this._.list.hideGroup(a)},showAll:function(){this._.list.showAll()},add:function(a,b,c){this._.items[a]=c||a;this._.list.add(a,b,c)},startGroup:function(a){this._.list.startGroup(a)},commit:function(){this._.committed||(this._.list.commit(),
+this._.committed=1,CKEDITOR.ui.fire("ready",this));this._.committed=1},setState:function(a){if(this._.state!=a){var b=this.document.getById("cke_"+this.id);b.setState(a,"cke_combo");a==CKEDITOR.TRISTATE_DISABLED?b.setAttribute("aria-disabled",!0):b.removeAttribute("aria-disabled");this._.state=a}},enable:function(){this._.state==CKEDITOR.TRISTATE_DISABLED&&this.setState(this._.lastState)},disable:function(){this._.state!=CKEDITOR.TRISTATE_DISABLED&&(this._.lastState=this._.state,this.setState(CKEDITOR.TRISTATE_DISABLED))}},
+statics:{handler:{create:function(a){return new CKEDITOR.ui.richCombo(a)}}}});CKEDITOR.ui.prototype.addRichCombo=function(a,b){this.add(a,CKEDITOR.UI_RICHCOMBO,b)}})();(function(){function g(a,b,g,h,j,n,k,o){for(var p=a.config,l=new CKEDITOR.style(k),c=j.split(";"),j=[],f={},d=0;d<c.length;d++){var e=c[d];if(e){var e=e.split("/"),m={},i=c[d]=e[0];m[g]=j[d]=e[1]||i;f[i]=new CKEDITOR.style(k,m);f[i]._.definition.name=i}else c.splice(d--,1)}a.ui.addRichCombo(b,{label:h.label,title:h.panelTitle,toolbar:"styles,"+o,allowedContent:l,requiredContent:l,panel:{css:[CKEDITOR.skin.getPath("editor")].concat(p.contentsCss),multiSelect:!1,attributes:{"aria-label":h.panelTitle}},
+init:function(){this.startGroup(h.panelTitle);for(var a=0;a<c.length;a++){var b=c[a];this.add(b,f[b].buildPreview(),b)}},onClick:function(b){a.focus();a.fire("saveSnapshot");var c=f[b];a[this.getValue()==b?"removeStyle":"applyStyle"](c);a.fire("saveSnapshot")},onRender:function(){a.on("selectionChange",function(a){for(var b=this.getValue(),a=a.data.path.elements,c=0,d;c<a.length;c++){d=a[c];for(var e in f)if(f[e].checkElementMatch(d,!0)){e!=b&&this.setValue(e);return}}this.setValue("",n)},this)}})}
+CKEDITOR.plugins.add("font",{requires:"richcombo",init:function(a){var b=a.config;g(a,"Font","family",a.lang.font,b.font_names,b.font_defaultLabel,b.font_style,30);g(a,"FontSize","size",a.lang.font.fontSize,b.fontSize_sizes,b.fontSize_defaultLabel,b.fontSize_style,40)}})})();CKEDITOR.config.font_names="Arial/Arial, Helvetica, sans-serif;Comic Sans MS/Comic Sans MS, cursive;Courier New/Courier New, Courier, monospace;Georgia/Georgia, serif;Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;Tahoma/Tahoma, Geneva, sans-serif;Times New Roman/Times New Roman, Times, serif;Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;Verdana/Verdana, Geneva, sans-serif";
+CKEDITOR.config.font_defaultLabel="";CKEDITOR.config.font_style={element:"span",styles:{"font-family":"#(family)"},overrides:[{element:"font",attributes:{face:null}}]};CKEDITOR.config.fontSize_sizes="8/8px;9/9px;10/10px;11/11px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;26/26px;28/28px;36/36px;48/48px;72/72px";CKEDITOR.config.fontSize_defaultLabel="";CKEDITOR.config.fontSize_style={element:"span",styles:{"font-size":"#(size)"},overrides:[{element:"font",attributes:{size:null}}]};CKEDITOR.plugins.add("forms",{requires:"dialog,fakeobjects",onLoad:function(){CKEDITOR.addCss(".cke_editable form{border: 1px dotted #FF0000;padding: 2px;}\n");CKEDITOR.addCss("img.cke_hidden{background-image: url("+CKEDITOR.getUrl(this.path+"images/hiddenfield.gif")+");background-position: center center;background-repeat: no-repeat;border: 1px solid #a9a9a9;width: 16px !important;height: 16px !important;}")},init:function(b){var a=b.lang,e=0,h={email:1,password:1,search:1,tel:1,text:1,url:1},j={checkbox:"input[type,name,checked]",
+radio:"input[type,name,checked]",textfield:"input[type,name,value,size,maxlength]",textarea:"textarea[cols,rows,name]",select:"select[name,size,multiple]; option[value,selected]",button:"input[type,name,value]",form:"form[action,name,id,enctype,target,method]",hiddenfield:"input[type,name,value]",imagebutton:"input[type,alt,src]{width,height,border,border-width,border-style,margin,float}"},k={checkbox:"input",radio:"input",textfield:"input",textarea:"textarea",select:"select",button:"input",form:"form",
+hiddenfield:"input",imagebutton:"input"},d=function(g,c,h){var d={allowedContent:j[c],requiredContent:k[c]};"form"==c&&(d.context="form");b.addCommand(c,new CKEDITOR.dialogCommand(c,d));b.ui.addButton&&b.ui.addButton(g,{label:a.common[g.charAt(0).toLowerCase()+g.slice(1)],command:c,toolbar:"forms,"+(e+=10)});CKEDITOR.dialog.add(c,h)},f=this.path+"dialogs/";!b.blockless&&d("Form","form",f+"form.js");d("Checkbox","checkbox",f+"checkbox.js");d("Radio","radio",f+"radio.js");d("TextField","textfield",
+f+"textfield.js");d("Textarea","textarea",f+"textarea.js");d("Select","select",f+"select.js");d("Button","button",f+"button.js");var i=CKEDITOR.plugins.get("image");i&&d("ImageButton","imagebutton",CKEDITOR.plugins.getPath("image")+"dialogs/image.js");d("HiddenField","hiddenfield",f+"hiddenfield.js");b.addMenuItems&&(d={checkbox:{label:a.forms.checkboxAndRadio.checkboxTitle,command:"checkbox",group:"checkbox"},radio:{label:a.forms.checkboxAndRadio.radioTitle,command:"radio",group:"radio"},textfield:{label:a.forms.textfield.title,
+command:"textfield",group:"textfield"},hiddenfield:{label:a.forms.hidden.title,command:"hiddenfield",group:"hiddenfield"},imagebutton:{label:a.image.titleButton,command:"imagebutton",group:"imagebutton"},button:{label:a.forms.button.title,command:"button",group:"button"},select:{label:a.forms.select.title,command:"select",group:"select"},textarea:{label:a.forms.textarea.title,command:"textarea",group:"textarea"}},!b.blockless&&(d.form={label:a.forms.form.menu,command:"form",group:"form"}),b.addMenuItems(d));
+b.contextMenu&&(!b.blockless&&b.contextMenu.addListener(function(g,c,a){if((g=a.contains("form",1))&&!g.isReadOnly())return{form:CKEDITOR.TRISTATE_OFF}}),b.contextMenu.addListener(function(a){if(a&&!a.isReadOnly()){var c=a.getName();if(c=="select")return{select:CKEDITOR.TRISTATE_OFF};if(c=="textarea")return{textarea:CKEDITOR.TRISTATE_OFF};if(c=="input"){var b=a.getAttribute("type")||"text";switch(b){case "button":case "submit":case "reset":return{button:CKEDITOR.TRISTATE_OFF};case "checkbox":return{checkbox:CKEDITOR.TRISTATE_OFF};
+case "radio":return{radio:CKEDITOR.TRISTATE_OFF};case "image":return i?{imagebutton:CKEDITOR.TRISTATE_OFF}:null}if(h[b])return{textfield:CKEDITOR.TRISTATE_OFF}}if(c=="img"&&a.data("cke-real-element-type")=="hiddenfield")return{hiddenfield:CKEDITOR.TRISTATE_OFF}}}));b.on("doubleclick",function(a){var c=a.data.element;if(!b.blockless&&c.is("form"))a.data.dialog="form";else if(c.is("select"))a.data.dialog="select";else if(c.is("textarea"))a.data.dialog="textarea";else if(c.is("img")&&c.data("cke-real-element-type")==
+"hiddenfield")a.data.dialog="hiddenfield";else if(c.is("input")){c=c.getAttribute("type")||"text";switch(c){case "button":case "submit":case "reset":a.data.dialog="button";break;case "checkbox":a.data.dialog="checkbox";break;case "radio":a.data.dialog="radio";break;case "image":a.data.dialog="imagebutton"}if(h[c])a.data.dialog="textfield"}})},afterInit:function(b){var a=b.dataProcessor,e=a&&a.htmlFilter,a=a&&a.dataFilter;CKEDITOR.env.ie&&e&&e.addRules({elements:{input:function(a){var a=a.attributes,
+b=a.type;b||(a.type="text");("checkbox"==b||"radio"==b)&&"on"==a.value&&delete a.value}}});a&&a.addRules({elements:{input:function(a){if("hidden"==a.attributes.type)return b.createFakeParserElement(a,"cke_hidden","hiddenfield")}}})}});
+CKEDITOR.env.ie&&(CKEDITOR.dom.element.prototype.hasAttribute=CKEDITOR.tools.override(CKEDITOR.dom.element.prototype.hasAttribute,function(b){return function(a){this.$.attributes.getNamedItem(a);if("input"==this.getName())switch(a){case "class":return 0<this.$.className.length;case "checked":return!!this.$.checked;case "value":var e=this.getAttribute("type");return"checkbox"==e||"radio"==e?"on"!=this.$.value:this.$.value}return b.apply(this,arguments)}}));CKEDITOR.plugins.add("format",{requires:"richcombo",init:function(a){if(!a.blockless){for(var g=a.config,c=a.lang.format,k=g.format_tags.split(";"),d={},l=0,m=[],h=0;h<k.length;h++){var i=k[h],j=new CKEDITOR.style(g["format_"+i]);if(!a.filter.customConfig||a.filter.check(j))l++,d[i]=j,d[i]._.enterMode=a.config.enterMode,m.push(j)}0!==l&&a.ui.addRichCombo("Format",{label:c.label,title:c.panelTitle,toolbar:"styles,20",allowedContent:m,panel:{css:[CKEDITOR.skin.getPath("editor")].concat(g.contentsCss),
+multiSelect:!1,attributes:{"aria-label":c.panelTitle}},init:function(){this.startGroup(c.panelTitle);for(var a in d){var e=c["tag_"+a];this.add(a,d[a].buildPreview(e),e)}},onClick:function(b){a.focus();a.fire("saveSnapshot");var b=d[b],e=a.elementPath();a[b.checkActive(e)?"removeStyle":"applyStyle"](b);setTimeout(function(){a.fire("saveSnapshot")},0)},onRender:function(){a.on("selectionChange",function(b){var e=this.getValue(),b=b.data.path,c=!a.readOnly&&b.isContextFor("p");this[c?"enable":"disable"]();
+if(c){for(var f in d)if(d[f].checkActive(b)){f!=e&&this.setValue(f,a.lang.format["tag_"+f]);return}this.setValue("")}},this)}})}}});CKEDITOR.config.format_tags="p;h1;h2;h3;h4;h5;h6;pre;address;div";CKEDITOR.config.format_p={element:"p"};CKEDITOR.config.format_div={element:"div"};CKEDITOR.config.format_pre={element:"pre"};CKEDITOR.config.format_address={element:"address"};CKEDITOR.config.format_h1={element:"h1"};CKEDITOR.config.format_h2={element:"h2"};CKEDITOR.config.format_h3={element:"h3"};
+CKEDITOR.config.format_h4={element:"h4"};CKEDITOR.config.format_h5={element:"h5"};CKEDITOR.config.format_h6={element:"h6"};CKEDITOR.plugins.add("htmlwriter",{init:function(b){var a=new CKEDITOR.htmlWriter;a.forceSimpleAmpersand=b.config.forceSimpleAmpersand;a.indentationChars=b.config.dataIndentationChars||"\t";b.dataProcessor.writer=a}});
+CKEDITOR.htmlWriter=CKEDITOR.tools.createClass({base:CKEDITOR.htmlParser.basicWriter,$:function(){this.base();this.indentationChars="\t";this.selfClosingEnd=" />";this.lineBreakChars="\n";this.sortAttributes=1;this._.indent=0;this._.indentation="";this._.inPre=0;this._.rules={};var b=CKEDITOR.dtd,a;for(a in CKEDITOR.tools.extend({},b.$nonBodyContent,b.$block,b.$listItem,b.$tableContent))this.setRules(a,{indent:!b[a]["#"],breakBeforeOpen:1,breakBeforeClose:!b[a]["#"],breakAfterClose:1,needsSpace:a in
+b.$block&&!(a in{li:1,dt:1,dd:1})});this.setRules("br",{breakAfterOpen:1});this.setRules("title",{indent:0,breakAfterOpen:0});this.setRules("style",{indent:0,breakBeforeClose:1});this.setRules("pre",{breakAfterOpen:1,indent:0})},proto:{openTag:function(b){var a=this._.rules[b];this._.afterCloser&&(a&&a.needsSpace&&this._.needsSpace)&&this._.output.push("\n");this._.indent?this.indentation():a&&a.breakBeforeOpen&&(this.lineBreak(),this.indentation());this._.output.push("<",b);this._.afterCloser=0},
+openTagClose:function(b,a){var c=this._.rules[b];a?(this._.output.push(this.selfClosingEnd),c&&c.breakAfterClose&&(this._.needsSpace=c.needsSpace)):(this._.output.push(">"),c&&c.indent&&(this._.indentation+=this.indentationChars));c&&c.breakAfterOpen&&this.lineBreak();"pre"==b&&(this._.inPre=1)},attribute:function(b,a){"string"==typeof a&&(this.forceSimpleAmpersand&&(a=a.replace(/&amp;/g,"&")),a=CKEDITOR.tools.htmlEncodeAttr(a));this._.output.push(" ",b,'="',a,'"')},closeTag:function(b){var a=this._.rules[b];
+a&&a.indent&&(this._.indentation=this._.indentation.substr(this.indentationChars.length));this._.indent?this.indentation():a&&a.breakBeforeClose&&(this.lineBreak(),this.indentation());this._.output.push("</",b,">");"pre"==b&&(this._.inPre=0);a&&a.breakAfterClose&&(this.lineBreak(),this._.needsSpace=a.needsSpace);this._.afterCloser=1},text:function(b){this._.indent&&(this.indentation(),!this._.inPre&&(b=CKEDITOR.tools.ltrim(b)));this._.output.push(b)},comment:function(b){this._.indent&&this.indentation();
+this._.output.push("<\!--",b,"--\>")},lineBreak:function(){!this._.inPre&&0<this._.output.length&&this._.output.push(this.lineBreakChars);this._.indent=1},indentation:function(){!this._.inPre&&this._.indentation&&this._.output.push(this._.indentation);this._.indent=0},reset:function(){this._.output=[];this._.indent=0;this._.indentation="";this._.afterCloser=0;this._.inPre=0},setRules:function(b,a){var c=this._.rules[b];c?CKEDITOR.tools.extend(c,a,!0):this._.rules[b]=a}}});(function(){var b={canUndo:!1,exec:function(a){var b=a.document.createElement("hr");a.insertElement(b)},allowedContent:"hr",requiredContent:"hr"};CKEDITOR.plugins.add("horizontalrule",{init:function(a){a.blockless||(a.addCommand("horizontalrule",b),a.ui.addButton&&a.ui.addButton("HorizontalRule",{label:a.lang.horizontalrule.toolbar,command:"horizontalrule",toolbar:"insert,40"}))}})})();(function(){CKEDITOR.plugins.add("iframe",{requires:"dialog,fakeobjects",onLoad:function(){CKEDITOR.addCss("img.cke_iframe{background-image: url("+CKEDITOR.getUrl(this.path+"images/placeholder.png")+");background-position: center center;background-repeat: no-repeat;border: 1px solid #a9a9a9;width: 80px;height: 80px;}")},init:function(a){var b=a.lang.iframe,c="iframe[align,longdesc,frameborder,height,name,scrolling,src,title,width]";a.plugins.dialogadvtab&&(c+=";iframe"+a.plugins.dialogadvtab.allowedContent({id:1,
+classes:1,styles:1}));CKEDITOR.dialog.add("iframe",this.path+"dialogs/iframe.js");a.addCommand("iframe",new CKEDITOR.dialogCommand("iframe",{allowedContent:c,requiredContent:"iframe"}));a.ui.addButton&&a.ui.addButton("Iframe",{label:b.toolbar,command:"iframe",toolbar:"insert,80"});a.on("doubleclick",function(a){var b=a.data.element;b.is("img")&&"iframe"==b.data("cke-real-element-type")&&(a.data.dialog="iframe")});a.addMenuItems&&a.addMenuItems({iframe:{label:b.title,command:"iframe",group:"image"}});
+a.contextMenu&&a.contextMenu.addListener(function(a){if(a&&a.is("img")&&"iframe"==a.data("cke-real-element-type"))return{iframe:CKEDITOR.TRISTATE_OFF}})},afterInit:function(a){var b=a.dataProcessor;(b=b&&b.dataFilter)&&b.addRules({elements:{iframe:function(b){return a.createFakeParserElement(b,"cke_iframe","iframe",!0)}}})}})})();(function(){function n(a){var c=this.editor,d=a.document,b=d.body;(a=d.getElementById("cke_actscrpt"))&&a.parentNode.removeChild(a);(a=d.getElementById("cke_shimscrpt"))&&a.parentNode.removeChild(a);CKEDITOR.env.gecko&&(b.contentEditable=!1,2E4>CKEDITOR.env.version&&(b.innerHTML=b.innerHTML.replace(/^.*<\!-- cke-content-start --\>/,""),setTimeout(function(){var a=new CKEDITOR.dom.range(new CKEDITOR.dom.document(d));a.setStart(new CKEDITOR.dom.node(b),0);c.getSelection().selectRanges([a])},0)));b.contentEditable=
+!0;CKEDITOR.env.ie&&(b.hideFocus=!0,b.disabled=!0,b.removeAttribute("disabled"));delete this._.isLoadingData;this.$=b;d=new CKEDITOR.dom.document(d);this.setup();CKEDITOR.env.ie&&(d.getDocumentElement().addClass(d.$.compatMode),c.config.enterMode!=CKEDITOR.ENTER_P&&d.on("selectionchange",function(){var a=d.getBody(),b=c.getSelection(),e=b&&b.getRanges()[0];e&&(a.getHtml().match(/^<p>&nbsp;<\/p>$/i)&&e.startContainer.equals(a))&&setTimeout(function(){e=c.getSelection().getRanges()[0];if(!e.startContainer.equals("body")){a.getFirst().remove(1);
+e.moveToElementEditEnd(a);e.select()}},0)}));CKEDITOR.env.gecko&&CKEDITOR.tools.setTimeout(o,0,this,c);try{c.document.$.execCommand("2D-position",!1,!0)}catch(e){}try{c.document.$.execCommand("enableInlineTableEditing",!1,!c.config.disableNativeTableHandles)}catch(f){}if(c.config.disableObjectResizing)try{this.getDocument().$.execCommand("enableObjectResizing",!1,!1)}catch(g){this.attachListener(this,CKEDITOR.env.ie?"resizestart":"resize",function(a){a.data.preventDefault()})}(CKEDITOR.env.gecko||
+CKEDITOR.env.ie&&"CSS1Compat"==c.document.$.compatMode)&&this.attachListener(this,"keydown",function(a){var b=a.data.getKeystroke();if(b==33||b==34)if(CKEDITOR.env.ie)setTimeout(function(){c.getSelection().scrollIntoView()},0);else if(c.window.$.innerHeight>this.$.offsetHeight){var d=c.createRange();d[b==33?"moveToElementEditStart":"moveToElementEditEnd"](this);d.select();a.data.preventDefault()}});CKEDITOR.env.ie&&this.attachListener(d,"blur",function(){try{d.$.selection.empty()}catch(a){}});c.document.getElementsByTag("title").getItem(0).data("cke-title",
+c.document.$.title);CKEDITOR.env.ie&&(c.document.$.title=this._.docTitle);CKEDITOR.tools.setTimeout(function(){c.fire("contentDom");if(this._.isPendingFocus){c.focus();this._.isPendingFocus=false}setTimeout(function(){c.fire("dataReady")},0);CKEDITOR.env.ie&&setTimeout(function(){if(c.document){var a=c.document.$.body;a.runtimeStyle.marginBottom="0px";a.runtimeStyle.marginBottom=""}},1E3)},0,this)}function p(a){a.checkDirty()||setTimeout(function(){a.resetDirty()},0)}function o(a){if(!a.readOnly){var c=
+a.window,d=a.document,b=d.getBody(),e=b.getFirst(),f=b.getChildren().count();if(!f||1==f&&e.type==CKEDITOR.NODE_ELEMENT&&e.hasAttribute("_moz_editor_bogus_node")){p(a);var e=CKEDITOR.document,g=e.getDocumentElement(),h=g.$.scrollTop,i=g.$.scrollLeft,j=d.$.createEvent("KeyEvents");j.initKeyEvent("keypress",!0,!0,c.$,!1,!1,!1,!1,0,32);d.$.dispatchEvent(j);(h!=g.$.scrollTop||i!=g.$.scrollLeft)&&e.getWindow().$.scrollTo(i,h);f&&b.getFirst().remove();d.getBody().appendBogus();a=a.createRange();a.setStartAt(b,
+CKEDITOR.POSITION_AFTER_START);a.select()}}}function q(){var a=[];if(8<=CKEDITOR.document.$.documentMode){a.push("html.CSS1Compat [contenteditable=false]{min-height:0 !important}");var c=[],d;for(d in CKEDITOR.dtd.$removeEmpty)c.push("html.CSS1Compat "+d+"[contenteditable=false]");a.push(c.join(",")+"{display:inline-block}")}else CKEDITOR.env.gecko&&(a.push("html{height:100% !important}"),a.push("img:-moz-broken{-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}"));a.push("html{cursor:text;*cursor:auto}");
+a.push("img,input,textarea{cursor:default}");return a.join("\n")}CKEDITOR.plugins.add("wysiwygarea",{init:function(a){a.config.fullPage&&a.addFeature({allowedContent:"html head title; style [media,type]; body (*)[id]; meta link [*]",requiredContent:"body"});a.addMode("wysiwyg",function(c){function d(d){d&&d.removeListener();a.editable(new k(a,b.$.contentWindow.document.body));a.setData(a.getData(1),c)}var b=CKEDITOR.document.createElement("iframe");b.setStyles({width:"100%",height:"100%"});b.addClass("cke_wysiwyg_frame cke_reset");
+var e=a.ui.space("contents");e.append(b);var f="document.open();"+(l?'document.domain="'+document.domain+'";':"")+"document.close();",f=CKEDITOR.env.air?"javascript:void(0)":CKEDITOR.env.ie?"javascript:void(function(){"+encodeURIComponent(f)+"}())":"",g=CKEDITOR.env.ie||CKEDITOR.env.gecko;if(g)b.on("load",d);var h=[a.lang.editor,a.name].join(),i=a.lang.common.editorHelp;CKEDITOR.env.ie&&(h+=", "+i);var j=CKEDITOR.tools.getNextId(),m=CKEDITOR.dom.element.createFromHtml('<span id="'+j+'" class="cke_voice_label">'+
+i+"</span>");e.append(m,1);a.on("beforeModeUnload",function(a){a.removeListener();m.remove()});b.setAttributes({frameBorder:0,"aria-describedby":j,title:h,src:f,tabIndex:a.tabIndex,allowTransparency:"true"});!g&&d();CKEDITOR.env.webkit&&(f=function(){e.setStyle("width","100%");b.hide();b.setSize("width",e.getSize("width"));e.removeStyle("width");b.show()},b.setCustomData("onResize",f),CKEDITOR.document.getWindow().on("resize",f));a.fire("ariaWidget",b)})}});var l=CKEDITOR.env.isCustomDomain(),k=CKEDITOR.tools.createClass({$:function(a){this.base.apply(this,
+arguments);this._.frameLoadedHandler=CKEDITOR.tools.addFunction(function(a){CKEDITOR.tools.setTimeout(n,0,this,a)},this);this._.docTitle=this.getWindow().getFrame().getAttribute("title")},base:CKEDITOR.editable,proto:{setData:function(a,c){var d=this.editor;if(c)this.setHtml(a);else{this._.isLoadingData=!0;d._.dataStore={id:1};var b=d.config,e=b.fullPage,f=b.docType,g=CKEDITOR.tools.buildStyleHtml(q()).replace(/<style>/,'<style data-cke-temp="1">');e||(g+=CKEDITOR.tools.buildStyleHtml(d.config.contentsCss));
+var h=b.baseHref?'<base href="'+b.baseHref+'" data-cke-temp="1" />':"";e&&(a=a.replace(/<!DOCTYPE[^>]*>/i,function(a){d.docType=f=a;return""}).replace(/<\?xml\s[^\?]*\?>/i,function(a){d.xmlDeclaration=a;return""}));d.dataProcessor&&(a=d.dataProcessor.toHtml(a));e?(/<body[\s|>]/.test(a)||(a="<body>"+a),/<html[\s|>]/.test(a)||(a="<html>"+a+"</html>"),/<head[\s|>]/.test(a)?/<title[\s|>]/.test(a)||(a=a.replace(/<head[^>]*>/,"$&<title></title>")):a=a.replace(/<html[^>]*>/,"$&<head><title></title></head>"),
+h&&(a=a.replace(/<head>/,"$&"+h)),a=a.replace(/<\/head\s*>/,g+"$&"),a=f+a):a=b.docType+'<html dir="'+b.contentsLangDirection+'" lang="'+(b.contentsLanguage||d.langCode)+'"><head><title>'+this._.docTitle+"</title>"+h+g+"</head><body"+(b.bodyId?' id="'+b.bodyId+'"':"")+(b.bodyClass?' class="'+b.bodyClass+'"':"")+">"+a+"</body></html>";CKEDITOR.env.gecko&&(a=a.replace(/<body/,'<body contenteditable="true" '),2E4>CKEDITOR.env.version&&(a=a.replace(/<body[^>]*>/,"$&<\!-- cke-content-start --\>")));b='<script id="cke_actscrpt" type="text/javascript"'+
+(CKEDITOR.env.ie?' defer="defer" ':"")+">"+(l?'document.domain="'+document.domain+'";':"")+"var wasLoaded=0;function onload(){if(!wasLoaded)window.parent.CKEDITOR.tools.callFunction("+this._.frameLoadedHandler+",window);wasLoaded=1;}"+(CKEDITOR.env.ie?"onload();":'document.addEventListener("DOMContentLoaded", onload, false );')+"<\/script>";CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(b+='<script id="cke_shimscrpt">(function(){var e="abbr,article,aside,audio,bdi,canvas,data,datalist,details,figcaption,figure,footer,header,hgroup,mark,meter,nav,output,progress,section,summary,time,video".split(","),i=e.length;while(i--){document.createElement(e[i])}})()<\/script>');
+a=a.replace(/(?=\s*<\/(:?head)>)/,b);this.clearCustomData();this.clearListeners();d.fire("contentDomUnload");var i=this.getDocument();try{i.write(a)}catch(j){setTimeout(function(){i.write(a)},0)}}},getData:function(a){if(a)return this.getHtml();var a=this.editor,c=a.config.fullPage,d=c&&a.docType,b=c&&a.xmlDeclaration,e=this.getDocument(),c=c?e.getDocumentElement().getOuterHtml():e.getBody().getHtml();CKEDITOR.env.gecko&&(c=c.replace(/<br>(?=\s*(:?$|<\/body>))/,""));a.dataProcessor&&(c=a.dataProcessor.toDataFormat(c));
+b&&(c=b+"\n"+c);d&&(c=d+"\n"+c);return c},focus:function(){this._.isLoadingData?this._.isPendingFocus=!0:k.baseProto.focus.call(this)},detach:function(){var a=this.editor,c=a.document,d=a.window.getFrame();k.baseProto.detach.call(this);this.clearCustomData();c.getDocumentElement().clearCustomData();d.clearCustomData();CKEDITOR.tools.removeFunction(this._.frameLoadedHandler);(c=d.removeCustomData("onResize"))&&c.removeListener();a.fire("contentDomUnload");d.remove()}}})})();
+CKEDITOR.config.disableObjectResizing=!1;CKEDITOR.config.disableNativeTableHandles=!0;CKEDITOR.config.disableNativeSpellChecker=!0;CKEDITOR.config.contentsCss=CKEDITOR.basePath+"contents.css";(function(){function e(b,a){a||(a=b.getSelection().getSelectedElement());if(a&&a.is("img")&&!a.data("cke-realelement")&&!a.isReadOnly())return a}function f(b){var a=b.getStyle("float");if("inherit"==a||"none"==a)a=0;a||(a=b.getAttribute("align"));return a}CKEDITOR.plugins.add("image",{requires:"dialog",init:function(b){CKEDITOR.dialog.add("image",this.path+"dialogs/image.js");var a="img[alt,!src]{border-style,border-width,float,height,margin,margin-bottom,margin-left,margin-right,margin-top,width}";
+CKEDITOR.dialog.isTabEnabled(b,"image","advanced")&&(a="img[alt,dir,id,lang,longdesc,!src,title]{*}(*)");b.addCommand("image",new CKEDITOR.dialogCommand("image",{allowedContent:a,requiredContent:"img[alt,src]",contentTransformations:[["img{width}: sizeToStyle","img[width]: sizeToAttribute"],["img{float}: alignmentToStyle","img[align]: alignmentToAttribute"]]}));b.ui.addButton&&b.ui.addButton("Image",{label:b.lang.common.image,command:"image",toolbar:"insert,10"});b.on("doubleclick",function(a){var b=
+a.data.element;b.is("img")&&(!b.data("cke-realelement")&&!b.isReadOnly())&&(a.data.dialog="image")});b.addMenuItems&&b.addMenuItems({image:{label:b.lang.image.menu,command:"image",group:"image"}});b.contextMenu&&b.contextMenu.addListener(function(a){if(e(b,a))return{image:CKEDITOR.TRISTATE_OFF}})},afterInit:function(b){function a(a){var d=b.getCommand("justify"+a);if(d){if("left"==a||"right"==a)d.on("exec",function(d){var c=e(b),g;c&&(g=f(c),g==a?(c.removeStyle("float"),a==f(c)&&c.removeAttribute("align")):
+c.setStyle("float",a),d.cancel())});d.on("refresh",function(d){var c=e(b);c&&(c=f(c),this.setState(c==a?CKEDITOR.TRISTATE_ON:"right"==a||"left"==a?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED),d.cancel())})}}a("left");a("right");a("center");a("block")}})})();CKEDITOR.config.image_removeLinkByEmptyURL=!0;CKEDITOR.plugins.add("smiley",{requires:"dialog",init:function(a){a.config.smiley_path=a.config.smiley_path||this.path+"images/";a.addCommand("smiley",new CKEDITOR.dialogCommand("smiley",{allowedContent:"img[alt,height,!src,title,width]",requiredContent:"img"}));a.ui.addButton&&a.ui.addButton("Smiley",{label:a.lang.smiley.toolbar,command:"smiley",toolbar:"insert,50"});CKEDITOR.dialog.add("smiley",this.path+"dialogs/smiley.js")}});CKEDITOR.config.smiley_images="regular_smile.gif sad_smile.gif wink_smile.gif teeth_smile.gif confused_smile.gif tongue_smile.gif embarrassed_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".split(" ");
+CKEDITOR.config.smiley_descriptions="smiley;sad;wink;laugh;frown;cheeky;blush;surprise;indecision;angry;angel;cool;devil;crying;enlightened;no;yes;heart;broken heart;kiss;mail".split(";");(function(){function l(a,c){var c=void 0===c||c,b;if(c)b=a.getComputedStyle("text-align");else{for(;!a.hasAttribute||!a.hasAttribute("align")&&!a.getStyle("text-align");){b=a.getParent();if(!b)break;a=b}b=a.getStyle("text-align")||a.getAttribute("align")||""}b&&(b=b.replace(/(?:-(?:moz|webkit)-)?(?:start|auto)/i,""));!b&&c&&(b="rtl"==a.getComputedStyle("direction")?"right":"left");return b}function f(a,c,b){this.editor=a;this.name=c;this.value=b;this.context="p";var c=a.config.justifyClasses,g=a.config.enterMode==
+CKEDITOR.ENTER_P?"p":"div";if(c){switch(b){case "left":this.cssClassName=c[0];break;case "center":this.cssClassName=c[1];break;case "right":this.cssClassName=c[2];break;case "justify":this.cssClassName=c[3]}this.cssClassRegex=RegExp("(?:^|\\s+)(?:"+c.join("|")+")(?=$|\\s)");this.requiredContent=g+"("+this.cssClassName+")"}else this.requiredContent=g+"{text-align}";this.allowedContent={"caption div h1 h2 h3 h4 h5 h6 p pre td th li":{propertiesOnly:!0,styles:this.cssClassName?null:"text-align",classes:this.cssClassName||
+null}};a.config.enterMode==CKEDITOR.ENTER_BR&&(this.allowedContent.div=!0)}function j(a){var c=a.editor,b=c.createRange();b.setStartBefore(a.data.node);b.setEndAfter(a.data.node);for(var g=new CKEDITOR.dom.walker(b),d;d=g.next();)if(d.type==CKEDITOR.NODE_ELEMENT)if(!d.equals(a.data.node)&&d.getDirection())b.setStartAfter(d),g=new CKEDITOR.dom.walker(b);else{var e=c.config.justifyClasses;e&&(d.hasClass(e[0])?(d.removeClass(e[0]),d.addClass(e[2])):d.hasClass(e[2])&&(d.removeClass(e[2]),d.addClass(e[0])));
+e=d.getStyle("text-align");"left"==e?d.setStyle("text-align","right"):"right"==e&&d.setStyle("text-align","left")}}f.prototype={exec:function(a){var c=a.getSelection(),b=a.config.enterMode;if(c){for(var g=c.createBookmarks(),d=c.getRanges(!0),e=this.cssClassName,f,h,i=a.config.useComputedState,i=void 0===i||i,k=d.length-1;0<=k;k--){f=d[k].createIterator();for(f.enlargeBr=b!=CKEDITOR.ENTER_BR;h=f.getNextParagraph(b==CKEDITOR.ENTER_P?"p":"div");){h.removeAttribute("align");h.removeStyle("text-align");
+var j=e&&(h.$.className=CKEDITOR.tools.ltrim(h.$.className.replace(this.cssClassRegex,""))),m=this.state==CKEDITOR.TRISTATE_OFF&&(!i||l(h,!0)!=this.value);e?m?h.addClass(e):j||h.removeAttribute("class"):m&&h.setStyle("text-align",this.value)}}a.focus();a.forceNextSelectionCheck();c.selectBookmarks(g)}},refresh:function(a,c){var b=c.block||c.blockLimit;this.setState("body"!=b.getName()&&l(b,this.editor.config.useComputedState)==this.value?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF)}};CKEDITOR.plugins.add("justify",
+{init:function(a){if(!a.blockless){var c=new f(a,"justifyleft","left"),b=new f(a,"justifycenter","center"),g=new f(a,"justifyright","right"),d=new f(a,"justifyblock","justify");a.addCommand("justifyleft",c);a.addCommand("justifycenter",b);a.addCommand("justifyright",g);a.addCommand("justifyblock",d);a.ui.addButton&&(a.ui.addButton("JustifyLeft",{label:a.lang.justify.left,command:"justifyleft",toolbar:"align,10"}),a.ui.addButton("JustifyCenter",{label:a.lang.justify.center,command:"justifycenter",
+toolbar:"align,20"}),a.ui.addButton("JustifyRight",{label:a.lang.justify.right,command:"justifyright",toolbar:"align,30"}),a.ui.addButton("JustifyBlock",{label:a.lang.justify.block,command:"justifyblock",toolbar:"align,40"}));a.on("dirChanged",j)}}})})();CKEDITOR.plugins.add("link",{requires:"dialog,fakeobjects",onLoad:function(){function b(b){return d.replace(/%1/g,"rtl"==b?"right":"left").replace(/%2/g,"cke_contents_"+b)}var a="background:url("+CKEDITOR.getUrl(this.path+"images/anchor.png")+") no-repeat %1 center;border:1px dotted #00f;",d=".%2 a.cke_anchor,.%2 a.cke_anchor_empty,.cke_editable.%2 a[name],.cke_editable.%2 a[data-cke-saved-name]{"+a+"padding-%1:18px;cursor:auto;}"+(CKEDITOR.env.ie?"a.cke_anchor_empty{display:inline-block;}":"")+".%2 img.cke_anchor{"+
+a+"width:16px;min-height:15px;height:1.15em;vertical-align:"+(CKEDITOR.env.opera?"middle":"text-bottom")+";}";CKEDITOR.addCss(b("ltr")+b("rtl"))},init:function(b){var a="a[!href]";CKEDITOR.dialog.isTabEnabled(b,"link","advanced")&&(a=a.replace("]",",accesskey,charset,dir,id,lang,name,rel,tabindex,title,type]{*}(*)"));CKEDITOR.dialog.isTabEnabled(b,"link","target")&&(a=a.replace("]",",target,onclick]"));b.addCommand("link",new CKEDITOR.dialogCommand("link",{allowedContent:a,requiredContent:"a[href]"}));
+b.addCommand("anchor",new CKEDITOR.dialogCommand("anchor",{allowedContent:"a[!name,id]",requiredContent:"a[name]"}));b.addCommand("unlink",new CKEDITOR.unlinkCommand);b.addCommand("removeAnchor",new CKEDITOR.removeAnchorCommand);b.setKeystroke(CKEDITOR.CTRL+76,"link");b.ui.addButton&&(b.ui.addButton("Link",{label:b.lang.link.toolbar,command:"link",toolbar:"links,10"}),b.ui.addButton("Unlink",{label:b.lang.link.unlink,command:"unlink",toolbar:"links,20"}),b.ui.addButton("Anchor",{label:b.lang.link.anchor.toolbar,
+command:"anchor",toolbar:"links,30"}));CKEDITOR.dialog.add("link",this.path+"dialogs/link.js");CKEDITOR.dialog.add("anchor",this.path+"dialogs/anchor.js");b.on("doubleclick",function(a){var c=CKEDITOR.plugins.link.getSelectedLink(b)||a.data.element;if(!c.isReadOnly())if(c.is("a")){a.data.dialog=c.getAttribute("name")&&(!c.getAttribute("href")||!c.getChildCount())?"anchor":"link";b.getSelection().selectElement(c)}else if(CKEDITOR.plugins.link.tryRestoreFakeAnchor(b,c))a.data.dialog="anchor"});b.addMenuItems&&
+b.addMenuItems({anchor:{label:b.lang.link.anchor.menu,command:"anchor",group:"anchor",order:1},removeAnchor:{label:b.lang.link.anchor.remove,command:"removeAnchor",group:"anchor",order:5},link:{label:b.lang.link.menu,command:"link",group:"link",order:1},unlink:{label:b.lang.link.unlink,command:"unlink",group:"link",order:5}});b.contextMenu&&b.contextMenu.addListener(function(a){if(!a||a.isReadOnly())return null;a=CKEDITOR.plugins.link.tryRestoreFakeAnchor(b,a);if(!a&&!(a=CKEDITOR.plugins.link.getSelectedLink(b)))return null;
+var c={};a.getAttribute("href")&&a.getChildCount()&&(c={link:CKEDITOR.TRISTATE_OFF,unlink:CKEDITOR.TRISTATE_OFF});if(a&&a.hasAttribute("name"))c.anchor=c.removeAnchor=CKEDITOR.TRISTATE_OFF;return c})},afterInit:function(b){var a=b.dataProcessor,d=a&&a.dataFilter,a=a&&a.htmlFilter,c=b._.elementsPath&&b._.elementsPath.filters;d&&d.addRules({elements:{a:function(a){var c=a.attributes;if(!c.name)return null;var d=!a.children.length;if(CKEDITOR.plugins.link.synAnchorSelector){var a=d?"cke_anchor_empty":
+"cke_anchor",e=c["class"];if(c.name&&(!e||0>e.indexOf(a)))c["class"]=(e||"")+" "+a;d&&CKEDITOR.plugins.link.emptyAnchorFix&&(c.contenteditable="false",c["data-cke-editable"]=1)}else if(CKEDITOR.plugins.link.fakeAnchor&&d)return b.createFakeParserElement(a,"cke_anchor","anchor");return null}}});CKEDITOR.plugins.link.emptyAnchorFix&&a&&a.addRules({elements:{a:function(a){delete a.attributes.contenteditable}}});c&&c.push(function(a,c){if("a"==c&&(CKEDITOR.plugins.link.tryRestoreFakeAnchor(b,a)||a.getAttribute("name")&&
+(!a.getAttribute("href")||!a.getChildCount())))return"anchor"})}});
+CKEDITOR.plugins.link={getSelectedLink:function(b){var a=b.getSelection(),d=a.getSelectedElement();return d&&d.is("a")?d:(a=a.getRanges(!0)[0])?(a.shrink(CKEDITOR.SHRINK_TEXT),b.elementPath(a.getCommonAncestor()).contains("a",1)):null},fakeAnchor:CKEDITOR.env.opera||CKEDITOR.env.webkit,synAnchorSelector:CKEDITOR.env.ie,emptyAnchorFix:CKEDITOR.env.ie&&8>CKEDITOR.env.version,tryRestoreFakeAnchor:function(b,a){if(a&&a.data("cke-real-element-type")&&"anchor"==a.data("cke-real-element-type")){var d=b.restoreRealElement(a);
+if(d.data("cke-saved-name"))return d}}};CKEDITOR.unlinkCommand=function(){};CKEDITOR.unlinkCommand.prototype={exec:function(b){var a=new CKEDITOR.style({element:"a",type:CKEDITOR.STYLE_INLINE,alwaysRemoveElement:1});b.removeStyle(a)},refresh:function(b,a){var d=a.lastElement&&a.lastElement.getAscendant("a",!0);d&&"a"==d.getName()&&d.getAttribute("href")&&d.getChildCount()?this.setState(CKEDITOR.TRISTATE_OFF):this.setState(CKEDITOR.TRISTATE_DISABLED)},contextSensitive:1,startDisabled:1,requiredContent:"a[href]"};
+CKEDITOR.removeAnchorCommand=function(){};CKEDITOR.removeAnchorCommand.prototype={exec:function(b){var a=b.getSelection(),d=a.createBookmarks(),c;if(a&&(c=a.getSelectedElement())&&(CKEDITOR.plugins.link.fakeAnchor&&!c.getChildCount()?CKEDITOR.plugins.link.tryRestoreFakeAnchor(b,c):c.is("a")))c.remove(1);else if(c=CKEDITOR.plugins.link.getSelectedLink(b))c.hasAttribute("href")?(c.removeAttributes({name:1,"data-cke-saved-name":1}),c.removeClass("cke_anchor")):c.remove(1);a.selectBookmarks(d)},requiredContent:"a[name]"};
+CKEDITOR.tools.extend(CKEDITOR.config,{linkShowAdvancedTab:!0,linkShowTargetTab:!0});(function(){CKEDITOR.plugins.liststyle={requires:"dialog,contextmenu",init:function(a){if(!a.blockless){var b;b=new CKEDITOR.dialogCommand("numberedListStyle",{requiredContent:"ol",allowedContent:"ol{list-style-type}[start]"});b=a.addCommand("numberedListStyle",b);a.addFeature(b);CKEDITOR.dialog.add("numberedListStyle",this.path+"dialogs/liststyle.js");b=new CKEDITOR.dialogCommand("bulletedListStyle",{requiredContent:"ul",allowedContent:"ul{list-style-type}"});b=a.addCommand("bulletedListStyle",b);
+a.addFeature(b);CKEDITOR.dialog.add("bulletedListStyle",this.path+"dialogs/liststyle.js");a.addMenuGroup("list",108);a.addMenuItems({numberedlist:{label:a.lang.liststyle.numberedTitle,group:"list",command:"numberedListStyle"},bulletedlist:{label:a.lang.liststyle.bulletedTitle,group:"list",command:"bulletedListStyle"}});a.contextMenu.addListener(function(a){if(!a||a.isReadOnly())return null;for(;a;){var b=a.getName();if("ol"==b)return{numberedlist:CKEDITOR.TRISTATE_OFF};if("ul"==b)return{bulletedlist:CKEDITOR.TRISTATE_OFF};
+a=a.getParent()}return null})}}};CKEDITOR.plugins.add("liststyle",CKEDITOR.plugins.liststyle)})();(function(){function N(a,b,d){return l(b)&&l(d)&&d.equals(b.getNext(function(a){return!(y(a)||z(a)||o(a))}))}function t(a){this.upper=a[0];this.lower=a[1];this.set.apply(this,a.slice(2))}function H(a){var b=a.element,d;return b&&l(b)?(d=b.getAscendant(a.triggers,!0))&&!d.contains(a.editable)&&!d.equals(a.editable)?d:null:null}function ba(a,b,d){m(a,b);m(a,d);a=b.size.bottom;d=d.size.top;return a&&d?0|(a+d)/2:a||d}function q(a,b,d){return b=b[d?"getPrevious":"getNext"](function(e){return e&&e.type==
+CKEDITOR.NODE_TEXT&&!y(e)||l(e)&&!o(e)&&!u(a,e)})}function ca(a){var b=a.doc,d=A('<span contenteditable="false" style="'+I+"position:absolute;border-top:1px dashed "+a.boxColor+'"></span>',b);p(d,{attach:function(){this.wrap.getParent()||this.wrap.appendTo(a.editable,!0);return this},lineChildren:[p(A('<span title="'+a.editor.lang.magicline.title+'" contenteditable="false">&#8629;</span>',b),{base:I+"height:17px;width:17px;"+(a.rtl?"left":"right")+":17px;background:url("+this.path+"images/icon.png) center no-repeat "+
+a.boxColor+";cursor:pointer;"+(n.hc?"font-size: 15px;line-height:14px;border:1px solid #fff;text-align:center;":""),looks:["top:-8px;"+CKEDITOR.tools.cssVendorPrefix("border-radius","2px",1),"top:-17px;"+CKEDITOR.tools.cssVendorPrefix("border-radius","2px 2px 0px 0px",1),"top:-1px;"+CKEDITOR.tools.cssVendorPrefix("border-radius","0px 0px 2px 2px",1)]}),p(A(O,b),{base:P+"left:0px;border-left-color:"+a.boxColor+";",looks:["border-width:8px 0 8px 8px;top:-8px","border-width:8px 0 0 8px;top:-8px","border-width:0 0 8px 8px;top:0px"]}),
+p(A(O,b),{base:P+"right:0px;border-right-color:"+a.boxColor+";",looks:["border-width:8px 8px 8px 0;top:-8px","border-width:8px 8px 0 0;top:-8px","border-width:0 8px 8px 0;top:0px"]})],detach:function(){this.wrap.getParent()&&this.wrap.remove();return this},mouseNear:function(){m(a,this);var e=a.holdDistance,b=this.size;return b&&a.mouse.y>b.top-e&&a.mouse.y<b.bottom+e&&a.mouse.x>b.left-e&&a.mouse.x<b.right+e?!0:!1},place:function(){var e=a.view,b=a.editable,c=a.trigger,d=c.upper,i=c.lower,h=d||i,
+k=h.getParent(),g={};this.trigger=c;d&&m(a,d,!0);i&&m(a,i,!0);m(a,k,!0);a.inInlineMode&&B(a,!0);k.equals(b)?(g.left=e.scroll.x,g.right=-e.scroll.x,g.width=""):(g.left=h.size.left-h.size.margin.left+e.scroll.x-(a.inInlineMode?e.editable.left+e.editable.border.left:0),g.width=h.size.outerWidth+h.size.margin.left+h.size.margin.right+e.scroll.x,g.right="");d&&i?g.top=d.size.margin.bottom===i.size.margin.top?0|d.size.bottom+d.size.margin.bottom/2:d.size.margin.bottom<i.size.margin.top?d.size.bottom+d.size.margin.bottom:
+d.size.bottom+d.size.margin.bottom-i.size.margin.top:d?i||(g.top=d.size.bottom+d.size.margin.bottom):g.top=i.size.top-i.size.margin.top;c.is(w)||g.top>e.scroll.y-15&&g.top<e.scroll.y+5?(g.top=a.inInlineMode?0:e.scroll.y,this.look(w)):c.is(x)||g.top>e.pane.bottom-5&&g.top<e.pane.bottom+15?(g.top=a.inInlineMode?e.editable.height+e.editable.padding.top+e.editable.padding.bottom:e.pane.bottom-1,this.look(x)):(a.inInlineMode&&(g.top-=e.editable.top+e.editable.border.top),this.look(r));a.inInlineMode&&
+(g.top--,g.top+=e.editable.scroll.top,g.left+=e.editable.scroll.left);for(var Q in g)g[Q]=CKEDITOR.tools.cssLength(g[Q]);this.setStyles(g)},look:function(a){if(this.oldLook!=a){for(var d=this.lineChildren.length,c;d--;)(c=this.lineChildren[d]).setAttribute("style",c.base+c.looks[0|a/2]);this.oldLook=a}},wrap:new J("span",a.doc)});for(b=d.lineChildren.length;b--;)d.lineChildren[b].appendTo(d);d.look(r);d.appendTo(d.wrap);d.unselectable();d.lineChildren[0].on("mouseup",function(b){d.detach();K(a,function(d){var c=
+a.line.trigger;d[c.is(C)?"insertBefore":"insertAfter"](c.is(C)?c.lower:c.upper)},!0);a.editor.focus();!n.ie&&a.enterMode!=CKEDITOR.ENTER_BR&&a.hotNode.scrollIntoView();b.data.preventDefault(!0)});d.on("mousedown",function(a){a.data.preventDefault(!0)});a.line=d}function K(a,b,d){var e=new CKEDITOR.dom.range(a.doc),f=a.editor,c;n.ie&&a.enterMode==CKEDITOR.ENTER_BR?c=a.doc.createText(D):(c=new J(a.enterBehavior,a.doc),a.enterMode!=CKEDITOR.ENTER_BR&&a.doc.createText(D).appendTo(c));d&&f.fire("saveSnapshot");
+b(c);e.moveToPosition(c,CKEDITOR.POSITION_AFTER_START);f.getSelection().selectRanges([e]);a.hotNode=c;d&&f.fire("saveSnapshot")}function R(a,b){return{canUndo:!0,modes:{wysiwyg:1},exec:function(){function d(d){var f=n.ie&&9>n.version?" ":D,c=a.hotNode&&a.hotNode.getText()==f&&a.element.equals(a.hotNode)&&a.lastCmdDirection===!!b;K(a,function(f){c&&a.hotNode&&a.hotNode.remove();f[b?"insertAfter":"insertBefore"](d);f.setAttributes({"data-cke-magicline-hot":1,"data-cke-magicline-dir":!!b});a.lastCmdDirection=
+!!b});!n.ie&&a.enterMode!=CKEDITOR.ENTER_BR&&a.hotNode.scrollIntoView();a.line.detach()}return function(e){e=e.getSelection().getStartElement();if((e=e.getAscendant(S,1))&&!e.equals(a.editable)&&!e.contains(a.editable)){a.element=e;var f=q(a,e,!b),c;l(f)&&f.is(a.triggers)&&f.is(da)&&(!q(a,f,!b)||(c=q(a,f,!b))&&l(c)&&c.is(a.triggers))?d(f):(c=H(a,e),l(c)&&(q(a,c,!b)?(e=q(a,c,!b))&&(l(e)&&e.is(a.triggers))&&d(c):d(c)))}}}()}}function u(a,b){if(!b||!(b.type==CKEDITOR.NODE_ELEMENT&&b.$))return!1;var d=
+a.line;return d.wrap.equals(b)||d.wrap.contains(b)}function l(a){return a&&a.type==CKEDITOR.NODE_ELEMENT&&a.$}function o(a){if(!l(a))return!1;var b;if(!(b=T(a)))l(a)?(b={left:1,right:1,center:1},b=!(!b[a.getComputedStyle("float")]&&!b[a.getAttribute("align")])):b=!1;return b}function T(a){return!!{absolute:1,fixed:1,relative:1}[a.getComputedStyle("position")]}function E(a,b){return l(b)?b.is(a.triggers):null}function ea(a,b,d){b=b[d?"getLast":"getFirst"](function(d){return a.isRelevant(d)&&!d.is(fa)});
+if(!b)return!1;m(a,b);return d?b.size.top>a.mouse.y:b.size.bottom<a.mouse.y}function U(a){var b=a.editable,d=a.mouse,e=a.view,f=a.triggerOffset;B(a);var c=d.y>(a.inInlineMode?e.editable.top+e.editable.height/2:Math.min(e.editable.height,e.pane.height)/2),b=b[c?"getLast":"getFirst"](function(a){return!(y(a)||z(a))});if(!b)return null;u(a,b)&&(b=a.line.wrap[c?"getPrevious":"getNext"](function(a){return!(y(a)||z(a))}));if(!l(b)||o(b)||!E(a,b))return null;m(a,b);return!c&&0<=b.size.top&&0<d.y&&d.y<b.size.top+
+f?(a=a.inInlineMode||0===e.scroll.y?w:r,new t([null,b,C,F,a])):c&&b.size.bottom<=e.pane.height&&d.y>b.size.bottom-f&&d.y<e.pane.height?(a=a.inInlineMode||b.size.bottom>e.pane.height-f&&b.size.bottom<e.pane.height?x:r,new t([b,null,V,F,a])):null}function W(a){var b=a.mouse,d=a.view,e=a.triggerOffset,f=H(a);if(!f)return null;m(a,f);var e=Math.min(e,0|f.size.outerHeight/2),c=[],j,i;if(b.y>f.size.top-1&&b.y<f.size.top+e)i=!1;else if(b.y>f.size.bottom-e&&b.y<f.size.bottom+1)i=!0;else return null;if(o(f)||
+ea(a,f,i)||f.getParent().is(X))return null;var h=q(a,f,!i);if(h){if(h&&h.type==CKEDITOR.NODE_TEXT)return null;if(l(h)){if(o(h)||!E(a,h)||h.getParent().is(X))return null;c=[h,f][i?"reverse":"concat"]().concat([L,F])}}else f.equals(a.editable[i?"getLast":"getFirst"](a.isRelevant))?(B(a),i&&b.y>f.size.bottom-e&&b.y<d.pane.height&&f.size.bottom>d.pane.height-e&&f.size.bottom<d.pane.height?j=x:0<b.y&&b.y<f.size.top+e&&(j=w)):j=r,c=[null,f][i?"reverse":"concat"]().concat([i?V:C,F,j,f.equals(a.editable[i?
+"getLast":"getFirst"](a.isRelevant))?i?x:w:r]);return 0 in c?new t(c):null}function M(a,b,d,e){for(var f=function(){var d=n.ie?b.$.currentStyle:a.win.$.getComputedStyle(b.$,"");return n.ie?function(a){return d[CKEDITOR.tools.cssStyleToDomStyle(a)]}:function(a){return d.getPropertyValue(a)}}(),c=b.getDocumentPosition(),j={},i={},h={},k={},g=s.length;g--;)j[s[g]]=parseInt(f("border-"+s[g]+"-width"),10)||0,h[s[g]]=parseInt(f("padding-"+s[g]),10)||0,i[s[g]]=parseInt(f("margin-"+s[g]),10)||0;(!d||e)&&
+G(a,e);k.top=c.y-(d?0:a.view.scroll.y);k.left=c.x-(d?0:a.view.scroll.x);k.outerWidth=b.$.offsetWidth;k.outerHeight=b.$.offsetHeight;k.height=k.outerHeight-(h.top+h.bottom+j.top+j.bottom);k.width=k.outerWidth-(h.left+h.right+j.left+j.right);k.bottom=k.top+k.outerHeight;k.right=k.left+k.outerWidth;a.inInlineMode&&(k.scroll={top:b.$.scrollTop,left:b.$.scrollLeft});return p({border:j,padding:h,margin:i,ignoreScroll:d},k,!0)}function m(a,b,d){if(!l(b))return b.size=null;if(b.size){if(b.size.ignoreScroll==
+d&&b.size.date>new Date-Y)return null}else b.size={};return p(b.size,M(a,b,d),{date:+new Date},!0)}function B(a,b){a.view.editable=M(a,a.editable,b,!0)}function G(a,b){a.view||(a.view={});var d=a.view;if(b||!(d&&d.date>new Date-Y)){var e=a.win,d=e.getScrollPosition(),e=e.getViewPaneSize();p(a.view,{scroll:{x:d.x,y:d.y,width:a.doc.$.documentElement.scrollWidth-e.width,height:a.doc.$.documentElement.scrollHeight-e.height},pane:{width:e.width,height:e.height,bottom:e.height+d.y},date:+new Date},!0)}}
+function ga(a,b,d,e){for(var f=e,c=e,j=0,i=!1,h=!1,k=a.view.pane.height,g=a.mouse;g.y+j<k&&0<g.y-j;){i||(i=b(f,e));h||(h=b(c,e));!i&&0<g.y-j&&(f=d(a,{x:g.x,y:g.y-j}));!h&&g.y+j<k&&(c=d(a,{x:g.x,y:g.y+j}));if(i&&h)break;j+=2}return new t([f,c,null,null])}CKEDITOR.plugins.add("magicline",{init:function(a){var b={};b[CKEDITOR.ENTER_BR]="br";b[CKEDITOR.ENTER_P]="p";b[CKEDITOR.ENTER_DIV]="div";var d=a.config,e=d.magicline_triggerOffset||30,f=d.enterMode,c={editor:a,enterBehavior:b[f],enterMode:f,triggerOffset:e,
+holdDistance:0|e*(d.magicline_holdDistance||0.5),boxColor:d.magicline_color||"#ff0000",rtl:"rtl"==d.contentsLangDirection,triggers:d.magicline_everywhere?S:{table:1,hr:1,div:1,ul:1,ol:1,dl:1,form:1,blockquote:1}},j,i,h;c.isRelevant=function(a){return l(a)&&!u(c,a)&&!o(a)};a.on("contentDom",function(){var b=a.editable(),e=a.document,f=a.window;p(c,{editable:b,inInlineMode:b.isInline(),doc:e,win:f},!0);c.boundary=c.inInlineMode?c.editable:c.doc.getDocumentElement();b.is(v.$inline)||(c.inInlineMode&&
+!T(b)&&b.setStyles({position:"relative",top:null,left:null}),ca.call(this,c),G(c),b.attachListener(a,"beforeUndoImage",function(){c.line.detach()}),b.attachListener(a,"beforeGetData",function(){c.line.wrap.getParent()&&(c.line.detach(),a.once("getData",function(){c.line.attach()},null,null,1E3))},null,null,0),b.attachListener(c.inInlineMode?e:e.getWindow().getFrame(),"mouseout",function(b){if("wysiwyg"==a.mode)if(c.inInlineMode){var d=b.data.$.clientX,b=b.data.$.clientY;G(c);B(c,!0);var e=c.view.editable,
+f=c.view.scroll;if(!(d>e.left-f.x&&d<e.right-f.x)||!(b>e.top-f.y&&b<e.bottom-f.y))clearTimeout(h),h=null,c.line.detach()}else clearTimeout(h),h=null,c.line.detach()}),b.attachListener(b,"keyup",function(){c.hiddenMode=0}),b.attachListener(b,"keydown",function(b){if("wysiwyg"==a.mode)switch(b=b.data.getKeystroke(),a.getSelection().getStartElement(),b){case 2228240:case 16:c.hiddenMode=1,c.line.detach()}}),b.attachListener(c.inInlineMode?b:e,"mousemove",function(b){i=!0;if(!("wysiwyg"!=a.mode||a.readOnly||
+h)){var d={x:b.data.$.clientX,y:b.data.$.clientY};h=setTimeout(function(){c.mouse=d;h=c.trigger=null;G(c);if(i&&!c.hiddenMode&&a.focusManager.hasFocus&&!c.line.mouseNear()&&(c.element=Z(c,!0)))(c.trigger=U(c)||W(c)||$(c))?c.line.attach().place():(c.trigger=null,c.line.detach()),i=!1},30)}}),b.attachListener(f,"scroll",function(){"wysiwyg"==a.mode&&(c.line.detach(),n.webkit&&(c.hiddenMode=1,clearTimeout(j),j=setTimeout(function(){c.hiddenMode=0},50)))}),b.attachListener(f,"mousedown",function(){"wysiwyg"==
+a.mode&&(c.line.detach(),c.hiddenMode=1)}),b.attachListener(f,"mouseup",function(){c.hiddenMode=0}),a.addCommand("accessPreviousSpace",R(c)),a.addCommand("accessNextSpace",R(c,!0)),a.setKeystroke([[d.magicline_keystrokePrevious,"accessPreviousSpace"],[d.magicline_keystrokeNext,"accessNextSpace"]]),a.on("loadSnapshot",function(){for(var b=a.document.getElementsByTag(c.enterBehavior),d,e=b.count();e--;)if((d=b.getItem(e)).hasAttribute("data-cke-magicline-hot")){c.hotNode=d;c.lastCmdDirection="true"===
+d.getAttribute("data-cke-magicline-dir")?!0:!1;break}}),this.backdoor={accessFocusSpace:K,boxTrigger:t,isLine:u,getAscendantTrigger:H,getNonEmptyNeighbour:q,getSize:M,that:c,triggerEdge:W,triggerEditable:U,triggerExpand:$})},this)}});var p=CKEDITOR.tools.extend,J=CKEDITOR.dom.element,A=J.createFromHtml,n=CKEDITOR.env,v=CKEDITOR.dtd,C=128,V=64,L=32,F=16,aa=8,w=4,x=2,r=1,D=" ",X=v.$listItem,fa=v.$tableContent,da=p({},v.$nonEditable,v.$empty),S=v.$block,Y=100,I="width:0px;height:0px;padding:0px;margin:0px;display:block;z-index:9999;color:#fff;position:absolute;font-size: 0px;line-height:0px;",
+P=I+"border-color:transparent;display:block;border-style:solid;",O="<span>"+D+"</span>";t.prototype={set:function(a,b,d){this.properties=a+b+(d||r);return this},is:function(a){return(this.properties&a)==a}};var Z=function(){return function(a,b,d){if(!a.mouse)return null;var e=a.doc,f=a.line.wrap,d=d||a.mouse,c=new CKEDITOR.dom.element(e.$.elementFromPoint(d.x,d.y));b&&u(a,c)&&(f.hide(),c=new CKEDITOR.dom.element(e.$.elementFromPoint(d.x,d.y)),f.show());return!c||!(c.type==CKEDITOR.NODE_ELEMENT&&c.$)||
+n.ie&&9>n.version&&!a.boundary.equals(c)&&!a.boundary.contains(c)?null:c}}(),y=CKEDITOR.dom.walker.whitespaces(),z=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_COMMENT),$=function(){function a(a){var e=a.element,f,c,j;if(!l(e)||e.contains(a.editable))return null;j=ga(a,function(a,b){return!b.equals(a)},function(a,b){return Z(a,!0,b)},e);f=j.upper;c=j.lower;if(N(a,f,c))return j.set(L,aa);if(f&&e.contains(f))for(;!f.getParent().equals(e);)f=f.getParent();else f=e.getFirst(function(c){return b(a,c)});
+if(c&&e.contains(c))for(;!c.getParent().equals(e);)c=c.getParent();else c=e.getLast(function(c){return b(a,c)});if(!f||!c)return null;m(a,f);m(a,c);if(!(a.mouse.y>f.size.top&&a.mouse.y<c.size.bottom))return null;for(var e=Number.MAX_VALUE,i,h,k,g;c&&!c.equals(f)&&(h=f.getNext(a.isRelevant));)i=Math.abs(ba(a,f,h)-a.mouse.y),i<e&&(e=i,k=f,g=h),f=h,m(a,f);if(!k||!g||!(a.mouse.y>k.size.top&&a.mouse.y<g.size.bottom))return null;j.upper=k;j.lower=g;return j.set(L,aa)}function b(a,b){return!(b&&b.type==
+CKEDITOR.NODE_TEXT||z(b)||o(b)||u(a,b)||b.type==CKEDITOR.NODE_ELEMENT&&b.$&&b.is("br"))}return function(b){var e=a(b),f;if(f=e){f=e.upper;var c=e.lower;f=!f||!c||o(c)||o(f)||c.equals(f)||f.equals(c)||c.contains(f)||f.contains(c)?!1:E(b,f)&&E(b,c)&&N(b,f,c)?!0:!1}return f?e:null}}(),s=["top","left","right","bottom"]})();CKEDITOR.config.magicline_keystrokePrevious=CKEDITOR.CTRL+CKEDITOR.SHIFT+219;CKEDITOR.config.magicline_keystrokeNext=CKEDITOR.CTRL+CKEDITOR.SHIFT+221;(function(){function l(a){if(!a||a.type!=CKEDITOR.NODE_ELEMENT||"form"!=a.getName())return[];for(var e=[],f=["style","className"],b=0;b<f.length;b++){var d=a.$.elements.namedItem(f[b]);d&&(d=new CKEDITOR.dom.element(d),e.push([d,d.nextSibling]),d.remove())}return e}function o(a,e){if(a&&!(a.type!=CKEDITOR.NODE_ELEMENT||"form"!=a.getName())&&0<e.length)for(var f=e.length-1;0<=f;f--){var b=e[f][0],d=e[f][1];d?b.insertBefore(d):b.appendTo(a)}}function n(a,e){var f=l(a),b={},d=a.$;e||(b["class"]=d.className||
+"",d.className="");b.inline=d.style.cssText||"";e||(d.style.cssText="position: static; overflow: visible");o(f);return b}function p(a,e){var f=l(a),b=a.$;"class"in e&&(b.className=e["class"]);"inline"in e&&(b.style.cssText=e.inline);o(f)}function q(a){if(!a.editable().isInline()){var e=CKEDITOR.instances,f;for(f in e){var b=e[f];"wysiwyg"==b.mode&&!b.readOnly&&(b=b.document.getBody(),b.setAttribute("contentEditable",!1),b.setAttribute("contentEditable",!0))}a.editable().hasFocus&&(a.toolbox.focus(),
+a.focus())}}CKEDITOR.plugins.add("maximize",{init:function(a){function e(){var b=d.getViewPaneSize();a.resize(b.width,b.height,null,!0)}if(a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE){var f=a.lang,b=CKEDITOR.document,d=b.getWindow(),j,k,m,l=CKEDITOR.TRISTATE_OFF;a.addCommand("maximize",{modes:{wysiwyg:!CKEDITOR.env.iOS,source:!CKEDITOR.env.iOS},readOnly:1,editorFocus:!1,exec:function(){var h=a.container.getChild(1),g=a.ui.space("contents");if("wysiwyg"==a.mode){var c=a.getSelection();j=c&&c.getRanges();
+k=d.getScrollPosition()}else{var i=a.editable().$;j=!CKEDITOR.env.ie&&[i.selectionStart,i.selectionEnd];k=[i.scrollLeft,i.scrollTop]}if(this.state==CKEDITOR.TRISTATE_OFF){d.on("resize",e);m=d.getScrollPosition();for(c=a.container;c=c.getParent();)c.setCustomData("maximize_saved_styles",n(c)),c.setStyle("z-index",a.config.baseFloatZIndex-5);g.setCustomData("maximize_saved_styles",n(g,!0));h.setCustomData("maximize_saved_styles",n(h,!0));g={overflow:CKEDITOR.env.webkit?"":"hidden",width:0,height:0};
+b.getDocumentElement().setStyles(g);!CKEDITOR.env.gecko&&b.getDocumentElement().setStyle("position","fixed");(!CKEDITOR.env.gecko||!CKEDITOR.env.quirks)&&b.getBody().setStyles(g);CKEDITOR.env.ie?setTimeout(function(){d.$.scrollTo(0,0)},0):d.$.scrollTo(0,0);h.setStyle("position",CKEDITOR.env.gecko&&CKEDITOR.env.quirks?"fixed":"absolute");h.$.offsetLeft;h.setStyles({"z-index":a.config.baseFloatZIndex-5,left:"0px",top:"0px"});h.addClass("cke_maximized");e();g=h.getDocumentPosition();h.setStyles({left:-1*
+g.x+"px",top:-1*g.y+"px"});CKEDITOR.env.gecko&&q(a)}else if(this.state==CKEDITOR.TRISTATE_ON){d.removeListener("resize",e);g=[g,h];for(c=0;c<g.length;c++)p(g[c],g[c].getCustomData("maximize_saved_styles")),g[c].removeCustomData("maximize_saved_styles");for(c=a.container;c=c.getParent();)p(c,c.getCustomData("maximize_saved_styles")),c.removeCustomData("maximize_saved_styles");CKEDITOR.env.ie?setTimeout(function(){d.$.scrollTo(m.x,m.y)},0):d.$.scrollTo(m.x,m.y);h.removeClass("cke_maximized");CKEDITOR.env.webkit&&
+(h.setStyle("display","inline"),setTimeout(function(){h.setStyle("display","block")},0));a.fire("resize")}this.toggleState();if(c=this.uiItems[0])g=this.state==CKEDITOR.TRISTATE_OFF?f.maximize.maximize:f.maximize.minimize,c=CKEDITOR.document.getById(c._.id),c.getChild(1).setHtml(g),c.setAttribute("title",g),c.setAttribute("href",'javascript:void("'+g+'");');"wysiwyg"==a.mode?j?(CKEDITOR.env.gecko&&q(a),a.getSelection().selectRanges(j),(i=a.getSelection().getStartElement())&&i.scrollIntoView(!0)):
+d.$.scrollTo(k.x,k.y):(j&&(i.selectionStart=j[0],i.selectionEnd=j[1]),i.scrollLeft=k[0],i.scrollTop=k[1]);j=k=null;l=this.state;a.fire("maximize",this.state)},canUndo:!1});a.ui.addButton&&a.ui.addButton("Maximize",{label:f.maximize.maximize,command:"maximize",toolbar:"tools,10"});a.on("mode",function(){var b=a.getCommand("maximize");b.setState(b.state==CKEDITOR.TRISTATE_DISABLED?CKEDITOR.TRISTATE_DISABLED:l)},null,null,100)}}})})();CKEDITOR.plugins.add("newpage",{init:function(a){a.addCommand("newpage",{modes:{wysiwyg:1,source:1},exec:function(b){var a=this;b.setData(b.config.newpage_html||"",function(){b.focus();setTimeout(function(){b.fire("afterCommandExec",{name:"newpage",command:a});b.selectionChange()},200)})},async:!0});a.ui.addButton&&a.ui.addButton("NewPage",{label:a.lang.newpage.toolbar,command:"newpage",toolbar:"document,20"})}});CKEDITOR.plugins.add("pagebreak",{requires:"fakeobjects",onLoad:function(){var a=["{","background: url("+CKEDITOR.getUrl(this.path+"images/pagebreak.gif")+") no-repeat center center;","clear: both;width:100%; _width:99.9%;border-top: #999999 1px dotted;border-bottom: #999999 1px dotted;padding:0;height: 5px;cursor: default;}"].join("").replace(/;/g," !important;");CKEDITOR.addCss("div.cke_pagebreak"+a)},init:function(a){a.blockless||(a.addCommand("pagebreak",CKEDITOR.plugins.pagebreakCmd),a.ui.addButton&&
+a.ui.addButton("PageBreak",{label:a.lang.pagebreak.toolbar,command:"pagebreak",toolbar:"insert,70"}),CKEDITOR.env.opera&&a.on("contentDom",function(){a.document.on("click",function(b){b=b.data.getTarget();b.is("div")&&b.hasClass("cke_pagebreak")&&a.getSelection().selectElement(b)})}))},afterInit:function(a){var b=a.lang.pagebreak.alt,c=a.dataProcessor,a=c&&c.dataFilter;(c=c&&c.htmlFilter)&&c.addRules({attributes:{"class":function(a,b){var c=a.replace("cke_pagebreak","");if(c!=a){var d=CKEDITOR.htmlParser.fragment.fromHtml('<span style="display: none;">&nbsp;</span>').children[0];
+b.children.length=0;b.add(d);d=b.attributes;delete d["aria-label"];delete d.contenteditable;delete d.title}return c}}},5);a&&a.addRules({elements:{div:function(a){var c=a.attributes,e=c&&c.style,d=e&&1==a.children.length&&a.children[0];if((d=d&&"span"==d.name&&d.attributes.style)&&/page-break-after\s*:\s*always/i.test(e)&&/display\s*:\s*none/i.test(d))c.contenteditable="false",c["class"]="cke_pagebreak",c["data-cke-display-name"]="pagebreak",c["aria-label"]=b,c.title=b,a.children.length=0}}})}});
+CKEDITOR.plugins.pagebreakCmd={exec:function(a){var b=a.lang.pagebreak.alt,b=CKEDITOR.dom.element.createFromHtml('<div style="page-break-after: always;"contenteditable="false" title="'+b+'" aria-label="'+b+'" data-cke-display-name="pagebreak" class="cke_pagebreak"></div>',a.document);a.insertElement(b)},context:"div",allowedContent:{div:{styles:"!page-break-after"},span:{match:function(a){return(a=a.parent)&&"div"==a.name&&a.styles["page-break-after"]},styles:"display"}},requiredContent:"div{page-break-after}"};(function(){var c={canUndo:!1,async:!0,exec:function(a){a.getClipboardData({title:a.lang.pastetext.title},function(b){b&&a.fire("paste",{type:"text",dataValue:b.dataValue});a.fire("afterCommandExec",{name:"pastetext",command:c,returnValue:!!b})})}};CKEDITOR.plugins.add("pastetext",{requires:"clipboard",init:function(a){a.addCommand("pastetext",c);a.ui.addButton&&a.ui.addButton("PasteText",{label:a.lang.pastetext.button,command:"pastetext",toolbar:"clipboard,40"});if(a.config.forcePasteAsPlainText)a.on("beforePaste",
+function(a){"html"!=a.data.type&&(a.data.type="text")});a.on("pasteState",function(b){a.getCommand("pastetext").setState(b.data)})}})})();(function(){function h(a,d,f){var b=CKEDITOR.cleanWord;b?f():(a=CKEDITOR.getUrl(a.config.pasteFromWordCleanupFile||d+"filter/default.js"),CKEDITOR.scriptLoader.load(a,f,null,!0));return!b}function i(a){a.data.type="html"}CKEDITOR.plugins.add("pastefromword",{requires:"clipboard",init:function(a){var d=0,f=this.path;a.addCommand("pastefromword",{canUndo:!1,async:!0,exec:function(a){var e=this;d=1;a.once("beforePaste",i);a.getClipboardData({title:a.lang.pastefromword.title},function(c){c&&a.fire("paste",
+{type:"html",dataValue:c.dataValue});a.fire("afterCommandExec",{name:"pastefromword",command:e,returnValue:!!c})})}});a.ui.addButton&&a.ui.addButton("PasteFromWord",{label:a.lang.pastefromword.toolbar,command:"pastefromword",toolbar:"clipboard,50"});a.on("pasteState",function(b){a.getCommand("pastefromword").setState(b.data)});a.on("paste",function(b){var e=b.data,c=e.dataValue;if(c&&(d||/(class=\"?Mso|style=\"[^\"]*\bmso\-|w:WordDocument)/.test(c))){var g=h(a,f,function(){if(g)a.fire("paste",e);
+else if(!a.config.pasteFromWordPromptCleanup||d||confirm(a.lang.pastefromword.confirmCleanup))e.dataValue=CKEDITOR.cleanWord(c,a)});g&&b.cancel()}},null,null,3)}})})();(function(){var h,j={modes:{wysiwyg:1,source:1},canUndo:!1,readOnly:1,exec:function(a){var g,b=a.config,e=b.baseHref?'<base href="'+b.baseHref+'"/>':"",i=CKEDITOR.env.isCustomDomain();if(b.fullPage)g=a.getData().replace(/<head>/,"$&"+e).replace(/[^>]*(?=<\/title>)/,"$& &mdash; "+a.lang.preview.preview);else{var b="<body ",d=a.document&&a.document.getBody();d&&(d.getAttribute("id")&&(b+='id="'+d.getAttribute("id")+'" '),d.getAttribute("class")&&(b+='class="'+d.getAttribute("class")+'" '));g=a.config.docType+
+'<html dir="'+a.config.contentsLangDirection+'"><head>'+e+"<title>"+a.lang.preview.preview+"</title>"+CKEDITOR.tools.buildStyleHtml(a.config.contentsCss)+"</head>"+(b+">")+a.getData()+"</body></html>"}e=640;b=420;d=80;try{var c=window.screen,e=Math.round(0.8*c.width),b=Math.round(0.7*c.height),d=Math.round(0.1*c.width)}catch(j){}if(!a.fire("contentPreview",a={dataValue:g}))return!1;c="";i&&(window._cke_htmlToLoad=a.dataValue,c='javascript:void( (function(){document.open();document.domain="'+document.domain+
+'";document.write( window.opener._cke_htmlToLoad );document.close();window.opener._cke_htmlToLoad = null;})() )');CKEDITOR.env.gecko&&(window._cke_htmlToLoad=a.dataValue,c=h+"preview.html");c=window.open(c,null,"toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width="+e+",height="+b+",left="+d);if(!i&&!CKEDITOR.env.gecko){var f=c.document;f.open();f.write(a.dataValue);f.close();CKEDITOR.env.webkit&&setTimeout(function(){f.body.innerHTML=f.body.innerHTML+""},0)}return!0}};
+CKEDITOR.plugins.add("preview",{init:function(a){a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE&&(h=this.path,a.addCommand("preview",j),a.ui.addButton&&a.ui.addButton("Preview",{label:a.lang.preview.preview,command:"preview",toolbar:"document,40"}))}})})();CKEDITOR.plugins.add("print",{init:function(a){a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE&&(a.addCommand("print",CKEDITOR.plugins.print),a.ui.addButton&&a.ui.addButton("Print",{label:a.lang.print.toolbar,command:"print",toolbar:"document,50"}))}});CKEDITOR.plugins.print={exec:function(a){CKEDITOR.env.opera||(CKEDITOR.env.gecko?a.window.$.print():a.document.$.execCommand("Print"))},canUndo:!1,readOnly:1,modes:{wysiwyg:!CKEDITOR.env.opera}};CKEDITOR.plugins.add("removeformat",{init:function(a){a.addCommand("removeFormat",CKEDITOR.plugins.removeformat.commands.removeformat);a.ui.addButton&&a.ui.addButton("RemoveFormat",{label:a.lang.removeformat.toolbar,command:"removeFormat",toolbar:"cleanup,10"})}});
+CKEDITOR.plugins.removeformat={commands:{removeformat:{exec:function(a){for(var h=a._.removeFormatRegex||(a._.removeFormatRegex=RegExp("^(?:"+a.config.removeFormatTags.replace(/,/g,"|")+")$","i")),e=a._.removeAttributes||(a._.removeAttributes=a.config.removeFormatAttributes.split(",")),f=CKEDITOR.plugins.removeformat.filter,k=a.getSelection().getRanges(1),l=k.createIterator(),c;c=l.getNextRange();){c.collapsed||c.enlarge(CKEDITOR.ENLARGE_ELEMENT);var i=c.createBookmark(),b=i.startNode,j=i.endNode,
+d=function(b){for(var c=a.elementPath(b),e=c.elements,d=1,g;(g=e[d])&&!g.equals(c.block)&&!g.equals(c.blockLimit);d++)h.test(g.getName())&&f(a,g)&&b.breakParent(g)};d(b);if(j){d(j);for(b=b.getNextSourceNode(!0,CKEDITOR.NODE_ELEMENT);b&&!b.equals(j);)d=b.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT),!("img"==b.getName()&&b.data("cke-realelement"))&&f(a,b)&&(h.test(b.getName())?b.remove(1):(b.removeAttributes(e),a.fire("removeFormatCleanup",b))),b=d}c.moveToBookmark(i)}a.forceNextSelectionCheck();a.getSelection().selectRanges(k)}}},
+filter:function(a,h){for(var e=a._.removeFormatFilters||[],f=0;f<e.length;f++)if(!1===e[f](h))return!1;return!0}};CKEDITOR.editor.prototype.addRemoveFormatFilter=function(a){this._.removeFormatFilters||(this._.removeFormatFilters=[]);this._.removeFormatFilters.push(a)};CKEDITOR.config.removeFormatTags="b,big,code,del,dfn,em,font,i,ins,kbd,q,s,samp,small,span,strike,strong,sub,sup,tt,u,var";CKEDITOR.config.removeFormatAttributes="class,style,lang,width,height,align,hspace,valign";(function(){var b={modes:{wysiwyg:1,source:1},readOnly:1,exec:function(a){if(a=a.element.$.form)try{a.submit()}catch(b){a.submit.click&&a.submit.click()}}};CKEDITOR.plugins.add("save",{init:function(a){a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&(a.addCommand("save",b).modes={wysiwyg:!!a.element.$.form},a.ui.addButton&&a.ui.addButton("Save",{label:a.lang.save.toolbar,command:"save",toolbar:"document,10"}))}})})();(function(){CKEDITOR.plugins.add("selectall",{init:function(b){b.addCommand("selectAll",{modes:{wysiwyg:1,source:1},exec:function(a){var b=a.editable();if(b.is("textarea"))a=b.$,CKEDITOR.env.ie?a.createTextRange().execCommand("SelectAll"):(a.selectionStart=0,a.selectionEnd=a.value.length),a.focus();else{if(b.is("body"))a.document.$.execCommand("SelectAll",!1,null);else{var c=a.createRange();c.selectNodeContents(b);c.select()}a.forceNextSelectionCheck();a.selectionChange()}},canUndo:!1});b.ui.addButton&&
+b.ui.addButton("SelectAll",{label:b.lang.selectall.toolbar,command:"selectAll",toolbar:"selection,10"})}})})();(function(){var d={readOnly:1,preserveState:!0,editorFocus:!1,exec:function(a){this.toggleState();this.refresh(a)},refresh:function(a){if(a.document){var b=this.state==CKEDITOR.TRISTATE_ON&&(a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE||a.focusManager.hasFocus)?"attachClass":"removeClass";a.editable()[b]("cke_show_blocks")}}};CKEDITOR.plugins.add("showblocks",{onLoad:function(){function a(a){return".%1.%2 p,.%1.%2 div,.%1.%2 pre,.%1.%2 address,.%1.%2 blockquote,.%1.%2 h1,.%1.%2 h2,.%1.%2 h3,.%1.%2 h4,.%1.%2 h5,.%1.%2 h6{background-position: top %3;padding-%3: 8px;}".replace(/%1/g,
+"cke_show_blocks").replace(/%2/g,"cke_contents_"+a).replace(/%3/g,"rtl"==a?"right":"left")}CKEDITOR.addCss(".%2 p,.%2 div,.%2 pre,.%2 address,.%2 blockquote,.%2 h1,.%2 h2,.%2 h3,.%2 h4,.%2 h5,.%2 h6{background-repeat: no-repeat;border: 1px dotted gray;padding-top: 8px;}.%2 p{%1p.png);}.%2 div{%1div.png);}.%2 pre{%1pre.png);}.%2 address{%1address.png);}.%2 blockquote{%1blockquote.png);}.%2 h1{%1h1.png);}.%2 h2{%1h2.png);}.%2 h3{%1h3.png);}.%2 h4{%1h4.png);}.%2 h5{%1h5.png);}.%2 h6{%1h6.png);}".replace(/%1/g,
+"background-image: url("+CKEDITOR.getUrl(this.path)+"images/block_").replace(/%2/g,"cke_show_blocks ")+a("ltr")+a("rtl"))},init:function(a){if(!a.blockless){var b=a.addCommand("showblocks",d);b.canUndo=!1;a.config.startupOutlineBlocks&&b.setState(CKEDITOR.TRISTATE_ON);a.ui.addButton&&a.ui.addButton("ShowBlocks",{label:a.lang.showblocks.toolbar,command:"showblocks",toolbar:"tools,20"});a.on("mode",function(){b.state!=CKEDITOR.TRISTATE_DISABLED&&b.refresh(a)});if(a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE){var c=
+function(){b.refresh(a)};a.on("focus",c);a.on("blur",c)}a.on("contentDom",function(){b.state!=CKEDITOR.TRISTATE_DISABLED&&b.refresh(a)})}}})})();(function(){var f={preserveState:!0,editorFocus:!1,readOnly:1,exec:function(a){this.toggleState();this.refresh(a)},refresh:function(a){if(a.document){var b=this.state==CKEDITOR.TRISTATE_ON?"attachClass":"removeClass";a.editable()[b]("cke_show_borders")}}};CKEDITOR.plugins.add("showborders",{modes:{wysiwyg:1},onLoad:function(){var a;a=(CKEDITOR.env.ie6Compat?[".%1 table.%2,",".%1 table.%2 td, .%1 table.%2 th","{","border : #d3d3d3 1px dotted","}"]:".%1 table.%2,;.%1 table.%2 > tr > td, .%1 table.%2 > tr > th,;.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,;.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,;.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th;{;border : #d3d3d3 1px dotted;}".split(";")).join("").replace(/%2/g,
+"cke_show_border").replace(/%1/g,"cke_show_borders ");CKEDITOR.addCss(a)},init:function(a){var b=a.addCommand("showborders",f);b.canUndo=!1;!1!==a.config.startupShowBorders&&b.setState(CKEDITOR.TRISTATE_ON);a.on("mode",function(){b.state!=CKEDITOR.TRISTATE_DISABLED&&b.refresh(a)},null,null,100);a.on("contentDom",function(){b.state!=CKEDITOR.TRISTATE_DISABLED&&b.refresh(a)});a.on("removeFormatCleanup",function(d){d=d.data;a.getCommand("showborders").state==CKEDITOR.TRISTATE_ON&&(d.is("table")&&(!d.hasAttribute("border")||
+0>=parseInt(d.getAttribute("border"),10)))&&d.addClass("cke_show_border")})},afterInit:function(a){var b=a.dataProcessor,a=b&&b.dataFilter,b=b&&b.htmlFilter;a&&a.addRules({elements:{table:function(a){var a=a.attributes,b=a["class"],c=parseInt(a.border,10);if((!c||0>=c)&&(!b||-1==b.indexOf("cke_show_border")))a["class"]=(b||"")+" cke_show_border"}}});b&&b.addRules({elements:{table:function(a){var a=a.attributes,b=a["class"];b&&(a["class"]=b.replace("cke_show_border","").replace(/\s{2}/," ").replace(/^\s+|\s+$/,
+""))}}})}});CKEDITOR.on("dialogDefinition",function(a){var b=a.data.name;if("table"==b||"tableProperties"==b)if(a=a.data.definition,b=a.getContents("info").get("txtBorder"),b.commit=CKEDITOR.tools.override(b.commit,function(a){return function(b,c){a.apply(this,arguments);var e=parseInt(this.getValue(),10);c[!e||0>=e?"addClass":"removeClass"]("cke_show_border")}}),a=(a=a.getContents("advanced"))&&a.get("advCSSClasses"))a.setup=CKEDITOR.tools.override(a.setup,function(a){return function(){a.apply(this,
+arguments);this.setValue(this.getValue().replace(/cke_show_border/,""))}}),a.commit=CKEDITOR.tools.override(a.commit,function(a){return function(b,c){a.apply(this,arguments);parseInt(c.getAttribute("border"),10)||c.addClass("cke_show_border")}})})})();(function(){CKEDITOR.plugins.add("sourcearea",{init:function(a){function d(){this.hide();this.setStyle("height",this.getParent().$.clientHeight+"px");this.setStyle("width",this.getParent().$.clientWidth+"px");this.show()}if(a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE){var e=CKEDITOR.plugins.sourcearea;a.addMode("source",function(e){var b=a.ui.space("contents").getDocument().createElement("textarea");b.setStyles(CKEDITOR.tools.extend({width:CKEDITOR.env.ie7Compat?"99%":"100%",height:"100%",resize:"none",
+outline:"none","text-align":"left"},CKEDITOR.tools.cssVendorPrefix("tab-size",a.config.sourceAreaTabSize||4)));b.setAttribute("dir","ltr");b.addClass("cke_source cke_reset cke_enable_context_menu");a.ui.space("contents").append(b);b=a.editable(new c(a,b));b.setData(a.getData(1));CKEDITOR.env.ie&&(b.attachListener(a,"resize",d,b),b.attachListener(CKEDITOR.document.getWindow(),"resize",d,b),CKEDITOR.tools.setTimeout(d,0,b));a.fire("ariaWidget",this);e()});a.addCommand("source",e.commands.source);a.ui.addButton&&
+a.ui.addButton("Source",{label:a.lang.sourcearea.toolbar,command:"source",toolbar:"mode,10"});a.on("mode",function(){a.getCommand("source").setState("source"==a.mode?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF)})}}});var c=CKEDITOR.tools.createClass({base:CKEDITOR.editable,proto:{setData:function(a){this.setValue(a);this.editor.fire("dataReady")},getData:function(){return this.getValue()},insertHtml:function(){},insertElement:function(){},insertText:function(){},setReadOnly:function(a){this[(a?"set":
+"remove")+"Attribute"]("readOnly","readonly")},detach:function(){c.baseProto.detach.call(this);this.clearCustomData();this.remove()}}})})();CKEDITOR.plugins.sourcearea={commands:{source:{modes:{wysiwyg:1,source:1},editorFocus:!1,readOnly:1,exec:function(c){"wysiwyg"==c.mode&&c.fire("saveSnapshot");c.getCommand("source").setState(CKEDITOR.TRISTATE_DISABLED);c.setMode("source"==c.mode?"wysiwyg":"source")},canUndo:!1}}};CKEDITOR.plugins.add("specialchar",{availableLangs:{ca:1,cs:1,cy:1,de:1,en:1,eo:1,es:1,et:1,fa:1,fi:1,fr:1,"fr-ca":1,he:1,hr:1,it:1,ku:1,lv:1,nb:1,nl:1,no:1,pl:1,"pt-br":1,sk:1,sq:1,sv:1,th:1,tr:1,ug:1,"zh-cn":1},requires:"dialog",init:function(a){var c=this;CKEDITOR.dialog.add("specialchar",this.path+"dialogs/specialchar.js");a.addCommand("specialchar",{exec:function(){var b=a.langCode,b=c.availableLangs[b]?b:c.availableLangs[b.replace(/-.*/,"")]?b.replace(/-.*/,""):"en";CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(c.path+
+"dialogs/lang/"+b+".js"),function(){CKEDITOR.tools.extend(a.lang.specialchar,c.langEntries[b]);a.openDialog("specialchar")})},modes:{wysiwyg:1},canUndo:!1});a.ui.addButton&&a.ui.addButton("SpecialChar",{label:a.lang.specialchar.toolbar,command:"specialchar",toolbar:"insert,50"})}});CKEDITOR.config.specialChars="! &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; &ldquo; &rdquo; &ndash; &mdash; &iexcl; &cent; &pound; &curren; &yen; &brvbar; &sect; &uml; &copy; &ordf; &laquo; &not; &reg; &macr; &deg; &sup2; &sup3; &acute; &micro; &para; &middot; &cedil; &sup1; &ordm; &raquo; &frac14; &frac12; &frac34; &iquest; &Agrave; &Aacute; &Acirc; &Atilde; &Auml; &Aring; &AElig; &Ccedil; &Egrave; &Eacute; &Ecirc; &Euml; &Igrave; &Iacute; &Icirc; &Iuml; &ETH; &Ntilde; &Ograve; &Oacute; &Ocirc; &Otilde; &Ouml; &times; &Oslash; &Ugrave; &Uacute; &Ucirc; &Uuml; &Yacute; &THORN; &szlig; &agrave; &aacute; &acirc; &atilde; &auml; &aring; &aelig; &ccedil; &egrave; &eacute; &ecirc; &euml; &igrave; &iacute; &icirc; &iuml; &eth; &ntilde; &ograve; &oacute; &ocirc; &otilde; &ouml; &divide; &oslash; &ugrave; &uacute; &ucirc; &uuml; &yacute; &thorn; &yuml; &OElig; &oelig; &#372; &#374 &#373 &#375; &sbquo; &#8219; &bdquo; &hellip; &trade; &#9658; &bull; &rarr; &rArr; &hArr; &diams; &asymp;".split(" ");CKEDITOR.plugins.add("menubutton",{requires:"button,menu",onLoad:function(){var d=function(a){var b=this._;if(b.state!==CKEDITOR.TRISTATE_DISABLED){b.previousState=b.state;var c=b.menu;c||(c=b.menu=new CKEDITOR.menu(a,{panel:{className:"cke_menu_panel",attributes:{"aria-label":a.lang.common.options}}}),c.onHide=CKEDITOR.tools.bind(function(){this.setState(this.modes&&this.modes[a.mode]?b.previousState:CKEDITOR.TRISTATE_DISABLED)},this),this.onMenu&&c.addListener(this.onMenu));b.on?c.hide():(this.setState(CKEDITOR.TRISTATE_ON),
+setTimeout(function(){c.show(CKEDITOR.document.getById(b.id),4)},0))}};CKEDITOR.ui.menuButton=CKEDITOR.tools.createClass({base:CKEDITOR.ui.button,$:function(a){delete a.panel;this.base(a);this.hasArrow=!0;this.click=d},statics:{handler:{create:function(a){return new CKEDITOR.ui.menuButton(a)}}}})},beforeInit:function(d){d.ui.addHandler(CKEDITOR.UI_MENUBUTTON,CKEDITOR.ui.menuButton.handler)}});CKEDITOR.UI_MENUBUTTON="menubutton";(function(){function k(a,c){var b=0,d;for(d in c)if(c[d]==a){b=1;break}return b}var i="",r=function(){function a(){b.once("focus",f);b.once("blur",c)}function c(b){var b=b.editor,c=d.getScayt(b),f=b.elementMode==CKEDITOR.ELEMENT_MODE_INLINE;c&&(d.setPaused(b,!c.disabled),d.setControlId(b,c.id),c.destroy(!0),delete d.instances[b.name],f&&a())}var b=this,f=function(){if(!("undefined"!=typeof d.instances[b.name]||null!=d.instances[b.name])){var a=b.config,c={};c.srcNodeRef="BODY"==b.editable().$.nodeName?
+b.document.getWindow().$.frameElement:b.editable().$;c.assocApp="CKEDITOR."+CKEDITOR.version+"@"+CKEDITOR.revision;c.customerid=a.scayt_customerid||"1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2";c.customDictionaryIds=a.scayt_customDictionaryIds||"";c.userDictionaryName=a.scayt_userDictionaryName||"";c.sLang=a.scayt_sLang||"en_US";c.onLoad=function(){CKEDITOR.env.ie&&8>CKEDITOR.env.version||this.addStyle(this.selectorCss(),"padding-bottom: 2px !important;");b.editable().hasFocus&&
+!d.isControlRestored(b)&&this.focus()};c.onBeforeChange=function(){d.getScayt(b)&&!b.checkDirty()&&setTimeout(function(){b.resetDirty()},0)};a=window.scayt_custom_params;if("object"==typeof a)for(var f in a)c[f]=a[f];d.getControlId(b)&&(c.id=d.getControlId(b));var o=new window.scayt(c);o.afterMarkupRemove.push(function(a){(new CKEDITOR.dom.element(a,o.document)).mergeSiblings()});if(c=d.instances[b.name])o.sLang=c.sLang,o.option(c.option()),o.paused=c.paused;d.instances[b.name]=o;try{o.setDisabled(!1===
+d.isPaused(b))}catch(e){}b.fire("showScaytState")}};b.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a():b.on("contentDom",f);b.on("contentDomUnload",function(){for(var a=CKEDITOR.document.getElementsByTag("script"),b=/^dojoIoScript(\d+)$/i,c=/^https?:\/\/svc\.webspellchecker\.net\/spellcheck\/script\/ssrv\.cgi/i,d=0;d<a.count();d++){var f=a.getItem(d),e=f.getId(),h=f.getAttribute("src");e&&(h&&e.match(b)&&h.match(c))&&f.remove()}});b.on("beforeCommandExec",function(a){"source"==a.data.name&&"source"==
+b.mode&&d.markControlRestore(b)});b.on("afterCommandExec",function(a){d.isScaytEnabled(b)&&"wysiwyg"==b.mode&&("undo"==a.data.name||"redo"==a.data.name)&&window.setTimeout(function(){d.getScayt(b).refresh()},10)});b.on("destroy",c);b.on("setData",c);b.on("insertElement",function(){var a=d.getScayt(b);d.isScaytEnabled(b)&&(CKEDITOR.env.ie&&b.getSelection().unlock(!0),window.setTimeout(function(){a.focus();a.refresh()},10))},this,null,50);b.on("insertHtml",function(){var a=d.getScayt(b);d.isScaytEnabled(b)&&
+(CKEDITOR.env.ie&&b.getSelection().unlock(!0),window.setTimeout(function(){a.focus();a.refresh()},10))},this,null,50);b.on("scaytDialog",function(a){a.data.djConfig=window.djConfig;a.data.scayt_control=d.getScayt(b);a.data.tab=i;a.data.scayt=window.scayt});var e=b.dataProcessor;(e=e&&e.htmlFilter)&&e.addRules({elements:{span:function(a){if(a.attributes["data-scayt_word"]&&a.attributes["data-scaytid"])return delete a.name,a}}});e=CKEDITOR.plugins.undo.Image.prototype;e.equals=CKEDITOR.tools.override(e.equals,
+function(a){return function(b){var c=this.contents,f=b.contents,e=d.getScayt(this.editor);e&&d.isScaytReady(this.editor)&&(this.contents=e.reset(c)||"",b.contents=e.reset(f)||"");e=a.apply(this,arguments);this.contents=c;b.contents=f;return e}});b.document&&(b.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE||b.focusManager.hasFocus)&&f()};CKEDITOR.plugins.scayt={engineLoaded:!1,instances:{},controlInfo:{},setControlInfo:function(a,c){a&&(a.name&&"object"!=typeof this.controlInfo[a.name])&&(this.controlInfo[a.name]=
+{});for(var b in c)this.controlInfo[a.name][b]=c[b]},isControlRestored:function(a){return a&&a.name&&this.controlInfo[a.name]?this.controlInfo[a.name].restored:!1},markControlRestore:function(a){this.setControlInfo(a,{restored:!0})},setControlId:function(a,c){this.setControlInfo(a,{id:c})},getControlId:function(a){return a&&a.name&&this.controlInfo[a.name]&&this.controlInfo[a.name].id?this.controlInfo[a.name].id:null},setPaused:function(a,c){this.setControlInfo(a,{paused:c})},isPaused:function(a){if(a&&
+a.name&&this.controlInfo[a.name])return this.controlInfo[a.name].paused},getScayt:function(a){return this.instances[a.name]},isScaytReady:function(a){return!0===this.engineLoaded&&"undefined"!==typeof window.scayt&&this.getScayt(a)},isScaytEnabled:function(a){return(a=this.getScayt(a))?!1===a.disabled:!1},getUiTabs:function(a){var c=[],b=a.config.scayt_uiTabs||"1,1,1",b=b.split(",");b[3]="1";for(var d=0;4>d;d++)c[d]="undefined"!=typeof window.scayt&&"undefined"!=typeof window.scayt.uiTags?parseInt(b[d],
+10)&&window.scayt.uiTags[d]:parseInt(b[d],10);"object"==typeof a.plugins.wsc?c.push(1):c.push(0);return c},loadEngine:function(a){if(CKEDITOR.env.gecko&&10900>CKEDITOR.env.version||CKEDITOR.env.opera||CKEDITOR.env.air)return a.fire("showScaytState");if(!0===this.engineLoaded)return r.apply(a);if(-1==this.engineLoaded)return CKEDITOR.on("scaytReady",function(){r.apply(a)});CKEDITOR.on("scaytReady",r,a);CKEDITOR.on("scaytReady",function(){this.engineLoaded=!0},this,null,0);this.engineLoaded=-1;var c=
+document.location.protocol,c=-1!=c.search(/https?:/)?c:"http:",c=a.config.scayt_srcUrl||c+"//svc.webspellchecker.net/scayt26/loader__base.js",b=d.parseUrl(c).path+"/";void 0==window.scayt?(CKEDITOR._djScaytConfig={baseUrl:b,addOnLoad:[function(){CKEDITOR.fireOnce("scaytReady")}],isDebug:!1},CKEDITOR.document.getHead().append(CKEDITOR.document.createElement("script",{attributes:{type:"text/javascript",async:"true",src:c}}))):CKEDITOR.fireOnce("scaytReady");return null},parseUrl:function(a){var c;return a.match&&
+(c=a.match(/(.*)[\/\\](.*?\.\w+)$/))?{path:c[1],file:c[2]}:a}};var d=CKEDITOR.plugins.scayt,s=function(a,c,b,d,e,k,g){a.addCommand(d,e);a.addMenuItem(d,{label:b,command:d,group:k,order:g})},v={preserveState:!0,editorFocus:!1,canUndo:!1,exec:function(a){if(d.isScaytReady(a)){var c=d.isScaytEnabled(a);this.setState(c?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_ON);a=d.getScayt(a);a.focus();a.setDisabled(c)}else!a.config.scayt_autoStartup&&0<=d.engineLoaded&&(a.focus(),this.setState(CKEDITOR.TRISTATE_DISABLED),
+d.loadEngine(a))}};CKEDITOR.plugins.add("scayt",{requires:"menubutton,dialog",beforeInit:function(a){var c=a.config.scayt_contextMenuItemsOrder||"suggest|moresuggest|control",b="";if((c=c.split("|"))&&c.length)for(var d=0;d<c.length;d++)b+="scayt_"+c[d]+(c.length!=parseInt(d,10)+1?",":"");a.config.menu_groups=b+","+a.config.menu_groups},checkEnvironment:function(){return CKEDITOR.env.opera||CKEDITOR.env.air?0:1},init:function(a){var c=a.dataProcessor&&a.dataProcessor.dataFilter,b={elements:{span:function(a){var b=
+a.attributes;b&&b["data-scaytid"]&&delete a.name}}};c&&c.addRules(b);var f={},e={},p=a.addCommand("scaytcheck",v);CKEDITOR.dialog.add("scaytcheck",CKEDITOR.getUrl(this.path+"dialogs/options.js"));c=d.getUiTabs(a);a.addMenuGroup("scaytButton");a.addMenuGroup("scayt_suggest",-10);a.addMenuGroup("scayt_moresuggest",-9);a.addMenuGroup("scayt_control",-8);var b={},g=a.lang.scayt;b.scaytToggle={label:g.enable,command:"scaytcheck",group:"scaytButton"};1==c[0]&&(b.scaytOptions={label:g.options,group:"scaytButton",
+onClick:function(){i="options";a.openDialog("scaytcheck")}});1==c[1]&&(b.scaytLangs={label:g.langs,group:"scaytButton",onClick:function(){i="langs";a.openDialog("scaytcheck")}});1==c[2]&&(b.scaytDict={label:g.dictionariesTab,group:"scaytButton",onClick:function(){i="dictionaries";a.openDialog("scaytcheck")}});b.scaytAbout={label:a.lang.scayt.about,group:"scaytButton",onClick:function(){i="about";a.openDialog("scaytcheck")}};1==c[4]&&(b.scaytWSC={label:a.lang.wsc.toolbar,group:"scaytButton",command:"checkspell"});
+a.addMenuItems(b);a.ui.add("Scayt",CKEDITOR.UI_MENUBUTTON,{label:g.title,title:CKEDITOR.env.opera?g.opera_title:g.title,modes:{wysiwyg:this.checkEnvironment()},toolbar:"spellchecker,20",onRender:function(){p.on("state",function(){this.setState(p.state)},this)},onMenu:function(){var b=d.isScaytEnabled(a);a.getMenuItem("scaytToggle").label=g[b?"disable":"enable"];var c=d.getUiTabs(a);return{scaytToggle:CKEDITOR.TRISTATE_OFF,scaytOptions:b&&c[0]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,scaytLangs:b&&
+c[1]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,scaytDict:b&&c[2]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,scaytAbout:b&&c[3]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,scaytWSC:c[4]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED}}});a.contextMenu&&a.addMenuItems&&a.contextMenu.addListener(function(b,c){if(!d.isScaytEnabled(a)||c.getRanges()[0].checkReadOnly())return null;var l=d.getScayt(a),q=l.getScaytNode();if(!q)return null;var h=l.getWord(q);if(!h)return null;var i=l.getLang(),
+m=a.config.scayt_contextCommands||"all",h=window.scayt.getSuggestion(h,i),m=m.split("|"),n;for(n in f){delete a._.menuItems[n];delete a.commands[n]}for(n in e){delete a._.menuItems[n];delete a.commands[n]}if(!h||!h.length){s(a,"no_sugg",g.noSuggestions,"scayt_no_sugg",{exec:function(){}},"scayt_control",1,true);e.scayt_no_sugg=CKEDITOR.TRISTATE_OFF}else{f={};e={};n=a.config.scayt_moreSuggestions||"on";var i=false,u=a.config.scayt_maxSuggestions;typeof u!="number"&&(u=5);!u&&(u=h.length);for(var j=
+0,p=h.length;j<p;j=j+1){var t="scayt_suggestion_"+h[j].replace(" ","_"),r=function(a,b){return{exec:function(){l.replace(a,b)}}}(q,h[j]);if(j<u){s(a,"button_"+t,h[j],t,r,"scayt_suggest",j+1);e[t]=CKEDITOR.TRISTATE_OFF}else if(n=="on"){s(a,"button_"+t,h[j],t,r,"scayt_moresuggest",j+1);f[t]=CKEDITOR.TRISTATE_OFF;i=true}}if(i){a.addMenuItem("scayt_moresuggest",{label:g.moreSuggestions,group:"scayt_moresuggest",order:10,getItems:function(){return f}});e.scayt_moresuggest=CKEDITOR.TRISTATE_OFF}}if(k("all",
+m)||k("ignore",m)){s(a,"ignore",g.ignore,"scayt_ignore",{exec:function(){l.ignore(q)}},"scayt_control",2);e.scayt_ignore=CKEDITOR.TRISTATE_OFF}if(k("all",m)||k("ignoreall",m)){s(a,"ignore_all",g.ignoreAll,"scayt_ignore_all",{exec:function(){l.ignoreAll(q)}},"scayt_control",3);e.scayt_ignore_all=CKEDITOR.TRISTATE_OFF}if(k("all",m)||k("add",m)){s(a,"add_word",g.addWord,"scayt_add_word",{exec:function(){window.scayt.addWordToUserDictionary(q)}},"scayt_control",4);e.scayt_add_word=CKEDITOR.TRISTATE_OFF}l.fireOnContextMenu&&
+l.fireOnContextMenu(a);return e});c=function(b){b.removeListener();CKEDITOR.env.opera||CKEDITOR.env.air?p.setState(CKEDITOR.TRISTATE_DISABLED):p.setState(d.isScaytEnabled(a)?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF)};a.on("showScaytState",c);a.on("instanceReady",c);if(a.config.scayt_autoStartup)a.on("instanceReady",function(){d.loadEngine(a)})},afterInit:function(a){var c,b=function(a){if(a.hasAttribute("data-scaytid"))return!1};a._.elementsPath&&(c=a._.elementsPath.filters)&&c.push(b);a.addRemoveFormatFilter&&
+a.addRemoveFormatFilter(b)}})})();(function(){CKEDITOR.plugins.add("stylescombo",{requires:"richcombo",init:function(c){var j=c.config,f=c.lang.stylescombo,g={},i=[],k=[];c.on("stylesSet",function(b){if(b=b.data.styles){for(var a,h,d=0,e=b.length;d<e;d++)if(a=b[d],!(c.blockless&&a.element in CKEDITOR.dtd.$block)&&(h=a.name,a=new CKEDITOR.style(a),!c.filter.customConfig||c.filter.check(a)))a._name=h,a._.enterMode=j.enterMode,a._.weight=d+1E3*(a.type==CKEDITOR.STYLE_OBJECT?1:a.type==CKEDITOR.STYLE_BLOCK?2:3),g[h]=a,i.push(a),k.push(a);
+i.sort(function(a,b){return a._.weight-b._.weight})}});c.ui.addRichCombo("Styles",{label:f.label,title:f.panelTitle,toolbar:"styles,10",allowedContent:k,panel:{css:[CKEDITOR.skin.getPath("editor")].concat(j.contentsCss),multiSelect:!0,attributes:{"aria-label":f.panelTitle}},init:function(){var b,a,c,d,e,g;e=0;for(g=i.length;e<g;e++)b=i[e],a=b._name,d=b.type,d!=c&&(this.startGroup(f["panelTitle"+d]),c=d),this.add(a,b.type==CKEDITOR.STYLE_OBJECT?a:b.buildPreview(),a);this.commit()},onClick:function(b){c.focus();
+c.fire("saveSnapshot");var b=g[b],a=c.elementPath();c[b.checkActive(a)?"removeStyle":"applyStyle"](b);c.fire("saveSnapshot")},onRender:function(){c.on("selectionChange",function(b){for(var a=this.getValue(),b=b.data.path.elements,c=0,d=b.length,e;c<d;c++){e=b[c];for(var f in g)if(g[f].checkElementRemovable(e,!0)){f!=a&&this.setValue(f);return}}this.setValue("")},this)},onOpen:function(){var b=c.getSelection().getSelectedElement(),b=c.elementPath(b),a=[0,0,0,0];this.showAll();this.unmarkAll();for(var h in g){var d=
+g[h],e=d.type;e==CKEDITOR.STYLE_BLOCK&&!b.isContextFor(d.element)?this.hideItem(h):(d.checkActive(b)?this.mark(h):e==CKEDITOR.STYLE_OBJECT&&!d.checkApplicable(b)&&(this.hideItem(h),a[e]--),a[e]++)}a[CKEDITOR.STYLE_BLOCK]||this.hideGroup(f["panelTitle"+CKEDITOR.STYLE_BLOCK]);a[CKEDITOR.STYLE_INLINE]||this.hideGroup(f["panelTitle"+CKEDITOR.STYLE_INLINE]);a[CKEDITOR.STYLE_OBJECT]||this.hideGroup(f["panelTitle"+CKEDITOR.STYLE_OBJECT])},reset:function(){g={};i=[]}})}})})();(function(){function i(c){return{editorFocus:!1,canUndo:!1,modes:{wysiwyg:1},exec:function(d){if(d.editable().hasFocus){var e=d.getSelection(),b;if(b=(new CKEDITOR.dom.elementPath(e.getCommonAncestor(),e.root)).contains({td:1,th:1},1)){var e=d.createRange(),a=CKEDITOR.tools.tryThese(function(){var a=b.getParent().$.cells[b.$.cellIndex+(c?-1:1)];a.parentNode.parentNode;return a},function(){var a=b.getParent(),a=a.getAscendant("table").$.rows[a.$.rowIndex+(c?-1:1)];return a.cells[c?a.cells.length-1:
+0]});if(!a&&!c){for(var f=b.getAscendant("table").$,a=b.getParent().$.cells,f=new CKEDITOR.dom.element(f.insertRow(-1),d.document),g=0,h=a.length;g<h;g++){var i=f.append((new CKEDITOR.dom.element(a[g],d.document)).clone(!1,!1));!CKEDITOR.env.ie&&i.appendBogus()}e.moveToElementEditStart(f)}else if(a)a=new CKEDITOR.dom.element(a),e.moveToElementEditStart(a),(!e.checkStartOfBlock()||!e.checkEndOfBlock())&&e.selectNodeContents(a);else return!0;e.select(!0);return!0}}return!1}}}var h={editorFocus:!1,modes:{wysiwyg:1,
+source:1}},g={exec:function(c){c.container.focusNext(!0,c.tabIndex)}},f={exec:function(c){c.container.focusPrevious(!0,c.tabIndex)}};CKEDITOR.plugins.add("tab",{init:function(c){for(var d=!1!==c.config.enableTabKeyTools,e=c.config.tabSpaces||0,b="";e--;)b+=" ";if(b)c.on("key",function(a){9==a.data.keyCode&&(c.insertHtml(b),a.cancel())});if(d)c.on("key",function(a){(9==a.data.keyCode&&c.execCommand("selectNextCell")||a.data.keyCode==CKEDITOR.SHIFT+9&&c.execCommand("selectPreviousCell"))&&a.cancel()});
+c.addCommand("blur",CKEDITOR.tools.extend(g,h));c.addCommand("blurBack",CKEDITOR.tools.extend(f,h));c.addCommand("selectNextCell",i());c.addCommand("selectPreviousCell",i(!0))}})})();
+CKEDITOR.dom.element.prototype.focusNext=function(i,h){var g=void 0===h?this.getTabIndex():h,f,c,d,e,b,a;if(0>=g)for(b=this.getNextSourceNode(i,CKEDITOR.NODE_ELEMENT);b;){if(b.isVisible()&&0===b.getTabIndex()){d=b;break}b=b.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT)}else for(b=this.getDocument().getBody().getFirst();b=b.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT);){if(!f)if(!c&&b.equals(this)){if(c=!0,i){if(!(b=b.getNextSourceNode(!0,CKEDITOR.NODE_ELEMENT)))break;f=1}}else c&&!this.contains(b)&&
+(f=1);if(b.isVisible()&&!(0>(a=b.getTabIndex()))){if(f&&a==g){d=b;break}a>g&&(!d||!e||a<e)?(d=b,e=a):!d&&0===a&&(d=b,e=a)}}d&&d.focus()};
+CKEDITOR.dom.element.prototype.focusPrevious=function(i,h){for(var g=void 0===h?this.getTabIndex():h,f,c,d,e=0,b,a=this.getDocument().getBody().getLast();a=a.getPreviousSourceNode(!1,CKEDITOR.NODE_ELEMENT);){if(!f)if(!c&&a.equals(this)){if(c=!0,i){if(!(a=a.getPreviousSourceNode(!0,CKEDITOR.NODE_ELEMENT)))break;f=1}}else c&&!this.contains(a)&&(f=1);if(a.isVisible()&&!(0>(b=a.getTabIndex())))if(0>=g){if(f&&0===b){d=a;break}b>e&&(d=a,e=b)}else{if(f&&b==g){d=a;break}if(b<g&&(!d||b>e))d=a,e=b}}d&&d.focus()};CKEDITOR.plugins.add("table",{requires:"dialog",init:function(a){function d(a){return CKEDITOR.tools.extend(a||{},{contextSensitive:1,refresh:function(a,e){this.setState(e.contains("table",1)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED)}})}if(!a.blockless){var b=a.lang.table;a.addCommand("table",new CKEDITOR.dialogCommand("table",{context:"table",allowedContent:"table{width,height}[align,border,cellpadding,cellspacing,summary];caption tbody thead tfoot;th td tr[scope];"+(a.plugins.dialogadvtab?
+"table"+a.plugins.dialogadvtab.allowedContent():""),requiredContent:"table",contentTransformations:[["table{width}: sizeToStyle","table[width]: sizeToAttribute"]]}));a.addCommand("tableProperties",new CKEDITOR.dialogCommand("tableProperties",d()));a.addCommand("tableDelete",d({exec:function(a){var c=a.elementPath().contains("table",1);if(c){var b=c.getParent();1==b.getChildCount()&&!b.is("body","td","th")&&(c=b);a=a.createRange();a.moveToPosition(c,CKEDITOR.POSITION_BEFORE_START);c.remove();a.select()}}}));
+a.ui.addButton&&a.ui.addButton("Table",{label:b.toolbar,command:"table",toolbar:"insert,30"});CKEDITOR.dialog.add("table",this.path+"dialogs/table.js");CKEDITOR.dialog.add("tableProperties",this.path+"dialogs/table.js");a.addMenuItems&&a.addMenuItems({table:{label:b.menu,command:"tableProperties",group:"table",order:5},tabledelete:{label:b.deleteTable,command:"tableDelete",group:"table",order:1}});a.on("doubleclick",function(a){a.data.element.is("table")&&(a.data.dialog="tableProperties")});a.contextMenu&&
+a.contextMenu.addListener(function(){return{tabledelete:CKEDITOR.TRISTATE_OFF,table:CKEDITOR.TRISTATE_OFF}})}}});(function(){function p(e){function d(a){!(0<b.length)&&(a.type==CKEDITOR.NODE_ELEMENT&&y.test(a.getName())&&!a.getCustomData("selected_cell"))&&(CKEDITOR.dom.element.setMarker(c,a,"selected_cell",!0),b.push(a))}for(var e=e.getRanges(),b=[],c={},a=0;a<e.length;a++){var f=e[a];if(f.collapsed)f=f.getCommonAncestor(),(f=f.getAscendant("td",!0)||f.getAscendant("th",!0))&&b.push(f);else{var f=new CKEDITOR.dom.walker(f),g;for(f.guard=d;g=f.next();)if(g.type!=CKEDITOR.NODE_ELEMENT||!g.is(CKEDITOR.dtd.table))if((g=
+g.getAscendant("td",!0)||g.getAscendant("th",!0))&&!g.getCustomData("selected_cell"))CKEDITOR.dom.element.setMarker(c,g,"selected_cell",!0),b.push(g)}}CKEDITOR.dom.element.clearAllMarkers(c);return b}function o(e,d){for(var b=p(e),c=b[0],a=c.getAscendant("table"),c=c.getDocument(),f=b[0].getParent(),g=f.$.rowIndex,b=b[b.length-1],h=b.getParent().$.rowIndex+b.$.rowSpan-1,b=new CKEDITOR.dom.element(a.$.rows[h]),g=d?g:h,f=d?f:b,b=CKEDITOR.tools.buildTableMap(a),a=b[g],g=d?b[g-1]:b[g+1],b=b[0].length,
+c=c.createElement("tr"),h=0;a[h]&&h<b;h++){var i;1<a[h].rowSpan&&g&&a[h]==g[h]?(i=a[h],i.rowSpan+=1):(i=(new CKEDITOR.dom.element(a[h])).clone(),i.removeAttribute("rowSpan"),!CKEDITOR.env.ie&&i.appendBogus(),c.append(i),i=i.$);h+=i.colSpan-1}d?c.insertBefore(f):c.insertAfter(f)}function q(e){if(e instanceof CKEDITOR.dom.selection){for(var d=p(e),b=d[0].getAscendant("table"),c=CKEDITOR.tools.buildTableMap(b),e=d[0].getParent().$.rowIndex,d=d[d.length-1],a=d.getParent().$.rowIndex+d.$.rowSpan-1,d=[],
+f=e;f<=a;f++){for(var g=c[f],h=new CKEDITOR.dom.element(b.$.rows[f]),i=0;i<g.length;i++){var j=new CKEDITOR.dom.element(g[i]),l=j.getParent().$.rowIndex;1==j.$.rowSpan?j.remove():(j.$.rowSpan-=1,l==f&&(l=c[f+1],l[i-1]?j.insertAfter(new CKEDITOR.dom.element(l[i-1])):(new CKEDITOR.dom.element(b.$.rows[f+1])).append(j,1)));i+=j.$.colSpan-1}d.push(h)}c=b.$.rows;b=new CKEDITOR.dom.element(c[a+1]||(0<e?c[e-1]:null)||b.$.parentNode);for(f=d.length;0<=f;f--)q(d[f]);return b}e instanceof CKEDITOR.dom.element&&
+(b=e.getAscendant("table"),1==b.$.rows.length?b.remove():e.remove());return null}function r(e,d){for(var b=d?Infinity:0,c=0;c<e.length;c++){var a;a=e[c];for(var f=d,g=a.getParent().$.cells,h=0,i=0;i<g.length;i++){var j=g[i],h=h+(f?1:j.colSpan);if(j==a.$)break}a=h-1;if(d?a<b:a>b)b=a}return b}function k(e,d){for(var b=p(e),c=b[0].getAscendant("table"),a=r(b,1),b=r(b),a=d?a:b,f=CKEDITOR.tools.buildTableMap(c),c=[],b=[],g=f.length,h=0;h<g;h++)c.push(f[h][a]),b.push(d?f[h][a-1]:f[h][a+1]);for(h=0;h<g;h++)c[h]&&
+(1<c[h].colSpan&&b[h]==c[h]?(a=c[h],a.colSpan+=1):(a=(new CKEDITOR.dom.element(c[h])).clone(),a.removeAttribute("colSpan"),!CKEDITOR.env.ie&&a.appendBogus(),a[d?"insertBefore":"insertAfter"].call(a,new CKEDITOR.dom.element(c[h])),a=a.$),h+=a.rowSpan-1)}function u(e,d){var b=e.getStartElement();if(b=b.getAscendant("td",1)||b.getAscendant("th",1)){var c=b.clone();CKEDITOR.env.ie||c.appendBogus();d?c.insertBefore(b):c.insertAfter(b)}}function t(e){if(e instanceof CKEDITOR.dom.selection){var e=p(e),d=
+e[0]&&e[0].getAscendant("table"),b;a:{var c=0;b=e.length-1;for(var a={},f,g;f=e[c++];)CKEDITOR.dom.element.setMarker(a,f,"delete_cell",!0);for(c=0;f=e[c++];)if((g=f.getPrevious())&&!g.getCustomData("delete_cell")||(g=f.getNext())&&!g.getCustomData("delete_cell")){CKEDITOR.dom.element.clearAllMarkers(a);b=g;break a}CKEDITOR.dom.element.clearAllMarkers(a);g=e[0].getParent();(g=g.getPrevious())?b=g.getLast():(g=e[b].getParent(),b=(g=g.getNext())?g.getChild(0):null)}for(g=e.length-1;0<=g;g--)t(e[g]);
+b?m(b,!0):d&&d.remove()}else e instanceof CKEDITOR.dom.element&&(d=e.getParent(),1==d.getChildCount()?d.remove():e.remove())}function m(e,d){var b=new CKEDITOR.dom.range(e.getDocument());if(!b["moveToElementEdit"+(d?"End":"Start")](e))b.selectNodeContents(e),b.collapse(d?!1:!0);b.select(!0)}function v(e,d,b){e=e[d];if("undefined"==typeof b)return e;for(d=0;e&&d<e.length;d++){if(b.is&&e[d]==b.$)return d;if(d==b)return new CKEDITOR.dom.element(e[d])}return b.is?-1:null}function s(e,d,b){var c=p(e),
+a;if((d?1!=c.length:2>c.length)||(a=e.getCommonAncestor())&&a.type==CKEDITOR.NODE_ELEMENT&&a.is("table"))return!1;var f,e=c[0];a=e.getAscendant("table");var g=CKEDITOR.tools.buildTableMap(a),h=g.length,i=g[0].length,j=e.getParent().$.rowIndex,l=v(g,j,e);if(d){var n;try{var m=parseInt(e.getAttribute("rowspan"),10)||1;f=parseInt(e.getAttribute("colspan"),10)||1;n=g["up"==d?j-m:"down"==d?j+m:j]["left"==d?l-f:"right"==d?l+f:l]}catch(z){return!1}if(!n||e.$==n)return!1;c["up"==d||"left"==d?"unshift":"push"](new CKEDITOR.dom.element(n))}for(var d=
+e.getDocument(),o=j,m=n=0,q=!b&&new CKEDITOR.dom.documentFragment(d),s=0,d=0;d<c.length;d++){f=c[d];var k=f.getParent(),t=f.getFirst(),r=f.$.colSpan,u=f.$.rowSpan,k=k.$.rowIndex,w=v(g,k,f),s=s+r*u,m=Math.max(m,w-l+r);n=Math.max(n,k-j+u);if(!b){r=f;(u=r.getBogus())&&u.remove();r.trim();if(f.getChildren().count()){if(k!=o&&t&&(!t.isBlockBoundary||!t.isBlockBoundary({br:1})))(o=q.getLast(CKEDITOR.dom.walker.whitespaces(!0)))&&(!o.is||!o.is("br"))&&q.append("br");f.moveChildren(q)}d?f.remove():f.setHtml("")}o=
+k}if(b)return n*m==s;q.moveChildren(e);CKEDITOR.env.ie||e.appendBogus();m>=i?e.removeAttribute("rowSpan"):e.$.rowSpan=n;n>=h?e.removeAttribute("colSpan"):e.$.colSpan=m;b=new CKEDITOR.dom.nodeList(a.$.rows);c=b.count();for(d=c-1;0<=d;d--)a=b.getItem(d),a.$.cells.length||(a.remove(),c++);return e}function w(e,d){var b=p(e);if(1<b.length)return!1;if(d)return!0;var b=b[0],c=b.getParent(),a=c.getAscendant("table"),f=CKEDITOR.tools.buildTableMap(a),g=c.$.rowIndex,h=v(f,g,b),i=b.$.rowSpan,j;if(1<i){j=Math.ceil(i/
+2);for(var i=Math.floor(i/2),c=g+j,a=new CKEDITOR.dom.element(a.$.rows[c]),f=v(f,c),l,c=b.clone(),g=0;g<f.length;g++)if(l=f[g],l.parentNode==a.$&&g>h){c.insertBefore(new CKEDITOR.dom.element(l));break}else l=null;l||a.append(c,!0)}else{i=j=1;a=c.clone();a.insertAfter(c);a.append(c=b.clone());l=v(f,g);for(h=0;h<l.length;h++)l[h].rowSpan++}CKEDITOR.env.ie||c.appendBogus();b.$.rowSpan=j;c.$.rowSpan=i;1==j&&b.removeAttribute("rowSpan");1==i&&c.removeAttribute("rowSpan");return c}function x(e,d){var b=
+p(e);if(1<b.length)return!1;if(d)return!0;var b=b[0],c=b.getParent(),a=c.getAscendant("table"),a=CKEDITOR.tools.buildTableMap(a),f=v(a,c.$.rowIndex,b),g=b.$.colSpan;if(1<g)c=Math.ceil(g/2),g=Math.floor(g/2);else{for(var g=c=1,h=[],i=0;i<a.length;i++){var j=a[i];h.push(j[f]);1<j[f].rowSpan&&(i+=j[f].rowSpan-1)}for(a=0;a<h.length;a++)h[a].colSpan++}a=b.clone();a.insertAfter(b);CKEDITOR.env.ie||a.appendBogus();b.$.colSpan=c;a.$.colSpan=g;1==c&&b.removeAttribute("colSpan");1==g&&a.removeAttribute("colSpan");
+return a}var y=/^(?:td|th)$/;CKEDITOR.plugins.tabletools={requires:"table,dialog,contextmenu",init:function(e){function d(a){return CKEDITOR.tools.extend(a||{},{contextSensitive:1,refresh:function(a,b){this.setState(b.contains({td:1,th:1},1)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED)}})}function b(a,b){var c=e.addCommand(a,b);e.addFeature(c)}var c=e.lang.table;b("cellProperties",new CKEDITOR.dialogCommand("cellProperties",d({allowedContent:"td th{width,height,border-color,background-color,white-space,vertical-align,text-align}[colspan,rowspan]",
+requiredContent:"table"})));CKEDITOR.dialog.add("cellProperties",this.path+"dialogs/tableCell.js");b("rowDelete",d({requiredContent:"table",exec:function(a){a=a.getSelection();m(q(a))}}));b("rowInsertBefore",d({requiredContent:"table",exec:function(a){a=a.getSelection();o(a,!0)}}));b("rowInsertAfter",d({requiredContent:"table",exec:function(a){a=a.getSelection();o(a)}}));b("columnDelete",d({requiredContent:"table",exec:function(a){for(var a=a.getSelection(),a=p(a),b=a[0],c=a[a.length-1],a=b.getAscendant("table"),
+d=CKEDITOR.tools.buildTableMap(a),e,j,l=[],n=0,o=d.length;n<o;n++)for(var k=0,q=d[n].length;k<q;k++)d[n][k]==b.$&&(e=k),d[n][k]==c.$&&(j=k);for(n=e;n<=j;n++)for(k=0;k<d.length;k++)c=d[k],b=new CKEDITOR.dom.element(a.$.rows[k]),c=new CKEDITOR.dom.element(c[n]),c.$&&(1==c.$.colSpan?c.remove():c.$.colSpan-=1,k+=c.$.rowSpan-1,b.$.cells.length||l.push(b));j=a.$.rows[0]&&a.$.rows[0].cells;e=new CKEDITOR.dom.element(j[e]||(e?j[e-1]:a.$.parentNode));l.length==o&&a.remove();e&&m(e,!0)}}));b("columnInsertBefore",
+d({requiredContent:"table",exec:function(a){a=a.getSelection();k(a,!0)}}));b("columnInsertAfter",d({requiredContent:"table",exec:function(a){a=a.getSelection();k(a)}}));b("cellDelete",d({requiredContent:"table",exec:function(a){a=a.getSelection();t(a)}}));b("cellMerge",d({allowedContent:"td[colspan,rowspan]",requiredContent:"td[colspan,rowspan]",exec:function(a){m(s(a.getSelection()),!0)}}));b("cellMergeRight",d({allowedContent:"td[colspan]",requiredContent:"td[colspan]",exec:function(a){m(s(a.getSelection(),
+"right"),!0)}}));b("cellMergeDown",d({allowedContent:"td[rowspan]",requiredContent:"td[rowspan]",exec:function(a){m(s(a.getSelection(),"down"),!0)}}));b("cellVerticalSplit",d({allowedContent:"td[rowspan]",requiredContent:"td[rowspan]",exec:function(a){m(w(a.getSelection()))}}));b("cellHorizontalSplit",d({allowedContent:"td[colspan]",requiredContent:"td[colspan]",exec:function(a){m(x(a.getSelection()))}}));b("cellInsertBefore",d({requiredContent:"table",exec:function(a){a=a.getSelection();u(a,!0)}}));
+b("cellInsertAfter",d({requiredContent:"table",exec:function(a){a=a.getSelection();u(a)}}));e.addMenuItems&&e.addMenuItems({tablecell:{label:c.cell.menu,group:"tablecell",order:1,getItems:function(){var a=e.getSelection(),b=p(a);return{tablecell_insertBefore:CKEDITOR.TRISTATE_OFF,tablecell_insertAfter:CKEDITOR.TRISTATE_OFF,tablecell_delete:CKEDITOR.TRISTATE_OFF,tablecell_merge:s(a,null,!0)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,tablecell_merge_right:s(a,"right",!0)?CKEDITOR.TRISTATE_OFF:
+CKEDITOR.TRISTATE_DISABLED,tablecell_merge_down:s(a,"down",!0)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,tablecell_split_vertical:w(a,!0)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,tablecell_split_horizontal:x(a,!0)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,tablecell_properties:0<b.length?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED}}},tablecell_insertBefore:{label:c.cell.insertBefore,group:"tablecell",command:"cellInsertBefore",order:5},tablecell_insertAfter:{label:c.cell.insertAfter,
+group:"tablecell",command:"cellInsertAfter",order:10},tablecell_delete:{label:c.cell.deleteCell,group:"tablecell",command:"cellDelete",order:15},tablecell_merge:{label:c.cell.merge,group:"tablecell",command:"cellMerge",order:16},tablecell_merge_right:{label:c.cell.mergeRight,group:"tablecell",command:"cellMergeRight",order:17},tablecell_merge_down:{label:c.cell.mergeDown,group:"tablecell",command:"cellMergeDown",order:18},tablecell_split_horizontal:{label:c.cell.splitHorizontal,group:"tablecell",
+command:"cellHorizontalSplit",order:19},tablecell_split_vertical:{label:c.cell.splitVertical,group:"tablecell",command:"cellVerticalSplit",order:20},tablecell_properties:{label:c.cell.title,group:"tablecellproperties",command:"cellProperties",order:21},tablerow:{label:c.row.menu,group:"tablerow",order:1,getItems:function(){return{tablerow_insertBefore:CKEDITOR.TRISTATE_OFF,tablerow_insertAfter:CKEDITOR.TRISTATE_OFF,tablerow_delete:CKEDITOR.TRISTATE_OFF}}},tablerow_insertBefore:{label:c.row.insertBefore,
+group:"tablerow",command:"rowInsertBefore",order:5},tablerow_insertAfter:{label:c.row.insertAfter,group:"tablerow",command:"rowInsertAfter",order:10},tablerow_delete:{label:c.row.deleteRow,group:"tablerow",command:"rowDelete",order:15},tablecolumn:{label:c.column.menu,group:"tablecolumn",order:1,getItems:function(){return{tablecolumn_insertBefore:CKEDITOR.TRISTATE_OFF,tablecolumn_insertAfter:CKEDITOR.TRISTATE_OFF,tablecolumn_delete:CKEDITOR.TRISTATE_OFF}}},tablecolumn_insertBefore:{label:c.column.insertBefore,
+group:"tablecolumn",command:"columnInsertBefore",order:5},tablecolumn_insertAfter:{label:c.column.insertAfter,group:"tablecolumn",command:"columnInsertAfter",order:10},tablecolumn_delete:{label:c.column.deleteColumn,group:"tablecolumn",command:"columnDelete",order:15}});e.contextMenu&&e.contextMenu.addListener(function(a,b,c){return(a=c.contains({td:1,th:1},1))&&!a.isReadOnly()?{tablecell:CKEDITOR.TRISTATE_OFF,tablerow:CKEDITOR.TRISTATE_OFF,tablecolumn:CKEDITOR.TRISTATE_OFF}:null})},getSelectedCells:p};
+CKEDITOR.plugins.add("tabletools",CKEDITOR.plugins.tabletools)})();CKEDITOR.tools.buildTableMap=function(p){for(var p=p.$.rows,o=-1,q=[],r=0;r<p.length;r++){o++;!q[o]&&(q[o]=[]);for(var k=-1,u=0;u<p[r].cells.length;u++){var t=p[r].cells[u];for(k++;q[o][k];)k++;for(var m=isNaN(t.colSpan)?1:t.colSpan,t=isNaN(t.rowSpan)?1:t.rowSpan,v=0;v<t;v++){q[o+v]||(q[o+v]=[]);for(var s=0;s<m;s++)q[o+v][k+s]=p[r].cells[u]}k+=m-1}}return q};(function(){function i(a){this.editor=a;this.reset()}CKEDITOR.plugins.add("undo",{init:function(a){function c(a){b.enabled&&!1!==a.data.command.canUndo&&b.save()}function d(){b.enabled=a.readOnly?!1:"wysiwyg"==a.mode;b.onChange()}var b=new i(a),e=a.addCommand("undo",{exec:function(){b.undo()&&(a.selectionChange(),this.fire("afterUndo"))},state:CKEDITOR.TRISTATE_DISABLED,canUndo:!1}),f=a.addCommand("redo",{exec:function(){b.redo()&&(a.selectionChange(),this.fire("afterRedo"))},state:CKEDITOR.TRISTATE_DISABLED,
+canUndo:!1});a.setKeystroke([[CKEDITOR.CTRL+90,"undo"],[CKEDITOR.CTRL+89,"redo"],[CKEDITOR.CTRL+CKEDITOR.SHIFT+90,"redo"]]);b.onChange=function(){e.setState(b.undoable()?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);f.setState(b.redoable()?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED)};a.on("beforeCommandExec",c);a.on("afterCommandExec",c);a.on("saveSnapshot",function(a){b.save(a.data&&a.data.contentOnly)});a.on("contentDom",function(){a.editable().on("keydown",function(a){!a.data.$.ctrlKey&&
+!a.data.$.metaKey&&b.type(a)})});a.on("beforeModeUnload",function(){"wysiwyg"==a.mode&&b.save(!0)});a.on("mode",d);a.on("readOnly",d);a.ui.addButton&&(a.ui.addButton("Undo",{label:a.lang.undo.undo,command:"undo",toolbar:"undo,10"}),a.ui.addButton("Redo",{label:a.lang.undo.redo,command:"redo",toolbar:"undo,20"}));a.resetUndo=function(){b.reset();a.fire("saveSnapshot")};a.on("updateSnapshot",function(){b.currentImage&&b.update()});a.on("lockSnapshot",b.lock,b);a.on("unlockSnapshot",b.unlock,b)}});CKEDITOR.plugins.undo=
+{};var h=CKEDITOR.plugins.undo.Image=function(a){this.editor=a;a.fire("beforeUndoImage");var c=a.getSnapshot(),d=c&&a.getSelection();CKEDITOR.env.ie&&c&&(c=c.replace(/\s+data-cke-expando=".*?"/g,""));this.contents=c;this.bookmarks=d&&d.createBookmarks2(!0);a.fire("afterUndoImage")},j=/\b(?:href|src|name)="[^"]*?"/gi;h.prototype={equals:function(a,c){var d=this.contents,b=a.contents;if(CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat))d=d.replace(j,""),b=b.replace(j,"");if(d!=b)return!1;
+if(c)return!0;d=this.bookmarks;b=a.bookmarks;if(d||b){if(!d||!b||d.length!=b.length)return!1;for(var e=0;e<d.length;e++){var f=d[e],g=b[e];if(f.startOffset!=g.startOffset||f.endOffset!=g.endOffset||!CKEDITOR.tools.arrayCompare(f.start,g.start)||!CKEDITOR.tools.arrayCompare(f.end,g.end))return!1}}return!0}};var k={8:1,46:1},m={16:1,17:1,18:1},l={37:1,38:1,39:1,40:1};i.prototype={type:function(a){var a=a&&a.data.getKey(),c=a in k,d=this.lastKeystroke in k,b=c&&a==this.lastKeystroke,e=a in l,f=this.lastKeystroke in
+l;if(!(a in m||this.typing)||!c&&!e&&(d||f)||c&&!b){var g=new h(this.editor),i=this.snapshots.length;CKEDITOR.tools.setTimeout(function(){var a=this.editor.getSnapshot();CKEDITOR.env.ie&&(a=a.replace(/\s+data-cke-expando=".*?"/g,""));g.contents!=a&&i==this.snapshots.length&&(this.typing=!0,this.save(!1,g,!1)||this.snapshots.splice(this.index+1,this.snapshots.length-this.index-1),this.hasUndo=!0,this.hasRedo=!1,this.modifiersCount=this.typesCount=1,this.onChange())},0,this)}this.lastKeystroke=a;c?
+(this.typesCount=0,this.modifiersCount++,25<this.modifiersCount&&(this.save(!1,null,!1),this.modifiersCount=1)):e||(this.modifiersCount=0,this.typesCount++,25<this.typesCount&&(this.save(!1,null,!1),this.typesCount=1))},reset:function(){this.lastKeystroke=0;this.snapshots=[];this.index=-1;this.limit=this.editor.config.undoStackSize||20;this.currentImage=null;this.hasRedo=this.hasUndo=!1;this.locked=null;this.resetType()},resetType:function(){this.typing=!1;delete this.lastKeystroke;this.modifiersCount=
+this.typesCount=0},fireChange:function(){this.hasUndo=!!this.getNextImage(!0);this.hasRedo=!!this.getNextImage(!1);this.resetType();this.onChange()},save:function(a,c,d){if(this.locked)return!1;var b=this.snapshots;c||(c=new h(this.editor));if(!1===c.contents||this.currentImage&&c.equals(this.currentImage,a))return!1;b.splice(this.index+1,b.length-this.index-1);b.length==this.limit&&b.shift();this.index=b.push(c)-1;this.currentImage=c;!1!==d&&this.fireChange();return!0},restoreImage:function(a){var c=
+this.editor,d;a.bookmarks&&(c.focus(),d=c.getSelection());this.locked=1;this.editor.loadSnapshot(a.contents);a.bookmarks?d.selectBookmarks(a.bookmarks):CKEDITOR.env.ie&&(c=this.editor.document.getBody().$.createTextRange(),c.collapse(!0),c.select());this.locked=0;this.index=a.index;this.update();this.fireChange()},getNextImage:function(a){var c=this.snapshots,d=this.currentImage,b;if(d)if(a)for(b=this.index-1;0<=b;b--){if(a=c[b],!d.equals(a,!0))return a.index=b,a}else for(b=this.index+1;b<c.length;b++)if(a=
+c[b],!d.equals(a,!0))return a.index=b,a;return null},redoable:function(){return this.enabled&&this.hasRedo},undoable:function(){return this.enabled&&this.hasUndo},undo:function(){if(this.undoable()){this.save(!0);var a=this.getNextImage(!0);if(a)return this.restoreImage(a),!0}return!1},redo:function(){if(this.redoable()&&(this.save(!0),this.redoable())){var a=this.getNextImage(!1);if(a)return this.restoreImage(a),!0}return!1},update:function(){this.locked||this.snapshots.splice(this.index,1,this.currentImage=
+new h(this.editor))},lock:function(){if(this.locked)this.locked.level++;else{var a=new h(this.editor);this.locked={update:this.currentImage&&this.currentImage.equals(a,!0)?a:null,level:1}}},unlock:function(){if(this.locked&&!--this.locked.level){var a=this.locked.update;this.locked=null;a&&!a.equals(new h(this.editor),!0)&&this.update()}}}})();CKEDITOR.plugins.add("wsc",{requires:"dialog",init:function(a){a.addCommand("checkspell",new CKEDITOR.dialogCommand("checkspell")).modes={wysiwyg:!CKEDITOR.env.opera&&!CKEDITOR.env.air&&document.domain==window.location.hostname};"undefined"==typeof a.plugins.scayt&&a.ui.addButton&&a.ui.addButton("SpellChecker",{label:a.lang.wsc.toolbar,command:"checkspell",toolbar:"spellchecker,10"});CKEDITOR.dialog.add("checkspell",this.path+"dialogs/wsc.js")}});
+CKEDITOR.config.wsc_customerId=CKEDITOR.config.wsc_customerId||"1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk";CKEDITOR.config.wsc_customLoaderScript=CKEDITOR.config.wsc_customLoaderScript||null;CKEDITOR.config.plugins='dialogui,dialog,about,a11yhelp,dialogadvtab,basicstyles,bidi,blockquote,clipboard,button,panelbutton,panel,floatpanel,colorbutton,colordialog,templates,menu,contextmenu,div,resize,toolbar,elementspath,list,indent,enterkey,entities,popup,filebrowser,find,fakeobjects,flash,floatingspace,listblock,richcombo,font,forms,format,htmlwriter,horizontalrule,iframe,wysiwygarea,image,smiley,justify,link,liststyle,magicline,maximize,newpage,pagebreak,pastetext,pastefromword,preview,print,removeformat,save,selectall,showblocks,showborders,sourcearea,specialchar,menubutton,scayt,stylescombo,tab,table,tabletools,undo,wsc';CKEDITOR.config.skin='moono';(function() {var icons = ( 'about,0,bold,32,italic,64,strike,96,subscript,128,superscript,160,underline,192,bidiltr,224,bidirtl,256,blockquote,288,copy-rtl,320,copy,352,cut-rtl,384,cut,416,paste-rtl,448,paste,480,bgcolor,512,textcolor,544,templates-rtl,576,templates,608,creatediv,640,bulletedlist-rtl,672,bulletedlist,704,numberedlist-rtl,736,numberedlist,768,indent-rtl,800,indent,832,outdent-rtl,864,outdent,896,find-rtl,928,find,960,replace,992,flash,1024,button,1056,checkbox,1088,form,1120,hiddenfield,1152,imagebutton,1184,radio,1216,select-rtl,1248,select,1280,textarea-rtl,1312,textarea,1344,textfield-rtl,1376,textfield,1408,horizontalrule,1440,iframe,1472,image,1504,smiley,1536,justifyblock,1568,justifycenter,1600,justifyleft,1632,justifyright,1664,anchor-rtl,1696,anchor,1728,link,1760,unlink,1792,maximize,1824,newpage-rtl,1856,newpage,1888,pagebreak-rtl,1920,pagebreak,1952,pastetext-rtl,1984,pastetext,2016,pastefromword-rtl,2048,pastefromword,2080,preview-rtl,2112,preview,2144,print,2176,removeformat,2208,save,2240,selectall,2272,showblocks-rtl,2304,showblocks,2336,source-rtl,2368,source,2400,specialchar,2432,scayt,2464,table,2496,redo-rtl,2528,redo,2560,undo-rtl,2592,undo,2624,spellchecker,2656' ),path = CKEDITOR.getUrl( 'plugins/icons.png' ),icons = icons.split( ',' );for ( var i = 0; i < icons.length; i++ )CKEDITOR.skin.icons[ icons[ i ] ] = { path: path, offset: -icons[ ++i ] };})();CKEDITOR.lang.languages={"af":1,"sq":1,"ar":1,"eu":1,"bn":1,"bs":1,"bg":1,"ca":1,"zh-cn":1,"zh":1,"hr":1,"cs":1,"da":1,"nl":1,"en":1,"en-au":1,"en-ca":1,"en-gb":1,"eo":1,"et":1,"fo":1,"fi":1,"fr":1,"fr-ca":1,"gl":1,"ka":1,"de":1,"el":1,"gu":1,"he":1,"hi":1,"hu":1,"is":1,"it":1,"ja":1,"km":1,"ko":1,"ku":1,"lv":1,"lt":1,"mk":1,"ms":1,"mn":1,"no":1,"nb":1,"fa":1,"pl":1,"pt-br":1,"pt":1,"ro":1,"ru":1,"sr":1,"sr-latn":1,"sk":1,"sl":1,"es":1,"sv":1,"th":1,"tr":1,"ug":1,"uk":1,"vi":1,"cy":1};}());
\ No newline at end of file
diff --git a/js/ckeditor/config.js b/js/ckeditor/config.js
new file mode 100644 (file)
index 0000000..7c269d9
--- /dev/null
@@ -0,0 +1,30 @@
+/**
+ * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.html or http://ckeditor.com/license
+ */
+
+CKEDITOR.editorConfig = function( config ) {
+       config.toolbarGroups = [
+               { name: 'basicstyles', groups: [ 'basicstyles', 'list', 'align', 'links' ] },
+               { name: 'paragraph', groups: [ 'list', 'align' ] },
+               { name: 'document', groups: [ 'cleanup', 'mode' ] },
+               { name: 'others' },
+               '/',
+               { name: 'styles' },
+               { name: 'colors' }
+       ];
+       
+       // Remove buttons
+       config.removeButtons = 'Underline,Subscript,Superscript,Anchor,Save,NewPage,Preview,Templates,Print,Styles';
+       
+       // Set the most common block elements.
+       config.format_tags = 'p;h1;h2;h3;pre';
+       
+       // Make dialogs simpler.
+       config.removeDialogTabs = 'link:advanced';
+       
+       // Remove loading of styles.js since no Style dropdown is used
+       config.stylesSet = [];
+       
+       config.language = 'en';
+};
diff --git a/js/ckeditor/contents.css b/js/ckeditor/contents.css
new file mode 100644 (file)
index 0000000..53f9394
--- /dev/null
@@ -0,0 +1,103 @@
+/*\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+\r
+body\r
+{\r
+       /* Font */\r
+       font-family: sans-serif, Arial, Verdana, "Trebuchet MS";\r
+       font-size: 12px;\r
+\r
+       /* Text color */\r
+       color: #333;\r
+\r
+       /* Remove the background color to make it transparent */\r
+       background-color: #fff;\r
+\r
+       margin: 20px;\r
+}\r
+\r
+.cke_editable\r
+{\r
+       font-size: 13px;\r
+       line-height: 1.6em;\r
+}\r
+\r
+blockquote\r
+{\r
+       font-style: italic;\r
+       font-family: Georgia, Times, "Times New Roman", serif;\r
+       padding: 2px 0;\r
+       border-style: solid;\r
+       border-color: #ccc;\r
+       border-width: 0;\r
+}\r
+\r
+.cke_contents_ltr blockquote\r
+{\r
+       padding-left: 20px;\r
+       padding-right: 8px;\r
+       border-left-width: 5px;\r
+}\r
+\r
+.cke_contents_rtl blockquote\r
+{\r
+       padding-left: 8px;\r
+       padding-right: 20px;\r
+       border-right-width: 5px;\r
+}\r
+\r
+a\r
+{\r
+       color: #0782C1;\r
+}\r
+\r
+ol,ul,dl\r
+{\r
+       /* IE7: reset rtl list margin. (#7334) */\r
+       *margin-right: 0px;\r
+       /* preserved spaces for list items with text direction other than the list. (#6249,#8049)*/\r
+       padding: 0 40px;\r
+}\r
+\r
+h1,h2,h3,h4,h5,h6\r
+{\r
+       font-weight: normal;\r
+       line-height: 1.2em;\r
+}\r
+\r
+hr\r
+{\r
+       border: 0px;\r
+       border-top: 1px solid #ccc;\r
+}\r
+\r
+img.right {\r
+    border: 1px solid #ccc;\r
+    float: right;\r
+    margin-left: 15px;\r
+    padding: 5px;\r
+}\r
+\r
+img.left {\r
+    border: 1px solid #ccc;\r
+    float: left;\r
+    margin-right: 15px;\r
+    padding: 5px;\r
+}\r
+\r
+img:hover {\r
+       opacity: .9;\r
+       filter: alpha(opacity = 90);\r
+}\r
+\r
+pre\r
+{\r
+       white-space: pre-wrap; /* CSS 2.1 */\r
+       word-wrap: break-word; /* IE7 */\r
+}\r
+\r
+.marker {\r
+    background-color: Yellow;\r
+}\r
diff --git a/js/ckeditor/lang/en.js b/js/ckeditor/lang/en.js
new file mode 100644 (file)
index 0000000..cfbf4bb
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/
+CKEDITOR.lang['en']={"dir":"ltr","editor":"Rich Text Editor","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"Some of the options have been changed. Are you sure to close the dialog?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Alignment","alignLeft":"Left","alignRight":"Right","alignCenter":"Center","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"About CKEditor","help":"Check $1 for help.","moreInfo":"For licensing information please visit our web site:","title":"About CKEditor","userGuide":"CKEditor User's Guide"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteArea":"Paste Area","pasteMsg":"Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK","securityMsg":"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.","title":"Paste"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Color","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White"},"more":"More Colors...","panelTitle":"Colors","textColorTitle":"Text Color"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"Templates","emptyListMsg":"(No templates defined)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Please select the template to open in the editor","title":"Content Templates"},"contextmenu":{"options":"Context Menu Options"},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"find":{"find":"Find","findOptions":"Find Options","findWhat":"Find what:","matchCase":"Match case","matchCyclic":"Match cyclic","matchWord":"Match whole word","notFoundMsg":"The specified text was not found.","replace":"Replace","replaceAll":"Replace All","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Replace with:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs Bottom","alignAbsMiddle":"Abs Middle","alignBaseline":"Baseline","alignTextTop":"Text Top","bgcolor":"Background color","chkFull":"Allow Fullscreen","chkLoop":"Loop","chkMenu":"Enable Flash Menu","chkPlay":"Auto Play","flashvars":"Variables for Flash","hSpace":"HSpace","properties":"Flash Properties","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Scale","scaleAll":"Show all","scaleFit":"Exact Fit","scaleNoBorder":"No Border","title":"Flash Properties","vSpace":"VSpace","validateHSpace":"HSpace must be a number.","validateSrc":"URL must not be empty.","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"forms":{"button":{"title":"Button Properties","text":"Text (Value)","type":"Type","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Radio Button Properties","value":"Value","selected":"Selected"},"form":{"title":"Form Properties","menu":"Form Properties","action":"Action","method":"Method","encoding":"Encoding"},"hidden":{"title":"Hidden Field Properties","name":"Name","value":"Value"},"select":{"title":"Selection Field Properties","selectInfo":"Select Info","opAvail":"Available Options","value":"Value","size":"Size","lines":"lines","chkMulti":"Allow multiple selections","opText":"Text","opValue":"Value","btnAdd":"Add","btnModify":"Modify","btnUp":"Up","btnDown":"Down","btnSetValue":"Set as selected value","btnDelete":"Delete"},"textarea":{"title":"Textarea Properties","cols":"Columns","rows":"Rows"},"textfield":{"title":"Text Field Properties","name":"Name","value":"Value","charWidth":"Character Width","maxChars":"Maximum Characters","type":"Type","typeText":"Text","typePass":"Password","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Paragraph Format","tag_address":"Address","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Insert Horizontal Line"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alertUrl":"Please type the image URL","alt":"Alternative Text","border":"Border","btnUpload":"Send it to the Server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Image Info","linkTab":"Link","lockRatio":"Lock Ratio","menu":"Image Properties","resetSize":"Reset Size","title":"Image Properties","titleButton":"Image Button Properties","upload":"Upload","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"smiley":{"options":"Smiley Options","title":"Insert a Smiley","toolbar":"Smiley"},"justify":{"block":"Justify","center":"Center","left":"Align Left","right":"Align Right"},"link":{"acccessKey":"Access Key","advanced":"Advanced","advisoryContentType":"Advisory Content Type","advisoryTitle":"Advisory Title","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"By Element Id","anchorName":"By Anchor Name","charset":"Linked Resource Charset","cssClasses":"Stylesheet Classes","emailAddress":"E-Mail Address","emailBody":"Message Body","emailSubject":"Message Subject","id":"Id","info":"Link Info","langCode":"Language Code","langDir":"Language Direction","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","menu":"Edit Link","name":"Name","noAnchors":"(No anchors available in the document)","noEmail":"Please type the e-mail address","noUrl":"Please type the link URL","other":"<other>","popupDependent":"Dependent (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Full Screen (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Relationship","selectAnchor":"Select an Anchor","styles":"Style","tabIndex":"Tab Index","target":"Target","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Popup Window Name","title":"Link","toAnchor":"Link to anchor in the text","toEmail":"E-mail","toUrl":"URL","toolbar":"Link","type":"Link Type","unlink":"Unlink","upload":"Upload"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"newpage":{"toolbar":"New Page"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Paste as plain text","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Paste from Word","toolbar":"Paste from Word"},"preview":{"preview":"Preview"},"print":{"toolbar":"Print"},"removeformat":{"toolbar":"Remove Format"},"save":{"toolbar":"Save"},"selectall":{"toolbar":"Select All"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"Source"},"specialchar":{"options":"Special Character Options","title":"Select Special Character","toolbar":"Insert Special Character"},"scayt":{"about":"About SCAYT","aboutTab":"About","addWord":"Add Word","allCaps":"Ignore All-Caps Words","dic_create":"Create","dic_delete":"Delete","dic_field_name":"Dictionary name","dic_info":"Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.","dic_rename":"Rename","dic_restore":"Restore","dictionariesTab":"Dictionaries","disable":"Disable SCAYT","emptyDic":"Dictionary name should not be empty.","enable":"Enable SCAYT","ignore":"Ignore","ignoreAll":"Ignore All","ignoreDomainNames":"Ignore Domain Names","langs":"Languages","languagesTab":"Languages","mixedCase":"Ignore Words with Mixed Case","mixedWithDigits":"Ignore Words with Numbers","moreSuggestions":"More suggestions","opera_title":"Not supported by Opera","options":"Options","optionsTab":"Options","title":"Spell Check As You Type","toggle":"Toggle SCAYT","noSuggestions":"No suggestion"},"stylescombo":{"label":"Styles","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Border size","caption":"Caption","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Delete Cells","merge":"Merge Cells","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Cell padding","cellSpace":"Cell spacing","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Delete Columns"},"columns":"Columns","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a positive number.","invalidCellSpacing":"Cell spacing must be a positive number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Table Properties","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Delete Rows"},"rows":"Rows","summary":"Summary","title":"Table Properties","toolbar":"Table","widthPc":"percent","widthPx":"pixels","widthUnit":"width unit"},"undo":{"redo":"Redo","undo":"Undo"},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Check","toolbar":"Check Spelling"}};
\ No newline at end of file
diff --git a/js/ckeditor/plugins/dialog/dialogDefinition.js b/js/ckeditor/plugins/dialog/dialogDefinition.js
new file mode 100644 (file)
index 0000000..2cb5d24
--- /dev/null
@@ -0,0 +1,4 @@
+/*
+ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+ For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
diff --git a/js/ckeditor/plugins/icons.png b/js/ckeditor/plugins/icons.png
new file mode 100644 (file)
index 0000000..eae75d2
Binary files /dev/null and b/js/ckeditor/plugins/icons.png differ
diff --git a/js/ckeditor/plugins/link/dialogs/anchor.js b/js/ckeditor/plugins/link/dialogs/anchor.js
new file mode 100644 (file)
index 0000000..4c5153c
--- /dev/null
@@ -0,0 +1,8 @@
+/*
+ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+ For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+CKEDITOR.dialog.add("anchor",function(c){var d=function(a){this._.selectedElement=a;this.setValueOf("info","txtName",a.data("cke-saved-name")||"")};return{title:c.lang.link.anchor.title,minWidth:300,minHeight:60,onOk:function(){var a=CKEDITOR.tools.trim(this.getValueOf("info","txtName")),a={id:a,name:a,"data-cke-saved-name":a};if(this._.selectedElement)this._.selectedElement.data("cke-realelement")?(a=c.document.createElement("a",{attributes:a}),c.createFakeElement(a,"cke_anchor","anchor").replace(this._.selectedElement)):
+this._.selectedElement.setAttributes(a);else{var b=c.getSelection(),b=b&&b.getRanges()[0];b.collapsed?(CKEDITOR.plugins.link.synAnchorSelector&&(a["class"]="cke_anchor_empty"),CKEDITOR.plugins.link.emptyAnchorFix&&(a.contenteditable="false",a["data-cke-editable"]=1),a=c.document.createElement("a",{attributes:a}),CKEDITOR.plugins.link.fakeAnchor&&(a=c.createFakeElement(a,"cke_anchor","anchor")),b.insertNode(a)):(CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(a["class"]="cke_anchor"),a=new CKEDITOR.style({element:"a",
+attributes:a}),a.type=CKEDITOR.STYLE_INLINE,c.applyStyle(a))}},onHide:function(){delete this._.selectedElement},onShow:function(){var a=c.getSelection(),b=a.getSelectedElement();if(b)CKEDITOR.plugins.link.fakeAnchor?((a=CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,b))&&d.call(this,a),this._.selectedElement=b):b.is("a")&&b.hasAttribute("name")&&d.call(this,b);else if(b=CKEDITOR.plugins.link.getSelectedLink(c))d.call(this,b),a.selectElement(b);this.getContentElement("info","txtName").focus()},contents:[{id:"info",
+label:c.lang.link.anchor.title,accessKey:"I",elements:[{type:"text",id:"txtName",label:c.lang.link.anchor.name,required:!0,validate:function(){return!this.getValue()?(alert(c.lang.link.anchor.errorName),!1):!0}}]}]}});
\ No newline at end of file
diff --git a/js/ckeditor/plugins/link/dialogs/link.js b/js/ckeditor/plugins/link/dialogs/link.js
new file mode 100644 (file)
index 0000000..bb08a04
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+ For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+CKEDITOR.dialog.add("link",function(n){var p,q;function r(a){return a.replace(/'/g,"\\$&")}function t(a){var g,c=p,d,e;g=[q,"("];for(var b=0;b<c.length;b++)d=c[b].toLowerCase(),e=a[d],0<b&&g.push(","),g.push("'",e?r(encodeURIComponent(a[d])):"","'");g.push(")");return g.join("")}function u(a){for(var g,c=a.length,d=[],e=0;e<c;e++)g=a.charCodeAt(e),d.push(g);return"String.fromCharCode("+d.join(",")+")"}function v(a){return(a=a.getAttribute("class"))?a.replace(/\s*(?:cke_anchor_empty|cke_anchor)(?:\s*$)?/g,
+""):""}var w=CKEDITOR.plugins.link,s=function(){var a=this.getDialog(),g=a.getContentElement("target","popupFeatures"),a=a.getContentElement("target","linkTargetName"),c=this.getValue();if(g&&a)switch(g=g.getElement(),g.hide(),a.setValue(""),c){case "frame":a.setLabel(n.lang.link.targetFrameName);a.getElement().show();break;case "popup":g.show();a.setLabel(n.lang.link.targetPopupName);a.getElement().show();break;default:a.setValue(c),a.getElement().hide()}},x=/^javascript:/,y=/^mailto:([^?]+)(?:\?(.+))?$/,
+z=/subject=([^;?:@&=$,\/]*)/,A=/body=([^;?:@&=$,\/]*)/,B=/^#(.*)$/,C=/^((?:http|https|ftp|news):\/\/)?(.*)$/,D=/^(_(?:self|top|parent|blank))$/,E=/^javascript:void\(location\.href='mailto:'\+String\.fromCharCode\(([^)]+)\)(?:\+'(.*)')?\)$/,F=/^javascript:([^(]+)\(([^)]+)\)$/,G=/\s*window.open\(\s*this\.href\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*;\s*return\s*false;*\s*/,H=/(?:^|,)([^=]+)=(\d+|yes|no)/gi,I=function(a,g){var c=g&&(g.data("cke-saved-href")||g.getAttribute("href"))||"",d,e,b=
+{};c.match(x)&&("encode"==o?c=c.replace(E,function(a,c,b){return"mailto:"+String.fromCharCode.apply(String,c.split(","))+(b&&b.replace(/\\'/g,"'"))}):o&&c.replace(F,function(a,c,d){if(c==q){b.type="email";for(var a=b.email={},c=/(^')|('$)/g,d=d.match(/[^,\s]+/g),e=d.length,g,f,h=0;h<e;h++)g=decodeURIComponent,f=d[h].replace(c,"").replace(/\\'/g,"'"),f=g(f),g=p[h].toLowerCase(),a[g]=f;a.address=[a.name,a.domain].join("@")}}));if(!b.type)if(d=c.match(B))b.type="anchor",b.anchor={},b.anchor.name=b.anchor.id=
+d[1];else if(d=c.match(y)){e=c.match(z);c=c.match(A);b.type="email";var f=b.email={};f.address=d[1];e&&(f.subject=decodeURIComponent(e[1]));c&&(f.body=decodeURIComponent(c[1]))}else c&&(e=c.match(C))?(b.type="url",b.url={},b.url.protocol=e[1],b.url.url=e[2]):b.type="url";if(g){d=g.getAttribute("target");b.target={};b.adv={};if(d)d.match(D)?b.target.type=b.target.name=d:(b.target.type="frame",b.target.name=d);else if(d=(d=g.data("cke-pa-onclick")||g.getAttribute("onclick"))&&d.match(G)){b.target.type=
+"popup";for(b.target.name=d[1];c=H.exec(d[2]);)("yes"==c[2]||"1"==c[2])&&!(c[1]in{height:1,width:1,top:1,left:1})?b.target[c[1]]=!0:isFinite(c[2])&&(b.target[c[1]]=c[2])}d=function(a,c){var d=g.getAttribute(c);null!==d&&(b.adv[a]=d||"")};d("advId","id");d("advLangDir","dir");d("advAccessKey","accessKey");b.adv.advName=g.data("cke-saved-name")||g.getAttribute("name")||"";d("advLangCode","lang");d("advTabIndex","tabindex");d("advTitle","title");d("advContentType","type");CKEDITOR.plugins.link.synAnchorSelector?
+b.adv.advCSSClasses=v(g):d("advCSSClasses","class");d("advCharset","charset");d("advStyles","style");d("advRel","rel")}d=b.anchors=[];var h;if(CKEDITOR.plugins.link.emptyAnchorFix){f=a.document.getElementsByTag("a");c=0;for(e=f.count();c<e;c++)if(h=f.getItem(c),h.data("cke-saved-name")||h.hasAttribute("name"))d.push({name:h.data("cke-saved-name")||h.getAttribute("name"),id:h.getAttribute("id")})}else{f=new CKEDITOR.dom.nodeList(a.document.$.anchors);c=0;for(e=f.count();c<e;c++)h=f.getItem(c),d[c]=
+{name:h.getAttribute("name"),id:h.getAttribute("id")}}if(CKEDITOR.plugins.link.fakeAnchor){f=a.document.getElementsByTag("img");c=0;for(e=f.count();c<e;c++)(h=CKEDITOR.plugins.link.tryRestoreFakeAnchor(a,f.getItem(c)))&&d.push({name:h.getAttribute("name"),id:h.getAttribute("id")})}this._.selectedElement=g;return b},j=function(a){a.target&&this.setValue(a.target[this.id]||"")},k=function(a){a.adv&&this.setValue(a.adv[this.id]||"")},l=function(a){a.target||(a.target={});a.target[this.id]=this.getValue()||
+""},m=function(a){a.adv||(a.adv={});a.adv[this.id]=this.getValue()||""},o=n.config.emailProtection||"";o&&"encode"!=o&&(q=p=void 0,o.replace(/^([^(]+)\(([^)]+)\)$/,function(a,b,c){q=b;p=[];c.replace(/[^,\s]+/g,function(a){p.push(a)})}));var i=n.lang.common,b=n.lang.link;return{title:b.title,minWidth:350,minHeight:230,contents:[{id:"info",label:b.info,title:b.info,elements:[{id:"linkType",type:"select",label:b.type,"default":"url",items:[[b.toUrl,"url"],[b.toAnchor,"anchor"],[b.toEmail,"email"]],onChange:function(){var a=
+this.getDialog(),b=["urlOptions","anchorOptions","emailOptions"],c=this.getValue(),d=a.definition.getContents("upload"),d=d&&d.hidden;if(c=="url"){n.config.linkShowTargetTab&&a.showPage("target");d||a.showPage("upload")}else{a.hidePage("target");d||a.hidePage("upload")}for(d=0;d<b.length;d++){var e=a.getContentElement("info",b[d]);if(e){e=e.getElement().getParent().getParent();b[d]==c+"Options"?e.show():e.hide()}}a.layout()},setup:function(a){a.type&&this.setValue(a.type)},commit:function(a){a.type=
+this.getValue()}},{type:"vbox",id:"urlOptions",children:[{type:"hbox",widths:["25%","75%"],children:[{id:"protocol",type:"select",label:i.protocol,"default":"http://",items:[["http://‎","http://"],["https://‎","https://"],["ftp://‎","ftp://"],["news://‎","news://"],[b.other,""]],setup:function(a){a.url&&this.setValue(a.url.protocol||"")},commit:function(a){if(!a.url)a.url={};a.url.protocol=this.getValue()}},{type:"text",id:"url",label:i.url,required:!0,onLoad:function(){this.allowOnChange=true},onKeyUp:function(){this.allowOnChange=
+false;var a=this.getDialog().getContentElement("info","protocol"),b=this.getValue(),c=/^((javascript:)|[#\/\.\?])/i,d=/^(http|https|ftp|news):\/\/(?=.)/i.exec(b);if(d){this.setValue(b.substr(d[0].length));a.setValue(d[0].toLowerCase())}else c.test(b)&&a.setValue("");this.allowOnChange=true},onChange:function(){if(this.allowOnChange)this.onKeyUp()},validate:function(){var a=this.getDialog();if(a.getContentElement("info","linkType")&&a.getValueOf("info","linkType")!="url")return true;if(/javascript\:/.test(this.getValue())){alert(i.invalidValue);
+return false}return this.getDialog().fakeObj?true:CKEDITOR.dialog.validate.notEmpty(b.noUrl).apply(this)},setup:function(a){this.allowOnChange=false;a.url&&this.setValue(a.url.url);this.allowOnChange=true},commit:function(a){this.onChange();if(!a.url)a.url={};a.url.url=this.getValue();this.allowOnChange=false}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().show()}},{type:"button",id:"browse",hidden:"true",filebrowser:"info:url",label:i.browseServer}]},
+{type:"vbox",id:"anchorOptions",width:260,align:"center",padding:0,children:[{type:"fieldset",id:"selectAnchorText",label:b.selectAnchor,setup:function(a){a.anchors.length>0?this.getElement().show():this.getElement().hide()},children:[{type:"hbox",id:"selectAnchor",children:[{type:"select",id:"anchorName","default":"",label:b.anchorName,style:"width: 100%;",items:[[""]],setup:function(a){this.clear();this.add("");for(var b=0;b<a.anchors.length;b++)a.anchors[b].name&&this.add(a.anchors[b].name);a.anchor&&
+this.setValue(a.anchor.name);(a=this.getDialog().getContentElement("info","linkType"))&&a.getValue()=="email"&&this.focus()},commit:function(a){if(!a.anchor)a.anchor={};a.anchor.name=this.getValue()}},{type:"select",id:"anchorId","default":"",label:b.anchorId,style:"width: 100%;",items:[[""]],setup:function(a){this.clear();this.add("");for(var b=0;b<a.anchors.length;b++)a.anchors[b].id&&this.add(a.anchors[b].id);a.anchor&&this.setValue(a.anchor.id)},commit:function(a){if(!a.anchor)a.anchor={};a.anchor.id=
+this.getValue()}}],setup:function(a){a.anchors.length>0?this.getElement().show():this.getElement().hide()}}]},{type:"html",id:"noAnchors",style:"text-align: center;",html:'<div role="note" tabIndex="-1">'+CKEDITOR.tools.htmlEncode(b.noAnchors)+"</div>",focus:!0,setup:function(a){a.anchors.length<1?this.getElement().show():this.getElement().hide()}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().hide()}},{type:"vbox",id:"emailOptions",padding:1,children:[{type:"text",
+id:"emailAddress",label:b.emailAddress,required:!0,validate:function(){var a=this.getDialog();return!a.getContentElement("info","linkType")||a.getValueOf("info","linkType")!="email"?true:CKEDITOR.dialog.validate.notEmpty(b.noEmail).apply(this)},setup:function(a){a.email&&this.setValue(a.email.address);(a=this.getDialog().getContentElement("info","linkType"))&&a.getValue()=="email"&&this.select()},commit:function(a){if(!a.email)a.email={};a.email.address=this.getValue()}},{type:"text",id:"emailSubject",
+label:b.emailSubject,setup:function(a){a.email&&this.setValue(a.email.subject)},commit:function(a){if(!a.email)a.email={};a.email.subject=this.getValue()}},{type:"textarea",id:"emailBody",label:b.emailBody,rows:3,"default":"",setup:function(a){a.email&&this.setValue(a.email.body)},commit:function(a){if(!a.email)a.email={};a.email.body=this.getValue()}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().hide()}}]},{id:"target",requiredContent:"a[target]",label:b.target,
+title:b.target,elements:[{type:"hbox",widths:["50%","50%"],children:[{type:"select",id:"linkTargetType",label:i.target,"default":"notSet",style:"width : 100%;",items:[[i.notSet,"notSet"],[b.targetFrame,"frame"],[b.targetPopup,"popup"],[i.targetNew,"_blank"],[i.targetTop,"_top"],[i.targetSelf,"_self"],[i.targetParent,"_parent"]],onChange:s,setup:function(a){a.target&&this.setValue(a.target.type||"notSet");s.call(this)},commit:function(a){if(!a.target)a.target={};a.target.type=this.getValue()}},{type:"text",
+id:"linkTargetName",label:b.targetFrameName,"default":"",setup:function(a){a.target&&this.setValue(a.target.name)},commit:function(a){if(!a.target)a.target={};a.target.name=this.getValue().replace(/\W/gi,"")}}]},{type:"vbox",width:"100%",align:"center",padding:2,id:"popupFeatures",children:[{type:"fieldset",label:b.popupFeatures,children:[{type:"hbox",children:[{type:"checkbox",id:"resizable",label:b.popupResizable,setup:j,commit:l},{type:"checkbox",id:"status",label:b.popupStatusBar,setup:j,commit:l}]},
+{type:"hbox",children:[{type:"checkbox",id:"location",label:b.popupLocationBar,setup:j,commit:l},{type:"checkbox",id:"toolbar",label:b.popupToolbar,setup:j,commit:l}]},{type:"hbox",children:[{type:"checkbox",id:"menubar",label:b.popupMenuBar,setup:j,commit:l},{type:"checkbox",id:"fullscreen",label:b.popupFullScreen,setup:j,commit:l}]},{type:"hbox",children:[{type:"checkbox",id:"scrollbars",label:b.popupScrollBars,setup:j,commit:l},{type:"checkbox",id:"dependent",label:b.popupDependent,setup:j,commit:l}]},
+{type:"hbox",children:[{type:"text",widths:["50%","50%"],labelLayout:"horizontal",label:i.width,id:"width",setup:j,commit:l},{type:"text",labelLayout:"horizontal",widths:["50%","50%"],label:b.popupLeft,id:"left",setup:j,commit:l}]},{type:"hbox",children:[{type:"text",labelLayout:"horizontal",widths:["50%","50%"],label:i.height,id:"height",setup:j,commit:l},{type:"text",labelLayout:"horizontal",label:b.popupTop,widths:["50%","50%"],id:"top",setup:j,commit:l}]}]}]}]},{id:"upload",label:b.upload,title:b.upload,
+hidden:!0,filebrowser:"uploadButton",elements:[{type:"file",id:"upload",label:i.upload,style:"height:40px",size:29},{type:"fileButton",id:"uploadButton",label:i.uploadSubmit,filebrowser:"info:url","for":["upload","upload"]}]},{id:"advanced",label:b.advanced,title:b.advanced,elements:[{type:"vbox",padding:1,children:[{type:"hbox",widths:["45%","35%","20%"],children:[{type:"text",id:"advId",requiredContent:"a[id]",label:b.id,setup:k,commit:m},{type:"select",id:"advLangDir",requiredContent:"a[dir]",
+label:b.langDir,"default":"",style:"width:110px",items:[[i.notSet,""],[b.langDirLTR,"ltr"],[b.langDirRTL,"rtl"]],setup:k,commit:m},{type:"text",id:"advAccessKey",requiredContent:"a[accesskey]",width:"80px",label:b.acccessKey,maxLength:1,setup:k,commit:m}]},{type:"hbox",widths:["45%","35%","20%"],children:[{type:"text",label:b.name,id:"advName",requiredContent:"a[name]",setup:k,commit:m},{type:"text",label:b.langCode,id:"advLangCode",requiredContent:"a[lang]",width:"110px","default":"",setup:k,commit:m},
+{type:"text",label:b.tabIndex,id:"advTabIndex",requiredContent:"a[tabindex]",width:"80px",maxLength:5,setup:k,commit:m}]}]},{type:"vbox",padding:1,children:[{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.advisoryTitle,requiredContent:"a[title]","default":"",id:"advTitle",setup:k,commit:m},{type:"text",label:b.advisoryContentType,requiredContent:"a[type]","default":"",id:"advContentType",setup:k,commit:m}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.cssClasses,
+requiredContent:"a(cke-xyz)","default":"",id:"advCSSClasses",setup:k,commit:m},{type:"text",label:b.charset,requiredContent:"a[charset]","default":"",id:"advCharset",setup:k,commit:m}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.rel,requiredContent:"a[rel]","default":"",id:"advRel",setup:k,commit:m},{type:"text",label:b.styles,requiredContent:"a{cke-xyz}","default":"",id:"advStyles",validate:CKEDITOR.dialog.validate.inlineStyle(n.lang.common.invalidInlineStyle),setup:k,commit:m}]}]}]}],
+onShow:function(){var a=this.getParentEditor(),b=a.getSelection(),c=null;(c=w.getSelectedLink(a))&&c.hasAttribute("href")?b.selectElement(c):c=null;this.setupContent(I.apply(this,[a,c]))},onOk:function(){var a={},b=[],c={},d=this.getParentEditor();this.commitContent(c);switch(c.type||"url"){case "url":var e=c.url&&c.url.protocol!=void 0?c.url.protocol:"http://",i=c.url&&CKEDITOR.tools.trim(c.url.url)||"";a["data-cke-saved-href"]=i.indexOf("/")===0?i:e+i;break;case "anchor":e=c.anchor&&c.anchor.id;
+a["data-cke-saved-href"]="#"+(c.anchor&&c.anchor.name||e||"");break;case "email":var f=c.email,e=f.address;switch(o){case "":case "encode":var i=encodeURIComponent(f.subject||""),h=encodeURIComponent(f.body||""),f=[];i&&f.push("subject="+i);h&&f.push("body="+h);f=f.length?"?"+f.join("&"):"";if(o=="encode"){e=["javascript:void(location.href='mailto:'+",u(e)];f&&e.push("+'",r(f),"'");e.push(")")}else e=["mailto:",e,f];break;default:e=e.split("@",2);f.name=e[0];f.domain=e[1];e=["javascript:",t(f)]}a["data-cke-saved-href"]=
+e.join("")}if(c.target)if(c.target.type=="popup"){for(var e=["window.open(this.href, '",c.target.name||"","', '"],j=["resizable","status","location","toolbar","menubar","fullscreen","scrollbars","dependent"],i=j.length,f=function(a){c.target[a]&&j.push(a+"="+c.target[a])},h=0;h<i;h++)j[h]=j[h]+(c.target[j[h]]?"=yes":"=no");f("width");f("left");f("height");f("top");e.push(j.join(","),"'); return false;");a["data-cke-pa-onclick"]=e.join("");b.push("target")}else{c.target.type!="notSet"&&c.target.name?
+a.target=c.target.name:b.push("target");b.push("data-cke-pa-onclick","onclick")}if(c.adv){e=function(d,e){var f=c.adv[d];f?a[e]=f:b.push(e)};e("advId","id");e("advLangDir","dir");e("advAccessKey","accessKey");c.adv.advName?a.name=a["data-cke-saved-name"]=c.adv.advName:b=b.concat(["data-cke-saved-name","name"]);e("advLangCode","lang");e("advTabIndex","tabindex");e("advTitle","title");e("advContentType","type");e("advCSSClasses","class");e("advCharset","charset");e("advStyles","style");e("advRel","rel")}e=
+d.getSelection();a.href=a["data-cke-saved-href"];if(this._.selectedElement){d=this._.selectedElement;i=d.data("cke-saved-href");f=d.getHtml();d.setAttributes(a);d.removeAttributes(b);c.adv&&(c.adv.advName&&CKEDITOR.plugins.link.synAnchorSelector)&&d.addClass(d.getChildCount()?"cke_anchor":"cke_anchor_empty");if(i==f||c.type=="email"&&f.indexOf("@")!=-1)d.setHtml(c.type=="email"?c.email.address:a["data-cke-saved-href"]);e.selectElement(d);delete this._.selectedElement}else{e=e.getRanges(1)[0];if(e.collapsed){d=
+new CKEDITOR.dom.text(c.type=="email"?c.email.address:a["data-cke-saved-href"],d.document);e.insertNode(d);e.selectNodeContents(d)}d=new CKEDITOR.style({element:"a",attributes:a});d.type=CKEDITOR.STYLE_INLINE;d.applyToRange(e);e.select()}},onLoad:function(){n.config.linkShowAdvancedTab||this.hidePage("advanced");n.config.linkShowTargetTab||this.hidePage("target")},onFocus:function(){var a=this.getContentElement("info","linkType");if(a&&a.getValue()=="url"){a=this.getContentElement("info","url");a.select()}}}});
\ No newline at end of file
diff --git a/js/ckeditor/plugins/link/images/anchor.png b/js/ckeditor/plugins/link/images/anchor.png
new file mode 100644 (file)
index 0000000..5025df5
Binary files /dev/null and b/js/ckeditor/plugins/link/images/anchor.png differ
diff --git a/js/ckeditor/skins/moono/dialog.css b/js/ckeditor/skins/moono/dialog.css
new file mode 100644 (file)
index 0000000..a0b60e2
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eaeaea;border:1px solid #b2b2b2;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:13px;cursor:move;position:relative;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #999;padding:6px 10px;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:30px;border-top:1px solid #bfbfbf;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border:0;outline:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffebebeb',endColorstr='#cfd1cf')}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:22px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:5px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#595959;border:1px solid #bfbfbf;-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;background:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fafafa),to(#ededed));background-image:-moz-linear-gradient(top,#fafafa,#ededed);background-image:-webkit-linear-gradient(top,#fafafa,#ededed);background-image:-o-linear-gradient(top,#fafafa,#ededed);background-image:-ms-linear-gradient(top,#fafafa,#ededed);background-image:linear-gradient(top,#fafafa,#ededed);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fffafafa',endColorstr='#ffededed')}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ebebeb;background:-moz-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ebebeb),color-stop(100%,#dfdfdf));background:-webkit-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-o-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-ms-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:linear-gradient(to bottom,#ebebeb 0,#dfdfdf 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ebebeb',endColorstr='#dfdfdf',GradientType=0)}a.cke_dialog_tab_selected{background:#fff;color:#383838;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#ededed;background:-moz-linear-gradient(top,#ededed 0,#fff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ededed),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#ededed 0,#fff 100%);background:-o-linear-gradient(top,#ededed 0,#fff 100%);background:-ms-linear-gradient(top,#ededed 0,#fff 100%);background:linear-gradient(to bottom,#ededed 0,#fff 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed',endColorstr='#ffffff',GradientType=0)}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;z-index:5}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}.cke_dialog_close_button{top:4px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;border:1px solid #c9cccf;border-top-color:#aeb3b9;padding:4px 6px;outline:0;width:100%;*width:95%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;box-shadow:0 1px 2px rgba(0,0,0,.15) inset}input.cke_dialog_ui_input_text:hover,input.cke_dialog_ui_input_password:hover,textarea.cke_dialog_ui_input_textarea:hover{border:1px solid #aeb3b9;border-top-color:#a0a6ad}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus,select.cke_dialog_ui_input_select:focus{outline:0;border:1px solid #139ff7;border-top-color:#1392e9}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}span.cke_dialog_ui_button{padding:0 12px}a.cke_dialog_ui_button:hover{border-color:#9e9e9e;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border-color:#969696;outline:0;-moz-box-shadow:0 0 6px rgba(0,0,0,.4) inset;-webkit-box-shadow:0 0 6px rgba(0,0,0,.4) inset;box-shadow:0 0 6px rgba(0,0,0,.4) inset}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:hover span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:active span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;font-weight:bold;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;text-shadow:0 -1px 0 #55830c;border-color:#62a60a #62a60a #4d9200;background:#69b10b;background-image:-webkit-gradient(linear,0 0,0 100%,from(#9ad717),to(#69b10b));background-image:-webkit-linear-gradient(top,#9ad717,#69b10b);background-image:-o-linear-gradient(top,#9ad717,#69b10b);background-image:linear-gradient(to bottom,#9ad717,#69b10b);background-image:-moz-linear-gradient(top,#9ad717,#69b10b);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ff9ad717',endColorstr='#ff69b10b')}a.cke_dialog_ui_button_ok:hover{border-color:#5b9909 #5b9909 #478500;background:#88be14;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#88be14),color-stop(100%,#5d9c0a));background:-webkit-linear-gradient(top,#88be14 0,#5d9c0a 100%);background:-o-linear-gradient(top,#88be14 0,#5d9c0a 100%);background:linear-gradient(to bottom,#88be14 0,#5d9c0a 100%);background:-moz-linear-gradient(top,#88be14 0,#5d9c0a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#88be14',endColorstr='#5d9c0a',GradientType=0)}a.cke_dialog_ui_button span{text-shadow:0 1px 0 #fff}a.cke_dialog_ui_button_ok span{text-shadow:0 -1px 0 #55830c}span.cke_dialog_ui_button{cursor:pointer}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active,a.cke_dialog_ui_button_cancel:focus,a.cke_dialog_ui_button_cancel:active{border-width:2px;padding:2px 0}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#568c0a}a.cke_dialog_ui_button_ok:focus span,a.cke_dialog_ui_button_ok:active span,a.cke_dialog_ui_button_cancel:focus span,a.cke_dialog_ui_button_cancel:active span{padding:0 11px}.cke_dialog_footer_buttons{display:inline-table;margin:5px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:24px;line-height:24px;background-color:#fff;border:1px solid #c9cccf;border-top-color:#aeb3b9;padding:2px 6px;outline:0;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;box-shadow:0 1px 2px rgba(0,0,0,.15) inset}.cke_dialog_ui_input_file{width:100%;height:25px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background{background-color:#dedede}.cke_dialog .cke_light_background{background-color:#ebebeb}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.png);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.png);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:200px;width:300px;padding:2px;background-color:white}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity = 90);background-color:#e4e4e4}.cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline;margin-bottom:auto;cursor:default}.cke_dialog_body label.cke_required{font-weight:bold}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{border:1px solid transparent}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#888}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#139ff7}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus,.cke_btn_over{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity = 0);width:100%;height:100%}
\ No newline at end of file
diff --git a/js/ckeditor/skins/moono/dialog_ie.css b/js/ckeditor/skins/moono/dialog_ie.css
new file mode 100644 (file)
index 0000000..ad7069c
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eaeaea;border:1px solid #b2b2b2;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:13px;cursor:move;position:relative;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #999;padding:6px 10px;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:30px;border-top:1px solid #bfbfbf;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border:0;outline:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffebebeb',endColorstr='#cfd1cf')}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:22px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:5px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#595959;border:1px solid #bfbfbf;-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;background:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fafafa),to(#ededed));background-image:-moz-linear-gradient(top,#fafafa,#ededed);background-image:-webkit-linear-gradient(top,#fafafa,#ededed);background-image:-o-linear-gradient(top,#fafafa,#ededed);background-image:-ms-linear-gradient(top,#fafafa,#ededed);background-image:linear-gradient(top,#fafafa,#ededed);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fffafafa',endColorstr='#ffededed')}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ebebeb;background:-moz-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ebebeb),color-stop(100%,#dfdfdf));background:-webkit-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-o-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-ms-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:linear-gradient(to bottom,#ebebeb 0,#dfdfdf 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ebebeb',endColorstr='#dfdfdf',GradientType=0)}a.cke_dialog_tab_selected{background:#fff;color:#383838;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#ededed;background:-moz-linear-gradient(top,#ededed 0,#fff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ededed),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#ededed 0,#fff 100%);background:-o-linear-gradient(top,#ededed 0,#fff 100%);background:-ms-linear-gradient(top,#ededed 0,#fff 100%);background:linear-gradient(to bottom,#ededed 0,#fff 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed',endColorstr='#ffffff',GradientType=0)}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;z-index:5}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}.cke_dialog_close_button{top:4px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;border:1px solid #c9cccf;border-top-color:#aeb3b9;padding:4px 6px;outline:0;width:100%;*width:95%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;box-shadow:0 1px 2px rgba(0,0,0,.15) inset}input.cke_dialog_ui_input_text:hover,input.cke_dialog_ui_input_password:hover,textarea.cke_dialog_ui_input_textarea:hover{border:1px solid #aeb3b9;border-top-color:#a0a6ad}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus,select.cke_dialog_ui_input_select:focus{outline:0;border:1px solid #139ff7;border-top-color:#1392e9}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}span.cke_dialog_ui_button{padding:0 12px}a.cke_dialog_ui_button:hover{border-color:#9e9e9e;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border-color:#969696;outline:0;-moz-box-shadow:0 0 6px rgba(0,0,0,.4) inset;-webkit-box-shadow:0 0 6px rgba(0,0,0,.4) inset;box-shadow:0 0 6px rgba(0,0,0,.4) inset}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:hover span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:active span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;font-weight:bold;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;text-shadow:0 -1px 0 #55830c;border-color:#62a60a #62a60a #4d9200;background:#69b10b;background-image:-webkit-gradient(linear,0 0,0 100%,from(#9ad717),to(#69b10b));background-image:-webkit-linear-gradient(top,#9ad717,#69b10b);background-image:-o-linear-gradient(top,#9ad717,#69b10b);background-image:linear-gradient(to bottom,#9ad717,#69b10b);background-image:-moz-linear-gradient(top,#9ad717,#69b10b);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ff9ad717',endColorstr='#ff69b10b')}a.cke_dialog_ui_button_ok:hover{border-color:#5b9909 #5b9909 #478500;background:#88be14;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#88be14),color-stop(100%,#5d9c0a));background:-webkit-linear-gradient(top,#88be14 0,#5d9c0a 100%);background:-o-linear-gradient(top,#88be14 0,#5d9c0a 100%);background:linear-gradient(to bottom,#88be14 0,#5d9c0a 100%);background:-moz-linear-gradient(top,#88be14 0,#5d9c0a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#88be14',endColorstr='#5d9c0a',GradientType=0)}a.cke_dialog_ui_button span{text-shadow:0 1px 0 #fff}a.cke_dialog_ui_button_ok span{text-shadow:0 -1px 0 #55830c}span.cke_dialog_ui_button{cursor:pointer}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active,a.cke_dialog_ui_button_cancel:focus,a.cke_dialog_ui_button_cancel:active{border-width:2px;padding:2px 0}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#568c0a}a.cke_dialog_ui_button_ok:focus span,a.cke_dialog_ui_button_ok:active span,a.cke_dialog_ui_button_cancel:focus span,a.cke_dialog_ui_button_cancel:active span{padding:0 11px}.cke_dialog_footer_buttons{display:inline-table;margin:5px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:24px;line-height:24px;background-color:#fff;border:1px solid #c9cccf;border-top-color:#aeb3b9;padding:2px 6px;outline:0;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;box-shadow:0 1px 2px rgba(0,0,0,.15) inset}.cke_dialog_ui_input_file{width:100%;height:25px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background{background-color:#dedede}.cke_dialog .cke_light_background{background-color:#ebebeb}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.png);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.png);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:200px;width:300px;padding:2px;background-color:white}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity = 90);background-color:#e4e4e4}.cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline;margin-bottom:auto;cursor:default}.cke_dialog_body label.cke_required{font-weight:bold}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{border:1px solid transparent}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#888}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#139ff7}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus,.cke_btn_over{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity = 0);width:100%;height:100%}.cke_rtl input.cke_dialog_ui_input_text,.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px}.cke_rtl div.cke_dialog_ui_input_text,.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px}.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px}.cke_rtl .cke_dialog_ui_vbox_child,.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important}.cke_hc .cke_dialog_title,.cke_hc .cke_dialog_footer,.cke_hc a.cke_dialog_tab,.cke_hc a.cke_dialog_ui_button,.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button_ok,.cke_hc a.cke_dialog_ui_button_ok:hover{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:0}
\ No newline at end of file
diff --git a/js/ckeditor/skins/moono/dialog_ie7.css b/js/ckeditor/skins/moono/dialog_ie7.css
new file mode 100644 (file)
index 0000000..0915841
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eaeaea;border:1px solid #b2b2b2;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:13px;cursor:move;position:relative;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #999;padding:6px 10px;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:30px;border-top:1px solid #bfbfbf;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border:0;outline:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffebebeb',endColorstr='#cfd1cf')}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:22px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:5px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#595959;border:1px solid #bfbfbf;-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;background:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fafafa),to(#ededed));background-image:-moz-linear-gradient(top,#fafafa,#ededed);background-image:-webkit-linear-gradient(top,#fafafa,#ededed);background-image:-o-linear-gradient(top,#fafafa,#ededed);background-image:-ms-linear-gradient(top,#fafafa,#ededed);background-image:linear-gradient(top,#fafafa,#ededed);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fffafafa',endColorstr='#ffededed')}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ebebeb;background:-moz-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ebebeb),color-stop(100%,#dfdfdf));background:-webkit-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-o-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-ms-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:linear-gradient(to bottom,#ebebeb 0,#dfdfdf 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ebebeb',endColorstr='#dfdfdf',GradientType=0)}a.cke_dialog_tab_selected{background:#fff;color:#383838;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#ededed;background:-moz-linear-gradient(top,#ededed 0,#fff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ededed),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#ededed 0,#fff 100%);background:-o-linear-gradient(top,#ededed 0,#fff 100%);background:-ms-linear-gradient(top,#ededed 0,#fff 100%);background:linear-gradient(to bottom,#ededed 0,#fff 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed',endColorstr='#ffffff',GradientType=0)}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;z-index:5}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}.cke_dialog_close_button{top:4px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;border:1px solid #c9cccf;border-top-color:#aeb3b9;padding:4px 6px;outline:0;width:100%;*width:95%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;box-shadow:0 1px 2px rgba(0,0,0,.15) inset}input.cke_dialog_ui_input_text:hover,input.cke_dialog_ui_input_password:hover,textarea.cke_dialog_ui_input_textarea:hover{border:1px solid #aeb3b9;border-top-color:#a0a6ad}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus,select.cke_dialog_ui_input_select:focus{outline:0;border:1px solid #139ff7;border-top-color:#1392e9}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}span.cke_dialog_ui_button{padding:0 12px}a.cke_dialog_ui_button:hover{border-color:#9e9e9e;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border-color:#969696;outline:0;-moz-box-shadow:0 0 6px rgba(0,0,0,.4) inset;-webkit-box-shadow:0 0 6px rgba(0,0,0,.4) inset;box-shadow:0 0 6px rgba(0,0,0,.4) inset}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:hover span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:active span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;font-weight:bold;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;text-shadow:0 -1px 0 #55830c;border-color:#62a60a #62a60a #4d9200;background:#69b10b;background-image:-webkit-gradient(linear,0 0,0 100%,from(#9ad717),to(#69b10b));background-image:-webkit-linear-gradient(top,#9ad717,#69b10b);background-image:-o-linear-gradient(top,#9ad717,#69b10b);background-image:linear-gradient(to bottom,#9ad717,#69b10b);background-image:-moz-linear-gradient(top,#9ad717,#69b10b);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ff9ad717',endColorstr='#ff69b10b')}a.cke_dialog_ui_button_ok:hover{border-color:#5b9909 #5b9909 #478500;background:#88be14;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#88be14),color-stop(100%,#5d9c0a));background:-webkit-linear-gradient(top,#88be14 0,#5d9c0a 100%);background:-o-linear-gradient(top,#88be14 0,#5d9c0a 100%);background:linear-gradient(to bottom,#88be14 0,#5d9c0a 100%);background:-moz-linear-gradient(top,#88be14 0,#5d9c0a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#88be14',endColorstr='#5d9c0a',GradientType=0)}a.cke_dialog_ui_button span{text-shadow:0 1px 0 #fff}a.cke_dialog_ui_button_ok span{text-shadow:0 -1px 0 #55830c}span.cke_dialog_ui_button{cursor:pointer}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active,a.cke_dialog_ui_button_cancel:focus,a.cke_dialog_ui_button_cancel:active{border-width:2px;padding:2px 0}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#568c0a}a.cke_dialog_ui_button_ok:focus span,a.cke_dialog_ui_button_ok:active span,a.cke_dialog_ui_button_cancel:focus span,a.cke_dialog_ui_button_cancel:active span{padding:0 11px}.cke_dialog_footer_buttons{display:inline-table;margin:5px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:24px;line-height:24px;background-color:#fff;border:1px solid #c9cccf;border-top-color:#aeb3b9;padding:2px 6px;outline:0;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;box-shadow:0 1px 2px rgba(0,0,0,.15) inset}.cke_dialog_ui_input_file{width:100%;height:25px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background{background-color:#dedede}.cke_dialog .cke_light_background{background-color:#ebebeb}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.png);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.png);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:200px;width:300px;padding:2px;background-color:white}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity = 90);background-color:#e4e4e4}.cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline;margin-bottom:auto;cursor:default}.cke_dialog_body label.cke_required{font-weight:bold}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{border:1px solid transparent}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#888}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#139ff7}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus,.cke_btn_over{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity = 0);width:100%;height:100%}.cke_rtl input.cke_dialog_ui_input_text,.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px}.cke_rtl div.cke_dialog_ui_input_text,.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px}.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px}.cke_rtl .cke_dialog_ui_vbox_child,.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important}.cke_hc .cke_dialog_title,.cke_hc .cke_dialog_footer,.cke_hc a.cke_dialog_tab,.cke_hc a.cke_dialog_ui_button,.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button_ok,.cke_hc a.cke_dialog_ui_button_ok:hover{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:0}.cke_dialog_title{zoom:1}.cke_dialog_footer{border-top:1px solid #bfbfbf}.cke_dialog_footer_buttons{position:static}.cke_dialog_footer_buttons a.cke_dialog_ui_button{vertical-align:top}.cke_dialog .cke_resizer_ltr{padding-left:4px}.cke_dialog .cke_resizer_rtl{padding-right:4px}.cke_dialog_ui_input_text,.cke_dialog_ui_input_password,.cke_dialog_ui_input_textarea,.cke_dialog_ui_input_select{padding:0!important}.cke_dialog_ui_checkbox_input,.cke_dialog_ui_ratio_input,.cke_btn_reset,.cke_btn_locked,.cke_btn_unlocked{border:1px solid transparent!important}
\ No newline at end of file
diff --git a/js/ckeditor/skins/moono/dialog_ie8.css b/js/ckeditor/skins/moono/dialog_ie8.css
new file mode 100644 (file)
index 0000000..f8b5131
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eaeaea;border:1px solid #b2b2b2;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:13px;cursor:move;position:relative;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #999;padding:6px 10px;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:30px;border-top:1px solid #bfbfbf;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border:0;outline:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffebebeb',endColorstr='#cfd1cf')}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:22px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:5px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#595959;border:1px solid #bfbfbf;-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;background:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fafafa),to(#ededed));background-image:-moz-linear-gradient(top,#fafafa,#ededed);background-image:-webkit-linear-gradient(top,#fafafa,#ededed);background-image:-o-linear-gradient(top,#fafafa,#ededed);background-image:-ms-linear-gradient(top,#fafafa,#ededed);background-image:linear-gradient(top,#fafafa,#ededed);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fffafafa',endColorstr='#ffededed')}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ebebeb;background:-moz-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ebebeb),color-stop(100%,#dfdfdf));background:-webkit-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-o-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-ms-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:linear-gradient(to bottom,#ebebeb 0,#dfdfdf 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ebebeb',endColorstr='#dfdfdf',GradientType=0)}a.cke_dialog_tab_selected{background:#fff;color:#383838;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#ededed;background:-moz-linear-gradient(top,#ededed 0,#fff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ededed),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#ededed 0,#fff 100%);background:-o-linear-gradient(top,#ededed 0,#fff 100%);background:-ms-linear-gradient(top,#ededed 0,#fff 100%);background:linear-gradient(to bottom,#ededed 0,#fff 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed',endColorstr='#ffffff',GradientType=0)}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;z-index:5}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}.cke_dialog_close_button{top:4px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;border:1px solid #c9cccf;border-top-color:#aeb3b9;padding:4px 6px;outline:0;width:100%;*width:95%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;box-shadow:0 1px 2px rgba(0,0,0,.15) inset}input.cke_dialog_ui_input_text:hover,input.cke_dialog_ui_input_password:hover,textarea.cke_dialog_ui_input_textarea:hover{border:1px solid #aeb3b9;border-top-color:#a0a6ad}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus,select.cke_dialog_ui_input_select:focus{outline:0;border:1px solid #139ff7;border-top-color:#1392e9}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}span.cke_dialog_ui_button{padding:0 12px}a.cke_dialog_ui_button:hover{border-color:#9e9e9e;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border-color:#969696;outline:0;-moz-box-shadow:0 0 6px rgba(0,0,0,.4) inset;-webkit-box-shadow:0 0 6px rgba(0,0,0,.4) inset;box-shadow:0 0 6px rgba(0,0,0,.4) inset}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:hover span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:active span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;font-weight:bold;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;text-shadow:0 -1px 0 #55830c;border-color:#62a60a #62a60a #4d9200;background:#69b10b;background-image:-webkit-gradient(linear,0 0,0 100%,from(#9ad717),to(#69b10b));background-image:-webkit-linear-gradient(top,#9ad717,#69b10b);background-image:-o-linear-gradient(top,#9ad717,#69b10b);background-image:linear-gradient(to bottom,#9ad717,#69b10b);background-image:-moz-linear-gradient(top,#9ad717,#69b10b);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ff9ad717',endColorstr='#ff69b10b')}a.cke_dialog_ui_button_ok:hover{border-color:#5b9909 #5b9909 #478500;background:#88be14;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#88be14),color-stop(100%,#5d9c0a));background:-webkit-linear-gradient(top,#88be14 0,#5d9c0a 100%);background:-o-linear-gradient(top,#88be14 0,#5d9c0a 100%);background:linear-gradient(to bottom,#88be14 0,#5d9c0a 100%);background:-moz-linear-gradient(top,#88be14 0,#5d9c0a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#88be14',endColorstr='#5d9c0a',GradientType=0)}a.cke_dialog_ui_button span{text-shadow:0 1px 0 #fff}a.cke_dialog_ui_button_ok span{text-shadow:0 -1px 0 #55830c}span.cke_dialog_ui_button{cursor:pointer}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active,a.cke_dialog_ui_button_cancel:focus,a.cke_dialog_ui_button_cancel:active{border-width:2px;padding:2px 0}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#568c0a}a.cke_dialog_ui_button_ok:focus span,a.cke_dialog_ui_button_ok:active span,a.cke_dialog_ui_button_cancel:focus span,a.cke_dialog_ui_button_cancel:active span{padding:0 11px}.cke_dialog_footer_buttons{display:inline-table;margin:5px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:24px;line-height:24px;background-color:#fff;border:1px solid #c9cccf;border-top-color:#aeb3b9;padding:2px 6px;outline:0;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;box-shadow:0 1px 2px rgba(0,0,0,.15) inset}.cke_dialog_ui_input_file{width:100%;height:25px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background{background-color:#dedede}.cke_dialog .cke_light_background{background-color:#ebebeb}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.png);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.png);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:200px;width:300px;padding:2px;background-color:white}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity = 90);background-color:#e4e4e4}.cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline;margin-bottom:auto;cursor:default}.cke_dialog_body label.cke_required{font-weight:bold}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{border:1px solid transparent}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#888}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#139ff7}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus,.cke_btn_over{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity = 0);width:100%;height:100%}.cke_rtl input.cke_dialog_ui_input_text,.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px}.cke_rtl div.cke_dialog_ui_input_text,.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px}.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px}.cke_rtl .cke_dialog_ui_vbox_child,.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important}.cke_hc .cke_dialog_title,.cke_hc .cke_dialog_footer,.cke_hc a.cke_dialog_tab,.cke_hc a.cke_dialog_ui_button,.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button_ok,.cke_hc a.cke_dialog_ui_button_ok:hover{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:0}a.cke_dialog_ui_button_ok:focus span,a.cke_dialog_ui_button_ok:active span,a.cke_dialog_ui_button_cancel:focus span,a.cke_dialog_ui_button_cancel:active span{display:block}
\ No newline at end of file
diff --git a/js/ckeditor/skins/moono/dialog_iequirks.css b/js/ckeditor/skins/moono/dialog_iequirks.css
new file mode 100644 (file)
index 0000000..b826b08
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eaeaea;border:1px solid #b2b2b2;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:13px;cursor:move;position:relative;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #999;padding:6px 10px;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:30px;border-top:1px solid #bfbfbf;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border:0;outline:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffebebeb',endColorstr='#cfd1cf')}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:22px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:5px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#595959;border:1px solid #bfbfbf;-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;background:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fafafa),to(#ededed));background-image:-moz-linear-gradient(top,#fafafa,#ededed);background-image:-webkit-linear-gradient(top,#fafafa,#ededed);background-image:-o-linear-gradient(top,#fafafa,#ededed);background-image:-ms-linear-gradient(top,#fafafa,#ededed);background-image:linear-gradient(top,#fafafa,#ededed);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fffafafa',endColorstr='#ffededed')}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ebebeb;background:-moz-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ebebeb),color-stop(100%,#dfdfdf));background:-webkit-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-o-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-ms-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:linear-gradient(to bottom,#ebebeb 0,#dfdfdf 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ebebeb',endColorstr='#dfdfdf',GradientType=0)}a.cke_dialog_tab_selected{background:#fff;color:#383838;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#ededed;background:-moz-linear-gradient(top,#ededed 0,#fff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ededed),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#ededed 0,#fff 100%);background:-o-linear-gradient(top,#ededed 0,#fff 100%);background:-ms-linear-gradient(top,#ededed 0,#fff 100%);background:linear-gradient(to bottom,#ededed 0,#fff 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed',endColorstr='#ffffff',GradientType=0)}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;z-index:5}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}.cke_dialog_close_button{top:4px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;border:1px solid #c9cccf;border-top-color:#aeb3b9;padding:4px 6px;outline:0;width:100%;*width:95%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;box-shadow:0 1px 2px rgba(0,0,0,.15) inset}input.cke_dialog_ui_input_text:hover,input.cke_dialog_ui_input_password:hover,textarea.cke_dialog_ui_input_textarea:hover{border:1px solid #aeb3b9;border-top-color:#a0a6ad}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus,select.cke_dialog_ui_input_select:focus{outline:0;border:1px solid #139ff7;border-top-color:#1392e9}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}span.cke_dialog_ui_button{padding:0 12px}a.cke_dialog_ui_button:hover{border-color:#9e9e9e;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border-color:#969696;outline:0;-moz-box-shadow:0 0 6px rgba(0,0,0,.4) inset;-webkit-box-shadow:0 0 6px rgba(0,0,0,.4) inset;box-shadow:0 0 6px rgba(0,0,0,.4) inset}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:hover span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:active span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;font-weight:bold;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;text-shadow:0 -1px 0 #55830c;border-color:#62a60a #62a60a #4d9200;background:#69b10b;background-image:-webkit-gradient(linear,0 0,0 100%,from(#9ad717),to(#69b10b));background-image:-webkit-linear-gradient(top,#9ad717,#69b10b);background-image:-o-linear-gradient(top,#9ad717,#69b10b);background-image:linear-gradient(to bottom,#9ad717,#69b10b);background-image:-moz-linear-gradient(top,#9ad717,#69b10b);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ff9ad717',endColorstr='#ff69b10b')}a.cke_dialog_ui_button_ok:hover{border-color:#5b9909 #5b9909 #478500;background:#88be14;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#88be14),color-stop(100%,#5d9c0a));background:-webkit-linear-gradient(top,#88be14 0,#5d9c0a 100%);background:-o-linear-gradient(top,#88be14 0,#5d9c0a 100%);background:linear-gradient(to bottom,#88be14 0,#5d9c0a 100%);background:-moz-linear-gradient(top,#88be14 0,#5d9c0a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#88be14',endColorstr='#5d9c0a',GradientType=0)}a.cke_dialog_ui_button span{text-shadow:0 1px 0 #fff}a.cke_dialog_ui_button_ok span{text-shadow:0 -1px 0 #55830c}span.cke_dialog_ui_button{cursor:pointer}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active,a.cke_dialog_ui_button_cancel:focus,a.cke_dialog_ui_button_cancel:active{border-width:2px;padding:2px 0}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#568c0a}a.cke_dialog_ui_button_ok:focus span,a.cke_dialog_ui_button_ok:active span,a.cke_dialog_ui_button_cancel:focus span,a.cke_dialog_ui_button_cancel:active span{padding:0 11px}.cke_dialog_footer_buttons{display:inline-table;margin:5px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:24px;line-height:24px;background-color:#fff;border:1px solid #c9cccf;border-top-color:#aeb3b9;padding:2px 6px;outline:0;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;box-shadow:0 1px 2px rgba(0,0,0,.15) inset}.cke_dialog_ui_input_file{width:100%;height:25px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background{background-color:#dedede}.cke_dialog .cke_light_background{background-color:#ebebeb}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.png);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.png);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:200px;width:300px;padding:2px;background-color:white}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity = 90);background-color:#e4e4e4}.cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline;margin-bottom:auto;cursor:default}.cke_dialog_body label.cke_required{font-weight:bold}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{border:1px solid transparent}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#888}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#139ff7}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus,.cke_btn_over{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity = 0);width:100%;height:100%}.cke_rtl input.cke_dialog_ui_input_text,.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px}.cke_rtl div.cke_dialog_ui_input_text,.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px}.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px}.cke_rtl .cke_dialog_ui_vbox_child,.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important}.cke_hc .cke_dialog_title,.cke_hc .cke_dialog_footer,.cke_hc a.cke_dialog_tab,.cke_hc a.cke_dialog_ui_button,.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button_ok,.cke_hc a.cke_dialog_ui_button_ok:hover{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:0}.cke_dialog_footer{filter:}
\ No newline at end of file
diff --git a/js/ckeditor/skins/moono/dialog_opera.css b/js/ckeditor/skins/moono/dialog_opera.css
new file mode 100644 (file)
index 0000000..bc93c9e
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eaeaea;border:1px solid #b2b2b2;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:13px;cursor:move;position:relative;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #999;padding:6px 10px;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:30px;border-top:1px solid #bfbfbf;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border:0;outline:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffebebeb',endColorstr='#cfd1cf')}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:22px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:5px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#595959;border:1px solid #bfbfbf;-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;background:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fafafa),to(#ededed));background-image:-moz-linear-gradient(top,#fafafa,#ededed);background-image:-webkit-linear-gradient(top,#fafafa,#ededed);background-image:-o-linear-gradient(top,#fafafa,#ededed);background-image:-ms-linear-gradient(top,#fafafa,#ededed);background-image:linear-gradient(top,#fafafa,#ededed);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fffafafa',endColorstr='#ffededed')}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ebebeb;background:-moz-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ebebeb),color-stop(100%,#dfdfdf));background:-webkit-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-o-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-ms-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:linear-gradient(to bottom,#ebebeb 0,#dfdfdf 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ebebeb',endColorstr='#dfdfdf',GradientType=0)}a.cke_dialog_tab_selected{background:#fff;color:#383838;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#ededed;background:-moz-linear-gradient(top,#ededed 0,#fff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ededed),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#ededed 0,#fff 100%);background:-o-linear-gradient(top,#ededed 0,#fff 100%);background:-ms-linear-gradient(top,#ededed 0,#fff 100%);background:linear-gradient(to bottom,#ededed 0,#fff 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed',endColorstr='#ffffff',GradientType=0)}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;z-index:5}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}.cke_dialog_close_button{top:4px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;border:1px solid #c9cccf;border-top-color:#aeb3b9;padding:4px 6px;outline:0;width:100%;*width:95%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;box-shadow:0 1px 2px rgba(0,0,0,.15) inset}input.cke_dialog_ui_input_text:hover,input.cke_dialog_ui_input_password:hover,textarea.cke_dialog_ui_input_textarea:hover{border:1px solid #aeb3b9;border-top-color:#a0a6ad}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus,select.cke_dialog_ui_input_select:focus{outline:0;border:1px solid #139ff7;border-top-color:#1392e9}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}span.cke_dialog_ui_button{padding:0 12px}a.cke_dialog_ui_button:hover{border-color:#9e9e9e;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border-color:#969696;outline:0;-moz-box-shadow:0 0 6px rgba(0,0,0,.4) inset;-webkit-box-shadow:0 0 6px rgba(0,0,0,.4) inset;box-shadow:0 0 6px rgba(0,0,0,.4) inset}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:hover span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:active span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;font-weight:bold;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;text-shadow:0 -1px 0 #55830c;border-color:#62a60a #62a60a #4d9200;background:#69b10b;background-image:-webkit-gradient(linear,0 0,0 100%,from(#9ad717),to(#69b10b));background-image:-webkit-linear-gradient(top,#9ad717,#69b10b);background-image:-o-linear-gradient(top,#9ad717,#69b10b);background-image:linear-gradient(to bottom,#9ad717,#69b10b);background-image:-moz-linear-gradient(top,#9ad717,#69b10b);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ff9ad717',endColorstr='#ff69b10b')}a.cke_dialog_ui_button_ok:hover{border-color:#5b9909 #5b9909 #478500;background:#88be14;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#88be14),color-stop(100%,#5d9c0a));background:-webkit-linear-gradient(top,#88be14 0,#5d9c0a 100%);background:-o-linear-gradient(top,#88be14 0,#5d9c0a 100%);background:linear-gradient(to bottom,#88be14 0,#5d9c0a 100%);background:-moz-linear-gradient(top,#88be14 0,#5d9c0a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#88be14',endColorstr='#5d9c0a',GradientType=0)}a.cke_dialog_ui_button span{text-shadow:0 1px 0 #fff}a.cke_dialog_ui_button_ok span{text-shadow:0 -1px 0 #55830c}span.cke_dialog_ui_button{cursor:pointer}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active,a.cke_dialog_ui_button_cancel:focus,a.cke_dialog_ui_button_cancel:active{border-width:2px;padding:2px 0}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#568c0a}a.cke_dialog_ui_button_ok:focus span,a.cke_dialog_ui_button_ok:active span,a.cke_dialog_ui_button_cancel:focus span,a.cke_dialog_ui_button_cancel:active span{padding:0 11px}.cke_dialog_footer_buttons{display:inline-table;margin:5px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:24px;line-height:24px;background-color:#fff;border:1px solid #c9cccf;border-top-color:#aeb3b9;padding:2px 6px;outline:0;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;box-shadow:0 1px 2px rgba(0,0,0,.15) inset}.cke_dialog_ui_input_file{width:100%;height:25px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background{background-color:#dedede}.cke_dialog .cke_light_background{background-color:#ebebeb}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.png);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.png);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:200px;width:300px;padding:2px;background-color:white}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity = 90);background-color:#e4e4e4}.cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline;margin-bottom:auto;cursor:default}.cke_dialog_body label.cke_required{font-weight:bold}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{border:1px solid transparent}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#888}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#139ff7}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus,.cke_btn_over{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity = 0);width:100%;height:100%}.cke_dialog_footer{display:block;height:38px}.cke_ltr .cke_dialog_footer>*{float:right}.cke_rtl .cke_dialog_footer>*{float:left}
\ No newline at end of file
diff --git a/js/ckeditor/skins/moono/editor.css b/js/ckeditor/skins/moono/editor.css
new file mode 100644 (file)
index 0000000..d65c1ac
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffebebeb',endColorstr='#cfd1cf')}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup *:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_rtl .cke_toolgroup *:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffaaaaaa',endColorstr='#ffcacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffaaaaaa',endColorstr='#ffcacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}.cke_button__about_icon{background: url(icons.png) no-repeat 0 -0px !important;}.cke_button__bold_icon{background: url(icons.png) no-repeat 0 -32px !important;}.cke_button__italic_icon{background: url(icons.png) no-repeat 0 -64px !important;}.cke_button__strike_icon{background: url(icons.png) no-repeat 0 -96px !important;}.cke_button__subscript_icon{background: url(icons.png) no-repeat 0 -128px !important;}.cke_button__superscript_icon{background: url(icons.png) no-repeat 0 -160px !important;}.cke_button__underline_icon{background: url(icons.png) no-repeat 0 -192px !important;}.cke_button__bidiltr_icon{background: url(icons.png) no-repeat 0 -224px !important;}.cke_button__bidirtl_icon{background: url(icons.png) no-repeat 0 -256px !important;}.cke_button__blockquote_icon{background: url(icons.png) no-repeat 0 -288px !important;}.cke_rtl .cke_button__copy_icon,.cke_mixed_dir_content .cke_rtl .cke_button__copy_icon{background: url(icons.png) no-repeat 0 -320px !important;}.cke_ltr .cke_button__copy_icon{background: url(icons.png) no-repeat 0 -352px !important;}.cke_rtl .cke_button__cut_icon,.cke_mixed_dir_content .cke_rtl .cke_button__cut_icon{background: url(icons.png) no-repeat 0 -384px !important;}.cke_ltr .cke_button__cut_icon{background: url(icons.png) no-repeat 0 -416px !important;}.cke_rtl .cke_button__paste_icon,.cke_mixed_dir_content .cke_rtl .cke_button__paste_icon{background: url(icons.png) no-repeat 0 -448px !important;}.cke_ltr .cke_button__paste_icon{background: url(icons.png) no-repeat 0 -480px !important;}.cke_button__bgcolor_icon{background: url(icons.png) no-repeat 0 -512px !important;}.cke_button__textcolor_icon{background: url(icons.png) no-repeat 0 -544px !important;}.cke_rtl .cke_button__templates_icon,.cke_mixed_dir_content .cke_rtl .cke_button__templates_icon{background: url(icons.png) no-repeat 0 -576px !important;}.cke_ltr .cke_button__templates_icon{background: url(icons.png) no-repeat 0 -608px !important;}.cke_button__creatediv_icon{background: url(icons.png) no-repeat 0 -640px !important;}.cke_rtl .cke_button__bulletedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon{background: url(icons.png) no-repeat 0 -672px !important;}.cke_ltr .cke_button__bulletedlist_icon{background: url(icons.png) no-repeat 0 -704px !important;}.cke_rtl .cke_button__numberedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon{background: url(icons.png) no-repeat 0 -736px !important;}.cke_ltr .cke_button__numberedlist_icon{background: url(icons.png) no-repeat 0 -768px !important;}.cke_rtl .cke_button__indent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__indent_icon{background: url(icons.png) no-repeat 0 -800px !important;}.cke_ltr .cke_button__indent_icon{background: url(icons.png) no-repeat 0 -832px !important;}.cke_rtl .cke_button__outdent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon{background: url(icons.png) no-repeat 0 -864px !important;}.cke_ltr .cke_button__outdent_icon{background: url(icons.png) no-repeat 0 -896px !important;}.cke_rtl .cke_button__find_icon,.cke_mixed_dir_content .cke_rtl .cke_button__find_icon{background: url(icons.png) no-repeat 0 -928px !important;}.cke_ltr .cke_button__find_icon{background: url(icons.png) no-repeat 0 -960px !important;}.cke_button__replace_icon{background: url(icons.png) no-repeat 0 -992px !important;}.cke_button__flash_icon{background: url(icons.png) no-repeat 0 -1024px !important;}.cke_button__button_icon{background: url(icons.png) no-repeat 0 -1056px !important;}.cke_button__checkbox_icon{background: url(icons.png) no-repeat 0 -1088px !important;}.cke_button__form_icon{background: url(icons.png) no-repeat 0 -1120px !important;}.cke_button__hiddenfield_icon{background: url(icons.png) no-repeat 0 -1152px !important;}.cke_button__imagebutton_icon{background: url(icons.png) no-repeat 0 -1184px !important;}.cke_button__radio_icon{background: url(icons.png) no-repeat 0 -1216px !important;}.cke_rtl .cke_button__select_icon,.cke_mixed_dir_content .cke_rtl .cke_button__select_icon{background: url(icons.png) no-repeat 0 -1248px !important;}.cke_ltr .cke_button__select_icon{background: url(icons.png) no-repeat 0 -1280px !important;}.cke_rtl .cke_button__textarea_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon{background: url(icons.png) no-repeat 0 -1312px !important;}.cke_ltr .cke_button__textarea_icon{background: url(icons.png) no-repeat 0 -1344px !important;}.cke_rtl .cke_button__textfield_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon{background: url(icons.png) no-repeat 0 -1376px !important;}.cke_ltr .cke_button__textfield_icon{background: url(icons.png) no-repeat 0 -1408px !important;}.cke_button__horizontalrule_icon{background: url(icons.png) no-repeat 0 -1440px !important;}.cke_button__iframe_icon{background: url(icons.png) no-repeat 0 -1472px !important;}.cke_button__image_icon{background: url(icons.png) no-repeat 0 -1504px !important;}.cke_button__smiley_icon{background: url(icons.png) no-repeat 0 -1536px !important;}.cke_button__justifyblock_icon{background: url(icons.png) no-repeat 0 -1568px !important;}.cke_button__justifycenter_icon{background: url(icons.png) no-repeat 0 -1600px !important;}.cke_button__justifyleft_icon{background: url(icons.png) no-repeat 0 -1632px !important;}.cke_button__justifyright_icon{background: url(icons.png) no-repeat 0 -1664px !important;}.cke_rtl .cke_button__anchor_icon,.cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon{background: url(icons.png) no-repeat 0 -1696px !important;}.cke_ltr .cke_button__anchor_icon{background: url(icons.png) no-repeat 0 -1728px !important;}.cke_button__link_icon{background: url(icons.png) no-repeat 0 -1760px !important;}.cke_button__unlink_icon{background: url(icons.png) no-repeat 0 -1792px !important;}.cke_button__maximize_icon{background: url(icons.png) no-repeat 0 -1824px !important;}.cke_rtl .cke_button__newpage_icon,.cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon{background: url(icons.png) no-repeat 0 -1856px !important;}.cke_ltr .cke_button__newpage_icon{background: url(icons.png) no-repeat 0 -1888px !important;}.cke_rtl .cke_button__pagebreak_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon{background: url(icons.png) no-repeat 0 -1920px !important;}.cke_ltr .cke_button__pagebreak_icon{background: url(icons.png) no-repeat 0 -1952px !important;}.cke_rtl .cke_button__pastetext_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon{background: url(icons.png) no-repeat 0 -1984px !important;}.cke_ltr .cke_button__pastetext_icon{background: url(icons.png) no-repeat 0 -2016px !important;}.cke_rtl .cke_button__pastefromword_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon{background: url(icons.png) no-repeat 0 -2048px !important;}.cke_ltr .cke_button__pastefromword_icon{background: url(icons.png) no-repeat 0 -2080px !important;}.cke_rtl .cke_button__preview_icon,.cke_mixed_dir_content .cke_rtl .cke_button__preview_icon{background: url(icons.png) no-repeat 0 -2112px !important;}.cke_ltr .cke_button__preview_icon{background: url(icons.png) no-repeat 0 -2144px !important;}.cke_button__print_icon{background: url(icons.png) no-repeat 0 -2176px !important;}.cke_button__removeformat_icon{background: url(icons.png) no-repeat 0 -2208px !important;}.cke_button__save_icon{background: url(icons.png) no-repeat 0 -2240px !important;}.cke_button__selectall_icon{background: url(icons.png) no-repeat 0 -2272px !important;}.cke_rtl .cke_button__showblocks_icon,.cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon{background: url(icons.png) no-repeat 0 -2304px !important;}.cke_ltr .cke_button__showblocks_icon{background: url(icons.png) no-repeat 0 -2336px !important;}.cke_rtl .cke_button__source_icon,.cke_mixed_dir_content .cke_rtl .cke_button__source_icon{background: url(icons.png) no-repeat 0 -2368px !important;}.cke_ltr .cke_button__source_icon{background: url(icons.png) no-repeat 0 -2400px !important;}.cke_button__specialchar_icon{background: url(icons.png) no-repeat 0 -2432px !important;}.cke_button__scayt_icon{background: url(icons.png) no-repeat 0 -2464px !important;}.cke_button__table_icon{background: url(icons.png) no-repeat 0 -2496px !important;}.cke_rtl .cke_button__redo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__redo_icon{background: url(icons.png) no-repeat 0 -2528px !important;}.cke_ltr .cke_button__redo_icon{background: url(icons.png) no-repeat 0 -2560px !important;}.cke_rtl .cke_button__undo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__undo_icon{background: url(icons.png) no-repeat 0 -2592px !important;}.cke_ltr .cke_button__undo_icon{background: url(icons.png) no-repeat 0 -2624px !important;}.cke_button__spellchecker_icon{background: url(icons.png) no-repeat 0 -2656px !important;}
\ No newline at end of file
diff --git a/js/ckeditor/skins/moono/editor_gecko.css b/js/ckeditor/skins/moono/editor_gecko.css
new file mode 100644 (file)
index 0000000..90d9352
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffebebeb',endColorstr='#cfd1cf')}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup *:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_rtl .cke_toolgroup *:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffaaaaaa',endColorstr='#ffcacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffaaaaaa',endColorstr='#ffcacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}.cke_bottom{padding-bottom:3px}.cke_combo_text{margin-bottom:-1px;margin-top:1px}.cke_button__about_icon{background: url(icons.png) no-repeat 0 -0px !important;}.cke_button__bold_icon{background: url(icons.png) no-repeat 0 -32px !important;}.cke_button__italic_icon{background: url(icons.png) no-repeat 0 -64px !important;}.cke_button__strike_icon{background: url(icons.png) no-repeat 0 -96px !important;}.cke_button__subscript_icon{background: url(icons.png) no-repeat 0 -128px !important;}.cke_button__superscript_icon{background: url(icons.png) no-repeat 0 -160px !important;}.cke_button__underline_icon{background: url(icons.png) no-repeat 0 -192px !important;}.cke_button__bidiltr_icon{background: url(icons.png) no-repeat 0 -224px !important;}.cke_button__bidirtl_icon{background: url(icons.png) no-repeat 0 -256px !important;}.cke_button__blockquote_icon{background: url(icons.png) no-repeat 0 -288px !important;}.cke_rtl .cke_button__copy_icon,.cke_mixed_dir_content .cke_rtl .cke_button__copy_icon{background: url(icons.png) no-repeat 0 -320px !important;}.cke_ltr .cke_button__copy_icon{background: url(icons.png) no-repeat 0 -352px !important;}.cke_rtl .cke_button__cut_icon,.cke_mixed_dir_content .cke_rtl .cke_button__cut_icon{background: url(icons.png) no-repeat 0 -384px !important;}.cke_ltr .cke_button__cut_icon{background: url(icons.png) no-repeat 0 -416px !important;}.cke_rtl .cke_button__paste_icon,.cke_mixed_dir_content .cke_rtl .cke_button__paste_icon{background: url(icons.png) no-repeat 0 -448px !important;}.cke_ltr .cke_button__paste_icon{background: url(icons.png) no-repeat 0 -480px !important;}.cke_button__bgcolor_icon{background: url(icons.png) no-repeat 0 -512px !important;}.cke_button__textcolor_icon{background: url(icons.png) no-repeat 0 -544px !important;}.cke_rtl .cke_button__templates_icon,.cke_mixed_dir_content .cke_rtl .cke_button__templates_icon{background: url(icons.png) no-repeat 0 -576px !important;}.cke_ltr .cke_button__templates_icon{background: url(icons.png) no-repeat 0 -608px !important;}.cke_button__creatediv_icon{background: url(icons.png) no-repeat 0 -640px !important;}.cke_rtl .cke_button__bulletedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon{background: url(icons.png) no-repeat 0 -672px !important;}.cke_ltr .cke_button__bulletedlist_icon{background: url(icons.png) no-repeat 0 -704px !important;}.cke_rtl .cke_button__numberedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon{background: url(icons.png) no-repeat 0 -736px !important;}.cke_ltr .cke_button__numberedlist_icon{background: url(icons.png) no-repeat 0 -768px !important;}.cke_rtl .cke_button__indent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__indent_icon{background: url(icons.png) no-repeat 0 -800px !important;}.cke_ltr .cke_button__indent_icon{background: url(icons.png) no-repeat 0 -832px !important;}.cke_rtl .cke_button__outdent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon{background: url(icons.png) no-repeat 0 -864px !important;}.cke_ltr .cke_button__outdent_icon{background: url(icons.png) no-repeat 0 -896px !important;}.cke_rtl .cke_button__find_icon,.cke_mixed_dir_content .cke_rtl .cke_button__find_icon{background: url(icons.png) no-repeat 0 -928px !important;}.cke_ltr .cke_button__find_icon{background: url(icons.png) no-repeat 0 -960px !important;}.cke_button__replace_icon{background: url(icons.png) no-repeat 0 -992px !important;}.cke_button__flash_icon{background: url(icons.png) no-repeat 0 -1024px !important;}.cke_button__button_icon{background: url(icons.png) no-repeat 0 -1056px !important;}.cke_button__checkbox_icon{background: url(icons.png) no-repeat 0 -1088px !important;}.cke_button__form_icon{background: url(icons.png) no-repeat 0 -1120px !important;}.cke_button__hiddenfield_icon{background: url(icons.png) no-repeat 0 -1152px !important;}.cke_button__imagebutton_icon{background: url(icons.png) no-repeat 0 -1184px !important;}.cke_button__radio_icon{background: url(icons.png) no-repeat 0 -1216px !important;}.cke_rtl .cke_button__select_icon,.cke_mixed_dir_content .cke_rtl .cke_button__select_icon{background: url(icons.png) no-repeat 0 -1248px !important;}.cke_ltr .cke_button__select_icon{background: url(icons.png) no-repeat 0 -1280px !important;}.cke_rtl .cke_button__textarea_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon{background: url(icons.png) no-repeat 0 -1312px !important;}.cke_ltr .cke_button__textarea_icon{background: url(icons.png) no-repeat 0 -1344px !important;}.cke_rtl .cke_button__textfield_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon{background: url(icons.png) no-repeat 0 -1376px !important;}.cke_ltr .cke_button__textfield_icon{background: url(icons.png) no-repeat 0 -1408px !important;}.cke_button__horizontalrule_icon{background: url(icons.png) no-repeat 0 -1440px !important;}.cke_button__iframe_icon{background: url(icons.png) no-repeat 0 -1472px !important;}.cke_button__image_icon{background: url(icons.png) no-repeat 0 -1504px !important;}.cke_button__smiley_icon{background: url(icons.png) no-repeat 0 -1536px !important;}.cke_button__justifyblock_icon{background: url(icons.png) no-repeat 0 -1568px !important;}.cke_button__justifycenter_icon{background: url(icons.png) no-repeat 0 -1600px !important;}.cke_button__justifyleft_icon{background: url(icons.png) no-repeat 0 -1632px !important;}.cke_button__justifyright_icon{background: url(icons.png) no-repeat 0 -1664px !important;}.cke_rtl .cke_button__anchor_icon,.cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon{background: url(icons.png) no-repeat 0 -1696px !important;}.cke_ltr .cke_button__anchor_icon{background: url(icons.png) no-repeat 0 -1728px !important;}.cke_button__link_icon{background: url(icons.png) no-repeat 0 -1760px !important;}.cke_button__unlink_icon{background: url(icons.png) no-repeat 0 -1792px !important;}.cke_button__maximize_icon{background: url(icons.png) no-repeat 0 -1824px !important;}.cke_rtl .cke_button__newpage_icon,.cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon{background: url(icons.png) no-repeat 0 -1856px !important;}.cke_ltr .cke_button__newpage_icon{background: url(icons.png) no-repeat 0 -1888px !important;}.cke_rtl .cke_button__pagebreak_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon{background: url(icons.png) no-repeat 0 -1920px !important;}.cke_ltr .cke_button__pagebreak_icon{background: url(icons.png) no-repeat 0 -1952px !important;}.cke_rtl .cke_button__pastetext_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon{background: url(icons.png) no-repeat 0 -1984px !important;}.cke_ltr .cke_button__pastetext_icon{background: url(icons.png) no-repeat 0 -2016px !important;}.cke_rtl .cke_button__pastefromword_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon{background: url(icons.png) no-repeat 0 -2048px !important;}.cke_ltr .cke_button__pastefromword_icon{background: url(icons.png) no-repeat 0 -2080px !important;}.cke_rtl .cke_button__preview_icon,.cke_mixed_dir_content .cke_rtl .cke_button__preview_icon{background: url(icons.png) no-repeat 0 -2112px !important;}.cke_ltr .cke_button__preview_icon{background: url(icons.png) no-repeat 0 -2144px !important;}.cke_button__print_icon{background: url(icons.png) no-repeat 0 -2176px !important;}.cke_button__removeformat_icon{background: url(icons.png) no-repeat 0 -2208px !important;}.cke_button__save_icon{background: url(icons.png) no-repeat 0 -2240px !important;}.cke_button__selectall_icon{background: url(icons.png) no-repeat 0 -2272px !important;}.cke_rtl .cke_button__showblocks_icon,.cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon{background: url(icons.png) no-repeat 0 -2304px !important;}.cke_ltr .cke_button__showblocks_icon{background: url(icons.png) no-repeat 0 -2336px !important;}.cke_rtl .cke_button__source_icon,.cke_mixed_dir_content .cke_rtl .cke_button__source_icon{background: url(icons.png) no-repeat 0 -2368px !important;}.cke_ltr .cke_button__source_icon{background: url(icons.png) no-repeat 0 -2400px !important;}.cke_button__specialchar_icon{background: url(icons.png) no-repeat 0 -2432px !important;}.cke_button__scayt_icon{background: url(icons.png) no-repeat 0 -2464px !important;}.cke_button__table_icon{background: url(icons.png) no-repeat 0 -2496px !important;}.cke_rtl .cke_button__redo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__redo_icon{background: url(icons.png) no-repeat 0 -2528px !important;}.cke_ltr .cke_button__redo_icon{background: url(icons.png) no-repeat 0 -2560px !important;}.cke_rtl .cke_button__undo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__undo_icon{background: url(icons.png) no-repeat 0 -2592px !important;}.cke_ltr .cke_button__undo_icon{background: url(icons.png) no-repeat 0 -2624px !important;}.cke_button__spellchecker_icon{background: url(icons.png) no-repeat 0 -2656px !important;}
\ No newline at end of file
diff --git a/js/ckeditor/skins/moono/editor_ie.css b/js/ckeditor/skins/moono/editor_ie.css
new file mode 100644 (file)
index 0000000..0e6403c
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffebebeb',endColorstr='#cfd1cf')}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup *:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_rtl .cke_toolgroup *:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffaaaaaa',endColorstr='#ffcacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffaaaaaa',endColorstr='#ffcacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_button__about_icon{background: url(icons.png) no-repeat 0 -0px !important;}.cke_button__bold_icon{background: url(icons.png) no-repeat 0 -32px !important;}.cke_button__italic_icon{background: url(icons.png) no-repeat 0 -64px !important;}.cke_button__strike_icon{background: url(icons.png) no-repeat 0 -96px !important;}.cke_button__subscript_icon{background: url(icons.png) no-repeat 0 -128px !important;}.cke_button__superscript_icon{background: url(icons.png) no-repeat 0 -160px !important;}.cke_button__underline_icon{background: url(icons.png) no-repeat 0 -192px !important;}.cke_button__bidiltr_icon{background: url(icons.png) no-repeat 0 -224px !important;}.cke_button__bidirtl_icon{background: url(icons.png) no-repeat 0 -256px !important;}.cke_button__blockquote_icon{background: url(icons.png) no-repeat 0 -288px !important;}.cke_rtl .cke_button__copy_icon,.cke_mixed_dir_content .cke_rtl .cke_button__copy_icon{background: url(icons.png) no-repeat 0 -320px !important;}.cke_ltr .cke_button__copy_icon{background: url(icons.png) no-repeat 0 -352px !important;}.cke_rtl .cke_button__cut_icon,.cke_mixed_dir_content .cke_rtl .cke_button__cut_icon{background: url(icons.png) no-repeat 0 -384px !important;}.cke_ltr .cke_button__cut_icon{background: url(icons.png) no-repeat 0 -416px !important;}.cke_rtl .cke_button__paste_icon,.cke_mixed_dir_content .cke_rtl .cke_button__paste_icon{background: url(icons.png) no-repeat 0 -448px !important;}.cke_ltr .cke_button__paste_icon{background: url(icons.png) no-repeat 0 -480px !important;}.cke_button__bgcolor_icon{background: url(icons.png) no-repeat 0 -512px !important;}.cke_button__textcolor_icon{background: url(icons.png) no-repeat 0 -544px !important;}.cke_rtl .cke_button__templates_icon,.cke_mixed_dir_content .cke_rtl .cke_button__templates_icon{background: url(icons.png) no-repeat 0 -576px !important;}.cke_ltr .cke_button__templates_icon{background: url(icons.png) no-repeat 0 -608px !important;}.cke_button__creatediv_icon{background: url(icons.png) no-repeat 0 -640px !important;}.cke_rtl .cke_button__bulletedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon{background: url(icons.png) no-repeat 0 -672px !important;}.cke_ltr .cke_button__bulletedlist_icon{background: url(icons.png) no-repeat 0 -704px !important;}.cke_rtl .cke_button__numberedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon{background: url(icons.png) no-repeat 0 -736px !important;}.cke_ltr .cke_button__numberedlist_icon{background: url(icons.png) no-repeat 0 -768px !important;}.cke_rtl .cke_button__indent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__indent_icon{background: url(icons.png) no-repeat 0 -800px !important;}.cke_ltr .cke_button__indent_icon{background: url(icons.png) no-repeat 0 -832px !important;}.cke_rtl .cke_button__outdent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon{background: url(icons.png) no-repeat 0 -864px !important;}.cke_ltr .cke_button__outdent_icon{background: url(icons.png) no-repeat 0 -896px !important;}.cke_rtl .cke_button__find_icon,.cke_mixed_dir_content .cke_rtl .cke_button__find_icon{background: url(icons.png) no-repeat 0 -928px !important;}.cke_ltr .cke_button__find_icon{background: url(icons.png) no-repeat 0 -960px !important;}.cke_button__replace_icon{background: url(icons.png) no-repeat 0 -992px !important;}.cke_button__flash_icon{background: url(icons.png) no-repeat 0 -1024px !important;}.cke_button__button_icon{background: url(icons.png) no-repeat 0 -1056px !important;}.cke_button__checkbox_icon{background: url(icons.png) no-repeat 0 -1088px !important;}.cke_button__form_icon{background: url(icons.png) no-repeat 0 -1120px !important;}.cke_button__hiddenfield_icon{background: url(icons.png) no-repeat 0 -1152px !important;}.cke_button__imagebutton_icon{background: url(icons.png) no-repeat 0 -1184px !important;}.cke_button__radio_icon{background: url(icons.png) no-repeat 0 -1216px !important;}.cke_rtl .cke_button__select_icon,.cke_mixed_dir_content .cke_rtl .cke_button__select_icon{background: url(icons.png) no-repeat 0 -1248px !important;}.cke_ltr .cke_button__select_icon{background: url(icons.png) no-repeat 0 -1280px !important;}.cke_rtl .cke_button__textarea_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon{background: url(icons.png) no-repeat 0 -1312px !important;}.cke_ltr .cke_button__textarea_icon{background: url(icons.png) no-repeat 0 -1344px !important;}.cke_rtl .cke_button__textfield_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon{background: url(icons.png) no-repeat 0 -1376px !important;}.cke_ltr .cke_button__textfield_icon{background: url(icons.png) no-repeat 0 -1408px !important;}.cke_button__horizontalrule_icon{background: url(icons.png) no-repeat 0 -1440px !important;}.cke_button__iframe_icon{background: url(icons.png) no-repeat 0 -1472px !important;}.cke_button__image_icon{background: url(icons.png) no-repeat 0 -1504px !important;}.cke_button__smiley_icon{background: url(icons.png) no-repeat 0 -1536px !important;}.cke_button__justifyblock_icon{background: url(icons.png) no-repeat 0 -1568px !important;}.cke_button__justifycenter_icon{background: url(icons.png) no-repeat 0 -1600px !important;}.cke_button__justifyleft_icon{background: url(icons.png) no-repeat 0 -1632px !important;}.cke_button__justifyright_icon{background: url(icons.png) no-repeat 0 -1664px !important;}.cke_rtl .cke_button__anchor_icon,.cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon{background: url(icons.png) no-repeat 0 -1696px !important;}.cke_ltr .cke_button__anchor_icon{background: url(icons.png) no-repeat 0 -1728px !important;}.cke_button__link_icon{background: url(icons.png) no-repeat 0 -1760px !important;}.cke_button__unlink_icon{background: url(icons.png) no-repeat 0 -1792px !important;}.cke_button__maximize_icon{background: url(icons.png) no-repeat 0 -1824px !important;}.cke_rtl .cke_button__newpage_icon,.cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon{background: url(icons.png) no-repeat 0 -1856px !important;}.cke_ltr .cke_button__newpage_icon{background: url(icons.png) no-repeat 0 -1888px !important;}.cke_rtl .cke_button__pagebreak_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon{background: url(icons.png) no-repeat 0 -1920px !important;}.cke_ltr .cke_button__pagebreak_icon{background: url(icons.png) no-repeat 0 -1952px !important;}.cke_rtl .cke_button__pastetext_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon{background: url(icons.png) no-repeat 0 -1984px !important;}.cke_ltr .cke_button__pastetext_icon{background: url(icons.png) no-repeat 0 -2016px !important;}.cke_rtl .cke_button__pastefromword_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon{background: url(icons.png) no-repeat 0 -2048px !important;}.cke_ltr .cke_button__pastefromword_icon{background: url(icons.png) no-repeat 0 -2080px !important;}.cke_rtl .cke_button__preview_icon,.cke_mixed_dir_content .cke_rtl .cke_button__preview_icon{background: url(icons.png) no-repeat 0 -2112px !important;}.cke_ltr .cke_button__preview_icon{background: url(icons.png) no-repeat 0 -2144px !important;}.cke_button__print_icon{background: url(icons.png) no-repeat 0 -2176px !important;}.cke_button__removeformat_icon{background: url(icons.png) no-repeat 0 -2208px !important;}.cke_button__save_icon{background: url(icons.png) no-repeat 0 -2240px !important;}.cke_button__selectall_icon{background: url(icons.png) no-repeat 0 -2272px !important;}.cke_rtl .cke_button__showblocks_icon,.cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon{background: url(icons.png) no-repeat 0 -2304px !important;}.cke_ltr .cke_button__showblocks_icon{background: url(icons.png) no-repeat 0 -2336px !important;}.cke_rtl .cke_button__source_icon,.cke_mixed_dir_content .cke_rtl .cke_button__source_icon{background: url(icons.png) no-repeat 0 -2368px !important;}.cke_ltr .cke_button__source_icon{background: url(icons.png) no-repeat 0 -2400px !important;}.cke_button__specialchar_icon{background: url(icons.png) no-repeat 0 -2432px !important;}.cke_button__scayt_icon{background: url(icons.png) no-repeat 0 -2464px !important;}.cke_button__table_icon{background: url(icons.png) no-repeat 0 -2496px !important;}.cke_rtl .cke_button__redo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__redo_icon{background: url(icons.png) no-repeat 0 -2528px !important;}.cke_ltr .cke_button__redo_icon{background: url(icons.png) no-repeat 0 -2560px !important;}.cke_rtl .cke_button__undo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__undo_icon{background: url(icons.png) no-repeat 0 -2592px !important;}.cke_ltr .cke_button__undo_icon{background: url(icons.png) no-repeat 0 -2624px !important;}.cke_button__spellchecker_icon{background: url(icons.png) no-repeat 0 -2656px !important;}
\ No newline at end of file
diff --git a/js/ckeditor/skins/moono/editor_ie7.css b/js/ckeditor/skins/moono/editor_ie7.css
new file mode 100644 (file)
index 0000000..3cbd244
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffebebeb',endColorstr='#cfd1cf')}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup *:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_rtl .cke_toolgroup *:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffaaaaaa',endColorstr='#ffcacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffaaaaaa',endColorstr='#ffcacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_path_empty{float:none}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_button,.cke_rtl .cke_button_icon,{display:inline-block;vertical-align:top}.cke_toolbox{display:inline-block;padding-bottom:5px;height:100%}.cke_rtl .cke_toolbox{padding-bottom:0}.cke_toolbar{margin-bottom:5px}.cke_rtl .cke_toolbar{margin-bottom:0}.cke_toolgroup{height:26px}.cke_toolgroup,.cke_combo{position:relative}a.cke_button{float:none;vertical-align:top}.cke_toolbar_separator{display:inline-block;float:none;vertical-align:top;background-color:#c0c0c0}.cke_toolbox_collapser .cke_arrow{margin-top:0}.cke_toolbox_collapser .cke_arrow{border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_rtl .cke_button_arrow{padding-top:8px;margin-right:2px}.cke_rtl .cke_combo_inlinelabel{display:table-cell;vertical-align:middle}.cke_menubutton{display:block;height:24px}.cke_menubutton_inner{display:block;position:relative}.cke_menubutton_icon{height:16px;width:16px}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:inline-block}.cke_menubutton_label{width:auto;vertical-align:top;line-height:24px;height:24px;margin:0 10px 0 0}.cke_menuarrow{width:5px;height:6px;padding:0;position:absolute;right:8px;top:10px;background-position:0 0}.cke_rtl .cke_menubutton_icon{position:absolute;right:0;top:0}.cke_rtl .cke_menubutton_label{float:right;clear:both;margin:0 24px 0 10px}.cke_hc .cke_rtl .cke_menubutton_label{margin-right:0}.cke_rtl .cke_menuarrow{left:8px;right:auto;background-position:0 -24px}.cke_hc .cke_menuarrow{top:5px;padding:0 5px}.cke_rtl input.cke_dialog_ui_input_text,.cke_rtl input.cke_dialog_ui_input_password{position:relative}.cke_wysiwyg_div{padding-top:0!important;padding-bottom:0!important}.cke_button__about_icon{background: url(icons.png) no-repeat 0 -0px !important;}.cke_button__bold_icon{background: url(icons.png) no-repeat 0 -32px !important;}.cke_button__italic_icon{background: url(icons.png) no-repeat 0 -64px !important;}.cke_button__strike_icon{background: url(icons.png) no-repeat 0 -96px !important;}.cke_button__subscript_icon{background: url(icons.png) no-repeat 0 -128px !important;}.cke_button__superscript_icon{background: url(icons.png) no-repeat 0 -160px !important;}.cke_button__underline_icon{background: url(icons.png) no-repeat 0 -192px !important;}.cke_button__bidiltr_icon{background: url(icons.png) no-repeat 0 -224px !important;}.cke_button__bidirtl_icon{background: url(icons.png) no-repeat 0 -256px !important;}.cke_button__blockquote_icon{background: url(icons.png) no-repeat 0 -288px !important;}.cke_rtl .cke_button__copy_icon,.cke_mixed_dir_content .cke_rtl .cke_button__copy_icon{background: url(icons.png) no-repeat 0 -320px !important;}.cke_ltr .cke_button__copy_icon{background: url(icons.png) no-repeat 0 -352px !important;}.cke_rtl .cke_button__cut_icon,.cke_mixed_dir_content .cke_rtl .cke_button__cut_icon{background: url(icons.png) no-repeat 0 -384px !important;}.cke_ltr .cke_button__cut_icon{background: url(icons.png) no-repeat 0 -416px !important;}.cke_rtl .cke_button__paste_icon,.cke_mixed_dir_content .cke_rtl .cke_button__paste_icon{background: url(icons.png) no-repeat 0 -448px !important;}.cke_ltr .cke_button__paste_icon{background: url(icons.png) no-repeat 0 -480px !important;}.cke_button__bgcolor_icon{background: url(icons.png) no-repeat 0 -512px !important;}.cke_button__textcolor_icon{background: url(icons.png) no-repeat 0 -544px !important;}.cke_rtl .cke_button__templates_icon,.cke_mixed_dir_content .cke_rtl .cke_button__templates_icon{background: url(icons.png) no-repeat 0 -576px !important;}.cke_ltr .cke_button__templates_icon{background: url(icons.png) no-repeat 0 -608px !important;}.cke_button__creatediv_icon{background: url(icons.png) no-repeat 0 -640px !important;}.cke_rtl .cke_button__bulletedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon{background: url(icons.png) no-repeat 0 -672px !important;}.cke_ltr .cke_button__bulletedlist_icon{background: url(icons.png) no-repeat 0 -704px !important;}.cke_rtl .cke_button__numberedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon{background: url(icons.png) no-repeat 0 -736px !important;}.cke_ltr .cke_button__numberedlist_icon{background: url(icons.png) no-repeat 0 -768px !important;}.cke_rtl .cke_button__indent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__indent_icon{background: url(icons.png) no-repeat 0 -800px !important;}.cke_ltr .cke_button__indent_icon{background: url(icons.png) no-repeat 0 -832px !important;}.cke_rtl .cke_button__outdent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon{background: url(icons.png) no-repeat 0 -864px !important;}.cke_ltr .cke_button__outdent_icon{background: url(icons.png) no-repeat 0 -896px !important;}.cke_rtl .cke_button__find_icon,.cke_mixed_dir_content .cke_rtl .cke_button__find_icon{background: url(icons.png) no-repeat 0 -928px !important;}.cke_ltr .cke_button__find_icon{background: url(icons.png) no-repeat 0 -960px !important;}.cke_button__replace_icon{background: url(icons.png) no-repeat 0 -992px !important;}.cke_button__flash_icon{background: url(icons.png) no-repeat 0 -1024px !important;}.cke_button__button_icon{background: url(icons.png) no-repeat 0 -1056px !important;}.cke_button__checkbox_icon{background: url(icons.png) no-repeat 0 -1088px !important;}.cke_button__form_icon{background: url(icons.png) no-repeat 0 -1120px !important;}.cke_button__hiddenfield_icon{background: url(icons.png) no-repeat 0 -1152px !important;}.cke_button__imagebutton_icon{background: url(icons.png) no-repeat 0 -1184px !important;}.cke_button__radio_icon{background: url(icons.png) no-repeat 0 -1216px !important;}.cke_rtl .cke_button__select_icon,.cke_mixed_dir_content .cke_rtl .cke_button__select_icon{background: url(icons.png) no-repeat 0 -1248px !important;}.cke_ltr .cke_button__select_icon{background: url(icons.png) no-repeat 0 -1280px !important;}.cke_rtl .cke_button__textarea_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon{background: url(icons.png) no-repeat 0 -1312px !important;}.cke_ltr .cke_button__textarea_icon{background: url(icons.png) no-repeat 0 -1344px !important;}.cke_rtl .cke_button__textfield_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon{background: url(icons.png) no-repeat 0 -1376px !important;}.cke_ltr .cke_button__textfield_icon{background: url(icons.png) no-repeat 0 -1408px !important;}.cke_button__horizontalrule_icon{background: url(icons.png) no-repeat 0 -1440px !important;}.cke_button__iframe_icon{background: url(icons.png) no-repeat 0 -1472px !important;}.cke_button__image_icon{background: url(icons.png) no-repeat 0 -1504px !important;}.cke_button__smiley_icon{background: url(icons.png) no-repeat 0 -1536px !important;}.cke_button__justifyblock_icon{background: url(icons.png) no-repeat 0 -1568px !important;}.cke_button__justifycenter_icon{background: url(icons.png) no-repeat 0 -1600px !important;}.cke_button__justifyleft_icon{background: url(icons.png) no-repeat 0 -1632px !important;}.cke_button__justifyright_icon{background: url(icons.png) no-repeat 0 -1664px !important;}.cke_rtl .cke_button__anchor_icon,.cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon{background: url(icons.png) no-repeat 0 -1696px !important;}.cke_ltr .cke_button__anchor_icon{background: url(icons.png) no-repeat 0 -1728px !important;}.cke_button__link_icon{background: url(icons.png) no-repeat 0 -1760px !important;}.cke_button__unlink_icon{background: url(icons.png) no-repeat 0 -1792px !important;}.cke_button__maximize_icon{background: url(icons.png) no-repeat 0 -1824px !important;}.cke_rtl .cke_button__newpage_icon,.cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon{background: url(icons.png) no-repeat 0 -1856px !important;}.cke_ltr .cke_button__newpage_icon{background: url(icons.png) no-repeat 0 -1888px !important;}.cke_rtl .cke_button__pagebreak_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon{background: url(icons.png) no-repeat 0 -1920px !important;}.cke_ltr .cke_button__pagebreak_icon{background: url(icons.png) no-repeat 0 -1952px !important;}.cke_rtl .cke_button__pastetext_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon{background: url(icons.png) no-repeat 0 -1984px !important;}.cke_ltr .cke_button__pastetext_icon{background: url(icons.png) no-repeat 0 -2016px !important;}.cke_rtl .cke_button__pastefromword_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon{background: url(icons.png) no-repeat 0 -2048px !important;}.cke_ltr .cke_button__pastefromword_icon{background: url(icons.png) no-repeat 0 -2080px !important;}.cke_rtl .cke_button__preview_icon,.cke_mixed_dir_content .cke_rtl .cke_button__preview_icon{background: url(icons.png) no-repeat 0 -2112px !important;}.cke_ltr .cke_button__preview_icon{background: url(icons.png) no-repeat 0 -2144px !important;}.cke_button__print_icon{background: url(icons.png) no-repeat 0 -2176px !important;}.cke_button__removeformat_icon{background: url(icons.png) no-repeat 0 -2208px !important;}.cke_button__save_icon{background: url(icons.png) no-repeat 0 -2240px !important;}.cke_button__selectall_icon{background: url(icons.png) no-repeat 0 -2272px !important;}.cke_rtl .cke_button__showblocks_icon,.cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon{background: url(icons.png) no-repeat 0 -2304px !important;}.cke_ltr .cke_button__showblocks_icon{background: url(icons.png) no-repeat 0 -2336px !important;}.cke_rtl .cke_button__source_icon,.cke_mixed_dir_content .cke_rtl .cke_button__source_icon{background: url(icons.png) no-repeat 0 -2368px !important;}.cke_ltr .cke_button__source_icon{background: url(icons.png) no-repeat 0 -2400px !important;}.cke_button__specialchar_icon{background: url(icons.png) no-repeat 0 -2432px !important;}.cke_button__scayt_icon{background: url(icons.png) no-repeat 0 -2464px !important;}.cke_button__table_icon{background: url(icons.png) no-repeat 0 -2496px !important;}.cke_rtl .cke_button__redo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__redo_icon{background: url(icons.png) no-repeat 0 -2528px !important;}.cke_ltr .cke_button__redo_icon{background: url(icons.png) no-repeat 0 -2560px !important;}.cke_rtl .cke_button__undo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__undo_icon{background: url(icons.png) no-repeat 0 -2592px !important;}.cke_ltr .cke_button__undo_icon{background: url(icons.png) no-repeat 0 -2624px !important;}.cke_button__spellchecker_icon{background: url(icons.png) no-repeat 0 -2656px !important;}
\ No newline at end of file
diff --git a/js/ckeditor/skins/moono/editor_ie8.css b/js/ckeditor/skins/moono/editor_ie8.css
new file mode 100644 (file)
index 0000000..16d88b1
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffebebeb',endColorstr='#cfd1cf')}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup *:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_rtl .cke_toolgroup *:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffaaaaaa',endColorstr='#ffcacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffaaaaaa',endColorstr='#ffcacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_toolbox_collapser .cke_arrow{border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_toolbox_collapser .cke_arrow{margin-top:0}.cke_button__about_icon{background: url(icons.png) no-repeat 0 -0px !important;}.cke_button__bold_icon{background: url(icons.png) no-repeat 0 -32px !important;}.cke_button__italic_icon{background: url(icons.png) no-repeat 0 -64px !important;}.cke_button__strike_icon{background: url(icons.png) no-repeat 0 -96px !important;}.cke_button__subscript_icon{background: url(icons.png) no-repeat 0 -128px !important;}.cke_button__superscript_icon{background: url(icons.png) no-repeat 0 -160px !important;}.cke_button__underline_icon{background: url(icons.png) no-repeat 0 -192px !important;}.cke_button__bidiltr_icon{background: url(icons.png) no-repeat 0 -224px !important;}.cke_button__bidirtl_icon{background: url(icons.png) no-repeat 0 -256px !important;}.cke_button__blockquote_icon{background: url(icons.png) no-repeat 0 -288px !important;}.cke_rtl .cke_button__copy_icon,.cke_mixed_dir_content .cke_rtl .cke_button__copy_icon{background: url(icons.png) no-repeat 0 -320px !important;}.cke_ltr .cke_button__copy_icon{background: url(icons.png) no-repeat 0 -352px !important;}.cke_rtl .cke_button__cut_icon,.cke_mixed_dir_content .cke_rtl .cke_button__cut_icon{background: url(icons.png) no-repeat 0 -384px !important;}.cke_ltr .cke_button__cut_icon{background: url(icons.png) no-repeat 0 -416px !important;}.cke_rtl .cke_button__paste_icon,.cke_mixed_dir_content .cke_rtl .cke_button__paste_icon{background: url(icons.png) no-repeat 0 -448px !important;}.cke_ltr .cke_button__paste_icon{background: url(icons.png) no-repeat 0 -480px !important;}.cke_button__bgcolor_icon{background: url(icons.png) no-repeat 0 -512px !important;}.cke_button__textcolor_icon{background: url(icons.png) no-repeat 0 -544px !important;}.cke_rtl .cke_button__templates_icon,.cke_mixed_dir_content .cke_rtl .cke_button__templates_icon{background: url(icons.png) no-repeat 0 -576px !important;}.cke_ltr .cke_button__templates_icon{background: url(icons.png) no-repeat 0 -608px !important;}.cke_button__creatediv_icon{background: url(icons.png) no-repeat 0 -640px !important;}.cke_rtl .cke_button__bulletedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon{background: url(icons.png) no-repeat 0 -672px !important;}.cke_ltr .cke_button__bulletedlist_icon{background: url(icons.png) no-repeat 0 -704px !important;}.cke_rtl .cke_button__numberedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon{background: url(icons.png) no-repeat 0 -736px !important;}.cke_ltr .cke_button__numberedlist_icon{background: url(icons.png) no-repeat 0 -768px !important;}.cke_rtl .cke_button__indent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__indent_icon{background: url(icons.png) no-repeat 0 -800px !important;}.cke_ltr .cke_button__indent_icon{background: url(icons.png) no-repeat 0 -832px !important;}.cke_rtl .cke_button__outdent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon{background: url(icons.png) no-repeat 0 -864px !important;}.cke_ltr .cke_button__outdent_icon{background: url(icons.png) no-repeat 0 -896px !important;}.cke_rtl .cke_button__find_icon,.cke_mixed_dir_content .cke_rtl .cke_button__find_icon{background: url(icons.png) no-repeat 0 -928px !important;}.cke_ltr .cke_button__find_icon{background: url(icons.png) no-repeat 0 -960px !important;}.cke_button__replace_icon{background: url(icons.png) no-repeat 0 -992px !important;}.cke_button__flash_icon{background: url(icons.png) no-repeat 0 -1024px !important;}.cke_button__button_icon{background: url(icons.png) no-repeat 0 -1056px !important;}.cke_button__checkbox_icon{background: url(icons.png) no-repeat 0 -1088px !important;}.cke_button__form_icon{background: url(icons.png) no-repeat 0 -1120px !important;}.cke_button__hiddenfield_icon{background: url(icons.png) no-repeat 0 -1152px !important;}.cke_button__imagebutton_icon{background: url(icons.png) no-repeat 0 -1184px !important;}.cke_button__radio_icon{background: url(icons.png) no-repeat 0 -1216px !important;}.cke_rtl .cke_button__select_icon,.cke_mixed_dir_content .cke_rtl .cke_button__select_icon{background: url(icons.png) no-repeat 0 -1248px !important;}.cke_ltr .cke_button__select_icon{background: url(icons.png) no-repeat 0 -1280px !important;}.cke_rtl .cke_button__textarea_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon{background: url(icons.png) no-repeat 0 -1312px !important;}.cke_ltr .cke_button__textarea_icon{background: url(icons.png) no-repeat 0 -1344px !important;}.cke_rtl .cke_button__textfield_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon{background: url(icons.png) no-repeat 0 -1376px !important;}.cke_ltr .cke_button__textfield_icon{background: url(icons.png) no-repeat 0 -1408px !important;}.cke_button__horizontalrule_icon{background: url(icons.png) no-repeat 0 -1440px !important;}.cke_button__iframe_icon{background: url(icons.png) no-repeat 0 -1472px !important;}.cke_button__image_icon{background: url(icons.png) no-repeat 0 -1504px !important;}.cke_button__smiley_icon{background: url(icons.png) no-repeat 0 -1536px !important;}.cke_button__justifyblock_icon{background: url(icons.png) no-repeat 0 -1568px !important;}.cke_button__justifycenter_icon{background: url(icons.png) no-repeat 0 -1600px !important;}.cke_button__justifyleft_icon{background: url(icons.png) no-repeat 0 -1632px !important;}.cke_button__justifyright_icon{background: url(icons.png) no-repeat 0 -1664px !important;}.cke_rtl .cke_button__anchor_icon,.cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon{background: url(icons.png) no-repeat 0 -1696px !important;}.cke_ltr .cke_button__anchor_icon{background: url(icons.png) no-repeat 0 -1728px !important;}.cke_button__link_icon{background: url(icons.png) no-repeat 0 -1760px !important;}.cke_button__unlink_icon{background: url(icons.png) no-repeat 0 -1792px !important;}.cke_button__maximize_icon{background: url(icons.png) no-repeat 0 -1824px !important;}.cke_rtl .cke_button__newpage_icon,.cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon{background: url(icons.png) no-repeat 0 -1856px !important;}.cke_ltr .cke_button__newpage_icon{background: url(icons.png) no-repeat 0 -1888px !important;}.cke_rtl .cke_button__pagebreak_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon{background: url(icons.png) no-repeat 0 -1920px !important;}.cke_ltr .cke_button__pagebreak_icon{background: url(icons.png) no-repeat 0 -1952px !important;}.cke_rtl .cke_button__pastetext_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon{background: url(icons.png) no-repeat 0 -1984px !important;}.cke_ltr .cke_button__pastetext_icon{background: url(icons.png) no-repeat 0 -2016px !important;}.cke_rtl .cke_button__pastefromword_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon{background: url(icons.png) no-repeat 0 -2048px !important;}.cke_ltr .cke_button__pastefromword_icon{background: url(icons.png) no-repeat 0 -2080px !important;}.cke_rtl .cke_button__preview_icon,.cke_mixed_dir_content .cke_rtl .cke_button__preview_icon{background: url(icons.png) no-repeat 0 -2112px !important;}.cke_ltr .cke_button__preview_icon{background: url(icons.png) no-repeat 0 -2144px !important;}.cke_button__print_icon{background: url(icons.png) no-repeat 0 -2176px !important;}.cke_button__removeformat_icon{background: url(icons.png) no-repeat 0 -2208px !important;}.cke_button__save_icon{background: url(icons.png) no-repeat 0 -2240px !important;}.cke_button__selectall_icon{background: url(icons.png) no-repeat 0 -2272px !important;}.cke_rtl .cke_button__showblocks_icon,.cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon{background: url(icons.png) no-repeat 0 -2304px !important;}.cke_ltr .cke_button__showblocks_icon{background: url(icons.png) no-repeat 0 -2336px !important;}.cke_rtl .cke_button__source_icon,.cke_mixed_dir_content .cke_rtl .cke_button__source_icon{background: url(icons.png) no-repeat 0 -2368px !important;}.cke_ltr .cke_button__source_icon{background: url(icons.png) no-repeat 0 -2400px !important;}.cke_button__specialchar_icon{background: url(icons.png) no-repeat 0 -2432px !important;}.cke_button__scayt_icon{background: url(icons.png) no-repeat 0 -2464px !important;}.cke_button__table_icon{background: url(icons.png) no-repeat 0 -2496px !important;}.cke_rtl .cke_button__redo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__redo_icon{background: url(icons.png) no-repeat 0 -2528px !important;}.cke_ltr .cke_button__redo_icon{background: url(icons.png) no-repeat 0 -2560px !important;}.cke_rtl .cke_button__undo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__undo_icon{background: url(icons.png) no-repeat 0 -2592px !important;}.cke_ltr .cke_button__undo_icon{background: url(icons.png) no-repeat 0 -2624px !important;}.cke_button__spellchecker_icon{background: url(icons.png) no-repeat 0 -2656px !important;}
\ No newline at end of file
diff --git a/js/ckeditor/skins/moono/editor_iequirks.css b/js/ckeditor/skins/moono/editor_iequirks.css
new file mode 100644 (file)
index 0000000..a468755
--- /dev/null
@@ -0,0 +1,5 @@
+/*\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffebebeb',endColorstr='#cfd1cf')}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff5f5f5',endColorstr='#ffcfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup *:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_rtl .cke_toolgroup *:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffaaaaaa',endColorstr='#ffcacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffffff',endColorstr='#ffe4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fff2f2f2',endColorstr='#ffcccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffaaaaaa',endColorstr='#ffcacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_top,.cke_contents,.cke_bottom{width:100%}.cke_button_arrow{font-size:0}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_path_empty{float:none}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_button,.cke_rtl .cke_button_icon,{display:inline-block;vertical-align:top}.cke_rtl .cke_button_icon{float:none}.cke_resizer{width:10px}.cke_source{white-space:normal}.cke_bottom{position:static}.cke_colorbox{font-size:0}.cke_button__about_icon{background: url(icons.png) no-repeat 0 -0px !important;}.cke_button__bold_icon{background: url(icons.png) no-repeat 0 -32px !important;}.cke_button__italic_icon{background: url(icons.png) no-repeat 0 -64px !important;}.cke_button__strike_icon{background: url(icons.png) no-repeat 0 -96px !important;}.cke_button__subscript_icon{background: url(icons.png) no-repeat 0 -128px !important;}.cke_button__superscript_icon{background: url(icons.png) no-repeat 0 -160px !important;}.cke_button__underline_icon{background: url(icons.png) no-repeat 0 -192px !important;}.cke_button__bidiltr_icon{background: url(icons.png) no-repeat 0 -224px !important;}.cke_button__bidirtl_icon{background: url(icons.png) no-repeat 0 -256px !important;}.cke_button__blockquote_icon{background: url(icons.png) no-repeat 0 -288px !important;}.cke_rtl .cke_button__copy_icon,.cke_mixed_dir_content .cke_rtl .cke_button__copy_icon{background: url(icons.png) no-repeat 0 -320px !important;}.cke_ltr .cke_button__copy_icon{background: url(icons.png) no-repeat 0 -352px !important;}.cke_rtl .cke_button__cut_icon,.cke_mixed_dir_content .cke_rtl .cke_button__cut_icon{background: url(icons.png) no-repeat 0 -384px !important;}.cke_ltr .cke_button__cut_icon{background: url(icons.png) no-repeat 0 -416px !important;}.cke_rtl .cke_button__paste_icon,.cke_mixed_dir_content .cke_rtl .cke_button__paste_icon{background: url(icons.png) no-repeat 0 -448px !important;}.cke_ltr .cke_button__paste_icon{background: url(icons.png) no-repeat 0 -480px !important;}.cke_button__bgcolor_icon{background: url(icons.png) no-repeat 0 -512px !important;}.cke_button__textcolor_icon{background: url(icons.png) no-repeat 0 -544px !important;}.cke_rtl .cke_button__templates_icon,.cke_mixed_dir_content .cke_rtl .cke_button__templates_icon{background: url(icons.png) no-repeat 0 -576px !important;}.cke_ltr .cke_button__templates_icon{background: url(icons.png) no-repeat 0 -608px !important;}.cke_button__creatediv_icon{background: url(icons.png) no-repeat 0 -640px !important;}.cke_rtl .cke_button__bulletedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon{background: url(icons.png) no-repeat 0 -672px !important;}.cke_ltr .cke_button__bulletedlist_icon{background: url(icons.png) no-repeat 0 -704px !important;}.cke_rtl .cke_button__numberedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon{background: url(icons.png) no-repeat 0 -736px !important;}.cke_ltr .cke_button__numberedlist_icon{background: url(icons.png) no-repeat 0 -768px !important;}.cke_rtl .cke_button__indent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__indent_icon{background: url(icons.png) no-repeat 0 -800px !important;}.cke_ltr .cke_button__indent_icon{background: url(icons.png) no-repeat 0 -832px !important;}.cke_rtl .cke_button__outdent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon{background: url(icons.png) no-repeat 0 -864px !important;}.cke_ltr .cke_button__outdent_icon{background: url(icons.png) no-repeat 0 -896px !important;}.cke_rtl .cke_button__find_icon,.cke_mixed_dir_content .cke_rtl .cke_button__find_icon{background: url(icons.png) no-repeat 0 -928px !important;}.cke_ltr .cke_button__find_icon{background: url(icons.png) no-repeat 0 -960px !important;}.cke_button__replace_icon{background: url(icons.png) no-repeat 0 -992px !important;}.cke_button__flash_icon{background: url(icons.png) no-repeat 0 -1024px !important;}.cke_button__button_icon{background: url(icons.png) no-repeat 0 -1056px !important;}.cke_button__checkbox_icon{background: url(icons.png) no-repeat 0 -1088px !important;}.cke_button__form_icon{background: url(icons.png) no-repeat 0 -1120px !important;}.cke_button__hiddenfield_icon{background: url(icons.png) no-repeat 0 -1152px !important;}.cke_button__imagebutton_icon{background: url(icons.png) no-repeat 0 -1184px !important;}.cke_button__radio_icon{background: url(icons.png) no-repeat 0 -1216px !important;}.cke_rtl .cke_button__select_icon,.cke_mixed_dir_content .cke_rtl .cke_button__select_icon{background: url(icons.png) no-repeat 0 -1248px !important;}.cke_ltr .cke_button__select_icon{background: url(icons.png) no-repeat 0 -1280px !important;}.cke_rtl .cke_button__textarea_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon{background: url(icons.png) no-repeat 0 -1312px !important;}.cke_ltr .cke_button__textarea_icon{background: url(icons.png) no-repeat 0 -1344px !important;}.cke_rtl .cke_button__textfield_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon{background: url(icons.png) no-repeat 0 -1376px !important;}.cke_ltr .cke_button__textfield_icon{background: url(icons.png) no-repeat 0 -1408px !important;}.cke_button__horizontalrule_icon{background: url(icons.png) no-repeat 0 -1440px !important;}.cke_button__iframe_icon{background: url(icons.png) no-repeat 0 -1472px !important;}.cke_button__image_icon{background: url(icons.png) no-repeat 0 -1504px !important;}.cke_button__smiley_icon{background: url(icons.png) no-repeat 0 -1536px !important;}.cke_button__justifyblock_icon{background: url(icons.png) no-repeat 0 -1568px !important;}.cke_button__justifycenter_icon{background: url(icons.png) no-repeat 0 -1600px !important;}.cke_button__justifyleft_icon{background: url(icons.png) no-repeat 0 -1632px !important;}.cke_button__justifyright_icon{background: url(icons.png) no-repeat 0 -1664px !important;}.cke_rtl .cke_button__anchor_icon,.cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon{background: url(icons.png) no-repeat 0 -1696px !important;}.cke_ltr .cke_button__anchor_icon{background: url(icons.png) no-repeat 0 -1728px !important;}.cke_button__link_icon{background: url(icons.png) no-repeat 0 -1760px !important;}.cke_button__unlink_icon{background: url(icons.png) no-repeat 0 -1792px !important;}.cke_button__maximize_icon{background: url(icons.png) no-repeat 0 -1824px !important;}.cke_rtl .cke_button__newpage_icon,.cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon{background: url(icons.png) no-repeat 0 -1856px !important;}.cke_ltr .cke_button__newpage_icon{background: url(icons.png) no-repeat 0 -1888px !important;}.cke_rtl .cke_button__pagebreak_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon{background: url(icons.png) no-repeat 0 -1920px !important;}.cke_ltr .cke_button__pagebreak_icon{background: url(icons.png) no-repeat 0 -1952px !important;}.cke_rtl .cke_button__pastetext_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon{background: url(icons.png) no-repeat 0 -1984px !important;}.cke_ltr .cke_button__pastetext_icon{background: url(icons.png) no-repeat 0 -2016px !important;}.cke_rtl .cke_button__pastefromword_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon{background: url(icons.png) no-repeat 0 -2048px !important;}.cke_ltr .cke_button__pastefromword_icon{background: url(icons.png) no-repeat 0 -2080px !important;}.cke_rtl .cke_button__preview_icon,.cke_mixed_dir_content .cke_rtl .cke_button__preview_icon{background: url(icons.png) no-repeat 0 -2112px !important;}.cke_ltr .cke_button__preview_icon{background: url(icons.png) no-repeat 0 -2144px !important;}.cke_button__print_icon{background: url(icons.png) no-repeat 0 -2176px !important;}.cke_button__removeformat_icon{background: url(icons.png) no-repeat 0 -2208px !important;}.cke_button__save_icon{background: url(icons.png) no-repeat 0 -2240px !important;}.cke_button__selectall_icon{background: url(icons.png) no-repeat 0 -2272px !important;}.cke_rtl .cke_button__showblocks_icon,.cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon{background: url(icons.png) no-repeat 0 -2304px !important;}.cke_ltr .cke_button__showblocks_icon{background: url(icons.png) no-repeat 0 -2336px !important;}.cke_rtl .cke_button__source_icon,.cke_mixed_dir_content .cke_rtl .cke_button__source_icon{background: url(icons.png) no-repeat 0 -2368px !important;}.cke_ltr .cke_button__source_icon{background: url(icons.png) no-repeat 0 -2400px !important;}.cke_button__specialchar_icon{background: url(icons.png) no-repeat 0 -2432px !important;}.cke_button__scayt_icon{background: url(icons.png) no-repeat 0 -2464px !important;}.cke_button__table_icon{background: url(icons.png) no-repeat 0 -2496px !important;}.cke_rtl .cke_button__redo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__redo_icon{background: url(icons.png) no-repeat 0 -2528px !important;}.cke_ltr .cke_button__redo_icon{background: url(icons.png) no-repeat 0 -2560px !important;}.cke_rtl .cke_button__undo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__undo_icon{background: url(icons.png) no-repeat 0 -2592px !important;}.cke_ltr .cke_button__undo_icon{background: url(icons.png) no-repeat 0 -2624px !important;}.cke_button__spellchecker_icon{background: url(icons.png) no-repeat 0 -2656px !important;}
\ No newline at end of file
diff --git a/js/ckeditor/skins/moono/icons.png b/js/ckeditor/skins/moono/icons.png
new file mode 100644 (file)
index 0000000..f21247b
Binary files /dev/null and b/js/ckeditor/skins/moono/icons.png differ
diff --git a/js/ckeditor/skins/moono/images/arrow.png b/js/ckeditor/skins/moono/images/arrow.png
new file mode 100644 (file)
index 0000000..0d1eb39
Binary files /dev/null and b/js/ckeditor/skins/moono/images/arrow.png differ
diff --git a/js/ckeditor/skins/moono/images/close.png b/js/ckeditor/skins/moono/images/close.png
new file mode 100644 (file)
index 0000000..a795fd5
Binary files /dev/null and b/js/ckeditor/skins/moono/images/close.png differ
diff --git a/js/ckeditor/skins/moono/images/mini.png b/js/ckeditor/skins/moono/images/mini.png
new file mode 100644 (file)
index 0000000..3e65bd5
Binary files /dev/null and b/js/ckeditor/skins/moono/images/mini.png differ
diff --git a/js/ckeditor/skins/moono/readme.md b/js/ckeditor/skins/moono/readme.md
new file mode 100644 (file)
index 0000000..0fa4c1a
--- /dev/null
@@ -0,0 +1,51 @@
+"Moono" Skin\r
+====================\r
+\r
+This skin has been chosen for the **default skin** of CKEditor 4.x, elected from the CKEditor\r
+[skin contest](http://ckeditor.com/blog/new_ckeditor_4_skin) and further shaped by\r
+the CKEditor team. "Moono" is maintained by the core developers.\r
+\r
+For more information about skins, please check the [CKEditor Skin SDK](http://docs.cksource.com/CKEditor_4.x/Skin_SDK)\r
+documentation.\r
+\r
+Features\r
+-------------------\r
+"Moono" is a monochromatic skin, which offers a modern look coupled with gradients and transparency.\r
+It comes with the following features:\r
+\r
+- Chameleon feature with brightness,\r
+- high-contrast compatibility,\r
+- graphics source provided in SVG.\r
+\r
+Directory Structure\r
+-------------------\r
+\r
+CSS parts:\r
+- **editor.css**: the main CSS file. It's simply loading several other files, for easier maintenance,\r
+- **mainui.css**: the file contains styles of entire editor outline structures,\r
+- **toolbar.css**: the file contains styles of the editor toolbar space (top),\r
+- **richcombo.css**: the file contains styles of the rich combo ui elements on toolbar,\r
+- **panel.css**: the file contains styles of the rich combo drop-down, it's not loaded\r
+until the first panel open up,\r
+- **elementspath.css**: the file contains styles of the editor elements path bar (bottom),\r
+- **menu.css**: the file contains styles of all editor menus including context menu and button drop-down,\r
+it's not loaded until the first menu open up,\r
+- **dialog.css**: the CSS files for the dialog UI, it's not loaded until the first dialog open,\r
+- **reset.css**: the file defines the basis of style resets among all editor UI spaces,\r
+- **preset.css**: the file defines the default styles of some UI elements reflecting the skin preference,\r
+- **editor_XYZ.css** and **dialog_XYZ.css**: browser specific CSS hacks.\r
+\r
+Other parts:\r
+- **skin.js**: the only JavaScript part of the skin that registers the skin, its browser specific files and its icons and defines the Chameleon feature,\r
+- **icons/**: contains all skin defined icons,\r
+- **images/**: contains a fill general used images,\r
+- **dev/**: contains SVG source of the skin icons.\r
+\r
+License\r
+-------\r
+\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
+\r
+Licensed under the terms of any of the following licenses at your choice: [GPL](http://www.gnu.org/licenses/gpl.html), [LGPL](http://www.gnu.org/licenses/lgpl.html) and [MPL](http://www.mozilla.org/MPL/MPL-1.1.html).\r
+\r
+See LICENSE.md for more information.\r
diff --git a/js/i18n/datepicker/datepicker-cs_CS.js b/js/i18n/datepicker/datepicker-cs_CS.js
new file mode 100644 (file)
index 0000000..6f37fea
--- /dev/null
@@ -0,0 +1,36 @@
+/* Czech initialisation for the jQuery UI date picker plugin. */
+/* Written by Tomas Muller (tomas@tomas-muller.net). */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['cs'] = {
+               closeText: 'Zavřít',
+               prevText: '&#x3C;Dříve',
+               nextText: 'Později&#x3E;',
+               currentText: 'Nyní',
+               monthNames: ['leden','únor','březen','duben','květen','červen',
+               'červenec','srpen','září','říjen','listopad','prosinec'],
+               monthNamesShort: ['led','úno','bře','dub','kvě','čer',
+               'čvc','srp','zář','říj','lis','pro'],
+               dayNames: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'],
+               dayNamesShort: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],
+               dayNamesMin: ['ne','po','út','st','čt','pá','so'],
+               weekHeader: 'Týd',
+               dateFormat: 'dd.mm.yy',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['cs']);
+
+       return datepicker.regional['cs'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-de_DE.js b/js/i18n/datepicker/datepicker-de_DE.js
new file mode 100644 (file)
index 0000000..38e95c8
--- /dev/null
@@ -0,0 +1,36 @@
+/* German initialisation for the jQuery UI date picker plugin. */
+/* Written by Milian Wolff (mail@milianw.de). */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['de'] = {
+               closeText: 'Schließen',
+               prevText: '&#x3C;Zurück',
+               nextText: 'Vor&#x3E;',
+               currentText: 'Heute',
+               monthNames: ['Januar','Februar','März','April','Mai','Juni',
+               'Juli','August','September','Oktober','November','Dezember'],
+               monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
+               'Jul','Aug','Sep','Okt','Nov','Dez'],
+               dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
+               dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
+               dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
+               weekHeader: 'KW',
+               dateFormat: 'dd.mm.yy',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['de']);
+
+       return datepicker.regional['de'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-el_GR.js b/js/i18n/datepicker/datepicker-el_GR.js
new file mode 100644 (file)
index 0000000..0cfd338
--- /dev/null
@@ -0,0 +1,36 @@
+/* Greek (el) initialisation for the jQuery UI date picker plugin. */
+/* Written by Alex Cicovic (http://www.alexcicovic.com) */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['el'] = {
+               closeText: 'Κλείσιμο',
+               prevText: 'Προηγούμενος',
+               nextText: 'Επόμενος',
+               currentText: 'Τρέχων Μήνας',
+               monthNames: ['Ιανουάριος','Φεβρουάριος','Μάρτιος','Απρίλιος','Μάιος','Ιούνιος',
+               'Ιούλιος','Αύγουστος','Σεπτέμβριος','Οκτώβριος','Νοέμβριος','Δεκέμβριος'],
+               monthNamesShort: ['Ιαν','Φεβ','Μαρ','Απρ','Μαι','Ιουν',
+               'Ιουλ','Αυγ','Σεπ','Οκτ','Νοε','Δεκ'],
+               dayNames: ['Κυριακή','Δευτέρα','Τρίτη','Τετάρτη','Πέμπτη','Παρασκευή','Σάββατο'],
+               dayNamesShort: ['Κυρ','Δευ','Τρι','Τετ','Πεμ','Παρ','Σαβ'],
+               dayNamesMin: ['Κυ','Δε','Τρ','Τε','Πε','Πα','Σα'],
+               weekHeader: 'Εβδ',
+               dateFormat: 'dd/mm/yy',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['el']);
+
+       return datepicker.regional['el'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-en_AU.js b/js/i18n/datepicker/datepicker-en_AU.js
new file mode 100644 (file)
index 0000000..dcf1d0a
--- /dev/null
@@ -0,0 +1,36 @@
+/* English/Australia initialisation for the jQuery UI date picker plugin. */
+/* Based on the en-GB initialisation. */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['en-AU'] = {
+               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'],
+               weekHeader: 'Wk',
+               dateFormat: 'dd/mm/yy',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['en-AU']);
+
+       return datepicker.regional['en-AU'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-en_GB.js b/js/i18n/datepicker/datepicker-en_GB.js
new file mode 100644 (file)
index 0000000..8ec0dc1
--- /dev/null
@@ -0,0 +1,36 @@
+/* English/UK initialisation for the jQuery UI date picker plugin. */
+/* Written by Stuart. */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['en-GB'] = {
+               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'],
+               weekHeader: 'Wk',
+               dateFormat: 'dd/mm/yy',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['en-GB']);
+
+       return datepicker.regional['en-GB'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-en_US.js b/js/i18n/datepicker/datepicker-en_US.js
new file mode 100644 (file)
index 0000000..5e600ae
--- /dev/null
@@ -0,0 +1,35 @@
+/* English initialisation for the jQuery UI date picker plugin. */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['en-US'] = {
+               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'],
+               weekHeader: 'Wk',
+               dateFormat: 'mm/dd/yy',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['en-US']);
+
+       return datepicker.regional['en-US'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-es_ES.js b/js/i18n/datepicker/datepicker-es_ES.js
new file mode 100644 (file)
index 0000000..6bd645b
--- /dev/null
@@ -0,0 +1,36 @@
+/* Inicialización en español para la extensión 'UI date picker' para jQuery. */
+/* Traducido por Vester (xvester@gmail.com). */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['es'] = {
+               closeText: 'Cerrar',
+               prevText: '&#x3C;Ant',
+               nextText: 'Sig&#x3E;',
+               currentText: 'Hoy',
+               monthNames: ['enero','febrero','marzo','abril','mayo','junio',
+               'julio','agosto','septiembre','octubre','noviembre','diciembre'],
+               monthNamesShort: ['ene','feb','mar','abr','may','jun',
+               'jul','ago','sep','oct','nov','dic'],
+               dayNames: ['domingo','lunes','martes','miércoles','jueves','viernes','sábado'],
+               dayNamesShort: ['dom','lun','mar','mié','jue','vie','sáb'],
+               dayNamesMin: ['D','L','M','X','J','V','S'],
+               weekHeader: 'Sm',
+               dateFormat: 'dd/mm/yy',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['es']);
+
+       return datepicker.regional['es'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-fr_FR.js b/js/i18n/datepicker/datepicker-fr_FR.js
new file mode 100644 (file)
index 0000000..be3704b
--- /dev/null
@@ -0,0 +1,38 @@
+/* French initialisation for the jQuery UI date picker plugin. */
+/* Written by Keith Wood (kbwood{at}iinet.com.au),
+                         Stéphane Nahmani (sholby@sholby.net),
+                         Stéphane Raimbault <stephane.raimbault@gmail.com> */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['fr'] = {
+               closeText: 'Fermer',
+               prevText: 'Précédent',
+               nextText: 'Suivant',
+               currentText: 'Aujourd\'hui',
+               monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',
+                       'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
+               monthNamesShort: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin',
+                       'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
+               dayNames: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],
+               dayNamesShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],
+               dayNamesMin: ['D','L','M','M','J','V','S'],
+               weekHeader: 'Sem.',
+               dateFormat: 'dd/mm/yy',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['fr']);
+
+       return datepicker.regional['fr'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-he_IL.js b/js/i18n/datepicker/datepicker-he_IL.js
new file mode 100644 (file)
index 0000000..148f370
--- /dev/null
@@ -0,0 +1,36 @@
+/* Hebrew initialisation for the UI Datepicker extension. */
+/* Written by Amir Hardon (ahardon at gmail dot com). */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['he'] = {
+               closeText: 'סגור',
+               prevText: '&#x3C;הקודם',
+               nextText: 'הבא&#x3E;',
+               currentText: 'היום',
+               monthNames: ['ינואר','פברואר','מרץ','אפריל','מאי','יוני',
+               'יולי','אוגוסט','ספטמבר','אוקטובר','נובמבר','דצמבר'],
+               monthNamesShort: ['ינו','פבר','מרץ','אפר','מאי','יוני',
+               'יולי','אוג','ספט','אוק','נוב','דצמ'],
+               dayNames: ['ראשון','שני','שלישי','רביעי','חמישי','שישי','שבת'],
+               dayNamesShort: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
+               dayNamesMin: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
+               weekHeader: 'Wk',
+               dateFormat: 'dd/mm/yy',
+               firstDay: 0,
+               isRTL: true,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['he']);
+
+       return datepicker.regional['he'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-hu_HU.js b/js/i18n/datepicker/datepicker-hu_HU.js
new file mode 100644 (file)
index 0000000..9f95f53
--- /dev/null
@@ -0,0 +1,36 @@
+/* Hungarian initialisation for the jQuery UI date picker plugin. */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "query.ui.datepicker"
+               ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['hu'] = {
+               closeText: 'bezár',
+               prevText: 'vissza',
+               nextText: 'előre',
+               currentText: 'ma',
+               monthNames: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június',
+               'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
+               monthNamesShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún',
+               'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'],
+               dayNames: ['Vasárnap', 'Hétfő', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
+               dayNamesShort: ['Vas', 'Hét', 'Ked', 'Sze', 'Csü', 'Pén', 'Szo'],
+               dayNamesMin: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],
+               weekHeader: 'Hét',
+               dateFormat: 'yy.mm.dd.',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: true,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['hu']);
+
+       return datepicker.regional['hu'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-id_ID.js b/js/i18n/datepicker/datepicker-id_ID.js
new file mode 100644 (file)
index 0000000..a723bbc
--- /dev/null
@@ -0,0 +1,36 @@
+/* Indonesian initialisation for the jQuery UI date picker plugin. */
+/* Written by Deden Fathurahman (dedenf@gmail.com). */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['id'] = {
+               closeText: 'Tutup',
+               prevText: '&#x3C;mundur',
+               nextText: 'maju&#x3E;',
+               currentText: 'hari ini',
+               monthNames: ['Januari','Februari','Maret','April','Mei','Juni',
+               'Juli','Agustus','September','Oktober','Nopember','Desember'],
+               monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun',
+               'Jul','Agus','Sep','Okt','Nop','Des'],
+               dayNames: ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu'],
+               dayNamesShort: ['Min','Sen','Sel','Rab','kam','Jum','Sab'],
+               dayNamesMin: ['Mg','Sn','Sl','Rb','Km','jm','Sb'],
+               weekHeader: 'Mg',
+               dateFormat: 'dd/mm/yy',
+               firstDay: 0,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['id']);
+
+       return datepicker.regional['id'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-it_IT.js b/js/i18n/datepicker/datepicker-it_IT.js
new file mode 100644 (file)
index 0000000..0ac630c
--- /dev/null
@@ -0,0 +1,36 @@
+/* Italian initialisation for the jQuery UI date picker plugin. */
+/* Written by Antonello Pasella (antonello.pasella@gmail.com). */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['it'] = {
+               closeText: 'Chiudi',
+               prevText: '&#x3C;Prec',
+               nextText: 'Succ&#x3E;',
+               currentText: 'Oggi',
+               monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno',
+                       'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],
+               monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu',
+                       'Lug','Ago','Set','Ott','Nov','Dic'],
+               dayNames: ['Domenica','Lunedì','Martedì','Mercoledì','Giovedì','Venerdì','Sabato'],
+               dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'],
+               dayNamesMin: ['Do','Lu','Ma','Me','Gi','Ve','Sa'],
+               weekHeader: 'Sm',
+               dateFormat: 'dd/mm/yy',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['it']);
+
+       return datepicker.regional['it'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-ja_JP.js b/js/i18n/datepicker/datepicker-ja_JP.js
new file mode 100644 (file)
index 0000000..49ce017
--- /dev/null
@@ -0,0 +1,36 @@
+/* Japanese initialisation for the jQuery UI date picker plugin. */
+/* Written by Kentaro SATO (kentaro@ranvis.com). */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['ja'] = {
+               closeText: '閉じる',
+               prevText: '&#x3C;前',
+               nextText: '次&#x3E;',
+               currentText: '今日',
+               monthNames: ['1月','2月','3月','4月','5月','6月',
+               '7月','8月','9月','10月','11月','12月'],
+               monthNamesShort: ['1月','2月','3月','4月','5月','6月',
+               '7月','8月','9月','10月','11月','12月'],
+               dayNames: ['日曜日','月曜日','火曜日','水曜日','木曜日','金曜日','土曜日'],
+               dayNamesShort: ['日','月','火','水','木','金','土'],
+               dayNamesMin: ['日','月','火','水','木','金','土'],
+               weekHeader: '週',
+               dateFormat: 'yy/mm/dd',
+               firstDay: 0,
+               isRTL: false,
+               showMonthAfterYear: true,
+               yearSuffix: '年'};
+       datepicker.setDefaults(datepicker.regional['ja']);
+
+       return datepicker.regional['ja'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-ko_KR.js b/js/i18n/datepicker/datepicker-ko_KR.js
new file mode 100644 (file)
index 0000000..5981bc7
--- /dev/null
@@ -0,0 +1,36 @@
+/* Korean initialisation for the jQuery calendar extension. */
+/* Written by DaeKwon Kang (ncrash.dk@gmail.com), Edited by Genie. */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['ko'] = {
+               closeText: '닫기',
+               prevText: '이전달',
+               nextText: '다음달',
+               currentText: '오늘',
+               monthNames: ['1월','2월','3월','4월','5월','6월',
+               '7월','8월','9월','10월','11월','12월'],
+               monthNamesShort: ['1월','2월','3월','4월','5월','6월',
+               '7월','8월','9월','10월','11월','12월'],
+               dayNames: ['일요일','월요일','화요일','수요일','목요일','금요일','토요일'],
+               dayNamesShort: ['일','월','화','수','목','금','토'],
+               dayNamesMin: ['일','월','화','수','목','금','토'],
+               weekHeader: 'Wk',
+               dateFormat: 'yy-mm-dd',
+               firstDay: 0,
+               isRTL: false,
+               showMonthAfterYear: true,
+               yearSuffix: '년'};
+       datepicker.setDefaults(datepicker.regional['ko']);
+
+       return datepicker.regional['ko'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-nl_NL.js b/js/i18n/datepicker/datepicker-nl_NL.js
new file mode 100644 (file)
index 0000000..33abc0b
--- /dev/null
@@ -0,0 +1,36 @@
+/* Dutch (UTF-8) initialisation for the jQuery UI date picker plugin. */
+/* Written by Mathias Bynens <http://mathiasbynens.be/> */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional.nl = {
+               closeText: 'Sluiten',
+               prevText: '←',
+               nextText: '→',
+               currentText: 'Vandaag',
+               monthNames: ['januari', 'februari', 'maart', 'april', 'mei', 'juni',
+               'juli', 'augustus', 'september', 'oktober', 'november', 'december'],
+               monthNamesShort: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun',
+               'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
+               dayNames: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
+               dayNamesShort: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'],
+               dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
+               weekHeader: 'Wk',
+               dateFormat: 'dd-mm-yy',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional.nl);
+
+       return datepicker.regional.nl;
+
+}));
diff --git a/js/i18n/datepicker/datepicker-pl_PL.js b/js/i18n/datepicker/datepicker-pl_PL.js
new file mode 100644 (file)
index 0000000..2dd3167
--- /dev/null
@@ -0,0 +1,36 @@
+/* Polish initialisation for the jQuery UI date picker plugin. */
+/* Written by Jacek Wysocki (jacek.wysocki@gmail.com). */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['pl'] = {
+               closeText: 'Zamknij',
+               prevText: '&#x3C;Poprzedni',
+               nextText: 'Następny&#x3E;',
+               currentText: 'Dziś',
+               monthNames: ['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec',
+               'Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'],
+               monthNamesShort: ['Sty','Lu','Mar','Kw','Maj','Cze',
+               'Lip','Sie','Wrz','Pa','Lis','Gru'],
+               dayNames: ['Niedziela','Poniedziałek','Wtorek','Środa','Czwartek','Piątek','Sobota'],
+               dayNamesShort: ['Nie','Pn','Wt','Śr','Czw','Pt','So'],
+               dayNamesMin: ['N','Pn','Wt','Śr','Cz','Pt','So'],
+               weekHeader: 'Tydz',
+               dateFormat: 'dd.mm.yy',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['pl']);
+
+       return datepicker.regional['pl'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-pt_BR.js b/js/i18n/datepicker/datepicker-pt_BR.js
new file mode 100644 (file)
index 0000000..5b85618
--- /dev/null
@@ -0,0 +1,36 @@
+/* Brazilian initialisation for the jQuery UI date picker plugin. */
+/* Written by Leonildo Costa Silva (leocsilva@gmail.com). */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['pt-BR'] = {
+               closeText: 'Fechar',
+               prevText: '&#x3C;Anterior',
+               nextText: 'Próximo&#x3E;',
+               currentText: 'Hoje',
+               monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho',
+               'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
+               monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun',
+               'Jul','Ago','Set','Out','Nov','Dez'],
+               dayNames: ['Domingo','Segunda-feira','Terça-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sábado'],
+               dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb'],
+               dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb'],
+               weekHeader: 'Sm',
+               dateFormat: 'dd/mm/yy',
+               firstDay: 0,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['pt-BR']);
+
+       return datepicker.regional['pt-BR'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-pt_PT.js b/js/i18n/datepicker/datepicker-pt_PT.js
new file mode 100644 (file)
index 0000000..77f4bf5
--- /dev/null
@@ -0,0 +1,35 @@
+/* Portuguese initialisation for the jQuery UI date picker plugin. */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['pt'] = {
+               closeText: 'Fechar',
+               prevText: 'Anterior',
+               nextText: 'Seguinte',
+               currentText: 'Hoje',
+               monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho',
+               'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
+               monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun',
+               'Jul','Ago','Set','Out','Nov','Dez'],
+               dayNames: ['Domingo','Segunda-feira','Terça-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sábado'],
+               dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb'],
+               dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb'],
+               weekHeader: 'Sem',
+               dateFormat: 'dd/mm/yy',
+               firstDay: 0,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['pt']);
+
+       return datepicker.regional['pt'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-ro_RO.js b/js/i18n/datepicker/datepicker-ro_RO.js
new file mode 100644 (file)
index 0000000..7ff4dfd
--- /dev/null
@@ -0,0 +1,39 @@
+/* Romanian initialisation for the jQuery UI date picker plugin.
+ *
+ * Written by Edmond L. (ll_edmond@walla.com)
+ * and Ionut G. Stan (ionut.g.stan@gmail.com)
+ */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['ro'] = {
+               closeText: 'Închide',
+               prevText: '&#xAB; Luna precedentă',
+               nextText: 'Luna următoare &#xBB;',
+               currentText: 'Azi',
+               monthNames: ['Ianuarie','Februarie','Martie','Aprilie','Mai','Iunie',
+               'Iulie','August','Septembrie','Octombrie','Noiembrie','Decembrie'],
+               monthNamesShort: ['Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Iun',
+               'Iul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
+               dayNames: ['Duminică', 'Luni', 'Marţi', 'Miercuri', 'Joi', 'Vineri', 'Sâmbătă'],
+               dayNamesShort: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sâm'],
+               dayNamesMin: ['Du','Lu','Ma','Mi','Jo','Vi','Sâ'],
+               weekHeader: 'Săpt',
+               dateFormat: 'dd.mm.yy',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['ro']);
+
+       return datepicker.regional['ro'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-ru_RU.js b/js/i18n/datepicker/datepicker-ru_RU.js
new file mode 100644 (file)
index 0000000..568d42e
--- /dev/null
@@ -0,0 +1,36 @@
+/* Russian (UTF-8) initialisation for the jQuery UI date picker plugin. */
+/* Written by Andrew Stromnov (stromnov@gmail.com). */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['ru'] = {
+               closeText: 'Закрыть',
+               prevText: '&#x3C;Пред',
+               nextText: 'След&#x3E;',
+               currentText: 'Сегодня',
+               monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь',
+               'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
+               monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн',
+               'Июл','Авг','Сен','Окт','Ноя','Дек'],
+               dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
+               dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
+               dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
+               weekHeader: 'Нед',
+               dateFormat: 'dd.mm.yy',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['ru']);
+
+       return datepicker.regional['ru'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-sv_SE.js b/js/i18n/datepicker/datepicker-sv_SE.js
new file mode 100644 (file)
index 0000000..caca1a0
--- /dev/null
@@ -0,0 +1,36 @@
+/* Swedish initialisation for the jQuery UI date picker plugin. */
+/* Written by Anders Ekdahl ( anders@nomadiz.se). */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['sv'] = {
+               closeText: 'Stäng',
+               prevText: '&#xAB;Förra',
+               nextText: 'Nästa&#xBB;',
+               currentText: 'Idag',
+               monthNames: ['Januari','Februari','Mars','April','Maj','Juni',
+               'Juli','Augusti','September','Oktober','November','December'],
+               monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
+               'Jul','Aug','Sep','Okt','Nov','Dec'],
+               dayNamesShort: ['Sön','Mån','Tis','Ons','Tor','Fre','Lör'],
+               dayNames: ['Söndag','Måndag','Tisdag','Onsdag','Torsdag','Fredag','Lördag'],
+               dayNamesMin: ['Sö','Må','Ti','On','To','Fr','Lö'],
+               weekHeader: 'Ve',
+               dateFormat: 'yy-mm-dd',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['sv']);
+
+       return datepicker.regional['sv'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-tr_TR.js b/js/i18n/datepicker/datepicker-tr_TR.js
new file mode 100644 (file)
index 0000000..edbc345
--- /dev/null
@@ -0,0 +1,36 @@
+/* Turkish initialisation for the jQuery UI date picker plugin. */
+/* Written by Izzet Emre Erkan (kara@karalamalar.net). */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['tr'] = {
+               closeText: 'kapat',
+               prevText: '&#x3C;geri',
+               nextText: 'ileri&#x3e',
+               currentText: 'bugün',
+               monthNames: ['Ocak','Şubat','Mart','Nisan','Mayıs','Haziran',
+               'Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'],
+               monthNamesShort: ['Oca','Şub','Mar','Nis','May','Haz',
+               'Tem','Ağu','Eyl','Eki','Kas','Ara'],
+               dayNames: ['Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi'],
+               dayNamesShort: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'],
+               dayNamesMin: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'],
+               weekHeader: 'Hf',
+               dateFormat: 'dd.mm.yy',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: false,
+               yearSuffix: ''};
+       datepicker.setDefaults(datepicker.regional['tr']);
+
+       return datepicker.regional['tr'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-zh_CN.js b/js/i18n/datepicker/datepicker-zh_CN.js
new file mode 100644 (file)
index 0000000..16f4099
--- /dev/null
@@ -0,0 +1,36 @@
+/* Chinese initialisation for the jQuery UI date picker plugin. */
+/* Written by Cloudream (cloudream@gmail.com). */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['zh-CN'] = {
+               closeText: '关闭',
+               prevText: '&#x3C;上月',
+               nextText: '下月&#x3E;',
+               currentText: '今天',
+               monthNames: ['一月','二月','三月','四月','五月','六月',
+               '七月','八月','九月','十月','十一月','十二月'],
+               monthNamesShort: ['一月','二月','三月','四月','五月','六月',
+               '七月','八月','九月','十月','十一月','十二月'],
+               dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
+               dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
+               dayNamesMin: ['日','一','二','三','四','五','六'],
+               weekHeader: '周',
+               dateFormat: 'yy-mm-dd',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: true,
+               yearSuffix: '年'};
+       datepicker.setDefaults(datepicker.regional['zh-CN']);
+
+       return datepicker.regional['zh-CN'];
+
+}));
diff --git a/js/i18n/datepicker/datepicker-zh_TW.js b/js/i18n/datepicker/datepicker-zh_TW.js
new file mode 100644 (file)
index 0000000..1435481
--- /dev/null
@@ -0,0 +1,36 @@
+/* Chinese initialisation for the jQuery UI date picker plugin. */
+/* Written by Ressol (ressol@gmail.com). */
+(function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define([ "../datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}(function( datepicker ) {
+       datepicker.regional['zh-TW'] = {
+               closeText: '關閉',
+               prevText: '&#x3C;上月',
+               nextText: '下月&#x3E;',
+               currentText: '今天',
+               monthNames: ['一月','二月','三月','四月','五月','六月',
+               '七月','八月','九月','十月','十一月','十二月'],
+               monthNamesShort: ['一月','二月','三月','四月','五月','六月',
+               '七月','八月','九月','十月','十一月','十二月'],
+               dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
+               dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
+               dayNamesMin: ['日','一','二','三','四','五','六'],
+               weekHeader: '周',
+               dateFormat: 'yy/mm/dd',
+               firstDay: 1,
+               isRTL: false,
+               showMonthAfterYear: true,
+               yearSuffix: '年'};
+       datepicker.setDefaults(datepicker.regional['zh-TW']);
+
+       return datepicker.regional['zh-TW'];
+
+}));
diff --git a/js/i18n/validate/messages-cs_CS.js b/js/i18n/validate/messages-cs_CS.js
new file mode 100644 (file)
index 0000000..03002b2
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: CS (Czech; čeština, český jazyk)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Tento údaj je povinný.",
+               remote: "Prosím, opravte tento údaj.",
+               email: "Prosím, zadejte platný e-mail.",
+               url: "Prosím, zadejte platné URL.",
+               date: "Prosím, zadejte platné datum.",
+               dateISO: "Prosím, zadejte platné datum (ISO).",
+               number: "Prosím, zadejte číslo.",
+               digits: "Prosím, zadávejte pouze číslice.",
+               creditcard: "Prosím, zadejte číslo kreditní karty.",
+               equalTo: "Prosím, zadejte znovu stejnou hodnotu.",
+               accept: "Prosím, zadejte soubor se správnou příponou.",
+               maxlength: $.validator.format("Prosím, zadejte nejvíce {0} znaků."),
+               minlength: $.validator.format("Prosím, zadejte nejméně {0} znaků."),
+               rangelength: $.validator.format("Prosím, zadejte od {0} do {1} znaků."),
+               range: $.validator.format("Prosím, zadejte hodnotu od {0} do {1}."),
+               max: $.validator.format("Prosím, zadejte hodnotu menší nebo rovnu {0}."),
+               min: $.validator.format("Prosím, zadejte hodnotu větší nebo rovnu {0}."),
+               maxWords: $.validator.format("Prosím, zadejte {0} slova nebo méně."),
+               minWords: $.validator.format("Prosím, zadejte alespoň {0} slov."),
+               rangeWords: $.validator.format("Prosím zadejte mezi {0} a {1} slovy."),
+               alphanumeric: "Písmena, číslice a podtržítka jen prosím",
+               lettersonly: "Dopisy jen prosím",
+               nowhitespace: "Žádné mezery, prosím",
+               phone: 'Prosím, zadejte platné telefonní číslo. Většina USA / Kanada a mezinárodní formáty přijaty.',
+               ipv4: 'Prosím, zadejte platnou IP v4 adresu.',
+               ipv6: 'Prosím, zadejte platnou IP v6 adresu.',
+               ziprange: 'Váš ZIP kód musí v rozsahu 902xx-xxxx na 905-xx-xxxx',
+               zipcodeUS: 'Zadaná US PSČ je neplatné',
+               integer: 'Pozitivní nebo negativní, non-desetinné číslo, prosím',
+               swpmUsername: 'Toto uživatelské jméno je již registrováno. Prosím, zvolte jinou'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-de_DE.js b/js/i18n/validate/messages-de_DE.js
new file mode 100644 (file)
index 0000000..5e1c2fc
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: DE (German, Deutsch)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Dieses Feld ist ein Pflichtfeld.",
+               remote: "Bitte korrigieren Sie dieses Feld.",
+               email: "Geben Sie bitte eine gültige E-Mail Adresse ein.",
+               url: "Geben Sie bitte eine gültige URL ein.",
+               date: "Bitte geben Sie ein gültiges Datum ein.",
+               dateISO: "Bitte geben Sie ein gültiges Datum ein (ISO).",
+               number: "Geben Sie bitte eine Nummer ein.",
+               digits: "Geben Sie bitte nur Ziffern ein.",
+               creditcard: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein.",
+               equalTo: "Bitte denselben Wert wiederholen.",
+               accept: "Bitte geben Sie einen Wert mit einer gültigen Erweiterung.",
+               maxlength: $.validator.format("Geben Sie bitte maximal {0} Zeichen ein."),
+               minlength: $.validator.format("Geben Sie bitte mindestens {0} Zeichen ein."),
+               rangelength: $.validator.format("Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein."),
+               range: $.validator.format("Geben Sie bitte einen Wert zwischen {0} und {1} ein."),
+               max: $.validator.format("Geben Sie bitte einen Wert kleiner oder gleich {0} ein."),
+               min: $.validator.format("Geben Sie bitte einen Wert größer oder gleich {0} ein."),
+               maxWords: $.validator.format("Geben Sie bitte {0} Wörter oder weniger."),
+               minWords: $.validator.format("Geben Sie bitte mindestens {0} Worte."),
+               rangeWords: $.validator.format("Geben Sie bitte zwischen {0} und {1} Wörter eingeben."),
+               alphanumeric: "Buchstaben, Zahlen und Unterstrichen bitte",
+               lettersonly: "Nur Buchstaben bitte",
+               nowhitespace: "Kein Leerzeichen bitte",
+               phone: 'Bitte geben Sie eine gültige Telefonnummer. Die meisten US / Canada und internationale Formate akzeptiert.',
+               ipv4: 'Bitte geben Sie eine gültige IP v4 Adresse.',
+               ipv6: 'Bitte geben Sie eine gültige IP-v6-Adresse.',
+               ziprange: 'Ihre ZIP-Code muss im Bereich 902xx-xxxx bis 905-xx-xxxx sein',
+               zipcodeUS: 'Die angegebene US-Postleitzahl ist ungültig',
+               integer: 'Eine positive oder negative Nicht-Dezimalzahl bitte',
+               swpmUsername: 'Dieser Benutzername ist bereits registriert. Bitte wählen Sie einen anderen'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-el_GR.js b/js/i18n/validate/messages-el_GR.js
new file mode 100644 (file)
index 0000000..25236ef
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: EL (Greek; ελληνικά)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Αυτό το πεδίο είναι υποχρεωτικό.",
+               remote: "Παρακαλώ διορθώστε αυτό το πεδίο.",
+               email: "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email.",
+               url: "Παρακαλώ εισάγετε ένα έγκυρο URL.",
+               date: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία.",
+               dateISO: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία (ISO).",
+               number: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό.",
+               digits: "Παρακαλώ εισάγετε μόνο αριθμητικά ψηφία.",
+               creditcard: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό πιστωτικής κάρτας.",
+               equalTo: "Παρακαλώ εισάγετε την ίδια τιμή ξανά.",
+               accept: "Παρακαλώ εισάγετε μια τιμή με έγκυρη επέκταση αρχείου.",
+               maxlength: $.validator.format("Παρακαλώ εισάγετε μέχρι και {0} χαρακτήρες."),
+               minlength: $.validator.format("Παρακαλώ εισάγετε τουλάχιστον {0} χαρακτήρες."),
+               rangelength: $.validator.format("Παρακαλώ εισάγετε μια τιμή με μήκος μεταξύ {0} και {1} χαρακτήρων."),
+               range: $.validator.format("Παρακαλώ εισάγετε μια τιμή μεταξύ {0} και {1}."),
+               max: $.validator.format("Παρακαλώ εισάγετε μια τιμή μικρότερη ή ίση του {0}."),
+               min: $.validator.format("Παρακαλώ εισάγετε μια τιμή μεγαλύτερη ή ίση του {0}."),
+               maxWords: $.validator.format("Παρακαλούμε, εισάγετε {0} λέξεις ή λιγότερο."),
+               minWords: $.validator.format("Παρακαλούμε, εισάγετε τουλάχιστον {0} λόγια."),
+               rangeWords: $.validator.format("Παρακαλούμε, εισάγετε μεταξύ {0} και {1} λόγια."),
+               alphanumeric: "Γράμματα, αριθμούς και χαρακτήρες υπογράμμισης μόνο παρακαλώ",
+               lettersonly: "Επιστολές μόνο παρακαλώ",
+               nowhitespace: "Δεν λευκό χώρο, παρακαλείστε να",
+               phone: 'Παρακαλώ εισάγετε έναν έγκυρο αριθμό τηλεφώνου. Οι περισσότερες μορφές των ΗΠΑ / Καναδά και διεθνή αποδεκτά.',
+               ipv4: 'Παρακαλώ εισάγετε μια έγκυρη διεύθυνση IP v4.',
+               ipv6: 'Παρακαλώ εισάγετε μια έγκυρη διεύθυνση IP v6.',
+               ziprange: 'Ο ταχυδρομικός σας κωδικός πρέπει να είναι στο εύρος 902xx-xxxx 905-xx-xxxx',
+               zipcodeUS: 'Η συγκεκριμένη ΗΠΑ ταχυδρομικός κώδικας δεν είναι έγκυρος',
+               integer: 'Μια θετική ή αρνητική μη δεκαδικό αριθμό παρακαλώ',
+               swpmUsername: 'Αυτό το όνομα χρήστη είναι ήδη καταχωρημένο. Παρακαλώ επιλέξτε ένα άλλο'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-en_AU.js b/js/i18n/validate/messages-en_AU.js
new file mode 100644 (file)
index 0000000..9752f35
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: EN (English)
+ * Region: AU (Austrailian)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: 'This field is required.',
+               remote: 'Please fix this field.',
+               email: 'Please enter a valid email address.',
+               url: 'Please enter a valid URL.',
+               date: 'Please enter a valid date.',
+               dateISO: 'Please enter a valid date (ISO).',
+               number: 'Please enter a valid number.',
+               digits: 'Please enter only digits.',
+               creditcard: 'Please enter a valid credit card number.',
+               equalTo: 'Please enter the same value again.',
+               maxlength: $.validator.format( 'Please enter no more than {0} characters.' ),
+               minlength: $.validator.format( 'Please enter at least {0} characters.' ),
+               rangelength: $.validator.format( 'Please enter a value between {0} and {1} characters long.' ),
+               range: $.validator.format( 'Please enter a value between {0} and {1}.' ),
+               max: $.validator.format( 'Please enter a value less than or equal to {0}.' ),
+               min: $.validator.format( 'Please enter a value greater than or equal to {0}.' ),
+               maxWords: $.validator.format( 'Please enter {0} words or less.' ),
+               minWords: $.validator.format( 'Please enter at least {0} words.' ),
+               rangeWords: $.validator.format( 'Please enter between {0} and {1} words.' ),
+               alphanumeric: 'Letters, numbers, and underscores only please',
+               lettersonly: 'Letters only please',
+               nowhitespace: 'No white space please',
+               phone: 'Please enter a valid phone number. Most US/Canada and International formats accepted.',
+               ipv4: 'Please enter a valid IP v4 address.',
+               ipv6: 'Please enter a valid IP v6 address.',
+               ziprange: 'Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx',
+               zipcodeUS: 'The specified US ZIP Code is invalid',
+               integer: 'A positive or negative non-decimal number please',
+               swpmUsername: 'This username is already registered. Please choose another one.'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-en_GB.js b/js/i18n/validate/messages-en_GB.js
new file mode 100644 (file)
index 0000000..c129812
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: EN (English)
+ * Region: GB (Great Britain)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: 'This field is required.',
+               remote: 'Please fix this field.',
+               email: 'Please enter a valid email address.',
+               url: 'Please enter a valid URL.',
+               date: 'Please enter a valid date.',
+               dateISO: 'Please enter a valid date (ISO).',
+               number: 'Please enter a valid number.',
+               digits: 'Please enter only digits.',
+               creditcard: 'Please enter a valid credit card number.',
+               equalTo: 'Please enter the same value again.',
+               maxlength: $.validator.format( 'Please enter no more than {0} characters.' ),
+               minlength: $.validator.format( 'Please enter at least {0} characters.' ),
+               rangelength: $.validator.format( 'Please enter a value between {0} and {1} characters long.' ),
+               range: $.validator.format( 'Please enter a value between {0} and {1}.' ),
+               max: $.validator.format( 'Please enter a value less than or equal to {0}.' ),
+               min: $.validator.format( 'Please enter a value greater than or equal to {0}.' ),
+               maxWords: $.validator.format( 'Please enter {0} words or less.' ),
+               minWords: $.validator.format( 'Please enter at least {0} words.' ),
+               rangeWords: $.validator.format( 'Please enter between {0} and {1} words.' ),
+               alphanumeric: 'Letters, numbers, and underscores only please',
+               lettersonly: 'Letters only please',
+               nowhitespace: 'No white space please',
+               phone: 'Please enter a valid phone number. Most US/Canada and International formats accepted.',
+               ipv4: 'Please enter a valid IP v4 address.',
+               ipv6: 'Please enter a valid IP v6 address.',
+               ziprange: 'Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx',
+               zipcodeUS: 'The specified US ZIP Code is invalid',
+               integer: 'A positive or negative non-decimal number please',
+               swpmUsername: 'This username is already registered. Please choose another one.'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-en_US.js b/js/i18n/validate/messages-en_US.js
new file mode 100644 (file)
index 0000000..9f672e4
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: EN (English)
+ * Region: US (United States)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: 'This field is required.',
+               remote: 'Please fix this field.',
+               email: 'Please enter a valid email address.',
+               url: 'Please enter a valid URL.',
+               date: 'Please enter a valid date.',
+               dateISO: 'Please enter a valid date (ISO).',
+               number: 'Please enter a valid number.',
+               digits: 'Please enter only digits.',
+               creditcard: 'Please enter a valid credit card number.',
+               equalTo: 'Please enter the same value again.',
+               maxlength: $.validator.format( 'Please enter no more than {0} characters.' ),
+               minlength: $.validator.format( 'Please enter at least {0} characters.' ),
+               rangelength: $.validator.format( 'Please enter a value between {0} and {1} characters long.' ),
+               range: $.validator.format( 'Please enter a value between {0} and {1}.' ),
+               max: $.validator.format( 'Please enter a value less than or equal to {0}.' ),
+               min: $.validator.format( 'Please enter a value greater than or equal to {0}.' ),
+               maxWords: $.validator.format( 'Please enter {0} words or less.' ),
+               minWords: $.validator.format( 'Please enter at least {0} words.' ),
+               rangeWords: $.validator.format( 'Please enter between {0} and {1} words.' ),
+               alphanumeric: 'Letters, numbers, and underscores only please',
+               lettersonly: 'Letters only please',
+               nowhitespace: 'No white space please',
+               phone: 'Please enter a valid phone number. Most US/Canada and International formats accepted.',
+               ipv4: 'Please enter a valid IP v4 address.',
+               ipv6: 'Please enter a valid IP v6 address.',
+               ziprange: 'Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx',
+               zipcodeUS: 'The specified US ZIP Code is invalid',
+               integer: 'A positive or negative non-decimal number please',
+               swpmUsername: 'This username is already registered. Please choose another one.'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-es_ES.js b/js/i18n/validate/messages-es_ES.js
new file mode 100644 (file)
index 0000000..d24e864
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: ES (Spanish; Español)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Este campo es obligatorio.",
+               remote: "Por favor, rellena este campo.",
+               email: "Por favor, escribe una dirección de correo válida.",
+               url: "Por favor, escribe una URL válida.",
+               date: "Por favor, escribe una fecha válida.",
+               dateISO: "Por favor, escribe una fecha (ISO) válida.",
+               number: "Por favor, escribe un número entero válido.",
+               digits: "Por favor, escribe sólo dígitos.",
+               creditcard: "Por favor, escribe un número de tarjeta válido.",
+               equalTo: "Por favor, escribe el mismo valor de nuevo.",
+               accept: "Por favor, escribe un valor con una extensión aceptada.",
+               maxlength: $.validator.format("Por favor, no escribas más de {0} caracteres."),
+               minlength: $.validator.format("Por favor, no escribas menos de {0} caracteres."),
+               rangelength: $.validator.format("Por favor, escribe un valor entre {0} y {1} caracteres."),
+               range: $.validator.format("Por favor, escribe un valor entre {0} y {1}."),
+               max: $.validator.format("Por favor, escribe un valor menor o igual a {0}."),
+               min: $.validator.format("Por favor, escribe un valor mayor o igual a {0}."),
+               maxWords: $.validator.format("Por favor, introduzca {0} palabras o menos."),
+               minWords: $.validator.format("Por favor introduzca al menos {0} palabras."),
+               rangeWords: $.validator.format("Por favor introduce entre {0} y {1} palabras."),
+               alphanumeric: "Las letras, números y subrayados por favor",
+               lettersonly: "Cartas solamente por favor",
+               nowhitespace: "No hay espacio en blanco por favor",
+               phone: 'Por favor, introduzca un número de teléfono válido. La mayoría de los formatos de EE.UU. / Canadá e internacionales aceptados.',
+               ipv4: 'Por favor, introduce una dirección IP v4 válida.',
+               ipv6: 'Por favor, introduce una dirección IP v6 válida.',
+               ziprange: 'Su código postal debe estar en el rango 902xx-xxxx a 905-xx-xxxx',
+               zipcodeUS: 'Los EE.UU. Código postal especificado no es válido',
+               integer: 'Un número no decimal positivo o negativo por favor',
+               swpmUsername: 'Este nombre de usuario ya está registrado. Por favor elija otra'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-fr_FR.js b/js/i18n/validate/messages-fr_FR.js
new file mode 100644 (file)
index 0000000..8cd5efe
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: FR (French; français)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Ce champ est obligatoire.",
+               remote: "Veuillez corriger ce champ.",
+               email: "Veuillez fournir une adresse électronique valide.",
+               url: "Veuillez fournir une adresse URL valide.",
+               date: "Veuillez fournir une date valide.",
+               dateISO: "Veuillez fournir une date valide (ISO).",
+               number: "Veuillez fournir un numéro valide.",
+               digits: "Veuillez fournir seulement des chiffres.",
+               creditcard: "Veuillez fournir un numéro de carte de crédit valide.",
+               equalTo: "Veuillez fournir encore la même valeur.",
+               accept: "Veuillez fournir une valeur avec une extension valide.",
+               maxlength: $.validator.format("Veuillez fournir au plus {0} caractères."),
+               minlength: $.validator.format("Veuillez fournir au moins {0} caractères."),
+               rangelength: $.validator.format("Veuillez fournir une valeur qui contient entre {0} et {1} caractères."),
+               range: $.validator.format("Veuillez fournir une valeur entre {0} et {1}."),
+               max: $.validator.format("Veuillez fournir une valeur inférieur ou égal à {0}."),
+               min: $.validator.format("Veuillez fournir une valeur supérieur ou égal à {0}."),
+               maxWords: $.validator.format("Veuillez fournir au plus {0} mots."),
+               minWords: $.validator.format("Veuillez fournir au moins {0} mots."),
+               rangeWords: $.validator.format("Veuillez fournir entre {0} et {1} mots."),
+               alphanumeric: "Veuillez fournir seulement des lettres, nombres, espaces et soulignages.",
+               lettersonly: "Veuillez fournir seulement des lettres.",
+               nowhitespace: "Veuillez ne pas inscrire d'espaces blancs.",
+               phone: 'Veuillez fournir entrez un numéro de téléphone valide. La plupart des formats US / Canada et internationales acceptées.',
+               ipv4: "Veuillez fournir une adresse IP v4 valide.",
+               ipv6: "Veuillez fournir une adresse IP v6 valide.",
+               ziprange: "Veuillez fournir un code postal entre 902xx-xxxx et 905-xx-xxxx.",
+               zipcodeUS: "Les États-Unis Code postal spécifié n'est pas valide",
+               integer: "Veuillez fournir un nombre non décimal qui est positif ou négatif.",
+               swpmUsername: "Ce nom d'utilisateur est déjà enregistré. S'il vous plaît choisir un autre"
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-he_IL.js b/js/i18n/validate/messages-he_IL.js
new file mode 100644 (file)
index 0000000..535e8a2
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: HE (Hebrew; עברית)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "השדה הזה הינו שדה חובה",
+               remote: "נא לתקן שדה זה",
+               email: "נא למלא כתובת דוא\"ל חוקית",
+               url: "נא למלא כתובת אינטרנט חוקית",
+               date: "נא למלא תאריך חוקי",
+               dateISO: "נא למלא תאריך חוקי (ISO)",
+               number: "נא למלא מספר",
+               digits: "נא למלא רק מספרים",
+               creditcard: "נא למלא מספר כרטיס אשראי חוקי",
+               equalTo: "נא למלא את אותו ערך שוב",
+               accept: "נא למלא ערך עם סיומת חוקית",
+               maxlength: $.validator.format(".נא לא למלא יותר מ- {0} תווים"),
+               minlength: $.validator.format("נא למלא לפחות {0} תווים"),
+               rangelength: $.validator.format("נא למלא ערך בין {0} ל- {1} תווים"),
+               range: $.validator.format("נא למלא ערך בין {0} ל- {1}"),
+               max: $.validator.format("נא למלא ערך קטן או שווה ל- {0}"),
+               min: $.validator.format("נא למלא ערך גדול או שווה ל- {0}"),
+               maxWords: $.validator.format("נא להזין את {0} מילות או פחות."),
+               minWords: $.validator.format("נא להזין לפחות מילות {0}. "),
+               rangeWords: $.validator.format("נא להזין בין {0} ו {1} מילות. "),
+               alphanumeric: "אותיות, מספרים, ומדגיש רק בבקשה ",
+               lettersonly: "רק אותיות בבקשה ",
+               nowhitespace: "אין חלל לבן בבקשה",
+               phone: 'נא להזין מספר טלפון חוקי. רוב פורמטי ארה"ב / קנדה והבינלאומית מקובלים. ',
+               ipv4: 'נא להזין את כתובת ה-IP v4 בתוקף. ',
+               ipv6: 'נא להזין את כתובת ה-IP v6 בתוקף. ',
+               ziprange: 'מיקוד שלך חייב להיות ב902xx-XXXX טווח ל905-XX-XXXX ',
+               zipcodeUS: 'המיקוד בארה"ב שצוין אינו חוקי ',
+               integer: 'מספר שאינו עשרוני חיובי או שלילי בבקשה ',
+               swpmUsername: 'שם משתמש זה כבר רשום. אנא בחר אחד אחר'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-hu_HU.js b/js/i18n/validate/messages-hu_HU.js
new file mode 100644 (file)
index 0000000..3d1fe65
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: HU (Hungarian; Magyar)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Kötelező megadni.",
+               remote: "Kérem javítsa ki ezt a mezőt.",
+               email: "Érvényes e-mail címnek kell lennie.",
+               url: "Érvényes URL-nek kell lennie.",
+               date: "Dátumnak kell lennie.",
+               dateISO: "Kérem írjon be egy érvényes dátumot (ISO).",
+               number: "Számnak kell lennie.",
+               digits: "Csak számjegyek lehetnek.",
+               creditcard: "Érvényes hitelkártyaszámnak kell lennie.",
+               equalTo: "Meg kell egyeznie a két értéknek.",
+               accept: "Adjon meg egy értéket, megfelelő végződéssel.",
+               maxlength: $.validator.format("Legfeljebb {0} karakter hosszú legyen."),
+               minlength: $.validator.format("Legalább {0} karakter hosszú legyen."),
+               rangelength: $.validator.format("Legalább {0} és legfeljebb {1} karakter hosszú legyen."),
+               range: $.validator.format("{0} és {1} közé kell esnie."),
+               max: $.validator.format("Nem lehet nagyobb, mint {0}."),
+               min: $.validator.format("Nem lehet kisebb, mint {0}."),
+               maxWords: $.validator.format("Kérjük, adja meg {0} szó, vagy kevesebb."),
+               minWords: $.validator.format("Kérjük, adja meg legalább {0} szó."),
+               rangeWords: $.validator.format("Kérjük, adja meg {0} {1} szavakat."),
+               alphanumeric: "Betűk, számok és aláhúzás csak kérjük",
+               lettersonly: "Letters csak kérlek",
+               nowhitespace: "No white space kérlek",
+               phone: 'Adjon meg egy érvényes telefonszámot. A legtöbb USA / Kanada és nemzetközi formátumban elfogadott.',
+               ipv4: 'Adjon meg egy érvényes IP v4-címet.',
+               ipv6: 'Adjon meg egy érvényes IP v6-címet.',
+               ziprange: 'A zip-kódot kell a tartományban 902xx-xxxx a 905-xx-xxxx',
+               zipcodeUS: 'A megadott US irányítószám érvénytelen',
+               integer: 'A pozitív vagy negatív nem decimális számot kérjük',
+               swpmUsername: 'Ez a felhasználónév már regisztrálva van. Kérjük, válasszon egy másikat'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-id_ID.js b/js/i18n/validate/messages-id_ID.js
new file mode 100644 (file)
index 0000000..6ec82d2
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: ID (Indonesian)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Field ini harus diisi.",
+               remote: "Harap perbaiki field ini.",
+               email: "Harap masukan alamat email yang valid.",
+               url: "Harap masukan URL yang valid.",
+               date: "Harap masukan tanggal yang valid.",
+               dateISO: "Harap masukan tanggal yang valid (ISO).",
+               number: "Harap masukan angka yang valid.",
+               digits: "Harap masukan hanya digit.",
+               creditcard: "Harap masukan nomor kartu kredit yang valid.",
+               equalTo: "Harap masukan nilai yang sama lagi.",
+               accept: "Harap masukan nilai dengan ekstensi yang valid.",
+               maxlength: $.validator.format("Harap masukan tidak lebih dari {0} karakter."),
+               minlength: $.validator.format("Harap masukan sedikitnya {0} karakter."),
+               rangelength: $.validator.format("Harap masukan antara {0} dan {1} karakter."),
+               range: $.validator.format("Harap masukan nilai antara {0} dan {1}."),
+               max: $.validator.format("Harap masukan nilai lebih kecil atau sama dengan {0}."),
+               min: $.validator.format("Harap masukan nilai lebih besar atau sama dengan {0}."),
+               maxWords: $.validator.format("Harap masukan {0} kata atau kurang."),
+               minWords: $.validator.format("Harap masukan sedikitnya {0} kata."),
+               rangeWords: $.validator.format("Harap masukan antara {0} dan {1} kata."),
+               alphanumeric: "Harap masukan hanya karakter, angka atau garis bawah.",
+               lettersonly: "Harap masukan hanya karakter.",
+               nowhitespace: "Tidak boleh ada spasi.",
+               phone: 'Masukkan nomor telepon yang valid. Kebanyakan format AS / Kanada dan International diterima.',
+               ipv4: 'Silahkan masukkan alamat IP v4 yang valid.',
+               ipv6: 'Silahkan masukkan alamat IP v6 valid.',
+               ziprange: 'Anda ZIP-kode harus dalam kisaran 902xx-xxxx untuk 905-xx-xxxx',
+               zipcodeUS: 'AS ZIP Code yang ditentukan tidak valid',
+               integer: 'Sejumlah non-desimal positif atau negatif silahkan',
+               swpmUsername: 'Username sudah terdaftar. Silahkan pilih yang lain'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-it_IT.js b/js/i18n/validate/messages-it_IT.js
new file mode 100644 (file)
index 0000000..b80025f
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: IT (Italian; Italiano)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Campo obbligatorio.",
+               remote: "Controlla questo campo.",
+               email: "Inserisci un indirizzo email valido.",
+               url: "Inserisci un indirizzo web valido.",
+               date: "Inserisci una data valida.",
+               dateISO: "Inserisci una data valida (ISO).",
+               number: "Inserisci un numero valido.",
+               digits: "Inserisci solo numeri.",
+               creditcard: "Inserisci un numero di carta di credito valido.",
+               equalTo: "Il valore non corrisponde.",
+               accept: "Inserisci un valore con un&apos;estensione valida.",
+               maxlength: $.validator.format("Non inserire pi&ugrave; di {0} caratteri."),
+               minlength: $.validator.format("Inserisci almeno {0} caratteri."),
+               rangelength: $.validator.format("Inserisci un valore compreso tra {0} e {1} caratteri."),
+               range: $.validator.format("Inserisci un valore compreso tra {0} e {1}."),
+               max: $.validator.format("Inserisci un valore minore o uguale a {0}."),
+               min: $.validator.format("Inserisci un valore maggiore o uguale a {0}."),
+               maxWords: $.validator.format("Inserisci {0} parole o meno."),
+               minWords: $.validator.format("Inserisci almeno {0} parole."),
+               rangeWords: $.validator.format("Inserisci tra {0} e {1} parole."),
+               alphanumeric: "Lettere, numeri e underscore solo per favore",
+               lettersonly: "Lettere solo per favore",
+               nowhitespace: "Nessuno spazio bianco per favore",
+               phone: 'Si prega di inserire un numero di telefono valido. La maggior parte dei formati di US / Canada e internazionali accettate.',
+               ipv4: 'Si prega di inserire un indirizzo IP v4 valido.',
+               ipv6: 'Si prega di inserire un indirizzo IP v6 valido.',
+               ziprange: 'Il tuo ZIP-codice deve essere nel range 902xx-xxxx a 905-xx-xxxx',
+               zipcodeUS: 'Gli Stati Uniti CAP specificato non è valido',
+               integer: 'Un numero non decimale positivo o negativo per favore',
+               swpmUsername: 'Questo nome utente è già registrato. Si prega di scegliere un altro'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-ja_JP.js b/js/i18n/validate/messages-ja_JP.js
new file mode 100644 (file)
index 0000000..ec2d9cf
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: JA (Japanese; 日本語)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "このフィールドは必須です。",
+               remote: "このフィールドを修正してください。",
+               email: "有効なEメールアドレスを入力してください。",
+               url: "有効なURLを入力してください。",
+               date: "有効な日付を入力してください。",
+               dateISO: "有効な日付(ISO)を入力してください。",
+               number: "有効な数字を入力してください。",
+               digits: "数字のみを入力してください。",
+               creditcard: "有効なクレジットカード番号を入力してください。",
+               equalTo: "同じ値をもう一度入力してください。",
+               accept: "有効な拡張子を含む値を入力してください。",
+               maxlength: $.validator.format("{0} 文字以内で入力してください。"),
+               minlength: $.validator.format("{0} 文字以上で入力してください。"),
+               rangelength: $.validator.format("{0} 文字から {1} 文字までの値を入力してください。"),
+               range: $.validator.format("{0} から {1} までの値を入力してください。"),
+               max: $.validator.format("{0} 以下の値を入力してください。"),
+               min: $.validator.format("{0} 以上の値を入力してください。"),
+               maxWords: $.validator.format("{0}字以内で入力してください。"),
+               minWords: $.validator.format("少なくとも{0}の言葉を入力してください。"),
+               rangeWords: $.validator.format("{0}と{1}単語の間で入力してください。"),
+               alphanumeric: "文字、数字、およびアンダースコアのみでお願いします",
+               lettersonly: "手紙のみでお願いします",
+               nowhitespace: "に空白をして下さい",
+               phone: '有効な電話番号を入力してください。ほとんどの米国/カナダおよび国際フォーマットが受け入れた。',
+               ipv4: '有効なIP V4アドレスを入力してください。',
+               ipv6: '有効なIP V6アドレスを入力してください。',
+               ziprange: 'あなたの郵便番号は905-XX-XXXXの範囲の902xx-XXXXである必要があります',
+               zipcodeUS: '指定された米国の郵便番号が無効です',
+               integer: '正または負の非小数ください',
+               swpmUsername: 'このユーザー名はすでに登録されています。他の名前を選んでください'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-ko_KR.js b/js/i18n/validate/messages-ko_KR.js
new file mode 100644 (file)
index 0000000..2770adc
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: KO (Korean; 한국어)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "필수 항목입니다.",
+               remote: "항목을 수정하세요.",
+               email: "유효하지 않은 E-Mail주소입니다.",
+               url: "유효하지 않은 URL입니다.",
+               date: "올바른 날짜를 입력하세요.",
+               dateISO: "올바른 날짜(ISO)를 입력하세요.",
+               number: "유효한 숫자가 아닙니다.",
+               digits: "숫자만 입력 가능합니다.",
+               creditcard: "신용카드 번호가 바르지 않습니다.",
+               equalTo: "같은 값을 다시 입력하세요.",
+               accept: "올바른 확장자가 아닙니다.",
+               maxlength: $.validator.format("{0}자를 넘을 수 없습니다. "),
+               minlength: $.validator.format("{0}자 이상 입력하세요."),
+               rangelength: $.validator.format("문자 길이가 {0} 에서 {1} 사이의 값을 입력하세요."),
+               range: $.validator.format("{0} 에서 {1} 사이의 값을 입력하세요."),
+               max: $.validator.format("{0} 이하의 값을 입력하세요."),
+               min: $.validator.format("{0} 이상의 값을 입력하세요."),
+               maxWords: $.validator.format("{0} 단어 이하를 입력 해 주시기 바랍니다."),
+               minWords: $.validator.format("적어도 {0} 단어를 입력 해주세요."),
+               rangeWords: $.validator.format("{0}과 {1} 단어 사이에 입력하십시오."),
+               alphanumeric: "문자, 숫자, 그리고 밑줄 만주세요",
+               lettersonly: "문자 만주세요",
+               nowhitespace: "에 공백하시기 바랍니다",
+               phone: '올바른 전화 번호를 입력하세요. 대부분의 미국 / 캐나다 및 국제 형식으로 받아 들였다.',
+               ipv4: '유효한 IP V4 주소를 입력하십시오.',
+               ipv6: '유효한 IP V6 주소를 입력 해주십시오.',
+               ziprange: '귀하의 ZIP 코드는 905-XX-XXXX의 범위의 902xx-XXXX에 있어야합니다',
+               zipcodeUS: '지정된 미국의 우편 번호가 잘못되었습니다',
+               integer: '양수 또는 음수가 아닌 십진수주세요',
+               swpmUsername: '이 사용자 이름은 이미 등록되어 있습니다. 또 다른 하나를 선택하십시오'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-nl_NL.js b/js/i18n/validate/messages-nl_NL.js
new file mode 100644 (file)
index 0000000..2559d23
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: NL (Dutch; Nederlands, Vlaams)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Dit is een verplicht veld.",
+               remote: "Controleer dit veld.",
+               email: "Vul hier een geldig e-mailadres in.",
+               url: "Vul hier een geldige URL in.",
+               date: "Vul hier een geldige datum in.",
+               dateISO: "Vul hier een geldige datum in (ISO-formaat).",
+               number: "Vul hier een geldig getal in.",
+               digits: "Vul hier alleen getallen in.",
+               creditcard: "Vul hier een geldig creditcardnummer in.",
+               equalTo: "Vul hier dezelfde waarde in.",
+               accept: "Vul hier een waarde in met een geldige extensie.",
+               maxlength: $.validator.format("Vul hier maximaal {0} tekens in."),
+               minlength: $.validator.format("Vul hier minimaal {0} tekens in."),
+               rangelength: $.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1} tekens."),
+               range: $.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1}."),
+               max: $.validator.format("Vul hier een waarde in kleiner dan of gelijk aan {0}."),
+               min: $.validator.format("Vul hier een waarde in groter dan of gelijk aan {0}."),
+               maxWords: $.validator.format("Vul hier {0} woorden of minder."),
+               minWords: $.validator.format("Vul hier minimaal {0} woorden."),
+               rangeWords: $.validator.format("Vul hier tussen {0} en {1} woorden."),
+               alphanumeric: "Letters, cijfers, en onderstreept alleen maar te behagen",
+               lettersonly: "Brieven slechts tevreden",
+               nowhitespace: "Geen witte ruimte alsjeblieft",
+               phone: 'Vul een geldig telefoonnummer. De meeste VS / Canada en internationale formats geaccepteerd. ',
+               ipv4: 'Vul een geldig IP v4 adres.',
+               ipv6: 'Vul een geldig IP v6 adres.',
+               ziprange: 'Uw postcode moet in het bereik 902xx-xxxx zijn om 905-xx-xxxx',
+               zipcodeUS: 'De opgegeven US postcode is ongeldig',
+               integer: 'Een positieve of negatieve niet-decimaal getal aub',
+               swpmUsername: 'Deze gebruikersnaam is al geregistreerd. Kies een andere naam'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-pl_PL.js b/js/i18n/validate/messages-pl_PL.js
new file mode 100644 (file)
index 0000000..0107124
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: PL (Polish; język polski, polszczyzna)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "To pole jest wymagane.",
+               remote: "Proszę o wypełnienie tego pola.",
+               email: "Proszę o podanie prawidłowego adresu email.",
+               url: "Proszę o podanie prawidłowego URL.",
+               date: "Proszę o podanie prawidłowej daty.",
+               dateISO: "Proszę o podanie prawidłowej daty (ISO).",
+               number: "Proszę o podanie prawidłowej liczby.",
+               digits: "Proszę o podanie samych cyfr.",
+               creditcard: "Proszę o podanie prawidłowej karty kredytowej.",
+               equalTo: "Proszę o podanie tej samej wartości ponownie.",
+               accept: "Proszę o podanie wartości z prawidłowym rozszerzeniem.",
+               maxlength: $.validator.format("Proszę o podanie nie więcej niż {0} znaków."),
+               minlength: $.validator.format("Proszę o podanie przynajmniej {0} znaków."),
+               rangelength: $.validator.format("Proszę o podanie wartości o długości od {0} do {1} znaków."),
+               range: $.validator.format("Proszę o podanie wartości z przedziału od {0} do {1}."),
+               max: $.validator.format("Proszę o podanie wartości mniejszej bądź równej {0}."),
+               min: $.validator.format("Proszę o podanie wartości większej bądź równej {0}."),
+               maxWords: $.validator.format("Proszę o podanie {0} lub mniej słów."),
+               minWords: $.validator.format("Proszę o podanie najmniej {0} słowa"),
+               rangeWords: $.validator.format("Proszę o podanie między {0} i {1} słów."),
+               alphanumeric: "Liter, cyfr, podkreśleń i tylko proszę",
+               lettersonly: "Proszę tylko litery",
+               nowhitespace: "Proszę nie spacje",
+               phone: 'Proszę podać poprawny numer telefonu. Przyjmujemy większość formatów US / Kanada i międzynarodowe.',
+               ipv4: 'Proszę podać adres IP v4.',
+               ipv6: 'Proszę podać adres IP v6.',
+               ziprange: 'Twój kod pocztowy musi być w zakresie 902xx do 905-xxxx-xxxx-xx',
+               zipcodeUS: 'Określone US kod pocztowy jest nieprawidłowy',
+               integer: 'Dodatnia lub ujemna liczba dziesiętna proszę nie',
+               swpmUsername: 'Ta nazwa użytkownika jest już zarejestrowana. Wybierz inny',
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-pt_BR.js b/js/i18n/validate/messages-pt_BR.js
new file mode 100644 (file)
index 0000000..6e7d35e
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: PT (Portuguese; português)
+ * Region: BR (Brazil)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Este campo &eacute; requerido.",
+               remote: "Por favor, corrija este campo.",
+               email: "Por favor, forne&ccedil;a um endere&ccedil;o de email v&aacute;lido.",
+               url: "Por favor, forne&ccedil;a uma URL v&aacute;lida.",
+               date: "Por favor, forne&ccedil;a uma data v&aacute;lida.",
+               dateISO: "Por favor, forne&ccedil;a uma data v&aacute;lida (ISO).",
+               number: "Por favor, forne&ccedil;a um n&uacute;mero v&aacute;lido.",
+               digits: "Por favor, forne&ccedil;a somente d&iacute;gitos.",
+               creditcard: "Por favor, forne&ccedil;a um cart&atilde;o de cr&eacute;dito v&aacute;lido.",
+               equalTo: "Por favor, forne&ccedil;a o mesmo valor novamente.",
+               accept: "Por favor, forne&ccedil;a um valor com uma extens&atilde;o v&aacute;lida.",
+               maxlength: $.validator.format("Por favor, forne&ccedil;a n&atilde;o mais que {0} caracteres."),
+               minlength: $.validator.format("Por favor, forne&ccedil;a ao menos {0} caracteres."),
+               rangelength: $.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1} caracteres de comprimento."),
+               range: $.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1}."),
+               max: $.validator.format("Por favor, forne&ccedil;a um valor menor ou igual a {0}."),
+               min: $.validator.format("Por favor, forne&ccedil;a um valor maior ou igual a {0}."),
+               maxWords: $.validator.format("Por favor entre {0} palavras ou menos."),
+               minWords: $.validator.format("Por favor, insira pelo menos {0} palavras."),
+               rangeWords: $.validator.format("Por favor, insira entre {0} e {1} palavras."),
+               alphanumeric: "Letras, números e sublinhados só por favor",
+               lettersonly: "Cartas só por favor",
+               nowhitespace: "No espaço em branco, por favor",
+               phone: 'Por favor insira um número de telefone válido. A maioria dos formatos EUA / Canadá e internacionais aceitos. ',
+               ipv4: 'Por favor insira um endereço de IP v4 válido.',
+               ipv6: 'Por favor insira um endereço de IP v6 válido.',
+               ziprange: 'O CEP-código deve estar no intervalo 902xx-xxxx a 905-xx-xxxx',
+               zipcodeUS: 'O CEP EUA especificado é inválido',
+               integer: 'Um número não decimal positivo ou negativo, por favor',
+               swpmUsername: 'Este nome de usuário já está registrado. Por favor escolha outro'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-pt_PT.js b/js/i18n/validate/messages-pt_PT.js
new file mode 100644 (file)
index 0000000..6a856ce
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: PT (Portuguese; português)
+ * Region: PT (Portugal)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Campo de preenchimento obrigat&oacute;rio.",
+               remote: "Por favor, corrija este campo.",
+               email: "Por favor, introduza um endere&ccedil;o eletr&oacute;nico v&aacute;lido.",
+               url: "Por favor, introduza um URL v&aacute;lido.",
+               date: "Por favor, introduza uma data v&aacute;lida.",
+               dateISO: "Por favor, introduza uma data v&aacute;lida (ISO).",
+               number: "Por favor, introduza um n&uacute;mero v&aacute;lido.",
+               digits: "Por favor, introduza apenas d&iacute;gitos.",
+               creditcard: "Por favor, introduza um n&uacute;mero de cart&atilde;o de cr&eacute;dito v&aacute;lido.",
+               equalTo: "Por favor, introduza de novo o mesmo valor.",
+               accept: "Por favor, introduza um ficheiro com uma extens&atilde;o v&aacute;lida.",
+               maxlength: $.validator.format("Por favor, n&atilde;o introduza mais do que {0} caracteres."),
+               minlength: $.validator.format("Por favor, introduza pelo menos {0} caracteres."),
+               rangelength: $.validator.format("Por favor, introduza entre {0} e {1} caracteres."),
+               range: $.validator.format("Por favor, introduza um valor entre {0} e {1}."),
+               max: $.validator.format("Por favor, introduza um valor menor ou igual a {0}."),
+               min: $.validator.format("Por favor, introduza um valor maior ou igual a {0}."),
+               maxWords: $.validator.format("Por favor entre {0} palavras ou menos."),
+               minWords: $.validator.format("Por favor, insira pelo menos {0} palavras."),
+               rangeWords: $.validator.format("Por favor, insira entre {0} e {1} palavras."),
+               alphanumeric: "Letras, números e sublinhados só por favor",
+               lettersonly: "Cartas só por favor",
+               nowhitespace: "No espaço em branco, por favor",
+               phone: 'Por favor insira um número de telefone válido. A maioria dos formatos EUA / Canadá e internacionais aceitos. ',
+               ipv4: 'Por favor insira um endereço de IP v4 válido.',
+               ipv6: 'Por favor insira um endereço de IP v6 válido.',
+               ziprange: 'O CEP-código deve estar no intervalo 902xx-xxxx a 905-xx-xxxx',
+               zipcodeUS: 'O CEP EUA especificado é inválido',
+               integer: 'Um número não decimal positivo ou negativo, por favor',
+               swpmUsername: 'Este nome de usuário já está registrado. Por favor escolha outro'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-ro_RO.js b/js/i18n/validate/messages-ro_RO.js
new file mode 100644 (file)
index 0000000..6d24ee6
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: RO (Romanian, limba română)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Acest câmp este obligatoriu.",
+               remote: "Te rugăm să completezi acest câmp.",
+               email: "Te rugăm să introduci o adresă de email validă",
+               url: "Te rugăm sa introduci o adresă URL validă.",
+               date: "Te rugăm să introduci o dată corectă.",
+               dateISO: "Te rugăm să introduci o dată (ISO) corectă.",
+               number: "Te rugăm să introduci un număr întreg valid.",
+               digits: "Te rugăm să introduci doar cifre.",
+               creditcard: "Te rugăm să introduci un numar de carte de credit valid.",
+               equalTo: "Te rugăm să reintroduci valoarea.",
+               accept: "Te rugăm să introduci o valoare cu o extensie validă.",
+               maxlength: $.validator.format("Te rugăm să nu introduci mai mult de {0} caractere."),
+               minlength: $.validator.format("Te rugăm să introduci cel puțin {0} caractere."),
+               rangelength: $.validator.format("Te rugăm să introduci o valoare între {0} și {1} caractere."),
+               range: $.validator.format("Te rugăm să introduci o valoare între {0} și {1}."),
+               max: $.validator.format("Te rugăm să introduci o valoare egal sau mai mică decât {0}."),
+               min: $.validator.format("Te rugăm să introduci o valoare egal sau mai mare decât {0}."),
+               maxWords: $.validator.format("Te rugăm să introduci {0} de cuvinte sau mai puțin"),
+               minWords: $.validator.format("Te rugăm să introduci cel putin {0} cuvinte."),
+               rangeWords: $.validator.format("Te rugăm să introduci {0} și {1} cuvinte"),
+               alphanumeric: "Litere, numere, și subliniază numai vă rog",
+               lettersonly: "Scrisori doar vă rog",
+               nowhitespace: "Nu există spațiu alb, vă rugăm",
+               phone: 'Vă rugăm să introduceți un număr de telefon valid. Cele mai multe formate de SUA / Canada și internaționale acceptate.',
+               ipv4: 'Vă rugăm să introduceți o adresă validă IP v4.',
+               ipv6: 'Vă rugăm să introduceți o adresă validă IP v6.',
+               ziprange: 'Dvs. ZIP-cod trebuie să fie în gama 902xx-xxxx a 905-xx-xxxx',
+               zipcodeUS: 'Specificat SUA cod poștal este nevalid',
+               integer: 'Un număr de non-zecimal pozitiv sau negativ, vă rugăm',
+               swpmUsername: 'Acest nume de utilizator este deja înregistrat. Vă rugăm să alegeți un alt unul'
+       });
+}(jQuery));
diff --git a/js/i18n/validate/messages-ru_RU.js b/js/i18n/validate/messages-ru_RU.js
new file mode 100644 (file)
index 0000000..b6f88e8
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: RU (Russian; русский язык)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Это поле необходимо заполнить.",
+               remote: "Пожалуйста, введите правильное значение.",
+               email: "Пожалуйста, введите корректный адрес электронной почты.",
+               url: "Пожалуйста, введите корректный URL.",
+               date: "Пожалуйста, введите корректную дату.",
+               dateISO: "Пожалуйста, введите корректную дату в формате ISO.",
+               number: "Пожалуйста, введите число.",
+               digits: "Пожалуйста, вводите только цифры.",
+               creditcard: "Пожалуйста, введите правильный номер кредитной карты.",
+               equalTo: "Пожалуйста, введите такое же значение ещё раз.",
+               accept: "Пожалуйста, выберите файл с правильным расширением.",
+               maxlength: $.validator.format("Пожалуйста, введите не больше {0} символов."),
+               minlength: $.validator.format("Пожалуйста, введите не меньше {0} символов."),
+               rangelength: $.validator.format("Пожалуйста, введите значение длиной от {0} до {1} символов."),
+               range: $.validator.format("Пожалуйста, введите число от {0} до {1}."),
+               max: $.validator.format("Пожалуйста, введите число, меньшее или равное {0}."),
+               min: $.validator.format("Пожалуйста, введите число, большее или равное {0}."),
+               maxWords: $.validator.format("Пожалуйста, введите {0} слова или меньше."),
+               minWords: $.validator.format("Пожалуйста, введите по крайней мере {0} слова."),
+               rangeWords: $.validator.format("Пожалуйста, введите между {0} и {1} слов."),
+               alphanumeric: "Буквы, цифры и подчеркивает только пожалуйста",
+               lettersonly: "Письма только пожалуйста",
+               nowhitespace: "Нет пробел пожалуйста",
+               phone: 'Пожалуйста, введите действительный номер телефона. Принимаются Большинство форматов США / Канада и международных.',
+               ipv4: 'Пожалуйста, введите действительный адрес IP v4.',
+               ipv6: 'Пожалуйста, введите действительный адрес IP v6.',
+               ziprange: 'Ваш архив код должен находиться в диапазоне от 902xx-XXXX в 905-хх-хххх',
+               zipcodeUS: 'Указанный США ZIP код недействителен',
+               integer: 'Положительное или отрицательное, не десятичное число пожалуйста',
+               swpmUsername: 'Это имя пользователя уже зарегистрировано. Пожалуйста, выберите другое'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-sv_SE.js b/js/i18n/validate/messages-sv_SE.js
new file mode 100644 (file)
index 0000000..595e944
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: SV (Swedish; Svenska)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Detta f&auml;lt &auml;r obligatoriskt.",
+               remote: "Åtgärda detta område.",
+               email: "Ange en korrekt e-postadress.",
+               url: "Ange en korrekt URL.",
+               date: "Ange ett korrekt datum.",
+               dateISO: "Ange ett korrekt datum (&Aring;&Aring;&Aring;&Aring;-MM-DD).",
+               number: "Ange ett korrekt nummer.",
+               digits: "Ange endast siffror.",
+               creditcard: "Ange ett korrekt kreditkortsnummer.",
+               equalTo: "Ange samma v&auml;rde igen.",
+               accept: "Ange ett värde med en giltig domän.",
+               maxlength: $.validator.format("Du f&aring;r ange h&ouml;gst {0} tecken."),
+               minlength: $.validator.format("Du m&aring;ste ange minst {0} tecken."),
+               rangelength: $.validator.format("Ange minst {0} och max {1} tecken."),
+               range: $.validator.format("Ange ett v&auml;rde mellan {0} och {1}."),
+               max: $.validator.format("Ange ett v&auml;rde som &auml;r mindre eller lika med {0}."),
+               min: $.validator.format("Ange ett v&auml;rde som &auml;r st&ouml;rre eller lika med {0}."),
+               maxWords: $.validator.format("Ange {0} ord eller mindre."),
+               minWords: $.validator.format("Ange minst {0} ord."),
+               rangeWords: $.validator.format("Ange mellan {0} och {1} ord."),
+               alphanumeric: "Bokstäver, siffror och understreck bara snälla",
+               lettersonly: "Brev bara snälla",
+               nowhitespace: "Inga blank vänligen",
+               phone: 'Ange ett giltigt telefonnummer. De flesta USA / Kanada och internationella format accepteras.',
+               ipv4: 'Ange en giltig IP v4-adress.',
+               ipv6: 'Ange en giltig IP v6-adress.',
+               ziprange: 'Din ZIP-kod måste ligga i intervallet 902xx-xxxx till 905-xx-xxxx',
+               zipcodeUS: 'Den angivna amerikanska postnummer är ogiltig',
+               integer: 'En positiv eller negativ icke-decimaltal vänligen',
+               swpmUsername: 'Detta användarnamn är upptaget. Var vänlig välj en annan'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-tr_TR.js b/js/i18n/validate/messages-tr_TR.js
new file mode 100644 (file)
index 0000000..44fea7e
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: TR (Turkish; Türkçe)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "Bu alanın doldurulması zorunludur.",
+               remote: "Lütfen bu alanı düzeltin.",
+               email: "Lütfen geçerli bir e-posta adresi giriniz.",
+               url: "Lütfen geçerli bir web adresi (URL) giriniz.",
+               date: "Lütfen geçerli bir tarih giriniz.",
+               dateISO: "Lütfen geçerli bir tarih giriniz(ISO formatında)",
+               number: "Lütfen geçerli bir sayı giriniz.",
+               digits: "Lütfen sadece sayısal karakterler giriniz.",
+               creditcard: "Lütfen geçerli bir kredi kartı giriniz.",
+               equalTo: "Lütfen aynı değeri tekrar giriniz.",
+               accept: "Lütfen geçerli uzantıya sahip bir değer giriniz.",
+               maxlength: $.validator.format("Lütfen en fazla {0} karakter uzunluğunda bir değer giriniz."),
+               minlength: $.validator.format("Lütfen en az {0} karakter uzunluğunda bir değer giriniz."),
+               rangelength: $.validator.format("Lütfen en az {0} ve en fazla {1} uzunluğunda bir değer giriniz."),
+               range: $.validator.format("Lütfen {0} ile {1} arasında bir değer giriniz."),
+               max: $.validator.format("Lütfen {0} değerine eşit ya da daha küçük bir değer giriniz."),
+               min: $.validator.format("Lütfen {0} değerine eşit ya da daha büyük bir değer giriniz."),
+               maxWords: $.validator.format("Lütfen {0} kelime veya daha az girin."),
+               minWords: $.validator.format("Lütfen en az {0} kelimeleri giriniz."),
+               rangeWords: $.validator.format("Lütfen {0} ve {1} kelimeler arasına girin."),
+               alphanumeric: "Harfler, sayılar ve alt çizgi sadece lütfen",
+               lettersonly: "Mektuplar sadece lütfen",
+               nowhitespace: "Hiçbir boşluk lütfen",
+               phone: 'Geçerli bir telefon numarası giriniz. Çoğu ABD / Kanada ve Uluslararası formatları kabul.',
+               ipv4: 'Geçerli bir IP v4 adresini girin.',
+               ipv6: 'Geçerli bir IP v6 adresini girin.',
+               ziprange: 'Posta kodu 905-xx-xxxx aralık 902xx-xxxx olmalı',
+               zipcodeUS: 'Belirtilen ABD Posta Kodu geçersiz',
+               integer: 'Bir pozitif veya negatif olmayan ondalık sayı lütfen',
+               swpmUsername: 'Bu kullanıcı adı zaten kayıtlı. Başka bir tane seçiniz'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-zh_CN.js b/js/i18n/validate/messages-zh_CN.js
new file mode 100644 (file)
index 0000000..20e45aa
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "必须填写",
+               remote: "请修正此栏位",
+               email: "请输入有效的电子邮件",
+               url: "请输入有效的网址",
+               date: "请输入有效的日期",
+               dateISO: "请输入有效的日期 (YYYY-MM-DD)",
+               number: "请输入正确的数字",
+               digits: "只可输入数字",
+               creditcard: "请输入有效的信用卡号码",
+               equalTo: "你的输入不相同",
+               accept: "请输入有效的后缀",
+               maxlength: $.validator.format("最多 {0} 个字"),
+               minlength: $.validator.format("最少 {0} 个字"),
+               rangelength: $.validator.format("请输入长度为 {0} 至 {1} 之間的字串"),
+               range: $.validator.format("请输入 {0} 至 {1} 之间的数值"),
+               max: $.validator.format("请输入不大于 {0} 的数值"),
+               min: $.validator.format("请输入不小于 {0} 的数值"),
+               maxWords: $.validator.format("請輸入{0}字以內。"),
+               minWords: $.validator.format("請輸入至少{0}字。"),
+               rangeWords: $.validator.format("請{0}和{1}字之間進入。"),
+               alphanumeric: "字母,數字和下劃線只請",
+               lettersonly: "英皇只請",
+               nowhitespace: "沒有空格,請",
+               phone: '請輸入一個有效的電話號碼。接受大多數美國/加拿大和國際格式。',
+               ipv4: '請輸入一個有效的IP地址卷。',
+               ipv6: '請輸入一個有效的IP v6地址。',
+               ziprange: '您的郵遞區號必須在範圍902xx-XXXX905-XX-XXXX',
+               zipcodeUS: '指定美國郵政編碼無效',
+               integer: '一個正或負的非十進制數,請',
+               swpmUsername: '此用戶名已被註冊。請選擇另外一個'
+       });
+}(jQuery));
\ No newline at end of file
diff --git a/js/i18n/validate/messages-zh_TW.js b/js/i18n/validate/messages-zh_TW.js
new file mode 100644 (file)
index 0000000..a0459ae
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: ZH (Chinese; 中文 (Zhōngwén), 汉语, 漢語)
+ * Region: TW (Taiwan)
+ */
+(function($) {
+       $.extend($.validator.messages, {
+               required: "必須填寫",
+               remote: "請修正此欄位",
+               email: "請輸入有效的電子郵件",
+               url: "請輸入有效的網址",
+               date: "請輸入有效的日期",
+               dateISO: "請輸入有效的日期 (YYYY-MM-DD)",
+               number: "請輸入正確的數值",
+               digits: "只可輸入數字",
+               creditcard: "請輸入有效的信用卡號碼",
+               equalTo: "請重複輸入一次",
+               accept: "請輸入有效的後綴",
+               maxlength: $.validator.format("最多 {0} 個字"),
+               minlength: $.validator.format("最少 {0} 個字"),
+               rangelength: $.validator.format("請輸入長度為 {0} 至 {1} 之間的字串"),
+               range: $.validator.format("請輸入 {0} 至 {1} 之間的數值"),
+               max: $.validator.format("請輸入不大於 {0} 的數值"),
+               min: $.validator.format("請輸入不小於 {0} 的數值"),
+               maxWords: $.validator.format("請輸入{0}字以內。"),
+               minWords: $.validator.format("請輸入至少{0}字。"),
+               rangeWords: $.validator.format("請{0}和{1}字之間進入。"),
+               alphanumeric: "字母,數字和下劃線只請",
+               lettersonly: "英皇只請",
+               nowhitespace: "沒有空格,請",
+               phone: '請輸入一個有效的電話號碼。接受大多數美國/加拿大和國際格式。',
+               ipv4: '請輸入一個有效的IP地址卷。',
+               ipv6: '請輸入一個有效的IP v6地址。',
+               ziprange: '您的郵遞區號必須在範圍902xx-XXXX905-XX-XXXX',
+               zipcodeUS: '指定美國郵政編碼無效',
+               integer: '一個正或負的非十進制數,請',
+               swpmUsername: '此用戶名已被註冊。請選擇另外一個'
+       });
+}(jQuery));
diff --git a/js/jquery.metadata.js b/js/jquery.metadata.js
new file mode 100644 (file)
index 0000000..918f956
--- /dev/null
@@ -0,0 +1 @@
+(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 undefined}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
diff --git a/js/jquery.ui.nestedSortable.js b/js/jquery.ui.nestedSortable.js
new file mode 100644 (file)
index 0000000..e6c0d62
--- /dev/null
@@ -0,0 +1,429 @@
+/*
+ * jQuery UI Nested Sortable
+ * v 1.3.5 / 21 jun 2012
+ * http://mjsarfatti.com/code/nestedSortable
+ *
+ * Depends on:
+ *      jquery.ui.sortable.js 1.8+
+ *
+ * Copyright (c) 2010-2012 Manuele J Sarfatti
+ * Licensed under the MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ */
+
+(function($) {
+
+       $.widget("mjs.nestedSortable", $.extend({}, $.ui.sortable.prototype, {
+
+               options: {
+                       tabSize: 20,
+                       disableNesting: 'mjs-nestedSortable-no-nesting',
+                       errorClass: 'mjs-nestedSortable-error',
+                       doNotClear: false,
+                       listType: 'ol',
+                       maxLevels: 0,
+                       protectRoot: false,
+                       rootID: null,
+                       rtl: false,
+                       isAllowed: function(item, parent) { return true; }
+               },
+
+               _create: function() {
+                       this.element.data('sortable', this.element.data('nestedSortable'));
+
+                       if (!this.element.is(this.options.listType))
+                               throw new Error('nestedSortable: Please check the listType option is set to your actual list type');
+
+                       return $.ui.sortable.prototype._create.apply(this, arguments);
+               },
+
+               destroy: function() {
+                       this.element
+                               .removeData("nestedSortable")
+                               .unbind(".nestedSortable");
+                       return $.ui.sortable.prototype.destroy.apply(this, arguments);
+               },
+
+               _mouseDrag: function(event) {
+
+                       //Compute the helpers position
+                       this.position = this._generatePosition(event);
+                       this.positionAbs = this._convertPositionTo("absolute");
+
+                       if (!this.lastPositionAbs) {
+                               this.lastPositionAbs = this.positionAbs;
+                       }
+
+                       var o = this.options;
+
+                       //Do scrolling
+                       if(this.options.scroll) {
+                               var scrolled = false;
+                               if(this.scrollParent[0] != document && this.scrollParent[0].tagName != 'HTML') {
+
+                                       if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity)
+                                               this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;
+                                       else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity)
+                                               this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;
+
+                                       if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity)
+                                               this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;
+                                       else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity)
+                                               this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;
+
+                               } else {
+
+                                       if(event.pageY - $(document).scrollTop() < o.scrollSensitivity)
+                                               scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
+                                       else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity)
+                                               scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
+
+                                       if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity)
+                                               scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
+                                       else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity)
+                                               scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
+
+                               }
+
+                               if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour)
+                                       $.ui.ddmanager.prepareOffsets(this, event);
+                       }
+
+                       //Regenerate the absolute position used for position checks
+                       this.positionAbs = this._convertPositionTo("absolute");
+
+      // Find the top offset before rearrangement,
+      var previousTopOffset = this.placeholder.offset().top;
+
+                       //Set the helper 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';
+
+                       //Rearrange
+                       for (var i = this.items.length - 1; i >= 0; i--) {
+
+                               //Cache variables and intersection, continue if no intersection
+                               var item = this.items[i], itemElement = item.item[0], intersection = this._intersectsWithPointer(item);
+                               if (!intersection) continue;
+
+                               if(itemElement != this.currentItem[0] //cannot intersect with itself
+                                       &&      this.placeholder[intersection == 1 ? "next" : "prev"]()[0] != itemElement //no useless actions that have been done before
+                                       &&      !$.contains(this.placeholder[0], itemElement) //no action if the item moved is the parent of the item checked
+                                       && (this.options.type == 'semi-dynamic' ? !$.contains(this.element[0], itemElement) : true)
+                                       //&& itemElement.parentNode == this.placeholder[0].parentNode // only rearrange items within the same container
+                               ) {
+
+                                       $(itemElement).mouseenter();
+
+                                       this.direction = intersection == 1 ? "down" : "up";
+
+                                       if (this.options.tolerance == "pointer" || this._intersectsWithSides(item)) {
+                                               $(itemElement).mouseleave();
+                                               this._rearrange(event, item);
+                                       } else {
+                                               break;
+                                       }
+
+                                       // Clear emtpy ul's/ol's
+                                       this._clearEmpty(itemElement);
+
+                                       this._trigger("change", event, this._uiHash());
+                                       break;
+                               }
+                       }
+
+                       var parentItem = (this.placeholder[0].parentNode.parentNode &&
+                                                        $(this.placeholder[0].parentNode.parentNode).closest('.ui-sortable').length)
+                                                       ? $(this.placeholder[0].parentNode.parentNode)
+                                                       : null,
+                           level = this._getLevel(this.placeholder),
+                           childLevels = this._getChildLevels(this.helper);
+
+      // To find the previous sibling in the list, keep backtracking until we hit a valid list item.
+                       var previousItem = this.placeholder[0].previousSibling ? $(this.placeholder[0].previousSibling) : null;
+                       if (previousItem != null) {
+                               while (previousItem[0].nodeName.toLowerCase() != 'li' || previousItem[0] == this.currentItem[0] || previousItem[0] == this.helper[0]) {
+                                       if (previousItem[0].previousSibling) {
+                                               previousItem = $(previousItem[0].previousSibling);
+                                       } else {
+                                               previousItem = null;
+                                               break;
+                                       }
+                               }
+                       }
+
+      // To find the next sibling in the list, keep stepping forward until we hit a valid list item.
+      var nextItem = this.placeholder[0].nextSibling ? $(this.placeholder[0].nextSibling) : null;
+      if (nextItem != null) {
+        while (nextItem[0].nodeName.toLowerCase() != 'li' || nextItem[0] == this.currentItem[0] || nextItem[0] == this.helper[0]) {
+          if (nextItem[0].nextSibling) {
+            nextItem = $(nextItem[0].nextSibling);
+          } else {
+            nextItem = null;
+            break;
+          }
+        }
+      }
+
+                       var newList = document.createElement(o.listType);
+
+                       this.beyondMaxLevels = 0;
+                       
+                       // If the item is moved to the left, send it to its parent's level unless there are siblings below it.
+                       if (parentItem != null && nextItem == null &&
+                                       (o.rtl && (this.positionAbs.left + this.helper.outerWidth() > parentItem.offset().left + parentItem.outerWidth()) ||
+                                       !o.rtl && (this.positionAbs.left < parentItem.offset().left))) {
+                               parentItem.after(this.placeholder[0]);
+                               this._clearEmpty(parentItem[0]);
+                               this._trigger("change", event, this._uiHash());
+                       }
+                       // If the item is below a sibling and is moved to the right, make it a child of that sibling.
+                       else if (previousItem != null &&
+                                               (o.rtl && (this.positionAbs.left + this.helper.outerWidth() < previousItem.offset().left + previousItem.outerWidth() - o.tabSize) ||
+                                               !o.rtl && (this.positionAbs.left > previousItem.offset().left + o.tabSize))) {
+                               this._isAllowed(previousItem, level, level+childLevels+1);
+                               if (!previousItem.children(o.listType).length) {
+                                       previousItem[0].appendChild(newList);
+                               }
+        // If this item is being moved from the top, add it to the top of the list.
+        if (previousTopOffset && (previousTopOffset <= previousItem.offset().top)) {
+          previousItem.children(o.listType).prepend(this.placeholder);
+        }
+        // Otherwise, add it to the bottom of the list.
+        else {
+                                 previousItem.children(o.listType)[0].appendChild(this.placeholder[0]);
+        }
+                               this._trigger("change", event, this._uiHash());
+                       }
+                       else {
+                               this._isAllowed(parentItem, level, level+childLevels);
+                       }
+
+                       //Post events to containers
+                       this._contactContainers(event);
+
+                       //Interconnect with droppables
+                       if($.ui.ddmanager) $.ui.ddmanager.drag(this, event);
+
+                       //Call callbacks
+                       this._trigger('sort', event, this._uiHash());
+
+                       this.lastPositionAbs = this.positionAbs;
+                       return false;
+
+               },
+
+               _mouseStop: function(event, noPropagation) {
+
+                       // If the item is in a position not allowed, send it back
+                       if (this.beyondMaxLevels) {
+
+                               this.placeholder.removeClass(this.options.errorClass);
+
+                               if (this.domPosition.prev) {
+                                       $(this.domPosition.prev).after(this.placeholder);
+                               } else {
+                                       $(this.domPosition.parent).prepend(this.placeholder);
+                               }
+
+                               this._trigger("revert", event, this._uiHash());
+
+                       }
+
+                       // Clean last empty ul/ol
+                       for (var i = this.items.length - 1; i >= 0; i--) {
+                               var item = this.items[i].item[0];
+                               this._clearEmpty(item);
+                       }
+
+                       $.ui.sortable.prototype._mouseStop.apply(this, arguments);
+
+               },
+
+               serialize: function(options) {
+
+                       var o = $.extend({}, this.options, options),
+                               items = this._getItemsAsjQuery(o && o.connected),
+                           str = [];
+
+                       $(items).each(function() {
+                               var res = ($(o.item || this).attr(o.attribute || 'id') || '')
+                                               .match(o.expression || (/(.+)[-=_](.+)/)),
+                                   pid = ($(o.item || this).parent(o.listType)
+                                               .parent(o.items)
+                                               .attr(o.attribute || 'id') || '')
+                                               .match(o.expression || (/(.+)[-=_](.+)/));
+
+                               if (res) {
+                                       str.push(((o.key || res[1]) + '[' + (o.key && o.expression ? res[1] : res[2]) + ']')
+                                               + '='
+                                               + (pid ? (o.key && o.expression ? pid[1] : pid[2]) : o.rootID));
+                               }
+                       });
+
+                       if(!str.length && o.key) {
+                               str.push(o.key + '=');
+                       }
+
+                       return str.join('&');
+
+               },
+
+               toHierarchy: function(options) {
+
+                       var o = $.extend({}, this.options, options),
+                               sDepth = o.startDepthCount || 0,
+                           ret = [];
+
+                       $(this.element).children(o.items).each(function () {
+                               var level = _recursiveItems(this);
+                               ret.push(level);
+                       });
+
+                       return ret;
+
+                       function _recursiveItems(item) {
+                               var id = ($(item).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/));
+                               if (id) {
+                                       var currentItem = {"id" : id[2]};
+                                       if ($(item).children(o.listType).children(o.items).length > 0) {
+                                               currentItem.children = [];
+                                               $(item).children(o.listType).children(o.items).each(function() {
+                                                       var level = _recursiveItems(this);
+                                                       currentItem.children.push(level);
+                                               });
+                                       }
+                                       return currentItem;
+                               }
+                       }
+               },
+
+               toArray: function(options) {
+
+                       var o = $.extend({}, this.options, options),
+                               sDepth = o.startDepthCount || 0,
+                           ret = [],
+                           left = 2;
+
+                       ret.push({
+                               "item_id": o.rootID,
+                               "parent_id": 'none',
+                               "depth": sDepth,
+                               "left": '1',
+                               "right": ($(o.items, this.element).length + 1) * 2
+                       });
+
+                       $(this.element).children(o.items).each(function () {
+                               left = _recursiveArray(this, sDepth + 1, left);
+                       });
+
+                       ret = ret.sort(function(a,b){ return (a.left - b.left); });
+
+                       return ret;
+
+                       function _recursiveArray(item, depth, left) {
+
+                               var right = left + 1,
+                                   id,
+                                   pid;
+
+                               if ($(item).children(o.listType).children(o.items).length > 0) {
+                                       depth ++;
+                                       $(item).children(o.listType).children(o.items).each(function () {
+                                               right = _recursiveArray($(this), depth, right);
+                                       });
+                                       depth --;
+                               }
+
+                               id = ($(item).attr(o.attribute || 'id')).match(o.expression || (/(.+)[-=_](.+)/));
+
+                               if (depth === sDepth + 1) {
+                                       pid = o.rootID;
+                               } else {
+                                       var parentItem = ($(item).parent(o.listType)
+                                                                                        .parent(o.items)
+                                                                                        .attr(o.attribute || 'id'))
+                                                                                        .match(o.expression || (/(.+)[-=_](.+)/));
+                                       pid = parentItem[2];
+                               }
+
+                               if (id) {
+                                               ret.push({"item_id": id[2], "parent_id": pid, "depth": depth, "left": left, "right": right});
+                               }
+
+                               left = right + 1;
+                               return left;
+                       }
+
+               },
+
+               _clearEmpty: function(item) {
+
+                       var emptyList = $(item).children(this.options.listType);
+                       if (emptyList.length && !emptyList.children().length && !this.options.doNotClear) {
+                               emptyList.remove();
+                       }
+
+               },
+
+               _getLevel: function(item) {
+
+                       var level = 1;
+
+                       if (this.options.listType) {
+                               var list = item.closest(this.options.listType);
+                               while (list && list.length > 0 && 
+                       !list.is('.ui-sortable')) {
+                                       level++;
+                                       list = list.parent().closest(this.options.listType);
+                               }
+                       }
+
+                       return level;
+               },
+
+               _getChildLevels: function(parent, depth) {
+                       var self = this,
+                           o = this.options,
+                           result = 0;
+                       depth = depth || 0;
+
+                       $(parent).children(o.listType).children(o.items).each(function (index, child) {
+                                       result = Math.max(self._getChildLevels(child, depth + 1), result);
+                       });
+
+                       return depth ? result + 1 : result;
+               },
+
+               _isAllowed: function(parentItem, level, levels) {
+                       var o = this.options,
+                               isRoot = $(this.domPosition.parent).hasClass('ui-sortable') ? true : false,
+                               maxLevels = this.placeholder.closest('.ui-sortable').nestedSortable('option', 'maxLevels'); // this takes into account the maxLevels set to the recipient list
+
+                       // Is the root protected?
+                       // Are we trying to nest under a no-nest?
+                       // Are we nesting too deep?
+                       if (!o.isAllowed(this.currentItem, parentItem) ||
+                               parentItem && parentItem.hasClass(o.disableNesting) ||
+                               o.protectRoot && (parentItem == null && !isRoot || isRoot && level > 1)) {
+                                       this.placeholder.addClass(o.errorClass);
+                                       if (maxLevels < levels && maxLevels != 0) {
+                                               this.beyondMaxLevels = levels - maxLevels;
+                                       } else {
+                                               this.beyondMaxLevels = 1;
+                                       }
+                       } else {
+                               if (maxLevels < levels && maxLevels != 0) {
+                                       this.placeholder.addClass(o.errorClass);
+                                       this.beyondMaxLevels = levels - maxLevels;
+                               } else {
+                                       this.placeholder.removeClass(o.errorClass);
+                                       this.beyondMaxLevels = 0;
+                               }
+                       }
+               }
+
+       }));
+
+       $.mjs.nestedSortable.prototype.options = $.extend({}, $.ui.sortable.prototype.options, $.mjs.nestedSortable.prototype.options);
+})(jQuery);
diff --git a/js/jquery.ui.nestedSortable.min.js b/js/jquery.ui.nestedSortable.min.js
new file mode 100644 (file)
index 0000000..71093f7
--- /dev/null
@@ -0,0 +1 @@
+(function(a){a.widget("mjs.nestedSortable",a.extend({},a.ui.sortable.prototype,{options:{tabSize:20,disableNesting:"mjs-nestedSortable-no-nesting",errorClass:"mjs-nestedSortable-error",doNotClear:false,listType:"ol",maxLevels:0,protectRoot:false,rootID:null,rtl:false,isAllowed:function(c,b){return true}},_create:function(){this.element.data("sortable",this.element.data("nestedSortable"));if(!this.element.is(this.options.listType)){throw new Error("nestedSortable: Please check the listType option is set to your actual list type")}return a.ui.sortable.prototype._create.apply(this,arguments)},destroy:function(){this.element.removeData("nestedSortable").unbind(".nestedSortable");return a.ui.sortable.prototype.destroy.apply(this,arguments)},_mouseDrag:function(e){this.position=this._generatePosition(e);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs}var j=this.options;if(this.options.scroll){var f=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-e.pageY<j.scrollSensitivity){this.scrollParent[0].scrollTop=f=this.scrollParent[0].scrollTop+j.scrollSpeed}else{if(e.pageY-this.overflowOffset.top<j.scrollSensitivity){this.scrollParent[0].scrollTop=f=this.scrollParent[0].scrollTop-j.scrollSpeed}}if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-e.pageX<j.scrollSensitivity){this.scrollParent[0].scrollLeft=f=this.scrollParent[0].scrollLeft+j.scrollSpeed}else{if(e.pageX-this.overflowOffset.left<j.scrollSensitivity){this.scrollParent[0].scrollLeft=f=this.scrollParent[0].scrollLeft-j.scrollSpeed}}}else{if(e.pageY-a(document).scrollTop()<j.scrollSensitivity){f=a(document).scrollTop(a(document).scrollTop()-j.scrollSpeed)}else{if(a(window).height()-(e.pageY-a(document).scrollTop())<j.scrollSensitivity){f=a(document).scrollTop(a(document).scrollTop()+j.scrollSpeed)}}if(e.pageX-a(document).scrollLeft()<j.scrollSensitivity){f=a(document).scrollLeft(a(document).scrollLeft()-j.scrollSpeed)}else{if(a(window).width()-(e.pageX-a(document).scrollLeft())<j.scrollSensitivity){f=a(document).scrollLeft(a(document).scrollLeft()+j.scrollSpeed)}}}if(f!==false&&a.ui.ddmanager&&!j.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,e)}}this.positionAbs=this._convertPositionTo("absolute");var p=this.placeholder.offset().top;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 n=this.items.length-1;n>=0;n--){var q=this.items[n],k=q.item[0],d=this._intersectsWithPointer(q);if(!d){continue}if(k!=this.currentItem[0]&&this.placeholder[d==1?"next":"prev"]()[0]!=k&&!a.contains(this.placeholder[0],k)&&(this.options.type=="semi-dynamic"?!a.contains(this.element[0],k):true)){a(k).mouseenter();this.direction=d==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(q)){a(k).mouseleave();this._rearrange(e,q)}else{break}this._clearEmpty(k);this._trigger("change",e,this._uiHash());break}}var h=(this.placeholder[0].parentNode.parentNode&&a(this.placeholder[0].parentNode.parentNode).closest(".ui-sortable").length)?a(this.placeholder[0].parentNode.parentNode):null,c=this._getLevel(this.placeholder),l=this._getChildLevels(this.helper);var m=this.placeholder[0].previousSibling?a(this.placeholder[0].previousSibling):null;if(m!=null){while(m[0].nodeName.toLowerCase()!="li"||m[0]==this.currentItem[0]||m[0]==this.helper[0]){if(m[0].previousSibling){m=a(m[0].previousSibling)}else{m=null;break}}}var b=this.placeholder[0].nextSibling?a(this.placeholder[0].nextSibling):null;if(b!=null){while(b[0].nodeName.toLowerCase()!="li"||b[0]==this.currentItem[0]||b[0]==this.helper[0]){if(b[0].nextSibling){b=a(b[0].nextSibling)}else{b=null;break}}}var g=document.createElement(j.listType);this.beyondMaxLevels=0;if(h!=null&&b==null&&(j.rtl&&(this.positionAbs.left+this.helper.outerWidth()>h.offset().left+h.outerWidth())||!j.rtl&&(this.positionAbs.left<h.offset().left))){h.after(this.placeholder[0]);this._clearEmpty(h[0]);this._trigger("change",e,this._uiHash())}else{if(m!=null&&(j.rtl&&(this.positionAbs.left+this.helper.outerWidth()<m.offset().left+m.outerWidth()-j.tabSize)||!j.rtl&&(this.positionAbs.left>m.offset().left+j.tabSize))){this._isAllowed(m,c,c+l+1);if(!m.children(j.listType).length){m[0].appendChild(g)}if(p&&(p<=m.offset().top)){m.children(j.listType).prepend(this.placeholder)}else{m.children(j.listType)[0].appendChild(this.placeholder[0])}this._trigger("change",e,this._uiHash())}else{this._isAllowed(h,c,c+l)}}this._contactContainers(e);if(a.ui.ddmanager){a.ui.ddmanager.drag(this,e)}this._trigger("sort",e,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(d,e){if(this.beyondMaxLevels){this.placeholder.removeClass(this.options.errorClass);if(this.domPosition.prev){a(this.domPosition.prev).after(this.placeholder)}else{a(this.domPosition.parent).prepend(this.placeholder)}this._trigger("revert",d,this._uiHash())}for(var b=this.items.length-1;b>=0;b--){var c=this.items[b].item[0];this._clearEmpty(c)}a.ui.sortable.prototype._mouseStop.apply(this,arguments)},serialize:function(c){var e=a.extend({},this.options,c),b=this._getItemsAsjQuery(e&&e.connected),d=[];a(b).each(function(){var g=(a(e.item||this).attr(e.attribute||"id")||"").match(e.expression||(/(.+)[-=_](.+)/)),f=(a(e.item||this).parent(e.listType).parent(e.items).attr(e.attribute||"id")||"").match(e.expression||(/(.+)[-=_](.+)/));if(g){d.push(((e.key||g[1])+"["+(e.key&&e.expression?g[1]:g[2])+"]")+"="+(f?(e.key&&e.expression?f[1]:f[2]):e.rootID))}});if(!d.length&&e.key){d.push(e.key+"=")}return d.join("&")},toHierarchy:function(e){var f=a.extend({},this.options,e),c=f.startDepthCount||0,d=[];a(this.element).children(f.items).each(function(){var g=b(this);d.push(g)});return d;function b(h){var i=(a(h).attr(f.attribute||"id")||"").match(f.expression||(/(.+)[-=_](.+)/));if(i){var g={id:i[2]};if(a(h).children(f.listType).children(f.items).length>0){g.children=[];a(h).children(f.listType).children(f.items).each(function(){var j=b(this);g.children.push(j)})}return g}}},toArray:function(d){var g=a.extend({},this.options,d),b=g.startDepthCount||0,c=[],e=2;c.push({item_id:g.rootID,parent_id:"none",depth:b,left:"1",right:(a(g.items,this.element).length+1)*2});a(this.element).children(g.items).each(function(){e=f(this,b+1,e)});c=c.sort(function(i,h){return(i.left-h.left)});return c;function f(k,m,l){var j=l+1,n,i;if(a(k).children(g.listType).children(g.items).length>0){m++;a(k).children(g.listType).children(g.items).each(function(){j=f(a(this),m,j)});m--}n=(a(k).attr(g.attribute||"id")).match(g.expression||(/(.+)[-=_](.+)/));if(m===b+1){i=g.rootID}else{var h=(a(k).parent(g.listType).parent(g.items).attr(g.attribute||"id")).match(g.expression||(/(.+)[-=_](.+)/));i=h[2]}if(n){c.push({item_id:n[2],parent_id:i,depth:m,left:l,right:j})}l=j+1;return l}},_clearEmpty:function(b){var c=a(b).children(this.options.listType);if(c.length&&!c.children().length&&!this.options.doNotClear){c.remove()}},_getLevel:function(b){var d=1;if(this.options.listType){var c=b.closest(this.options.listType);while(c&&c.length>0&&!c.is(".ui-sortable")){d++;c=c.parent().closest(this.options.listType)}}return d},_getChildLevels:function(d,f){var c=this,e=this.options,b=0;f=f||0;a(d).children(e.listType).children(e.items).each(function(g,h){b=Math.max(c._getChildLevels(h,f+1),b)});return f?b+1:b},_isAllowed:function(b,g,e){var f=this.options,d=a(this.domPosition.parent).hasClass("ui-sortable")?true:false,c=this.placeholder.closest(".ui-sortable").nestedSortable("option","maxLevels");if(!f.isAllowed(this.currentItem,b)||b&&b.hasClass(f.disableNesting)||f.protectRoot&&(b==null&&!d||d&&g>1)){this.placeholder.addClass(f.errorClass);if(c<e&&c!=0){this.beyondMaxLevels=e-c}else{this.beyondMaxLevels=1}}else{if(c<e&&c!=0){this.placeholder.addClass(f.errorClass);this.beyondMaxLevels=e-c}else{this.placeholder.removeClass(f.errorClass);this.beyondMaxLevels=0}}}}));a.mjs.nestedSortable.prototype.options=a.extend({},a.ui.sortable.prototype.options,a.mjs.nestedSortable.prototype.options)})(jQuery);
\ No newline at end of file
diff --git a/js/jquery.validate.min.js b/js/jquery.validate.min.js
new file mode 100644 (file)
index 0000000..edd6452
--- /dev/null
@@ -0,0 +1,51 @@
+/**
+ * jQuery Validation Plugin 1.9.0
+ *
+ * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
+ * http://docs.jquery.com/Plugins/Validation
+ *
+ * Copyright (c) 2006 - 2011 Jörn Zaefferer
+ *
+ * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+ */
+(function(c){c.extend(c.fn,{validate:function(a){if(this.length){var b=c.data(this[0],"validator");if(b)return b;this.attr("novalidate","novalidate");b=new c.validator(a,this[0]);c.data(this[0],"validator",b);if(b.settings.onsubmit){a=this.find("input, button");a.filter(".cancel").click(function(){b.cancelSubmit=true});b.settings.submitHandler&&a.filter(":submit").click(function(){b.submitButton=this});this.submit(function(d){function e(){if(b.settings.submitHandler){if(b.submitButton)var f=c("<input type='hidden'/>").attr("name",
+b.submitButton.name).val(b.submitButton.value).appendTo(b.currentForm);b.settings.submitHandler.call(b,b.currentForm);b.submitButton&&f.remove();return false}return true}b.settings.debug&&d.preventDefault();if(b.cancelSubmit){b.cancelSubmit=false;return e()}if(b.form()){if(b.pendingRequest){b.formSubmitted=true;return false}return e()}else{b.focusInvalid();return false}})}return b}else a&&a.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing")},valid:function(){if(c(this[0]).is("form"))return this.validate().form();
+else{var a=true,b=c(this[0].form).validate();this.each(function(){a&=b.element(this)});return a}},removeAttrs:function(a){var b={},d=this;c.each(a.split(/\s/),function(e,f){b[f]=d.attr(f);d.removeAttr(f)});return b},rules:function(a,b){var d=this[0];if(a){var e=c.data(d.form,"validator").settings,f=e.rules,g=c.validator.staticRules(d);switch(a){case "add":c.extend(g,c.validator.normalizeRule(b));f[d.name]=g;if(b.messages)e.messages[d.name]=c.extend(e.messages[d.name],b.messages);break;case "remove":if(!b){delete f[d.name];
+return g}var h={};c.each(b.split(/\s/),function(j,i){h[i]=g[i];delete g[i]});return h}}d=c.validator.normalizeRules(c.extend({},c.validator.metadataRules(d),c.validator.classRules(d),c.validator.attributeRules(d),c.validator.staticRules(d)),d);if(d.required){e=d.required;delete d.required;d=c.extend({required:e},d)}return d}});c.extend(c.expr[":"],{blank:function(a){return!c.trim(""+a.value)},filled:function(a){return!!c.trim(""+a.value)},unchecked:function(a){return!a.checked}});c.validator=function(a,
+b){this.settings=c.extend(true,{},c.validator.defaults,a);this.currentForm=b;this.init()};c.validator.format=function(a,b){if(arguments.length==1)return function(){var d=c.makeArray(arguments);d.unshift(a);return c.validator.format.apply(this,d)};if(arguments.length>2&&b.constructor!=Array)b=c.makeArray(arguments).slice(1);if(b.constructor!=Array)b=[b];c.each(b,function(d,e){a=a.replace(RegExp("\\{"+d+"\\}","g"),e)});return a};c.extend(c.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",
+validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:c([]),errorLabelContainer:c([]),onsubmit:true,ignore:":hidden",ignoreTitle:false,onfocusin:function(a){this.lastActive=a;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass);this.addWrapper(this.errorsFor(a)).hide()}},onfocusout:function(a){if(!this.checkable(a)&&(a.name in this.submitted||!this.optional(a)))this.element(a)},
+onkeyup:function(a){if(a.name in this.submitted||a==this.lastElement)this.element(a)},onclick:function(a){if(a.name in this.submitted)this.element(a);else a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(a,b,d){a.type==="radio"?this.findByName(a.name).addClass(b).removeClass(d):c(a).addClass(b).removeClass(d)},unhighlight:function(a,b,d){a.type==="radio"?this.findByName(a.name).removeClass(b).addClass(d):c(a).removeClass(b).addClass(d)}},setDefaults:function(a){c.extend(c.validator.defaults,
+a)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:c.validator.format("Please enter no more than {0} characters."),
+minlength:c.validator.format("Please enter at least {0} characters."),rangelength:c.validator.format("Please enter a value between {0} and {1} characters long."),range:c.validator.format("Please enter a value between {0} and {1}."),max:c.validator.format("Please enter a value less than or equal to {0}."),min:c.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){function a(e){var f=c.data(this[0].form,"validator"),g="on"+e.type.replace(/^validate/,
+"");f.settings[g]&&f.settings[g].call(f,this[0],e)}this.labelContainer=c(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||c(this.currentForm);this.containers=c(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var b=this.groups={};c.each(this.settings.groups,function(e,f){c.each(f.split(/\s/),function(g,h){b[h]=e})});var d=
+this.settings.rules;c.each(d,function(e,f){d[e]=c.validator.normalizeRule(f)});c(this.currentForm).validateDelegate("[type='text'], [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ","focusin focusout keyup",a).validateDelegate("[type='radio'], [type='checkbox'], select, option","click",
+a);this.settings.invalidHandler&&c(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){this.checkForm();c.extend(this.submitted,this.errorMap);this.invalid=c.extend({},this.errorMap);this.valid()||c(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(a){this.lastElement=
+a=this.validationTargetFor(this.clean(a));this.prepareElement(a);this.currentElements=c(a);var b=this.check(a);if(b)delete this.invalid[a.name];else this.invalid[a.name]=true;if(!this.numberOfInvalids())this.toHide=this.toHide.add(this.containers);this.showErrors();return b},showErrors:function(a){if(a){c.extend(this.errorMap,a);this.errorList=[];for(var b in a)this.errorList.push({message:a[b],element:this.findByName(b)[0]});this.successList=c.grep(this.successList,function(d){return!(d.name in a)})}this.settings.showErrors?
+this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){c.fn.resetForm&&c(this.currentForm).resetForm();this.submitted={};this.lastElement=null;this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b=0,d;for(d in a)b++;return b},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()==
+0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{c(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(a){}},findLastActive:function(){var a=this.lastActive;return a&&c.grep(this.errorList,function(b){return b.element.name==a.name}).length==1&&a},elements:function(){var a=this,b={};return c(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&
+a.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in b||!a.objectLength(c(this).rules()))return false;return b[this.name]=true})},clean:function(a){return c(a)[0]},errors:function(){return c(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=c([]);this.toHide=c([]);this.currentElements=c([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)},
+prepareElement:function(a){this.reset();this.toHide=this.errorsFor(a)},check:function(a){a=this.validationTargetFor(this.clean(a));var b=c(a).rules(),d=false,e;for(e in b){var f={method:e,parameters:b[e]};try{var g=c.validator.methods[e].call(this,a.value.replace(/\r/g,""),a,f.parameters);if(g=="dependency-mismatch")d=true;else{d=false;if(g=="pending"){this.toHide=this.toHide.not(this.errorsFor(a));return}if(!g){this.formatAndAdd(a,f);return false}}}catch(h){this.settings.debug&&window.console&&console.log("exception occured when checking element "+
+a.id+", check the '"+f.method+"' method",h);throw h;}}if(!d){this.objectLength(b)&&this.successList.push(a);return true}},customMetaMessage:function(a,b){if(c.metadata){var d=this.settings.meta?c(a).metadata()[this.settings.meta]:c(a).metadata();return d&&d.messages&&d.messages[b]}},customMessage:function(a,b){var d=this.settings.messages[a];return d&&(d.constructor==String?d:d[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(arguments[a]!==undefined)return arguments[a]},defaultMessage:function(a,
+b){return this.findDefined(this.customMessage(a.name,b),this.customMetaMessage(a,b),!this.settings.ignoreTitle&&a.title||undefined,c.validator.messages[b],"<strong>Warning: No message defined for "+a.name+"</strong>")},formatAndAdd:function(a,b){var d=this.defaultMessage(a,b.method),e=/\$?\{(\d+)\}/g;if(typeof d=="function")d=d.call(this,b.parameters,a);else if(e.test(d))d=jQuery.format(d.replace(e,"{$1}"),b.parameters);this.errorList.push({message:d,element:a});this.errorMap[a.name]=d;this.submitted[a.name]=
+d},addWrapper:function(a){if(this.settings.wrapper)a=a.add(a.parent(this.settings.wrapper));return a},defaultShowErrors:function(){for(var a=0;this.errorList[a];a++){var b=this.errorList[a];this.settings.highlight&&this.settings.highlight.call(this,b.element,this.settings.errorClass,this.settings.validClass);this.showLabel(b.element,b.message)}if(this.errorList.length)this.toShow=this.toShow.add(this.containers);if(this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);
+if(this.settings.unhighlight){a=0;for(b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass)}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return c(this.errorList).map(function(){return this.element})},showLabel:function(a,b){var d=this.errorsFor(a);if(d.length){d.removeClass(this.settings.validClass).addClass(this.settings.errorClass);
+d.attr("generated")&&d.html(b)}else{d=c("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(a),generated:true}).addClass(this.settings.errorClass).html(b||"");if(this.settings.wrapper)d=d.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();this.labelContainer.append(d).length||(this.settings.errorPlacement?this.settings.errorPlacement(d,c(a)):d.insertAfter(a))}if(!b&&this.settings.success){d.text("");typeof this.settings.success=="string"?d.addClass(this.settings.success):this.settings.success(d)}this.toShow=
+this.toShow.add(d)},errorsFor:function(a){var b=this.idOrName(a);return this.errors().filter(function(){return c(this).attr("for")==b})},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(a){if(this.checkable(a))a=this.findByName(a.name).not(this.settings.ignore)[0];return a},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(a){var b=this.currentForm;return c(document.getElementsByName(a)).map(function(d,
+e){return e.form==b&&e.name==a&&e||null})},getLength:function(a,b){switch(b.nodeName.toLowerCase()){case "select":return c("option:selected",b).length;case "input":if(this.checkable(b))return this.findByName(b.name).filter(":checked").length}return a.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):true},dependTypes:{"boolean":function(a){return a},string:function(a,b){return!!c(a,b.form).length},"function":function(a,b){return a(b)}},optional:function(a){return!c.validator.methods.required.call(this,
+c.trim(a.value),a)&&"dependency-mismatch"},startRequest:function(a){if(!this.pending[a.name]){this.pendingRequest++;this.pending[a.name]=true}},stopRequest:function(a,b){this.pendingRequest--;if(this.pendingRequest<0)this.pendingRequest=0;delete this.pending[a.name];if(b&&this.pendingRequest==0&&this.formSubmitted&&this.form()){c(this.currentForm).submit();this.formSubmitted=false}else if(!b&&this.pendingRequest==0&&this.formSubmitted){c(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted=
+false}},previousValue:function(a){return c.data(a,"previousValue")||c.data(a,"previousValue",{old:null,valid:true,message:this.defaultMessage(a,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(a,b){a.constructor==String?this.classRuleSettings[a]=b:c.extend(this.classRuleSettings,
+a)},classRules:function(a){var b={};(a=c(a).attr("class"))&&c.each(a.split(" "),function(){this in c.validator.classRuleSettings&&c.extend(b,c.validator.classRuleSettings[this])});return b},attributeRules:function(a){var b={};a=c(a);for(var d in c.validator.methods){var e;if(e=d==="required"&&typeof c.fn.prop==="function"?a.prop(d):a.attr(d))b[d]=e;else if(a[0].getAttribute("type")===d)b[d]=true}b.maxlength&&/-1|2147483647|524288/.test(b.maxlength)&&delete b.maxlength;return b},metadataRules:function(a){if(!c.metadata)return{};
+var b=c.data(a.form,"validator").settings.meta;return b?c(a).metadata()[b]:c(a).metadata()},staticRules:function(a){var b={},d=c.data(a.form,"validator");if(d.settings.rules)b=c.validator.normalizeRule(d.settings.rules[a.name])||{};return b},normalizeRules:function(a,b){c.each(a,function(d,e){if(e===false)delete a[d];else if(e.param||e.depends){var f=true;switch(typeof e.depends){case "string":f=!!c(e.depends,b.form).length;break;case "function":f=e.depends.call(b,b)}if(f)a[d]=e.param!==undefined?
+e.param:true;else delete a[d]}});c.each(a,function(d,e){a[d]=c.isFunction(e)?e(b):e});c.each(["minlength","maxlength","min","max"],function(){if(a[this])a[this]=Number(a[this])});c.each(["rangelength","range"],function(){if(a[this])a[this]=[Number(a[this][0]),Number(a[this][1])]});if(c.validator.autoCreateRanges){if(a.min&&a.max){a.range=[a.min,a.max];delete a.min;delete a.max}if(a.minlength&&a.maxlength){a.rangelength=[a.minlength,a.maxlength];delete a.minlength;delete a.maxlength}}a.messages&&delete a.messages;
+return a},normalizeRule:function(a){if(typeof a=="string"){var b={};c.each(a.split(/\s/),function(){b[this]=true});a=b}return a},addMethod:function(a,b,d){c.validator.methods[a]=b;c.validator.messages[a]=d!=undefined?d:c.validator.messages[a];b.length<3&&c.validator.addClassRules(a,c.validator.normalizeRule(a))},methods:{required:function(a,b,d){if(!this.depend(d,b))return"dependency-mismatch";switch(b.nodeName.toLowerCase()){case "select":return(a=c(b).val())&&a.length>0;case "input":if(this.checkable(b))return this.getLength(a,
+b)>0;default:return c.trim(a).length>0}},remote:function(a,b,d){if(this.optional(b))return"dependency-mismatch";var e=this.previousValue(b);this.settings.messages[b.name]||(this.settings.messages[b.name]={});e.originalMessage=this.settings.messages[b.name].remote;this.settings.messages[b.name].remote=e.message;d=typeof d=="string"&&{url:d}||d;if(this.pending[b.name])return"pending";if(e.old===a)return e.valid;e.old=a;var f=this;this.startRequest(b);var g={};g[b.name]=a;c.ajax(c.extend(true,{url:d,
+mode:"abort",port:"validate"+b.name,dataType:"json",data:g,success:function(h){f.settings.messages[b.name].remote=e.originalMessage;var j=h===true;if(j){var i=f.formSubmitted;f.prepareElement(b);f.formSubmitted=i;f.successList.push(b);f.showErrors()}else{i={};h=h||f.defaultMessage(b,"remote");i[b.name]=e.message=c.isFunction(h)?h(a):h;f.showErrors(i)}e.valid=j;f.stopRequest(b,j)}},d));return"pending"},minlength:function(a,b,d){return this.optional(b)||this.getLength(c.trim(a),b)>=d},maxlength:function(a,
+b,d){return this.optional(b)||this.getLength(c.trim(a),b)<=d},rangelength:function(a,b,d){a=this.getLength(c.trim(a),b);return this.optional(b)||a>=d[0]&&a<=d[1]},min:function(a,b,d){return this.optional(b)||a>=d},max:function(a,b,d){return this.optional(b)||a<=d},range:function(a,b,d){return this.optional(b)||a>=d[0]&&a<=d[1]},email:function(a,b){return this.optional(b)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(a)},
+url:function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},
+date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a))},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 -]+/.test(a))return false;var d=0,e=0,f=false;a=a.replace(/\D/g,"");for(var g=a.length-1;g>=
+0;g--){e=a.charAt(g);e=parseInt(e,10);if(f)if((e*=2)>9)e-=9;d+=e;f=!f}return d%10==0},accept:function(a,b,d){d=typeof d=="string"?d.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(b)||a.match(RegExp(".("+d+")$","i"))},equalTo:function(a,b,d){d=c(d).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){c(b).valid()});return a==d.val()}}});c.format=c.validator.format})(jQuery);
+(function(c){var a={};if(c.ajaxPrefilter)c.ajaxPrefilter(function(d,e,f){e=d.port;if(d.mode=="abort"){a[e]&&a[e].abort();a[e]=f}});else{var b=c.ajax;c.ajax=function(d){var e=("port"in d?d:c.ajaxSettings).port;if(("mode"in d?d:c.ajaxSettings).mode=="abort"){a[e]&&a[e].abort();return a[e]=b.apply(this,arguments)}return b.apply(this,arguments)}}})(jQuery);
+(function(c){!jQuery.event.special.focusin&&!jQuery.event.special.focusout&&document.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.handle.call(this,e)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)},handler:function(e){arguments[0]=c.event.fix(e);arguments[0].type=b;return c.event.handle.apply(this,arguments)}}});c.extend(c.fn,{validateDelegate:function(a,
+b,d){return this.bind(b,function(e){var f=c(e.target);if(f.is(a))return d.apply(f,arguments)})}})})(jQuery);
diff --git a/js/swpm-admin.js b/js/swpm-admin.js
new file mode 100644 (file)
index 0000000..0a1ebf6
--- /dev/null
@@ -0,0 +1,665 @@
+jQuery(document).ready(function ($) {
+
+    if (window.VfbAdminPages) {
+        var obj = VfbAdminPages.swpm_pages;
+
+        // Only add meta box toggles to main form builder
+        if (pagenow == obj['swpm']) {
+            $('.if-js-closed').removeClass('if-js-closed').addClass('closed');
+            postboxes.add_postbox_toggles(obj['swpm']);
+        }
+    }
+
+    // Initialize our tooltip timeout var
+    var tooltip_timeout = null;
+
+    // !Display/Hide the tooltip
+    $(document).on('mouseenter mouseleave', '.swpm-tooltip', function (e) {
+        // If mouse over tooltips
+        if (e.type == 'mouseenter') {
+            // Clear the timeout of our tooltip, if it exists
+            if (tooltip_timeout) {
+                clearTimeout(tooltip_timeout);
+                tooltip_timeout = null;
+            }
+
+            var tip_title = $(this).attr('title'),
+                    tip = $(this).attr('rel'),
+                    width = $(this).width();
+
+            // Create our tooltip popup
+            $(this).append('<div class="swpm-tooltip-popup"><h3>' + tip_title + '</h3><p>' + tip + '</p></div>');
+
+            // Save the title before we remove it
+            $.data(this, 'title', tip_title);
+
+            // Remove the title so the browser tooltip doesn't display
+            this.title = '';
+
+            // Move over the div so it's not on top of the link
+            $(this).find('.swpm-tooltip-popup').css({left: width + 22});
+
+            // Set a timer for hover intent
+            tooltip_timeout = setTimeout(function () {
+                $('.swpm-tooltip-popup').fadeIn(300);
+            }, 500);
+        }
+        else {
+            // Add the title back
+            this.title = $.data(this, 'title');
+
+            // Close the tooltip
+            $('.swpm-tooltip-popup').fadeOut(500);
+
+            // Remove the appended tooltip div
+            $(this).children().remove();
+        }
+    });
+
+    // !Dynamically add options for Select, Radio, and Checkbox
+    $(document).on('click', 'a.swpm-add-option', function (e) {
+        e.preventDefault();
+
+        var clones = $(this).parent().siblings('.swpm-cloned-options'),
+                children = clones.children(),
+                num = children.length, newNum = num + 1,
+                last_child = children[ num - 1 ],
+                id = $(last_child).attr('id'),
+                label = $(last_child).children('label').attr('for');
+
+        // Strip out the last number (i.e. count) from the for to make a new ID
+        var new_id = label.replace(new RegExp(/(\d+)$/g), ''),
+                div_id = id.replace(new RegExp(/(\d+)$/g), '');
+
+        // Clone this div and change the ID
+        var newElem = $('#' + id).clone().attr('id', div_id + newNum);
+
+        // Change the IDs of the for and input to match
+        newElem.children('label').attr('for', new_id + newNum);
+        newElem.find('input[type="text"]').attr('id', new_id + newNum);
+        newElem.find('input[type="radio"]').attr('value', newNum);
+
+        // Insert our cloned option after the last one
+        $('#' + div_id + num).after(newElem);
+    });
+
+    // !Dynamically delete options for Select, Radio, and Checkbox
+    $(document).on('click', 'a.deleteOption', function (e) {
+        e.preventDefault();
+
+        // Get how many options we already have
+        var num = $(this).parent().parent().find('.clonedOption').length;
+
+        // If there's only one option left, don't let someone delete it
+        if (num - 1 == 0) {
+            alert('You must have at least one option.');
+        }
+        else {
+            $(this).closest('div').remove();
+        }
+    });
+
+    // !Sort options
+    $('.swpm-cloned-options').sortable({
+        items: 'div.option'
+    });
+
+    // !Add values for the E-mail(s) To field
+    $(document).on('click', 'a.addEmail', function (e) {
+        e.preventDefault();
+
+        // Get how many options we already have
+        var num = $(this).closest('#email-details').find('.clonedOption').length;
+        // Add one to how many options
+        var newNum = num + 1;
+
+        // Get this div's ID
+        var id = $(this).closest('div').attr('id');
+
+        // Get this div's for attribute, which matches the input's ID
+        var label_for = $(this).closest('div').find('label').attr('for');
+
+        // Strip out the last number (i.e. count) from the for to make a new ID
+        var new_id = label_for.replace(new RegExp(/(\d+)$/g), '');
+        var div_id = id.replace(new RegExp(/(\d+)$/g), '');
+
+        // Clone this div and change the ID
+        var newElem = $('#' + id).clone().attr('id', div_id + newNum);
+
+        // Change the IDs of the for and input to match
+        newElem.find('label').attr('for', new_id + newNum);
+        newElem.find('input').attr('id', new_id + newNum);
+
+        // Insert our cloned option after the last one
+        $('#' + div_id + num).after(newElem);
+    });
+
+    // !Delete values for the E-mail(s) To field
+    $(document).on('click', 'a.deleteEmail', function (e) {
+        e.preventDefault();
+
+        // Get how many options we already have
+        var num = $(this).closest('#email-details').find('.clonedOption').length
+
+        // If there's only one option left, don't let someone delete it
+        if (num - 1 == 0) {
+            alert('You must have at least one option.');
+        }
+        else {
+            $(this).closest('div').remove();
+        }
+    });
+
+    // !Uncheck Radio button for Options
+    $('.option input[type="radio"]').mousedown(function () {
+        // Save previous value before .click
+        $(this).attr('previousValue', $(this).prop('checked'));
+    }).click(function () {
+        var previousValue = $(this).attr('previousValue');
+
+        // Change checked value if previous value is true
+        if (previousValue == 'true')
+            $(this).prop('checked', false);
+    });
+
+    // !Delete menu or entry
+    $('.menu-delete').click(function ( ) {
+
+        var message = ($(this).hasClass('entry-delete')) ? 'entry' : 'form';
+
+        var confirm_delete = confirm("You are about to permanently delete this " + message + " and all of its data.\n'Cancel' to stop, 'OK' to delete.");
+
+        if (confirm_delete)
+            return true;
+
+        return false;
+    });
+
+    // !Field item details box toggle
+    $(document).on('click', 'a.item-edit', function (e) {
+        e.preventDefault();
+
+        $(e.target).closest('li').children('.menu-item-settings').slideToggle('fast');
+
+        $(this).toggleClass('opened');
+        var item = $(e.target).closest('dl');
+
+        if (item.hasClass('swpm-menu-item-inactive')) {
+            item.removeClass('swpm-menu-item-inactive')
+                    .addClass('swpm-menu-item-active');
+        }
+        else {
+            item.removeClass('swpm-menu-item-active')
+                    .addClass('swpm-menu-item-inactive');
+        }
+    });
+
+    // !Fieldset first check
+    function is_fieldset_first(item) {
+        if ('FIELDSET' !== item)
+            $('#swpm-fieldset-first-warning').show();
+        else
+            $('#swpm-fieldset-first-warning').hide();
+    }
+
+    // !Nest and Sort fields
+    $('#swpm-menu-to-edit').nestedSortable({
+        listType: 'ul',
+        maxLevels: 3,
+        handle: '.swpm-menu-item-handle',
+        placeholder: 'swpm-sortable-placeholder',
+        forcePlaceholderSize: true,
+        forceHelperSize: true,
+        tolerance: 'pointer',
+        toleranceElement: '> dl',
+        items: 'li:not(.ui-state-disabled)',
+        create: function (event, ui) {
+            // Make sure the page doesn't jump when at the bottom
+            $(this).css('min-height', $(this).height());
+        },
+        start: function (event, ui) {
+            // Adjust placeholder size for how many items we're dragging
+            ui.placeholder.height(ui.item.height());
+        },
+        stop: function (event, ui) {
+            // Get the first item after sorting
+            var sorted_first_item = $('#swpm-menu-to-edit .item-type:first').text();
+
+            opts = {
+                url: ajaxurl,
+                type: 'POST',
+                async: true,
+                cache: false,
+                data: {
+                    action: 'swpm_form_builder_sort_field',
+                    order: $(this).nestedSortable('toArray')
+                },
+                success: function (response) {
+                    $('#loading-animation').hide(); // Hide the loading animation
+
+                    is_fieldset_first(sorted_first_item);
+
+                    return;
+                }
+            };
+
+            $.ajax(opts);
+        }
+    });
+
+    // !Get the clicked value for creating a new field item
+    /*$( '#form-items .swpm-draggable-form-items' ).click( function( e ) {
+     e.preventDefault();
+     $( this ).data( 'submit_value', $( this ).data('type') );
+     });*/
+
+    // !Create fields
+    $('#form-items .swpm-draggable-form-items').click(function (e) {
+        e.preventDefault();
+
+        var d = $(this).closest('form').serializeArray(),
+                field_type = $(this).data('type'),
+                field_key = $(this).data('key'),
+                previous = $('#swpm-menu-to-edit li.ui-state-disabled:first').attr('id').match(new RegExp(/(\d+)$/g))[0];
+
+        $('img.waiting').show();
+        $.post(ajaxurl,
+                {
+                    action: 'swpm_form_builder_create_field',
+                    data: d,
+                    field_type: field_type,
+                    field_key: field_key,
+                    previous: previous,
+                    page: pagenow,
+                    nonce: $('#_wpnonce').val()
+                }
+        ).done(function (response) {
+            $('img.waiting').hide();
+
+            // Insert the new field last and before the Submit button
+            $(response).hide().insertBefore('#swpm-menu-to-edit li.ui-state-disabled:first').fadeIn();
+        });
+    });
+
+    // !Delete fields
+    $(document).on('click', 'a.item-delete', function (e) {
+
+        e.preventDefault();
+
+        var data = childs = new Array(),
+                parent = 0,
+                href = $(this).attr('href'), url = href.split('&'),
+                confirm_delete = confirm("You are about to permanently delete this field.\n'Cancel' to stop, 'OK' to delete.");
+
+        if (!confirm_delete)
+            return false;
+
+        for (var i = 0; i < url.length; i++) {
+            // break each pair at the first "=" to obtain the argname and value
+            var pos = url[i].indexOf('=');
+            var argname = url[i].substring(0, pos);
+            var value = url[i].substring(pos + 1);
+
+            data[ argname ] = value;
+        }
+
+        // Find the deleted item's children
+        var children = $(this).closest('.form-item').find('ul').children();
+
+        // Save the children's HTML
+        var child_html = children.parent().html();
+
+        // Loop through each child and get the ID
+        children.each(function (i) {
+            childs[ i ] = $(this).attr('id').match(new RegExp(/(\d+)$/g))[0];
+        });
+
+        // The closest parent (<li>) to the child items
+        var t = $(this).closest('li.form-item').parents('li.form-item');
+
+        if (t.length)
+            parent = t.attr('id').match(new RegExp(/(\d+)$/g))[0];
+
+        $.post(ajaxurl,
+                {
+                    action: 'swpm_form_builder_delete_field',
+                    form: data['form'],
+                    field: data['field'],
+                    child_ids: childs,
+                    parent_id: parent,
+                    page: pagenow,
+                    nonce: data['_wpnonce']
+                }
+        ).done(function (response) {
+            if (response === '0') {
+                return;
+            } // failed to delete
+            $('#form_item_' + data['field']).addClass('deleting').animate({
+                opacity: 0,
+                height: 0
+            }, 350, function () {
+                $(this).before(child_html).remove();
+            });
+        });
+    });
+
+    // !Form Settings
+    $('#form-settings-button').click(function (e) {
+        e.preventDefault();
+
+        $(this).toggleClass('current');
+
+        $('#form-settings').slideToggle('fast');
+
+        var form_id = $('input[name="form_id"]').val(),
+                state = ($(this).hasClass('current')) ? 'opened' : 'closed';
+
+        $.post(ajaxurl,
+                {
+                    action: 'swpm_form_builder_form_settings',
+                    form: form_id,
+                    status: state,
+                    page: pagenow
+                }
+        ).done(function (response) {
+            if (state == 'closed') {
+                $('.settings-links').removeClass('on');
+                $('.settings-links:first').addClass('on');
+                $('.form-details').slideUp('normal');
+                $('.form-details:first').show('normal');
+            }
+        });
+    });
+
+    // !Form Settings - internal links
+    $('.settings-links').click(function (e) {
+        e.preventDefault();
+
+        //Remove the 'on' class from all buttons
+        $('.settings-links').removeClass('on');
+
+        //Always close open slides
+        $('.form-details').slideUp('fast');
+
+        //If the next slide wasn't open, open it
+        if ($(this).next('div').is(':hidden') == true) {
+
+            $(this).addClass('on');
+
+            $(this).next().slideDown('normal');
+        }
+
+        var form_id = $('input[name="form_id"]').val(),
+                accordion = this.hash.replace(/#/g, '');
+
+        $.post(ajaxurl,
+                {
+                    action: 'swpm_form_builder_form_settings',
+                    form: form_id,
+                    accordion: accordion,
+                    page: pagenow
+                }
+        );
+    });
+
+    // !Ask to Save before navigating away from page
+    var swpm_forms_changed = false;
+    $('#swpm-form-builder-management input, #swpm-form-builder-management select, #swpm-form-builder-management textarea').change(function () {
+        swpm_register_change();
+    });
+
+    function swpm_register_change() {
+        swpm_forms_changed = true;
+    }
+
+    window.onbeforeunload = function () {
+        if (swpm_forms_changed)
+            return 'The changes you made will be lost if you navigate away from this page.';
+    };
+
+    $(document).on('submit', '#swpm-form-builder-update', function () {
+        window.onbeforeunload = null;
+    });
+
+    // !Sticky sidebar
+    if ($('.columns-2 #side-sortables').length > 0) {
+        var sidebar = $('#swpm_form_items_meta_box'),
+                sidebar_width = sidebar.width(),
+                offset = sidebar.offset(),
+                next_box = sidebar.nextAll(),
+                hidden = false;
+
+        $(window).on('scroll', function () {
+            if ($(window).scrollTop() > offset.top) {
+
+                sidebar.stop().css({
+                    'top': 55,
+                    'position': 'fixed',
+                    'z-index': '1',
+                    'width': sidebar_width
+                });
+
+                // change opacity of other meta boxes if visible
+                if (next_box.is(':visible')) {
+                    hidden = true;
+                    next_box.stop().css({
+                        'opacity': 0.1
+                    });
+                }
+
+            } else {
+                sidebar.stop().css({
+                    'top': 0,
+                    'position': 'relative'
+                });
+
+                // only change opacity if meta box was changed
+                if (hidden) {
+                    next_box.stop().css({
+                        'opacity': 1
+                    });
+                }
+            }
+            ;
+        });
+    }
+
+    // !Display the selected confirmation type on load
+    var confirmation = $('.form-success-type:checked').val();
+    $('#form-success-message-' + confirmation).show();
+
+    // !Confirmation Message tabs
+    $('.form-success-type').change(function () {
+        var type = $(this).val();
+
+        switch (type) {
+            case 'text' :
+                $('#form-success-message-text').show();
+                $('#form-success-message-page, #form-success-message-redirect').hide();
+                break;
+
+            case 'page' :
+                $('#form-success-message-page').show();
+                $('#form-success-message-text, #form-success-message-redirect').hide();
+                break;
+
+            case 'redirect' :
+                $('#form-success-message-redirect').show();
+                $('#form-success-message-text, #form-success-message-page').hide();
+                break;
+        }
+    });
+
+    // !Field Types tabs
+    $('.swpm-field-types').click(function (e) {
+        e.preventDefault();
+
+        $('#swpm-field-tabs li').removeClass('tabs'); //Remove any "active" class
+        $(this).parent().addClass('tabs'); //Add "active" class to selected tab
+
+        $('.tabs-panel-active').removeClass('tabs-panel-active').addClass('tabs-panel-inactive');
+
+        var activeTab = this.hash; //Find the href attribute value to identify the active tab + content
+        $(activeTab).removeClass('tabs-panel-inactive').addClass('tabs-panel-active');
+    });
+
+    // !Validate the sender details section
+    $('#swpm-form-builder-update').validate({
+        rules: {
+            'form_email_to[]': {
+                email: true
+            },
+            form_email_from: {
+                email: true
+            },
+            form_success_message_redirect: {
+                url: true
+            },
+            form_notification_email_name: {
+                required: function (element) {
+                    return $('#form-notification-setting').is(':checked');
+                }
+            },
+            form_notification_email_from: {
+                required: function (element) {
+                    return $('#form-notification-setting').is(':checked');
+                },
+                email: true
+            },
+            form_notification_email: {
+                required: function (element) {
+                    return $('#form-notification-setting').is(':checked');
+                }
+            }
+        },
+        errorPlacement: function (error, element) {
+            error.insertAfter(element.parent());
+        }
+    });
+
+    $('#swpm-form-builder-new-form').validate();
+
+    // !Sender Name field readonly if the override is active
+    $('#form_email_from_name_override').change(function () {
+        if ($('#form_email_from_name_override').val() == '')
+            $('#form-email-sender-name').prop('readonly', false);
+        else
+            $('#form-email-sender-name').prop('readonly', 'readonly');
+    });
+
+    // !Sender Email field readonly if the override is active
+    $('#form_email_from_override').change(function () {
+        if ($('#form_email_from_override').val() == '')
+            $('#form-email-sender').prop('readonly', false);
+        else
+            $('#form-email-sender').prop('readonly', 'readonly');
+    });
+
+
+    // !Show/Hide display of Notification fields
+    $('#notification-email').toggle($('#form-notification-setting').prop('checked'));
+
+    // !Enable/Disable Notification fields
+    $('#form-notification-setting').change(function () {
+        var checked = $(this).is(':checked');
+
+        if (checked) {
+            $('#notification-email').show();
+            $('#form-notification-email-name, #form-notification-email-from, #form-notification-email, #form-notification-subject, #form-notification-message, #form-notification-entry').prop('disabled', false);
+        }
+        else {
+            $('#notification-email').hide();
+            $('#form-notification-email-name, #form-notification-email-from, #form-notification-email, #form-notification-subject, #form-notification-message, #form-notification-entry').prop('disabled', 'disabled');
+        }
+    });
+
+    // !Entries Select All
+    $('#swpm-export-select-all').click(function (e) {
+        e.preventDefault();
+
+        $('#swpm-export-entries-fields input[type="checkbox"]').prop('checked', true);
+    });
+
+    $('#swpm-export-unselect-all').click(function (e) {
+        e.preventDefault();
+
+        $('#swpm-export-entries-fields input[type="checkbox"]').prop('checked', false);
+    });
+
+    // !Entries fields
+    $('#swpm-export-entries-forms').change(function () {
+        var id = $(this).val(),
+                count = swpm_entries_count(id);
+
+        $('#swpm-export-entries-fields').html('Loading...');
+
+        $.get(ajaxurl,
+                {
+                    action: 'swpm_form_builder_export_load_options',
+                    id: id,
+                    count: count,
+                    page: pagenow
+                }
+        ).done(function (response) {
+            $('#swpm-export-entries-fields').html(response);
+        }).fail(function (response) {
+            $('#swpm-export-entries-fields').html('Error loading entry fields.');
+        });
+    });
+
+    $('#swpm-export-entries-rows').change(function () {
+        var id = $('#swpm-export-entries-forms').val();
+
+        var page = $(this).val();
+
+        $('#swpm-export-entries-fields').html('Loading...');
+
+        $.get(ajaxurl,
+                {
+                    action: 'swpm_form_builder_export_load_options',
+                    id: id,
+                    offset: page,
+                    page: pagenow
+                }
+        ).done(function (response) {
+            $('#swpm-export-entries-fields').html(response);
+        }).fail(function (response) {
+            $('#swpm-export-entries-fields').html('Error loading entry fields.');
+        });
+    });
+
+    function swpm_entries_count(id) {
+        var count = '';
+
+        $.ajax(ajaxurl, {
+            async: false,
+            data:
+                    {
+                        action: 'swpm_form_builder_export_entries_count',
+                        id: id,
+                        page: pagenow
+                    }
+        }).done(function (response) {
+            if (response > 1000) {
+
+                $('#swpm-export-entries-rows').empty();
+
+                var num_pages = Math.ceil(parseInt(response) / 1000);
+
+                for (var i = 1; i <= num_pages; i++) {
+                    $('#swpm-export-entries-rows').append($('<option></option>').attr('value', i).text(i));
+                }
+
+                $('#swpm-export-entries-pages').show();
+            }
+            else {
+                $('#swpm-export-entries-pages').hide();
+            }
+
+            count = response;
+        }).fail(function (response) {
+        });
+
+        return count;
+    }
+});
\ No newline at end of file
diff --git a/js/swpm-admin.min.js b/js/swpm-admin.min.js
new file mode 100644 (file)
index 0000000..b0e1f0d
--- /dev/null
@@ -0,0 +1 @@
+jQuery(document).ready(function(h){if(window.VfbAdminPages){var g=VfbAdminPages.swpm_pages;if(pagenow==g.swpm){h(".if-js-closed").removeClass("if-js-closed").addClass("closed");postboxes.add_postbox_toggles(g.swpm)}}var c=null;h(document).on("mouseenter mouseleave",".swpm-tooltip",function(q){if(q.type=="mouseenter"){if(c){clearTimeout(c);c=null}var n=h(this).attr("title"),p=h(this).attr("rel"),o=h(this).width();h(this).append('<div class="swpm-tooltip-popup"><h3>'+n+"</h3><p>"+p+"</p></div>");h.data(this,"title",n);this.title="";h(this).find(".swpm-tooltip-popup").css({left:o+22});c=setTimeout(function(){h(".swpm-tooltip-popup").fadeIn(300)},500)}else{this.title=h.data(this,"title");h(".swpm-tooltip-popup").fadeOut(500);h(this).children().remove()}});h(document).on("click","a.swpm-add-option",function(t){t.preventDefault();var x=h(this).parent().siblings(".swpm-cloned-options"),p=x.children(),r=p.length,q=r+1,n=p[r-1],o=h(n).attr("id"),v=h(n).children("label").attr("for");var u=v.replace(new RegExp(/(\d+)$/g),""),s=o.replace(new RegExp(/(\d+)$/g),"");var w=h("#"+o).clone().attr("id",s+q);w.children("label").attr("for",u+q);w.find('input[type="text"]').attr("id",u+q);w.find('input[type="radio"]').attr("value",q);h("#"+s+r).after(w)});h(document).on("click","a.deleteOption",function(o){o.preventDefault();var n=h(this).parent().parent().find(".clonedOption").length;if(n-1==0){alert("You must have at least one option.")}else{h(this).closest("div").remove()}});h(".swpm-cloned-options").sortable({items:"div.option"});h(document).on("click","a.addEmail",function(t){t.preventDefault();var o=h(this).closest("#email-details").find(".clonedOption").length;var s=o+1;var u=h(this).closest("div").attr("id");var r=h(this).closest("div").find("label").attr("for");var n=r.replace(new RegExp(/(\d+)$/g),"");var q=u.replace(new RegExp(/(\d+)$/g),"");var p=h("#"+u).clone().attr("id",q+s);p.find("label").attr("for",n+s);p.find("input").attr("id",n+s);h("#"+q+o).after(p)});h(document).on("click","a.deleteEmail",function(o){o.preventDefault();var n=h(this).closest("#email-details").find(".clonedOption").length;if(n-1==0){alert("You must have at least one option.")}else{h(this).closest("div").remove()}});h('.option input[type="radio"]').mousedown(function(){h(this).attr("previousValue",h(this).prop("checked"))}).click(function(){var n=h(this).attr("previousValue");if(n=="true"){h(this).prop("checked",false)}});h(".menu-delete").click(function(){var n=(h(this).hasClass("entry-delete"))?"entry":"form";var o=confirm("You are about to permanently delete this "+n+" and all of its data.\n'Cancel' to stop, 'OK' to delete.");if(o){return true}return false});h(document).on("click","a.item-edit",function(o){o.preventDefault();h(o.target).closest("li").children(".menu-item-settings").slideToggle("fast");h(this).toggleClass("opened");var n=h(o.target).closest("dl");if(n.hasClass("swpm-menu-item-inactive")){n.removeClass("swpm-menu-item-inactive").addClass("swpm-menu-item-active")}else{n.removeClass("swpm-menu-item-active").addClass("swpm-menu-item-inactive")}});function m(n){if("FIELDSET"!==n){h("#swpm-fieldset-first-warning").show()}else{h("#swpm-fieldset-first-warning").hide()}}h("#swpm-menu-to-edit").nestedSortable({listType:"ul",maxLevels:3,handle:".swpm-menu-item-handle",placeholder:"swpm-sortable-placeholder",forcePlaceholderSize:true,forceHelperSize:true,tolerance:"pointer",toleranceElement:"> dl",items:"li:not(.ui-state-disabled)",create:function(n,o){h(this).css("min-height",h(this).height())},start:function(n,o){o.placeholder.height(o.item.height())},stop:function(o,p){var n=h("#swpm-menu-to-edit .item-type:first").text();opts={url:ajaxurl,type:"POST",async:true,cache:false,data:{action:"swpm_form_builder_sort_field",order:h(this).nestedSortable("toArray")},success:function(q){h("#loading-animation").hide();m(n);return}};h.ajax(opts)}});h("#form-items .swpm-draggable-form-items").click(function(n){n.preventDefault();h(this).data("submit_value",h(this).text())});h("#form-items .swpm-draggable-form-items").click(function(p){p.preventDefault();var q=h(this).closest("form").serializeArray(),o=h(this).data("submit_value"),n=h("#swpm-menu-to-edit li.ui-state-disabled:first").attr("id").match(new RegExp(/(\d+)$/g))[0];h("img.waiting").show();h.post(ajaxurl,{action:"swpm_form_builder_create_field",data:q,field_type:o,previous:n,page:pagenow,nonce:h("#_wpnonce").val()}).done(function(r){h("img.waiting").hide();h(r).hide().insertBefore("#swpm-menu-to-edit li.ui-state-disabled:first").fadeIn()})});h(document).on("click","a.item-delete",function(v){v.preventDefault();var r=childs=new Array(),z=0,o=h(this).attr("href"),n=o.split("&"),u=confirm("You are about to permanently delete this field.\n'Cancel' to stop, 'OK' to delete.");if(!u){return false}for(var s=0;s<n.length;s++){var x=n[s].indexOf("=");var w=n[s].substring(0,x);var y=n[s].substring(x+1);r[w]=y}var p=h(this).closest(".form-item").find("ul").children();var q=p.parent().html();p.each(function(t){childs[t]=h(this).attr("id").match(new RegExp(/(\d+)$/g))[0]});var A=h(this).closest("li.form-item").parents("li.form-item");if(A.length){z=A.attr("id").match(new RegExp(/(\d+)$/g))[0]}h.post(ajaxurl,{action:"swpm_form_builder_delete_field",form:r.form,field:r.field,child_ids:childs,parent_id:z,page:pagenow,nonce:r._wpnonce}).done(function(t){h("#form_item_"+r.field).addClass("deleting").animate({opacity:0,height:0},350,function(){h(this).before(q).remove()})})});h("#form-settings-button").click(function(p){p.preventDefault();h(this).toggleClass("current");h("#form-settings").slideToggle("fast");var n=h('input[name="form_id"]').val(),o=(h(this).hasClass("current"))?"opened":"closed";h.post(ajaxurl,{action:"swpm_form_builder_form_settings",form:n,status:o,page:pagenow}).done(function(q){if(o=="closed"){h(".settings-links").removeClass("on");h(".settings-links:first").addClass("on");h(".form-details").slideUp("normal");h(".form-details:first").show("normal")}})});h(".settings-links").click(function(p){p.preventDefault();h(".settings-links").removeClass("on");h(".form-details").slideUp("fast");if(h(this).next("div").is(":hidden")==true){h(this).addClass("on");h(this).next().slideDown("normal")}var o=h('input[name="form_id"]').val(),n=this.hash.replace(/#/g,"");h.post(ajaxurl,{action:"swpm_form_builder_form_settings",form:o,accordion:n,page:pagenow})});var b=false;h("#swpm-form-builder-management input, #swpm-form-builder-management select, #swpm-form-builder-management textarea").change(function(){j()});function j(){b=true}window.onbeforeunload=function(){if(b){return"The changes you made will be lost if you navigate away from this page."}};h(document).on("submit","#swpm-form-builder-update",function(){window.onbeforeunload=null});if(h(".columns-2 #side-sortables").length>0){var a=h("#swpm_form_items_meta_box"),d=a.width(),e=a.offset(),f=a.nextAll(),i=false;h(window).on("scroll",function(){if(h(window).scrollTop()>e.top){a.stop().css({top:55,position:"fixed","z-index":"1",width:d});if(f.is(":visible")){i=true;f.stop().css({opacity:0.1})}}else{a.stop().css({top:0,position:"relative"});if(i){f.stop().css({opacity:1})}}})}var l=h(".form-success-type:checked").val();h("#form-success-message-"+l).show();h(".form-success-type").change(function(){var n=h(this).val();switch(n){case"text":h("#form-success-message-text").show();h("#form-success-message-page, #form-success-message-redirect").hide();break;case"page":h("#form-success-message-page").show();h("#form-success-message-text, #form-success-message-redirect").hide();break;case"redirect":h("#form-success-message-redirect").show();h("#form-success-message-text, #form-success-message-page").hide();break}});h(".swpm-field-types").click(function(o){o.preventDefault();h("#swpm-field-tabs li").removeClass("tabs");h(this).parent().addClass("tabs");h(".tabs-panel-active").removeClass("tabs-panel-active").addClass("tabs-panel-inactive");var n=this.hash;h(n).removeClass("tabs-panel-inactive").addClass("tabs-panel-active")});h("#swpm-form-builder-update").validate({rules:{"form_email_to[]":{email:true},form_email_from:{email:true},form_success_message_redirect:{url:true},form_notification_email_name:{required:function(n){return h("#form-notification-setting").is(":checked")}},form_notification_email_from:{required:function(n){return h("#form-notification-setting").is(":checked")},email:true},form_notification_email:{required:function(n){return h("#form-notification-setting").is(":checked")}}},errorPlacement:function(n,o){n.insertAfter(o.parent())}});h("#swpm-form-builder-new-form").validate();h("#form_email_from_name_override").change(function(){if(h("#form_email_from_name_override").val()==""){h("#form-email-sender-name").prop("readonly",false)}else{h("#form-email-sender-name").prop("readonly","readonly")}});h("#form_email_from_override").change(function(){if(h("#form_email_from_override").val()==""){h("#form-email-sender").prop("readonly",false)}else{h("#form-email-sender").prop("readonly","readonly")}});h("#notification-email").toggle(h("#form-notification-setting").prop("checked"));h("#form-notification-setting").change(function(){var n=h(this).is(":checked");if(n){h("#notification-email").show();h("#form-notification-email-name, #form-notification-email-from, #form-notification-email, #form-notification-subject, #form-notification-message, #form-notification-entry").prop("disabled",false)}else{h("#notification-email").hide();h("#form-notification-email-name, #form-notification-email-from, #form-notification-email, #form-notification-subject, #form-notification-message, #form-notification-entry").prop("disabled","disabled")}});h("#swpm-export-select-all").click(function(n){n.preventDefault();h('#swpm-export-entries-fields input[type="checkbox"]').prop("checked",true)});h("#swpm-export-unselect-all").click(function(n){n.preventDefault();h('#swpm-export-entries-fields input[type="checkbox"]').prop("checked",false)});h("#swpm-export-entries-forms").change(function(){var o=h(this).val(),n=k(o);h("#swpm-export-entries-fields").html("Loading...");h.get(ajaxurl,{action:"swpm_form_builder_export_load_options",id:o,count:n,page:pagenow}).done(function(p){h("#swpm-export-entries-fields").html(p)}).fail(function(p){h("#swpm-export-entries-fields").html("Error loading entry fields.")})});h("#swpm-export-entries-rows").change(function(){var o=h("#swpm-export-entries-forms").val();var n=h(this).val();h("#swpm-export-entries-fields").html("Loading...");h.get(ajaxurl,{action:"swpm_form_builder_export_load_options",id:o,offset:n,page:pagenow}).done(function(p){h("#swpm-export-entries-fields").html(p)}).fail(function(p){h("#swpm-export-entries-fields").html("Error loading entry fields.")})});function k(o){var n="";h.ajax(ajaxurl,{async:false,data:{action:"swpm_form_builder_export_entries_count",id:o,page:pagenow}}).done(function(p){if(p>1000){h("#swpm-export-entries-rows").empty();var r=Math.ceil(parseInt(p)/1000);for(var q=1;q<=r;q++){h("#swpm-export-entries-rows").append(h("<option></option>").attr("value",q).text(q))}h("#swpm-export-entries-pages").show()}else{h("#swpm-export-entries-pages").hide()}n=p}).fail(function(p){});return n}});
\ No newline at end of file
diff --git a/js/swpm-validation.js b/js/swpm-validation.js
new file mode 100644 (file)
index 0000000..673e77c
--- /dev/null
@@ -0,0 +1,66 @@
+jQuery(document).ready(function($) {
+    // !Validate each form on the page
+    $('.swpm-form-builder').each(function () {
+        $(this).validate({
+            rules: {
+                "swpm-secret": {
+                    required: true,
+                    digits: true,
+                    maxlength: 2
+                }
+            },
+            errorClass: 'swpm-error',
+            errorPlacement: function (error, element) {
+                if (element.is(':radio') || element.is(':checkbox'))
+                    error.appendTo(element.parent().parent());
+                else if (element.is(':password'))
+                    error.hide();
+                else
+                    error.insertAfter(element);
+            },
+            submitHandler: function (form) {
+                var invalid = false;
+                $('.swpm-checkbox-required').each(function () {
+                    var multicheck = $(this);
+                    if (multicheck.find('input:checked').length < 1) {
+                        invalid = true;
+                        $('<label for="swpm-310" generated="true" class="swpm-error" style="display: block;">Please check at least one.</label>')
+                                .insertAfter(multicheck);
+                    }
+                });
+                if (invalid) {
+                    return false;
+                }
+                else {
+                    form.submit();
+                    return true;
+                }
+            }
+        });
+    });
+
+    // Force bullets to hide, but only if list-style-type isn't set
+    $('.swpm-form-builder li:not(.swpm-item-instructions li, .swpm-span li)').filter(function () {
+        return $(this).css('list-style-type') !== 'none';
+    }).css('list-style', 'none');
+
+    // !Display jQuery UI date picker
+    $('.swpm-date-picker').each(function () {
+        var swpm_dateFormat = $(this).attr('data-dp-dateFormat') ? $(this).attr('data-dp-dateFormat') : 'mm/dd/yy';
+
+        $(this).datepicker({
+            dateFormat: swpm_dateFormat
+        });
+    });
+
+    // !Custom validation method to check multiple emails
+    $.validator.addMethod('phone', function (value, element) {
+        // Strip out all spaces, periods, dashes, parentheses, and plus signs
+        value = value.replace(/[\+\s\(\)\.\-\ ]/g, '');
+
+        return this.optional(element) || value.length > 9 &&
+                value.match(/^((\+)?[1-9]{1,2})?([-\s\.])?((\(\d{1,4}\))|\d{1,4})(([-\s\.])?[0-9]{1,12}){1,2}$/);
+
+    }, $.validator.messages.phone
+            );
+});
\ No newline at end of file
diff --git a/js/swpm-validation.min.js b/js/swpm-validation.min.js
new file mode 100644 (file)
index 0000000..fcef2aa
--- /dev/null
@@ -0,0 +1 @@
+jQuery(document).ready(function(a){a(".swpm-form-builder").each(function(){a(this).validate({rules:{"swpm-secret":{required:true,digits:true,maxlength:2}},errorClass:"swpm-error",errorPlacement:function(b,c){if(c.is(":radio")||c.is(":checkbox")){b.appendTo(c.parent().parent())}else{if(c.is(":password")){b.hide()}else{b.insertAfter(c)}}}})});a(".swpm-form-builder li:not(.swpm-item-instructions li, .swpm-span li)").filter(function(){return a(this).css("list-style-type")!=="none"}).css("list-style","none");a(".swpm-date-picker").each(function(){var b=a(this).attr("data-dp-dateFormat")?a(this).attr("data-dp-dateFormat"):"mm/dd/yy";a(this).datepicker({dateFormat:b})});a.validator.addMethod("phone",function(c,b){c=c.replace(/[\+\s\(\)\.\-\ ]/g,"");return this.optional(b)||c.length>9&&c.match(/^((\+)?[1-9]{1,2})?([-\s\.])?((\(\d{1,4}\))|\d{1,4})(([-\s\.])?[0-9]{1,12}){1,2}$/)},a.validator.messages.phone)});
\ No newline at end of file
diff --git a/languages/swpm-form-builder-bg_BG.mo b/languages/swpm-form-builder-bg_BG.mo
new file mode 100644 (file)
index 0000000..9bea4b7
Binary files /dev/null and b/languages/swpm-form-builder-bg_BG.mo differ
diff --git a/languages/swpm-form-builder-bg_BG.po b/languages/swpm-form-builder-bg_BG.po
new file mode 100644 (file)
index 0000000..ca1b785
--- /dev/null
@@ -0,0 +1,405 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Visual Form Builder bulgarian\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-10-06 13:57-0600\n"
+"PO-Revision-Date: 2012-02-20 00:30+0200\n"
+"Last-Translator: Димитър Дачкинов <da4kinov@abv.bg>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n"
+"X-Poedit-Basepath: .\n"
+"X-Poedit-Language: Bulgarian\n"
+"X-Poedit-Country: BULGARIA\n"
+"X-Poedit-SearchPath-0: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder\n"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-detail.php:40
+msgid "Details"
+msgstr "Детайли"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-detail.php:46
+msgid "Form Title"
+msgstr "Заглавие на формата"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-detail.php:49
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:98
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:222
+msgid "Date Submitted"
+msgstr "Дата на получаване"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-detail.php:52
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:97
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:226
+msgid "IP Address"
+msgstr "IP Адрес"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-detail.php:55
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:93
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:230
+msgid "Email Subject"
+msgstr "Тема"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-detail.php:58
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:94
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:234
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:817
+msgid "Sender Name"
+msgstr "Име на изпращача"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-detail.php:61
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:95
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:238
+msgid "Sender Email"
+msgstr "Email На изпращача"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-detail.php:64
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:96
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:242
+msgid "Emailed To"
+msgstr "Изпрати до"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-detail.php:84
+msgid "Entry"
+msgstr "Запис"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:67
+msgid "Cancel"
+msgstr "Откажи"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:92
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:218
+msgid "Form"
+msgstr "Форма"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:168
+msgid "Delete"
+msgstr "Изтрий"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:169
+msgid "Export All"
+msgstr "Експортирай всички"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:170
+msgid "Export Selected"
+msgstr "Експортирай избраните"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:214
+msgid "Entries ID"
+msgstr "ID на записа"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:369
+msgid "View all forms"
+msgstr "покажи всички форми"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/class-entries-list.php:376
+msgid "Filter"
+msgstr "филтър"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:340
+msgid "Settings"
+msgstr "Настройки"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:353
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:643
+msgid "Visual Form Builder"
+msgstr "Програма за формуляри"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:383
+#, php-format
+msgid "<div id=\"message\" class=\"updated\"><p>The <strong>%s</strong> form has been created.</p></div>"
+msgstr "Фопмата беше създадена"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:499
+#, php-format
+msgid "<div id=\"message\" class=\"updated\"><p>The <strong>%s</strong> form has been updated.</p></div>"
+msgstr "формата беше обновена"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:645
+msgid "Forms"
+msgstr "Форми"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:646
+msgid "Entries"
+msgstr "Записи"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:685
+msgid "Form Items"
+msgstr "Елементи на формата"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:688
+msgid "Click"
+msgstr "Клик"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:688
+msgid "to Add a Field"
+msgstr "за да добавите поле"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:712
+msgid "Form Output"
+msgstr "изходен файл от форма"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:715
+msgid "Copy this shortcode and paste into any Post or Page."
+msgstr "Копирайте кода и го сложете на някоя страница"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:794
+msgid "Form Name"
+msgstr "Име на формата"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:804
+msgid "Customize Email Details"
+msgstr "Настройте Email-а"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:804
+msgid "Email Details"
+msgstr "Детайли за Email"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:805
+msgid "Customize Confirmation Message"
+msgstr "Променете съобщението за потвърждение"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:805
+msgid "Confirmation"
+msgstr "Потвърждение"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:806
+msgid "Customize Notification Email"
+msgstr "Настойте Email за известяване"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:806
+msgid "Notification"
+msgstr "Известяване"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:810
+msgid "The forms you build here will send information to one or more email addresses when submitted by a user on your site.  Use the fields below to customize the details of that email."
+msgstr "Формата ще изпрати 1 или повече Имейли, когато бъде потвърдена."
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:812
+msgid "E-mail Subject"
+msgstr "Тема на Имейла"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:822
+msgid "Select a required text field"
+msgstr "Изберете задължително поле"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:831
+msgid "Sender E-mail"
+msgstr "Имейл на изпращача"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:834
+msgid "OR"
+msgstr "или"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:836
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:899
+msgid "Select a required text field with email validation"
+msgstr "Избереге задължително поле при проверка на Имейл"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:845
+msgid "E-mail(s) To"
+msgstr "Изпрати до"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:848
+msgid "(multiple emails separated by commas)"
+msgstr "(допълнителните Имейли, раздели със запетаи)"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:852
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:888
+msgid "After someone submits a form, you can control what is displayed. By default, it's a message but you can send them to another WordPress Page or a custom URL."
+msgstr "След като някой попълни формата, ти избираш какво да се паказва"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:855
+msgid "Text"
+msgstr "текст"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:859
+msgid "Page"
+msgstr "Страница"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:863
+msgid "Redirect"
+msgstr "Препратка"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:870
+msgid "Registration is complete."
+msgstr "Регистрацията е завършена."
+
+msgid "Profile Updated."
+msgstr "Профил се обновява."
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:879
+msgid "Select a Page"
+msgstr "Изберете страница"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:891
+msgid "Send Confirmation Email to User"
+msgstr "Изпрати потвърдителен Имейл до потребителя"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:896
+msgid "Send To"
+msgstr "Изпрати до"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:908
+msgid "Subject"
+msgstr "Тема"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:912
+msgid "Message"
+msgstr "Съобщение"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:918
+msgid "Include a Copy of the User's Entry"
+msgstr "Изпращай копие на потребителя"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:925
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1072
+msgid "Create Form"
+msgstr "Създай форма"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:925
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1072
+msgid "Save Form"
+msgstr "Запази формата"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:929
+msgid "Delete Form"
+msgstr "Изтрий формата"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:939
+msgid "To create a custom form, give it a name above and click Create Form. Then choose form elements from the left column to add to this form."
+msgstr "За да създадете форма, дайте й име, и натиснете на Създай форма. След, което добавете елементи."
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:940
+msgid "After you have added your items, drag and drop to put them in the order you want. You can also click each item to reveal additional configuration options."
+msgstr "Чрез влачене може да ги пренареждате и да отворите допълнителните им настройки, като кликнете върху тях"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:941
+msgid "When you have finished building your custom form, make sure you click the Save Form button."
+msgstr "Когато сте готови натиснете Запази"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:942
+msgid "For more help, click on the Help tab at the top of this page."
+msgstr "За повече помощ отидете в болница (сори, така пише :D)"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:948
+msgid "Select form inputs from the box at left to begin building your custom form. An initial fieldset has been automatically added to get you started."
+msgstr "Това няма да го превеждам, защото просто се вижда какво трябва да се направи."
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:964
+msgid "Edit Field Item"
+msgstr "Редактиране на полето"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:979
+msgid "Name"
+msgstr "Име"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:985
+msgid "Description"
+msgstr "Описание"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1003
+msgid "Options (separated by commas)"
+msgstr "Опции, разделени със запетаи"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1018
+msgid "12 Hour Format"
+msgstr "12 часов формат"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1019
+msgid "24 Hour Format"
+msgstr "24 часов формат"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1021
+msgid "None"
+msgstr "Нищо"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1022
+msgid "Email"
+msgstr "Имейл"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1023
+msgid "URL"
+msgstr "Адрес"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1024
+msgid "Date"
+msgstr "Дата"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1025
+msgid "Number"
+msgstr "Число"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1026
+msgid "Digits"
+msgstr "Цифра"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1027
+msgid "Phone"
+msgstr "Телефон"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1034
+msgid "Required"
+msgstr "Задължително"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1036
+msgid "No"
+msgstr "Не"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1037
+msgid "Yes"
+msgstr "Да"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1045
+msgid "Size"
+msgstr "Големина"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1047
+msgid "Medium"
+msgstr "Средна"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1048
+msgid "Large"
+msgstr "Голяма"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1055
+msgid "Remove"
+msgstr "Премахни"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1383
+msgid "Verification"
+msgstr "Потвърждение"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1387
+msgid "Please enter any two digits with"
+msgstr "Моля въведете 2 произволни цифри"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1387
+msgid "no"
+msgstr "не"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1387
+msgid "spaces (Example: 12)"
+msgstr "(Пример 12)"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1394
+msgid "This box is for spam protection"
+msgstr "Полето е за анти-спам"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1394
+msgid "please leave it blank"
+msgstr "Моля, оставете това поле празно"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1401
+msgid "Submit"
+msgstr "Потвърди"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1427
+msgid "Security check"
+msgstr "Проверка"
+
+#: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder/swpm-form-builder.php:1589
+msgid "Ooops! Looks like you have failed the security validation for this form. Please go back and try again."
+msgstr "Изглежда, че не сте се справили успешно, върнете се и опитайте отново"
+
diff --git a/languages/swpm-form-builder-es_ES.mo b/languages/swpm-form-builder-es_ES.mo
new file mode 100644 (file)
index 0000000..4c7f889
Binary files /dev/null and b/languages/swpm-form-builder-es_ES.mo differ
diff --git a/languages/swpm-form-builder-es_ES.po b/languages/swpm-form-builder-es_ES.po
new file mode 100644 (file)
index 0000000..85f7d02
--- /dev/null
@@ -0,0 +1,1086 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Visual Form Builder v2.7.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-03-12 00:48+0100\n"
+"PO-Revision-Date: 2013-04-30 00:33:15+0000\n"
+"Last-Translator: Samuel Aguilera <correo@samuelaguilera.com>\n"
+"Language-Team: Samuel Aguilera <correo@samuelaguilera.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: CSL v1.x\n"
+"X-Poedit-Language: Spanish\n"
+"X-Poedit-Country: Spain\n"
+"X-Poedit-SourceCharset: utf-8\n"
+"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
+"X-Poedit-Basepath: .\n"
+"X-Poedit-Bookmarks: \n"
+"X-Poedit-SearchPath-0: .\n"
+"X-Textdomain-Support: yes"
+
+#: includes/class-entries-detail.php:37
+#: includes/class-entries-detail.php:91
+#@ swpm-form-builder
+msgid "Entry"
+msgstr "Entrada"
+
+#: includes/class-entries-detail.php:42
+#@ swpm-form-builder
+msgid "Details"
+msgstr "Detalles"
+
+#: includes/class-entries-detail.php:48
+#@ swpm-form-builder
+msgid "Form Title"
+msgstr "Título formulario"
+
+#: includes/class-entries-detail.php:51
+#: includes/class-entries-list.php:94
+#: includes/class-export.php:18
+#@ swpm-form-builder
+msgid "Date Submitted"
+msgstr "Fecha envío"
+
+#: includes/class-entries-detail.php:54
+#: includes/class-entries-list.php:93
+#: includes/class-export.php:19
+#@ swpm-form-builder
+msgid "IP Address"
+msgstr "Dirección IP"
+
+#: includes/class-entries-detail.php:57
+#: includes/class-entries-list.php:89
+#@ swpm-form-builder
+msgid "Email Subject"
+msgstr "Asunto email"
+
+#: includes/class-entries-detail.php:60
+#: includes/class-entries-list.php:90
+#: includes/class-export.php:21
+#@ swpm-form-builder
+msgid "Sender Name"
+msgstr "Nombre remitente"
+
+#: includes/class-entries-detail.php:63
+#: includes/class-entries-list.php:91
+#: includes/class-export.php:22
+#@ swpm-form-builder
+msgid "Sender Email"
+msgstr "Email remitente"
+
+#: includes/class-entries-detail.php:66
+#: includes/class-entries-list.php:92
+#: includes/class-export.php:23
+#@ swpm-form-builder
+msgid "Emailed To"
+msgstr "Enviado a"
+
+#: includes/class-entries-list.php:88
+#: includes/class-export.php:106
+#@ swpm-form-builder
+msgid "Form"
+msgstr "Formulario"
+
+#: includes/class-entries-list.php:176
+#: swpm-form-builder.php:1239
+#@ swpm-form-builder
+msgid "Delete"
+msgstr "Borrar"
+
+#: includes/class-export.php:17
+#@ swpm-form-builder
+msgid "Entries ID"
+msgstr "ID entradas"
+
+#: includes/class-entries-list.php:218
+#@ swpm-form-builder
+msgid "View all forms"
+msgstr "Ver todos los formularios"
+
+#: includes/class-entries-list.php:225
+#@ swpm-form-builder
+msgid "Filter"
+msgstr "Filtrar"
+
+#: swpm-form-builder.php:185
+#@ swpm-form-builder
+msgid "Settings"
+msgstr "Ajustes"
+
+#: swpm-form-builder.php:1723
+#: swpm-form-builder.php:1725
+#: swpm-form-builder.php:1846
+#@ swpm-form-builder
+msgid "Visual Form Builder"
+msgstr "Visual Form Builder"
+
+#: swpm-form-builder.php:1356
+#@ swpm-form-builder
+msgid "Edit Field Item"
+msgstr "Editar elementos del campo"
+
+#: swpm-form-builder.php:1373
+#: swpm-form-builder.php:1414
+#: swpm-form-builder.php:1653
+#@ swpm-form-builder
+msgid "CSS Classes"
+msgstr "Clases CSS"
+
+#: swpm-form-builder.php:1384
+#: swpm-form-builder.php:1404
+#@ swpm-form-builder
+msgid "Name"
+msgstr "Nombre"
+
+#: swpm-form-builder.php:1424
+#@ swpm-form-builder
+msgid "Description"
+msgstr "Descripción"
+
+#: swpm-form-builder.php:1436
+#@ swpm-form-builder
+msgid "Options"
+msgstr "Opciones"
+
+#: swpm-form-builder.php:1493
+#@ swpm-form-builder
+msgid "Accepted File Extensions"
+msgstr "Extensiones aceptadas"
+
+#: swpm-form-builder.php:1508
+#@ swpm-form-builder
+msgid "Validation"
+msgstr "Validación"
+
+#: swpm-form-builder.php:1515
+#@ swpm-form-builder
+msgid "12 Hour Format"
+msgstr "Formato 12 horas"
+
+#: swpm-form-builder.php:1516
+#@ swpm-form-builder
+msgid "24 Hour Format"
+msgstr "Formato 24 horas"
+
+#: swpm-form-builder.php:1518
+#@ swpm-form-builder
+msgid "None"
+msgstr "Ninguno"
+
+#: swpm-form-builder.php:1519
+#@ swpm-form-builder
+msgid "Email"
+msgstr "Email"
+
+#: swpm-form-builder.php:1520
+#@ swpm-form-builder
+msgid "URL"
+msgstr "URL"
+
+#: swpm-form-builder.php:1521
+#@ swpm-form-builder
+msgid "Date"
+msgstr "Fecha"
+
+#: swpm-form-builder.php:1522
+#@ swpm-form-builder
+msgid "Number"
+msgstr "Número"
+
+#: swpm-form-builder.php:1523
+#@ swpm-form-builder
+msgid "Digits"
+msgstr "Dígitos"
+
+#: swpm-form-builder.php:1524
+#@ swpm-form-builder
+msgid "Phone"
+msgstr "Teléfono"
+
+#: swpm-form-builder.php:1556
+#@ swpm-form-builder
+msgid "Required"
+msgstr "Obligatorio"
+
+#: swpm-form-builder.php:1560
+#@ swpm-form-builder
+msgid "No"
+msgstr "No"
+
+#: swpm-form-builder.php:1561
+#@ swpm-form-builder
+msgid "Yes"
+msgstr "Sí"
+
+#: swpm-form-builder.php:1570
+#@ swpm-form-builder
+msgid "Size"
+msgstr "Tamaño"
+
+#: swpm-form-builder.php:1574
+#@ swpm-form-builder
+msgid "Small"
+msgstr "Pequeño"
+
+#: swpm-form-builder.php:1575
+#@ swpm-form-builder
+msgid "Medium"
+msgstr "Medio"
+
+#: swpm-form-builder.php:1576
+#@ swpm-form-builder
+msgid "Large"
+msgstr "Grande"
+
+#: swpm-form-builder.php:1585
+#@ swpm-form-builder
+msgid "Options Layout"
+msgstr "Formato opciones"
+
+#: swpm-form-builder.php:1589
+#@ swpm-form-builder
+msgid "One Column"
+msgstr "Una columna"
+
+#: swpm-form-builder.php:1590
+#@ swpm-form-builder
+msgid "Two Columns"
+msgstr "Dos columnas"
+
+#: swpm-form-builder.php:1591
+#@ swpm-form-builder
+msgid "Three Columns"
+msgstr "Tres columnas"
+
+#: swpm-form-builder.php:1592
+#@ swpm-form-builder
+msgid "Auto Width"
+msgstr "Ancho automático"
+
+#: swpm-form-builder.php:1601
+#@ swpm-form-builder
+msgid "Field Layout"
+msgstr "Ubicación campo"
+
+#: swpm-form-builder.php:1606
+#@ swpm-form-builder
+msgid "Default"
+msgstr "Predeterminada"
+
+#: swpm-form-builder.php:1608
+#@ swpm-form-builder
+msgid "Left Half"
+msgstr "Mitad izquierda"
+
+#: swpm-form-builder.php:1609
+#@ swpm-form-builder
+msgid "Right Half"
+msgstr "Mitad derecha"
+
+#: swpm-form-builder.php:1612
+#@ swpm-form-builder
+msgid "Left Third"
+msgstr "Un tercio izquierda"
+
+#: swpm-form-builder.php:1613
+#@ swpm-form-builder
+msgid "Middle Third"
+msgstr "Un tercio centro"
+
+#: swpm-form-builder.php:1614
+#@ swpm-form-builder
+msgid "Right Third"
+msgstr "Un tercio derecha"
+
+#: swpm-form-builder.php:1617
+#@ swpm-form-builder
+msgid "Left Two Thirds"
+msgstr "Dos tercios izquierda"
+
+#: swpm-form-builder.php:1618
+#@ swpm-form-builder
+msgid "Right Two Thirds"
+msgstr "Dos tercios derecha"
+
+#: swpm-form-builder.php:1665
+#@ swpm-form-builder
+msgid "Remove"
+msgstr "Eliminar"
+
+#: includes/class-export.php:90
+#@ swpm-form-builder
+msgid "Forms"
+msgstr "Formularios"
+
+#: includes/class-export.php:93
+#: swpm-form-builder.php:1727
+#: swpm-form-builder.php:1783
+#@ swpm-form-builder
+msgid "Entries"
+msgstr "Entradas"
+
+#: swpm-form-builder.php:436
+#@ swpm-form-builder
+msgid "Form Items"
+msgstr "Elementos del formulario"
+
+#: swpm-form-builder.php:448
+#@ swpm-form-builder
+msgid "Click"
+msgstr "Haz clic"
+
+#: swpm-form-builder.php:448
+#@ swpm-form-builder
+msgid "to Add a Field"
+msgstr "para añadir un campo"
+
+#: includes/admin-form-creator.php:63
+#@ swpm-form-builder
+msgid "Form Name"
+msgstr "Nombre formulario"
+
+#: includes/admin-form-creator.php:95
+#@ swpm-form-builder
+msgid "Duplicate Form"
+msgstr "Duplicar formulario"
+
+#: includes/admin-form-creator.php:126
+#@ swpm-form-builder
+msgid "The forms you build here will send information to one or more email addresses when submitted by a user on your site.  Use the fields below to customize the details of that email."
+msgstr "Los formularios creados aquí enviarán información a una o más direcciones de email cuando un usuario de tu sitio los envíe. Usa los campos a continuación para personalizar los detalles de ese email."
+
+#: includes/admin-form-creator.php:131
+#: includes/admin-form-creator.php:320
+#: includes/admin-new-form.php:40
+#@ swpm-form-builder
+msgid "E-mail Subject"
+msgstr "Asunto email"
+
+#: includes/admin-form-creator.php:210
+#@ swpm-form-builder
+msgid "E-mail(s) To"
+msgstr "Se envía a"
+
+#: includes/admin-form-creator.php:230
+#@ swpm-form-builder
+msgid "After someone submits a form, you can control what is displayed. By default, it's a message but you can send them to another WordPress Page or a custom URL."
+msgstr "Cuando alguien envía un formulario, puedes controlar qué se mostrará. De manera predeterminada es un mensaje, pero puedes enviarlos a otra página de WordPress o una URL personalizada."
+
+#: includes/admin-form-creator.php:233
+#@ swpm-form-builder
+msgid "Text"
+msgstr "Texto"
+
+#: includes/admin-form-creator.php:237
+#@ swpm-form-builder
+msgid "Page"
+msgstr "Página"
+
+#: includes/admin-form-creator.php:241
+#@ swpm-form-builder
+msgid "Redirect"
+msgstr "Redireccionar"
+
+#: includes/admin-form-creator.php:250
+#@ swpm-form-builder
+msgid "Registration is complete."
+msgstr "La inscripción está completa."
+
+msgid "Profile Updated."
+msgstr "Perfil Actualizado."
+
+#: includes/admin-form-creator.php:260
+#@ swpm-form-builder
+msgid "Select a Page"
+msgstr "Selecciona una página"
+
+#: includes/admin-form-creator.php:273
+#@ swpm-form-builder
+msgid "When a user submits their entry, you can send a customizable notification email."
+msgstr "Cuando un usuario hace un envío, puedes enviar una notificación por email personalizable."
+
+#: includes/admin-form-creator.php:276
+#@ swpm-form-builder
+msgid "Send Confirmation Email to User"
+msgstr "Enviar email de confirmación al usuario"
+
+#: includes/class-export.php:20
+#@ swpm-form-builder
+msgid "Subject"
+msgstr "Asunto"
+
+#: includes/admin-form-creator.php:328
+#@ swpm-form-builder
+msgid "Message"
+msgstr "Mensaje"
+
+#: includes/admin-form-creator.php:336
+#@ swpm-form-builder
+msgid "Include a Copy of the User's Entry"
+msgstr "Incluir una copia del envío del usuario"
+
+#: includes/admin-new-form.php:57
+#@ swpm-form-builder
+msgid "Create Form"
+msgstr "Crear formulario"
+
+#: includes/admin-form-creator.php:98
+#: includes/admin-form-creator.php:360
+#@ swpm-form-builder
+msgid "Save Form"
+msgstr "Guardar formulario"
+
+#: includes/admin-form-creator.php:96
+#@ swpm-form-builder
+msgid "Delete Form"
+msgstr "Borrar formulario"
+
+#: swpm-form-builder.php:1291
+#@ swpm-form-builder
+msgid "Help Promote Visual Form Builder"
+msgstr "Ayuda a promocionar Visual Form Builder"
+
+#: swpm-form-builder.php:1293
+#@ swpm-form-builder
+msgid "Follow me on Twitter"
+msgstr "Sígueme en Twitter"
+
+#: swpm-form-builder.php:1294
+#@ swpm-form-builder
+msgid "Rate Visual Form Builder on WordPress.org"
+msgstr "Califica Visual Form Builder en WordPress.org"
+
+#: swpm-form-builder.php:1262
+#@ swpm-form-builder
+msgid "New Features of Visual Form Builder Pro"
+msgstr "Nuevas características de Visual Form Builder Pro"
+
+#: swpm-form-builder.php:1272
+#@ swpm-form-builder
+msgid "Quality HTML Email Template"
+msgstr "Plantilla de email HTML de calidad"
+
+#: swpm-form-builder.php:1274
+#@ swpm-form-builder
+msgid "Email Designer"
+msgstr "Diseñador email"
+
+#: swpm-form-builder.php:1275
+#@ swpm-form-builder
+msgid "Analytics"
+msgstr "Estadísticas"
+
+#: swpm-form-builder.php:1276
+#@ swpm-form-builder
+msgid "Data &amp; Form Migration"
+msgstr "Migración de datos y formularios"
+
+#: swpm-form-builder.php:1280
+#@ swpm-form-builder
+msgid "Form Paging"
+msgstr "Paginación formulario"
+
+#: swpm-form-builder.php:1283
+#@ swpm-form-builder
+msgid "No License Key"
+msgstr "Sin llave de licencia"
+
+#: swpm-form-builder.php:1284
+#@ swpm-form-builder
+msgid "Automatic Updates"
+msgstr "Actualizaciones automáticas"
+
+#: swpm-form-builder.php:1287
+#@ swpm-form-builder
+msgid "Learn more about some of these features"
+msgstr "Conoce más acerca de estas características"
+
+#: swpm-form-builder.php:1288
+#@ swpm-form-builder
+msgid "Buy Now"
+msgstr "Comprar ahora"
+
+#: swpm-form-builder.php:1288
+#@ swpm-form-builder
+msgid "Only $10"
+msgstr "Sólo $10"
+
+#: includes/form-output.php:155
+#, php-format
+#@ swpm-form-builder
+msgid "Logged in as <a href=\"%1$s\">%2$s</a>. Verification not required."
+msgstr "Conectado como <a href=\"%1$s\">%2$s</a>. Verificación no necesaria."
+
+#: includes/form-output.php:556
+#@ swpm-form-builder
+msgid "Verification"
+msgstr "Verificación"
+
+#: includes/admin-form-creator.php:64
+#: includes/admin-new-form.php:17
+#@ swpm-form-builder
+msgid "Enter form name here"
+msgstr "Introduzca aquí el nombre del formulario"
+
+#: includes/admin-form-creator.php:94
+#@ swpm-form-builder
+msgid "Form Settings"
+msgstr "Configuración de la forma"
+
+#: includes/admin-form-creator.php:108
+#@ swpm-form-builder
+msgid "Label Alignment"
+msgstr "Alineación de la etiqueta"
+
+#: includes/admin-form-creator.php:113
+#@ swpm-form-builder
+msgid "Top Aligned"
+msgstr "Top alineado"
+
+#: includes/admin-form-creator.php:114
+#@ swpm-form-builder
+msgid "Left Aligned"
+msgstr "Izquierda alineado"
+
+#: includes/admin-form-creator.php:115
+#@ swpm-form-builder
+msgid "Right Aligned"
+msgstr "Derecha alineado"
+
+#: includes/admin-form-creator.php:142
+#: includes/admin-new-form.php:23
+#@ swpm-form-builder
+msgid "Your Name or Company"
+msgstr "Su nombre o empresa"
+
+#: includes/admin-form-creator.php:150
+#@ swpm-form-builder
+msgid "User's Name (optional)"
+msgstr "Nombre de usuario (opcional)"
+
+#: includes/admin-form-creator.php:154
+#@ swpm-form-builder
+msgid "No required text fields detected"
+msgstr "No hay campos de texto requerido detectados"
+
+#: includes/admin-form-creator.php:172
+#: includes/admin-form-creator.php:291
+#: includes/admin-new-form.php:31
+#@ swpm-form-builder
+msgid "Reply-To E-mail"
+msgstr "Responder a correo electrónico"
+
+#: includes/admin-form-creator.php:180
+#@ swpm-form-builder
+msgid "User's E-mail (optional)"
+msgstr "Correo electrónico del usuario (opcional)"
+
+#: includes/admin-form-creator.php:184
+#: includes/admin-form-creator.php:304
+#@ swpm-form-builder
+msgid "No required email fields detected"
+msgstr "No detectados los campos email requerido"
+
+#: includes/admin-form-creator.php:282
+#@ swpm-form-builder
+msgid "Sender Name or Company"
+msgstr "Nombre del remitente o empresa"
+
+#: includes/admin-form-creator.php:300
+#: includes/admin-new-form.php:48
+#@ swpm-form-builder
+msgid "E-mail To"
+msgstr "Enviar un email a"
+
+#: includes/admin-form-creator.php:348
+#@ swpm-form-builder
+msgid "Warning &mdash; Missing Fieldset"
+msgstr "ADVERTENCIA &mdash; falta Fieldset"
+
+#: includes/admin-form-creator.php:348
+#@ swpm-form-builder
+msgid "Your form may not function or display correctly. Please be sure to add or move a Fieldset to the beginning of your form."
+msgstr "Su forma no puede funcionar ni muestre correctamente. Por favor, asegúrese de agregar o mover un conjunto de campos al inicio de su formulario."
+
+#: includes/admin-new-form.php:7
+#@ swpm-form-builder
+msgid "You do not have sufficient permissions to create a new form."
+msgstr "No tiene permisos suficientes para crear un nuevo formulario."
+
+#: includes/admin-new-form.php:9
+#@ swpm-form-builder
+msgid "Create a form"
+msgstr "Crear un formulario"
+
+#: includes/admin-new-form.php:15
+#@ swpm-form-builder
+msgid "Name the form"
+msgstr "Nombre de la forma"
+
+#: includes/admin-new-form.php:18
+#@ swpm-form-builder
+msgid "Required. This name is used for admin purposes."
+msgstr "Obligatorio. Este nombre se utiliza para los propósitos de la administración."
+
+#: includes/admin-new-form.php:26
+#@ swpm-form-builder
+msgid "Required. This is who your emails will come from."
+msgstr "Obligatorio. Se trata de que vendrá a su correo electrónico."
+
+#: includes/admin-new-form.php:34
+#@ swpm-form-builder
+msgid "Required. Replies to your email will go here."
+msgstr "Obligatorio. Respuestas a su correo electrónico va aquí."
+
+#: includes/admin-new-form.php:35
+#@ swpm-form-builder
+msgid "Tip: for best results, use an email that exists on this domain."
+msgstr "Consejo: para mejores resultados, use un correo electrónico que existe en este dominio."
+
+#: includes/admin-new-form.php:43
+#: includes/admin-new-form.php:51
+#@ swpm-form-builder
+msgid "Optional (for now) - you can change this later"
+msgstr "Opcional (por ahora) - usted puede cambiar esto más adelante"
+
+#: includes/class-entries-list.php:252
+#@ default
+msgid "Show all dates"
+msgstr ""
+
+#: includes/class-entries-list.php:264
+#: includes/class-export.php:532
+#, php-format
+#@ default
+msgid "%1$s %2$d"
+msgstr ""
+
+#: includes/class-entries-list.php:421
+#, php-format
+#@ default
+msgid "1 item"
+msgid_plural "%s items"
+msgstr[0] ""
+msgstr[1] ""
+
+#: includes/class-entries-list.php:442
+#@ default
+msgid "Go to the first page"
+msgstr ""
+
+#: includes/class-entries-list.php:450
+#@ default
+msgid "Go to the previous page"
+msgstr ""
+
+#: includes/class-entries-list.php:459
+#@ default
+msgid "Current page"
+msgstr ""
+
+#: includes/class-entries-list.php:465
+#, php-format
+#@ default
+msgctxt "paging"
+msgid "%1$s of %2$s"
+msgstr ""
+
+#: includes/class-entries-list.php:469
+#@ default
+msgid "Go to the next page"
+msgstr ""
+
+#: includes/class-entries-list.php:477
+#@ default
+msgid "Go to the last page"
+msgstr ""
+
+#: includes/class-export.php:67
+#: includes/class-export.php:393
+#@ swpm-form-builder
+msgid "No entries to pull field names from."
+msgstr "No hay entradas para tirar nombres de campo de."
+
+#: includes/class-export.php:83
+#@ swpm-form-builder
+msgid "Backup and save some or all of your Visual Form Builder data."
+msgstr "Copia de seguridad y guardar algunos o todos sus datos Visual Form Builder."
+
+#: includes/class-export.php:84
+#@ swpm-form-builder
+msgid "Once you have saved the file, you will be able to import Visual Form Builder Pro data from this site into another site."
+msgstr "Una vez que ha guardado el archivo, podrá importar datos de forma Visual Builder Pro desde este sitio en otro sitio."
+
+#: includes/class-export.php:85
+#@ swpm-form-builder
+msgid "Choose what to export"
+msgstr "Elegir qué exportar"
+
+#: includes/class-export.php:87
+#@ swpm-form-builder
+msgid "All data"
+msgstr "Todos los datos"
+
+#: includes/class-export.php:88
+#@ swpm-form-builder
+msgid "This will contain all of your forms, fields, entries, and email design settings."
+msgstr "Este contendrá todas su formas, campos, entradas y configuración de diseño de correo electrónico."
+
+#: includes/class-export.php:88
+#: includes/class-export.php:91
+#@ swpm-form-builder
+msgid "Only available in Visual Form Builder Pro"
+msgstr "Sólo está disponible en forma Visual Builder Pro"
+
+#: includes/class-export.php:91
+#@ swpm-form-builder
+msgid "This will contain all of your forms, fields, and email design settings"
+msgstr "Este contendrá todas su formas, campos y configuración de diseño de correo electrónico"
+
+#: includes/class-export.php:96
+#@ swpm-form-builder
+msgid "This will export entries in either a .csv, .txt, or .xls and cannot be used with the Import.  If you need to import entries on another site, please use the All data option above."
+msgstr "Esto exportará entradas en un .csv, .txt o .xls y no puede utilizarse con la importación.  Si usted necesita importar entradas en otro lugar, utilice la opción de datos todas arriba."
+
+#: includes/class-export.php:98
+#@ swpm-form-builder
+msgid "Format"
+msgstr "Formato"
+
+#: includes/class-export.php:100
+#@ swpm-form-builder
+msgid "Comma Separated (.csv)"
+msgstr "Separados por comas (.csv)"
+
+#: includes/class-export.php:101
+#@ swpm-form-builder
+msgid "Tab Delimited (.txt) - Pro only"
+msgstr "Ficha delimitados (.txt) - Pro sólo"
+
+#: includes/class-export.php:102
+#@ swpm-form-builder
+msgid "Excel (.xls) - Pro only"
+msgstr "Excel (.xls) - sólo"
+
+#: includes/class-export.php:116
+#@ swpm-form-builder
+msgid "Date Range"
+msgstr "Intervalo de fechas"
+
+#: includes/class-export.php:131
+#@ swpm-form-builder
+msgid "Page to Export"
+msgstr "Página para exportación"
+
+#: includes/class-export.php:139
+#@ swpm-form-builder
+msgid "A large number of entries have been detected for this form. Only 1000 entries can be exported at a time."
+msgstr "Se han detectado un gran número de entradas para este formulario. Sólo 1000 entradas pueden ser exportadas a la vez."
+
+#: includes/class-export.php:146
+#@ swpm-form-builder
+msgid "Fields"
+msgstr "Campos"
+
+#: includes/class-export.php:148
+#@ swpm-form-builder
+msgid "Select All"
+msgstr "Seleccionar todo"
+
+#: includes/class-export.php:161
+#@ swpm-form-builder
+msgid "Download Export File"
+msgstr "Descargar archivo de exportación"
+
+#: includes/email.php:11
+#@ swpm-form-builder
+msgid "Security check: hidden spam field should be blank."
+msgstr "Comprobación de seguridad: campo oculto spam debe estar en blanco."
+
+#: includes/email.php:13
+#@ swpm-form-builder
+msgid "Security check: failed secret question. Please try again!"
+msgstr "Comprobación de seguridad: falló la pregunta secreta. Por favor vuelva a intentarlo!"
+
+#: includes/email.php:21
+#@ swpm-form-builder
+msgid "Security check: looks like you are a SPAM bot. If you think this is an error, please email the site owner."
+msgstr "Comprobación de seguridad: parece que eres un bot de SPAM. Si usted piensa que esto es un error, envíe un correo electrónico al propietario del sitio."
+
+#: includes/email.php:111
+#, php-format
+#@ swpm-form-builder
+msgid "File size exceeds %dMB. Most email providers will reject emails with attachments larger than %dMB. Please decrease the file size and try again."
+msgstr "Tamaño del archivo excede %dMB. Mayoría de los proveedores de correo electrónico rechazará correos electrónicos con archivos adjuntos más grandes que %dMB. Por favor, disminuir el tamaño del archivo y vuelva a intentarlo."
+
+#: includes/email.php:262
+#@ swpm-form-builder
+msgid "Your responses look too much like spam and could not be sent at this time."
+msgstr "Sus respuestas mirar demasiado como spam y no podrían ser enviados en este tiempo."
+
+#: includes/form-output.php:326
+#@ swpm-form-builder
+msgid "Address"
+msgstr "Dirección"
+
+#: includes/form-output.php:330
+#@ swpm-form-builder
+msgid "Address Line 2"
+msgstr "Dirección línea 2"
+
+#: includes/form-output.php:334
+#@ swpm-form-builder
+msgid "City"
+msgstr "Ciudad"
+
+#: includes/form-output.php:338
+#@ swpm-form-builder
+msgid "State / Province / Region"
+msgstr "Estado / provincia / región"
+
+#: includes/form-output.php:342
+#@ swpm-form-builder
+msgid "Postal / Zip Code"
+msgstr "Postal / Código postal"
+
+#: includes/form-output.php:346
+#@ swpm-form-builder
+msgid "Country"
+msgstr "País"
+
+#: includes/form-output.php:558
+#@ swpm-form-builder
+msgid "Please enter any two digits with <strong>no</strong> spaces (Example: 12)"
+msgstr "Introduce dos dígitos <strong>sin</strong> espacios (ejemplo: 12)"
+
+#: includes/form-output.php:571
+#@ swpm-form-builder
+msgid "This box is for spam protection - <strong>please leave it blank</strong>"
+msgstr "Esta caja es para protección contra el spam - <strong>por favor déjalo en blanco</strong>"
+
+#: swpm-form-builder.php:206
+#@ swpm-form-builder
+msgid "Recent Visual Form Builder Entries"
+msgstr "Las últimas entradas de forma Visual Builder"
+
+#: swpm-form-builder.php:229
+#@ swpm-form-builder
+msgid "You currently do not have any forms."
+msgstr "Actualmente no tiene ninguna."
+
+#: swpm-form-builder.php:231
+#@ swpm-form-builder
+msgid "Get started!"
+msgstr "¡ Comience!"
+
+#: swpm-form-builder.php:289
+#@ swpm-form-builder
+msgid "Number of entries to show:"
+msgstr "Número de entradas a mostrar:"
+
+#: swpm-form-builder.php:395
+#@ swpm-form-builder
+msgid "Entries per page"
+msgstr "Entradas por página"
+
+#: swpm-form-builder.php:437
+#@ swpm-form-builder
+msgid "Display Forms"
+msgstr "Formas de visualización"
+
+#: swpm-form-builder.php:450
+#@ swpm-form-builder
+msgid "Standard"
+msgstr "Estándar"
+
+#: swpm-form-builder.php:491
+#@ swpm-form-builder
+msgid "Add forms to your Posts or Pages by locating the icon shown below in the area above your post/page editor."
+msgstr "Añadir formas a tus mensajes o páginas localizando el icono que se muestra a continuación en el área por encima de su editor de posts/páginas."
+
+#: swpm-form-builder.php:494
+#@ swpm-form-builder
+msgid "You may also manually insert the shortcode into a post/page."
+msgstr "También manualmente puede insertar el código en una página de correos."
+
+#: swpm-form-builder.php:495
+#@ swpm-form-builder
+msgid "Shortcode"
+msgstr "Shortcode"
+
+#: swpm-form-builder.php:1237
+#@ swpm-form-builder
+msgid "Edit Form"
+msgstr "Editar forma"
+
+#: swpm-form-builder.php:1264
+#@ swpm-form-builder
+msgid "Now with Add-Ons"
+msgstr "Ahora con Add-ons"
+
+#: swpm-form-builder.php:1265
+#@ swpm-form-builder
+msgid "Akismet Support"
+msgstr "Apoyo de Akismet"
+
+#: swpm-form-builder.php:1266
+#@ swpm-form-builder
+msgid "Optional SPAM Verification"
+msgstr "Verificación de SPAM opcional"
+
+#: swpm-form-builder.php:1267
+#@ swpm-form-builder
+msgid "Nested Drag and Drop"
+msgstr "Gota y arrastre anidado"
+
+#: swpm-form-builder.php:1268
+#@ swpm-form-builder
+msgid "Conditional Logic"
+msgstr "Lógica condicional"
+
+#: swpm-form-builder.php:1269
+#@ swpm-form-builder
+msgid "10+ new Form Fields"
+msgstr "10 + nuevos campos de formulario"
+
+#: swpm-form-builder.php:1270
+#@ swpm-form-builder
+msgid "Complete Entries Management"
+msgstr "Completa gestión de entradas"
+
+#: swpm-form-builder.php:1271
+#@ swpm-form-builder
+msgid "Import/Export"
+msgstr "Importación/exportación"
+
+#: swpm-form-builder.php:1273
+#@ swpm-form-builder
+msgid "Plain Text Email Option"
+msgstr "Opción de correo electrónico de texto sin formato"
+
+#: swpm-form-builder.php:1277
+#@ swpm-form-builder
+msgid "Scheduling"
+msgstr "Programación"
+
+#: swpm-form-builder.php:1278
+#@ swpm-form-builder
+msgid "Limit Form Entries"
+msgstr "Límite forma entradas"
+
+#: swpm-form-builder.php:1279
+#@ swpm-form-builder
+msgid "Simple PayPal Integration"
+msgstr "Integración sencilla de PayPal"
+
+#: swpm-form-builder.php:1281
+#@ swpm-form-builder
+msgid "Live Preview"
+msgstr "Vista previa en vivo"
+
+#: swpm-form-builder.php:1282
+#@ swpm-form-builder
+msgid "Custom Capabilities"
+msgstr "Capacidades personalizadas"
+
+#: swpm-form-builder.php:1392
+#@ swpm-form-builder
+msgid "Description (HTML tags allowed)"
+msgstr "Descripción (etiquetas HTML permitidas)"
+
+#: swpm-form-builder.php:1627
+#@ swpm-form-builder
+msgid "Default Value"
+msgstr "Valor predeterminado"
+
+#: swpm-form-builder.php:1637
+#@ swpm-form-builder
+msgid "Default Country"
+msgstr "País por defecto"
+
+#: swpm-form-builder.php:1697
+#@ swpm-form-builder
+msgid "The form has been successfully created."
+msgstr "La forma se ha creado con éxito."
+
+#: swpm-form-builder.php:1700
+#, php-format
+#@ swpm-form-builder
+msgid "The %s form has been updated."
+msgstr "La forma de %s ha sido actualizada."
+
+#: swpm-form-builder.php:1703
+#@ swpm-form-builder
+msgid "The form has been successfully deleted."
+msgstr "El formulario se ha eliminado con éxito."
+
+#: swpm-form-builder.php:1706
+#@ swpm-form-builder
+msgid "The form has been successfully duplicated."
+msgstr "El formulario ha sido duplicado con éxito."
+
+#: swpm-form-builder.php:1725
+#@ swpm-form-builder
+msgid "All Forms"
+msgstr "Todas las formas"
+
+#: swpm-form-builder.php:1726
+#: swpm-form-builder.php:1763
+#@ swpm-form-builder
+msgid "Add New Form"
+msgstr "Añadir nueva forma"
+
+#: swpm-form-builder.php:1728
+#: swpm-form-builder.php:1819
+#@ swpm-form-builder
+msgid "Export"
+msgstr "Exportación"
+
+#: swpm-form-builder.php:1787
+#, php-format
+#@ swpm-form-builder
+msgid "Search results for \"%s\""
+msgstr "Search results for \\\"%s\\\""
+
+#: swpm-form-builder.php:1859
+#@ swpm-form-builder
+msgid "New Form"
+msgstr "Nueva forma"
+
+#: swpm-form-builder.php:1941
+#@ swpm-form-builder
+msgid "This field is required and cannot be empty."
+msgstr "Este campo es necesario y no puede estar vacío."
+
+#: swpm-form-builder.php:1948
+#@ swpm-form-builder
+msgid "Not a valid email address"
+msgstr "No una dirección válida de correo electrónico"
+
+#: swpm-form-builder.php:1954
+#@ swpm-form-builder
+msgid "Not a valid number"
+msgstr "No es un número válido"
+
+#: swpm-form-builder.php:1961
+#@ swpm-form-builder
+msgid "Not a valid phone number. Most US/Canada and International formats accepted."
+msgstr "¿No es un número de teléfono válido. La mayoría de la U.S. / Canada y formatos internacionales aceptaron."
+
+#: swpm-form-builder.php:1966
+#@ swpm-form-builder
+msgid "Not a valid URL."
+msgstr "No una dirección URL válida."
+
+#: swpm-form-builder.php:1850
+#@ swpm-form-builder
+msgid "Add New"
+msgstr "Agregar nuevo"
+
+#: swpm-form-builder.php:240
+#@ swpm-form-builder
+msgid "You currently do not have any entries."
+msgstr "Actualmente no tiene ninguna entrada."
+
diff --git a/languages/swpm-form-builder-fr_FR.mo b/languages/swpm-form-builder-fr_FR.mo
new file mode 100644 (file)
index 0000000..d4f5a1a
Binary files /dev/null and b/languages/swpm-form-builder-fr_FR.mo differ
diff --git a/languages/swpm-form-builder-fr_FR.po b/languages/swpm-form-builder-fr_FR.po
new file mode 100644 (file)
index 0000000..2364153
--- /dev/null
@@ -0,0 +1,1087 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Visual Form Builder v2.7.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2013-04-15 18:39:59+0000\n"
+"Last-Translator: admin <fuzzboxer@gmail.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n>1;\n"
+"X-Generator: CSL v1.x\n"
+"X-Poedit-Language: French\n"
+"X-Poedit-Country: FRANCE\n"
+"X-Poedit-SourceCharset: utf-8\n"
+"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
+"X-Poedit-Basepath: ../\n"
+"X-Poedit-Bookmarks: \n"
+"X-Poedit-SearchPath-0: .\n"
+"X-Textdomain-Support: yes"
+
+#: includes/admin-form-creator.php:61
+#@ swpm-form-builder
+msgid "Form Name"
+msgstr "Nom de la forme"
+
+#: includes/admin-form-creator.php:62
+#: includes/admin-new-form.php:17
+#@ swpm-form-builder
+msgid "Enter form name here"
+msgstr "Entrez le nom du formulaire ici"
+
+#: includes/admin-form-creator.php:92
+#@ swpm-form-builder
+msgid "Form Settings"
+msgstr "Paramètres de forme"
+
+#: includes/admin-form-creator.php:93
+#@ swpm-form-builder
+msgid "Duplicate Form"
+msgstr "Forme en double"
+
+#: includes/admin-form-creator.php:94
+#@ swpm-form-builder
+msgid "Delete Form"
+msgstr "Supprimer la forme"
+
+#: includes/admin-form-creator.php:96
+#: includes/admin-form-creator.php:358
+#@ swpm-form-builder
+msgid "Save Form"
+msgstr "Enregistrer formulaire"
+
+#: includes/admin-form-creator.php:106
+#@ swpm-form-builder
+msgid "Label Alignment"
+msgstr "Alignement de l'étiquette"
+
+#: includes/admin-form-creator.php:111
+#@ swpm-form-builder
+msgid "Top Aligned"
+msgstr "Haut aligné"
+
+#: includes/admin-form-creator.php:112
+#@ swpm-form-builder
+msgid "Left Aligned"
+msgstr "Aligné à gauche"
+
+#: includes/admin-form-creator.php:113
+#@ swpm-form-builder
+msgid "Right Aligned"
+msgstr "Calé à droite"
+
+#: includes/admin-form-creator.php:124
+#@ swpm-form-builder
+msgid "The forms you build here will send information to one or more email addresses when submitted by a user on your site.  Use the fields below to customize the details of that email."
+msgstr "Les formulaires que vous créez ici enverra des informations à une ou plusieurs adresses de courriel lorsque soumis par un utilisateur sur votre site.  Utilisez les champs ci-dessous pour personnaliser les détails de cet e-mail."
+
+#: includes/admin-form-creator.php:129
+#: includes/admin-form-creator.php:318
+#: includes/admin-new-form.php:40
+#@ swpm-form-builder
+msgid "E-mail Subject"
+msgstr "Sujet du courriel"
+
+#: includes/admin-form-creator.php:140
+#: includes/admin-new-form.php:23
+#@ swpm-form-builder
+msgid "Your Name or Company"
+msgstr "Votre nom ou société"
+
+#: includes/admin-form-creator.php:148
+#@ swpm-form-builder
+msgid "User's Name (optional)"
+msgstr "Nom de l'utilisateur (facultatif)"
+
+#: includes/admin-form-creator.php:152
+#@ swpm-form-builder
+msgid "No required text fields detected"
+msgstr "Aucun champ de texte requis détecté"
+
+#: includes/admin-form-creator.php:170
+#: includes/admin-form-creator.php:289
+#: includes/admin-new-form.php:31
+#@ swpm-form-builder
+msgid "Reply-To E-mail"
+msgstr "Répondre à E-mail"
+
+#: includes/admin-form-creator.php:178
+#@ swpm-form-builder
+msgid "User's E-mail (optional)"
+msgstr "E-mail de l'utilisateur (facultatif)"
+
+#: includes/admin-form-creator.php:182
+#: includes/admin-form-creator.php:302
+#@ swpm-form-builder
+msgid "No required email fields detected"
+msgstr "Aucun champ obligatoire email détectés"
+
+#: includes/admin-form-creator.php:208
+#@ swpm-form-builder
+msgid "E-mail(s) To"
+msgstr "E-mail(s) à"
+
+#: includes/admin-form-creator.php:228
+#@ swpm-form-builder
+msgid "After someone submits a form, you can control what is displayed. By default, it's a message but you can send them to another WordPress Page or a custom URL."
+msgstr "Après que quelqu'un envoie un formulaire, vous pouvez contrôler ce qui est affiché. Par défaut, il s'agit d'un message, mais vous pouvez les envoyer à une autre Page de WordPress ou une URL personnalisée."
+
+#: includes/admin-form-creator.php:231
+#@ swpm-form-builder
+msgid "Text"
+msgstr "Texte"
+
+#: includes/admin-form-creator.php:235
+#@ swpm-form-builder
+msgid "Page"
+msgstr "Page"
+
+#: includes/admin-form-creator.php:239
+#@ swpm-form-builder
+msgid "Redirect"
+msgstr "Redirection"
+
+#: includes/admin-form-creator.php:248
+#@ swpm-form-builder
+msgid "Registration is complete."
+msgstr "L'enregistrement est terminé."
+
+#@ swpm-form-builder
+msgid "Profile Updated."
+msgstr "Profil mis à jour."
+
+#: includes/admin-form-creator.php:258
+#@ swpm-form-builder
+msgid "Select a Page"
+msgstr "Sélectionnez une Page"
+
+#: includes/admin-form-creator.php:271
+#@ swpm-form-builder
+msgid "When a user submits their entry, you can send a customizable notification email."
+msgstr "Lorsqu'un utilisateur envoie leur entrée, vous pouvez envoyer un e-mail de notification personnalisable."
+
+#: includes/admin-form-creator.php:274
+#@ swpm-form-builder
+msgid "Send Confirmation Email to User"
+msgstr "Envoyer des Email de Confirmation à l'utilisateur"
+
+#: includes/admin-form-creator.php:280
+#@ swpm-form-builder
+msgid "Sender Name or Company"
+msgstr "Nom de l'expéditeur ou de la société"
+
+#: includes/admin-form-creator.php:298
+#: includes/admin-new-form.php:48
+#@ swpm-form-builder
+msgid "E-mail To"
+msgstr "Envoyer un e-mail à"
+
+#: includes/admin-form-creator.php:326
+#@ swpm-form-builder
+msgid "Message"
+msgstr "Message"
+
+#: includes/admin-form-creator.php:334
+#@ swpm-form-builder
+msgid "Include a Copy of the User's Entry"
+msgstr "Inclure une copie de l'entrée d'utilisateur"
+
+#: includes/admin-form-creator.php:346
+#@ swpm-form-builder
+msgid "Warning &mdash; Missing Fieldset"
+msgstr "AVERTISSEMENT &mdash; manquant Fieldset"
+
+#: includes/admin-form-creator.php:346
+#@ swpm-form-builder
+msgid "Your form may not function or display correctly. Please be sure to add or move a Fieldset to the beginning of your form."
+msgstr "Votre formulaire ne peut-être pas fonctionner et s'afficher correctement. S'il vous plaît n'oubliez pas d'ajouter ou de déplacer un jeu de champs au début de votre formulaire."
+
+#: includes/admin-new-form.php:7
+#@ swpm-form-builder
+msgid "You do not have sufficient permissions to create a new form."
+msgstr "Vous n'avez pas les autorisations suffisantes pour créer une nouvelle forme."
+
+#: includes/admin-new-form.php:9
+#@ swpm-form-builder
+msgid "Create a form"
+msgstr "Créer un formulaire"
+
+#: includes/admin-new-form.php:15
+#@ swpm-form-builder
+msgid "Name the form"
+msgstr "Nommez le formulaire"
+
+#: includes/admin-new-form.php:18
+#@ swpm-form-builder
+msgid "Required. This name is used for admin purposes."
+msgstr "Obligatoire. Ce nom est utilisé à des fins d'admin."
+
+#: includes/admin-new-form.php:26
+#@ swpm-form-builder
+msgid "Required. This is who your emails will come from."
+msgstr "Obligatoire. Il s'agit qui proviennent vos emails."
+
+#: includes/admin-new-form.php:34
+#@ swpm-form-builder
+msgid "Required. Replies to your email will go here."
+msgstr "Obligatoire. Réponses à vos courriels iront ici."
+
+#: includes/admin-new-form.php:35
+#@ swpm-form-builder
+msgid "Tip: for best results, use an email that exists on this domain."
+msgstr "Astuce : pour de meilleurs résultats, utilisez un email existant dans ce domaine."
+
+#: includes/admin-new-form.php:43
+#: includes/admin-new-form.php:51
+#@ swpm-form-builder
+msgid "Optional (for now) - you can change this later"
+msgstr "En option (pour l'instant) - vous pouvez changer cela plus tard"
+
+#: includes/admin-new-form.php:57
+#@ swpm-form-builder
+msgid "Create Form"
+msgstr "Créer formulaire"
+
+#: includes/class-entries-detail.php:37
+#: includes/class-entries-detail.php:91
+#@ swpm-form-builder
+msgid "Entry"
+msgstr "Entrée"
+
+#: includes/class-entries-detail.php:42
+#@ swpm-form-builder
+msgid "Details"
+msgstr "Détails"
+
+#: includes/class-entries-detail.php:48
+#@ swpm-form-builder
+msgid "Form Title"
+msgstr "Titre du formulaire"
+
+#: includes/class-entries-detail.php:51
+#: includes/class-entries-list.php:94
+#: includes/class-export.php:18
+#@ swpm-form-builder
+msgid "Date Submitted"
+msgstr "Date d'introduction"
+
+#: includes/class-entries-detail.php:54
+#: includes/class-entries-list.php:93
+#: includes/class-export.php:19
+#@ swpm-form-builder
+msgid "IP Address"
+msgstr "Adresse IP"
+
+#: includes/class-entries-detail.php:57
+#: includes/class-entries-list.php:89
+#@ swpm-form-builder
+msgid "Email Subject"
+msgstr "Sujet de l'e-mail"
+
+#: includes/class-entries-detail.php:60
+#: includes/class-entries-list.php:90
+#: includes/class-export.php:21
+#@ swpm-form-builder
+msgid "Sender Name"
+msgstr "Nom de l'expéditeur"
+
+#: includes/class-entries-detail.php:63
+#: includes/class-entries-list.php:91
+#: includes/class-export.php:22
+#@ swpm-form-builder
+msgid "Sender Email"
+msgstr "Email de l'expéditeur"
+
+#: includes/class-entries-detail.php:66
+#: includes/class-entries-list.php:92
+#: includes/class-export.php:23
+#@ swpm-form-builder
+msgid "Emailed To"
+msgstr "Envoyé par courriel à"
+
+#: includes/class-entries-list.php:88
+#: includes/class-export.php:104
+#@ swpm-form-builder
+msgid "Form"
+msgstr "Formulaire"
+
+#: includes/class-entries-list.php:176
+#: swpm-form-builder.php:1245
+#@ swpm-form-builder
+msgid "Delete"
+msgstr "Supprimer"
+
+#: includes/class-entries-list.php:218
+#@ swpm-form-builder
+msgid "View all forms"
+msgstr "Découvre toutes les formes"
+
+#: includes/class-entries-list.php:225
+#@ swpm-form-builder
+msgid "Filter"
+msgstr "Filtre"
+
+#: includes/class-entries-list.php:252
+#@ default
+msgid "Show all dates"
+msgstr ""
+
+#: includes/class-entries-list.php:264
+#: includes/class-export.php:530
+#, php-format
+#@ default
+msgid "%1$s %2$d"
+msgstr ""
+
+#: includes/class-entries-list.php:421
+#, php-format
+#@ default
+msgid "1 item"
+msgid_plural "%s items"
+msgstr[0] ""
+msgstr[1] ""
+
+#: includes/class-entries-list.php:442
+#@ default
+msgid "Go to the first page"
+msgstr ""
+
+#: includes/class-entries-list.php:450
+#@ default
+msgid "Go to the previous page"
+msgstr ""
+
+#: includes/class-entries-list.php:459
+#@ default
+msgid "Current page"
+msgstr ""
+
+#: includes/class-entries-list.php:465
+#, php-format
+#@ default
+msgctxt "paging"
+msgid "%1$s of %2$s"
+msgstr ""
+
+#: includes/class-entries-list.php:469
+#@ default
+msgid "Go to the next page"
+msgstr ""
+
+#: includes/class-entries-list.php:477
+#@ default
+msgid "Go to the last page"
+msgstr ""
+
+#: includes/class-export.php:17
+#@ swpm-form-builder
+msgid "Entries ID"
+msgstr "ID d'entrées"
+
+#: includes/class-export.php:20
+#@ swpm-form-builder
+msgid "Subject"
+msgstr "Objet"
+
+#: includes/class-export.php:65
+#: includes/class-export.php:391
+#@ swpm-form-builder
+msgid "No entries to pull field names from."
+msgstr "Aucune entrée à tirer sur les noms de domaine de."
+
+#: includes/class-export.php:81
+#@ swpm-form-builder
+msgid "Backup and save some or all of your Visual Form Builder data."
+msgstr "Sauvegarder et enregistrer tout ou partie de vos données constructeur de forme visuelle."
+
+#: includes/class-export.php:82
+#@ swpm-form-builder
+msgid "Once you have saved the file, you will be able to import Visual Form Builder Pro data from this site into another site."
+msgstr "Une fois que vous avez enregistré le fichier, vous serez en mesure d'importer des données visuelles Form Builder Pro du site dans un autre site."
+
+#: includes/class-export.php:83
+#@ swpm-form-builder
+msgid "Choose what to export"
+msgstr "Choisissez ce qu'il faut exporter"
+
+#: includes/class-export.php:85
+#@ swpm-form-builder
+msgid "All data"
+msgstr "Toutes les données"
+
+#: includes/class-export.php:86
+#@ swpm-form-builder
+msgid "This will contain all of your forms, fields, entries, and email design settings."
+msgstr "Celui-ci contiendra tous vos formulaires, champs, entrées et paramètres de conception de messagerie."
+
+#: includes/class-export.php:86
+#: includes/class-export.php:89
+#@ swpm-form-builder
+msgid "Only available in Visual Form Builder Pro"
+msgstr "Disponible uniquement dans Visual Form Builder Pro"
+
+#: includes/class-export.php:88
+#@ swpm-form-builder
+msgid "Forms"
+msgstr "Formes"
+
+#: includes/class-export.php:89
+#@ swpm-form-builder
+msgid "This will contain all of your forms, fields, and email design settings"
+msgstr "Ce tableau contiendra tous vos formulaires, les champs et les paramètres de conception d'e-mail"
+
+#: includes/class-export.php:91
+#: swpm-form-builder.php:1731
+#: swpm-form-builder.php:1755
+#@ swpm-form-builder
+msgid "Entries"
+msgstr "Entrées"
+
+#: includes/class-export.php:94
+#@ swpm-form-builder
+msgid "This will export entries in either a .csv, .txt, or .xls and cannot be used with the Import.  If you need to import entries on another site, please use the All data option above."
+msgstr "Ceci exportera entrées dans un .csv, .txt ou .xls et ne peut pas être utilisé avec l'importation.  Si vous avez besoin importer des entrées sur un autre site, veuillez utiliser l'option toutes les données ci-dessus."
+
+#: includes/class-export.php:96
+#@ swpm-form-builder
+msgid "Format"
+msgstr "Format"
+
+#: includes/class-export.php:98
+#@ swpm-form-builder
+msgid "Comma Separated (.csv)"
+msgstr "Séparés par des virgules (.csv)"
+
+#: includes/class-export.php:99
+#@ swpm-form-builder
+msgid "Tab Delimited (.txt) - Pro only"
+msgstr "Onglet délimité (.txt) - Pro uniquement"
+
+#: includes/class-export.php:100
+#@ swpm-form-builder
+msgid "Excel (.xls) - Pro only"
+msgstr "Excel (.xls) - Pro uniquement"
+
+#: includes/class-export.php:114
+#@ swpm-form-builder
+msgid "Date Range"
+msgstr "Plage de dates"
+
+#: includes/class-export.php:129
+#@ swpm-form-builder
+msgid "Page to Export"
+msgstr "Page d'exportation"
+
+#: includes/class-export.php:137
+#@ swpm-form-builder
+msgid "A large number of entries have been detected for this form. Only 1000 entries can be exported at a time."
+msgstr "Un grand nombre d'entrées ont été détecté pour ce formulaire. Seulement 1000 entrées peuvent être exportées à la fois."
+
+#: includes/class-export.php:144
+#@ swpm-form-builder
+msgid "Fields"
+msgstr "Champs"
+
+#: includes/class-export.php:146
+#@ swpm-form-builder
+msgid "Select All"
+msgstr "Sélectionner tout"
+
+#: includes/class-export.php:159
+#@ swpm-form-builder
+msgid "Download Export File"
+msgstr "Télécharger le fichier d'exportation"
+
+#: includes/email.php:11
+#@ swpm-form-builder
+msgid "Security check: hidden spam field should be blank."
+msgstr "Vérification de la sécurité : spam cachée champ doit être vide."
+
+#: includes/email.php:13
+#@ swpm-form-builder
+msgid "Security check: failed secret question. Please try again!"
+msgstr "Vérification de sécurité : n'a pas de question secrète. S'il vous plaît essayer de nouveau !"
+
+#: includes/email.php:21
+#@ swpm-form-builder
+msgid "Security check: looks like you are a SPAM bot. If you think this is an error, please email the site owner."
+msgstr "Vérification de la sécurité : on dirait que vous êtes un robot de SPAM. Si vous pensez qu'il s'agit d'une erreur, veuillez envoyer un courriel au propriétaire du site."
+
+#: includes/email.php:111
+#, php-format
+#@ swpm-form-builder
+msgid "File size exceeds %dMB. Most email providers will reject emails with attachments larger than %dMB. Please decrease the file size and try again."
+msgstr "Taille du fichier dépasse %d Mo. La plupart des fournisseurs de messagerie refusera d'e-mails avec pièces jointes plus de %d Mo. Veuillez diminuer la taille du fichier et réessayez."
+
+#: includes/email.php:262
+#@ swpm-form-builder
+msgid "Your responses look too much like spam and could not be sent at this time."
+msgstr "Vos réponses regarde trop comme spam et n'a pu être envoyés à cette époque."
+
+#: includes/form-output.php:155
+#, php-format
+#@ swpm-form-builder
+msgid "Logged in as <a href=\"%1$s\">%2$s</a>. Verification not required."
+msgstr "Connecté en tant que <a href=\\\"%1$s\\\">%2$ s</a>. Vérification ne pas requise."
+
+#: includes/form-output.php:326
+#@ swpm-form-builder
+msgid "Address"
+msgstr "Adresse"
+
+#: includes/form-output.php:330
+#@ swpm-form-builder
+msgid "Address Line 2"
+msgstr "Adresse ligne 2"
+
+#: includes/form-output.php:334
+#@ swpm-form-builder
+msgid "City"
+msgstr "Ville"
+
+#: includes/form-output.php:338
+#@ swpm-form-builder
+msgid "State / Province / Region"
+msgstr "État / Province / région"
+
+#: includes/form-output.php:342
+#@ swpm-form-builder
+msgid "Postal / Zip Code"
+msgstr "Postal / Zip Code"
+
+#: includes/form-output.php:346
+#@ swpm-form-builder
+msgid "Country"
+msgstr "Pays"
+
+#: includes/form-output.php:556
+#@ swpm-form-builder
+msgid "Verification"
+msgstr "Vérification"
+
+#: includes/form-output.php:558
+#@ swpm-form-builder
+msgid "Please enter any two digits with <strong>no</strong> spaces (Example: 12)"
+msgstr "Veuillez entrer les deux chiffres <strong>sans</strong> espace (exemple : 12)"
+
+#: includes/form-output.php:571
+#@ swpm-form-builder
+msgid "This box is for spam protection - <strong>please leave it blank</strong>"
+msgstr "Cette boîte est pour la protection contre le spam - <strong>Veuillez laisser en blanc</strong>"
+
+#: swpm-form-builder.php:196
+#@ swpm-form-builder
+msgid "Settings"
+msgstr "Paramètres"
+
+#: swpm-form-builder.php:217
+#@ swpm-form-builder
+msgid "Recent Visual Form Builder Entries"
+msgstr "Entrées récentes de générateur de forme visuelle"
+
+#: swpm-form-builder.php:240
+#@ swpm-form-builder
+msgid "You currently do not have any forms."
+msgstr "Vous n'avez pas actuellement de toutes les formes."
+
+#: swpm-form-builder.php:242
+#@ swpm-form-builder
+msgid "Get started!"
+msgstr "Obtenir commencé !"
+
+#: swpm-form-builder.php:251
+#@ swpm-form-builder
+msgid "You currently do not have any entries."
+msgstr "Actuellement, vous n'avez pas toutes les entrées."
+
+#: swpm-form-builder.php:300
+#@ swpm-form-builder
+msgid "Number of entries to show:"
+msgstr "Nombre d'entrées à afficher :"
+
+#: swpm-form-builder.php:403
+#@ swpm-form-builder
+msgid "Entries per page"
+msgstr "Entrées par page"
+
+#: swpm-form-builder.php:442
+#@ swpm-form-builder
+msgid "Form Items"
+msgstr "Éléments de formulaire"
+
+#: swpm-form-builder.php:443
+#@ swpm-form-builder
+msgid "Display Forms"
+msgstr "Afficher les formes"
+
+#: swpm-form-builder.php:454
+#@ swpm-form-builder
+msgid "Click"
+msgstr "Cliquez sur"
+
+#: swpm-form-builder.php:454
+#@ swpm-form-builder
+msgid "to Add a Field"
+msgstr "pour ajouter un champ"
+
+#: swpm-form-builder.php:456
+#@ swpm-form-builder
+msgid "Standard"
+msgstr "Norme"
+
+#: swpm-form-builder.php:497
+#@ swpm-form-builder
+msgid "Add forms to your Posts or Pages by locating the icon shown below in the area above your post/page editor."
+msgstr "Ajouter des formes à vos Posts ou Pages en localisant l'icône ci-dessous dans la zone située au-dessus de l'éditeur de votre post/page."
+
+#: swpm-form-builder.php:500
+#@ swpm-form-builder
+msgid "You may also manually insert the shortcode into a post/page."
+msgstr "Vous pouvez aussi manuellement insérer le shortcode dans un post/page."
+
+#: swpm-form-builder.php:501
+#@ swpm-form-builder
+msgid "Shortcode"
+msgstr "Shortcode"
+
+#: swpm-form-builder.php:1243
+#@ swpm-form-builder
+msgid "Edit Form"
+msgstr "Formulaire de modification"
+
+#: swpm-form-builder.php:1268
+#@ swpm-form-builder
+msgid "New Features of Visual Form Builder Pro"
+msgstr "Nouvelles fonctionnalités de Visual forment Builder Pro"
+
+#: swpm-form-builder.php:1270
+#@ swpm-form-builder
+msgid "Now with Add-Ons"
+msgstr "Maintenant avec les Add-ons"
+
+#: swpm-form-builder.php:1271
+#@ swpm-form-builder
+msgid "Akismet Support"
+msgstr "Akismet Support"
+
+#: swpm-form-builder.php:1272
+#@ swpm-form-builder
+msgid "Optional SPAM Verification"
+msgstr "Vérification SPAM en option"
+
+#: swpm-form-builder.php:1273
+#@ swpm-form-builder
+msgid "Nested Drag and Drop"
+msgstr "Goutte et Drag imbriqué"
+
+#: swpm-form-builder.php:1274
+#@ swpm-form-builder
+msgid "Conditional Logic"
+msgstr "Logique conditionnelle"
+
+#: swpm-form-builder.php:1275
+#@ swpm-form-builder
+msgid "10+ new Form Fields"
+msgstr "10 + nouveaux champs de formulaire"
+
+#: swpm-form-builder.php:1276
+#@ swpm-form-builder
+msgid "Complete Entries Management"
+msgstr "Gestion des entrées complètes"
+
+#: swpm-form-builder.php:1277
+#@ swpm-form-builder
+msgid "Import/Export"
+msgstr "Importation/exportation"
+
+#: swpm-form-builder.php:1278
+#@ swpm-form-builder
+msgid "Quality HTML Email Template"
+msgstr "Modèle d'E-mail HTML de qualité"
+
+#: swpm-form-builder.php:1279
+#@ swpm-form-builder
+msgid "Plain Text Email Option"
+msgstr "Option de messagerie texte brut"
+
+#: swpm-form-builder.php:1280
+#@ swpm-form-builder
+msgid "Email Designer"
+msgstr "E-mail Designer"
+
+#: swpm-form-builder.php:1281
+#@ swpm-form-builder
+msgid "Analytics"
+msgstr "Google Analytics"
+
+#: swpm-form-builder.php:1282
+#@ swpm-form-builder
+msgid "Data &amp; Form Migration"
+msgstr "Données &amp; formulaire de Migration"
+
+#: swpm-form-builder.php:1283
+#@ swpm-form-builder
+msgid "Scheduling"
+msgstr "Ordonnancement"
+
+#: swpm-form-builder.php:1284
+#@ swpm-form-builder
+msgid "Limit Form Entries"
+msgstr "Limite les entrées de formulaire"
+
+#: swpm-form-builder.php:1285
+#@ swpm-form-builder
+msgid "Simple PayPal Integration"
+msgstr "Intégration PayPal simple"
+
+#: swpm-form-builder.php:1286
+#@ swpm-form-builder
+msgid "Form Paging"
+msgstr "Pagination de formulaire"
+
+#: swpm-form-builder.php:1287
+#@ swpm-form-builder
+msgid "Live Preview"
+msgstr "Aperçu en direct"
+
+#: swpm-form-builder.php:1288
+#@ swpm-form-builder
+msgid "Custom Capabilities"
+msgstr "Fonctionnalités personnalisées"
+
+#: swpm-form-builder.php:1289
+#@ swpm-form-builder
+msgid "No License Key"
+msgstr "Aucune clé de licence"
+
+#: swpm-form-builder.php:1290
+#@ swpm-form-builder
+msgid "Automatic Updates"
+msgstr "Mises à jour automatiques"
+
+#: swpm-form-builder.php:1293
+#@ swpm-form-builder
+msgid "Learn more about some of these features"
+msgstr "En savoir plus sur certaines de ces fonctionnalités"
+
+#: swpm-form-builder.php:1294
+#@ swpm-form-builder
+msgid "Buy Now"
+msgstr "Acheter maintenant"
+
+#: swpm-form-builder.php:1294
+#@ swpm-form-builder
+msgid "Only $10"
+msgstr "Seulement 10 $"
+
+#: swpm-form-builder.php:1297
+#@ swpm-form-builder
+msgid "Help Promote Visual Form Builder"
+msgstr "Aider à promouvoir la forme visuelle Builder"
+
+#: swpm-form-builder.php:1299
+#@ swpm-form-builder
+msgid "Follow me on Twitter"
+msgstr "Suivez-moi sur Twitter"
+
+#: swpm-form-builder.php:1300
+#@ swpm-form-builder
+msgid "Rate Visual Form Builder on WordPress.org"
+msgstr "Générateur de forme visuelle de taux sur WordPress.org"
+
+#: swpm-form-builder.php:1362
+#@ swpm-form-builder
+msgid "Edit Field Item"
+msgstr "Modifier l'élément de champ"
+
+#: swpm-form-builder.php:1379
+#: swpm-form-builder.php:1420
+#: swpm-form-builder.php:1659
+#@ swpm-form-builder
+msgid "CSS Classes"
+msgstr "Classes CSS"
+
+#: swpm-form-builder.php:1390
+#: swpm-form-builder.php:1410
+#@ swpm-form-builder
+msgid "Name"
+msgstr "Nom"
+
+#: swpm-form-builder.php:1398
+#@ swpm-form-builder
+msgid "Description (HTML tags allowed)"
+msgstr "Description (balises HTML autorisés)"
+
+#: swpm-form-builder.php:1430
+#@ swpm-form-builder
+msgid "Description"
+msgstr "Description"
+
+#: swpm-form-builder.php:1442
+#@ swpm-form-builder
+msgid "Options"
+msgstr "Options"
+
+#: swpm-form-builder.php:1499
+#@ swpm-form-builder
+msgid "Accepted File Extensions"
+msgstr "Extensions de fichiers acceptés"
+
+#: swpm-form-builder.php:1514
+#@ swpm-form-builder
+msgid "Validation"
+msgstr "Validation"
+
+#: swpm-form-builder.php:1521
+#@ swpm-form-builder
+msgid "12 Hour Format"
+msgstr "Format 12 heures"
+
+#: swpm-form-builder.php:1522
+#@ swpm-form-builder
+msgid "24 Hour Format"
+msgstr "Format 24 heures"
+
+#: swpm-form-builder.php:1524
+#@ swpm-form-builder
+msgid "None"
+msgstr "Aucun"
+
+#: swpm-form-builder.php:1525
+#@ swpm-form-builder
+msgid "Email"
+msgstr "Messagerie"
+
+#: swpm-form-builder.php:1526
+#@ swpm-form-builder
+msgid "URL"
+msgstr "URL"
+
+#: swpm-form-builder.php:1527
+#@ swpm-form-builder
+msgid "Date"
+msgstr "Date"
+
+#: swpm-form-builder.php:1528
+#@ swpm-form-builder
+msgid "Number"
+msgstr "Nombre"
+
+#: swpm-form-builder.php:1529
+#@ swpm-form-builder
+msgid "Digits"
+msgstr "Chiffres"
+
+#: swpm-form-builder.php:1530
+#@ swpm-form-builder
+msgid "Phone"
+msgstr "Téléphone"
+
+#: swpm-form-builder.php:1562
+#@ swpm-form-builder
+msgid "Required"
+msgstr "Obligatoire"
+
+#: swpm-form-builder.php:1566
+#@ swpm-form-builder
+msgid "No"
+msgstr "Non"
+
+#: swpm-form-builder.php:1567
+#@ swpm-form-builder
+msgid "Yes"
+msgstr "Oui"
+
+#: swpm-form-builder.php:1576
+#@ swpm-form-builder
+msgid "Size"
+msgstr "Taille"
+
+#: swpm-form-builder.php:1580
+#@ swpm-form-builder
+msgid "Small"
+msgstr "Petit"
+
+#: swpm-form-builder.php:1581
+#@ swpm-form-builder
+msgid "Medium"
+msgstr "Médium"
+
+#: swpm-form-builder.php:1582
+#@ swpm-form-builder
+msgid "Large"
+msgstr "Grand"
+
+#: swpm-form-builder.php:1591
+#@ swpm-form-builder
+msgid "Options Layout"
+msgstr "Options mise en page"
+
+#: swpm-form-builder.php:1595
+#@ swpm-form-builder
+msgid "One Column"
+msgstr "Une seule colonne"
+
+#: swpm-form-builder.php:1596
+#@ swpm-form-builder
+msgid "Two Columns"
+msgstr "Deux colonnes"
+
+#: swpm-form-builder.php:1597
+#@ swpm-form-builder
+msgid "Three Columns"
+msgstr "Trois colonnes"
+
+#: swpm-form-builder.php:1598
+#@ swpm-form-builder
+msgid "Auto Width"
+msgstr "Largeur de l'auto"
+
+#: swpm-form-builder.php:1607
+#@ swpm-form-builder
+msgid "Field Layout"
+msgstr "Présentation du domaine"
+
+#: swpm-form-builder.php:1612
+#@ swpm-form-builder
+msgid "Default"
+msgstr "Par défaut"
+
+#: swpm-form-builder.php:1614
+#@ swpm-form-builder
+msgid "Left Half"
+msgstr "Moitié gauche"
+
+#: swpm-form-builder.php:1615
+#@ swpm-form-builder
+msgid "Right Half"
+msgstr "Moitié droite"
+
+#: swpm-form-builder.php:1618
+#@ swpm-form-builder
+msgid "Left Third"
+msgstr "Troisième gauche"
+
+#: swpm-form-builder.php:1619
+#@ swpm-form-builder
+msgid "Middle Third"
+msgstr "Tiers médian"
+
+#: swpm-form-builder.php:1620
+#@ swpm-form-builder
+msgid "Right Third"
+msgstr "Tiers droit"
+
+#: swpm-form-builder.php:1623
+#@ swpm-form-builder
+msgid "Left Two Thirds"
+msgstr "Gauche deux tiers"
+
+#: swpm-form-builder.php:1624
+#@ swpm-form-builder
+msgid "Right Two Thirds"
+msgstr "Juste deux tiers"
+
+#: swpm-form-builder.php:1633
+#@ swpm-form-builder
+msgid "Default Value"
+msgstr "Valeur par défaut"
+
+#: swpm-form-builder.php:1643
+#@ swpm-form-builder
+msgid "Default Country"
+msgstr "Pays par défaut"
+
+#: swpm-form-builder.php:1671
+#@ swpm-form-builder
+msgid "Remove"
+msgstr "Supprimer"
+
+#: swpm-form-builder.php:1703
+#@ swpm-form-builder
+msgid "The form has been successfully created."
+msgstr "Le formulaire a été créé avec succès."
+
+#: swpm-form-builder.php:1706
+#, php-format
+#@ swpm-form-builder
+msgid "The %s form has been updated."
+msgstr "La forme de %s a été mis à jour."
+
+#: swpm-form-builder.php:1709
+#@ swpm-form-builder
+msgid "The form has been successfully deleted."
+msgstr "Le formulaire a été supprimé avec succès."
+
+#: swpm-form-builder.php:1712
+#@ swpm-form-builder
+msgid "The form has been successfully duplicated."
+msgstr "La forme a été copiée avec succès."
+
+#: swpm-form-builder.php:1727
+#: swpm-form-builder.php:1729
+#: swpm-form-builder.php:1753
+#@ swpm-form-builder
+msgid "Visual Form Builder"
+msgstr "Visual Form Builder"
+
+#: swpm-form-builder.php:1729
+#@ swpm-form-builder
+msgid "All Forms"
+msgstr "Toutes les formes"
+
+#: swpm-form-builder.php:1730
+#: swpm-form-builder.php:1754
+#@ swpm-form-builder
+msgid "Add New Form"
+msgstr "Ajouter la nouvelle forme"
+
+#: swpm-form-builder.php:1732
+#: swpm-form-builder.php:1756
+#@ swpm-form-builder
+msgid "Export"
+msgstr "Exportation"
+
+#: swpm-form-builder.php:1768
+#@ swpm-form-builder
+msgid "Add New"
+msgstr "Ajouter un nouveau"
+
+#: swpm-form-builder.php:1771
+#, php-format
+#@ swpm-form-builder
+msgid "Search results for \"%s\""
+msgstr "Résultats de la recherche pour « %s »"
+
+#: swpm-form-builder.php:1804
+#@ swpm-form-builder
+msgid "New Form"
+msgstr "Nouvelle forme"
+
+#: swpm-form-builder.php:1893
+#@ swpm-form-builder
+msgid "This field is required and cannot be empty."
+msgstr "Ce champ est obligatoire et ne peut pas être vide."
+
+#: swpm-form-builder.php:1900
+#@ swpm-form-builder
+msgid "Not a valid email address"
+msgstr "Pas une adresse email valide"
+
+#: swpm-form-builder.php:1906
+#@ swpm-form-builder
+msgid "Not a valid number"
+msgstr "Pas un nombre valide"
+
+#: swpm-form-builder.php:1913
+#@ swpm-form-builder
+msgid "Not a valid phone number. Most US/Canada and International formats accepted."
+msgstr "Pas un numéro de téléphone valide. La plupart des U.S. / Canada et formats internationaux acceptés."
+
+#: swpm-form-builder.php:1918
+#@ swpm-form-builder
+msgid "Not a valid URL."
+msgstr "Pas une URL valide."
+
diff --git a/languages/swpm-form-builder-hu_HU.mo b/languages/swpm-form-builder-hu_HU.mo
new file mode 100644 (file)
index 0000000..51c049e
Binary files /dev/null and b/languages/swpm-form-builder-hu_HU.mo differ
diff --git a/languages/swpm-form-builder-hu_HU.po b/languages/swpm-form-builder-hu_HU.po
new file mode 100644 (file)
index 0000000..3ae5366
--- /dev/null
@@ -0,0 +1,1082 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Visual Form Builder v2.7.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-10-06 13:57-0600\n"
+"PO-Revision-Date: 2013-04-10 14:15:55+0000\n"
+"Last-Translator: glocs <inkabb.nem@gmail.kom>\n"
+"Language-Team: glocs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: CSL v1.x\n"
+"X-Poedit-Language: Hungarian\n"
+"X-Poedit-Country: HUNGARY\n"
+"X-Poedit-SourceCharset: utf-8\n"
+"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
+"X-Poedit-Basepath: .\n"
+"X-Poedit-Bookmarks: \n"
+"X-Poedit-SearchPath-0: /Applications/MAMP/htdocs/wp3/wp-content/plugins/swpm-form-builder\n"
+"X-Textdomain-Support: yes"
+
+#: includes/class-entries-detail.php:42
+#@ swpm-form-builder
+msgid "Details"
+msgstr "Részletek"
+
+#: includes/class-entries-detail.php:48
+#@ swpm-form-builder
+msgid "Form Title"
+msgstr "Űrlap cím"
+
+#: includes/class-entries-detail.php:51
+#: includes/class-entries-list.php:94
+#: includes/class-export.php:18
+#@ swpm-form-builder
+msgid "Date Submitted"
+msgstr "Elkészítés dátuma"
+
+#: includes/class-entries-detail.php:54
+#: includes/class-entries-list.php:93
+#: includes/class-export.php:19
+#@ swpm-form-builder
+msgid "IP Address"
+msgstr "IP cím"
+
+#: includes/class-entries-detail.php:57
+#: includes/class-entries-list.php:89
+#@ swpm-form-builder
+msgid "Email Subject"
+msgstr "Email tárgy"
+
+#: includes/class-entries-detail.php:60
+#: includes/class-entries-list.php:90
+#: includes/class-export.php:21
+#@ swpm-form-builder
+msgid "Sender Name"
+msgstr "Küldő Név"
+
+#: includes/class-entries-detail.php:63
+#: includes/class-entries-list.php:91
+#: includes/class-export.php:22
+#@ swpm-form-builder
+msgid "Sender Email"
+msgstr "Küldő Email"
+
+#: includes/class-entries-detail.php:66
+#: includes/class-entries-list.php:92
+#: includes/class-export.php:23
+#@ swpm-form-builder
+msgid "Emailed To"
+msgstr "Címzett"
+
+#: includes/class-entries-detail.php:37
+#: includes/class-entries-detail.php:91
+#@ swpm-form-builder
+msgid "Entry"
+msgstr "Bejegyzés"
+
+#: includes/class-entries-list.php:88
+#: includes/class-export.php:104
+#@ swpm-form-builder
+msgid "Form"
+msgstr "Űrlap"
+
+#: includes/class-entries-list.php:176
+#: swpm-form-builder.php:1235
+#@ swpm-form-builder
+msgid "Delete"
+msgstr "\vTörlés"
+
+#: includes/class-export.php:17
+#@ swpm-form-builder
+msgid "Entries ID"
+msgstr "Bejegyzés ID"
+
+#: includes/class-entries-list.php:218
+#@ swpm-form-builder
+msgid "View all forms"
+msgstr "Minden űrlap"
+
+#: includes/class-entries-list.php:225
+#@ swpm-form-builder
+msgid "Filter"
+msgstr "Szűrő"
+
+#: swpm-form-builder.php:196
+#@ swpm-form-builder
+msgid "Settings"
+msgstr "Beállítások"
+
+#: swpm-form-builder.php:1717
+#: swpm-form-builder.php:1719
+#: swpm-form-builder.php:1743
+#@ swpm-form-builder
+msgid "Visual Form Builder"
+msgstr "Visual Form Builder"
+
+#: includes/class-export.php:88
+#@ swpm-form-builder
+msgid "Forms"
+msgstr "Űrlapok"
+
+#: includes/class-export.php:91
+#: swpm-form-builder.php:1721
+#: swpm-form-builder.php:1745
+#@ swpm-form-builder
+msgid "Entries"
+msgstr "Bejegyzések"
+
+#: swpm-form-builder.php:434
+#@ swpm-form-builder
+msgid "Form Items"
+msgstr "Űrlap mezők"
+
+#: swpm-form-builder.php:446
+#@ swpm-form-builder
+msgid "Click"
+msgstr "Kattintás"
+
+#: swpm-form-builder.php:446
+#@ swpm-form-builder
+msgid "to Add a Field"
+msgstr "mező hozzáadása"
+
+#: includes/admin-form-creator.php:61
+#@ swpm-form-builder
+msgid "Form Name"
+msgstr "Űrlap neve"
+
+#: includes/admin-form-creator.php:124
+#@ swpm-form-builder
+msgid "The forms you build here will send information to one or more email addresses when submitted by a user on your site.  Use the fields below to customize the details of that email."
+msgstr "Az elkészített űrlap információt küld egy, vagy több email címre, ha a felhasználó elküldte. Használd az alábbi mezőket az email testre szabásához."
+
+#: includes/admin-form-creator.php:129
+#: includes/admin-form-creator.php:318
+#: includes/admin-new-form.php:40
+#@ swpm-form-builder
+msgid "E-mail Subject"
+msgstr "E-mail tárgy"
+
+#: includes/admin-form-creator.php:208
+#@ swpm-form-builder
+msgid "E-mail(s) To"
+msgstr "E-mail(ek) címzettje"
+
+#: includes/admin-form-creator.php:228
+#@ swpm-form-builder
+msgid "After someone submits a form, you can control what is displayed. By default, it's a message but you can send them to another WordPress Page or a custom URL."
+msgstr "Az űrlap elküldése után megjelenő rész. Alapból egy üzenet, de akár egy WordPress oldalra, vagy URL-re is küldheted."
+
+#: includes/admin-form-creator.php:231
+#@ swpm-form-builder
+msgid "Text"
+msgstr "Szöveg"
+
+#: includes/admin-form-creator.php:235
+#@ swpm-form-builder
+msgid "Page"
+msgstr "Oldal"
+
+#: includes/admin-form-creator.php:239
+#@ swpm-form-builder
+msgid "Redirect"
+msgstr "Átirányítás"
+
+#: includes/admin-form-creator.php:248
+#@ swpm-form-builder
+msgid "Registration is complete."
+msgstr "Regisztráció befejeződött."
+
+
+#@ swpm-form-builder
+msgid "Profile Updated."
+msgstr "Profil frissítés."
+
+#: includes/admin-form-creator.php:258
+#@ swpm-form-builder
+msgid "Select a Page"
+msgstr "Válassz oldalt"
+
+#: includes/admin-form-creator.php:274
+#@ swpm-form-builder
+msgid "Send Confirmation Email to User"
+msgstr "Megerősítő email küldése a felhasználónak"
+
+#: includes/class-export.php:20
+#@ swpm-form-builder
+msgid "Subject"
+msgstr "Tárgy"
+
+#: includes/admin-form-creator.php:326
+#@ swpm-form-builder
+msgid "Message"
+msgstr "Üzenet"
+
+#: includes/admin-form-creator.php:334
+#@ swpm-form-builder
+msgid "Include a Copy of the User's Entry"
+msgstr "A felhasználó bejegyzésének másolása"
+
+#: includes/admin-new-form.php:57
+#@ swpm-form-builder
+msgid "Create Form"
+msgstr "Űrlap készítése"
+
+#: includes/admin-form-creator.php:96
+#: includes/admin-form-creator.php:358
+#@ swpm-form-builder
+msgid "Save Form"
+msgstr "Űrlap mentése"
+
+#: includes/admin-form-creator.php:94
+#@ swpm-form-builder
+msgid "Delete Form"
+msgstr "Űrlap törlése"
+
+#: swpm-form-builder.php:1352
+#@ swpm-form-builder
+msgid "Edit Field Item"
+msgstr "Mező szerkesztése"
+
+#: swpm-form-builder.php:1380
+#: swpm-form-builder.php:1400
+#@ swpm-form-builder
+msgid "Name"
+msgstr "Név"
+
+#: swpm-form-builder.php:1420
+#@ swpm-form-builder
+msgid "Description"
+msgstr "Magyarázat"
+
+#: swpm-form-builder.php:1511
+#@ swpm-form-builder
+msgid "12 Hour Format"
+msgstr "12 órás formátum"
+
+#: swpm-form-builder.php:1512
+#@ swpm-form-builder
+msgid "24 Hour Format"
+msgstr "24 órás formátum"
+
+#: swpm-form-builder.php:1514
+#@ swpm-form-builder
+msgid "None"
+msgstr "Üres"
+
+#: swpm-form-builder.php:1515
+#@ swpm-form-builder
+msgid "Email"
+msgstr "Email"
+
+#: swpm-form-builder.php:1516
+#@ swpm-form-builder
+msgid "URL"
+msgstr "URL"
+
+#: swpm-form-builder.php:1517
+#@ swpm-form-builder
+msgid "Date"
+msgstr "Dátum"
+
+#: swpm-form-builder.php:1518
+#@ swpm-form-builder
+msgid "Number"
+msgstr "Szám"
+
+#: swpm-form-builder.php:1519
+#@ swpm-form-builder
+msgid "Digits"
+msgstr "Számok"
+
+#: swpm-form-builder.php:1520
+#@ swpm-form-builder
+msgid "Phone"
+msgstr "Telefon"
+
+#: swpm-form-builder.php:1552
+#@ swpm-form-builder
+msgid "Required"
+msgstr "Kötelező"
+
+#: swpm-form-builder.php:1556
+#@ swpm-form-builder
+msgid "No"
+msgstr "Nem"
+
+#: swpm-form-builder.php:1557
+#@ swpm-form-builder
+msgid "Yes"
+msgstr "Igen"
+
+#: swpm-form-builder.php:1566
+#@ swpm-form-builder
+msgid "Size"
+msgstr "Méret"
+
+#: swpm-form-builder.php:1571
+#@ swpm-form-builder
+msgid "Medium"
+msgstr "Közepes"
+
+#: swpm-form-builder.php:1572
+#@ swpm-form-builder
+msgid "Large"
+msgstr "Nagy"
+
+#: swpm-form-builder.php:1661
+#@ swpm-form-builder
+msgid "Remove"
+msgstr "Törlés"
+
+#: includes/form-output.php:556
+#@ swpm-form-builder
+msgid "Verification"
+msgstr "Ellenőrzés"
+
+#: includes/admin-form-creator.php:62
+#: includes/admin-new-form.php:17
+#@ swpm-form-builder
+msgid "Enter form name here"
+msgstr "Adja meg az űrlap neve itt"
+
+#: includes/admin-form-creator.php:92
+#@ swpm-form-builder
+msgid "Form Settings"
+msgstr "Képernyő-beállítások"
+
+#: includes/admin-form-creator.php:93
+#@ swpm-form-builder
+msgid "Duplicate Form"
+msgstr "Ismétlődő űrlap"
+
+#: includes/admin-form-creator.php:106
+#@ swpm-form-builder
+msgid "Label Alignment"
+msgstr "Címke igazítása"
+
+#: includes/admin-form-creator.php:111
+#@ swpm-form-builder
+msgid "Top Aligned"
+msgstr "Felülre igazít"
+
+#: includes/admin-form-creator.php:112
+#@ swpm-form-builder
+msgid "Left Aligned"
+msgstr "Balra igazított"
+
+#: includes/admin-form-creator.php:113
+#@ swpm-form-builder
+msgid "Right Aligned"
+msgstr "Jobbra igazítva"
+
+#: includes/admin-form-creator.php:140
+#: includes/admin-new-form.php:23
+#@ swpm-form-builder
+msgid "Your Name or Company"
+msgstr "A név vagy a vállalat"
+
+#: includes/admin-form-creator.php:148
+#@ swpm-form-builder
+msgid "User's Name (optional)"
+msgstr "Felhasználó neve (nem kötelező)"
+
+#: includes/admin-form-creator.php:152
+#@ swpm-form-builder
+msgid "No required text fields detected"
+msgstr "Nem szükséges szövegmezőket észlel"
+
+#: includes/admin-form-creator.php:170
+#: includes/admin-form-creator.php:289
+#: includes/admin-new-form.php:31
+#@ swpm-form-builder
+msgid "Reply-To E-mail"
+msgstr "Reply To E-mail"
+
+#: includes/admin-form-creator.php:178
+#@ swpm-form-builder
+msgid "User's E-mail (optional)"
+msgstr "Felhasználó E-mail (nem kötelező)"
+
+#: includes/admin-form-creator.php:182
+#: includes/admin-form-creator.php:302
+#@ swpm-form-builder
+msgid "No required email fields detected"
+msgstr "Nincs szükség e-mail mezőket észlelt"
+
+#: includes/admin-form-creator.php:271
+#@ swpm-form-builder
+msgid "When a user submits their entry, you can send a customizable notification email."
+msgstr "Ha a felhasználó elküld való belépés, testreszabható értesítést e-mailben is küldhet."
+
+#: includes/admin-form-creator.php:280
+#@ swpm-form-builder
+msgid "Sender Name or Company"
+msgstr "A feladó neve vagy vállalkozás"
+
+#: includes/admin-form-creator.php:298
+#: includes/admin-new-form.php:48
+#@ swpm-form-builder
+msgid "E-mail To"
+msgstr "E-mailben"
+
+#: includes/admin-form-creator.php:346
+#@ swpm-form-builder
+msgid "Warning &mdash; Missing Fieldset"
+msgstr "Figyelmeztetés &mdash; hiányzik a Fieldset"
+
+#: includes/admin-form-creator.php:346
+#@ swpm-form-builder
+msgid "Your form may not function or display correctly. Please be sure to add or move a Fieldset to the beginning of your form."
+msgstr "Az űrlap nem működik, vagy jelenik meg helyesen. Kérjük győződjön meg róla, hogy helyezzen Fieldset, az űrlap az elején."
+
+#: includes/admin-new-form.php:7
+#@ swpm-form-builder
+msgid "You do not have sufficient permissions to create a new form."
+msgstr "Nincs új űrlap létrehozásához szükséges engedélyekkel."
+
+#: includes/admin-new-form.php:9
+#@ swpm-form-builder
+msgid "Create a form"
+msgstr "Űrlap létrehozása"
+
+#: includes/admin-new-form.php:15
+#@ swpm-form-builder
+msgid "Name the form"
+msgstr "Az űrlap neve"
+
+#: includes/admin-new-form.php:18
+#@ swpm-form-builder
+msgid "Required. This name is used for admin purposes."
+msgstr "Szükséges. Ez a név használatos admin célokra."
+
+#: includes/admin-new-form.php:26
+#@ swpm-form-builder
+msgid "Required. This is who your emails will come from."
+msgstr "Szükséges. Ez az, aki az e-maileket fog származni."
+
+#: includes/admin-new-form.php:34
+#@ swpm-form-builder
+msgid "Required. Replies to your email will go here."
+msgstr "Szükséges. Válaszok az e-mail megy itt."
+
+#: includes/admin-new-form.php:35
+#@ swpm-form-builder
+msgid "Tip: for best results, use an email that exists on this domain."
+msgstr "Tipp: a legjobb eredmény elérése érdekében használjon egy e-mailt, hogy létezik ezen a területen."
+
+#: includes/admin-new-form.php:43
+#: includes/admin-new-form.php:51
+#@ swpm-form-builder
+msgid "Optional (for now) - you can change this later"
+msgstr "Választható (egyelőre) - meg tudod változtatni ezt később"
+
+#: includes/class-entries-list.php:252
+#@ default
+msgid "Show all dates"
+msgstr ""
+
+#: includes/class-entries-list.php:264
+#: includes/class-export.php:527
+#, php-format
+#@ default
+msgid "%1$s %2$d"
+msgstr ""
+
+#: includes/class-entries-list.php:421
+#, php-format
+#@ default
+msgid "1 item"
+msgid_plural "%s items"
+msgstr[0] ""
+
+#: includes/class-entries-list.php:442
+#@ default
+msgid "Go to the first page"
+msgstr ""
+
+#: includes/class-entries-list.php:450
+#@ default
+msgid "Go to the previous page"
+msgstr ""
+
+#: includes/class-entries-list.php:459
+#@ default
+msgid "Current page"
+msgstr ""
+
+#: includes/class-entries-list.php:465
+#, php-format
+#@ default
+msgctxt "paging"
+msgid "%1$s of %2$s"
+msgstr ""
+
+#: includes/class-entries-list.php:469
+#@ default
+msgid "Go to the next page"
+msgstr ""
+
+#: includes/class-entries-list.php:477
+#@ default
+msgid "Go to the last page"
+msgstr ""
+
+#: includes/class-export.php:65
+#: includes/class-export.php:391
+#@ swpm-form-builder
+msgid "No entries to pull field names from."
+msgstr "Húzza a mező nevét a tételek."
+
+#: includes/class-export.php:81
+#@ swpm-form-builder
+msgid "Backup and save some or all of your Visual Form Builder data."
+msgstr "Hát és megment néhány vagy az összes vizuális Form Builder adatait."
+
+#: includes/class-export.php:82
+#@ swpm-form-builder
+msgid "Once you have saved the file, you will be able to import Visual Form Builder Pro data from this site into another site."
+msgstr "Miután mentette a fájlt, lesz ez az oldal vizuális Form Builder Pro adatok importálása egy másik helyszínen."
+
+#: includes/class-export.php:83
+#@ swpm-form-builder
+msgid "Choose what to export"
+msgstr "Válassza ki az exportálandó"
+
+#: includes/class-export.php:85
+#@ swpm-form-builder
+msgid "All data"
+msgstr "Minden adat"
+
+#: includes/class-export.php:86
+#@ swpm-form-builder
+msgid "This will contain all of your forms, fields, entries, and email design settings."
+msgstr "Ez tartalmazza az összes a mezők, bejegyzések, és e-mail design beállításait."
+
+#: includes/class-export.php:86
+#: includes/class-export.php:89
+#@ swpm-form-builder
+msgid "Only available in Visual Form Builder Pro"
+msgstr "Egyetlen elérhető-ban vizuális Form Builder Pro"
+
+#: includes/class-export.php:89
+#@ swpm-form-builder
+msgid "This will contain all of your forms, fields, and email design settings"
+msgstr "Ez tartalmazza az összes az űrlapokat, a mezők és a e-mail design beállítások"
+
+#: includes/class-export.php:94
+#@ swpm-form-builder
+msgid "This will export entries in either a .csv, .txt, or .xls and cannot be used with the Import.  If you need to import entries on another site, please use the All data option above."
+msgstr "Ez egy .csv, .txt vagy .xls tételeket exportálja, és nem használható az importálás.  Ha szeretné importálni a bejegyzéseket, a másik oldalon, kérjük, használja az összes beállítást fenti."
+
+#: includes/class-export.php:96
+#@ swpm-form-builder
+msgid "Format"
+msgstr "Formátum"
+
+#: includes/class-export.php:98
+#@ swpm-form-builder
+msgid "Comma Separated (.csv)"
+msgstr "Vesszővel elválasztott (.csv)"
+
+#: includes/class-export.php:99
+#@ swpm-form-builder
+msgid "Tab Delimited (.txt) - Pro only"
+msgstr "Tab Delimited (.txt) - Pro"
+
+#: includes/class-export.php:100
+#@ swpm-form-builder
+msgid "Excel (.xls) - Pro only"
+msgstr "Excel (.xls) - Pro csak"
+
+#: includes/class-export.php:114
+#@ swpm-form-builder
+msgid "Date Range"
+msgstr "Dátumtartomány"
+
+#: includes/class-export.php:129
+#@ swpm-form-builder
+msgid "Page to Export"
+msgstr "Oldal-hoz Export"
+
+#: includes/class-export.php:137
+#@ swpm-form-builder
+msgid "A large number of entries have been detected for this form. Only 1000 entries can be exported at a time."
+msgstr "Nagyszámú bejegyzés az űrlap észlelt. Csak 1000 bejegyzések exportálhatók egy időben."
+
+#: includes/class-export.php:144
+#@ swpm-form-builder
+msgid "Fields"
+msgstr "Mezők"
+
+#: includes/class-export.php:146
+#@ swpm-form-builder
+msgid "Select All"
+msgstr "Jelölje ki az összes"
+
+#: includes/class-export.php:159
+#@ swpm-form-builder
+msgid "Download Export File"
+msgstr "Export fájl letöltése"
+
+#: includes/email.php:11
+#@ swpm-form-builder
+msgid "Security check: hidden spam field should be blank."
+msgstr "Biztonsági ellenőrzés: rejtett spam mezőnek üresnek kell lennie."
+
+#: includes/email.php:13
+#@ swpm-form-builder
+msgid "Security check: failed secret question. Please try again!"
+msgstr "Biztonsági ellenőrzés: sikertelen a titkos kérdést. Legyen szíves megpróbál újra!"
+
+#: includes/email.php:21
+#@ swpm-form-builder
+msgid "Security check: looks like you are a SPAM bot. If you think this is an error, please email the site owner."
+msgstr "Biztonsági ellenőrzés: úgy néz ki, mint te egy SPAM bot. Ha úgy gondolja, ez egy hiba, legyen szíves elektronikus levél a tulajdonos."
+
+#: includes/email.php:111
+#, php-format
+#@ swpm-form-builder
+msgid "File size exceeds %dMB. Most email providers will reject emails with attachments larger than %dMB. Please decrease the file size and try again."
+msgstr "Fájl mérete meghaladja a %d MB. A legtöbb e-mail szolgáltató visszautasítja az e-mailek mellékletekkel %d MB-nál nagyobb. Csökkenti a fájl méretét, és próbálja újra."
+
+#: includes/email.php:262
+#@ swpm-form-builder
+msgid "Your responses look too much like spam and could not be sent at this time."
+msgstr "A válasz úgy néz ki túl sok, mint a spam, és ebben az időben nem küldhető."
+
+#: includes/form-output.php:155
+#, php-format
+#@ swpm-form-builder
+msgid "Logged in as <a href=\"%1$s\">%2$s</a>. Verification not required."
+msgstr "Mocsaras-ban mint <a href=\\\"%1$s\\\">%2$ s</a>. Nem szükséges ellenőrzés."
+
+#: includes/form-output.php:326
+#@ swpm-form-builder
+msgid "Address"
+msgstr "Cím"
+
+#: includes/form-output.php:330
+#@ swpm-form-builder
+msgid "Address Line 2"
+msgstr "Lakcim második sor"
+
+#: includes/form-output.php:334
+#@ swpm-form-builder
+msgid "City"
+msgstr "Város"
+
+#: includes/form-output.php:338
+#@ swpm-form-builder
+msgid "State / Province / Region"
+msgstr "Állam / tartomány / régió"
+
+#: includes/form-output.php:342
+#@ swpm-form-builder
+msgid "Postal / Zip Code"
+msgstr "Postai / irányítószám"
+
+#: includes/form-output.php:346
+#@ swpm-form-builder
+msgid "Country"
+msgstr "Ország"
+
+#: includes/form-output.php:558
+#@ swpm-form-builder
+msgid "Please enter any two digits with <strong>no</strong> spaces (Example: 12)"
+msgstr "Adjon meg bármilyen két számjegy, szóköz <strong>nélkül</strong> (példa: 12)"
+
+#: includes/form-output.php:571
+#@ swpm-form-builder
+msgid "This box is for spam protection - <strong>please leave it blank</strong>"
+msgstr "Ez a rovat a spam védelem - <strong>kérlek, hagyd üresen</strong>"
+
+#: swpm-form-builder.php:217
+#@ swpm-form-builder
+msgid "Recent Visual Form Builder Entries"
+msgstr "A legújabb vizuális formában Builder bejegyzések"
+
+#: swpm-form-builder.php:240
+#@ swpm-form-builder
+msgid "You currently do not have any forms."
+msgstr "Jelenleg nincs semmilyen formában."
+
+#: swpm-form-builder.php:242
+#@ swpm-form-builder
+msgid "Get started!"
+msgstr "A kezdéshez!"
+
+#: swpm-form-builder.php:292
+#@ swpm-form-builder
+msgid "Number of entries to show:"
+msgstr "Szám-ból címszavakat-hoz mutat:"
+
+#: swpm-form-builder.php:395
+#@ swpm-form-builder
+msgid "Entries per page"
+msgstr "Bejegyzések oldalanként"
+
+#: swpm-form-builder.php:435
+#@ swpm-form-builder
+msgid "Display Forms"
+msgstr "Megjelenítési formák"
+
+#: swpm-form-builder.php:448
+#@ swpm-form-builder
+msgid "Standard"
+msgstr "Standard"
+
+#: swpm-form-builder.php:489
+#@ swpm-form-builder
+msgid "Add forms to your Posts or Pages by locating the icon shown below in the area above your post/page editor."
+msgstr "Hozzáadása űrlapok a póznák vagy oldalak mellett helymegállapítás a ikon látható az alábbi a terület fölött a post/oldal szerkesztő."
+
+#: swpm-form-builder.php:492
+#@ swpm-form-builder
+msgid "You may also manually insert the shortcode into a post/page."
+msgstr "A hiány is kézzel kell a post/oldal lehet behelyezni."
+
+#: swpm-form-builder.php:493
+#@ swpm-form-builder
+msgid "Shortcode"
+msgstr "Hiány"
+
+#: swpm-form-builder.php:1233
+#@ swpm-form-builder
+msgid "Edit Form"
+msgstr "Űrlapjának módosítása"
+
+#: swpm-form-builder.php:1258
+#@ swpm-form-builder
+msgid "New Features of Visual Form Builder Pro"
+msgstr "Új funkciók a vizuális formában Builder Pro"
+
+#: swpm-form-builder.php:1260
+#@ swpm-form-builder
+msgid "Now with Add-Ons"
+msgstr "Most-val összead-ons"
+
+#: swpm-form-builder.php:1261
+#@ swpm-form-builder
+msgid "Akismet Support"
+msgstr "Akismet-támogatás"
+
+#: swpm-form-builder.php:1262
+#@ swpm-form-builder
+msgid "Optional SPAM Verification"
+msgstr "Választható SPAM ellenőrzés"
+
+#: swpm-form-builder.php:1263
+#@ swpm-form-builder
+msgid "Nested Drag and Drop"
+msgstr "Beágyazott Drag and Drop"
+
+#: swpm-form-builder.php:1264
+#@ swpm-form-builder
+msgid "Conditional Logic"
+msgstr "Feltételes logikát"
+
+#: swpm-form-builder.php:1265
+#@ swpm-form-builder
+msgid "10+ new Form Fields"
+msgstr "10 + új forma megfog"
+
+#: swpm-form-builder.php:1266
+#@ swpm-form-builder
+msgid "Complete Entries Management"
+msgstr "Teljes tételek kezelése"
+
+#: swpm-form-builder.php:1267
+#@ swpm-form-builder
+msgid "Import/Export"
+msgstr "Import/Export"
+
+#: swpm-form-builder.php:1268
+#@ swpm-form-builder
+msgid "Quality HTML Email Template"
+msgstr "Minőségi HTML elektronikus levél mintadeszka"
+
+#: swpm-form-builder.php:1269
+#@ swpm-form-builder
+msgid "Plain Text Email Option"
+msgstr "Egyszerű szöveges E-mail beállítás"
+
+#: swpm-form-builder.php:1270
+#@ swpm-form-builder
+msgid "Email Designer"
+msgstr "E-mail tervező"
+
+#: swpm-form-builder.php:1271
+#@ swpm-form-builder
+msgid "Analytics"
+msgstr "Analytics"
+
+#: swpm-form-builder.php:1272
+#@ swpm-form-builder
+msgid "Data &amp; Form Migration"
+msgstr "Adatok &amp; űrlap migráció"
+
+#: swpm-form-builder.php:1273
+#@ swpm-form-builder
+msgid "Scheduling"
+msgstr "Ütemezés"
+
+#: swpm-form-builder.php:1274
+#@ swpm-form-builder
+msgid "Limit Form Entries"
+msgstr "Limit űrlapbejegyzéseket"
+
+#: swpm-form-builder.php:1275
+#@ swpm-form-builder
+msgid "Simple PayPal Integration"
+msgstr "Egyszerű PayPal integráció"
+
+#: swpm-form-builder.php:1276
+#@ swpm-form-builder
+msgid "Form Paging"
+msgstr "Űrlap lapozás"
+
+#: swpm-form-builder.php:1277
+#@ swpm-form-builder
+msgid "Live Preview"
+msgstr "Élő előnézet"
+
+#: swpm-form-builder.php:1278
+#@ swpm-form-builder
+msgid "Custom Capabilities"
+msgstr "Egyéni képességek"
+
+#: swpm-form-builder.php:1279
+#@ swpm-form-builder
+msgid "No License Key"
+msgstr "Nem engedély kulcs"
+
+#: swpm-form-builder.php:1280
+#@ swpm-form-builder
+msgid "Automatic Updates"
+msgstr "Automatikus frissítések"
+
+#: swpm-form-builder.php:1283
+#@ swpm-form-builder
+msgid "Learn more about some of these features"
+msgstr "Tudjon meg többet a következő funkciók némelyikének"
+
+#: swpm-form-builder.php:1284
+#@ swpm-form-builder
+msgid "Buy Now"
+msgstr "Vásárlás"
+
+#: swpm-form-builder.php:1284
+#@ swpm-form-builder
+msgid "Only $10"
+msgstr "Csak $10-t"
+
+#: swpm-form-builder.php:1287
+#@ swpm-form-builder
+msgid "Help Promote Visual Form Builder"
+msgstr "Segíteni a vizuális Form Builder"
+
+#: swpm-form-builder.php:1289
+#@ swpm-form-builder
+msgid "Follow me on Twitter"
+msgstr "Follow me on Twitter"
+
+#: swpm-form-builder.php:1290
+#@ swpm-form-builder
+msgid "Rate Visual Form Builder on WordPress.org"
+msgstr "Arány vizuális Form Builder a WordPress.org"
+
+#: swpm-form-builder.php:1369
+#: swpm-form-builder.php:1410
+#: swpm-form-builder.php:1649
+#@ swpm-form-builder
+msgid "CSS Classes"
+msgstr "CSS osztályok"
+
+#: swpm-form-builder.php:1388
+#@ swpm-form-builder
+msgid "Description (HTML tags allowed)"
+msgstr "Leírás (HTML tags engedélyezett)"
+
+#: swpm-form-builder.php:1432
+#@ swpm-form-builder
+msgid "Options"
+msgstr "Beállítások"
+
+#: swpm-form-builder.php:1489
+#@ swpm-form-builder
+msgid "Accepted File Extensions"
+msgstr "Elfogadott fájlkiterjesztések"
+
+#: swpm-form-builder.php:1504
+#@ swpm-form-builder
+msgid "Validation"
+msgstr "Érvényesítés"
+
+#: swpm-form-builder.php:1570
+#@ swpm-form-builder
+msgid "Small"
+msgstr "Kis"
+
+#: swpm-form-builder.php:1581
+#@ swpm-form-builder
+msgid "Options Layout"
+msgstr "Elrendezés beállítások"
+
+#: swpm-form-builder.php:1585
+#@ swpm-form-builder
+msgid "One Column"
+msgstr "Egy oszlop"
+
+#: swpm-form-builder.php:1586
+#@ swpm-form-builder
+msgid "Two Columns"
+msgstr "Két oszlop"
+
+#: swpm-form-builder.php:1587
+#@ swpm-form-builder
+msgid "Three Columns"
+msgstr "Három oszlop"
+
+#: swpm-form-builder.php:1588
+#@ swpm-form-builder
+msgid "Auto Width"
+msgstr "Kocsi szélessége"
+
+#: swpm-form-builder.php:1597
+#@ swpm-form-builder
+msgid "Field Layout"
+msgstr "Elrendezése"
+
+#: swpm-form-builder.php:1602
+#@ swpm-form-builder
+msgid "Default"
+msgstr "Alapértelmezett"
+
+#: swpm-form-builder.php:1604
+#@ swpm-form-builder
+msgid "Left Half"
+msgstr "Bal fele"
+
+#: swpm-form-builder.php:1605
+#@ swpm-form-builder
+msgid "Right Half"
+msgstr "Jobb fele"
+
+#: swpm-form-builder.php:1608
+#@ swpm-form-builder
+msgid "Left Third"
+msgstr "Bal oldali külső"
+
+#: swpm-form-builder.php:1609
+#@ swpm-form-builder
+msgid "Middle Third"
+msgstr "Középső"
+
+#: swpm-form-builder.php:1610
+#@ swpm-form-builder
+msgid "Right Third"
+msgstr "Jobb harmadik"
+
+#: swpm-form-builder.php:1613
+#@ swpm-form-builder
+msgid "Left Two Thirds"
+msgstr "Bal kétharmada"
+
+#: swpm-form-builder.php:1614
+#@ swpm-form-builder
+msgid "Right Two Thirds"
+msgstr "Jobb kétharmada"
+
+#: swpm-form-builder.php:1623
+#@ swpm-form-builder
+msgid "Default Value"
+msgstr "Alapértelmezett érték"
+
+#: swpm-form-builder.php:1633
+#@ swpm-form-builder
+msgid "Default Country"
+msgstr "Alapértelmezett országnév"
+
+#: swpm-form-builder.php:1693
+#@ swpm-form-builder
+msgid "The form has been successfully created."
+msgstr "Az űrlap sikeresen létrehozva."
+
+#: swpm-form-builder.php:1696
+#, php-format
+#@ swpm-form-builder
+msgid "The %s form has been updated."
+msgstr "A %s űrlap frissítve lett."
+
+#: swpm-form-builder.php:1699
+#@ swpm-form-builder
+msgid "The form has been successfully deleted."
+msgstr "Az űrlap sikeresen törölve."
+
+#: swpm-form-builder.php:1702
+#@ swpm-form-builder
+msgid "The form has been successfully duplicated."
+msgstr "Az űrlap sikeresen meg lett kettőzve."
+
+#: swpm-form-builder.php:1719
+#@ swpm-form-builder
+msgid "All Forms"
+msgstr "Minden formája"
+
+#: swpm-form-builder.php:1720
+#: swpm-form-builder.php:1744
+#@ swpm-form-builder
+msgid "Add New Form"
+msgstr "Új űrlap"
+
+#: swpm-form-builder.php:1722
+#: swpm-form-builder.php:1746
+#@ swpm-form-builder
+msgid "Export"
+msgstr "Export"
+
+#: swpm-form-builder.php:1761
+#, php-format
+#@ swpm-form-builder
+msgid "Search results for \"%s\""
+msgstr "Keresési találatok-\\\"%s\\\""
+
+#: swpm-form-builder.php:1794
+#@ swpm-form-builder
+msgid "New Form"
+msgstr "Új formája"
+
+#: swpm-form-builder.php:1883
+#@ swpm-form-builder
+msgid "This field is required and cannot be empty."
+msgstr "Ez a mező kötelező, és nem lehet üres."
+
+#: swpm-form-builder.php:1890
+#@ swpm-form-builder
+msgid "Not a valid email address"
+msgstr "Nem egy érvényes elektronikus levél cím"
+
+#: swpm-form-builder.php:1896
+#@ swpm-form-builder
+msgid "Not a valid number"
+msgstr "Nem érvényes szám"
+
+#: swpm-form-builder.php:1903
+#@ swpm-form-builder
+msgid "Not a valid phone number. Most US/Canada and International formats accepted."
+msgstr "Érvényes telefonszámhoz. Leg--bb minket / Kanada és nemzetközi formátumok."
+
+#: swpm-form-builder.php:1908
+#@ swpm-form-builder
+msgid "Not a valid URL."
+msgstr "Nem egy érvényes URL-t."
+
+#: swpm-form-builder.php:1758
+#@ swpm-form-builder
+msgid "Add New"
+msgstr "Új"
+
diff --git a/languages/swpm-form-builder-nl_NL.mo b/languages/swpm-form-builder-nl_NL.mo
new file mode 100644 (file)
index 0000000..3a2b7d8
Binary files /dev/null and b/languages/swpm-form-builder-nl_NL.mo differ
diff --git a/languages/swpm-form-builder-nl_NL.po b/languages/swpm-form-builder-nl_NL.po
new file mode 100644 (file)
index 0000000..12e3f59
--- /dev/null
@@ -0,0 +1,1083 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Visual Form Builder v2.7.1\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/swpm-form-builder\n"
+"POT-Creation-Date: 2013-02-28 14:40:16+00:00\n"
+"PO-Revision-Date: 2013-04-10 14:16:23+0000\n"
+"Last-Translator: Hans van der Vlist / SiteCoach <hansvandervlist@gmail.com>\n"
+"Language-Team: SiteCoach <info@sitecoach.nl>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Poedit 1.5.5\n"
+"X-Poedit-Language: \n"
+"X-Poedit-Country: \n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
+"X-Poedit-Basepath: d:/webapp/wp/plugins/swpm-form-builder/\n"
+"X-Poedit-Bookmarks: \n"
+"X-Poedit-SearchPath-0: .\n"
+"X-Textdomain-Support: yes"
+
+#: includes/admin-form-creator.php:61
+#@ swpm-form-builder
+msgid "Form Name"
+msgstr "Formulier naam"
+
+#: includes/admin-form-creator.php:62
+#: includes/admin-new-form.php:17
+#@ swpm-form-builder
+msgid "Enter form name here"
+msgstr "Geef hier de naam van het formulier in"
+
+#: includes/admin-form-creator.php:92
+#@ swpm-form-builder
+msgid "Form Settings"
+msgstr "Formulier instellingen"
+
+#: includes/admin-form-creator.php:93
+#@ swpm-form-builder
+msgid "Duplicate Form"
+msgstr "Kopieer formulier"
+
+#: includes/admin-form-creator.php:94
+#@ swpm-form-builder
+msgid "Delete Form"
+msgstr "Formulier verwijderen"
+
+#: includes/admin-form-creator.php:106
+#@ swpm-form-builder
+msgid "Label Alignment"
+msgstr "Label uitlijnen"
+
+#: includes/admin-form-creator.php:111
+#@ swpm-form-builder
+msgid "Top Aligned"
+msgstr "Bovenaan uitgelijnd"
+
+#: includes/admin-form-creator.php:112
+#@ swpm-form-builder
+msgid "Left Aligned"
+msgstr "Links uitgelijnd"
+
+#: includes/admin-form-creator.php:113
+#@ swpm-form-builder
+msgid "Right Aligned"
+msgstr "Rechts uitgelijnd"
+
+#: includes/admin-form-creator.php:124
+#@ swpm-form-builder
+msgid "The forms you build here will send information to one or more email addresses when submitted by a user on your site.  Use the fields below to customize the details of that email."
+msgstr "De formulieren die je hier maakt zullen informatie sturen naar een of meerdere email adressen wanneer ze ingezonden worden door een bezoeker/gebruiker van je site. Gebruik de onderstaande velden om de details van die email in te stellen."
+
+#: includes/admin-form-creator.php:129
+#: includes/admin-form-creator.php:318
+#: includes/admin-new-form.php:40
+#@ swpm-form-builder
+msgid "E-mail Subject"
+msgstr "Onderwerp van de email"
+
+#: includes/admin-form-creator.php:140
+#: includes/admin-new-form.php:23
+#@ swpm-form-builder
+msgid "Your Name or Company"
+msgstr "Jouw naam of bedrijf"
+
+#: includes/admin-form-creator.php:148
+#@ swpm-form-builder
+msgid "User's Name (optional)"
+msgstr "Naam van de gebruiker (optioneel)"
+
+#: includes/admin-form-creator.php:170
+#: includes/admin-form-creator.php:289
+#: includes/admin-new-form.php:31
+#@ swpm-form-builder
+msgid "Reply-To E-mail"
+msgstr "Antwoord-Aan E-mail"
+
+#: includes/admin-form-creator.php:178
+#@ swpm-form-builder
+msgid "User's E-mail (optional)"
+msgstr "E-mail gebruiker (optioneel)"
+
+#: includes/admin-form-creator.php:208
+#@ swpm-form-builder
+msgid "E-mail(s) To"
+msgstr "E-mail(s) Aan"
+
+#: includes/admin-form-creator.php:228
+#@ swpm-form-builder
+msgid "After someone submits a form, you can control what is displayed. By default, it's a message but you can send them to another WordPress Page or a custom URL."
+msgstr "De vervolgactie op het inzenden van een formulier kan ingesteld worden. Standaard is dit een bericht maar er kan ook doorverwezen worden naar een andere WordPress pagina of een speciale URL."
+
+#: includes/admin-form-creator.php:231
+#@ swpm-form-builder
+msgid "Text"
+msgstr "Tekst"
+
+#: includes/admin-form-creator.php:235
+#@ swpm-form-builder
+msgid "Page"
+msgstr "Pagina"
+
+#: includes/admin-form-creator.php:239
+#@ swpm-form-builder
+msgid "Redirect"
+msgstr "Doorverwijzen"
+
+#: includes/admin-form-creator.php:248
+#@ swpm-form-builder
+msgid "Registration is complete."
+msgstr "Registratie is voltooid."
+
+
+#@ swpm-form-builder
+msgid "Profile Updated."
+msgstr "Profiel geüpdatet."
+
+#: includes/admin-form-creator.php:258
+#@ swpm-form-builder
+msgid "Select a Page"
+msgstr "Selecteer een pagina"
+
+#: includes/admin-form-creator.php:271
+#@ swpm-form-builder
+msgid "When a user submits their entry, you can send a customizable notification email."
+msgstr "Wanneer een gebruiker een formulier invult kan je een email met een aangepaste bevestiging sturen."
+
+#: includes/admin-form-creator.php:274
+#@ swpm-form-builder
+msgid "Send Confirmation Email to User"
+msgstr "Stuur een email met een bevestiging naar de gebruiker"
+
+#: includes/admin-form-creator.php:280
+#@ swpm-form-builder
+msgid "Sender Name or Company"
+msgstr "Naam of bedrijf van de verzender"
+
+#: includes/admin-form-creator.php:298
+#: includes/admin-new-form.php:48
+#@ swpm-form-builder
+msgid "E-mail To"
+msgstr "E-mail aan"
+
+#: includes/admin-form-creator.php:326
+#@ swpm-form-builder
+msgid "Message"
+msgstr "Bericht"
+
+#: includes/admin-form-creator.php:334
+#@ swpm-form-builder
+msgid "Include a Copy of the User's Entry"
+msgstr "Sluit een kopie van de formuliergegevens van de gebruiker bij"
+
+#: includes/admin-form-creator.php:96
+#: includes/admin-form-creator.php:358
+#@ swpm-form-builder
+msgid "Save Form"
+msgstr "Formulier opslaan"
+
+#: includes/admin-form-creator.php:346
+#@ swpm-form-builder
+msgid "Warning &mdash; Missing Fieldset"
+msgstr "Waarschuwing &mdash; ontbrekende veldgroep definitie"
+
+#: includes/admin-form-creator.php:346
+#@ swpm-form-builder
+msgid "Your form may not function or display correctly. Please be sure to add or move a Fieldset to the beginning of your form."
+msgstr "Het formulier kan niet functioneren of correct getoond worden. Controleer of er een veldgroep definitie aan het begin van het formulier staat."
+
+#: includes/admin-new-form.php:7
+#@ swpm-form-builder
+msgid "You do not have sufficient permissions to create a new form."
+msgstr "Je hebt onvoldoende rechten om een nieuw formulier aan te maken."
+
+#: includes/admin-new-form.php:9
+#@ swpm-form-builder
+msgid "Create a form"
+msgstr "Formulier aanmaken"
+
+#: includes/admin-new-form.php:15
+#@ swpm-form-builder
+msgid "Name the form"
+msgstr "Geef het formulier een naam"
+
+#: includes/admin-new-form.php:18
+#@ swpm-form-builder
+msgid "Required. This name is used for admin purposes."
+msgstr "Verplicht. Deze naam wordt gebruikt voor administratieve doeleinden."
+
+#: includes/admin-new-form.php:26
+#@ swpm-form-builder
+msgid "Required. This is who your emails will come from."
+msgstr "Verplicht. Dit is de herkomst van je emails."
+
+#: includes/admin-new-form.php:34
+#@ swpm-form-builder
+msgid "Required. Replies to your email will go here."
+msgstr "Verplicht. Antwoorden op je email gaan hier naar toe."
+
+#: includes/admin-new-form.php:35
+#@ swpm-form-builder
+msgid "Tip: for best results, use an email that exists on this domain."
+msgstr "Tip: voor het beste resultaat, gebruik een email adres dat bestaat voor dit domein."
+
+#: includes/admin-new-form.php:43
+#: includes/admin-new-form.php:51
+#@ swpm-form-builder
+msgid "Optional (for now) - you can change this later"
+msgstr "Optioneel (voorlopig) - je kan dit later veranderen"
+
+#: includes/admin-new-form.php:57
+#@ swpm-form-builder
+msgid "Create Form"
+msgstr "Maak een formulier aan"
+
+#: includes/class-entries-detail.php:37
+#: includes/class-entries-detail.php:91
+#@ swpm-form-builder
+msgid "Entry"
+msgstr "Invoer"
+
+#: includes/class-entries-detail.php:42
+#@ swpm-form-builder
+msgid "Details"
+msgstr "Details"
+
+#: includes/class-entries-detail.php:48
+#@ swpm-form-builder
+msgid "Form Title"
+msgstr "Formulier titel"
+
+#: includes/class-entries-detail.php:51
+#: includes/class-entries-list.php:94
+#: includes/class-export.php:18
+#@ swpm-form-builder
+msgid "Date Submitted"
+msgstr "Datum ingezonden"
+
+#: includes/class-entries-detail.php:54
+#: includes/class-entries-list.php:93
+#: includes/class-export.php:19
+#@ swpm-form-builder
+msgid "IP Address"
+msgstr "IP adres"
+
+#: includes/class-entries-detail.php:57
+#: includes/class-entries-list.php:89
+#@ swpm-form-builder
+msgid "Email Subject"
+msgstr "Onderwerp email"
+
+#: includes/class-entries-detail.php:60
+#: includes/class-entries-list.php:90
+#: includes/class-export.php:21
+#@ swpm-form-builder
+msgid "Sender Name"
+msgstr "Naam verzender"
+
+#: includes/class-entries-detail.php:63
+#: includes/class-entries-list.php:91
+#: includes/class-export.php:22
+#@ swpm-form-builder
+msgid "Sender Email"
+msgstr "Email verzender"
+
+#: includes/class-entries-detail.php:66
+#: includes/class-entries-list.php:92
+#: includes/class-export.php:23
+#@ swpm-form-builder
+msgid "Emailed To"
+msgstr "Verzonden naar"
+
+#: includes/class-entries-list.php:88
+#: includes/class-export.php:104
+#@ swpm-form-builder
+msgid "Form"
+msgstr "Formulier"
+
+#: includes/class-entries-list.php:176
+#: swpm-form-builder.php:1235
+#@ swpm-form-builder
+msgid "Delete"
+msgstr "Verwijderen"
+
+#: includes/class-entries-list.php:218
+#@ swpm-form-builder
+msgid "View all forms"
+msgstr "Bekijk alle formulieren"
+
+#: includes/class-entries-list.php:225
+#@ swpm-form-builder
+msgid "Filter"
+msgstr "Filteren"
+
+#: includes/class-entries-list.php:252
+#@ default
+msgid "Show all dates"
+msgstr "Toon alle datums"
+
+#: includes/class-entries-list.php:264
+#: includes/class-export.php:527
+#, php-format
+#@ default
+msgid "%1$s %2$d"
+msgstr "%1$s %2$d"
+
+#: includes/class-entries-list.php:421
+#, php-format
+#@ default
+msgid "1 item"
+msgid_plural "%s items"
+msgstr[0] "1 regel"
+msgstr[1] "%s regels"
+
+#: includes/class-entries-list.php:442
+#@ default
+msgid "Go to the first page"
+msgstr "Ga naar de eerste pagina"
+
+#: includes/class-entries-list.php:450
+#@ default
+msgid "Go to the previous page"
+msgstr "Ga naar de vorige pagina"
+
+#: includes/class-entries-list.php:459
+#@ default
+msgid "Current page"
+msgstr "Huidige pagina"
+
+#: includes/class-entries-list.php:465
+#, php-format
+#@ default
+msgctxt "paging"
+msgid "%1$s of %2$s"
+msgstr "%1$s of %2$s"
+
+#: includes/class-entries-list.php:469
+#@ default
+msgid "Go to the next page"
+msgstr "Ga naar de volgende pagina"
+
+#: includes/class-entries-list.php:477
+#@ default
+msgid "Go to the last page"
+msgstr "Ga naar de laatste pagina"
+
+#: includes/class-export.php:17
+#@ swpm-form-builder
+msgid "Entries ID"
+msgstr "Invoer ID"
+
+#: includes/class-export.php:20
+#@ swpm-form-builder
+msgid "Subject"
+msgstr "Onderwerp"
+
+#: includes/class-export.php:65
+#: includes/class-export.php:391
+#@ swpm-form-builder
+msgid "No entries to pull field names from."
+msgstr "Geen invoer om veld namen van af te leiden."
+
+#: includes/class-export.php:81
+#@ swpm-form-builder
+msgid "Backup and save some or all of your Visual Form Builder data."
+msgstr "Kopieër en bewaar sommige of al je gegevens van Visual Forms Builder."
+
+#: includes/class-export.php:82
+#@ swpm-form-builder
+msgid "Once you have saved the file, you will be able to import Visual Form Builder Pro data from this site into another site."
+msgstr "Zodra je het bestand opgeslagen hebt, kan je gegevens importeren van Visual Form Builder Pro van deze site in een andere site."
+
+#: includes/class-export.php:83
+#@ swpm-form-builder
+msgid "Choose what to export"
+msgstr "Kies wat je wilt exporteren"
+
+#: includes/class-export.php:85
+#@ swpm-form-builder
+msgid "All data"
+msgstr "Alle gegevens"
+
+#: includes/class-export.php:86
+#@ swpm-form-builder
+msgid "This will contain all of your forms, fields, entries, and email design settings."
+msgstr "Dit zal alles bevatten over je formulieren, velden, invoer en email instellingen van het ontwerp."
+
+#: includes/class-export.php:86
+#: includes/class-export.php:89
+#@ swpm-form-builder
+msgid "Only available in Visual Form Builder Pro"
+msgstr "Alleen beschikbaar in Visual Form Builder Pro"
+
+#: includes/class-export.php:88
+#@ swpm-form-builder
+msgid "Forms"
+msgstr "Formulieren"
+
+#: includes/class-export.php:89
+#@ swpm-form-builder
+msgid "This will contain all of your forms, fields, and email design settings"
+msgstr "Dit zal alles bevatten over je formulieren, velden, invoer en email instellingen van het ontwerp."
+
+#: includes/class-export.php:91
+#: swpm-form-builder.php:1721
+#: swpm-form-builder.php:1745
+#@ swpm-form-builder
+msgid "Entries"
+msgstr "Invoer"
+
+#: includes/class-export.php:94
+#@ swpm-form-builder
+msgid "This will export entries in either a .csv, .txt, or .xls and cannot be used with the Import.  If you need to import entries on another site, please use the All data option above."
+msgstr "Deze optie exporteert gegevens in diverse formaten zoals csv, txt of xls en kan niet gebruikt worden voor de importeer optie. Als gegevens geïmporteerd moeten worden voor een andere website, gebruik dan de Alle gegevens optie hierboven."
+
+#: includes/class-export.php:96
+#@ swpm-form-builder
+msgid "Format"
+msgstr "Formaat"
+
+#: includes/class-export.php:98
+#@ swpm-form-builder
+msgid "Comma Separated (.csv)"
+msgstr "Comma gescheiden (.csv)"
+
+#: includes/class-export.php:99
+#@ swpm-form-builder
+msgid "Tab Delimited (.txt) - Pro only"
+msgstr "Tab gescheiden (.txt) - alleen voor de Pro versie"
+
+#: includes/class-export.php:100
+#@ swpm-form-builder
+msgid "Excel (.xls) - Pro only"
+msgstr "Excel (.xls) - alleen voor de Pro versie"
+
+#: includes/class-export.php:114
+#@ swpm-form-builder
+msgid "Date Range"
+msgstr "Datum bereik"
+
+#: includes/class-export.php:144
+#@ swpm-form-builder
+msgid "Fields"
+msgstr "Velden"
+
+#: includes/class-export.php:146
+#@ swpm-form-builder
+msgid "Select All"
+msgstr "Selecteer Alles"
+
+#: includes/class-export.php:159
+#@ swpm-form-builder
+msgid "Download Export File"
+msgstr "Download het geëxporteerde bestand"
+
+#: includes/email.php:11
+#@ swpm-form-builder
+msgid "Security check: hidden spam field should be blank."
+msgstr "Beveiligingscontrole: verborgen spam velden moeten blanco zijn"
+
+#: includes/email.php:13
+#@ swpm-form-builder
+msgid "Security check: failed secret question. Please try again!"
+msgstr "Beveiligingscontrole: geheime vraag fout. Probeer het opnieuw!"
+
+#: includes/email.php:21
+#@ swpm-form-builder
+msgid "Security check: looks like you are a SPAM bot. If you think this is an error, please email the site owner."
+msgstr "Beveiligingscontrole: het lijkt er op dat je een SPAM robot bent. Als je denkt dat dit een foute conclusie is, neem dan contact op met de eigenaar van de site."
+
+#: includes/email.php:111
+#, php-format
+#@ swpm-form-builder
+msgid "File size exceeds %dMB. Most email providers will reject emails with attachments larger than %dMB. Please decrease the file size and try again."
+msgstr "Bestand groter dan %dMB. De meeste email providers weigeren emails met bijlagen groter dan %dMB. Beperk de grootte van het bestand en probeer het opnieuw."
+
+#: includes/email.php:262
+#@ swpm-form-builder
+msgid "Your responses look too much like spam and could not be sent at this time."
+msgstr "Je reacties lijken teveel op spam en kunnen op het moment niet verzonden worden."
+
+#: includes/form-output.php:155
+#, php-format
+#@ swpm-form-builder
+msgid "Logged in as <a href=\"%1$s\">%2$s</a>. Verification not required."
+msgstr "Ingelogd als <a href=\"%1$s\">%2$s</a>.  Controle niet nodig."
+
+#: includes/form-output.php:326
+#@ swpm-form-builder
+msgid "Address"
+msgstr "Adres"
+
+#: includes/form-output.php:330
+#@ swpm-form-builder
+msgid "Address Line 2"
+msgstr "Adres regel 2"
+
+#: includes/form-output.php:334
+#@ swpm-form-builder
+msgid "City"
+msgstr "Plaats"
+
+#: includes/form-output.php:338
+#@ swpm-form-builder
+msgid "State / Province / Region"
+msgstr "Provincie / regio"
+
+#: includes/form-output.php:342
+#@ swpm-form-builder
+msgid "Postal / Zip Code"
+msgstr "Postcode"
+
+#: includes/form-output.php:346
+#@ swpm-form-builder
+msgid "Country"
+msgstr "Land"
+
+#: includes/form-output.php:556
+#@ swpm-form-builder
+msgid "Verification"
+msgstr "Controle"
+
+#: includes/form-output.php:558
+#@ swpm-form-builder
+msgid "Please enter any two digits with <strong>no</strong> spaces (Example: 12)"
+msgstr "Geef twee willekeurige cijfers in <strong>zonder</strong> spaties (bv.: 12)"
+
+#: includes/form-output.php:571
+#@ swpm-form-builder
+msgid "This box is for spam protection - <strong>please leave it blank</strong>"
+msgstr "Deze ruimte is voor spam beveiliging - <strong>a.u.b. blanko laten</strong>"
+
+#: swpm-form-builder.php:196
+#@ swpm-form-builder
+msgid "Settings"
+msgstr "Instellingen"
+
+#: swpm-form-builder.php:217
+#@ swpm-form-builder
+msgid "Recent Visual Form Builder Entries"
+msgstr "Recente Visual Form Builder invoer"
+
+#: swpm-form-builder.php:240
+#@ swpm-form-builder
+msgid "You currently do not have any forms."
+msgstr "Je hebt op het moment geen formulieren."
+
+#: swpm-form-builder.php:242
+#@ swpm-form-builder
+msgid "Get started!"
+msgstr "Begin nu!"
+
+#: swpm-form-builder.php:292
+#@ swpm-form-builder
+msgid "Number of entries to show:"
+msgstr "Aantal invoeren tonen:"
+
+#: swpm-form-builder.php:395
+#@ swpm-form-builder
+msgid "Entries per page"
+msgstr "Invoer per pagina"
+
+#: swpm-form-builder.php:434
+#@ swpm-form-builder
+msgid "Form Items"
+msgstr "Formulier invoeren"
+
+#: swpm-form-builder.php:435
+#@ swpm-form-builder
+msgid "Display Forms"
+msgstr "Toon formulieren"
+
+#: swpm-form-builder.php:446
+#@ swpm-form-builder
+msgid "Click"
+msgstr "Klik"
+
+#: swpm-form-builder.php:446
+#@ swpm-form-builder
+msgid "to Add a Field"
+msgstr "om een Veld toe te voegen"
+
+#: swpm-form-builder.php:448
+#@ swpm-form-builder
+msgid "Standard"
+msgstr "Standaard"
+
+#: swpm-form-builder.php:489
+#@ swpm-form-builder
+msgid "Add forms to your Posts or Pages by locating the icon shown below in the area above your post/page editor."
+msgstr "Voeg formulieren toe aan je Berichten of Pagina's tijdens het bewerken ervan via het icoon dat hieronder staat."
+
+#: swpm-form-builder.php:492
+#@ swpm-form-builder
+msgid "You may also manually insert the shortcode into a post/page."
+msgstr "Je kan ook de verkorte code handmatig toevoegen in een Bericht of Pagina."
+
+#: swpm-form-builder.php:493
+#@ swpm-form-builder
+msgid "Shortcode"
+msgstr "Verkorte code"
+
+#: swpm-form-builder.php:1233
+#@ swpm-form-builder
+msgid "Edit Form"
+msgstr "Bewerk formulier"
+
+#: swpm-form-builder.php:1258
+#@ swpm-form-builder
+msgid "New Features of Visual Form Builder Pro"
+msgstr "Nieuwe mogelijkheden van de Visual Form Builder Pro"
+
+#: swpm-form-builder.php:1260
+#@ swpm-form-builder
+msgid "Now with Add-Ons"
+msgstr "Nu met uitbreidingen"
+
+#: swpm-form-builder.php:1261
+#@ swpm-form-builder
+msgid "Akismet Support"
+msgstr "Akismet ondersteuning"
+
+#: swpm-form-builder.php:1262
+#@ swpm-form-builder
+msgid "Optional SPAM Verification"
+msgstr "Optionele SPAM controle"
+
+#: swpm-form-builder.php:1263
+#@ swpm-form-builder
+msgid "Nested Drag and Drop"
+msgstr "Genest slepen en plaatsen"
+
+#: swpm-form-builder.php:1264
+#@ swpm-form-builder
+msgid "Conditional Logic"
+msgstr "Conditionele logica"
+
+#: swpm-form-builder.php:1265
+#@ swpm-form-builder
+msgid "10+ new Form Fields"
+msgstr "meer dan 10 nieuwe formulier velden"
+
+#: swpm-form-builder.php:1266
+#@ swpm-form-builder
+msgid "Complete Entries Management"
+msgstr "Beheer invoeren"
+
+#: swpm-form-builder.php:1267
+#@ swpm-form-builder
+msgid "Import/Export"
+msgstr "Importeren/Exporteren"
+
+#: swpm-form-builder.php:1268
+#@ swpm-form-builder
+msgid "Quality HTML Email Template"
+msgstr "Hoogwaardig HTML email sjabloon"
+
+#: swpm-form-builder.php:1269
+#@ swpm-form-builder
+msgid "Plain Text Email Option"
+msgstr "Kale tekst email optie"
+
+#: swpm-form-builder.php:1270
+#@ swpm-form-builder
+msgid "Email Designer"
+msgstr "Email vormgeving ontwerpen"
+
+#: swpm-form-builder.php:1271
+#@ swpm-form-builder
+msgid "Analytics"
+msgstr "Analyse"
+
+#: swpm-form-builder.php:1272
+#@ swpm-form-builder
+msgid "Data &amp; Form Migration"
+msgstr "Migratie formulier en gegevens"
+
+#: swpm-form-builder.php:1273
+#@ swpm-form-builder
+msgid "Scheduling"
+msgstr "Planning"
+
+#: swpm-form-builder.php:1274
+#@ swpm-form-builder
+msgid "Limit Form Entries"
+msgstr "Beperk het aantal invoeren"
+
+#: swpm-form-builder.php:1275
+#@ swpm-form-builder
+msgid "Simple PayPal Integration"
+msgstr "Eenvoudige PayPal integratie"
+
+#: swpm-form-builder.php:1276
+#@ swpm-form-builder
+msgid "Form Paging"
+msgstr "Pagineren formulieren"
+
+#: swpm-form-builder.php:1277
+#@ swpm-form-builder
+msgid "Live Preview"
+msgstr "Actuele versie tonen"
+
+#: swpm-form-builder.php:1278
+#@ swpm-form-builder
+msgid "Custom Capabilities"
+msgstr "Aangepaste eigenschappen"
+
+#: swpm-form-builder.php:1279
+#@ swpm-form-builder
+msgid "No License Key"
+msgstr "Geen licentie sleutel"
+
+#: swpm-form-builder.php:1280
+#@ swpm-form-builder
+msgid "Automatic Updates"
+msgstr "Automatisch bijwerken"
+
+#: swpm-form-builder.php:1283
+#@ swpm-form-builder
+msgid "Learn more about some of these features"
+msgstr "Meer info over sommige van deze eigenschappen"
+
+#: swpm-form-builder.php:1284
+#@ swpm-form-builder
+msgid "Buy Now"
+msgstr "Nu Kopen"
+
+#: swpm-form-builder.php:1284
+#@ swpm-form-builder
+msgid "Only $10"
+msgstr "Slechts $10"
+
+#: swpm-form-builder.php:1287
+#@ swpm-form-builder
+msgid "Help Promote Visual Form Builder"
+msgstr "Help om Visual form Builder te promoten"
+
+#: swpm-form-builder.php:1289
+#@ swpm-form-builder
+msgid "Follow me on Twitter"
+msgstr "Volg mij op Twitter"
+
+#: swpm-form-builder.php:1290
+#@ swpm-form-builder
+msgid "Rate Visual Form Builder on WordPress.org"
+msgstr "Beoordeel Visual Form Builder op WordPress.org"
+
+#: swpm-form-builder.php:1352
+#@ swpm-form-builder
+msgid "Edit Field Item"
+msgstr "Bewerk veld"
+
+#: swpm-form-builder.php:1369
+#: swpm-form-builder.php:1410
+#: swpm-form-builder.php:1649
+#@ swpm-form-builder
+msgid "CSS Classes"
+msgstr "CSS klassen"
+
+#: swpm-form-builder.php:1380
+#: swpm-form-builder.php:1400
+#@ swpm-form-builder
+msgid "Name"
+msgstr "Naam"
+
+#: swpm-form-builder.php:1388
+#@ swpm-form-builder
+msgid "Description (HTML tags allowed)"
+msgstr "Beschrijving (HTML commando's toegestaan)"
+
+#: swpm-form-builder.php:1420
+#@ swpm-form-builder
+msgid "Description"
+msgstr "Beschrijving"
+
+#: swpm-form-builder.php:1432
+#@ swpm-form-builder
+msgid "Options"
+msgstr "Opties"
+
+#: swpm-form-builder.php:1489
+#@ swpm-form-builder
+msgid "Accepted File Extensions"
+msgstr "Geaccepteerde bestandstypen"
+
+#: swpm-form-builder.php:1504
+#@ swpm-form-builder
+msgid "Validation"
+msgstr "Controle"
+
+#: swpm-form-builder.php:1511
+#@ swpm-form-builder
+msgid "12 Hour Format"
+msgstr "12 uur formaat"
+
+#: swpm-form-builder.php:1512
+#@ swpm-form-builder
+msgid "24 Hour Format"
+msgstr "24 uur formaat"
+
+#: swpm-form-builder.php:1514
+#@ swpm-form-builder
+msgid "None"
+msgstr "Geen"
+
+#: swpm-form-builder.php:1515
+#@ swpm-form-builder
+msgid "Email"
+msgstr "Email"
+
+#: swpm-form-builder.php:1516
+#@ swpm-form-builder
+msgid "URL"
+msgstr "URL"
+
+#: swpm-form-builder.php:1517
+#@ swpm-form-builder
+msgid "Date"
+msgstr "Datum"
+
+#: swpm-form-builder.php:1518
+#@ swpm-form-builder
+msgid "Number"
+msgstr "Nummer"
+
+#: swpm-form-builder.php:1519
+#@ swpm-form-builder
+msgid "Digits"
+msgstr "Cijfers"
+
+#: swpm-form-builder.php:1520
+#@ swpm-form-builder
+msgid "Phone"
+msgstr "Telefoon"
+
+#: swpm-form-builder.php:1552
+#@ swpm-form-builder
+msgid "Required"
+msgstr "Vereist"
+
+#: swpm-form-builder.php:1556
+#@ swpm-form-builder
+msgid "No"
+msgstr "Nee"
+
+#: swpm-form-builder.php:1557
+#@ swpm-form-builder
+msgid "Yes"
+msgstr "Ja"
+
+#: swpm-form-builder.php:1566
+#@ swpm-form-builder
+msgid "Size"
+msgstr "Grootte"
+
+#: swpm-form-builder.php:1570
+#@ swpm-form-builder
+msgid "Small"
+msgstr "Klein"
+
+#: swpm-form-builder.php:1571
+#@ swpm-form-builder
+msgid "Medium"
+msgstr "Middelgroot"
+
+#: swpm-form-builder.php:1572
+#@ swpm-form-builder
+msgid "Large"
+msgstr "Groot"
+
+#: swpm-form-builder.php:1581
+#@ swpm-form-builder
+msgid "Options Layout"
+msgstr "Opties vormgeving"
+
+#: swpm-form-builder.php:1585
+#@ swpm-form-builder
+msgid "One Column"
+msgstr "Een kolom"
+
+#: swpm-form-builder.php:1586
+#@ swpm-form-builder
+msgid "Two Columns"
+msgstr "Twee kolommen"
+
+#: swpm-form-builder.php:1587
+#@ swpm-form-builder
+msgid "Three Columns"
+msgstr "Drie kolommen"
+
+#: swpm-form-builder.php:1588
+#@ swpm-form-builder
+msgid "Auto Width"
+msgstr "Automatische breedte"
+
+#: swpm-form-builder.php:1597
+#@ swpm-form-builder
+msgid "Field Layout"
+msgstr "Veld vormgeving"
+
+#: swpm-form-builder.php:1602
+#@ swpm-form-builder
+msgid "Default"
+msgstr "Standaard"
+
+#: swpm-form-builder.php:1604
+#@ swpm-form-builder
+msgid "Left Half"
+msgstr "Linker helft"
+
+#: swpm-form-builder.php:1605
+#@ swpm-form-builder
+msgid "Right Half"
+msgstr "Rechter helft"
+
+#: swpm-form-builder.php:1608
+#@ swpm-form-builder
+msgid "Left Third"
+msgstr "Linker derde"
+
+#: swpm-form-builder.php:1609
+#@ swpm-form-builder
+msgid "Middle Third"
+msgstr "Middelste derde"
+
+#: swpm-form-builder.php:1610
+#@ swpm-form-builder
+msgid "Right Third"
+msgstr "Rechter derde"
+
+#: swpm-form-builder.php:1613
+#@ swpm-form-builder
+msgid "Left Two Thirds"
+msgstr "Linker tweederde"
+
+#: swpm-form-builder.php:1614
+#@ swpm-form-builder
+msgid "Right Two Thirds"
+msgstr "Rechter tweederde"
+
+#: swpm-form-builder.php:1623
+#@ swpm-form-builder
+msgid "Default Value"
+msgstr "Standaard waarde"
+
+#: swpm-form-builder.php:1633
+#@ swpm-form-builder
+msgid "Default Country"
+msgstr "Standaard land"
+
+#: swpm-form-builder.php:1661
+#@ swpm-form-builder
+msgid "Remove"
+msgstr "Verwijderen"
+
+#: swpm-form-builder.php:1693
+#@ swpm-form-builder
+msgid "The form has been successfully created."
+msgstr "Het formulier is aangemaakt"
+
+#: swpm-form-builder.php:1696
+#, php-format
+#@ swpm-form-builder
+msgid "The %s form has been updated."
+msgstr "Het %s formulier is bijgewerkt."
+
+#: swpm-form-builder.php:1699
+#@ swpm-form-builder
+msgid "The form has been successfully deleted."
+msgstr "Het formulier is verwijderd."
+
+#: swpm-form-builder.php:1702
+#@ swpm-form-builder
+msgid "The form has been successfully duplicated."
+msgstr "Het formulier is gekopieerd."
+
+#: swpm-form-builder.php:1717
+#: swpm-form-builder.php:1719
+#: swpm-form-builder.php:1743
+#@ swpm-form-builder
+msgid "Visual Form Builder"
+msgstr "Visuele Formulier Bouwer"
+
+#: swpm-form-builder.php:1719
+#@ swpm-form-builder
+msgid "All Forms"
+msgstr "Alle formulieren"
+
+#: swpm-form-builder.php:1720
+#: swpm-form-builder.php:1744
+#@ swpm-form-builder
+msgid "Add New Form"
+msgstr "Nieuw Formulier toevoegen"
+
+#: swpm-form-builder.php:1722
+#: swpm-form-builder.php:1746
+#@ swpm-form-builder
+msgid "Export"
+msgstr "Exporteren"
+
+#: swpm-form-builder.php:1761
+#, php-format
+#@ swpm-form-builder
+msgid "Search results for \"%s\""
+msgstr "Zoek resultaten voor \"%s\""
+
+#: swpm-form-builder.php:1794
+#@ swpm-form-builder
+msgid "New Form"
+msgstr "Nieuw formulier"
+
+#: swpm-form-builder.php:1883
+#@ swpm-form-builder
+msgid "This field is required and cannot be empty."
+msgstr "Dit veld is vereist en kan niet leeg gelaten worden."
+
+#: swpm-form-builder.php:1890
+#@ swpm-form-builder
+msgid "Not a valid email address"
+msgstr "Geen geldig email adres"
+
+#: swpm-form-builder.php:1896
+#@ swpm-form-builder
+msgid "Not a valid number"
+msgstr "Geen geldig nummer"
+
+#: swpm-form-builder.php:1903
+#@ swpm-form-builder
+msgid "Not a valid phone number. Most US/Canada and International formats accepted."
+msgstr "Geen geldig telefoonnummer. De meeste US/Canada en Internationale formaten worden geaccepteerd."
+
+#: swpm-form-builder.php:1908
+#@ swpm-form-builder
+msgid "Not a valid URL."
+msgstr "Geen geldige URL."
+
+#: includes/admin-form-creator.php:152
+#@ swpm-form-builder
+msgid "No required text fields detected"
+msgstr "Geen vereiste tekstvelden gedetecteerd"
+
+#: includes/admin-form-creator.php:182
+#: includes/admin-form-creator.php:302
+#@ swpm-form-builder
+msgid "No required email fields detected"
+msgstr "Geen vereiste e-mail velden gedetecteerd"
+
+#: includes/class-export.php:129
+#@ swpm-form-builder
+msgid "Page to Export"
+msgstr "Pagina exporteren"
+
+#: includes/class-export.php:137
+#@ swpm-form-builder
+msgid "A large number of entries have been detected for this form. Only 1000 entries can be exported at a time."
+msgstr "Dit formulier is een groot aantal vermeldingen herkend. Slechts 1000 vermeldingen kunnen tegelijk worden geëxporteerd."
+
+#: swpm-form-builder.php:1758
+#@ swpm-form-builder
+msgid "Add New"
+msgstr "Nieuwe toevoegen"
+
diff --git a/languages/swpm-form-builder.pot b/languages/swpm-form-builder.pot
new file mode 100644 (file)
index 0000000..c6fda2e
--- /dev/null
@@ -0,0 +1,852 @@
+# Copyright (C) 2013 Visual Form Builder
+# This file is distributed under the same license as the Visual Form Builder package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Visual Form Builder 2.7.1\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/swpm-form-builder\n"
+"POT-Creation-Date: 2013-04-10 14:14:49+00:00\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"PO-Revision-Date: 2013-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+
+#: includes/admin-form-creator.php:61
+msgid "Form Name"
+msgstr ""
+
+#: includes/admin-form-creator.php:62 includes/admin-new-form.php:17
+msgid "Enter form name here"
+msgstr ""
+
+#: includes/admin-form-creator.php:92
+msgid "Form Settings"
+msgstr ""
+
+#: includes/admin-form-creator.php:93
+msgid "Duplicate Form"
+msgstr ""
+
+#: includes/admin-form-creator.php:94
+msgid "Delete Form"
+msgstr ""
+
+#: includes/admin-form-creator.php:96 includes/admin-form-creator.php:358
+msgid "Save Form"
+msgstr ""
+
+#: includes/admin-form-creator.php:106
+msgid "Label Alignment"
+msgstr ""
+
+#: includes/admin-form-creator.php:111
+msgid "Top Aligned"
+msgstr ""
+
+#: includes/admin-form-creator.php:112
+msgid "Left Aligned"
+msgstr ""
+
+#: includes/admin-form-creator.php:113
+msgid "Right Aligned"
+msgstr ""
+
+#: includes/admin-form-creator.php:124
+msgid "The forms you build here will send information to one or more email addresses when submitted by a user on your site.  Use the fields below to customize the details of that email."
+msgstr ""
+
+#: includes/admin-form-creator.php:129 includes/admin-form-creator.php:318
+#: includes/admin-new-form.php:40
+msgid "E-mail Subject"
+msgstr ""
+
+#: includes/admin-form-creator.php:140 includes/admin-new-form.php:23
+msgid "Your Name or Company"
+msgstr ""
+
+#: includes/admin-form-creator.php:148
+msgid "User's Name (optional)"
+msgstr ""
+
+#: includes/admin-form-creator.php:152
+msgid "No required text fields detected"
+msgstr ""
+
+#: includes/admin-form-creator.php:170 includes/admin-form-creator.php:289
+#: includes/admin-new-form.php:31
+msgid "Reply-To E-mail"
+msgstr ""
+
+#: includes/admin-form-creator.php:178
+msgid "User's E-mail (optional)"
+msgstr ""
+
+#: includes/admin-form-creator.php:182 includes/admin-form-creator.php:302
+msgid "No required email fields detected"
+msgstr ""
+
+#: includes/admin-form-creator.php:208
+msgid "E-mail(s) To"
+msgstr ""
+
+#: includes/admin-form-creator.php:228
+msgid "After someone submits a form, you can control what is displayed. By default, it's a message but you can send them to another WordPress Page or a custom URL."
+msgstr ""
+
+#: includes/admin-form-creator.php:231
+msgid "Text"
+msgstr ""
+
+#: includes/admin-form-creator.php:235
+msgid "Page"
+msgstr ""
+
+#: includes/admin-form-creator.php:239
+msgid "Redirect"
+msgstr ""
+
+#: includes/admin-form-creator.php:248
+msgid "Registration is complete."
+msgstr ""
+
+msgid "Profile Updated."
+msgstr ""
+
+#: includes/admin-form-creator.php:258
+msgid "Select a Page"
+msgstr ""
+
+#: includes/admin-form-creator.php:271
+msgid "When a user submits their entry, you can send a customizable notification email."
+msgstr ""
+
+#: includes/admin-form-creator.php:274
+msgid "Send Confirmation Email to User"
+msgstr ""
+
+#: includes/admin-form-creator.php:280
+msgid "Sender Name or Company"
+msgstr ""
+
+#: includes/admin-form-creator.php:298 includes/admin-new-form.php:48
+msgid "E-mail To"
+msgstr ""
+
+#: includes/admin-form-creator.php:326
+msgid "Message"
+msgstr ""
+
+#: includes/admin-form-creator.php:334
+msgid "Include a Copy of the User's Entry"
+msgstr ""
+
+#: includes/admin-form-creator.php:346
+msgid "Warning &mdash; Missing Fieldset"
+msgstr ""
+
+#: includes/admin-form-creator.php:346
+msgid "Your form may not function or display correctly. Please be sure to add or move a Fieldset to the beginning of your form."
+msgstr ""
+
+#: includes/admin-new-form.php:7
+msgid "You do not have sufficient permissions to create a new form."
+msgstr ""
+
+#: includes/admin-new-form.php:9
+msgid "Create a form"
+msgstr ""
+
+#: includes/admin-new-form.php:15
+msgid "Name the form"
+msgstr ""
+
+#: includes/admin-new-form.php:18
+msgid "Required. This name is used for admin purposes."
+msgstr ""
+
+#: includes/admin-new-form.php:26
+msgid "Required. This is who your emails will come from."
+msgstr ""
+
+#: includes/admin-new-form.php:34
+msgid "Required. Replies to your email will go here."
+msgstr ""
+
+#: includes/admin-new-form.php:35
+msgid "Tip: for best results, use an email that exists on this domain."
+msgstr ""
+
+#: includes/admin-new-form.php:43 includes/admin-new-form.php:51
+msgid "Optional (for now) - you can change this later"
+msgstr ""
+
+#: includes/admin-new-form.php:57
+msgid "Create Form"
+msgstr ""
+
+#: includes/class-entries-detail.php:37 includes/class-entries-detail.php:91
+msgid "Entry"
+msgstr ""
+
+#: includes/class-entries-detail.php:42
+msgid "Details"
+msgstr ""
+
+#: includes/class-entries-detail.php:48
+msgid "Form Title"
+msgstr ""
+
+#: includes/class-entries-detail.php:51 includes/class-entries-list.php:94
+#: includes/class-export.php:18
+msgid "Date Submitted"
+msgstr ""
+
+#: includes/class-entries-detail.php:54 includes/class-entries-list.php:93
+#: includes/class-export.php:19
+msgid "IP Address"
+msgstr ""
+
+#: includes/class-entries-detail.php:57 includes/class-entries-list.php:89
+msgid "Email Subject"
+msgstr ""
+
+#: includes/class-entries-detail.php:60 includes/class-entries-list.php:90
+#: includes/class-export.php:21
+msgid "Sender Name"
+msgstr ""
+
+#: includes/class-entries-detail.php:63 includes/class-entries-list.php:91
+#: includes/class-export.php:22
+msgid "Sender Email"
+msgstr ""
+
+#: includes/class-entries-detail.php:66 includes/class-entries-list.php:92
+#: includes/class-export.php:23
+msgid "Emailed To"
+msgstr ""
+
+#: includes/class-entries-list.php:88 includes/class-export.php:104
+msgid "Form"
+msgstr ""
+
+#: includes/class-entries-list.php:176 swpm-form-builder.php:1235
+msgid "Delete"
+msgstr ""
+
+#: includes/class-entries-list.php:218
+msgid "View all forms"
+msgstr ""
+
+#: includes/class-entries-list.php:225
+msgid "Filter"
+msgstr ""
+
+#: includes/class-entries-list.php:252
+msgid "Show all dates"
+msgstr ""
+
+#: includes/class-entries-list.php:264 includes/class-export.php:527
+msgid "%1$s %2$d"
+msgstr ""
+
+#: includes/class-entries-list.php:421
+msgid "1 item"
+msgid_plural "%s items"
+msgstr[0] ""
+msgstr[1] ""
+
+#: includes/class-entries-list.php:442
+msgid "Go to the first page"
+msgstr ""
+
+#: includes/class-entries-list.php:450
+msgid "Go to the previous page"
+msgstr ""
+
+#: includes/class-entries-list.php:459
+msgid "Current page"
+msgstr ""
+
+#: includes/class-entries-list.php:465
+msgctxt "paging"
+msgid "%1$s of %2$s"
+msgstr ""
+
+#: includes/class-entries-list.php:469
+msgid "Go to the next page"
+msgstr ""
+
+#: includes/class-entries-list.php:477
+msgid "Go to the last page"
+msgstr ""
+
+#: includes/class-export.php:17
+msgid "Entries ID"
+msgstr ""
+
+#: includes/class-export.php:20
+msgid "Subject"
+msgstr ""
+
+#: includes/class-export.php:65 includes/class-export.php:391
+msgid "No entries to pull field names from."
+msgstr ""
+
+#: includes/class-export.php:81
+msgid "Backup and save some or all of your Visual Form Builder data."
+msgstr ""
+
+#: includes/class-export.php:82
+msgid "Once you have saved the file, you will be able to import Visual Form Builder Pro data from this site into another site."
+msgstr ""
+
+#: includes/class-export.php:83
+msgid "Choose what to export"
+msgstr ""
+
+#: includes/class-export.php:85
+msgid "All data"
+msgstr ""
+
+#: includes/class-export.php:86
+msgid "This will contain all of your forms, fields, entries, and email design settings."
+msgstr ""
+
+#: includes/class-export.php:86 includes/class-export.php:89
+msgid "Only available in Visual Form Builder Pro"
+msgstr ""
+
+#: includes/class-export.php:88
+msgid "Forms"
+msgstr ""
+
+#: includes/class-export.php:89
+msgid "This will contain all of your forms, fields, and email design settings"
+msgstr ""
+
+#: includes/class-export.php:91 swpm-form-builder.php:1721
+#: swpm-form-builder.php:1745
+msgid "Entries"
+msgstr ""
+
+#: includes/class-export.php:94
+msgid "This will export entries in either a .csv, .txt, or .xls and cannot be used with the Import.  If you need to import entries on another site, please use the All data option above."
+msgstr ""
+
+#: includes/class-export.php:96
+msgid "Format"
+msgstr ""
+
+#: includes/class-export.php:98
+msgid "Comma Separated (.csv)"
+msgstr ""
+
+#: includes/class-export.php:99
+msgid "Tab Delimited (.txt) - Pro only"
+msgstr ""
+
+#: includes/class-export.php:100
+msgid "Excel (.xls) - Pro only"
+msgstr ""
+
+#: includes/class-export.php:114
+msgid "Date Range"
+msgstr ""
+
+#: includes/class-export.php:129
+msgid "Page to Export"
+msgstr ""
+
+#: includes/class-export.php:137
+msgid "A large number of entries have been detected for this form. Only 1000 entries can be exported at a time."
+msgstr ""
+
+#: includes/class-export.php:144
+msgid "Fields"
+msgstr ""
+
+#: includes/class-export.php:146
+msgid "Select All"
+msgstr ""
+
+#: includes/class-export.php:159
+msgid "Download Export File"
+msgstr ""
+
+#: includes/email.php:11
+msgid "Security check: hidden spam field should be blank."
+msgstr ""
+
+#: includes/email.php:13
+msgid "Security check: failed secret question. Please try again!"
+msgstr ""
+
+#: includes/email.php:21
+msgid "Security check: looks like you are a SPAM bot. If you think this is an error, please email the site owner."
+msgstr ""
+
+#: includes/email.php:111
+msgid "File size exceeds %dMB. Most email providers will reject emails with attachments larger than %dMB. Please decrease the file size and try again."
+msgstr ""
+
+#: includes/email.php:262
+msgid "Your responses look too much like spam and could not be sent at this time."
+msgstr ""
+
+#: includes/form-output.php:155
+msgid "Logged in as <a href=\"%1$s\">%2$s</a>. Verification not required."
+msgstr ""
+
+#: includes/form-output.php:326
+msgid "Address"
+msgstr ""
+
+#: includes/form-output.php:330
+msgid "Address Line 2"
+msgstr ""
+
+#: includes/form-output.php:334
+msgid "City"
+msgstr ""
+
+#: includes/form-output.php:338
+msgid "State / Province / Region"
+msgstr ""
+
+#: includes/form-output.php:342
+msgid "Postal / Zip Code"
+msgstr ""
+
+#: includes/form-output.php:346
+msgid "Country"
+msgstr ""
+
+#: includes/form-output.php:556
+msgid "Verification"
+msgstr ""
+
+#: includes/form-output.php:558
+msgid "Please enter any two digits with <strong>no</strong> spaces (Example: 12)"
+msgstr ""
+
+#: includes/form-output.php:571
+msgid "This box is for spam protection - <strong>please leave it blank</strong>"
+msgstr ""
+
+#: swpm-form-builder.php:196
+msgid "Settings"
+msgstr ""
+
+#: swpm-form-builder.php:217
+msgid "Recent Visual Form Builder Entries"
+msgstr ""
+
+#: swpm-form-builder.php:240
+msgid "You currently do not have any forms."
+msgstr ""
+
+#: swpm-form-builder.php:242
+msgid "Get started!"
+msgstr ""
+
+#: swpm-form-builder.php:292
+msgid "Number of entries to show:"
+msgstr ""
+
+#: swpm-form-builder.php:395
+msgid "Entries per page"
+msgstr ""
+
+#: swpm-form-builder.php:434
+msgid "Form Items"
+msgstr ""
+
+#: swpm-form-builder.php:435
+msgid "Display Forms"
+msgstr ""
+
+#: swpm-form-builder.php:446
+msgid "Click"
+msgstr ""
+
+#: swpm-form-builder.php:446
+msgid "to Add a Field"
+msgstr ""
+
+#: swpm-form-builder.php:448
+msgid "Standard"
+msgstr ""
+
+#: swpm-form-builder.php:489
+msgid "Add forms to your Posts or Pages by locating the icon shown below in the area above your post/page editor."
+msgstr ""
+
+#: swpm-form-builder.php:492
+msgid "You may also manually insert the shortcode into a post/page."
+msgstr ""
+
+#: swpm-form-builder.php:493
+msgid "Shortcode"
+msgstr ""
+
+#: swpm-form-builder.php:1233
+msgid "Edit Form"
+msgstr ""
+
+#: swpm-form-builder.php:1258
+msgid "New Features of Visual Form Builder Pro"
+msgstr ""
+
+#: swpm-form-builder.php:1260
+msgid "Now with Add-Ons"
+msgstr ""
+
+#: swpm-form-builder.php:1261
+msgid "Akismet Support"
+msgstr ""
+
+#: swpm-form-builder.php:1262
+msgid "Optional SPAM Verification"
+msgstr ""
+
+#: swpm-form-builder.php:1263
+msgid "Nested Drag and Drop"
+msgstr ""
+
+#: swpm-form-builder.php:1264
+msgid "Conditional Logic"
+msgstr ""
+
+#: swpm-form-builder.php:1265
+msgid "10+ new Form Fields"
+msgstr ""
+
+#: swpm-form-builder.php:1266
+msgid "Complete Entries Management"
+msgstr ""
+
+#: swpm-form-builder.php:1267
+msgid "Import/Export"
+msgstr ""
+
+#: swpm-form-builder.php:1268
+msgid "Quality HTML Email Template"
+msgstr ""
+
+#: swpm-form-builder.php:1269
+msgid "Plain Text Email Option"
+msgstr ""
+
+#: swpm-form-builder.php:1270
+msgid "Email Designer"
+msgstr ""
+
+#: swpm-form-builder.php:1271
+msgid "Analytics"
+msgstr ""
+
+#: swpm-form-builder.php:1272
+msgid "Data &amp; Form Migration"
+msgstr ""
+
+#: swpm-form-builder.php:1273
+msgid "Scheduling"
+msgstr ""
+
+#: swpm-form-builder.php:1274
+msgid "Limit Form Entries"
+msgstr ""
+
+#: swpm-form-builder.php:1275
+msgid "Simple PayPal Integration"
+msgstr ""
+
+#: swpm-form-builder.php:1276
+msgid "Form Paging"
+msgstr ""
+
+#: swpm-form-builder.php:1277
+msgid "Live Preview"
+msgstr ""
+
+#: swpm-form-builder.php:1278
+msgid "Custom Capabilities"
+msgstr ""
+
+#: swpm-form-builder.php:1279
+msgid "No License Key"
+msgstr ""
+
+#: swpm-form-builder.php:1280
+msgid "Automatic Updates"
+msgstr ""
+
+#: swpm-form-builder.php:1283
+msgid "Learn more about some of these features"
+msgstr ""
+
+#: swpm-form-builder.php:1284
+msgid "Buy Now"
+msgstr ""
+
+#: swpm-form-builder.php:1284
+msgid "Only $10"
+msgstr ""
+
+#: swpm-form-builder.php:1287
+msgid "Help Promote Visual Form Builder"
+msgstr ""
+
+#: swpm-form-builder.php:1289
+msgid "Follow me on Twitter"
+msgstr ""
+
+#: swpm-form-builder.php:1290
+msgid "Rate Visual Form Builder on WordPress.org"
+msgstr ""
+
+#: swpm-form-builder.php:1352
+msgid "Edit Field Item"
+msgstr ""
+
+#: swpm-form-builder.php:1369 swpm-form-builder.php:1410
+#: swpm-form-builder.php:1649
+msgid "CSS Classes"
+msgstr ""
+
+#: swpm-form-builder.php:1380 swpm-form-builder.php:1400
+msgid "Name"
+msgstr ""
+
+#: swpm-form-builder.php:1388
+msgid "Description (HTML tags allowed)"
+msgstr ""
+
+#: swpm-form-builder.php:1420
+msgid "Description"
+msgstr ""
+
+#: swpm-form-builder.php:1432
+msgid "Options"
+msgstr ""
+
+#: swpm-form-builder.php:1489
+msgid "Accepted File Extensions"
+msgstr ""
+
+#: swpm-form-builder.php:1504
+msgid "Validation"
+msgstr ""
+
+#: swpm-form-builder.php:1511
+msgid "12 Hour Format"
+msgstr ""
+
+#: swpm-form-builder.php:1512
+msgid "24 Hour Format"
+msgstr ""
+
+#: swpm-form-builder.php:1514
+msgid "None"
+msgstr ""
+
+#: swpm-form-builder.php:1515
+msgid "Email"
+msgstr ""
+
+#: swpm-form-builder.php:1516
+msgid "URL"
+msgstr ""
+
+#: swpm-form-builder.php:1517
+msgid "Date"
+msgstr ""
+
+#: swpm-form-builder.php:1518
+msgid "Number"
+msgstr ""
+
+#: swpm-form-builder.php:1519
+msgid "Digits"
+msgstr ""
+
+#: swpm-form-builder.php:1520
+msgid "Phone"
+msgstr ""
+
+#: swpm-form-builder.php:1552
+msgid "Required"
+msgstr ""
+
+#: swpm-form-builder.php:1556
+msgid "No"
+msgstr ""
+
+#: swpm-form-builder.php:1557
+msgid "Yes"
+msgstr ""
+
+#: swpm-form-builder.php:1566
+msgid "Size"
+msgstr ""
+
+#: swpm-form-builder.php:1570
+msgid "Small"
+msgstr ""
+
+#: swpm-form-builder.php:1571
+msgid "Medium"
+msgstr ""
+
+#: swpm-form-builder.php:1572
+msgid "Large"
+msgstr ""
+
+#: swpm-form-builder.php:1581
+msgid "Options Layout"
+msgstr ""
+
+#: swpm-form-builder.php:1585
+msgid "One Column"
+msgstr ""
+
+#: swpm-form-builder.php:1586
+msgid "Two Columns"
+msgstr ""
+
+#: swpm-form-builder.php:1587
+msgid "Three Columns"
+msgstr ""
+
+#: swpm-form-builder.php:1588
+msgid "Auto Width"
+msgstr ""
+
+#: swpm-form-builder.php:1597
+msgid "Field Layout"
+msgstr ""
+
+#: swpm-form-builder.php:1602
+msgid "Default"
+msgstr ""
+
+#: swpm-form-builder.php:1604
+msgid "Left Half"
+msgstr ""
+
+#: swpm-form-builder.php:1605
+msgid "Right Half"
+msgstr ""
+
+#: swpm-form-builder.php:1608
+msgid "Left Third"
+msgstr ""
+
+#: swpm-form-builder.php:1609
+msgid "Middle Third"
+msgstr ""
+
+#: swpm-form-builder.php:1610
+msgid "Right Third"
+msgstr ""
+
+#: swpm-form-builder.php:1613
+msgid "Left Two Thirds"
+msgstr ""
+
+#: swpm-form-builder.php:1614
+msgid "Right Two Thirds"
+msgstr ""
+
+#: swpm-form-builder.php:1623
+msgid "Default Value"
+msgstr ""
+
+#: swpm-form-builder.php:1633
+msgid "Default Country"
+msgstr ""
+
+#: swpm-form-builder.php:1661
+msgid "Remove"
+msgstr ""
+
+#: swpm-form-builder.php:1693
+msgid "The form has been successfully created."
+msgstr ""
+
+#: swpm-form-builder.php:1696
+msgid "The %s form has been updated."
+msgstr ""
+
+#: swpm-form-builder.php:1699
+msgid "The form has been successfully deleted."
+msgstr ""
+
+#: swpm-form-builder.php:1702
+msgid "The form has been successfully duplicated."
+msgstr ""
+
+#: swpm-form-builder.php:1717 swpm-form-builder.php:1719
+#: swpm-form-builder.php:1743
+msgid "Visual Form Builder"
+msgstr ""
+
+#: swpm-form-builder.php:1719
+msgid "All Forms"
+msgstr ""
+
+#: swpm-form-builder.php:1720 swpm-form-builder.php:1744
+msgid "Add New Form"
+msgstr ""
+
+#: swpm-form-builder.php:1722 swpm-form-builder.php:1746
+msgid "Export"
+msgstr ""
+
+#: swpm-form-builder.php:1758
+msgid "Add New"
+msgstr ""
+
+#: swpm-form-builder.php:1761
+msgid "Search results for \"%s\""
+msgstr ""
+
+#: swpm-form-builder.php:1794
+msgid "New Form"
+msgstr ""
+
+#: swpm-form-builder.php:1883
+msgid "This field is required and cannot be empty."
+msgstr ""
+
+#: swpm-form-builder.php:1890
+msgid "Not a valid email address"
+msgstr ""
+
+#: swpm-form-builder.php:1896
+msgid "Not a valid number"
+msgstr ""
+
+#: swpm-form-builder.php:1903
+msgid "Not a valid phone number. Most US/Canada and International formats accepted."
+msgstr ""
+
+#: swpm-form-builder.php:1908
+msgid "Not a valid URL."
+msgstr ""
+#. Plugin Name of the plugin/theme
+msgid "Visual Form Builder"
+msgstr ""
+
+#. Description of the plugin/theme
+msgid "Dynamically build forms using a simple interface. Forms include jQuery validation, a basic logic-based verification system, and entry tracking."
+msgstr ""
+
+#. Author of the plugin/theme
+msgid "Matthew Muro"
+msgstr ""
+
+#. Author URI of the plugin/theme
+msgid "http://matthewmuro.com"
+msgstr ""
diff --git a/swpm-form-builder.php b/swpm-form-builder.php
new file mode 100644 (file)
index 0000000..30efb71
--- /dev/null
@@ -0,0 +1,23 @@
+<?php
+/*
+Plugin Name: Simple Membership Form Builder
+Description: MODFIED BY Gaslight Media. *** Do not update! ***
+Plugin URI: https://simple-membership-plugin.com/simple-membership-form-builder-addon/
+Author: wp.insider
+Author URI: https://simple-membership-plugin.com/
+Version: 100.9
+*/
+
+define( 'SWPMFB_VERSION', '100.9' );
+define('SWPMFB_SCRIPT_DEBUG', true);
+define('SWPM_FORM_BUILDER_PATH', dirname(__FILE__) . '/');
+define('SWPM_FORM_BUILDER_URL', plugins_url('',__FILE__));
+require_once ('classes/class.swpm-form-builder.php');
+require_once ('classes/class.swpm-fb-installer.php');
+require_once('classes/class.swpm-fb-utils.php');
+add_action('plugins_loaded', 'swpm_load_form_builder');
+register_activation_hook( SWPM_FORM_BUILDER_PATH .'swpm-form-builder.php', 'SwpmFbInstaller::activate' );
+
+function swpm_load_form_builder(){
+    new Swpm_Form_Builder();
+}
diff --git a/uninstall.php b/uninstall.php
new file mode 100644 (file)
index 0000000..0bf1448
--- /dev/null
@@ -0,0 +1,21 @@
+<?php
+if ( !defined( 'WP_UNINSTALL_PLUGIN' ) )
+       exit();
+
+/*global $wpdb;
+
+$form_table    = $wpdb->prefix . 'swpm_form_builder_fields';
+$fields_table  = $wpdb->prefix . 'swpm_form_builder_forms';
+$entries_table         = $wpdb->prefix . 'swpm_form_builder_entries';
+
+$wpdb->query( "DROP TABLE IF EXISTS $form_table" );
+$wpdb->query( "DROP TABLE IF EXISTS $fields_table" );
+$wpdb->query( "DROP TABLE IF EXISTS $entries_table" );
+
+delete_option( 'swpm_db_version' );
+delete_option( 'swpm-form-builder-screen-options' );
+delete_option( 'swpm_dashboard_widget_options' );
+delete_option( 'swpm-settings' );
+
+$wpdb->query( "DELETE FROM " . $wpdb->prefix . "usermeta WHERE meta_key IN ( 'swpm-form-settings', 'swpm_entries_per_page', 'swpm_forms_per_page', 'manageswpm-form-builder_page_swpm-entriescolumnshidden' )" );
+*/
\ No newline at end of file
diff --git a/views/all_forms.php b/views/all_forms.php
new file mode 100644 (file)
index 0000000..ca61297
--- /dev/null
@@ -0,0 +1,32 @@
+<div class="wrap">
+    <h2>
+        <!--<a href="<?php echo  esc_url(admin_url('admin.php?page=swpm-form-builder&action=add')); ?>" class="add-new-h2">
+            <?php echo  esc_html(__('Add New', 'swpm-form-builder')) ?>
+        </a>-->
+        <?php if ($searched): ?>
+            <span class="subtitle">
+                <?php echo  sprintf(__('Search results for "%s"', 'swpm-form-builder'), $_REQUEST['s']); ?>
+            </span>
+        <?php endif; ?>
+    </h2>
+    <div id="swpm-form-list">
+        <!--<div id="swpm-sidebar">
+            <div id="swpm-upgrade-column">
+                <div class="swpm-pro-upgrade">
+                    <h2><a href="http://swpmpro.com">Visual Form Builder</a></h2>
+                </div>
+            </div>
+        </div>-->
+        <div id="swpm-sidebar"></div>
+        <div id="swpm-main" class="swpm-order-type-list">
+            <form id="forms-filter" method="post" action="">
+                <?php
+                $forms_list->views();
+                $forms_list->prepare_items();
+
+                $forms_list->search_box('search', 'search_id');
+                $forms_list->display();
+                ?>
+            </form>
+        </div> <!-- #swpm-main -->
+    </div> <!-- #swpm-form-list -->
\ No newline at end of file
diff --git a/views/button_palette_metabox.php b/views/button_palette_metabox.php
new file mode 100644 (file)
index 0000000..982477d
--- /dev/null
@@ -0,0 +1,51 @@
+<div class="taxonomydiv">
+    <p><strong><?php _e('Click', 'swpm-form-builder'); ?></strong> <?php _e('to Add a Field', 'swpm-form-builder'); ?> <img id="add-to-form" alt="" src="<?php echo admin_url('/images/wpspin_light.gif'); ?>" class="waiting spinner" /></p>
+    <ul class="posttype-tabs add-menu-item-tabs" id="swpm-field-tabs">
+        <li class="tabs"><a href="#standard-fields" class="nav-tab-link swpm-field-types"><?php _e('Standard', 'swpm-form-builder'); ?></a></li>
+        <li class=""><a href="#custom-fields" class="nav-tab-link swpm-field-types"><?php _e('Custom', 'swpm-form-builder'); ?></a></li>
+    </ul>
+    <!--<ul class="posttype-tabs add-menu-item-tabs" id="swpm-field-tabs">
+        <li class="tabs"><a href="#standard-fields" class="nav-tab-link swpm-field-types"><?php _e('Standard', 'swpm-form-builder'); ?></a></li>
+    </ul>-->
+    <div id="standard-fields" class="tabs-panel tabs-panel-active">
+        <ul class="swpm-fields-col-1">
+            <!--<li><a href="#" class="swpm-draggable-form-items" data-type="text"   data-key="user_name" id="form-element-text"><b></b>User Name</a></li>-->
+            <li><a href="#" class="swpm-draggable-form-items" data-type="text"   data-key="first_name" id="form-element-text"><b></b>First Name</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-type="text"   data-key="last_name" id="form-element-text"><b></b>Last Name</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-type="select" data-key="gender" id="form-element-select"><b></b>Gender</a></li>
+        </ul>
+        <ul class="swpm-fields-col-2">
+            <li><a href="#" class="swpm-draggable-form-items" data-type="address" data-key="primary_address" id="form-element-address"><b></b>Address</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-type="select" data-key="title" id="form-element-select"><b></b>Title</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-type="phone" data-key="primary_phone" id="form-element-phone"><b></b>Phone</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-type="file-upload" data-key="profile_image" id="form-element-file"><b></b>Profile Image</a></li>
+        </ul>
+        <div class="clear"></div>
+    </div> <!-- #standard-fields -->
+    <div id="custom-fields" class="tabs-panel tabs-panel-inactive">
+        <ul class="swpm-fields-col-1">
+            <li><a href="#" class="swpm-draggable-form-items" data-key="fieldset" data-type="fieldset" id="form-element-fieldset">Fieldset</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-key="custom" data-type="text" id="form-element-text"><b></b>Text</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-key="custom" data-type="checkbox" id="form-element-checkbox"><b></b>Checkbox</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-key="custom" data-type="select" id="form-element-select"><b></b>Select</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-key="custom" data-type="date" id="form-element-datepicker"><b></b>Date</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-key="custom" data-type="url" id="form-element-url"><b></b>URL</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-key="custom" data-type="number" id="form-element-digits"><b></b>Number</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-key="custom" data-type="phone" id="form-element-phone"><b></b>Phone</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-key="custom" data-type="file-upload" id="form-element-file"><b></b>File Upload</a></li>
+        </ul>
+        <ul class="swpm-fields-col-2">
+            <li><a href="#" class="swpm-draggable-form-items" data-type="section"      data-key="section" id="form-element-section">Section</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-type="textarea"     data-key="custom" id="form-element-textarea"><b></b>Textarea</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-type="radio"        data-key="custom" id="form-element-radio"><b></b>Radio</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-type="address"      data-key="custom" id="form-element-address"><b></b>Address</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-type="email"        data-key="custom" id="form-element-email"><b></b>Email</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-type="currency"     data-key="custom" id="form-element-currency"><b></b>Currency</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-type="time"         data-key="custom" id="form-element-time"><b></b>Time</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-type="html"         data-key="custom" id="form-element-html"><b></b>HTML</a></li>
+            <li><a href="#" class="swpm-draggable-form-items" data-type="instructions" data-key="instructions" id="form-element-instructions"><b></b>Instructions</a></li>
+        </ul>
+        <div class="clear"></div>
+    </div> <!-- #custom-fields -->
+</div> <!-- .taxonomydiv -->
+<div class="clear"></div>
\ No newline at end of file
diff --git a/views/settings.php b/views/settings.php
new file mode 100644 (file)
index 0000000..a161354
--- /dev/null
@@ -0,0 +1,98 @@
+<div class="wrap">
+    <h2><?php _e('Settings', 'swpm-form-builder'); ?></h2>
+    <form id="swpm-settings" method="post">
+        <input name="action" type="hidden" value="swpm_settings" />
+<?php wp_nonce_field('swpm-update-settings'); ?>
+        <h3><?php _e('Global Settings', 'swpm-form-builder'); ?></h3>
+        <p><?php _e('These settings will affect all forms on your site.', 'swpm-form-builder'); ?></p>
+        <table class="form-table">
+            <tr valign="top">
+                <th scope="row"><?php _e('CSS', 'swpm-form-builder'); ?></th>
+                <td>
+                    <fieldset>
+                        <?php
+                        $disable = array(
+                            'always-load-css' => __('Always load CSS', 'swpm-form-builder'),
+                            'disable-css' => __('Disable CSS', 'swpm-form-builder'), // swpm-form-builder-css
+                        );
+
+                        foreach ($disable as $key => $title) :
+                            $swpm_settings[$key] = isset($swpm_settings[$key]) ? $swpm_settings[$key] : '';
+                        ?>
+                            <label for="swpm-settings-<?php echo $key; ?>">
+                                <input type="checkbox" name="swpm-settings[<?php echo $key; ?>]" id="swpm-settings-<?php echo $key; ?>" value="1" <?php checked($swpm_settings[$key], 1); ?> /> <?php echo $title; ?>
+                            </label>
+                            <br>
+                        <?php endforeach; ?>
+                    </fieldset>
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <th scope="row"><?php _e('Form Output', 'swpm-form-builder'); ?></th>
+                <td>
+                    <fieldset>
+<?php
+$disable = array(
+    'address-labels' => __('Place Address labels above fields', 'swpm-form-builder'), // swpm_address_labels_placement
+    'show-version' => __('Disable meta tag version', 'swpm-form-builder'), // swpm_show_version
+);
+
+foreach ($disable as $key => $title) :
+
+    $swpm_settings[$key] = isset($swpm_settings[$key]) ? $swpm_settings[$key] : '';
+    ?>
+                            <label for="swpm-settings-<?php echo $key; ?>">
+                                <input type="checkbox" name="swpm-settings[<?php echo $key; ?>]" id="swpm-settings-<?php echo $key; ?>" value="1" <?php checked($swpm_settings[$key], 1); ?> /> <?php echo $title; ?>
+                            </label>
+                            <br>
+                        <?php endforeach; ?>
+                    </fieldset>
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <th scope="row"><label for="swpm-settings-spam-points"><?php _e('Spam word sensitivity', 'swpm-form-builder'); ?></label></th>
+                <td>
+<?php $swpm_settings['spam-points'] = isset($swpm_settings['spam-points']) ? $swpm_settings['spam-points'] : '4'; ?>
+                    <input type="number" min="1" name="swpm-settings[spam-points]" id="swpm-settings-spam-points" value="<?php echo $swpm_settings['spam-points']; ?>" class="small-text" />
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <th scope="row"><label for="swpm-settings-max-upload-size"><?php _e('Max Upload Size', 'swpm-form-builder'); ?></label></th>
+                <td>
+<?php $swpm_settings['max-upload-size'] = isset($swpm_settings['max-upload-size']) ? $swpm_settings['max-upload-size'] : '25'; ?>
+                    <input type="number" name="swpm-settings[max-upload-size]" id="swpm-settings-max-upload-size" value="<?php echo $swpm_settings['max-upload-size']; ?>" class="small-text" /> MB
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <th scope="row"><label for="swpm-settings-sender-mail-header"><?php _e('Sender Mail Header', 'swpm-form-builder'); ?></label></th>
+                <td>
+<?php
+// Use the admin_email as the From email
+$from_email = get_site_option('admin_email');
+
+// Get the site domain and get rid of www.
+$sitename = strtolower($_SERVER['SERVER_NAME']);
+if (substr($sitename, 0, 4) == 'www.')
+    $sitename = substr($sitename, 4);
+
+// Get the domain from the admin_email
+list( $user, $domain ) = explode('@', $from_email);
+
+// If site domain and admin_email domain match, use admin_email, otherwise a same domain email must be created
+$from_email = ( $sitename == $domain ) ? $from_email : "wordpress@$sitename";
+
+$swpm_settings['sender-mail-header'] = isset($swpm_settings['sender-mail-header']) ? $swpm_settings['sender-mail-header'] : $from_email;
+?>
+                    <input type="text" name="swpm-settings[sender-mail-header]" id="swpm-settings-sender-mail-header" value="<?php echo $swpm_settings['sender-mail-header']; ?>" class="regular-text" />
+                    <p class="description"><?php _e('Some server configurations require an existing email on the domain be used when sending emails.', 'swpm-form-builder'); ?></p>
+                </td>
+            </tr>
+        </table>
+
+                    <?php submit_button(__('Save', 'swpm-form-builder'), 'primary', 'submit', false); ?>
+    </form>
+</div>
\ No newline at end of file