summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.tx/config2
-rw-r--r--CHANGELOG32
-rw-r--r--INSTALL3
-rwxr-xr-xbin/installto.sh2
-rwxr-xr-xbin/makedoc.sh10
-rwxr-xr-xbin/msgexport.sh2
-rwxr-xr-xbin/transifexpull.sh6
-rwxr-xr-xbin/update.sh6
-rw-r--r--config/defaults.inc.php24
-rw-r--r--config/mimetypes.php2
-rw-r--r--index.php22
-rw-r--r--installer/check.php12
-rw-r--r--installer/rcube_install.php14
-rw-r--r--installer/test.php2
-rw-r--r--plugins/acl/acl.js56
-rw-r--r--plugins/acl/acl.php5
-rw-r--r--plugins/acl/composer.json2
-rw-r--r--plugins/acl/localization/ar_SA.inc91
-rw-r--r--plugins/acl/localization/br.inc48
-rw-r--r--plugins/acl/localization/en_CA.inc1
-rw-r--r--plugins/acl/localization/en_GB.inc1
-rw-r--r--plugins/acl/localization/en_US.inc6
-rw-r--r--plugins/acl/localization/eo.inc1
-rw-r--r--plugins/acl/localization/et_EE.inc1
-rw-r--r--plugins/acl/localization/fi_FI.inc2
-rw-r--r--plugins/acl/localization/fo_FO.inc90
-rw-r--r--plugins/acl/localization/hr_HR.inc90
-rw-r--r--plugins/acl/localization/hy_AM.inc1
-rw-r--r--plugins/acl/localization/it_IT.inc6
-rw-r--r--plugins/acl/localization/km_KH.inc68
-rw-r--r--plugins/acl/localization/pt_PT.inc50
-rw-r--r--plugins/acl/localization/sv_SE.inc12
-rw-r--r--plugins/acl/localization/uk_UA.inc45
-rw-r--r--plugins/acl/localization/vi_VN.inc7
-rw-r--r--plugins/acl/localization/zh_CN.inc7
-rw-r--r--plugins/acl/package.xml6
-rw-r--r--plugins/acl/skins/classic/acl.css4
-rw-r--r--plugins/acl/skins/classic/templates/table.html6
-rw-r--r--plugins/acl/skins/larry/acl.css16
-rw-r--r--plugins/acl/skins/larry/templates/table.html12
-rw-r--r--plugins/archive/archive.js2
-rw-r--r--plugins/archive/archive.php21
-rw-r--r--plugins/archive/localization/en_GB.inc9
-rw-r--r--plugins/archive/localization/fo_FO.inc31
-rw-r--r--plugins/archive/localization/hr_HR.inc11
-rw-r--r--plugins/archive/localization/hy_AM.inc9
-rw-r--r--plugins/archive/localization/km_KH.inc13
-rw-r--r--plugins/archive/localization/uk_UA.inc3
-rw-r--r--plugins/archive/localization/vi_VN.inc9
-rw-r--r--plugins/attachment_reminder/localization/el_GR.inc2
-rw-r--r--plugins/attachment_reminder/localization/en_GB.inc20
-rw-r--r--plugins/attachment_reminder/localization/es_MX.inc20
-rw-r--r--plugins/attachment_reminder/localization/fo_FO.inc20
-rw-r--r--plugins/attachment_reminder/localization/hr_HR.inc20
-rw-r--r--plugins/attachment_reminder/localization/km_KH.inc20
-rw-r--r--plugins/attachment_reminder/localization/vi_VN.inc6
-rw-r--r--plugins/database_attachments/database_attachments.php6
-rw-r--r--plugins/filesystem_attachments/filesystem_attachments.php52
-rw-r--r--plugins/help/config.inc.php.dist2
-rw-r--r--plugins/help/localization/el_GR.inc2
-rw-r--r--plugins/help/localization/fo_FO.inc (renamed from program/localization/fy_NL/messages.inc)11
-rw-r--r--plugins/help/localization/hr_HR.inc21
-rw-r--r--plugins/hide_blockquote/localization/fo_FO.inc21
-rw-r--r--plugins/hide_blockquote/localization/hr_HR.inc21
-rw-r--r--plugins/hide_blockquote/localization/km_KH.inc21
-rw-r--r--plugins/http_authentication/http_authentication.php17
-rw-r--r--plugins/jqueryui/jqueryui.php4
-rwxr-xr-xplugins/jqueryui/js/jquery-ui-1.9.1.custom.min.js6
-rwxr-xr-xplugins/jqueryui/js/jquery-ui-1.9.2.custom.min.js7
-rwxr-xr-xplugins/jqueryui/themes/classic/jquery-ui-1.9.2.custom.css (renamed from plugins/jqueryui/themes/classic/jquery-ui-1.9.1.custom.css)4
-rwxr-xr-xplugins/jqueryui/themes/larry/jquery-ui-1.9.2.custom.css (renamed from plugins/jqueryui/themes/larry/jquery-ui-1.9.1.custom.css)54
-rwxr-xr-xplugins/jqueryui/themes/redmond/jquery-ui-1.9.2.custom.css (renamed from plugins/jqueryui/themes/redmond/jquery-ui-1.9.1.custom.css)0
-rw-r--r--plugins/managesieve/Changelog12
-rw-r--r--plugins/managesieve/composer.json2
-rw-r--r--plugins/managesieve/config.inc.php.dist6
-rw-r--r--plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php79
-rw-r--r--plugins/managesieve/lib/Roundcube/rcube_sieve_script.php1
-rw-r--r--plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php303
-rw-r--r--plugins/managesieve/localization/cs_CZ.inc6
-rw-r--r--plugins/managesieve/localization/da_DK.inc7
-rw-r--r--plugins/managesieve/localization/de_DE.inc10
-rw-r--r--plugins/managesieve/localization/en_GB.inc54
-rw-r--r--plugins/managesieve/localization/en_US.inc21
-rw-r--r--plugins/managesieve/localization/eu_ES.inc27
-rw-r--r--plugins/managesieve/localization/fa_IR.inc10
-rw-r--r--plugins/managesieve/localization/gl_ES.inc2
-rw-r--r--plugins/managesieve/localization/he_IL.inc10
-rw-r--r--plugins/managesieve/localization/hr_HR.inc54
-rw-r--r--plugins/managesieve/localization/km_KH.inc119
-rw-r--r--plugins/managesieve/localization/sv_SE.inc6
-rw-r--r--plugins/managesieve/localization/uk_UA.inc25
-rw-r--r--plugins/managesieve/localization/vi_VN.inc38
-rw-r--r--plugins/managesieve/managesieve.js51
-rw-r--r--plugins/managesieve/managesieve.php125
-rw-r--r--plugins/managesieve/package.xml4
-rw-r--r--plugins/managesieve/skins/classic/managesieve.css20
-rw-r--r--plugins/managesieve/skins/classic/managesieve_mail.css2
-rw-r--r--plugins/managesieve/skins/classic/templates/filteredit.html1
-rw-r--r--plugins/managesieve/skins/classic/templates/managesieve.html1
-rw-r--r--plugins/managesieve/skins/classic/templates/setedit.html1
-rw-r--r--plugins/managesieve/skins/classic/templates/vacation.html31
-rw-r--r--plugins/managesieve/skins/larry/images/vacation_icons.pngbin0 -> 767 bytes
-rw-r--r--plugins/managesieve/skins/larry/managesieve.css42
-rw-r--r--plugins/managesieve/skins/larry/managesieve_mail.css2
-rw-r--r--plugins/managesieve/skins/larry/templates/filteredit.html1
-rw-r--r--plugins/managesieve/skins/larry/templates/managesieve.html1
-rw-r--r--plugins/managesieve/skins/larry/templates/setedit.html1
-rw-r--r--plugins/managesieve/skins/larry/templates/vacation.html30
-rw-r--r--plugins/markasjunk/localization/fo_FO.inc21
-rw-r--r--plugins/markasjunk/localization/hr_HR.inc1
-rw-r--r--plugins/markasjunk/localization/km_KH.inc6
-rw-r--r--plugins/markasjunk/localization/uk_UA.inc1
-rw-r--r--plugins/new_user_dialog/localization/fo_FO.inc20
-rw-r--r--plugins/new_user_dialog/localization/km_KH.inc4
-rw-r--r--plugins/newmail_notifier/localization/el_GR.inc1
-rw-r--r--plugins/newmail_notifier/localization/en_GB.inc1
-rw-r--r--plugins/newmail_notifier/localization/eu_ES.inc1
-rw-r--r--plugins/newmail_notifier/localization/fo_FO.inc28
-rw-r--r--plugins/newmail_notifier/localization/he_IL.inc1
-rw-r--r--plugins/newmail_notifier/localization/hr_HR.inc1
-rw-r--r--plugins/newmail_notifier/localization/hy_AM.inc1
-rw-r--r--plugins/newmail_notifier/localization/km_KH.inc13
-rw-r--r--plugins/newmail_notifier/localization/uk_UA.inc1
-rw-r--r--plugins/newmail_notifier/localization/vi_VN.inc11
-rw-r--r--plugins/password/drivers/dbmail.php2
-rw-r--r--plugins/password/drivers/domainfactory.php6
-rw-r--r--plugins/password/drivers/ldap_simple.php4
-rw-r--r--plugins/password/helpers/chgdbmailusers.c3
-rw-r--r--plugins/password/localization/br.inc3
-rw-r--r--plugins/password/localization/fo_FO.inc32
-rw-r--r--plugins/password/localization/km_KH.inc32
-rw-r--r--plugins/password/password.php7
-rw-r--r--plugins/subscriptions_option/localization/fo_FO.inc (renamed from program/localization/ur_PK/messages.inc)9
-rw-r--r--plugins/subscriptions_option/localization/hr_HR.inc19
-rw-r--r--plugins/subscriptions_option/localization/km_KH.inc19
-rw-r--r--plugins/userinfo/localization/fo_FO.inc22
-rw-r--r--plugins/userinfo/localization/km_KH.inc4
-rw-r--r--plugins/vcard_attachments/localization/fo_FO.inc20
-rw-r--r--plugins/vcard_attachments/localization/km_KH.inc4
-rw-r--r--plugins/virtuser_query/virtuser_query.php14
-rw-r--r--plugins/zipdownload/localization/fo_FO.inc20
-rw-r--r--plugins/zipdownload/localization/hr_HR.inc20
-rw-r--r--plugins/zipdownload/localization/hy_AM.inc20
-rw-r--r--program/include/bc.php2
-rw-r--r--program/include/iniset.php4
-rw-r--r--program/include/rcmail.php104
-rw-r--r--program/include/rcmail_html_page.php2
-rw-r--r--program/include/rcmail_output.php2
-rw-r--r--program/include/rcmail_output_html.php14
-rw-r--r--program/include/rcmail_output_json.php2
-rw-r--r--program/include/rcmail_string_replacer.php2
-rw-r--r--program/js/app.js195
-rw-r--r--program/js/common.js12
-rw-r--r--program/js/jquery.min.js6
-rw-r--r--program/js/list.js18
-rw-r--r--program/js/treelist.js16
-rw-r--r--program/lib/Roundcube/bootstrap.php4
-rw-r--r--program/lib/Roundcube/html.php15
-rw-r--r--program/lib/Roundcube/rcube.php58
-rw-r--r--program/lib/Roundcube/rcube_browser.php16
-rw-r--r--program/lib/Roundcube/rcube_config.php14
-rw-r--r--program/lib/Roundcube/rcube_db_mysql.php11
-rw-r--r--program/lib/Roundcube/rcube_html2text.php3
-rw-r--r--program/lib/Roundcube/rcube_imap.php139
-rw-r--r--program/lib/Roundcube/rcube_imap_generic.php103
-rw-r--r--program/lib/Roundcube/rcube_ldap.php14
-rw-r--r--program/lib/Roundcube/rcube_ldap_generic.php6
-rw-r--r--program/lib/Roundcube/rcube_mime.php8
-rw-r--r--program/lib/Roundcube/rcube_plugin_api.php6
-rw-r--r--program/lib/Roundcube/rcube_result_index.php19
-rw-r--r--program/lib/Roundcube/rcube_result_set.php30
-rw-r--r--program/lib/Roundcube/rcube_result_thread.php2
-rw-r--r--program/lib/Roundcube/rcube_smtp.php14
-rw-r--r--program/lib/Roundcube/rcube_storage.php85
-rw-r--r--program/lib/Roundcube/rcube_utils.php12
-rw-r--r--program/lib/Roundcube/rcube_washtml.php10
-rw-r--r--program/localization/ar/labels.inc123
-rw-r--r--program/localization/ar_SA/labels.inc50
-rw-r--r--program/localization/ar_SA/messages.inc27
-rw-r--r--program/localization/ast/messages.inc3
-rw-r--r--program/localization/az_AZ/labels.inc1
-rw-r--r--program/localization/az_AZ/messages.inc5
-rw-r--r--program/localization/be_BE/labels.inc1
-rw-r--r--program/localization/be_BE/messages.inc5
-rw-r--r--program/localization/bg_BG/labels.inc11
-rw-r--r--program/localization/bg_BG/messages.inc7
-rw-r--r--program/localization/bn_BD/messages.inc3
-rw-r--r--program/localization/br/labels.inc23
-rw-r--r--program/localization/br/messages.inc3
-rw-r--r--program/localization/bs_BA/labels.inc1
-rw-r--r--program/localization/bs_BA/messages.inc5
-rw-r--r--program/localization/ca_ES/labels.inc15
-rw-r--r--program/localization/ca_ES/messages.inc5
-rw-r--r--program/localization/cs_CZ/labels.inc1
-rw-r--r--program/localization/cs_CZ/messages.inc3
-rw-r--r--program/localization/cy_GB/labels.inc14
-rw-r--r--program/localization/cy_GB/messages.inc16
-rw-r--r--program/localization/da_DK/labels.inc1
-rw-r--r--program/localization/da_DK/messages.inc3
-rw-r--r--program/localization/de_CH/labels.inc1
-rw-r--r--program/localization/de_CH/messages.inc3
-rw-r--r--program/localization/de_DE/labels.inc16
-rw-r--r--program/localization/de_DE/messages.inc11
-rw-r--r--program/localization/el_GR/labels.inc18
-rw-r--r--program/localization/el_GR/messages.inc202
-rw-r--r--program/localization/en_CA/messages.inc3
-rw-r--r--program/localization/en_GB/labels.inc35
-rw-r--r--program/localization/en_GB/messages.inc20
-rw-r--r--program/localization/en_US/messages.inc6
-rw-r--r--program/localization/eo/messages.inc3
-rw-r--r--program/localization/es_419/messages.inc2
-rw-r--r--program/localization/es_AR/messages.inc3
-rw-r--r--program/localization/es_ES/labels.inc3
-rw-r--r--program/localization/es_ES/messages.inc6
-rw-r--r--program/localization/et_EE/messages.inc3
-rw-r--r--program/localization/eu_ES/labels.inc18
-rw-r--r--program/localization/eu_ES/messages.inc9
-rw-r--r--program/localization/fa_AF/messages.inc3
-rw-r--r--program/localization/fa_IR/labels.inc56
-rw-r--r--program/localization/fa_IR/messages.inc37
-rw-r--r--program/localization/fi_FI/labels.inc1
-rw-r--r--program/localization/fi_FI/messages.inc5
-rw-r--r--program/localization/fo_FO/labels.inc497
-rw-r--r--program/localization/fo_FO/messages.inc177
-rw-r--r--program/localization/fr_FR/labels.inc320
-rw-r--r--program/localization/fr_FR/messages.inc264
-rw-r--r--program/localization/ga_IE/messages.inc3
-rw-r--r--program/localization/gl_ES/messages.inc3
-rw-r--r--program/localization/he_IL/labels.inc18
-rw-r--r--program/localization/he_IL/messages.inc9
-rw-r--r--program/localization/hi_IN/messages.inc3
-rw-r--r--program/localization/hr_HR/labels.inc315
-rw-r--r--program/localization/hr_HR/messages.inc240
-rw-r--r--program/localization/hu_HU/labels.inc1
-rw-r--r--program/localization/hu_HU/messages.inc5
-rw-r--r--program/localization/hy_AM/labels.inc29
-rw-r--r--program/localization/hy_AM/messages.inc3
-rw-r--r--program/localization/ia/messages.inc2
-rw-r--r--program/localization/id_ID/messages.inc3
-rw-r--r--program/localization/index.inc9
-rw-r--r--program/localization/is_IS/messages.inc3
-rw-r--r--program/localization/it_IT/labels.inc1
-rw-r--r--program/localization/it_IT/messages.inc5
-rw-r--r--program/localization/ja_JP/labels.inc1
-rw-r--r--program/localization/ja_JP/messages.inc3
-rw-r--r--program/localization/ka_GE/messages.inc3
-rw-r--r--program/localization/km_KH/labels.inc70
-rw-r--r--program/localization/km_KH/messages.inc31
-rw-r--r--program/localization/kn_IN/labels.inc166
-rw-r--r--program/localization/kn_IN/messages.inc54
-rw-r--r--program/localization/ko_KR/labels.inc24
-rw-r--r--program/localization/ko_KR/messages.inc53
-rw-r--r--program/localization/ku/messages.inc3
-rw-r--r--program/localization/lb_LU/labels.inc11
-rw-r--r--program/localization/lb_LU/messages.inc6
-rw-r--r--program/localization/lt_LT/messages.inc3
-rw-r--r--program/localization/lv_LV/labels.inc6
-rw-r--r--program/localization/lv_LV/messages.inc4
-rw-r--r--program/localization/mk_MK/messages.inc3
-rw-r--r--program/localization/ml_IN/messages.inc2
-rw-r--r--program/localization/mr_IN/messages.inc3
-rw-r--r--program/localization/ms_MY/messages.inc3
-rw-r--r--program/localization/nb_NO/labels.inc26
-rw-r--r--program/localization/nb_NO/messages.inc16
-rw-r--r--program/localization/ne_NP/messages.inc3
-rw-r--r--program/localization/nl_BE/messages.inc3
-rw-r--r--program/localization/nl_NL/labels.inc1
-rw-r--r--program/localization/nl_NL/messages.inc5
-rw-r--r--program/localization/nn_NO/messages.inc3
-rw-r--r--program/localization/pl_PL/labels.inc14
-rw-r--r--program/localization/pl_PL/messages.inc8
-rw-r--r--program/localization/ps/messages.inc3
-rw-r--r--program/localization/pt_BR/labels.inc1
-rw-r--r--program/localization/pt_BR/messages.inc3
-rw-r--r--program/localization/pt_PT/labels.inc1
-rw-r--r--program/localization/pt_PT/messages.inc3
-rw-r--r--program/localization/ro_RO/labels.inc14
-rw-r--r--program/localization/ro_RO/messages.inc4
-rw-r--r--program/localization/ru_RU/labels.inc1
-rw-r--r--program/localization/ru_RU/messages.inc5
-rw-r--r--program/localization/si_LK/messages.inc3
-rw-r--r--program/localization/sk_SK/csv2vcard.inc9
-rw-r--r--program/localization/sk_SK/labels.inc179
-rw-r--r--program/localization/sk_SK/messages.inc65
-rw-r--r--program/localization/sl_SI/labels.inc8
-rw-r--r--program/localization/sl_SI/messages.inc4
-rw-r--r--program/localization/sq_AL/messages.inc3
-rw-r--r--program/localization/sr_CS/messages.inc3
-rw-r--r--program/localization/sv_SE/labels.inc39
-rw-r--r--program/localization/sv_SE/messages.inc125
-rw-r--r--program/localization/ta_IN/messages.inc3
-rw-r--r--program/localization/th_TH/messages.inc3
-rw-r--r--program/localization/ti/labels.inc62
-rw-r--r--program/localization/ti/messages.inc24
-rw-r--r--program/localization/tr_TR/labels.inc1
-rw-r--r--program/localization/tr_TR/messages.inc51
-rw-r--r--program/localization/uk_UA/messages.inc5
-rw-r--r--program/localization/vi_VN/labels.inc33
-rw-r--r--program/localization/vi_VN/messages.inc20
-rw-r--r--program/localization/zh_CN/labels.inc23
-rw-r--r--program/localization/zh_CN/messages.inc9
-rw-r--r--program/localization/zh_TW/labels.inc72
-rw-r--r--program/localization/zh_TW/messages.inc19
-rw-r--r--program/steps/addressbook/func.inc2
-rw-r--r--program/steps/addressbook/import.inc7
-rw-r--r--program/steps/mail/autocomplete.inc5
-rw-r--r--program/steps/mail/compose.inc101
-rw-r--r--program/steps/mail/func.inc60
-rw-r--r--program/steps/mail/import.inc4
-rw-r--r--program/steps/mail/list_contacts.inc48
-rw-r--r--program/steps/mail/search.inc1
-rw-r--r--program/steps/mail/search_contacts.inc12
-rw-r--r--program/steps/mail/sendmail.inc2
-rw-r--r--program/steps/settings/edit_folder.inc1
-rw-r--r--program/steps/settings/edit_response.inc2
-rw-r--r--program/steps/settings/folders.inc23
-rw-r--r--program/steps/settings/func.inc28
-rw-r--r--program/steps/settings/responses.inc2
-rw-r--r--program/steps/settings/save_prefs.inc28
-rw-r--r--program/steps/utils/modcss.inc54
-rw-r--r--skins/classic/addressbook.css43
-rw-r--r--skins/classic/common.css86
-rw-r--r--skins/classic/images/mail_toolbar.pngbin39276 -> 42883 bytes
-rw-r--r--skins/classic/images/messageactions.gifbin1916 -> 2097 bytes
-rw-r--r--skins/classic/images/messageactions.pngbin2211 -> 3223 bytes
-rw-r--r--skins/classic/includes/messagetoolbar.html8
-rw-r--r--skins/classic/mail.css78
-rw-r--r--skins/classic/templates/login.html6
-rw-r--r--skins/larry/addressbook.css17
-rw-r--r--skins/larry/images/buttons.pngbin38715 -> 39327 bytes
-rw-r--r--skins/larry/images/listicons.pngbin29713 -> 29530 bytes
-rw-r--r--skins/larry/includes/mailtoolbar.html1
-rw-r--r--skins/larry/mail.css36
-rw-r--r--skins/larry/settings.css5
-rw-r--r--skins/larry/styles.css86
-rw-r--r--skins/larry/templates/addressbook.html21
-rw-r--r--skins/larry/templates/compose.html4
-rw-r--r--skins/larry/templates/login.html6
-rw-r--r--skins/larry/templates/mail.html40
-rw-r--r--skins/larry/templates/message.html8
-rw-r--r--skins/larry/templates/messageerror.html4
-rw-r--r--skins/larry/templates/messagepart.html3
-rw-r--r--skins/larry/ui.js21
-rw-r--r--tests/Framework/Browser.php19
-rw-r--r--tests/Framework/CacheShared.php20
-rw-r--r--tests/Framework/Contacts.php20
-rw-r--r--tests/Framework/DB.php20
-rw-r--r--tests/Framework/Html.php57
-rw-r--r--tests/Framework/ImapCache.php20
-rw-r--r--tests/Framework/LdapGeneric.php20
-rw-r--r--tests/Framework/Mime.php5
-rw-r--r--tests/Framework/ResultIndex.php47
-rw-r--r--tests/Framework/ResultThread.php2
-rw-r--r--tests/Framework/SpellcheckAtd.php21
-rw-r--r--tests/Framework/SpellcheckEnchant.php21
-rw-r--r--tests/Framework/SpellcheckGoogie.php21
-rw-r--r--tests/Framework/SpellcheckPspell.php21
-rw-r--r--tests/Framework/Utils.php28
-rw-r--r--tests/Framework/Washtml.php14
-rw-r--r--tests/phpunit.xml9
360 files changed, 6819 insertions, 2088 deletions
diff --git a/.tx/config b/.tx/config
index e183fb999..0608373ad 100644
--- a/.tx/config
+++ b/.tx/config
@@ -1,6 +1,6 @@
[main]
host = https://www.transifex.com
-lang_map = be: be_BE, sr: sr_CS, fa: fa_AF, lb: lb_LU
+lang_map = be: be_BE, sr: sr_CS, fa: fa_AF, lb: lb_LU, fr: fr_FR
type = PHP_ALT_ARRAY
[roundcube-webmail.labels]
diff --git a/CHANGELOG b/CHANGELOG
index 6beb463d7..75e2b69ec 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,38 @@
CHANGELOG Roundcube Webmail
===========================
+- Improve UI integration of ACL settings
+- Drop support for PHP < 5.3.7
+- Set In-Reply-To and References for forwarded messages (#1489593)
+- Removed redundant default_folders config option (#1489737)
+- Implemented IMAP SPECIAL-USE extension support [RFC6154] (#1487830)
+
+RELEASE 1.0.0
+-------------
+- Added toolbar button to move message in message view
+- Fix style of disabled protocol handler link on IE (#1489569)
+- Fix message import dialog when no file is selected (#1489685)
+- Fix opening compose screen in new window after saving as draft (#1489643)
+- Fix directories check in Installer on Windows (#1489576)
+- Fix issue when default_addressbook option is set to integer value (#1489407)
+- Fix Opera > 15 detection (#1489562)
+- Fix security issue in DomainFactory driver of Password plugin
+- Fix invalid X-Draft-Info on forwarded message draft (#1489587)
+- Fix regression in handling of 'attachments' result in message_compose hook (#1489627)
+- Fix issue where msgexport.sh printed the message to STDOUT instead of a file (#1489634)
+- Fix fatal error in database_attachments plugin under some conditions (#1489726)
+
+RELEASE 1.0-rc
+--------------
+- Small CSS fix with message notice boxes in Larry skin (#1489497)
+- Include groups in contacts search on mail compose (#1489082)
+- Add mime-type mapping for .7z files (#1489512)
+- Invoke update scripts with php to circumvent execution restrictions (#1489322)
+- Fix drag & drop message/contact moving on touch device (#1489431)
+- Fix canned responses in HTML mode (#1489536)
+- Check/create default folders on every login not only the first (#1489423)
+- Update to jQuery-1.11.0 and jQuery-UI-1.9.2
+- Support SMTP socket context options via new config option 'smtp_conn_options'
- Fix compatibility with PHP 5.2 in html.php file (#1489514)
- Remove expand/collapse with plus/minus keys (on numeric keypad) (#1489513)
- Fix issue where filesystem path was added to all-attachments (zip) file (#1489507)
diff --git a/INSTALL b/INSTALL
index 4671d80d9..7bc0b8822 100644
--- a/INSTALL
+++ b/INSTALL
@@ -11,10 +11,9 @@ REQUIREMENTS
* The Apache, Lighttpd, Cherokee or Hiawatha web server
* .htaccess support allowing overrides for DirectoryIndex
-* PHP Version 5.2.1 or greater including
+* PHP Version 5.3.7 or greater including
- PCRE, DOM, JSON, XML, Session, Sockets (required)
- PHP Data Objects (PDO) with driver for either MySQL, PostgreSQL or SQLite (required)
- Note: MySQL database driver requires PHP 5.3 or newer.
- Libiconv, Zip (recommended)
- Fileinfo, Mcrypt, mbstring (optional)
* PEAR packages distributed with Roundcube or external:
diff --git a/bin/installto.sh b/bin/installto.sh
index 269a5dc06..fbd951bdf 100755
--- a/bin/installto.sh
+++ b/bin/installto.sh
@@ -71,7 +71,7 @@ if (strtolower($input) == 'y') {
if (!$err) {
echo "Running update script at target...\n";
- system("cd $target_dir && bin/update.sh --version=$oldversion");
+ system("cd $target_dir && php bin/update.sh --version=$oldversion");
echo "All done.\n";
}
}
diff --git a/bin/makedoc.sh b/bin/makedoc.sh
index 2a34254cb..3602c3a65 100755
--- a/bin/makedoc.sh
+++ b/bin/makedoc.sh
@@ -1,7 +1,7 @@
#!/bin/sh
TITLE="Roundcube Webmail"
-PACKAGES="Core"
+PACKAGES="Webmail"
INSTALL_PATH="`dirname $0`/.."
PATH_PROJECT=$INSTALL_PATH/program/include
@@ -16,11 +16,9 @@ then
fi
OUTPUTFORMAT=HTML
-CONVERTER=frames
-TEMPLATE=earthli
-PRIVATE=off
+TEMPLATE=responsive-twig
# make documentation
-$BIN_PHPDOC -d $PATH_PROJECT,$PATH_FRAMEWORK -t $PATH_DOCS -ti "$TITLE" -dn $PACKAGES \
--o $OUTPUTFORMAT:$CONVERTER:$TEMPLATE -pp $PRIVATE
+$BIN_PHPDOC -d $PATH_PROJECT,$PATH_FRAMEWORK -t $PATH_DOCS --title "$TITLE" --defaultpackagename $PACKAGES \
+ --template=$TEMPLATE
diff --git a/bin/msgexport.sh b/bin/msgexport.sh
index e98e5fee2..f68688b67 100755
--- a/bin/msgexport.sh
+++ b/bin/msgexport.sh
@@ -58,7 +58,7 @@ function export_mailbox($mbox, $filename)
$from = current(rcube_mime::decode_address_list($headers->from, 1, false));
fwrite($out, sprintf("From %s %s UID %d\n", $from['mailto'], $headers->date, $headers->uid));
- fwrite($out, $IMAP->print_raw_body($headers->uid));
+ $IMAP->get_raw_body($headers->uid, $out);
fwrite($out, "\n\n\n");
progress_update($i+1, $count);
diff --git a/bin/transifexpull.sh b/bin/transifexpull.sh
index ba26a07f1..7415c02fd 100755
--- a/bin/transifexpull.sh
+++ b/bin/transifexpull.sh
@@ -36,3 +36,9 @@ done
for file in $PWD/../plugins/*/localization/*.inc; do
do_clean $file
done
+
+# remove empty localization files
+for file in $PWD/../program/localization/*/labels.inc; do grep -q -E '\$labels' $file || rm $file; done
+for file in $PWD/../program/localization/*/messages.inc; do grep -q -E '\$messages' $file || rm $file; done
+for file in $PWD/../plugins/*/localization/*.inc; do grep -q -E '\$(labels|messages)' $file || rm $file; done
+
diff --git a/bin/update.sh b/bin/update.sh
index 8bfb9d603..d35e1eb0d 100755
--- a/bin/update.sh
+++ b/bin/update.sh
@@ -147,7 +147,7 @@ if ($RCI->configured) {
// check file type detection
if ($RCI->check_mime_detection()) {
echo "WARNING: File type detection doesn't work properly!\n";
- echo "Please check the 'mime_magic' config option or the finfo functions of PHP andrun this script again.\n";
+ echo "Please check the 'mime_magic' config option or the finfo functions of PHP and run this script again.\n";
}
if ($RCI->check_mime_extensions()) {
echo "WARNING: Mimetype to file extension mapping doesn't work properly!\n";
@@ -157,7 +157,7 @@ if ($RCI->configured) {
// check database schema
if ($RCI->config['db_dsnw']) {
echo "Executing database schema update.\n";
- system(INSTALL_PATH . "bin/updatedb.sh --package=roundcube --version=" . $opts['version']
+ system("php " . INSTALL_PATH . "bin/updatedb.sh --package=roundcube --version=" . $opts['version']
. " --dir=" . INSTALL_PATH . DIRECTORY_SEPARATOR . "SQL", $res);
$success = !$res;
@@ -165,7 +165,7 @@ if ($RCI->configured) {
// index contacts for fulltext searching
if ($opts['version'] && version_compare(version_parse($opts['version']), '0.6.0', '<')) {
- system(INSTALL_PATH . 'bin/indexcontacts.sh');
+ system("php " . INSTALL_PATH . 'bin/indexcontacts.sh');
}
if ($success) {
diff --git a/config/defaults.inc.php b/config/defaults.inc.php
index b1e3bc85e..5c5fccb1e 100644
--- a/config/defaults.inc.php
+++ b/config/defaults.inc.php
@@ -235,6 +235,19 @@ $config['smtp_helo_host'] = '';
// timeout > 0 causes connection errors (https://bugs.php.net/bug.php?id=54511)
$config['smtp_timeout'] = 0;
+// SMTP socket context options
+// See http://php.net/manual/en/context.ssl.php
+// The example below enables server certificate validation, and
+// requires 'smtp_timeout' to be non zero.
+// $config['smtp_conn_options'] = array(
+// 'ssl' => array(
+// 'verify_peer' => true,
+// 'verify_depth => 3,
+// 'cafile' => '/etc/openssl/certs/ca.crt',
+// ),
+// );
+$config['smtp_conn_options'] = null;
+
// ----------------------------------
// LDAP
// ----------------------------------
@@ -548,20 +561,15 @@ $config['sent_mbox'] = 'Sent';
// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
$config['trash_mbox'] = 'Trash';
-// display these folders separately in the mailbox list.
-// these folders will also be displayed with localized names
-// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
-$config['default_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');
-
-// Disable localization of the default folder names listed above
-$config['show_real_foldernames'] = false;
-
// automatically create the above listed default folders on first login
$config['create_default_folders'] = false;
// protect the default folders from renames, deletes, and subscription changes
$config['protect_default_folders'] = true;
+// Disable localization of the default folder names listed above
+$config['show_real_foldernames'] = false;
+
// if in your system 0 quota means no limit set this option to true
$config['quota_zero_as_unlimited'] = false;
diff --git a/config/mimetypes.php b/config/mimetypes.php
index 7665df3e9..5fe3467be 100644
--- a/config/mimetypes.php
+++ b/config/mimetypes.php
@@ -49,6 +49,8 @@ return array(
'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'xps' => 'application/vnd.ms-xpsdocument',
'rar' => 'application/x-rar-compressed',
+ '7z' => 'application/x-7z-compressed',
+ 's7z' => 'application/x-7z-compressed',
'vcf' => 'text/vcard',
'ics' => 'text/calendar',
);
diff --git a/index.php b/index.php
index 7adb0beb0..239dc004f 100644
--- a/index.php
+++ b/index.php
@@ -2,9 +2,9 @@
/*
+-------------------------------------------------------------------------+
| Roundcube Webmail IMAP Client |
- | Version 1.0-git |
+ | Version 1.1-git |
| |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| This program is free software: you can redistribute it and/or modify |
| it under the terms of the GNU General Public License (with exceptions |
@@ -207,6 +207,15 @@ if (empty($RCMAIL->user->ID)) {
$session_error = true;
}
+ if ($session_error || $_REQUEST['_err'] == 'session') {
+ $OUTPUT->show_message('sessionerror', 'error', null, true, -1);
+ }
+
+ if ($OUTPUT->ajax_call || !empty($_REQUEST['_framed'])) {
+ $OUTPUT->command('session_error', $RCMAIL->url(array('_err' => 'session')));
+ $OUTPUT->send('iframe');
+ }
+
// check if installer is still active
if ($RCMAIL->config->get('enable_installer') && is_readable('./installer/index.php')) {
$OUTPUT->add_footer(html::div(array('style' => "background:#ef9398; border:2px solid #dc5757; padding:0.5em; margin:2em auto; width:50em"),
@@ -218,15 +227,6 @@ if (empty($RCMAIL->user->ID)) {
));
}
- if ($session_error || $_REQUEST['_err'] == 'session') {
- $OUTPUT->show_message('sessionerror', 'error', null, true, -1);
- }
-
- if ($OUTPUT->ajax_call || !empty($_REQUEST['_framed'])) {
- $OUTPUT->command('session_error', $RCMAIL->url(array('_err' => 'session')));
- $OUTPUT->send('iframe');
- }
-
$plugin = $RCMAIL->plugins->exec_hook('unauthenticated', array('task' => 'login', 'error' => $session_error));
$RCMAIL->set_task($plugin['task']);
diff --git a/installer/check.php b/installer/check.php
index ee0c9f367..d4c3f6685 100644
--- a/installer/check.php
+++ b/installer/check.php
@@ -83,7 +83,7 @@ echo '<input type="hidden" name="_step" value="' . ($RCI->configured ? 3 : 2) .
<h3>Checking PHP version</h3>
<?php
-define('MIN_PHP_VERSION', '5.2.1');
+define('MIN_PHP_VERSION', '5.3.7');
if (version_compare(PHP_VERSION, MIN_PHP_VERSION, '>=')) {
$RCI->pass('Version', 'PHP ' . PHP_VERSION . ' detected');
} else {
@@ -138,14 +138,8 @@ foreach ($optional_php_exts as $name => $ext) {
$prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
foreach ($RCI->supported_dbs as $database => $ext) {
if (extension_loaded($ext)) {
- // MySQL driver requires PHP >= 5.3 (#1488875)
- if ($ext == 'pdo_mysql' && version_compare(PHP_VERSION, '5.3.0', '<')) {
- $RCI->fail($database, 'PHP >= 5.3 required', null, true);
- }
- else {
- $RCI->pass($database);
- $found_db_driver = true;
- }
+ $RCI->pass($database);
+ $found_db_driver = true;
}
else {
$_ext = $ext_dir . '/' . $prefix . $ext . '.' . PHP_SHLIB_SUFFIX;
diff --git a/installer/rcube_install.php b/installer/rcube_install.php
index 2fae3c5ca..b047156b5 100644
--- a/installer/rcube_install.php
+++ b/installer/rcube_install.php
@@ -42,7 +42,6 @@ class rcube_install
'addrbook_show_images' => 'show_images',
'imap_root' => 'imap_ns_personal',
'pagesize' => 'mail_pagesize',
- 'default_imap_folders' => 'default_folders',
'top_posting' => 'reply_mode',
'keep_alive' => 'refresh_interval',
'min_keep_alive' => 'min_refresh_interval',
@@ -228,19 +227,6 @@ class rcube_install
else if ($prop == 'smtp_pass' && !empty($_POST['_smtp_user_u'])) {
$value = '%p';
}
- else if ($prop == 'default_folders') {
- $value = array();
- foreach ($this->config['default_folders'] as $_folder) {
- switch ($_folder) {
- case 'Drafts': $_folder = $this->config['drafts_mbox']; break;
- case 'Sent': $_folder = $this->config['sent_mbox']; break;
- case 'Junk': $_folder = $this->config['junk_mbox']; break;
- case 'Trash': $_folder = $this->config['trash_mbox']; break;
- }
- if (!in_array($_folder, $value))
- $value[] = $_folder;
- }
- }
else if (is_bool($default)) {
$value = (bool)$value;
}
diff --git a/installer/test.php b/installer/test.php
index f834308ad..5d28d5f57 100644
--- a/installer/test.php
+++ b/installer/test.php
@@ -91,7 +91,7 @@ if ($RCI->config['log_driver'] != 'syslog')
$dirs[] = $RCI->config['log_dir'] ? $RCI->config['log_dir'] : 'logs';
foreach ($dirs as $dir) {
- $dirpath = $dir[0] == '/' ? $dir : INSTALL_PATH . $dir;
+ $dirpath = rcube_utils::is_absolute_path($dir) ? $dir : INSTALL_PATH . $dir;
if (is_writable(realpath($dirpath))) {
$RCI->pass($dir);
$pass = true;
diff --git a/plugins/acl/acl.js b/plugins/acl/acl.js
index d6934780f..acea60a4c 100644
--- a/plugins/acl/acl.js
+++ b/plugins/acl/acl.js
@@ -11,9 +11,16 @@ if (window.rcmail) {
rcmail.acl_list_init();
// enable autocomplete on user input
if (rcmail.env.acl_users_source) {
- rcmail.init_address_input_events($('#acluser'), {action:'settings/plugin.acl-autocomplete'});
+ var inst = rcmail.is_framed() ? parent.rcmail : rcmail;
+ inst.init_address_input_events($('#acluser'), {action:'settings/plugin.acl-autocomplete'});
+
+ // pass config settings and localized texts to autocomplete context
+ inst.set_env({ autocomplete_max:rcmail.env.autocomplete_max, autocomplete_min_length:rcmail.env.autocomplete_min_length });
+ inst.add_label('autocompletechars', rcmail.labels.autocompletechars);
+ inst.add_label('autocompletemore', rcmail.labels.autocompletemore);
+
// fix inserted value
- rcmail.addEventListener('autocomplete_insert', function(e) {
+ inst.addEventListener('autocomplete_insert', function(e) {
if (e.field.id != 'acluser')
return;
@@ -64,14 +71,14 @@ rcube_webmail.prototype.acl_delete = function()
// Save ACL data
rcube_webmail.prototype.acl_save = function()
{
- var user = $('#acluser').val(), rights = '', type;
+ var user = $('#acluser', this.acl_form).val(), rights = '', type;
- $(':checkbox', this.env.acl_advanced ? $('#advancedrights') : sim_ul = $('#simplerights')).map(function() {
+ $((this.env.acl_advanced ? '#advancedrights :checkbox' : '#simplerights :checkbox'), this.acl_form).map(function() {
if (this.checked)
rights += this.value;
});
- if (type = $('input:checked[name=usertype]').val()) {
+ if (type = $('input:checked[name=usertype]', this.acl_form).val()) {
if (type != 'user')
user = type;
}
@@ -97,7 +104,7 @@ rcube_webmail.prototype.acl_save = function()
rcube_webmail.prototype.acl_cancel = function()
{
this.ksearch_blur();
- this.acl_form.hide();
+ this.acl_popup.dialog('close');
}
// Update data after save (and hide form)
@@ -115,7 +122,7 @@ rcube_webmail.prototype.acl_update = function(o)
// hide autocomplete popup
this.ksearch_blur();
// hide form
- this.acl_form.hide();
+ this.acl_popup.dialog('close');
}
// Switch table display mode
@@ -132,7 +139,9 @@ rcube_webmail.prototype.acl_mode_switch = function(elem)
// ACL table initialization
rcube_webmail.prototype.acl_list_init = function()
{
- $('#acl-switch')[this.env.acl_advanced ? 'addClass' : 'removeClass']('selected');
+ var method = this.env.acl_advanced ? 'addClass' : 'removeClass';
+ $('#acl-switch')[method]('selected');
+ $(this.gui_objects.acltable)[method]('advanced');
this.acl_list = new rcube_list_widget(this.gui_objects.acltable,
{multiselect:true, draggable:false, keyboard:true, toggleselect:true});
@@ -300,7 +309,6 @@ rcube_webmail.prototype.acl_init_form = function(id)
if (id && (row = this.acl_list.rows[id])) {
row = row.obj;
li_elements.map(function() {
- val = this.value;
td = $('td.'+this.id, row);
if (td.length && td.hasClass('enabled'))
this.checked = true;
@@ -312,22 +320,38 @@ rcube_webmail.prototype.acl_init_form = function(id)
type = id;
}
// mark read (lrs) rights by default
- else
+ else {
li_elements.filter(function() { return this.id.match(/^acl([lrs]|read)$/); }).prop('checked', true);
+ }
name_input.val(val);
$('input[value='+type+']').prop('checked', true);
this.acl_id = id;
- // position the form horizontally
- var bw = body.width(), mw = this.acl_form.width();
+ var me = this, inst = window.rcmail, body = document.body;
+ var buttons = {};
+ buttons[rcmail.gettext('save')] = function(e) { inst.command('acl-save'); };
+ buttons[rcmail.gettext('cancel')] = function(e) { inst.command('acl-cancel'); };
+
+ // display it as popup
+ this.acl_popup = rcmail.show_popup_dialog(
+ '<div style="width:480px;height:280px">&nbsp;</div>',
+ id ? rcmail.gettext('acl.editperms') : rcmail.gettext('acl.newuser'),
+ buttons,
+ {
+ modal: true,
+ closeOnEscape: false,
+ close: function(e, ui) {
+ (rcmail.is_framed() ? parent.rcmail : rcmail).ksearch_hide();
+ me.acl_form.appendTo(body).hide();
+ $(this).remove();
+ }
+ }
+ );
- if (bw >= mw)
- this.acl_form.css({left: parseInt((bw - mw)/2)+'px'});
+ this.acl_form.appendTo(this.acl_popup).show();
- // display it
- this.acl_form.show();
if (type == 'user')
name_input.focus();
diff --git a/plugins/acl/acl.php b/plugins/acl/acl.php
index 203340bdb..d7e50f978 100644
--- a/plugins/acl/acl.php
+++ b/plugins/acl/acl.php
@@ -150,7 +150,8 @@ class acl extends rcube_plugin
$this->load_config();
$this->specials = $this->rc->config->get('acl_specials', $this->specials);
$this->add_texts('localization/', array('deleteconfirm', 'norights',
- 'nouser', 'deleting', 'saving'));
+ 'nouser', 'deleting', 'saving', 'newuser', 'editperms'));
+ $this->rc->output->add_label('save', 'cancel');
$this->include_script('acl.js');
$this->rc->output->include_script('list.js');
$this->include_stylesheet($this->local_skin_path().'/acl.css');
@@ -307,7 +308,7 @@ class acl extends rcube_plugin
. $val);
}
- $out = html::tag('ul', array('id' => 'usertype'), $ul, html::$common_attrib);
+ $out = html::tag('ul', array('id' => 'usertype', 'class' => $attrib['class']), $ul, html::$common_attrib);
}
// Display text input alone
else {
diff --git a/plugins/acl/composer.json b/plugins/acl/composer.json
index 6c08130e0..923b0ae7e 100644
--- a/plugins/acl/composer.json
+++ b/plugins/acl/composer.json
@@ -3,7 +3,7 @@
"type": "roundcube-plugin",
"description": "IMAP Folders Access Control Lists Management (RFC4314, RFC2086).",
"license": "GNU GPLv3+",
- "version": "1.2",
+ "version": "1.3",
"authors": [
{
"name": "Aleksander Machniak",
diff --git a/plugins/acl/localization/ar_SA.inc b/plugins/acl/localization/ar_SA.inc
new file mode 100644
index 000000000..ef6cddba6
--- /dev/null
+++ b/plugins/acl/localization/ar_SA.inc
@@ -0,0 +1,91 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/acl/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail ACL plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
+*/
+$labels['sharing'] = 'مشاركة';
+$labels['myrights'] = 'حقوق الوصول';
+$labels['username'] = 'مستخدم:';
+$labels['advanced'] = 'وضع متقدم';
+$labels['newuser'] = 'اضاÙØ© مدخل';
+$labels['editperms'] = 'تعديل الصلاحيات';
+$labels['actions'] = 'اجراءات حقوق الوصول...';
+$labels['anyone'] = 'كل المستخدمين(اي شخص)';
+$labels['anonymous'] = 'ضي٠(مجهول)';
+$labels['identifier'] = 'معرÙ';
+$labels['acll'] = 'بحث';
+$labels['aclr'] = 'قراءة الرسائل';
+$labels['acls'] = 'ابقاء حالة الزيارة';
+$labels['aclw'] = 'اكتب رمز';
+$labels['acli'] = 'ادخل (نسخ الى)';
+$labels['aclp'] = 'نشر';
+$labels['aclc'] = 'إنشاء مجلدات Ùرعية';
+$labels['aclk'] = 'إنشاء مجلدات Ùرعية';
+$labels['acld'] = 'حذ٠الرسائل';
+$labels['aclt'] = 'حذ٠الرسائل';
+$labels['acle'] = 'Ø­ÙØ°Ù';
+$labels['aclx'] = 'حذ٠المجلد';
+$labels['acla'] = 'ادارة';
+$labels['aclfull'] = 'تحكم كامل';
+$labels['aclother'] = 'اخرى';
+$labels['aclread'] = 'قراءة ';
+$labels['aclwrite'] = 'كتابة';
+$labels['acldelete'] = 'حذÙ';
+$labels['shortacll'] = 'بحث';
+$labels['shortaclr'] = 'قراءة ';
+$labels['shortacls'] = 'ابقاء';
+$labels['shortaclw'] = 'قراءة';
+$labels['shortacli'] = 'ادراج';
+$labels['shortaclp'] = 'نشر';
+$labels['shortaclc'] = 'أنشئ';
+$labels['shortaclk'] = 'أنشئ';
+$labels['shortacld'] = 'حذÙ';
+$labels['shortaclt'] = 'حذÙ';
+$labels['shortacle'] = 'Ø­ÙØ°Ù';
+$labels['shortaclx'] = 'حذ٠المجلد';
+$labels['shortacla'] = 'ادارة';
+$labels['shortaclother'] = 'اخرى';
+$labels['shortaclread'] = 'قراءة ';
+$labels['shortaclwrite'] = 'كتابة';
+$labels['shortacldelete'] = 'حذÙ';
+$labels['longacll'] = 'المجلد مرئي ÙÙŠ القائمة وبالامكان ايضا الاشتراك';
+$labels['longaclr'] = 'من الممكن Ùتح المجلد للقراءة';
+$labels['longacls'] = 'وسم الزيارة ÙÙŠ الرسائل بالامكان تغييره';
+$labels['longaclw'] = 'وسم والكلمات الرئيسية ÙÙŠ الرسائل يمكن تغييره, ماعدا الزيارة والحذ٠';
+$labels['longacli'] = 'بالامكان كتابة الرسائل ونسخها الى هذا المجلد';
+$labels['longaclp'] = 'بالامكان نشر الرسائل الى هذ المجلد';
+$labels['longaclc'] = 'بالامكان انشاء المجلدات ( او اعادة التسمية ) مباشرة تحت هذا المجلد';
+$labels['longaclk'] = 'بالامكان انشاء المجلدات ( او اعادة التسمية ) مباشرة تحت هذا المجلد';
+$labels['longacld'] = 'حذ٠وسم الرسائل من الممكن تغييرة';
+$labels['longaclt'] = 'حذ٠وسم الرسائل من الممكن تغييرة';
+$labels['longacle'] = 'بالامكان شطب الرسائل';
+$labels['longaclx'] = 'هذا المجلد بالامكان حذÙØ© او اعادة تسميته';
+$labels['longacla'] = 'حقوق الوصول لهذا المجلد بالامكان تغييره';
+$labels['longaclfull'] = 'التحكم الكامل يتضمن ادارة المجلدات';
+$labels['longaclread'] = 'من الممكن Ùتح المجلد للقراءة';
+$labels['longaclwrite'] = 'لا يمكن وضع علامة على الرسائل, كتبت او نسخة الى هذا المجلد';
+$labels['longacldelete'] = 'لا يمكن حذ٠الرسائل';
+$messages['deleting'] = 'جاري حذ٠حقوق الوصول...';
+$messages['saving'] = 'جاري Ø­Ùظ حقوق الوصول...';
+$messages['updatesuccess'] = 'تم تغيير حقوق الوصول بنجاح';
+$messages['deletesuccess'] = 'تم حذ٠حقوق الوصول بنجاح';
+$messages['createsuccess'] = 'تم اضاÙØ© حقوق الوصول بنجاح';
+$messages['updateerror'] = 'لا يمكن تحديث حقوق الوصول';
+$messages['deleteerror'] = 'لا يمكن حذ٠حقوق الوصول';
+$messages['createerror'] = 'لا يمكن اضاÙØ© حقوق الوصول';
+$messages['deleteconfirm'] = 'هل تريد Ùعلاً حذ٠حقوق الوصول لـ المستخدمين المحددين ØŸ';
+$messages['norights'] = 'لم يتم تحديد حقوق وصول!';
+$messages['nouser'] = 'لم يتم تحديد اسم مستخدم!';
+?>
diff --git a/plugins/acl/localization/br.inc b/plugins/acl/localization/br.inc
new file mode 100644
index 000000000..b3ae1c79f
--- /dev/null
+++ b/plugins/acl/localization/br.inc
@@ -0,0 +1,48 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/acl/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail ACL plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
+*/
+$labels['sharing'] = 'Rannañ';
+$labels['myrights'] = 'Aotreoù mont e-barzh';
+$labels['username'] = 'Implijer:';
+$labels['newuser'] = 'Ouzhpenan un enporzh';
+$labels['actions'] = 'Aotreoù mont e-barzh';
+$labels['anyone'] = 'An holl implijerien (neb hini)';
+$labels['anonymous'] = 'pedet (dizanv)';
+$labels['aclr'] = 'Kemennadoù lennet';
+$labels['aclc'] = 'Krouiñ isrenkelloù';
+$labels['aclk'] = 'Krouiñ isrenkelloù';
+$labels['acld'] = 'Dilemel kemennadoù';
+$labels['aclt'] = 'Dilemel kemennadoù';
+$labels['aclx'] = 'Dilemel ar renkell';
+$labels['aclread'] = 'Lennet';
+$labels['aclwrite'] = 'Skrivañ';
+$labels['acldelete'] = 'Dilemel';
+$labels['shortaclr'] = 'Lenn';
+$labels['shortacls'] = 'Gwarezin';
+$labels['shortaclw'] = 'Skrivañ';
+$labels['shortacli'] = 'Enlakaat';
+$labels['shortaclc'] = 'Krouiñ';
+$labels['shortaclk'] = 'Krouiñ';
+$labels['shortacld'] = 'Dilemel';
+$labels['shortaclt'] = 'Dilemel';
+$labels['shortacle'] = 'Dilemel pep tra';
+$labels['shortaclx'] = 'Dilemel ar renkell';
+$labels['shortaclother'] = 'traoù all';
+$labels['shortaclread'] = 'Lenn';
+$labels['shortaclwrite'] = 'Skrivañ';
+$labels['shortacldelete'] = 'Dilemel';
+?>
diff --git a/plugins/acl/localization/en_CA.inc b/plugins/acl/localization/en_CA.inc
index 2dd7e4ec0..53d14ff9a 100644
--- a/plugins/acl/localization/en_CA.inc
+++ b/plugins/acl/localization/en_CA.inc
@@ -18,7 +18,6 @@
$labels['sharing'] = 'Sharing';
$labels['myrights'] = 'Access Rights';
$labels['username'] = 'User:';
-$labels['advanced'] = 'advanced mode';
$labels['newuser'] = 'Add entry';
$labels['actions'] = 'Access right actions...';
$labels['anyone'] = 'All users (anyone)';
diff --git a/plugins/acl/localization/en_GB.inc b/plugins/acl/localization/en_GB.inc
index 16616c746..cf8156ba5 100644
--- a/plugins/acl/localization/en_GB.inc
+++ b/plugins/acl/localization/en_GB.inc
@@ -81,6 +81,7 @@ $messages['saving'] = 'Saving access rights...';
$messages['updatesuccess'] = 'Successfully changed access rights';
$messages['deletesuccess'] = 'Successfully deleted access rights';
$messages['createsuccess'] = 'Successfully added access rights';
+$messages['updateerror'] = 'Unable to update access rights';
$messages['deleteerror'] = 'Unable to delete access rights';
$messages['createerror'] = 'Unable to add access rights';
$messages['deleteconfirm'] = 'Are you sure, you want to remove access rights of selected user(s)?';
diff --git a/plugins/acl/localization/en_US.inc b/plugins/acl/localization/en_US.inc
index 3c61266be..23501dafe 100644
--- a/plugins/acl/localization/en_US.inc
+++ b/plugins/acl/localization/en_US.inc
@@ -19,8 +19,9 @@
$labels['sharing'] = 'Sharing';
$labels['myrights'] = 'Access Rights';
$labels['username'] = 'User:';
-$labels['advanced'] = 'advanced mode';
+$labels['advanced'] = 'Advanced mode';
$labels['newuser'] = 'Add entry';
+$labels['editperms'] = 'Edit permissions';
$labels['actions'] = 'Access right actions...';
$labels['anyone'] = 'All users (anyone)';
$labels['anonymous'] = 'Guests (anonymous)';
@@ -39,6 +40,7 @@ $labels['aclt'] = 'Delete messages';
$labels['acle'] = 'Expunge';
$labels['aclx'] = 'Delete folder';
$labels['acla'] = 'Administer';
+$labels['acln'] = 'Annotate messages';
$labels['aclfull'] = 'Full control';
$labels['aclother'] = 'Other';
@@ -59,6 +61,7 @@ $labels['shortaclt'] = 'Delete';
$labels['shortacle'] = 'Expunge';
$labels['shortaclx'] = 'Folder delete';
$labels['shortacla'] = 'Administer';
+$labels['shortacln'] = 'Annotate';
$labels['shortaclother'] = 'Other';
$labels['shortaclread'] = 'Read';
@@ -78,6 +81,7 @@ $labels['longaclt'] = 'Messages Delete flag can be changed';
$labels['longacle'] = 'Messages can be expunged';
$labels['longaclx'] = 'The folder can be deleted or renamed';
$labels['longacla'] = 'The folder access rights can be changed';
+$labels['longacln'] = 'Messages shared metadata (annotations) can be changed';
$labels['longaclfull'] = 'Full control including folder administration';
$labels['longaclread'] = 'The folder can be opened for reading';
diff --git a/plugins/acl/localization/eo.inc b/plugins/acl/localization/eo.inc
index 888ea4def..e06a38fff 100644
--- a/plugins/acl/localization/eo.inc
+++ b/plugins/acl/localization/eo.inc
@@ -18,7 +18,6 @@
$labels['sharing'] = 'Kunhavigado';
$labels['myrights'] = 'Atingrajtoj';
$labels['username'] = 'Uzanto:';
-$labels['advanced'] = 'progresinta reÄimo';
$labels['newuser'] = 'Aldoni eron';
$labels['actions'] = 'Agoj de atingrajtoj...';
$labels['anyone'] = 'Ĉiuj uzantoj (iu ajn)';
diff --git a/plugins/acl/localization/et_EE.inc b/plugins/acl/localization/et_EE.inc
index 5a64ac8fb..4b6f437aa 100644
--- a/plugins/acl/localization/et_EE.inc
+++ b/plugins/acl/localization/et_EE.inc
@@ -18,7 +18,6 @@
$labels['sharing'] = 'Jagamine';
$labels['myrights'] = 'Ligipääsuõigused';
$labels['username'] = 'Kasutaja:';
-$labels['advanced'] = 'laiendatud režiim';
$labels['newuser'] = 'Lisa sissekanne';
$labels['actions'] = 'Ligipääsuõiguste toimingud...';
$labels['anyone'] = 'Kõik kasutajad';
diff --git a/plugins/acl/localization/fi_FI.inc b/plugins/acl/localization/fi_FI.inc
index ab3222464..eb69eda3a 100644
--- a/plugins/acl/localization/fi_FI.inc
+++ b/plugins/acl/localization/fi_FI.inc
@@ -18,7 +18,7 @@
$labels['sharing'] = 'Jakaminen';
$labels['myrights'] = 'Käyttöoikeudet';
$labels['username'] = 'Käyttäjä:';
-$labels['advanced'] = 'edistynyt tila';
+$labels['editperms'] = 'Muokkaa oikeuksia';
$labels['anyone'] = 'Kaikki käyttäjät (kuka tahansa)';
$labels['anonymous'] = 'Vieraat (anonyymit)';
$labels['aclother'] = 'Muu';
diff --git a/plugins/acl/localization/fo_FO.inc b/plugins/acl/localization/fo_FO.inc
new file mode 100644
index 000000000..b2712b86d
--- /dev/null
+++ b/plugins/acl/localization/fo_FO.inc
@@ -0,0 +1,90 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/acl/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail ACL plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
+*/
+$labels['sharing'] = 'Deiling';
+$labels['myrights'] = 'Atgongdar-rættindi';
+$labels['username'] = 'Brúkari:';
+$labels['advanced'] = 'Framkomin støða';
+$labels['newuser'] = 'Legg inn';
+$labels['actions'] = 'Stillingar til atgongu-rættindi';
+$labels['anyone'] = 'Allir brúkarir (øll)';
+$labels['anonymous'] = 'Gestir (dulnevnd)';
+$labels['identifier'] = 'dátuheiti';
+$labels['acll'] = 'Slá upp';
+$labels['aclr'] = 'Les boð';
+$labels['acls'] = 'Varveit lisna støðu';
+$labels['aclw'] = 'Hvít Fløgg';
+$labels['acli'] = 'Inn';
+$labels['aclp'] = 'Send';
+$labels['aclc'] = 'Ger undurmappur';
+$labels['aclk'] = 'Ger undurmappur';
+$labels['acld'] = 'Strika boð';
+$labels['aclt'] = 'Strika boð';
+$labels['acle'] = 'Strika út';
+$labels['aclx'] = 'Strika mappu';
+$labels['acla'] = 'Umsit';
+$labels['aclfull'] = 'Full stýring';
+$labels['aclother'] = 'Annað';
+$labels['aclread'] = 'Les';
+$labels['aclwrite'] = 'Skriva';
+$labels['acldelete'] = 'Strika';
+$labels['shortacll'] = 'Slá upp';
+$labels['shortaclr'] = 'Les';
+$labels['shortacls'] = 'Varveit';
+$labels['shortaclw'] = 'Skriva';
+$labels['shortacli'] = 'Legg inn';
+$labels['shortaclp'] = 'Send';
+$labels['shortaclc'] = 'Stovna';
+$labels['shortaclk'] = 'Stovna';
+$labels['shortacld'] = 'Strika';
+$labels['shortaclt'] = 'Strika';
+$labels['shortacle'] = 'Strika út';
+$labels['shortaclx'] = 'Strika mappu';
+$labels['shortacla'] = 'Umsit';
+$labels['shortaclother'] = 'Annað';
+$labels['shortaclread'] = 'Les';
+$labels['shortaclwrite'] = 'Skriva';
+$labels['shortacldelete'] = 'Strika';
+$labels['longacll'] = 'Mappan er sjónlig á listum og til ber at tekna seg fyri hana';
+$labels['longaclr'] = 'Mappan kann verða opna til lesná';
+$labels['longacls'] = 'Viðmerki ið vísur á lisin boð kann broytast';
+$labels['longaclw'] = 'Boð viðmerki og lyklaorð kunnu øll broytast, undantikið Sæð og Strika';
+$labels['longacli'] = 'Boð kunnu verða skriva og flutt til eina aðra mappu';
+$labels['longaclp'] = 'Boð kunnu verða send til hesa mappu';
+$labels['longaclc'] = 'Mappur kunnu verða stovnaðar (ella umdoyptar) beinleiðis undir hesu mappu';
+$labels['longaclk'] = 'Mappur kunnu verða stovnaðar (ella umdoyptar) beinleiðis undir hesu mappu';
+$labels['longacld'] = 'Viðmerki ið vísur á strika boð kann broytast';
+$labels['longaclt'] = 'Viðmerki ið vísur á strika boð kann broytast';
+$labels['longacle'] = 'Boð kunnu verða strika út';
+$labels['longaclx'] = 'Mappan kann verða strika ella umdoypt';
+$labels['longacla'] = 'Atgongdu-rættindini til hesa mappu kunnu broytast';
+$labels['longaclfull'] = 'Full stýring, írokna mappu-umsiting';
+$labels['longaclread'] = 'Mappan kann latast upp til lesná';
+$labels['longaclwrite'] = 'Boð kunnu verða viðmerkt, skriva ella avritast til mappuna';
+$labels['longacldelete'] = 'Boð kunnu verða strikað';
+$messages['deleting'] = 'Strikar atgongu-rættindi...';
+$messages['saving'] = 'Goymur atgongu-rættindi...';
+$messages['updatesuccess'] = 'Atgongu-rættindi broytt væleyndað';
+$messages['deletesuccess'] = 'Atgongu-rættindi strika væleyndað';
+$messages['createsuccess'] = 'Atgongu-rættindi stovna væleyndað';
+$messages['updateerror'] = 'Til ber ikki at dagføra atgongu-rættindi';
+$messages['deleteerror'] = 'Til ber ikki at strika atgongu-rættindi';
+$messages['createerror'] = 'Til ber ikki at leggja aftrat atgongu-rættindi';
+$messages['deleteconfirm'] = 'Ert tú vís/ur í at tú ynskir at strika atgongu-rættindini hjá valdum brúkar(um)?';
+$messages['norights'] = 'Eingi rættindi tilskila!';
+$messages['nouser'] = 'Einki brúkaranavn var tilskila!';
+?>
diff --git a/plugins/acl/localization/hr_HR.inc b/plugins/acl/localization/hr_HR.inc
new file mode 100644
index 000000000..ce666c4a8
--- /dev/null
+++ b/plugins/acl/localization/hr_HR.inc
@@ -0,0 +1,90 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/acl/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail ACL plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
+*/
+$labels['sharing'] = 'Dijeljenje';
+$labels['myrights'] = 'Prava pristupa';
+$labels['username'] = 'Korisnik:';
+$labels['advanced'] = 'Napredni naÄin';
+$labels['newuser'] = 'Dodaj unos/pravilo';
+$labels['actions'] = 'Akcije prava pristupa...';
+$labels['anyone'] = 'Svi korisnici (anyone)';
+$labels['anonymous'] = 'Gosti (anonymous)';
+$labels['identifier'] = 'Identifikator';
+$labels['acll'] = 'Pretraga';
+$labels['aclr'] = 'ProÄitaj poruke';
+$labels['acls'] = 'Zadrži u stanju "Viđeno"';
+$labels['aclw'] = 'Zapiši oznake';
+$labels['acli'] = 'Umetni (kopiraj u)';
+$labels['aclp'] = 'Pošalji';
+$labels['aclc'] = 'Napravi podmapu';
+$labels['aclk'] = 'Napravi podmapu';
+$labels['acld'] = 'Obriši poruke';
+$labels['aclt'] = 'Obriši poruke';
+$labels['acle'] = 'Trajno obriši';
+$labels['aclx'] = 'Obriši mapu';
+$labels['acla'] = 'Administriraj';
+$labels['aclfull'] = 'Potpuna kontrola';
+$labels['aclother'] = 'Drugo';
+$labels['aclread'] = 'ÄŒitanje';
+$labels['aclwrite'] = 'Pisanje';
+$labels['acldelete'] = 'Obriši';
+$labels['shortacll'] = 'Pretraži';
+$labels['shortaclr'] = 'ÄŒitaj';
+$labels['shortacls'] = 'Zadrži';
+$labels['shortaclw'] = 'Piši';
+$labels['shortacli'] = 'Umetni';
+$labels['shortaclp'] = 'Pošalji';
+$labels['shortaclc'] = 'Stvori';
+$labels['shortaclk'] = 'Stvori';
+$labels['shortacld'] = 'Obriši';
+$labels['shortaclt'] = 'Obriši';
+$labels['shortacle'] = 'Trajno obriši';
+$labels['shortaclx'] = 'Obriši mapu';
+$labels['shortacla'] = 'Administriraj';
+$labels['shortaclother'] = 'Drugo';
+$labels['shortaclread'] = 'ÄŒitanje';
+$labels['shortaclwrite'] = 'Pisanje';
+$labels['shortacldelete'] = 'Brisanje';
+$labels['longacll'] = 'Mapa je vidljiva u listi i može se na nju pretplatiti';
+$labels['longaclr'] = 'Mapa može biti otvorena za Äitanje';
+$labels['longacls'] = 'Oznaku "Viđeno" je moguće mijenjati u porukama';
+$labels['longaclw'] = 'Oznake i kljuÄne rijeÄi, osim oznaka "ViÄ‘eno" i "Obrisano", se mogu mijenjati';
+$labels['longacli'] = 'Poruke mogu biti pohranjene ili kopirane u mapu';
+$labels['longaclp'] = 'Poruke mogu biti postavljene u mapu';
+$labels['longaclc'] = 'Mape pod ovom mapom se mogu stvarati (i preimenovati)';
+$labels['longaclk'] = 'Mape pod ovom mapom se mogu stvarati (i preimenovati)';
+$labels['longacld'] = 'Oznaku "Obrisano" je moguće mijenjati u porukama';
+$labels['longaclt'] = 'Oznaku "Obrisano" je moguće mijenjati u porukama';
+$labels['longacle'] = 'Poruke mogu biti izbrisane';
+$labels['longaclx'] = 'Mapa može biti obrisana ili preimenovana';
+$labels['longacla'] = 'Prava pristupa nad mapom se mogu mijenjati';
+$labels['longaclfull'] = 'Potpuna kontrola ukljuÄujući administraciju mapa';
+$labels['longaclread'] = 'Mapa može biti otvorena za Äitanje';
+$labels['longaclwrite'] = 'Poruke mogu biti oznaÄene, pohranjene ili kopirane u mapu';
+$labels['longacldelete'] = 'Poruke mogu biti obrisane';
+$messages['deleting'] = 'Brišem prava pristupa...';
+$messages['saving'] = 'Pohranjujem prava pristupa';
+$messages['updatesuccess'] = 'Prava pristupa uspješno promjenjena';
+$messages['deletesuccess'] = 'Prava pristupa uspješno obrisana';
+$messages['createsuccess'] = 'Prava pristupa uspješno dodana';
+$messages['updateerror'] = 'Ne mogu pohraniti vCard';
+$messages['deleteerror'] = 'Ne mogu obrisati prava pristupa';
+$messages['createerror'] = 'Ne mogu dodati prava pristupa';
+$messages['deleteconfirm'] = 'Jeste li sigurni da želite obrisati prava pristupa za odabranog korisnika(e)?';
+$messages['norights'] = 'Nije navedeno pravo pristupa!';
+$messages['nouser'] = 'Nije navedeno korisniÄko ime!';
+?>
diff --git a/plugins/acl/localization/hy_AM.inc b/plugins/acl/localization/hy_AM.inc
index b474f6309..403b5ab10 100644
--- a/plugins/acl/localization/hy_AM.inc
+++ b/plugins/acl/localization/hy_AM.inc
@@ -81,6 +81,7 @@ $messages['saving'] = 'ÕŠÕ¡Õ°ÕºÕ¡Õ¶Õ¾Õ¸Ö‚Õ´ Õ¥Õ¶ Õ´Õ¸Ö‚Õ¿Ö„Õ« Õ«Ö€Õ¡Õ¾Õ¸Ö‚Õ¶Ö„Õ¶
$messages['updatesuccess'] = 'Õ„Õ¸Ö‚Õ¿Ö„Õ« Õ«Ö€Õ¡Õ¾Õ¸Ö‚Õ¶Ö„Õ¶Õ¥Ö€Õ¨ Õ¢Õ¡Ö€Õ¥Õ°Õ¡Õ»Õ¸Õ² ÖƒÕ¸ÖƒÕ¸Õ­Õ¾Õ¥ÖÕ«Õ¶Ö‰';
$messages['deletesuccess'] = 'Õ„Õ¸Ö‚Õ¿Ö„Õ« Õ«Ö€Õ¡Õ¾Õ¸Ö‚Õ¶Ö„Õ¶Õ¥Ö€Õ¨ Õ¢Õ¡Ö€Õ¥Õ°Õ¡Õ»Õ¸Õ² Õ»Õ¶Õ»Õ¾Õ¥ÖÕ«Õ¶Ö‰';
$messages['createsuccess'] = 'Õ„Õ¸Ö‚Õ¿Ö„Õ« Õ«Ö€Õ¡Õ¾Õ¸Ö‚Õ¶Ö„Õ¶Õ¥Ö€Õ¨ Õ¢Õ¡Ö€Õ¥Õ°Õ¡Õ»Õ¸Õ² Õ¡Õ¾Õ¥Õ¬Õ¡ÖÕ¾Õ¥ÖÕ¾Õ«Õ¶Ö‰';
+$messages['updateerror'] = 'Õ„Õ¸Ö‚Õ¿Ö„Õ« Õ«Ö€Õ¡Õ¾Õ¸Ö‚Õ¶Ö„Õ¶Õ¥Ö€Õ« Õ©Õ¡Ö€Õ´Õ¡ÖÕ¸Ö‚Õ´Õ¨ Õ¡Õ¶Õ»Õ¡Õ¿Õ¥Õ¬';
$messages['deleteerror'] = 'Õ„Õ¸Ö‚Õ¿Ö„Õ« Õ«Ö€Õ¡Õ¾Õ¸Ö‚Õ¶Ö„Õ¶Õ¥Ö€Õ¨ Õ»Õ¶Õ»Õ¸Ö‚Õ´Õ¨ Õ±Õ¡Õ­Õ¸Õ²Õ¾Õ¥ÖÖ‰';
$messages['createerror'] = 'Õ„Õ¸Ö‚Õ¿Ö„Õ« Õ«Ö€Õ¡Õ¾Õ¸Ö‚Õ¶Ö„Õ¶Õ¥Ö€Õ¨ Õ¡Õ¾Õ¥Õ¬Õ¡ÖÕ¸Ö‚Õ´Õ¨ Õ±Õ¡Õ­Õ¸Õ²Õ¾Õ¥ÖÖ‰';
$messages['deleteconfirm'] = 'Ô´Õ¸Ö‚Ö„ Õ¾Õ½Õ¿Õ¡ÕžÕ° Õ§Ö„, Õ¸Ö€ ÖÕ¡Õ¶Õ¯Õ¡Õ¶Õ¸Ö‚Õ´ Õ¥Ö„ Õ¶Õ·Õ¾Õ¡Õ® Ö…Õ£Õ¿Õ¾Õ¸Õ²Õ¶Õ¥Ö€Õ«Õ¶ Õ¦Ö€Õ¯Õ¥Õ¬ Õ´Õ¸Ö‚Õ¿Ö„Õ« Õ«Ö€Õ¡Õ¾Õ¸Ö‚Õ¶Ö„Õ¶Õ¥Ö€Õ«ÖÖ‰';
diff --git a/plugins/acl/localization/it_IT.inc b/plugins/acl/localization/it_IT.inc
index f610ac031..36c66cda5 100644
--- a/plugins/acl/localization/it_IT.inc
+++ b/plugins/acl/localization/it_IT.inc
@@ -18,8 +18,9 @@
$labels['sharing'] = 'Condivisione';
$labels['myrights'] = 'Diritti d\'accesso';
$labels['username'] = 'Utente:';
-$labels['advanced'] = 'modalità avanzata';
+$labels['advanced'] = 'Modalità avanzata';
$labels['newuser'] = 'Aggiungi voce';
+$labels['editperms'] = 'Modifica permessi';
$labels['actions'] = 'Azioni permessi d\'accesso...';
$labels['anyone'] = 'Tutti gli utenti';
$labels['anonymous'] = 'Osptiti (anonimi)';
@@ -37,6 +38,7 @@ $labels['aclt'] = 'Elimina messaggi';
$labels['acle'] = 'Elimina';
$labels['aclx'] = 'Elimina cartella';
$labels['acla'] = 'Amministra';
+$labels['acln'] = 'Annota messaggi';
$labels['aclfull'] = 'Controllo completo';
$labels['aclother'] = 'Altro';
$labels['aclread'] = 'Lettura';
@@ -55,6 +57,7 @@ $labels['shortaclt'] = 'Elimina';
$labels['shortacle'] = 'Elimina';
$labels['shortaclx'] = 'Elimina cartella';
$labels['shortacla'] = 'Amministra';
+$labels['shortacln'] = 'Annota';
$labels['shortaclother'] = 'Altro';
$labels['shortaclread'] = 'Lettura';
$labels['shortaclwrite'] = 'Scrittura';
@@ -72,6 +75,7 @@ $labels['longaclt'] = 'Il flag Messaggio Eliminato può essere cambiato';
$labels['longacle'] = 'I messaggi possono essere cancellati';
$labels['longaclx'] = 'La cartella può essere eliminata o rinominata';
$labels['longacla'] = 'I diritti di accesso della cartella possono essere cambiati';
+$labels['longacln'] = 'I metadati (annotazioni) dei messaggi condivisi possono essere modificati';
$labels['longaclfull'] = 'Controllo completo incluso cartella di amministrazione';
$labels['longaclread'] = 'Questa cartella può essere aperta in lettura';
$labels['longaclwrite'] = 'I messaggi possono essere marcati, scritti o copiati nella cartella';
diff --git a/plugins/acl/localization/km_KH.inc b/plugins/acl/localization/km_KH.inc
new file mode 100644
index 000000000..f112f3cf3
--- /dev/null
+++ b/plugins/acl/localization/km_KH.inc
@@ -0,0 +1,68 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/acl/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail ACL plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
+*/
+$labels['sharing'] = 'ការ​ចែក​រំលែក';
+$labels['myrights'] = 'សិទ្ធិ​ចូល';
+$labels['username'] = 'អ្នក​ប្រើ៖';
+$labels['advanced'] = 'បែប​កម្រិážâ€‹ážáŸ’ពស់';
+$labels['newuser'] = 'បន្ážáŸ‚ម​ធាážáž»';
+$labels['actions'] = 'សកម្មភាព​សិទ្ធិ​ចូល...';
+$labels['anyone'] = 'អ្នក​ប្រើ​ទាំង​អស់ (នរណា​ម្នាក់)';
+$labels['anonymous'] = 'ភ្ញៀវ (អនាមិក)';
+$labels['acll'] = 'ស្វែងរក';
+$labels['aclr'] = 'អាន​សារ';
+$labels['acli'] = 'បញ្ចូល (ចម្លង​មក​ដាក់)';
+$labels['aclp'] = 'ប្រកាស';
+$labels['aclc'] = 'បង្កើážâ€‹ážážâ€‹ážšáž„';
+$labels['aclk'] = 'បង្កើážâ€‹ážážâ€‹ážšáž„';
+$labels['acld'] = 'លុប​សារ';
+$labels['aclt'] = 'លុប​សារ';
+$labels['acle'] = 'ដកចáŸáž‰';
+$labels['aclx'] = 'លុប​ážáž';
+$labels['acla'] = 'អភិបាល';
+$labels['aclfull'] = 'បញ្ជា​ទាំង​អស់';
+$labels['aclother'] = 'ផ្សáŸáž„ៗ';
+$labels['aclread'] = 'អាន';
+$labels['aclwrite'] = 'សរសáŸážš';
+$labels['acldelete'] = 'លុប';
+$labels['shortacll'] = 'ស្វែងរក';
+$labels['shortaclr'] = 'អាន';
+$labels['shortacls'] = 'រក្សា';
+$labels['shortaclw'] = 'សរសáŸážš';
+$labels['shortacli'] = 'បញ្ចូល';
+$labels['shortaclp'] = 'ប្រកាស';
+$labels['shortaclc'] = 'បង្កើáž';
+$labels['shortaclk'] = 'បង្កើáž';
+$labels['shortacld'] = 'លុប';
+$labels['shortaclt'] = 'លុប';
+$labels['shortacle'] = 'ដកចáŸáž‰';
+$labels['shortaclx'] = 'ការ​លុប​ážáž';
+$labels['shortacla'] = 'អភិបាល';
+$labels['shortaclother'] = 'ផ្សáŸáž„ៗ';
+$labels['shortaclread'] = 'អាន';
+$labels['shortaclwrite'] = 'សរសáŸážš';
+$labels['shortacldelete'] = 'លុប';
+$labels['longaclr'] = 'ážážâ€‹áž“áŸáŸ‡â€‹áž¢áž¶áž…​បើក​សម្រាប់​អាន';
+$labels['longacldelete'] = 'សារ​នáŸáŸ‡â€‹áž¢áž¶áž…​ážáŸ’រូវ​បាន​លុប';
+$messages['deleting'] = 'កំពុង​លុប​សិទ្ធិ​ចូល...';
+$messages['saving'] = 'រក្សា​ទុក​សិទ្ធិ​ចូល...';
+$messages['updateerror'] = 'មិន​អាច​ធ្វើ​បច្ចុប្បន្នភាព​សិទ្ធិ​ចូល';
+$messages['createerror'] = 'មិន​អាច​បន្ážáŸ‚ម​សិទ្ធិ​ចូល';
+$messages['deleteconfirm'] = 'ážáž¾â€‹áž¢áŸ’នក​ពិážâ€‹áž‡áž¶â€‹áž…ង់​ដក​សិទ្ធ​ចូល​ពី​អ្នក​ប្រើប្រាស់​ដែល​បាន​រើស​មែនទáŸ?';
+$messages['norights'] = 'មិន​បាន​បញ្ជាក់​សិទ្ធិ​ច្បាស់​លាស់!';
+$messages['nouser'] = 'មិន​បាន​បញ្ជាក់​ឈ្មោះ​អ្នក​ប្រើ!';
+?>
diff --git a/plugins/acl/localization/pt_PT.inc b/plugins/acl/localization/pt_PT.inc
index 3f1a8f076..77f831375 100644
--- a/plugins/acl/localization/pt_PT.inc
+++ b/plugins/acl/localization/pt_PT.inc
@@ -20,70 +20,74 @@ $labels['myrights'] = 'Permissões de acesso';
$labels['username'] = 'Utilizador:';
$labels['advanced'] = 'Modo avançado';
$labels['newuser'] = 'Adicionar entrada';
+$labels['editperms'] = 'Editar permissões';
$labels['actions'] = 'Acções de permissão de acesso...';
$labels['anyone'] = 'Todos os utilizadores (todos)';
-$labels['anonymous'] = 'Convidado (anónimo)';
+$labels['anonymous'] = 'Convidados (anónimo)';
$labels['identifier'] = 'Identificador';
$labels['acll'] = 'Pesquisar';
$labels['aclr'] = 'Ler mensagens';
-$labels['acls'] = 'Manter estado de enviado';
+$labels['acls'] = 'Manter estado Visto';
$labels['aclw'] = 'Guardar marcadores';
-$labels['acli'] = 'Inserir (cópia em)';
+$labels['acli'] = 'Inserir (Copiar para)';
$labels['aclp'] = 'Publicar';
$labels['aclc'] = 'Criar subpastas';
$labels['aclk'] = 'Criar subpastas';
$labels['acld'] = 'Eliminar mensagens';
$labels['aclt'] = 'Eliminar mensagens';
-$labels['acle'] = 'Eliminar';
+$labels['acle'] = 'Purgar';
$labels['aclx'] = 'Eliminar pasta';
$labels['acla'] = 'Administrar';
+$labels['acln'] = 'Anotar mensagens';
$labels['aclfull'] = 'Controlo total';
$labels['aclother'] = 'Outro';
$labels['aclread'] = 'Ler';
-$labels['aclwrite'] = 'Guardar';
+$labels['aclwrite'] = 'Escrever';
$labels['acldelete'] = 'Eliminar';
$labels['shortacll'] = 'Pesquisar';
$labels['shortaclr'] = 'Ler';
$labels['shortacls'] = 'Manter';
-$labels['shortaclw'] = 'Guardar';
+$labels['shortaclw'] = 'Escrever';
$labels['shortacli'] = 'Inserir';
$labels['shortaclp'] = 'Publicar';
$labels['shortaclc'] = 'Criar';
$labels['shortaclk'] = 'Criar';
$labels['shortacld'] = 'Eliminar';
$labels['shortaclt'] = 'Eliminar';
-$labels['shortacle'] = 'Eliminar';
+$labels['shortacle'] = 'Purgar';
$labels['shortaclx'] = 'Eliminar pasta';
$labels['shortacla'] = 'Administrar';
+$labels['shortacln'] = 'Anotar';
$labels['shortaclother'] = 'Outro';
$labels['shortaclread'] = 'Ler';
-$labels['shortaclwrite'] = 'Guardar';
+$labels['shortaclwrite'] = 'Escrever';
$labels['shortacldelete'] = 'Eliminar';
-$labels['longacll'] = 'A pasta está visível na lista e pode subscrita para';
+$labels['longacll'] = 'A pasta está visível em listas e pode subscrita';
$labels['longaclr'] = 'A pasta pode ser aberta para leitura';
-$labels['longacls'] = 'O marcador de mensagem enviada pode ser alterado';
-$labels['longaclw'] = 'Marcadores de mensagens e palavras-chave podem ser alterados, excepto de Enviadas e Eliminadas';
-$labels['longacli'] = 'As mensagens podem ser escritas e copiadas para a pasta';
-$labels['longaclp'] = 'As mensagens podem ser publicadas na pasta';
-$labels['longaclc'] = 'As pastas podem ser criadas (ou renomeadas) directamente nesta pasta';
-$labels['longaclk'] = 'As pastas podem ser criadas (ou renomeadas) directamente nesta pasta';
-$labels['longacld'] = 'O marcador de mensagens Eliminadas pode ser alterado';
-$labels['longaclt'] = 'O marcador de mensagens Eliminadas pode ser alterado';
-$labels['longacle'] = 'As mensagens podem ser eliminadas';
+$labels['longacls'] = 'O marcador Mensagens Vistas pode ser alterado';
+$labels['longaclw'] = 'Marcadores de mensagens e palavras-chave podem ser alterados, excepto Vistas e Eliminadas';
+$labels['longacli'] = 'As mensagens podem ser escritas ou copiadas para a pasta';
+$labels['longaclp'] = 'As mensagens podem ser publicadas para esta pasta';
+$labels['longaclc'] = 'As pastas podem ser criadas (ou renomeadas) directamente debaixo desta pasta';
+$labels['longaclk'] = 'As pastas podem ser criadas (ou renomeadas) directamente debaixo desta pasta';
+$labels['longacld'] = 'O marcador Apagar Mensagens pode ser alterado';
+$labels['longaclt'] = 'O marcador Apagar Mensagens pode ser alterado';
+$labels['longacle'] = 'As mensagens podem ser purgadas';
$labels['longaclx'] = 'A pasta pode ser eliminada ou renomeada';
$labels['longacla'] = 'As permissões de acesso da pasta podem ser alteradas';
-$labels['longaclfull'] = 'Controlo total incluindo administração da pasta';
+$labels['longacln'] = 'Mensagens partilhadas de metadados (anotações) podem ser alteradas';
+$labels['longaclfull'] = 'Controlo total incluindo administração de pastas';
$labels['longaclread'] = 'A pasta pode ser aberta para leitura';
$labels['longaclwrite'] = 'As mensagens podem ser marcadas, guardadas ou copiadas para a pasta';
$labels['longacldelete'] = 'As mensagens podem ser eliminadas';
-$messages['deleting'] = 'A eliminar as permissões de acesso...';
-$messages['saving'] = 'A guardar as permissões de acesso...';
+$messages['deleting'] = 'A eliminar permissões de acesso...';
+$messages['saving'] = 'A guardar permissões de acesso...';
$messages['updatesuccess'] = 'Permissões de acesso alteradas com sucesso';
$messages['deletesuccess'] = 'Permissões de acesso eliminadas com sucesso';
$messages['createsuccess'] = 'Permissões de acesso adicionadas com sucesso';
$messages['updateerror'] = 'Não foi possível actualizar os direitos de acesso';
-$messages['deleteerror'] = 'Não foi possível eliminar as permissões de acesso';
-$messages['createerror'] = 'Não foi possível adicionar as permissões de acesso';
+$messages['deleteerror'] = 'Não foi possível eliminar permissões de acesso';
+$messages['createerror'] = 'Não foi possível adicionar permissões de acesso';
$messages['deleteconfirm'] = 'Tem a certeza que pretende remover as permissões de acesso do(s) utilizador(es) seleccionado(s)?';
$messages['norights'] = 'Não foram especificadas quaisquer permissões!';
$messages['nouser'] = 'Não foi especificado nenhum nome de utilizador!';
diff --git a/plugins/acl/localization/sv_SE.inc b/plugins/acl/localization/sv_SE.inc
index 37c374a29..529c11f47 100644
--- a/plugins/acl/localization/sv_SE.inc
+++ b/plugins/acl/localization/sv_SE.inc
@@ -21,12 +21,12 @@ $labels['username'] = 'Användare:';
$labels['advanced'] = 'avancerat läge';
$labels['newuser'] = 'Lägg till';
$labels['actions'] = 'Hantera åtkomsträttigheter...';
-$labels['anyone'] = 'Alla användare (alla)';
+$labels['anyone'] = 'Alla användare (vem som helst)';
$labels['anonymous'] = 'Gäster (anonyma)';
$labels['identifier'] = 'Identifikation';
$labels['acll'] = 'Uppslagning';
$labels['aclr'] = 'Läs meddelanden';
-$labels['acls'] = 'Behåll status Sett';
+$labels['acls'] = 'Behåll status Läst';
$labels['aclw'] = 'Skriv flaggor';
$labels['acli'] = 'Infoga (kopiera in)';
$labels['aclp'] = 'Posta';
@@ -61,14 +61,14 @@ $labels['shortaclwrite'] = 'Skriv';
$labels['shortacldelete'] = 'Ta bort';
$labels['longacll'] = 'Katalogen är synlig i listor och den kan prenumereras på';
$labels['longaclr'] = 'Katalogen kan öppnas för läsning';
-$labels['longacls'] = 'Meddelandeflagga Sett kan ändras';
-$labels['longaclw'] = 'Meddelandeflaggor och nyckelord kan ändras, undantaget Sett och Raderat';
+$labels['longacls'] = 'Meddelandeflagga Läst kan ändras';
+$labels['longaclw'] = 'Meddelandeflaggor och nyckelord kan ändras, undantaget Läst och Borttagen';
$labels['longacli'] = 'Meddelanden kan skrivas eller kopieras till katalogen';
$labels['longaclp'] = 'Meddelanden kan postas till denna katalog';
$labels['longaclc'] = 'Kataloger kan skapas (eller ges annat namn) direkt i denna katalog';
$labels['longaclk'] = 'Kataloger kan skapas (eller ges annat namn) direkt i denna katalog';
-$labels['longacld'] = 'Meddelandeflagga Raderat kan ändras';
-$labels['longaclt'] = 'Meddelandeflagga Raderat kan ändras';
+$labels['longacld'] = 'Meddelandeflagga Borttaget kan ändras';
+$labels['longaclt'] = 'Meddelandeflagga Borttaget kan ändras';
$labels['longacle'] = 'Meddelanden kan utplånas';
$labels['longaclx'] = 'Katalogen kan tas bort eller ges annat namn';
$labels['longacla'] = 'Katalogens åtkomsträttigheter kan ändras';
diff --git a/plugins/acl/localization/uk_UA.inc b/plugins/acl/localization/uk_UA.inc
new file mode 100644
index 000000000..ada0afa3c
--- /dev/null
+++ b/plugins/acl/localization/uk_UA.inc
@@ -0,0 +1,45 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/acl/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail ACL plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/
+*/
+$labels['myrights'] = 'Права доÑтупу';
+$labels['username'] = 'КориÑтувач:';
+$labels['advanced'] = 'розширений режим';
+$labels['anyone'] = 'Ð’ÑÑ– кориÑтувачі (кожен)';
+$labels['anonymous'] = 'ГоÑÑ‚Ñ– (аноніми)';
+$labels['aclc'] = 'Створити підтеки';
+$labels['aclk'] = 'Створити підтеки';
+$labels['acld'] = 'Вилучити повідомленнÑ';
+$labels['aclt'] = 'Вилучити повідомленнÑ';
+$labels['aclx'] = 'Вилучити теку';
+$labels['aclfull'] = 'Повний контроль';
+$labels['aclother'] = 'Інше';
+$labels['aclread'] = 'Читати';
+$labels['acldelete'] = 'Видалити';
+$labels['shortaclr'] = 'Читати';
+$labels['shortacls'] = 'Залишити';
+$labels['shortacli'] = 'Ð’Ñтавити';
+$labels['shortaclc'] = 'Створити';
+$labels['shortaclk'] = 'Створити';
+$labels['shortacld'] = 'Видалити';
+$labels['shortaclt'] = 'Видалити';
+$labels['shortaclx'] = 'Видалити теку';
+$labels['shortaclother'] = 'Інше';
+$labels['shortacldelete'] = 'Видалити';
+$labels['longaclfull'] = 'Повний контроль включаючи теку адмініÑтратора';
+$messages['deleting'] = 'Ð’Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð² доÑтупу...';
+$messages['saving'] = 'Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð² доÑтупу...';
+?>
diff --git a/plugins/acl/localization/vi_VN.inc b/plugins/acl/localization/vi_VN.inc
index a3839982b..e772eb8e7 100644
--- a/plugins/acl/localization/vi_VN.inc
+++ b/plugins/acl/localization/vi_VN.inc
@@ -20,7 +20,7 @@ $labels['myrights'] = 'Quyá»n truy cập';
$labels['username'] = 'NgÆ°á»i dùng:';
$labels['advanced'] = 'Chế độ tính năng cao hơn';
$labels['newuser'] = 'Thêm bài viết';
-$labels['actions'] = 'Cách ứng xá»­ quyá»n truy cập';
+$labels['actions'] = 'Các thao tác quyá»n truy cập';
$labels['anyone'] = 'Tất cả ngÆ°á»i dùng (bất kỳ ai)';
$labels['anonymous'] = 'Khách (nặc danh)';
$labels['identifier'] = 'Äịnh danh';
@@ -59,8 +59,8 @@ $labels['shortaclother'] = 'Loại khác';
$labels['shortaclread'] = 'Äá»c';
$labels['shortaclwrite'] = 'Viết';
$labels['shortacldelete'] = 'Xoá';
-$labels['longacll'] = 'Giữ liệu đã được liệt kê và có thể đóng góp';
-$labels['longaclr'] = 'Giữ liệu có thể được mở để Ä‘á»c';
+$labels['longacll'] = 'Thư mục đã được hiển thị và có thể đăng ký sử dụng';
+$labels['longaclr'] = 'ThÆ° mục có thể được mở để Ä‘á»c';
$labels['longacls'] = 'CỠđánh dấu thư đã xem qua có thể thay đổi';
$labels['longaclw'] = 'CỠthư và từ khóa có thể thay đổi, ngoại trừ đã xem qua và bị xóa';
$labels['longacli'] = 'Thư có thể được ghi hoặc sao chép vào giữ liệu';
@@ -81,6 +81,7 @@ $messages['saving'] = 'LÆ°u quyá»n truy cập...';
$messages['updatesuccess'] = 'Thay đổi quyá»n truy cập thành công...';
$messages['deletesuccess'] = 'Xóa quyá»n truy cập thành công...';
$messages['createsuccess'] = 'Thêm quyá»n truy cập thành công...';
+$messages['updateerror'] = 'Không thể cập nhật quyá»n truy cập';
$messages['deleteerror'] = 'Khôngthể xóa quyá»n truy cập';
$messages['createerror'] = 'Không thể thêm quyá»n truy cập';
$messages['deleteconfirm'] = 'Bạn có chắc là muốn xóa bá» quyá»n truy cập của ngÆ°á»i dùng được chá»n?';
diff --git a/plugins/acl/localization/zh_CN.inc b/plugins/acl/localization/zh_CN.inc
index 68d294489..2542c3237 100644
--- a/plugins/acl/localization/zh_CN.inc
+++ b/plugins/acl/localization/zh_CN.inc
@@ -61,7 +61,11 @@ $labels['shortaclwrite'] = '写入';
$labels['shortacldelete'] = '删除';
$labels['longacll'] = '该文件夹在列表上å¯è§ä¸”å¯è¢«è®¢é˜…';
$labels['longaclr'] = '该文件夹å¯è¢«æ‰“开阅读';
-$labels['longacli'] = '消æ¯å¯å†™æˆ–å¯è¢«å¤åˆ¶è‡³æ–‡ä»¶å¤¹ä¸­';
+$labels['longacls'] = '已读消æ¯æ ‡è¯†å¯ä»¥æ”¹å˜';
+$labels['longaclw'] = '除已读和删除表示外其他消æ¯æ ‡è¯†å¯ä»¥æ”¹å˜';
+$labels['longacli'] = '消æ¯å¯è¢«æ ‡è®°ï¼Œæ’°å†™æˆ–å¤åˆ¶è‡³æ–‡ä»¶å¤¹ä¸­';
+$labels['longaclk'] = '文件夹å¯è¢«åˆ›å»º(或改å)于现有目录下';
+$labels['longacld'] = '消æ¯å·²åˆ é™¤æ ‡è¯†å¯ä»¥æ”¹å˜';
$labels['longacle'] = '消æ¯å¯è¢«æ¸…除';
$labels['longaclx'] = '该文件夹å¯è¢«åˆ é™¤æˆ–é‡å‘½å';
$labels['longacla'] = '文件夹访问æƒé™å¯è¢«ä¿®æ”¹';
@@ -73,6 +77,7 @@ $messages['saving'] = 'ä¿å­˜è®¿é—®æƒé™ä¸­â€¦';
$messages['updatesuccess'] = 'æˆåŠŸä¿®æ”¹è®¿é—®æƒé™';
$messages['deletesuccess'] = 'æˆåŠŸåˆ é™¤è®¿é—®æƒé™';
$messages['createsuccess'] = 'æˆåŠŸæ·»åŠ è®¿é—®æƒé™';
+$messages['updateerror'] = '无法更新访问æƒé™';
$messages['deleteerror'] = '无法删除访问æƒé™';
$messages['createerror'] = '无法添加访问æƒé™';
$messages['deleteconfirm'] = '您确定è¦ç§»é™¤é€‰ä¸­ç”¨æˆ·çš„访问æƒé™å—?';
diff --git a/plugins/acl/package.xml b/plugins/acl/package.xml
index 98460e82f..a99ad4ffa 100644
--- a/plugins/acl/package.xml
+++ b/plugins/acl/package.xml
@@ -13,10 +13,10 @@
<email>alec@alec.pl</email>
<active>yes</active>
</lead>
- <date>2013-03-01</date>
+ <date>2014-02-04</date>
<version>
- <release>1.2</release>
- <api>0.7</api>
+ <release>1.3</release>
+ <api>1.0</api>
</version>
<stability>
<release>stable</release>
diff --git a/plugins/acl/skins/classic/acl.css b/plugins/acl/skins/classic/acl.css
index cf3391f49..e95e3b341 100644
--- a/plugins/acl/skins/classic/acl.css
+++ b/plugins/acl/skins/classic/acl.css
@@ -87,9 +87,7 @@
#aclform
{
- top: 80px;
- width: 480px;
- padding: 10px;
+ display: none;
}
#aclform div
diff --git a/plugins/acl/skins/classic/templates/table.html b/plugins/acl/skins/classic/templates/table.html
index bca63d0b3..5c4d2d8a0 100644
--- a/plugins/acl/skins/classic/templates/table.html
+++ b/plugins/acl/skins/classic/templates/table.html
@@ -24,17 +24,13 @@
</ul>
</div>
-<div id="aclform" class="popupmenu">
+<div id="aclform" style="position:absolute; width:480px; top:0; left:0; padding:10px">
<fieldset class="thinbordered"><legend><roundcube:label name="acl.identifier" /></legend>
<roundcube:object name="acluser" class="toolbarmenu" id="acluser" size="35" />
</fieldset>
<fieldset class="thinbordered"><legend><roundcube:label name="acl.myrights" /></legend>
<roundcube:object name="aclrights" class="toolbarmenu" />
</fieldset>
- <div>
- <roundcube:button command="acl-cancel" type="input" class="button" label="cancel" />
- <roundcube:button command="acl-save" type="input" class="button mainaction" label="save" />
- </div>
</div>
<script type="text/javascript">
diff --git a/plugins/acl/skins/larry/acl.css b/plugins/acl/skins/larry/acl.css
index e392a269e..96c1092a0 100644
--- a/plugins/acl/skins/larry/acl.css
+++ b/plugins/acl/skins/larry/acl.css
@@ -29,7 +29,6 @@
#acltable td
{
white-space: nowrap;
- border: none;
text-align: center;
}
@@ -38,19 +37,24 @@
border-left: #BBD3DA dotted 1px;
font-size: 11px;
font-weight: bold;
+ width: auto;
}
#acltable tbody td
{
border-bottom: #DDDDDD 1px solid;
text-align: center;
- padding: 2px;
+ height: 16px;
cursor: default;
}
#acltable thead td.user
{
- border-left: none;
+ width: 30%;
+}
+
+#acltable.advanced thead td.user {
+ width: 25%;
}
#acltable tbody td.user
@@ -60,7 +64,6 @@
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
border-left: none;
- width: 50px;
}
#acltable tbody td.partial
@@ -99,10 +102,7 @@
#aclform
{
- top: 80px;
- width: 480px;
- padding: 10px;
- background-color: white;
+ display: none;
}
#aclform div
diff --git a/plugins/acl/skins/larry/templates/table.html b/plugins/acl/skins/larry/templates/table.html
index 3cf8292a4..c0b8329c6 100644
--- a/plugins/acl/skins/larry/templates/table.html
+++ b/plugins/acl/skins/larry/templates/table.html
@@ -12,20 +12,16 @@
<li><roundcube:button command="acl-edit" label="edit" class="icon" classAct="icon active" innerclass="icon edit" /></li>
<li><roundcube:button command="acl-delete" label="delete" class="icon" classAct="icon active" innerclass="icon delete" /></li>
<roundcube:if condition="!in_array('acl_advanced_mode', (array)config:dont_override)" />
- <li><roundcube:button name="acl-switch" id="acl-switch" label="acl.advanced" onclick="rcmail.command('acl-mode-switch')" class="active" /></li>
+ <li><roundcube:button name="acl-switch" id="acl-switch" label="acl.advanced" onclick="rcmail.command('acl-mode-switch');return false" class="active" /></li>
<roundcube:endif />
</ul>
</div>
-<div id="aclform" class="popupmenu propform">
+<div id="aclform" class="propform" style="position:absolute; width:480px; top:0; left:0; padding:8px">
<fieldset class="thinbordered"><legend><roundcube:label name="acl.identifier" /></legend>
- <roundcube:object name="acluser" id="acluser" size="35" />
+ <roundcube:object name="acluser" id="acluser" size="35" class="proplist" />
</fieldset>
<fieldset class="thinbordered"><legend><roundcube:label name="acl.myrights" /></legend>
- <roundcube:object name="aclrights" />
+ <roundcube:object name="aclrights" class="proplist" />
</fieldset>
- <div class="formbuttons">
- <roundcube:button command="acl-cancel" type="input" class="button" label="cancel" />
- <roundcube:button command="acl-save" type="input" class="button mainaction" label="save" />
- </div>
</div>
diff --git a/plugins/archive/archive.js b/plugins/archive/archive.js
index 813033401..c0d074cf9 100644
--- a/plugins/archive/archive.js
+++ b/plugins/archive/archive.js
@@ -1,6 +1,6 @@
/**
* Archive plugin script
- * @version 2.1
+ * @version 2.2
*/
function rcmail_archive(prop)
diff --git a/plugins/archive/archive.php b/plugins/archive/archive.php
index a0fd2efa9..8c0a89d96 100644
--- a/plugins/archive/archive.php
+++ b/plugins/archive/archive.php
@@ -6,22 +6,22 @@
* Plugin that adds a new button to the mailbox toolbar
* to move messages to a (user selectable) archive folder.
*
- * @version 2.1
+ * @version 2.2
* @license GNU GPLv3+
* @author Andre Rodier, Thomas Bruederli, Aleksander Machniak
*/
class archive extends rcube_plugin
{
- public $task = 'mail|settings';
-
function init()
{
$rcmail = rcmail::get_instance();
- // There is no "Archived flags"
- // $GLOBALS['IMAP_FLAGS']['ARCHIVED'] = 'Archive';
+ // register special folder type
+ rcube_storage::$folder_types[] = 'archive';
+
if ($rcmail->task == 'mail' && ($rcmail->action == '' || $rcmail->action == 'show')
- && ($archive_folder = $rcmail->config->get('archive_mbox'))) {
+ && ($archive_folder = $rcmail->config->get('archive_mbox'))
+ ) {
$skin_path = $this->local_skin_path();
if (is_file($this->home . "/$skin_path/archive.css"))
$this->include_stylesheet("$skin_path/archive.css");
@@ -48,12 +48,6 @@ class archive extends rcube_plugin
// set env variables for client
$rcmail->output->set_env('archive_folder', $archive_folder);
$rcmail->output->set_env('archive_type', $rcmail->config->get('archive_type',''));
-
- // add archive folder to the list of default mailboxes
- if (($default_folders = $rcmail->config->get('default_folders')) && !in_array($archive_folder, $default_folders)) {
- $default_folders[] = $archive_folder;
- $rcmail->config->set('default_folders', $default_folders);
- }
}
else if ($rcmail->task == 'mail') {
// handler for ajax request
@@ -99,7 +93,7 @@ class archive extends rcube_plugin
return true;
} else if (!empty($item['folders']))
if ($this->_mod_folder_name($list[$idx]['folders'], $folder, $new_name))
- return true;
+ return true;
}
return false;
}
@@ -286,7 +280,6 @@ class archive extends rcube_plugin
function save_prefs($args)
{
if ($args['section'] == 'folders') {
- $args['prefs']['archive_mbox'] = rcube_utils::get_input_value('_archive_mbox', rcube_utils::INPUT_POST);
$args['prefs']['archive_type'] = rcube_utils::get_input_value('_archive_type', rcube_utils::INPUT_POST);
return $args;
}
diff --git a/plugins/archive/localization/en_GB.inc b/plugins/archive/localization/en_GB.inc
index 5c03b82d5..58cb7f439 100644
--- a/plugins/archive/localization/en_GB.inc
+++ b/plugins/archive/localization/en_GB.inc
@@ -18,5 +18,14 @@
$labels['buttontext'] = 'Archive';
$labels['buttontitle'] = 'Archive this message';
$labels['archived'] = 'Successfully archived';
+$labels['archivedreload'] = 'Successfully archived. Reload the page to see the new archive folders.';
+$labels['archiveerror'] = 'Some messages could not be archived';
$labels['archivefolder'] = 'Archive';
+$labels['settingstitle'] = 'Archive';
+$labels['archivetype'] = 'Divide archive by';
+$labels['archivetypeyear'] = 'Year (e.g. Archive/2012)';
+$labels['archivetypemonth'] = 'Month (e.g. Archive/2012/06)';
+$labels['archivetypefolder'] = 'Original folder';
+$labels['archivetypesender'] = 'Sender email';
+$labels['unkownsender'] = 'unknown';
?>
diff --git a/plugins/archive/localization/fo_FO.inc b/plugins/archive/localization/fo_FO.inc
new file mode 100644
index 000000000..2022b41dd
--- /dev/null
+++ b/plugins/archive/localization/fo_FO.inc
@@ -0,0 +1,31 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/archive/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
+*/
+$labels['buttontext'] = 'Goym í skjalasavni';
+$labels['buttontitle'] = 'Goym hetta boð í skjalasavni';
+$labels['archived'] = 'Goymt í skjalasavn';
+$labels['archivedreload'] = 'Goymt í skjalasavn. Les inn aftur síðu fyri at síggja nýggjar mappur';
+$labels['archiveerror'] = 'Onkur boð kundu ikki leggjast í skjalagoymslu';
+$labels['archivefolder'] = 'Goym í skjalasavni';
+$labels['settingstitle'] = 'Goym í skjalasavni';
+$labels['archivetype'] = 'Deil skjalagoymslu við';
+$labels['archivetypeyear'] = 'Ãr (t.d. Skjalagoymsla/2012)';
+$labels['archivetypemonth'] = 'Mánar(t.d. Skjalahgoymsla/2012/06)';
+$labels['archivetypefolder'] = 'Uppruna mappa';
+$labels['archivetypesender'] = 'Sendara teldupostur';
+$labels['unkownsender'] = 'ókent';
+?>
diff --git a/plugins/archive/localization/hr_HR.inc b/plugins/archive/localization/hr_HR.inc
index 2a99cb687..e6334cce0 100644
--- a/plugins/archive/localization/hr_HR.inc
+++ b/plugins/archive/localization/hr_HR.inc
@@ -17,6 +17,15 @@
*/
$labels['buttontext'] = 'Arhiva';
$labels['buttontitle'] = 'Arhiviraj poruku';
-$labels['archived'] = 'Uspješno arhivirana';
+$labels['archived'] = 'Uspješno arhivirano';
+$labels['archivedreload'] = 'Uspješno arhivirano. Osvježite stranicu kako biste vidjeli nove arhivske mape.';
+$labels['archiveerror'] = 'Neke poruke nije bilo moguće arhivirati';
$labels['archivefolder'] = 'Arhiva';
+$labels['settingstitle'] = 'Arhiva';
+$labels['archivetype'] = 'Podijeli arhivu po';
+$labels['archivetypeyear'] = 'Godina (npr. Arhiva/2012)';
+$labels['archivetypemonth'] = 'Mjesec (e.g. Arhiva/2012/06)';
+$labels['archivetypefolder'] = 'Izvorna mapa';
+$labels['archivetypesender'] = 'E-mail adresa pošiljatelja';
+$labels['unkownsender'] = 'nepoznato';
?>
diff --git a/plugins/archive/localization/hy_AM.inc b/plugins/archive/localization/hy_AM.inc
index a380346d4..47fc8d6f6 100644
--- a/plugins/archive/localization/hy_AM.inc
+++ b/plugins/archive/localization/hy_AM.inc
@@ -18,5 +18,14 @@
$labels['buttontext'] = 'Ô±Ö€Õ­Õ«Õ¾';
$labels['buttontitle'] = 'Ô±Ö€Õ­Õ«Õ¾Õ¡ÖÕ¶Õ¥Õ¬ Õ¡ÕµÕ½ Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨';
$labels['archived'] = 'Ô²Õ¡Ö€Õ¥Õ°Õ¡Õ»Õ¸Õ² Õ¡Ö€Õ­Õ«Õ¾Õ¡ÖÕ¾Õ¥Ö';
+$labels['archivedreload'] = 'Ô²Õ¡Ö€Õ¥Õ°Õ¡Õ»Õ¸Õ² Õ¡Ö€Õ­Õ«Õ¾Õ¡ÖÕ¾Õ¥Ö: ÕŽÕ¥Ö€Õ¢Õ¥Õ¼Õ¶Õ¥Ö„ Õ§Õ»Õ¨ Õ¶Õ¸Ö€ Õ¡Ö€Õ­Õ«Õ¾Õ¡ÖÕ¾Õ¡Õ® ÕºÕ¡Õ¶Õ¡Õ¯Õ¶Õ¥Ö€Õ¨ Õ¿Õ¥Õ½Õ¶Õ¥Õ¬Õ¸Ö‚ Õ°Õ¡Õ´Õ¡Ö€:';
+$labels['archiveerror'] = 'ÕˆÖ€Õ¸Õ· Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€ Õ°Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€ Õ¹Õ§ Õ¡Ö€Õ­Õ«Õ¾Õ¡ÖÕ¶Õ¥Õ¬';
$labels['archivefolder'] = 'Ô±Ö€Õ­Õ«Õ¾';
+$labels['settingstitle'] = 'Ô±Ö€Õ­Õ«Õ¾';
+$labels['archivetype'] = 'Ô²Õ¡ÕªÕ¡Õ¶Õ¥Õ¬ Õ¡Ö€Õ­Õ«Õ¾Õ¨';
+$labels['archivetypeyear'] = 'ÕÕ¡Ö€Õ¥Õ©Õ«Õ¾ (Ö…Ö€.Õ Ô±Ö€Õ­Õ«Õ¾/2012)';
+$labels['archivetypemonth'] = 'Ô±Õ´Õ½Õ¡Õ©Õ«Õ¾ (Ö…Ö€.Õ Ô±Ö€Õ­Õ«Õ¾/2012/06)';
+$labels['archivetypefolder'] = 'Ô±Õ¼Õ¡Õ»Õ«Õ¶ ÕºÕ¡Õ¶Õ¡Õ¯Õ¨';
+$labels['archivetypesender'] = 'ÕˆÖ‚Õ²Õ¡Ö€Õ¯Õ¸Õ²Õ« Õ§Õ¬-ÖƒÕ¸Õ½Õ¿Õ¨';
+$labels['unkownsender'] = 'Õ¡Õ¶Õ°Õ¡ÕµÕ¿';
?>
diff --git a/plugins/archive/localization/km_KH.inc b/plugins/archive/localization/km_KH.inc
index d4b1c3baa..ab2e5e2cc 100644
--- a/plugins/archive/localization/km_KH.inc
+++ b/plugins/archive/localization/km_KH.inc
@@ -16,7 +16,16 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/
*/
$labels['buttontext'] = 'áž”áŸážŽáŸ’ណសារ';
-$labels['buttontitle'] = 'áž”áŸážŽáŸ’ណសារ សារលិážáž·áž áž“áŸáŸ‡';
-$labels['archived'] = 'áž”áŸážŽáŸ’ណសារ បានសំរáŸáž…';
+$labels['buttontitle'] = 'ធ្វើ​សារ​នáŸáŸ‡â€‹áž‡áž¶â€‹áž”ណ្ណសារ';
+$labels['archived'] = 'ធ្វើ​ជា​បណ្ណសារ​បាន​សម្រáŸáž…';
+$labels['archivedreload'] = 'ធ្វើ​ជា​បណ្ណសារ​បាន​សម្រáŸáž…។ ផ្ទុក​ទំពáŸážšâ€‹áž¡áž¾áž„​វិញ ដើម្បី​មើល​ážážâ€‹áž”ណ្ណសារ​ážáŸ’មី។';
+$labels['archiveerror'] = 'សារ​ážáŸ’លះ​មិន​អាច​ážáŸ’រូវ​បាន​ធ្វើ​ជា​បណ្ណសារ​ទáŸ';
$labels['archivefolder'] = 'áž”áŸážŽáŸ’ណសារ';
+$labels['settingstitle'] = 'បណ្ណសារ';
+$labels['archivetype'] = 'ចែក​បណ្ណសារ​ážáž¶áž˜';
+$labels['archivetypeyear'] = 'ឆ្នាំ (ឧទា. បណ្ណសារ/2012)';
+$labels['archivetypemonth'] = 'ážáŸ‚ (ឧទា. បណ្ណសារ/2012/06)';
+$labels['archivetypefolder'] = 'ážážâ€‹ážŠáž¾áž˜';
+$labels['archivetypesender'] = 'អ្នក​ផ្ញើ​អ៊ីមែល';
+$labels['unkownsender'] = 'មិន​ស្គាល់';
?>
diff --git a/plugins/archive/localization/uk_UA.inc b/plugins/archive/localization/uk_UA.inc
index 48cbf00f8..92fbc79ea 100644
--- a/plugins/archive/localization/uk_UA.inc
+++ b/plugins/archive/localization/uk_UA.inc
@@ -22,7 +22,10 @@ $labels['archivedreload'] = 'Ðрхівацію уÑпішно завершенÐ
$labels['archiveerror'] = 'ДеÑкі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶ÑƒÑ‚ÑŒ бути зархівованими';
$labels['archivefolder'] = 'Ðрхів';
$labels['settingstitle'] = 'Ðрхів';
+$labels['archivetype'] = 'Розділіть архів по';
$labels['archivetypeyear'] = 'Рік (наприклад Ðрхів/2012)';
$labels['archivetypemonth'] = 'МіÑÑць (наприклад Ðрхів/2012/06)';
+$labels['archivetypefolder'] = 'Оригінальний каталог';
+$labels['archivetypesender'] = 'Відправник email';
$labels['unkownsender'] = 'невідомо';
?>
diff --git a/plugins/archive/localization/vi_VN.inc b/plugins/archive/localization/vi_VN.inc
index 61e02085b..b2fe3899a 100644
--- a/plugins/archive/localization/vi_VN.inc
+++ b/plugins/archive/localization/vi_VN.inc
@@ -18,5 +18,14 @@
$labels['buttontext'] = 'Lưu trữ';
$labels['buttontitle'] = 'Lưu lại bức thư này';
$labels['archived'] = 'Lưu lại thành công';
+$labels['archivedreload'] = 'Äã lÆ°u thành công. Tải lại trang này để thấy các thÆ° mục lÆ°u trữ má»›i.';
+$labels['archiveerror'] = 'Một số thư không thể lưu lại được';
$labels['archivefolder'] = 'Lưu trữ';
+$labels['settingstitle'] = 'Lưu trữ';
+$labels['archivetype'] = 'Chia bộ lưu trữ bởi';
+$labels['archivetypeyear'] = 'Năm (ví dụ: Lưu trữ/2012)';
+$labels['archivetypemonth'] = 'Tháng (ví dụ: Lưu trữ/2012/06)';
+$labels['archivetypefolder'] = 'Thư mục nguyên gốc';
+$labels['archivetypesender'] = 'Äịa chỉ thÆ° Ä‘iện tá»­ của ngÆ°á»i gá»­i';
+$labels['unkownsender'] = 'Không rõ';
?>
diff --git a/plugins/attachment_reminder/localization/el_GR.inc b/plugins/attachment_reminder/localization/el_GR.inc
index e47995f3a..c0d01b404 100644
--- a/plugins/attachment_reminder/localization/el_GR.inc
+++ b/plugins/attachment_reminder/localization/el_GR.inc
@@ -16,5 +16,5 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
*/
$messages['forgotattachment'] = "Μήπως ξεχάσετε να επισυνάψετε ένα αÏχείο; ";
-$messages['reminderoption'] = "ΥπενθÏμιση ξεχάσmena συνημμένα ";
+$messages['reminderoption'] = "Μήπως ξεχάσετε να επισυνάψετε ένα αÏχείο; ";
$messages['keywords'] = "συνημμένο, αÏχείο, συννημενο, επισυναψη, επισυνάπτοντας, κλειστό, βιογÏαφικό σημείωμα, συνοδευτική επιστολή";
diff --git a/plugins/attachment_reminder/localization/en_GB.inc b/plugins/attachment_reminder/localization/en_GB.inc
new file mode 100644
index 000000000..730e206f7
--- /dev/null
+++ b/plugins/attachment_reminder/localization/en_GB.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Did you forget to attach a file?";
+$messages['reminderoption'] = "Remind about forgotten attachments";
+$messages['keywords'] = "attachment,file,attach,attached,attaching,enclosed,CV,cover letter";
diff --git a/plugins/attachment_reminder/localization/es_MX.inc b/plugins/attachment_reminder/localization/es_MX.inc
new file mode 100644
index 000000000..c3b4aaa02
--- /dev/null
+++ b/plugins/attachment_reminder/localization/es_MX.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "";
+$messages['reminderoption'] = "";
+$messages['keywords'] = "";
diff --git a/plugins/attachment_reminder/localization/fo_FO.inc b/plugins/attachment_reminder/localization/fo_FO.inc
new file mode 100644
index 000000000..260ec0361
--- /dev/null
+++ b/plugins/attachment_reminder/localization/fo_FO.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Gloymdi tú at viðhefta ein fíl?";
+$messages['reminderoption'] = "Ãminn um gloymdar viðheftingar";
+$messages['keywords'] = "viðhefting,fílur,heft,viðheft,heftir,lagt inní,CV,fylgi skriv";
diff --git a/plugins/attachment_reminder/localization/hr_HR.inc b/plugins/attachment_reminder/localization/hr_HR.inc
new file mode 100644
index 000000000..4037b16e9
--- /dev/null
+++ b/plugins/attachment_reminder/localization/hr_HR.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "Jeste li zaboravili dodati privitak?";
+$messages['reminderoption'] = "Podsjeti na zaboravljen privitak";
+$messages['keywords'] = "privitak,datoteka,dodati,dodano,dodajem,u privitku,CV,motivacijsko pismo";
diff --git a/plugins/attachment_reminder/localization/km_KH.inc b/plugins/attachment_reminder/localization/km_KH.inc
new file mode 100644
index 000000000..f6b207c1a
--- /dev/null
+++ b/plugins/attachment_reminder/localization/km_KH.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/attachment_reminder/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Archive plugin |
+ | Copyright (C) 2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
+*/
+$messages['forgotattachment'] = "ážáž¾áž¢áŸ’នក​ភ្លáŸáž…​ភ្ជាប់​ឯកសារ​ឬ?";
+$messages['reminderoption'] = "រំលឹង​អំពី​ឯកសារ​ភ្ជាប់​ដែល​បាន​ភ្លáŸáž…";
+$messages['keywords'] = "attachment,file,attach,attached,attaching,enclosed,CV,cover letter";
diff --git a/plugins/attachment_reminder/localization/vi_VN.inc b/plugins/attachment_reminder/localization/vi_VN.inc
index c3b4aaa02..b5604302b 100644
--- a/plugins/attachment_reminder/localization/vi_VN.inc
+++ b/plugins/attachment_reminder/localization/vi_VN.inc
@@ -15,6 +15,6 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
*/
-$messages['forgotattachment'] = "";
-$messages['reminderoption'] = "";
-$messages['keywords'] = "";
+$messages['forgotattachment'] = "Bạn đã quên không đính kèm tệp tin?";
+$messages['reminderoption'] = "Nhắc vỠtệp tin đính kèm bị quên";
+$messages['keywords'] = "tệp đính kèm,tệp tin,đính kèm,đã đính kèm,đang đính kèm tập tin,đính kèm,CV,thư mở đầu";
diff --git a/plugins/database_attachments/database_attachments.php b/plugins/database_attachments/database_attachments.php
index 5ec351404..e4abf937e 100644
--- a/plugins/database_attachments/database_attachments.php
+++ b/plugins/database_attachments/database_attachments.php
@@ -126,8 +126,10 @@ class database_attachments extends filesystem_attachments
*/
function cleanup($args)
{
- $cache = $this->get_cache();
- $cache->remove($args['group'], true);
+ // check if cache object exist, it may be empty on session_destroy (#1489726)
+ if ($cache = $this->get_cache()) {
+ $cache->remove($args['group'], true);
+ }
}
/**
diff --git a/plugins/filesystem_attachments/filesystem_attachments.php b/plugins/filesystem_attachments/filesystem_attachments.php
index 8d995ca0d..50bd62465 100644
--- a/plugins/filesystem_attachments/filesystem_attachments.php
+++ b/plugins/filesystem_attachments/filesystem_attachments.php
@@ -16,7 +16,6 @@
* @license GNU GPLv3+
* @author Ziba Scott <ziba@umich.edu>
* @author Thomas Bruederli <roundcube@gmail.com>
- *
*/
class filesystem_attachments extends rcube_plugin
{
@@ -50,7 +49,7 @@ class filesystem_attachments extends rcube_plugin
function upload($args)
{
$args['status'] = false;
- $group = $args['group'];
+ $group = $args['group'];
$rcmail = rcmail::get_instance();
// use common temp dir for file uploads
@@ -58,13 +57,13 @@ class filesystem_attachments extends rcube_plugin
$tmpfname = tempnam($temp_dir, 'rcmAttmnt');
if (move_uploaded_file($args['path'], $tmpfname) && file_exists($tmpfname)) {
- $args['id'] = $this->file_id();
- $args['path'] = $tmpfname;
+ $args['id'] = $this->file_id();
+ $args['path'] = $tmpfname;
$args['status'] = true;
@chmod($tmpfname, 0600); // set correct permissions (#1488996)
// Note the file for later cleanup
- $_SESSION['plugins']['filesystem_attachments'][$group][] = $tmpfname;
+ $_SESSION['plugins']['filesystem_attachments'][$group][$args['id']] = $tmpfname;
}
return $args;
@@ -79,7 +78,7 @@ class filesystem_attachments extends rcube_plugin
$args['status'] = false;
if (!$args['path']) {
- $rcmail = rcmail::get_instance();
+ $rcmail = rcmail::get_instance();
$temp_dir = $rcmail->config->get('temp_dir');
$tmp_path = tempnam($temp_dir, 'rcmAttmnt');
@@ -87,15 +86,17 @@ class filesystem_attachments extends rcube_plugin
fwrite($fp, $args['data']);
fclose($fp);
$args['path'] = $tmp_path;
- } else
+ }
+ else {
return $args;
+ }
}
- $args['id'] = $this->file_id();
+ $args['id'] = $this->file_id();
$args['status'] = true;
// Note the file for later cleanup
- $_SESSION['plugins']['filesystem_attachments'][$group][] = $args['path'];
+ $_SESSION['plugins']['filesystem_attachments'][$group][$args['id']] = $args['path'];
return $args;
}
@@ -139,15 +140,18 @@ class filesystem_attachments extends rcube_plugin
// $_SESSION['compose']['attachments'] is not a complete record of
// temporary files because loading a draft or starting a forward copies
// the file to disk, but does not make an entry in that array
- if (is_array($_SESSION['plugins']['filesystem_attachments'])){
+ if (is_array($_SESSION['plugins']['filesystem_attachments'])) {
foreach ($_SESSION['plugins']['filesystem_attachments'] as $group => $files) {
- if ($args['group'] && $args['group'] != $group)
+ if ($args['group'] && $args['group'] != $group) {
continue;
- foreach ((array)$files as $filename){
- if(file_exists($filename)){
+ }
+
+ foreach ((array)$files as $filename) {
+ if(file_exists($filename)) {
unlink($filename);
}
}
+
unset($_SESSION['plugins']['filesystem_attachments'][$group]);
}
}
@@ -157,7 +161,25 @@ class filesystem_attachments extends rcube_plugin
function file_id()
{
$userid = rcmail::get_instance()->user->ID;
- list($usec, $sec) = explode(' ', microtime());
- return preg_replace('/[^0-9]/', '', $userid . $sec . $usec);
+ list($usec, $sec) = explode(' ', microtime());
+ $id = preg_replace('/[^0-9]/', '', $userid . $sec . $usec);
+
+ // make sure the ID is really unique (#1489546)
+ while ($this->find_file_by_id($id)) {
+ // increment last four characters
+ $x = substr($id, -4) + 1;
+ $id = substr($id, 0, -4) . sprintf('%04d', ($x > 9999 ? $x - 9999 : $x));
+ }
+
+ return $id;
+ }
+
+ private function find_file_by_id($id)
+ {
+ foreach ((array) $_SESSION['plugins']['filesystem_attachments'] as $group => $files) {
+ if (isset($files[$id])) {
+ return true;
+ }
+ }
}
}
diff --git a/plugins/help/config.inc.php.dist b/plugins/help/config.inc.php.dist
index 7cc8d5f00..e7eaf7ad5 100644
--- a/plugins/help/config.inc.php.dist
+++ b/plugins/help/config.inc.php.dist
@@ -2,7 +2,7 @@
// Help content iframe source
// %l will be replaced by the language code resolved using the 'help_language_map' option
-$config['help_source'] = 'http://roundcube.net/doc/help/0.9/%l/';
+$config['help_source'] = 'http://docs.roundcube.net/doc/help/1.0/%l/';
// Map task/action combinations to deep-links
// Use '<task>/<action>' or only '<task>' strings as keys
diff --git a/plugins/help/localization/el_GR.inc b/plugins/help/localization/el_GR.inc
index 74be22bf1..153c7ad48 100644
--- a/plugins/help/localization/el_GR.inc
+++ b/plugins/help/localization/el_GR.inc
@@ -15,7 +15,7 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-help/
*/
-$labels['help'] = 'Βοηθεια';
+$labels['help'] = 'Βοήθεια';
$labels['about'] = 'Σχετικά';
$labels['license'] = 'Άδεια χÏήσης';
?>
diff --git a/program/localization/fy_NL/messages.inc b/plugins/help/localization/fo_FO.inc
index da4e39679..05d7a8652 100644
--- a/program/localization/fy_NL/messages.inc
+++ b/plugins/help/localization/fo_FO.inc
@@ -2,10 +2,10 @@
/*
+-----------------------------------------------------------------------+
- | localization/<lang>/messages.inc |
+ | plugins/help/localization/<lang>.inc |
| |
- | Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Localization file of the Roundcube Webmail Help plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -13,6 +13,9 @@
| |
+-----------------------------------------------------------------------+
- For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/messages/
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-help/
*/
+$labels['help'] = 'Hjálp';
+$labels['about'] = 'Um';
+$labels['license'] = 'Heimildarskjal';
?>
diff --git a/plugins/help/localization/hr_HR.inc b/plugins/help/localization/hr_HR.inc
new file mode 100644
index 000000000..89a46e4ea
--- /dev/null
+++ b/plugins/help/localization/hr_HR.inc
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/help/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Help plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-help/
+*/
+$labels['help'] = 'Pomoć';
+$labels['about'] = 'O programu';
+$labels['license'] = 'Licenca';
+?>
diff --git a/plugins/hide_blockquote/localization/fo_FO.inc b/plugins/hide_blockquote/localization/fo_FO.inc
new file mode 100644
index 000000000..fe962f65b
--- /dev/null
+++ b/plugins/hide_blockquote/localization/fo_FO.inc
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/hide_blockquote/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Hide-Blockquote plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-hide_blockquote/
+*/
+$labels['hide'] = 'Goym';
+$labels['show'] = 'Vís';
+$labels['quotelimit'] = 'Goym stevning tá ið tað eru meiri reglur enn';
+?>
diff --git a/plugins/hide_blockquote/localization/hr_HR.inc b/plugins/hide_blockquote/localization/hr_HR.inc
new file mode 100644
index 000000000..d5cc4f3b5
--- /dev/null
+++ b/plugins/hide_blockquote/localization/hr_HR.inc
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/hide_blockquote/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Hide-Blockquote plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-hide_blockquote/
+*/
+$labels['hide'] = 'Sakrij';
+$labels['show'] = 'Pokaži';
+$labels['quotelimit'] = 'Sakrij citat ako broj linija prelazi';
+?>
diff --git a/plugins/hide_blockquote/localization/km_KH.inc b/plugins/hide_blockquote/localization/km_KH.inc
new file mode 100644
index 000000000..466468d77
--- /dev/null
+++ b/plugins/hide_blockquote/localization/km_KH.inc
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/hide_blockquote/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Hide-Blockquote plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-hide_blockquote/
+*/
+$labels['hide'] = 'លាក់';
+$labels['show'] = 'បង្ហាញ';
+$labels['quotelimit'] = 'លាក់​អážáŸ’ážáž”ទ​សម្រង់​ពáŸáž›â€‹áž…ំនួន​ជួរ​ធំ​ជាង';
+?>
diff --git a/plugins/http_authentication/http_authentication.php b/plugins/http_authentication/http_authentication.php
index 83f29c84f..39d70153a 100644
--- a/plugins/http_authentication/http_authentication.php
+++ b/plugins/http_authentication/http_authentication.php
@@ -19,12 +19,14 @@
*/
class http_authentication extends rcube_plugin
{
+ private $redirect_query;
function init()
{
$this->add_hook('startup', array($this, 'startup'));
$this->add_hook('authenticate', array($this, 'authenticate'));
$this->add_hook('logout_after', array($this, 'logout'));
+ $this->add_hook('login_after', array($this, 'login'));
}
function startup($args)
@@ -34,8 +36,9 @@ class http_authentication extends rcube_plugin
$rcmail->add_shutdown_function(array('http_authentication', 'shutdown'));
// handle login action
- if (empty($args['action']) && empty($_SESSION['user_id'])) {
- $args['action'] = 'login';
+ if (empty($_SESSION['user_id'])) {
+ $args['action'] = 'login';
+ $this->redirect_query = $_SERVER['QUERY_STRING'];
}
// Set user password in session (see shutdown() method for more info)
else if (!empty($_SESSION['user_id']) && empty($_SESSION['password'])
@@ -90,5 +93,15 @@ class http_authentication extends rcube_plugin
// We'll set it back on startup (#1486553)
rcmail::get_instance()->session->remove('password');
}
+
+ function login($args)
+ {
+ // Redirect to the previous QUERY_STRING
+ if($this->redirect_query){
+ header('Location: ./?' . $this->redirect_query);
+ exit;
+ }
+ return $args;
+ }
}
diff --git a/plugins/jqueryui/jqueryui.php b/plugins/jqueryui/jqueryui.php
index e9b3c215e..73daa5d8e 100644
--- a/plugins/jqueryui/jqueryui.php
+++ b/plugins/jqueryui/jqueryui.php
@@ -5,7 +5,7 @@
*
* Provide the jQuery UI library with according themes.
*
- * @version 1.9.1
+ * @version 1.9.2
* @author Cor Bosman <roundcube@wa.ter.net>
* @author Thomas Bruederli <roundcube@gmail.com>
* @license GNU GPLv3+
@@ -16,7 +16,7 @@ class jqueryui extends rcube_plugin
public function init()
{
- $version = '1.9.1';
+ $version = '1.9.2';
$rcmail = rcmail::get_instance();
$this->load_config();
diff --git a/plugins/jqueryui/js/jquery-ui-1.9.1.custom.min.js b/plugins/jqueryui/js/jquery-ui-1.9.1.custom.min.js
deleted file mode 100755
index aa7a923e7..000000000
--- a/plugins/jqueryui/js/jquery-ui-1.9.1.custom.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*! jQuery UI - v1.9.1 - 2012-10-25
-* http://jqueryui.com
-* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.effect.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.progressbar.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.slider.js, jquery.ui.sortable.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js
-* Copyright (c) 2012 jQuery Foundation and other contributors Licensed MIT */
-
-(function(e,t){function i(t,n){var r,i,o,u=t.nodeName.toLowerCase();return"area"===u?(r=t.parentNode,i=r.name,!t.href||!i||r.nodeName.toLowerCase()!=="map"?!1:(o=e("img[usemap=#"+i+"]")[0],!!o&&s(o))):(/input|select|textarea|button|object/.test(u)?!t.disabled:"a"===u?t.href||n:n)&&s(t)}function s(t){return e.expr.filters.visible(t)&&!e(t).parents().andSelf().filter(function(){return e.css(this,"visibility")==="hidden"}).length}var n=0,r=/^ui-id-\d+$/;e.ui=e.ui||{};if(e.ui.version)return;e.extend(e.ui,{version:"1.9.1",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({_focus:e.fn.focus,focus:function(t,n){return typeof t=="number"?this.each(function(){var r=this;setTimeout(function(){e(r).focus(),n&&n.call(r)},t)}):this._focus.apply(this,arguments)},scrollParent:function(){var t;return e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?t=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):t=this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(n){if(n!==t)return this.css("zIndex",n);if(this.length){var r=e(this[0]),i,s;while(r.length&&r[0]!==document){i=r.css("position");if(i==="absolute"||i==="relative"||i==="fixed"){s=parseInt(r.css("zIndex"),10);if(!isNaN(s)&&s!==0)return s}r=r.parent()}}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++n)})},removeUniqueId:function(){return this.each(function(){r.test(this.id)&&e(this).removeAttr("id")})}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(n,r){function u(t,n,r,s){return e.each(i,function(){n-=parseFloat(e.css(t,"padding"+this))||0,r&&(n-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(n-=parseFloat(e.css(t,"margin"+this))||0)}),n}var i=r==="Width"?["Left","Right"]:["Top","Bottom"],s=r.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+r]=function(n){return n===t?o["inner"+r].call(this):this.each(function(){e(this).css(s,u(this,n)+"px")})},e.fn["outer"+r]=function(t,n){return typeof t!="number"?o["outer"+r].call(this,t):this.each(function(){e(this).css(s,u(this,t,!0,n)+"px")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(n){return!!e.data(n,t)}}):function(t,n,r){return!!e.data(t,r[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var n=e.attr(t,"tabindex"),r=isNaN(n);return(r||n>=0)&&i(t,!r)}}),e(function(){var t=document.body,n=t.appendChild(n=document.createElement("div"));n.offsetHeight,e.extend(n.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),e.support.minHeight=n.offsetHeight===100,e.support.selectstart="onselectstart"in n,t.removeChild(n).style.display="none"}),function(){var t=/msie ([\w.]+)/.exec(navigator.userAgent.toLowerCase())||[];e.ui.ie=t.length?!0:!1,e.ui.ie6=parseFloat(t[1],10)===6}(),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,n,r){var i,s=e.ui[t].prototype;for(i in r)s.plugins[i]=s.plugins[i]||[],s.plugins[i].push([n,r[i]])},call:function(e,t,n){var r,i=e.plugins[t];if(!i||!e.element[0].parentNode||e.element[0].parentNode.nodeType===11)return;for(r=0;r<i.length;r++)e.options[i[r][0]]&&i[r][1].apply(e.element,n)}},contains:e.contains,hasScroll:function(t,n){if(e(t).css("overflow")==="hidden")return!1;var r=n&&n==="left"?"scrollLeft":"scrollTop",i=!1;return t[r]>0?!0:(t[r]=1,i=t[r]>0,t[r]=0,i)},isOverAxis:function(e,t,n){return e>t&&e<t+n},isOver:function(t,n,r,i,s,o){return e.ui.isOverAxis(t,r,s)&&e.ui.isOverAxis(n,i,o)}})})(jQuery);(function(e,t){var n=0,r=Array.prototype.slice,i=e.cleanData;e.cleanData=function(t){for(var n=0,r;(r=t[n])!=null;n++)try{e(r).triggerHandler("remove")}catch(s){}i(t)},e.widget=function(t,n,r){var i,s,o,u,a=t.split(".")[0];t=t.split(".")[1],i=a+"-"+t,r||(r=n,n=e.Widget),e.expr[":"][i.toLowerCase()]=function(t){return!!e.data(t,i)},e[a]=e[a]||{},s=e[a][t],o=e[a][t]=function(e,t){if(!this._createWidget)return new o(e,t);arguments.length&&this._createWidget(e,t)},e.extend(o,s,{version:r.version,_proto:e.extend({},r),_childConstructors:[]}),u=new n,u.options=e.widget.extend({},u.options),e.each(r,function(t,i){e.isFunction(i)&&(r[t]=function(){var e=function(){return n.prototype[t].apply(this,arguments)},r=function(e){return n.prototype[t].apply(this,e)};return function(){var t=this._super,n=this._superApply,s;return this._super=e,this._superApply=r,s=i.apply(this,arguments),this._super=t,this._superApply=n,s}}())}),o.prototype=e.widget.extend(u,{widgetEventPrefix:u.widgetEventPrefix||t},r,{constructor:o,namespace:a,widgetName:t,widgetBaseClass:i,widgetFullName:i}),s?(e.each(s._childConstructors,function(t,n){var r=n.prototype;e.widget(r.namespace+"."+r.widgetName,o,n._proto)}),delete s._childConstructors):n._childConstructors.push(o),e.widget.bridge(t,o)},e.widget.extend=function(n){var i=r.call(arguments,1),s=0,o=i.length,u,a;for(;s<o;s++)for(u in i[s])a=i[s][u],i[s].hasOwnProperty(u)&&a!==t&&(e.isPlainObject(a)?n[u]=e.isPlainObject(n[u])?e.widget.extend({},n[u],a):e.widget.extend({},a):n[u]=a);return n},e.widget.bridge=function(n,i){var s=i.prototype.widgetFullName;e.fn[n]=function(o){var u=typeof o=="string",a=r.call(arguments,1),f=this;return o=!u&&a.length?e.widget.extend.apply(null,[o].concat(a)):o,u?this.each(function(){var r,i=e.data(this,s);if(!i)return e.error("cannot call methods on "+n+" prior to initialization; "+"attempted to call method '"+o+"'");if(!e.isFunction(i[o])||o.charAt(0)==="_")return e.error("no such method '"+o+"' for "+n+" widget instance");r=i[o].apply(i,a);if(r!==i&&r!==t)return f=r&&r.jquery?f.pushStack(r.get()):r,!1}):this.each(function(){var t=e.data(this,s);t?t.option(o||{})._init():new i(o,this)}),f}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,r){r=e(r||this.defaultElement||this)[0],this.element=e(r),this.uuid=n++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),r!==this&&(e.data(r,this.widgetName,this),e.data(r,this.widgetFullName,this),this._on(this.element,{remove:function(e){e.target===r&&this.destroy()}}),this.document=e(r.style?r.ownerDocument:r.document||r),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(n,r){var i=n,s,o,u;if(arguments.length===0)return e.widget.extend({},this.options);if(typeof n=="string"){i={},s=n.split("."),n=s.shift();if(s.length){o=i[n]=e.widget.extend({},this.options[n]);for(u=0;u<s.length-1;u++)o[s[u]]=o[s[u]]||{},o=o[s[u]];n=s.pop();if(r===t)return o[n]===t?null:o[n];o[n]=r}else{if(r===t)return this.options[n]===t?null:this.options[n];i[n]=r}}return this._setOptions(i),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,e==="disabled"&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(t,n){var r,i=this;n?(t=r=e(t),this.bindings=this.bindings.add(t)):(n=t,t=this.element,r=this.widget()),e.each(n,function(n,s){function o(){if(i.options.disabled===!0||e(this).hasClass("ui-state-disabled"))return;return(typeof s=="string"?i[s]:s).apply(i,arguments)}typeof s!="string"&&(o.guid=s.guid=s.guid||o.guid||e.guid++);var u=n.match(/^(\w+)\s*(.*)$/),a=u[1]+i.eventNamespace,f=u[2];f?r.delegate(f,a,o):t.bind(a,o)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function n(){return(typeof e=="string"?r[e]:e).apply(r,arguments)}var r=this;return setTimeout(n,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,n,r){var i,s,o=this.options[t];r=r||{},n=e.Event(n),n.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),n.target=this.element[0],s=n.originalEvent;if(s)for(i in s)i in n||(n[i]=s[i]);return this.element.trigger(n,r),!(e.isFunction(o)&&o.apply(this.element[0],[n].concat(r))===!1||n.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,n){e.Widget.prototype["_"+t]=function(r,i,s){typeof i=="string"&&(i={effect:i});var o,u=i?i===!0||typeof i=="number"?n:i.effect||n:t;i=i||{},typeof i=="number"&&(i={duration:i}),o=!e.isEmptyObject(i),i.complete=s,i.delay&&r.delay(i.delay),o&&e.effects&&(e.effects.effect[u]||e.uiBackCompat!==!1&&e.effects[u])?r[t](i):u!==t&&r[u]?r[u](i.duration,i.easing,s):r.queue(function(n){e(this)[t](),s&&s.call(r[0]),n()})}}),e.uiBackCompat!==!1&&(e.Widget.prototype._getCreateOptions=function(){return e.metadata&&e.metadata.get(this.element[0])[this.widgetName]})})(jQuery);(function(e,t){var n=!1;e(document).mouseup(function(e){n=!1}),e.widget("ui.mouse",{version:"1.9.1",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(n){if(!0===e.data(n.target,t.widgetName+".preventClickEvent"))return e.removeData(n.target,t.widgetName+".preventClickEvent"),n.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(n)return;this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var r=this,i=t.which===1,s=typeof this.options.cancel=="string"&&t.target.nodeName?e(t.target).closest(this.options.cancel).length:!1;if(!i||s||!this._mouseCapture(t))return!0;this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){r.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)){this._mouseStarted=this._mouseStart(t)!==!1;if(!this._mouseStarted)return t.preventDefault(),!0}return!0===e.data(t.target,this.widgetName+".preventClickEvent")&&e.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return r._mouseMove(e)},this._mouseUpDelegate=function(e){return r._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),n=!0,!0},_mouseMove:function(t){return!e.ui.ie||document.documentMode>=9||!!t.button?this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted):this._mouseUp(t)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(e){return this.mouseDelayMet},_mouseStart:function(e){},_mouseDrag:function(e){},_mouseStop:function(e){},_mouseCapture:function(e){return!0}})})(jQuery);(function(e,t){function h(e,t,n){return[parseInt(e[0],10)*(l.test(e[0])?t/100:1),parseInt(e[1],10)*(l.test(e[1])?n/100:1)]}function p(t,n){return parseInt(e.css(t,n),10)||0}e.ui=e.ui||{};var n,r=Math.max,i=Math.abs,s=Math.round,o=/left|center|right/,u=/top|center|bottom/,a=/[\+\-]\d+%?/,f=/^\w+/,l=/%$/,c=e.fn.position;e.position={scrollbarWidth:function(){if(n!==t)return n;var r,i,s=e("<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return e("body").append(s),r=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,r===i&&(i=s[0].clientWidth),s.remove(),n=r-i},getScrollInfo:function(t){var n=t.isWindow?"":t.element.css("overflow-x"),r=t.isWindow?"":t.element.css("overflow-y"),i=n==="scroll"||n==="auto"&&t.width<t.element[0].scrollWidth,s=r==="scroll"||r==="auto"&&t.height<t.element[0].scrollHeight;return{width:i?e.position.scrollbarWidth():0,height:s?e.position.scrollbarWidth():0}},getWithinInfo:function(t){var n=e(t||window),r=e.isWindow(n[0]);return{element:n,isWindow:r,offset:n.offset()||{left:0,top:0},scrollLeft:n.scrollLeft(),scrollTop:n.scrollTop(),width:r?n.width():n.outerWidth(),height:r?n.height():n.outerHeight()}}},e.fn.position=function(t){if(!t||!t.of)return c.apply(this,arguments);t=e.extend({},t);var n,l,d,v,m,g=e(t.of),y=e.position.getWithinInfo(t.within),b=e.position.getScrollInfo(y),w=g[0],E=(t.collision||"flip").split(" "),S={};return w.nodeType===9?(l=g.width(),d=g.height(),v={top:0,left:0}):e.isWindow(w)?(l=g.width(),d=g.height(),v={top:g.scrollTop(),left:g.scrollLeft()}):w.preventDefault?(t.at="left top",l=d=0,v={top:w.pageY,left:w.pageX}):(l=g.outerWidth(),d=g.outerHeight(),v=g.offset()),m=e.extend({},v),e.each(["my","at"],function(){var e=(t[this]||"").split(" "),n,r;e.length===1&&(e=o.test(e[0])?e.concat(["center"]):u.test(e[0])?["center"].concat(e):["center","center"]),e[0]=o.test(e[0])?e[0]:"center",e[1]=u.test(e[1])?e[1]:"center",n=a.exec(e[0]),r=a.exec(e[1]),S[this]=[n?n[0]:0,r?r[0]:0],t[this]=[f.exec(e[0])[0],f.exec(e[1])[0]]}),E.length===1&&(E[1]=E[0]),t.at[0]==="right"?m.left+=l:t.at[0]==="center"&&(m.left+=l/2),t.at[1]==="bottom"?m.top+=d:t.at[1]==="center"&&(m.top+=d/2),n=h(S.at,l,d),m.left+=n[0],m.top+=n[1],this.each(function(){var o,u,a=e(this),f=a.outerWidth(),c=a.outerHeight(),w=p(this,"marginLeft"),x=p(this,"marginTop"),T=f+w+p(this,"marginRight")+b.width,N=c+x+p(this,"marginBottom")+b.height,C=e.extend({},m),k=h(S.my,a.outerWidth(),a.outerHeight());t.my[0]==="right"?C.left-=f:t.my[0]==="center"&&(C.left-=f/2),t.my[1]==="bottom"?C.top-=c:t.my[1]==="center"&&(C.top-=c/2),C.left+=k[0],C.top+=k[1],e.support.offsetFractions||(C.left=s(C.left),C.top=s(C.top)),o={marginLeft:w,marginTop:x},e.each(["left","top"],function(r,i){e.ui.position[E[r]]&&e.ui.position[E[r]][i](C,{targetWidth:l,targetHeight:d,elemWidth:f,elemHeight:c,collisionPosition:o,collisionWidth:T,collisionHeight:N,offset:[n[0]+k[0],n[1]+k[1]],my:t.my,at:t.at,within:y,elem:a})}),e.fn.bgiframe&&a.bgiframe(),t.using&&(u=function(e){var n=v.left-C.left,s=n+l-f,o=v.top-C.top,u=o+d-c,h={target:{element:g,left:v.left,top:v.top,width:l,height:d},element:{element:a,left:C.left,top:C.top,width:f,height:c},horizontal:s<0?"left":n>0?"right":"center",vertical:u<0?"top":o>0?"bottom":"middle"};l<f&&i(n+s)<l&&(h.horizontal="center"),d<c&&i(o+u)<d&&(h.vertical="middle"),r(i(n),i(s))>r(i(o),i(u))?h.important="horizontal":h.important="vertical",t.using.call(this,e,h)}),a.offset(e.extend(C,{using:u}))})},e.ui.position={fit:{left:function(e,t){var n=t.within,i=n.isWindow?n.scrollLeft:n.offset.left,s=n.width,o=e.left-t.collisionPosition.marginLeft,u=i-o,a=o+t.collisionWidth-s-i,f;t.collisionWidth>s?u>0&&a<=0?(f=e.left+u+t.collisionWidth-s-i,e.left+=u-f):a>0&&u<=0?e.left=i:u>a?e.left=i+s-t.collisionWidth:e.left=i:u>0?e.left+=u:a>0?e.left-=a:e.left=r(e.left-o,e.left)},top:function(e,t){var n=t.within,i=n.isWindow?n.scrollTop:n.offset.top,s=t.within.height,o=e.top-t.collisionPosition.marginTop,u=i-o,a=o+t.collisionHeight-s-i,f;t.collisionHeight>s?u>0&&a<=0?(f=e.top+u+t.collisionHeight-s-i,e.top+=u-f):a>0&&u<=0?e.top=i:u>a?e.top=i+s-t.collisionHeight:e.top=i:u>0?e.top+=u:a>0?e.top-=a:e.top=r(e.top-o,e.top)}},flip:{left:function(e,t){var n=t.within,r=n.offset.left+n.scrollLeft,s=n.width,o=n.isWindow?n.scrollLeft:n.offset.left,u=e.left-t.collisionPosition.marginLeft,a=u-o,f=u+t.collisionWidth-s-o,l=t.my[0]==="left"?-t.elemWidth:t.my[0]==="right"?t.elemWidth:0,c=t.at[0]==="left"?t.targetWidth:t.at[0]==="right"?-t.targetWidth:0,h=-2*t.offset[0],p,d;if(a<0){p=e.left+l+c+h+t.collisionWidth-s-r;if(p<0||p<i(a))e.left+=l+c+h}else if(f>0){d=e.left-t.collisionPosition.marginLeft+l+c+h-o;if(d>0||i(d)<f)e.left+=l+c+h}},top:function(e,t){var n=t.within,r=n.offset.top+n.scrollTop,s=n.height,o=n.isWindow?n.scrollTop:n.offset.top,u=e.top-t.collisionPosition.marginTop,a=u-o,f=u+t.collisionHeight-s-o,l=t.my[1]==="top",c=l?-t.elemHeight:t.my[1]==="bottom"?t.elemHeight:0,h=t.at[1]==="top"?t.targetHeight:t.at[1]==="bottom"?-t.targetHeight:0,p=-2*t.offset[1],d,v;a<0?(v=e.top+c+h+p+t.collisionHeight-s-r,e.top+c+h+p>a&&(v<0||v<i(a))&&(e.top+=c+h+p)):f>0&&(d=e.top-t.collisionPosition.marginTop+c+h+p-o,e.top+c+h+p>f&&(d>0||i(d)<f)&&(e.top+=c+h+p))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,n,r,i,s,o=document.getElementsByTagName("body")[0],u=document.createElement("div");t=document.createElement(o?"div":"body"),r={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},o&&e.extend(r,{position:"absolute",left:"-1000px",top:"-1000px"});for(s in r)t.style[s]=r[s];t.appendChild(u),n=o||document.documentElement,n.insertBefore(t,n.firstChild),u.style.cssText="position: absolute; left: 10.7432222px;",i=e(u).offset().left,e.support.offsetFractions=i>10&&i<11,t.innerHTML="",n.removeChild(t)}(),e.uiBackCompat!==!1&&function(e){var n=e.fn.position;e.fn.position=function(r){if(!r||!r.offset)return n.call(this,r);var i=r.offset.split(" "),s=r.at.split(" ");return i.length===1&&(i[1]=i[0]),/^\d/.test(i[0])&&(i[0]="+"+i[0]),/^\d/.test(i[1])&&(i[1]="+"+i[1]),s.length===1&&(/left|center|right/.test(s[0])?s[1]="center":(s[1]=s[0],s[0]="center")),n.call(this,e.extend(r,{at:s[0]+i[0]+" "+s[1]+i[1],offset:t}))}}(jQuery)})(jQuery);(function(e,t){var n=0,r={},i={};r.height=r.paddingTop=r.paddingBottom=r.borderTopWidth=r.borderBottomWidth="hide",i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="show",e.widget("ui.accordion",{version:"1.9.1",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var t=this.accordionId="ui-accordion-"+(this.element.attr("id")||++n),r=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset"),this.headers=this.element.find(r.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this._hoverable(this.headers),this._focusable(this.headers),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").hide(),!r.collapsible&&(r.active===!1||r.active==null)&&(r.active=0),r.active<0&&(r.active+=this.headers.length),this.active=this._findActive(r.active).addClass("ui-accordion-header-active ui-state-active").toggleClass("ui-corner-all ui-corner-top"),this.active.next().addClass("ui-accordion-content-active").show(),this._createIcons(),this.refresh(),this.element.attr("role","tablist"),this.headers.attr("role","tab").each(function(n){var r=e(this),i=r.attr("id"),s=r.next(),o=s.attr("id");i||(i=t+"-header-"+n,r.attr("id",i)),o||(o=t+"-panel-"+n,s.attr("id",o)),r.attr("aria-controls",o),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false",tabIndex:-1}).next().attr({"aria-expanded":"false","aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true",tabIndex:0}).next().attr({"aria-expanded":"true","aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._on(this.headers,{keydown:"_keydown"}),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._setupEvents(r.event)},_getCreateEventData:function(){return{header:this.active,content:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("<span>").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),e=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this.options.heightStyle!=="content"&&e.css("height","")},_setOption:function(e,t){if(e==="active"){this._activate(t);return}e==="event"&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),e==="collapsible"&&!t&&this.options.active===!1&&this._activate(0),e==="icons"&&(this._destroyIcons(),t&&this._createIcons()),e==="disabled"&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t)},_keydown:function(t){if(t.altKey||t.ctrlKey)return;var n=e.ui.keyCode,r=this.headers.length,i=this.headers.index(t.target),s=!1;switch(t.keyCode){case n.RIGHT:case n.DOWN:s=this.headers[(i+1)%r];break;case n.LEFT:case n.UP:s=this.headers[(i-1+r)%r];break;case n.SPACE:case n.ENTER:this._eventHandler(t);break;case n.HOME:s=this.headers[0];break;case n.END:s=this.headers[r-1]}s&&(e(t.target).attr("tabIndex",-1),e(s).attr("tabIndex",0),s.focus(),t.preventDefault())},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t,n,r=this.options.heightStyle,i=this.element.parent();r==="fill"?(e.support.minHeight||(n=i.css("overflow"),i.css("overflow","hidden")),t=i.height(),this.element.siblings(":visible").each(function(){var n=e(this),r=n.css("position");if(r==="absolute"||r==="fixed")return;t-=n.outerHeight(!0)}),n&&i.css("overflow",n),this.headers.each(function(){t-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):r==="auto"&&(t=0,this.headers.next().each(function(){t=Math.max(t,e(this).height("").height())}).height(t))},_activate:function(t){var n=this._findActive(t)[0];if(n===this.active[0])return;n=n||this.active[0],this._eventHandler({target:n,currentTarget:n,preventDefault:e.noop})},_findActive:function(t){return typeof t=="number"?this.headers.eq(t):e()},_setupEvents:function(t){var n={};if(!t)return;e.each(t.split(" "),function(e,t){n[t]="_eventHandler"}),this._on(this.headers,n)},_eventHandler:function(t){var n=this.options,r=this.active,i=e(t.currentTarget),s=i[0]===r[0],o=s&&n.collapsible,u=o?e():i.next(),a=r.next(),f={oldHeader:r,oldPanel:a,newHeader:o?e():i,newPanel:u};t.preventDefault();if(s&&!n.collapsible||this._trigger("beforeActivate",t,f)===!1)return;n.active=o?!1:this.headers.index(i),this.active=s?e():i,this._toggle(f),r.removeClass("ui-accordion-header-active ui-state-active"),n.icons&&r.children(".ui-accordion-header-icon").removeClass(n.icons.activeHeader).addClass(n.icons.header),s||(i.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),n.icons&&i.children(".ui-accordion-header-icon").removeClass(n.icons.header).addClass(n.icons.activeHeader),i.next().addClass("ui-accordion-content-active"))},_toggle:function(t){var n=t.newPanel,r=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=n,this.prevHide=r,this.options.animate?this._animate(n,r,t):(r.hide(),n.show(),this._toggleComplete(t)),r.attr({"aria-expanded":"false","aria-hidden":"true"}),r.prev().attr("aria-selected","false"),n.length&&r.length?r.prev().attr("tabIndex",-1):n.length&&this.headers.filter(function(){return e(this).attr("tabIndex")===0}).attr("tabIndex",-1),n.attr({"aria-expanded":"true","aria-hidden":"false"}).prev().attr({"aria-selected":"true",tabIndex:0})},_animate:function(e,t,n){var s,o,u,a=this,f=0,l=e.length&&(!t.length||e.index()<t.index()),c=this.options.animate||{},h=l&&c.down||c,p=function(){a._toggleComplete(n)};typeof h=="number"&&(u=h),typeof h=="string"&&(o=h),o=o||h.easing||c.easing,u=u||h.duration||c.duration;if(!t.length)return e.animate(i,u,o,p);if(!e.length)return t.animate(r,u,o,p);s=e.show().outerHeight(),t.animate(r,{duration:u,easing:o,step:function(e,t){t.now=Math.round(e)}}),e.hide().animate(i,{duration:u,easing:o,complete:p,step:function(e,n){n.now=Math.round(e),n.prop!=="height"?f+=n.now:a.options.heightStyle!=="content"&&(n.now=Math.round(s-t.outerHeight()-f),f=0)}})},_toggleComplete:function(e){var t=e.oldPanel;t.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),t.length&&(t.parent()[0].className=t.parent()[0].className),this._trigger("activate",null,e)}}),e.uiBackCompat!==!1&&(function(e,t){e.extend(t.options,{navigation:!1,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}});var n=t._create;t._create=function(){if(this.options.navigation){var t=this,r=this.element.find(this.options.header),i=r.next(),s=r.add(i).find("a").filter(this.options.navigationFilter)[0];s&&r.add(i).each(function(n){if(e.contains(this,s))return t.options.active=Math.floor(n/2),!1})}n.call(this)}}(jQuery,jQuery.ui.accordion.prototype),function(e,t){e.extend(t.options,{heightStyle:null,autoHeight:!0,clearStyle:!1,fillSpace:!1});var n=t._create,r=t._setOption;e.extend(t,{_create:function(){this.options.heightStyle=this.options.heightStyle||this._mergeHeightStyle(),n.call(this)},_setOption:function(e){if(e==="autoHeight"||e==="clearStyle"||e==="fillSpace")this.options.heightStyle=this._mergeHeightStyle();r.apply(this,arguments)},_mergeHeightStyle:function(){var e=this.options;if(e.fillSpace)return"fill";if(e.clearStyle)return"content";if(e.autoHeight)return"auto"}})}(jQuery,jQuery.ui.accordion.prototype),function(e,t){e.extend(t.options.icons,{activeHeader:null,headerSelected:"ui-icon-triangle-1-s"});var n=t._createIcons;t._createIcons=function(){this.options.icons&&(this.options.icons.activeHeader=this.options.icons.activeHeader||this.options.icons.headerSelected),n.call(this)}}(jQuery,jQuery.ui.accordion.prototype),function(e,t){t.activate=t._activate;var n=t._findActive;t._findActive=function(e){return e===-1&&(e=!1),e&&typeof e!="number"&&(e=this.headers.index(this.headers.filter(e)),e===-1&&(e=!1)),n.call(this,e)}}(jQuery,jQuery.ui.accordion.prototype),jQuery.ui.accordion.prototype.resize=jQuery.ui.accordion.prototype.refresh,function(e,t){e.extend(t.options,{change:null,changestart:null});var n=t._trigger;t._trigger=function(e,t,r){var i=n.apply(this,arguments);return i?(e==="beforeActivate"?i=n.call(this,"changestart",t,{oldHeader:r.oldHeader,oldContent:r.oldPanel,newHeader:r.newHeader,newContent:r.newPanel}):e==="activate"&&(i=n.call(this,"change",t,{oldHeader:r.oldHeader,oldContent:r.oldPanel,newHeader:r.newHeader,newContent:r.newPanel})),i):!1}}(jQuery,jQuery.ui.accordion.prototype),function(e,t){e.extend(t.options,{animate:null,animated:"slide"});var n=t._create;t._create=function(){var e=this.options;e.animate===null&&(e.animated?e.animated==="slide"?e.animate=300:e.animated==="bounceslide"?e.animate={duration:200,down:{easing:"easeOutBounce",duration:1e3}}:e.animate=e.animated:e.animate=!1),n.call(this)}}(jQuery,jQuery.ui.accordion.prototype))})(jQuery);(function(e,t){var n=0;e.widget("ui.autocomplete",{version:"1.9.1",defaultElement:"<input>",options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},pending:0,_create:function(){var t,n,r;this.isMultiLine=this._isMultiLine(),this.valueMethod=this.element[this.element.is("input,textarea")?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(i){if(this.element.prop("readOnly")){t=!0,r=!0,n=!0;return}t=!1,r=!1,n=!1;var s=e.ui.keyCode;switch(i.keyCode){case s.PAGE_UP:t=!0,this._move("previousPage",i);break;case s.PAGE_DOWN:t=!0,this._move("nextPage",i);break;case s.UP:t=!0,this._keyEvent("previous",i);break;case s.DOWN:t=!0,this._keyEvent("next",i);break;case s.ENTER:case s.NUMPAD_ENTER:this.menu.active&&(t=!0,i.preventDefault(),this.menu.select(i));break;case s.TAB:this.menu.active&&this.menu.select(i);break;case s.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(i),i.preventDefault());break;default:n=!0,this._searchTimeout(i)}},keypress:function(r){if(t){t=!1,r.preventDefault();return}if(n)return;var i=e.ui.keyCode;switch(r.keyCode){case i.PAGE_UP:this._move("previousPage",r);break;case i.PAGE_DOWN:this._move("nextPage",r);break;case i.UP:this._keyEvent("previous",r);break;case i.DOWN:this._keyEvent("next",r)}},input:function(e){if(r){r=!1,e.preventDefault();return}this._searchTimeout(e)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){if(this.cancelBlur){delete this.cancelBlur;return}clearTimeout(this.searching),this.close(e),this._change(e)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete").appendTo(this.document.find(this.options.appendTo||"body")[0]).menu({input:e(),role:null}).zIndex(this.element.zIndex()+1).hide().data("menu"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var n=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(r){r.target!==t.element[0]&&r.target!==n&&!e.contains(n,r.target)&&t.close()})})},menufocus:function(t,n){if(this.isNewMenu){this.isNewMenu=!1;if(t.originalEvent&&/^mouse/.test(t.originalEvent.type)){this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)});return}}var r=n.item.data("ui-autocomplete-item")||n.item.data("item.autocomplete");!1!==this._trigger("focus",t,{item:r})?t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(r.value):this.liveRegion.text(r.value)},menuselect:function(e,t){var n=t.item.data("ui-autocomplete-item")||t.item.data("item.autocomplete"),r=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=r,this._delay(function(){this.previous=r,this.selectedItem=n})),!1!==this._trigger("select",e,{item:n})&&this._value(n.value),this.term=this._value(),this.close(e),this.selectedItem=n}}),this.liveRegion=e("<span>",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertAfter(this.element),e.fn.bgiframe&&this.menu.element.bgiframe(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),e==="source"&&this._initSource(),e==="appendTo"&&this.menu.element.appendTo(this.document.find(t||"body")[0]),e==="disabled"&&t&&this.xhr&&this.xhr.abort()},_isMultiLine:function(){return this.element.is("textarea")?!0:this.element.is("input")?!1:this.element.prop("isContentEditable")},_initSource:function(){var t,n,r=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(n,r){r(e.ui.autocomplete.filter(t,n.term))}):typeof this.options.source=="string"?(n=this.options.source,this.source=function(t,i){r.xhr&&r.xhr.abort(),r.xhr=e.ajax({url:n,data:t,dataType:"json",success:function(e){i(e)},error:function(){i([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){e=e!=null?e:this._value(),this.term=this._value();if(e.length<this.options.minLength)return this.close(t);if(this._trigger("search",t)===!1)return;return this._search(e)},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var e=this,t=++n;return function(r){t===n&&e.__response(r),e.pending--,e.pending||e.element.removeClass("ui-autocomplete-loading")}},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return typeof t=="string"?{label:t,value:t}:e.extend({label:t.label||t.value,value:t.value||t.label},t)})},_suggest:function(t){var n=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(n,t),this.menu.refresh(),n.show(),this._resizeMenu(),n.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,n){var r=this;e.each(n,function(e,n){r._renderItemData(t,n)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,n){return e("<li>").append(e("<a>").text(n.label)).appendTo(t)},_move:function(e,t){if(!this.menu.element.is(":visible")){this.search(null,t);return}if(this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)){this._value(this.term),this.menu.blur();return}this.menu[e](t)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){if(!this.isMultiLine||this.menu.element.is(":visible"))this._move(e,t),t.preventDefault()}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,n){var r=new RegExp(e.ui.autocomplete.escapeRegex(n),"i");return e.grep(t,function(e){return r.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var t;this._superApply(arguments);if(this.options.disabled||this.cancelSearch)return;e&&e.length?t=this.options.messages.results(e.length):t=this.options.messages.noResults,this.liveRegion.text(t)}})})(jQuery);(function(e,t){var n,r,i,s,o="ui-button ui-widget ui-state-default ui-corner-all",u="ui-state-hover ui-state-active ",a="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",f=function(){var t=e(this).find(":ui-button");setTimeout(function(){t.button("refresh")},1)},l=function(t){var n=t.name,r=t.form,i=e([]);return n&&(r?i=e(r).find("[name='"+n+"']"):i=e("[name='"+n+"']",t.ownerDocument).filter(function(){return!this.form})),i};e.widget("ui.button",{version:"1.9.1",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,f),typeof this.options.disabled!="boolean"?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var t=this,u=this.options,a=this.type==="checkbox"||this.type==="radio",c="ui-state-hover"+(a?"":" ui-state-active"),h="ui-state-focus";u.label===null&&(u.label=this.type==="input"?this.buttonElement.val():this.buttonElement.html()),this.buttonElement.addClass(o).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){if(u.disabled)return;e(this).addClass("ui-state-hover"),this===n&&e(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){if(u.disabled)return;e(this).removeClass(c)}).bind("click"+this.eventNamespace,function(e){u.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}),this.element.bind("focus"+this.eventNamespace,function(){t.buttonElement.addClass(h)}).bind("blur"+this.eventNamespace,function(){t.buttonElement.removeClass(h)}),a&&(this.element.bind("change"+this.eventNamespace,function(){if(s)return;t.refresh()}),this.buttonElement.bind("mousedown"+this.eventNamespace,function(e){if(u.disabled)return;s=!1,r=e.pageX,i=e.pageY}).bind("mouseup"+this.eventNamespace,function(e){if(u.disabled)return;if(r!==e.pageX||i!==e.pageY)s=!0})),this.type==="checkbox"?this.buttonElement.bind("click"+this.eventNamespace,function(){if(u.disabled||s)return!1;e(this).toggleClass("ui-state-active"),t.buttonElement.attr("aria-pressed",t.element[0].checked)}):this.type==="radio"?this.buttonElement.bind("click"+this.eventNamespace,function(){if(u.disabled||s)return!1;e(this).addClass("ui-state-active"),t.buttonElement.attr("aria-pressed","true");var n=t.element[0];l(n).not(n).map(function(){return e(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){if(u.disabled)return!1;e(this).addClass("ui-state-active"),n=this,t.document.one("mouseup",function(){n=null})}).bind("mouseup"+this.eventNamespace,function(){if(u.disabled)return!1;e(this).removeClass("ui-state-active")}).bind("keydown"+this.eventNamespace,function(t){if(u.disabled)return!1;(t.keyCode===e.ui.keyCode.SPACE||t.keyCode===e.ui.keyCode.ENTER)&&e(this).addClass("ui-state-active")}).bind("keyup"+this.eventNamespace,function(){e(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(t){t.keyCode===e.ui.keyCode.SPACE&&e(this).click()})),this._setOption("disabled",u.disabled),this._resetButton()},_determineButtonType:function(){var e,t,n;this.element.is("[type=checkbox]")?this.type="checkbox":this.element.is("[type=radio]")?this.type="radio":this.element.is("input")?this.type="input":this.type="button",this.type==="checkbox"||this.type==="radio"?(e=this.element.parents().last(),t="label[for='"+this.element.attr("id")+"']",this.buttonElement=e.find(t),this.buttonElement.length||(e=e.length?e.siblings():this.element.siblings(),this.buttonElement=e.filter(t),this.buttonElement.length||(this.buttonElement=e.find(t))),this.element.addClass("ui-helper-hidden-accessible"),n=this.element.is(":checked"),n&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",n)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(o+" "+u+" "+a).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(e,t){this._super(e,t);if(e==="disabled"){t?this.element.prop("disabled",!0):this.element.prop("disabled",!1);return}this._resetButton()},refresh:function(){var t=this.element.is(":disabled")||this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOption("disabled",t),this.type==="radio"?l(this.element[0]).each(function(){e(this).is(":checked")?e(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):this.type==="checkbox"&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if(this.type==="input"){this.options.label&&this.element.val(this.options.label);return}var t=this.buttonElement.removeClass(a),n=e("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(t.empty()).text(),r=this.options.icons,i=r.primary&&r.secondary,s=[];r.primary||r.secondary?(this.options.text&&s.push("ui-button-text-icon"+(i?"s":r.primary?"-primary":"-secondary")),r.primary&&t.prepend("<span class='ui-button-icon-primary ui-icon "+r.primary+"'></span>"),r.secondary&&t.append("<span class='ui-button-icon-secondary ui-icon "+r.secondary+"'></span>"),this.options.text||(s.push(i?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||t.attr("title",e.trim(n)))):s.push("ui-button-text-only"),t.addClass(s.join(" "))}}),e.widget("ui.buttonset",{version:"1.9.1",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(e,t){e==="disabled"&&this.buttons.button("option",e,t),this._super(e,t)},refresh:function(){var t=this.element.css("direction")==="rtl";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(t?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}})})(jQuery);(function($,undefined){function Datepicker(){this.debug=!1,this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},$.extend(this._defaults,this.regional[""]),this.dpDiv=bindHover($('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function bindHover(e){var t="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.delegate(t,"mouseout",function(){$(this).removeClass("ui-state-hover"),this.className.indexOf("ui-datepicker-prev")!=-1&&$(this).removeClass("ui-datepicker-prev-hover"),this.className.indexOf("ui-datepicker-next")!=-1&&$(this).removeClass("ui-datepicker-next-hover")}).delegate(t,"mouseover",function(){$.datepicker._isDisabledDatepicker(instActive.inline?e.parent()[0]:instActive.input[0])||($(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),$(this).addClass("ui-state-hover"),this.className.indexOf("ui-datepicker-prev")!=-1&&$(this).addClass("ui-datepicker-prev-hover"),this.className.indexOf("ui-datepicker-next")!=-1&&$(this).addClass("ui-datepicker-next-hover"))})}function extendRemove(e,t){$.extend(e,t);for(var n in t)if(t[n]==null||t[n]==undefined)e[n]=t[n];return e}$.extend($.ui,{datepicker:{version:"1.9.1"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return extendRemove(this._defaults,e||{}),this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(e,t){var n=e[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:n,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:t,dpDiv:t?bindHover($('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')):this.dpDiv}},_connectDatepicker:function(e,t){var n=$(e);t.append=$([]),t.trigger=$([]);if(n.hasClass(this.markerClassName))return;this._attachments(n,t),n.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,n,r){t.settings[n]=r}).bind("getData.datepicker",function(e,n){return this._get(t,n)}),this._autoSize(t),$.data(e,PROP_NAME,t),t.settings.disabled&&this._disableDatepicker(e)},_attachments:function(e,t){var n=this._get(t,"appendText"),r=this._get(t,"isRTL");t.append&&t.append.remove(),n&&(t.append=$('<span class="'+this._appendClass+'">'+n+"</span>"),e[r?"before":"after"](t.append)),e.unbind("focus",this._showDatepicker),t.trigger&&t.trigger.remove();var i=this._get(t,"showOn");(i=="focus"||i=="both")&&e.focus(this._showDatepicker);if(i=="button"||i=="both"){var s=this._get(t,"buttonText"),o=this._get(t,"buttonImage");t.trigger=$(this._get(t,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:o,alt:s,title:s}):$('<button type="button"></button>').addClass(this._triggerClass).html(o==""?s:$("<img/>").attr({src:o,alt:s,title:s}))),e[r?"before":"after"](t.trigger),t.trigger.click(function(){return $.datepicker._datepickerShowing&&$.datepicker._lastInput==e[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=e[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(e[0])):$.datepicker._showDatepicker(e[0]),!1})}},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t=new Date(2009,11,20),n=this._get(e,"dateFormat");if(n.match(/[DM]/)){var r=function(e){var t=0,n=0;for(var r=0;r<e.length;r++)e[r].length>t&&(t=e[r].length,n=r);return n};t.setMonth(r(this._get(e,n.match(/MM/)?"monthNames":"monthNamesShort"))),t.setDate(r(this._get(e,n.match(/DD/)?"dayNames":"dayNamesShort"))+20-t.getDay())}e.input.attr("size",this._formatDate(e,t).length)}},_inlineDatepicker:function(e,t){var n=$(e);if(n.hasClass(this.markerClassName))return;n.addClass(this.markerClassName).append(t.dpDiv).bind("setData.datepicker",function(e,n,r){t.settings[n]=r}).bind("getData.datepicker",function(e,n){return this._get(t,n)}),$.data(e,PROP_NAME,t),this._setDate(t,this._getDefaultDate(t),!0),this._updateDatepicker(t),this._updateAlternate(t),t.settings.disabled&&this._disableDatepicker(e),t.dpDiv.css("display","block")},_dialogDatepicker:function(e,t,n,r,i){var s=this._dialogInst;if(!s){this.uuid+=1;var o="dp"+this.uuid;this._dialogInput=$('<input type="text" id="'+o+'" style="position: absolute; top: -100px; width: 0px;"/>'),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),s=this._dialogInst=this._newInst(this._dialogInput,!1),s.settings={},$.data(this._dialogInput[0],PROP_NAME,s)}extendRemove(s.settings,r||{}),t=t&&t.constructor==Date?this._formatDate(s,t):t,this._dialogInput.val(t),this._pos=i?i.length?i:[i.pageX,i.pageY]:null;if(!this._pos){var u=document.documentElement.clientWidth,a=document.documentElement.clientHeight,f=document.documentElement.scrollLeft||document.body.scrollLeft,l=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[u/2-100+f,a/2-150+l]}return this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),s.settings.onSelect=n,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,s),this},_destroyDatepicker:function(e){var t=$(e),n=$.data(e,PROP_NAME);if(!t.hasClass(this.markerClassName))return;var r=e.nodeName.toLowerCase();$.removeData(e,PROP_NAME),r=="input"?(n.append.remove(),n.trigger.remove(),t.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):(r=="div"||r=="span")&&t.removeClass(this.markerClassName).empty()},_enableDatepicker:function(e){var t=$(e),n=$.data(e,PROP_NAME);if(!t.hasClass(this.markerClassName))return;var r=e.nodeName.toLowerCase();if(r=="input")e.disabled=!1,n.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(r=="div"||r=="span"){var i=t.children("."+this._inlineClass);i.children().removeClass("ui-state-disabled"),i.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)}this._disabledInputs=$.map(this._disabledInputs,function(t){return t==e?null:t})},_disableDatepicker:function(e){var t=$(e),n=$.data(e,PROP_NAME);if(!t.hasClass(this.markerClassName))return;var r=e.nodeName.toLowerCase();if(r=="input")e.disabled=!0,n.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(r=="div"||r=="span"){var i=t.children("."+this._inlineClass);i.children().addClass("ui-state-disabled"),i.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)}this._disabledInputs=$.map(this._disabledInputs,function(t){return t==e?null:t}),this._disabledInputs[this._disabledInputs.length]=e},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;t<this._disabledInputs.length;t++)if(this._disabledInputs[t]==e)return!0;return!1},_getInst:function(e){try{return $.data(e,PROP_NAME)}catch(t){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,t,n){var r=this._getInst(e);if(arguments.length==2&&typeof t=="string")return t=="defaults"?$.extend({},$.datepicker._defaults):r?t=="all"?$.extend({},r.settings):this._get(r,t):null;var i=t||{};typeof t=="string"&&(i={},i[t]=n);if(r){this._curInst==r&&this._hideDatepicker();var s=this._getDateDatepicker(e,!0),o=this._getMinMaxDate(r,"min"),u=this._getMinMaxDate(r,"max");extendRemove(r.settings,i),o!==null&&i.dateFormat!==undefined&&i.minDate===undefined&&(r.settings.minDate=this._formatDate(r,o)),u!==null&&i.dateFormat!==undefined&&i.maxDate===undefined&&(r.settings.maxDate=this._formatDate(r,u)),this._attachments($(e),r),this._autoSize(r),this._setDate(r,s),this._updateAlternate(r),this._updateDatepicker(r)}},_changeDatepicker:function(e,t,n){this._optionDatepicker(e,t,n)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var n=this._getInst(e);n&&(this._setDate(n,t),this._updateDatepicker(n),this._updateAlternate(n))},_getDateDatepicker:function(e,t){var n=this._getInst(e);return n&&!n.inline&&this._setDateFromField(n,t),n?this._getDate(n):null},_doKeyDown:function(e){var t=$.datepicker._getInst(e.target),n=!0,r=t.dpDiv.is(".ui-datepicker-rtl");t._keyEvent=!0;if($.datepicker._datepickerShowing)switch(e.keyCode){case 9:$.datepicker._hideDatepicker(),n=!1;break;case 13:var i=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",t.dpDiv);i[0]&&$.datepicker._selectDay(e.target,t.selectedMonth,t.selectedYear,i[0]);var s=$.datepicker._get(t,"onSelect");if(s){var o=$.datepicker._formatDate(t);s.apply(t.input?t.input[0]:null,[o,t])}else $.datepicker._hideDatepicker();return!1;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(e.target,e.ctrlKey?-$.datepicker._get(t,"stepBigMonths"):-$.datepicker._get(t,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(e.target,e.ctrlKey?+$.datepicker._get(t,"stepBigMonths"):+$.datepicker._get(t,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&$.datepicker._clearDate(e.target),n=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&$.datepicker._gotoToday(e.target),n=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&$.datepicker._adjustDate(e.target,r?1:-1,"D"),n=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&$.datepicker._adjustDate(e.target,e.ctrlKey?-$.datepicker._get(t,"stepBigMonths"):-$.datepicker._get(t,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&$.datepicker._adjustDate(e.target,-7,"D"),n=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&$.datepicker._adjustDate(e.target,r?-1:1,"D"),n=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&$.datepicker._adjustDate(e.target,e.ctrlKey?+$.datepicker._get(t,"stepBigMonths"):+$.datepicker._get(t,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&$.datepicker._adjustDate(e.target,7,"D"),n=e.ctrlKey||e.metaKey;break;default:n=!1}else e.keyCode==36&&e.ctrlKey?$.datepicker._showDatepicker(this):n=!1;n&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var t=$.datepicker._getInst(e.target);if($.datepicker._get(t,"constrainInput")){var n=$.datepicker._possibleChars($.datepicker._get(t,"dateFormat")),r=String.fromCharCode(e.charCode==undefined?e.keyCode:e.charCode);return e.ctrlKey||e.metaKey||r<" "||!n||n.indexOf(r)>-1}},_doKeyUp:function(e){var t=$.datepicker._getInst(e.target);if(t.input.val()!=t.lastVal)try{var n=$.datepicker.parseDate($.datepicker._get(t,"dateFormat"),t.input?t.input.val():null,$.datepicker._getFormatConfig(t));n&&($.datepicker._setDateFromField(t),$.datepicker._updateAlternate(t),$.datepicker._updateDatepicker(t))}catch(r){$.datepicker.log(r)}return!0},_showDatepicker:function(e){e=e.target||e,e.nodeName.toLowerCase()!="input"&&(e=$("input",e.parentNode)[0]);if($.datepicker._isDisabledDatepicker(e)||$.datepicker._lastInput==e)return;var t=$.datepicker._getInst(e);$.datepicker._curInst&&$.datepicker._curInst!=t&&($.datepicker._curInst.dpDiv.stop(!0,!0),t&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var n=$.datepicker._get(t,"beforeShow"),r=n?n.apply(e,[e,t]):{};if(r===!1)return;extendRemove(t.settings,r),t.lastVal=null,$.datepicker._lastInput=e,$.datepicker._setDateFromField(t),$.datepicker._inDialog&&(e.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(e),$.datepicker._pos[1]+=e.offsetHeight);var i=!1;$(e).parents().each(function(){return i|=$(this).css("position")=="fixed",!i});var s={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,t.dpDiv.empty(),t.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(t),s=$.datepicker._checkOffset(t,s,i),t.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":i?"fixed":"absolute",display:"none",left:s.left+"px",top:s.top+"px"});if(!t.inline){var o=$.datepicker._get(t,"showAnim"),u=$.datepicker._get(t,"duration"),a=function(){var e=t.dpDiv.find("iframe.ui-datepicker-cover");if(!!e.length){var n=$.datepicker._getBorders(t.dpDiv);e.css({left:-n[0],top:-n[1],width:t.dpDiv.outerWidth(),height:t.dpDiv.outerHeight()})}};t.dpDiv.zIndex($(e).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&($.effects.effect[o]||$.effects[o])?t.dpDiv.show(o,$.datepicker._get(t,"showOptions"),u,a):t.dpDiv[o||"show"](o?u:null,a),(!o||!u)&&a(),t.input.is(":visible")&&!t.input.is(":disabled")&&t.input.focus(),$.datepicker._curInst=t}},_updateDatepicker:function(e){this.maxRows=4;var t=$.datepicker._getBorders(e.dpDiv);instActive=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var n=e.dpDiv.find("iframe.ui-datepicker-cover");!n.length||n.css({left:-t[0],top:-t[1],width:e.dpDiv.outerWidth(),height:e.dpDiv.outerHeight()}),e.dpDiv.find("."+this._dayOverClass+" a").mouseover();var r=this._getNumberOfMonths(e),i=r[1],s=17;e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),i>1&&e.dpDiv.addClass("ui-datepicker-multi-"+i).css("width",s*i+"em"),e.dpDiv[(r[0]!=1||r[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e==$.datepicker._curInst&&$.datepicker._datepickerShowing&&e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&e.input[0]!=document.activeElement&&e.input.focus();if(e.yearshtml){var o=e.yearshtml;setTimeout(function(){o===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),o=e.yearshtml=null},0)}},_getBorders:function(e){var t=function(e){return{thin:1,medium:2,thick:3}[e]||e};return[parseFloat(t(e.css("border-left-width"))),parseFloat(t(e.css("border-top-width")))]},_checkOffset:function(e,t,n){var r=e.dpDiv.outerWidth(),i=e.dpDiv.outerHeight(),s=e.input?e.input.outerWidth():0,o=e.input?e.input.outerHeight():0,u=document.documentElement.clientWidth+(n?0:$(document).scrollLeft()),a=document.documentElement.clientHeight+(n?0:$(document).scrollTop());return t.left-=this._get(e,"isRTL")?r-s:0,t.left-=n&&t.left==e.input.offset().left?$(document).scrollLeft():0,t.top-=n&&t.top==e.input.offset().top+o?$(document).scrollTop():0,t.left-=Math.min(t.left,t.left+r>u&&u>r?Math.abs(t.left+r-u):0),t.top-=Math.min(t.top,t.top+i>a&&a>i?Math.abs(i+o):0),t},_findPos:function(e){var t=this._getInst(e),n=this._get(t,"isRTL");while(e&&(e.type=="hidden"||e.nodeType!=1||$.expr.filters.hidden(e)))e=e[n?"previousSibling":"nextSibling"];var r=$(e).offset();return[r.left,r.top]},_hideDatepicker:function(e){var t=this._curInst;if(!t||e&&t!=$.data(e,PROP_NAME))return;if(this._datepickerShowing){var n=this._get(t,"showAnim"),r=this._get(t,"duration"),i=function(){$.datepicker._tidyDialog(t)};$.effects&&($.effects.effect[n]||$.effects[n])?t.dpDiv.hide(n,$.datepicker._get(t,"showOptions"),r,i):t.dpDiv[n=="slideDown"?"slideUp":n=="fadeIn"?"fadeOut":"hide"](n?r:null,i),n||i(),this._datepickerShowing=!1;var s=this._get(t,"onClose");s&&s.apply(t.input?t.input[0]:null,[t.input?t.input.val():"",t]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(!$.datepicker._curInst)return;var t=$(e.target),n=$.datepicker._getInst(t[0]);(t[0].id!=$.datepicker._mainDivId&&t.parents("#"+$.datepicker._mainDivId).length==0&&!t.hasClass($.datepicker.markerClassName)&&!t.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||t.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=n)&&$.datepicker._hideDatepicker()},_adjustDate:function(e,t,n){var r=$(e),i=this._getInst(r[0]);if(this._isDisabledDatepicker(r[0]))return;this._adjustInstDate(i,t+(n=="M"?this._get(i,"showCurrentAtPos"):0),n),this._updateDatepicker(i)},_gotoToday:function(e){var t=$(e),n=this._getInst(t[0]);if(this._get(n,"gotoCurrent")&&n.currentDay)n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear;else{var r=new Date;n.selectedDay=r.getDate(),n.drawMonth=n.selectedMonth=r.getMonth(),n.drawYear=n.selectedYear=r.getFullYear()}this._notifyChange(n),this._adjustDate(t)},_selectMonthYear:function(e,t,n){var r=$(e),i=this._getInst(r[0]);i["selected"+(n=="M"?"Month":"Year")]=i["draw"+(n=="M"?"Month":"Year")]=parseInt(t.options[t.selectedIndex].value,10),this._notifyChange(i),this._adjustDate(r)},_selectDay:function(e,t,n,r){var i=$(e);if($(r).hasClass(this._unselectableClass)||this._isDisabledDatepicker(i[0]))return;var s=this._getInst(i[0]);s.selectedDay=s.currentDay=$("a",r).html(),s.selectedMonth=s.currentMonth=t,s.selectedYear=s.currentYear=n,this._selectDate(e,this._formatDate(s,s.currentDay,s.currentMonth,s.currentYear))},_clearDate:function(e){var t=$(e),n=this._getInst(t[0]);this._selectDate(t,"")},_selectDate:function(e,t){var n=$(e),r=this._getInst(n[0]);t=t!=null?t:this._formatDate(r),r.input&&r.input.val(t),this._updateAlternate(r);var i=this._get(r,"onSelect");i?i.apply(r.input?r.input[0]:null,[t,r]):r.input&&r.input.trigger("change"),r.inline?this._updateDatepicker(r):(this._hideDatepicker(),this._lastInput=r.input[0],typeof r.input[0]!="object"&&r.input.focus(),this._lastInput=null)},_updateAlternate:function(e){var t=this._get(e,"altField");if(t){var n=this._get(e,"altFormat")||this._get(e,"dateFormat"),r=this._getDate(e),i=this.formatDate(n,r,this._getFormatConfig(e));$(t).each(function(){$(this).val(i)})}},noWeekends:function(e){var t=e.getDay();return[t>0&&t<6,""]},iso8601Week:function(e){var t=new Date(e.getTime());t.setDate(t.getDate()+4-(t.getDay()||7));var n=t.getTime();return t.setMonth(0),t.setDate(1),Math.floor(Math.round((n-t)/864e5)/7)+1},parseDate:function(e,t,n){if(e==null||t==null)throw"Invalid arguments";t=typeof t=="object"?t.toString():t+"";if(t=="")return null;var r=(n?n.shortYearCutoff:null)||this._defaults.shortYearCutoff;r=typeof r!="string"?r:(new Date).getFullYear()%100+parseInt(r,10);var i=(n?n.dayNamesShort:null)||this._defaults.dayNamesShort,s=(n?n.dayNames:null)||this._defaults.dayNames,o=(n?n.monthNamesShort:null)||this._defaults.monthNamesShort,u=(n?n.monthNames:null)||this._defaults.monthNames,a=-1,f=-1,l=-1,c=-1,h=!1,p=function(t){var n=y+1<e.length&&e.charAt(y+1)==t;return n&&y++,n},d=function(e){var n=p(e),r=e=="@"?14:e=="!"?20:e=="y"&&n?4:e=="o"?3:2,i=new RegExp("^\\d{1,"+r+"}"),s=t.substring(g).match(i);if(!s)throw"Missing number at position "+g;return g+=s[0].length,parseInt(s[0],10)},v=function(e,n,r){var i=$.map(p(e)?r:n,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)}),s=-1;$.each(i,function(e,n){var r=n[1];if(t.substr(g,r.length).toLowerCase()==r.toLowerCase())return s=n[0],g+=r.length,!1});if(s!=-1)return s+1;throw"Unknown name at position "+g},m=function(){if(t.charAt(g)!=e.charAt(y))throw"Unexpected literal at position "+g;g++},g=0;for(var y=0;y<e.length;y++)if(h)e.charAt(y)=="'"&&!p("'")?h=!1:m();else switch(e.charAt(y)){case"d":l=d("d");break;case"D":v("D",i,s);break;case"o":c=d("o");break;case"m":f=d("m");break;case"M":f=v("M",o,u);break;case"y":a=d("y");break;case"@":var b=new Date(d("@"));a=b.getFullYear(),f=b.getMonth()+1,l=b.getDate();break;case"!":var b=new Date((d("!")-this._ticksTo1970)/1e4);a=b.getFullYear(),f=b.getMonth()+1,l=b.getDate();break;case"'":p("'")?m():h=!0;break;default:m()}if(g<t.length){var w=t.substr(g);if(!/^\s+/.test(w))throw"Extra/unparsed characters found in date: "+w}a==-1?a=(new Date).getFullYear():a<100&&(a+=(new Date).getFullYear()-(new Date).getFullYear()%100+(a<=r?0:-100));if(c>-1){f=1,l=c;do{var E=this._getDaysInMonth(a,f-1);if(l<=E)break;f++,l-=E}while(!0)}var b=this._daylightSavingAdjust(new Date(a,f-1,l));if(b.getFullYear()!=a||b.getMonth()+1!=f||b.getDate()!=l)throw"Invalid date";return b},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1e7,formatDate:function(e,t,n){if(!t)return"";var r=(n?n.dayNamesShort:null)||this._defaults.dayNamesShort,i=(n?n.dayNames:null)||this._defaults.dayNames,s=(n?n.monthNamesShort:null)||this._defaults.monthNamesShort,o=(n?n.monthNames:null)||this._defaults.monthNames,u=function(t){var n=h+1<e.length&&e.charAt(h+1)==t;return n&&h++,n},a=function(e,t,n){var r=""+t;if(u(e))while(r.length<n)r="0"+r;return r},f=function(e,t,n,r){return u(e)?r[t]:n[t]},l="",c=!1;if(t)for(var h=0;h<e.length;h++)if(c)e.charAt(h)=="'"&&!u("'")?c=!1:l+=e.charAt(h);else switch(e.charAt(h)){case"d":l+=a("d",t.getDate(),2);break;case"D":l+=f("D",t.getDay(),r,i);break;case"o":l+=a("o",Math.round(((new Date(t.getFullYear(),t.getMonth(),t.getDate())).getTime()-(new Date(t.getFullYear(),0,0)).getTime())/864e5),3);break;case"m":l+=a("m",t.getMonth()+1,2);break;case"M":l+=f("M",t.getMonth(),s,o);break;case"y":l+=u("y")?t.getFullYear():(t.getYear()%100<10?"0":"")+t.getYear()%100;break;case"@":l+=t.getTime();break;case"!":l+=t.getTime()*1e4+this._ticksTo1970;break;case"'":u("'")?l+="'":c=!0;break;default:l+=e.charAt(h)}return l},_possibleChars:function(e){var t="",n=!1,r=function(t){var n=i+1<e.length&&e.charAt(i+1)==t;return n&&i++,n};for(var i=0;i<e.length;i++)if(n)e.charAt(i)=="'"&&!r("'")?n=!1:t+=e.charAt(i);else switch(e.charAt(i)){case"d":case"m":case"y":case"@":t+="0123456789";break;case"D":case"M":return null;case"'":r("'")?t+="'":n=!0;break;default:t+=e.charAt(i)}return t},_get:function(e,t){return e.settings[t]!==undefined?e.settings[t]:this._defaults[t]},_setDateFromField:function(e,t){if(e.input.val()==e.lastVal)return;var n=this._get(e,"dateFormat"),r=e.lastVal=e.input?e.input.val():null,i,s;i=s=this._getDefaultDate(e);var o=this._getFormatConfig(e);try{i=this.parseDate(n,r,o)||s}catch(u){this.log(u),r=t?"":r}e.selectedDay=i.getDate(),e.drawMonth=e.selectedMonth=i.getMonth(),e.drawYear=e.selectedYear=i.getFullYear(),e.currentDay=r?i.getDate():0,e.currentMonth=r?i.getMonth():0,e.currentYear=r?i.getFullYear():0,this._adjustInstDate(e)},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(e,t,n){var r=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},i=function(t){try{return $.datepicker.parseDate($.datepicker._get(e,"dateFormat"),t,$.datepicker._getFormatConfig(e))}catch(n){}var r=(t.toLowerCase().match(/^c/)?$.datepicker._getDate(e):null)||new Date,i=r.getFullYear(),s=r.getMonth(),o=r.getDate(),u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,a=u.exec(t);while(a){switch(a[2]||"d"){case"d":case"D":o+=parseInt(a[1],10);break;case"w":case"W":o+=parseInt(a[1],10)*7;break;case"m":case"M":s+=parseInt(a[1],10),o=Math.min(o,$.datepicker._getDaysInMonth(i,s));break;case"y":case"Y":i+=parseInt(a[1],10),o=Math.min(o,$.datepicker._getDaysInMonth(i,s))}a=u.exec(t)}return new Date(i,s,o)},s=t==null||t===""?n:typeof t=="string"?i(t):typeof t=="number"?isNaN(t)?n:r(t):new Date(t.getTime());return s=s&&s.toString()=="Invalid Date"?n:s,s&&(s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)),this._daylightSavingAdjust(s)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,n){var r=!t,i=e.selectedMonth,s=e.selectedYear,o=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=o.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=o.getMonth(),e.drawYear=e.selectedYear=e.currentYear=o.getFullYear(),(i!=e.selectedMonth||s!=e.selectedYear)&&!n&&this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(r?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&e.input.val()==""?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(e){var t=this._get(e,"stepMonths"),n="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){window["DP_jQuery_"+dpuuid].datepicker._adjustDate(n,-t,"M")},next:function(){window["DP_jQuery_"+dpuuid].datepicker._adjustDate(n,+t,"M")},hide:function(){window["DP_jQuery_"+dpuuid].datepicker._hideDatepicker()},today:function(){window["DP_jQuery_"+dpuuid].datepicker._gotoToday(n)},selectDay:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectDay(n,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectMonthYear(n,this,"M"),!1},selectYear:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectMonthYear(n,this,"Y"),!1}};$(this).bind(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t=new Date;t=this._daylightSavingAdjust(new Date(t.getFullYear(),t.getMonth(),t.getDate()));var n=this._get(e,"isRTL"),r=this._get(e,"showButtonPanel"),i=this._get(e,"hideIfNoPrevNext"),s=this._get(e,"navigationAsDateFormat"),o=this._getNumberOfMonths(e),u=this._get(e,"showCurrentAtPos"),a=this._get(e,"stepMonths"),f=o[0]!=1||o[1]!=1,l=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),c=this._getMinMaxDate(e,"min"),h=this._getMinMaxDate(e,"max"),p=e.drawMonth-u,d=e.drawYear;p<0&&(p+=12,d--);if(h){var v=this._daylightSavingAdjust(new Date(h.getFullYear(),h.getMonth()-o[0]*o[1]+1,h.getDate()));v=c&&v<c?c:v;while(this._daylightSavingAdjust(new Date(d,p,1))>v)p--,p<0&&(p=11,d--)}e.drawMonth=p,e.drawYear=d;var m=this._get(e,"prevText");m=s?this.formatDate(m,this._daylightSavingAdjust(new Date(d,p-a,1)),this._getFormatConfig(e)):m;var g=this._canAdjustMonth(e,-1,d,p)?'<a class="ui-datepicker-prev ui-corner-all" data-handler="prev" data-event="click" title="'+m+'"><span class="ui-icon ui-icon-circle-triangle-'+(n?"e":"w")+'">'+m+"</span></a>":i?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+m+'"><span class="ui-icon ui-icon-circle-triangle-'+(n?"e":"w")+'">'+m+"</span></a>",y=this._get(e,"nextText");y=s?this.formatDate(y,this._daylightSavingAdjust(new Date(d,p+a,1)),this._getFormatConfig(e)):y;var b=this._canAdjustMonth(e,1,d,p)?'<a class="ui-datepicker-next ui-corner-all" data-handler="next" data-event="click" title="'+y+'"><span class="ui-icon ui-icon-circle-triangle-'+(n?"w":"e")+'">'+y+"</span></a>":i?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+y+'"><span class="ui-icon ui-icon-circle-triangle-'+(n?"w":"e")+'">'+y+"</span></a>",w=this._get(e,"currentText"),E=this._get(e,"gotoCurrent")&&e.currentDay?l:t;w=s?this.formatDate(w,E,this._getFormatConfig(e)):w;var S=e.inline?"":'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" data-handler="hide" data-event="click">'+this._get(e,"closeText")+"</button>",x=r?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(n?S:"")+(this._isInRange(e,E)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" data-handler="today" data-event="click">'+w+"</button>":"")+(n?"":S)+"</div>":"",T=parseInt(this._get(e,"firstDay"),10);T=isNaN(T)?0:T;var N=this._get(e,"showWeek"),C=this._get(e,"dayNames"),k=this._get(e,"dayNamesShort"),L=this._get(e,"dayNamesMin"),A=this._get(e,"monthNames"),O=this._get(e,"monthNamesShort"),M=this._get(e,"beforeShowDay"),_=this._get(e,"showOtherMonths"),D=this._get(e,"selectOtherMonths"),P=this._get(e,"calculateWeek")||this.iso8601Week,H=this._getDefaultDate(e),B="";for(var j=0;j<o[0];j++){var F="";this.maxRows=4;for(var I=0;I<o[1];I++){var q=this._daylightSavingAdjust(new Date(d,p,e.selectedDay)),R=" ui-corner-all",U="";if(f){U+='<div class="ui-datepicker-group';if(o[1]>1)switch(I){case 0:U+=" ui-datepicker-group-first",R=" ui-corner-"+(n?"right":"left");break;case o[1]-1:U+=" ui-datepicker-group-last",R=" ui-corner-"+(n?"left":"right");break;default:U+=" ui-datepicker-group-middle",R=""}U+='">'}U+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+R+'">'+(/all|left/.test(R)&&j==0?n?b:g:"")+(/all|right/.test(R)&&j==0?n?g:b:"")+this._generateMonthYearHeader(e,p,d,c,h,j>0||I>0,A,O)+'</div><table class="ui-datepicker-calendar"><thead>'+"<tr>";var z=N?'<th class="ui-datepicker-week-col">'+this._get(e,"weekHeader")+"</th>":"";for(var W=0;W<7;W++){var X=(W+T)%7;z+="<th"+((W+T+6)%7>=5?' class="ui-datepicker-week-end"':"")+">"+'<span title="'+C[X]+'">'+L[X]+"</span></th>"}U+=z+"</tr></thead><tbody>";var V=this._getDaysInMonth(d,p);d==e.selectedYear&&p==e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,V));var J=(this._getFirstDayOfMonth(d,p)-T+7)%7,K=Math.ceil((J+V)/7),Q=f?this.maxRows>K?this.maxRows:K:K;this.maxRows=Q;var G=this._daylightSavingAdjust(new Date(d,p,1-J));for(var Y=0;Y<Q;Y++){U+="<tr>";var Z=N?'<td class="ui-datepicker-week-col">'+this._get(e,"calculateWeek")(G)+"</td>":"";for(var W=0;W<7;W++){var et=M?M.apply(e.input?e.input[0]:null,[G]):[!0,""],tt=G.getMonth()!=p,nt=tt&&!D||!et[0]||c&&G<c||h&&G>h;Z+='<td class="'+((W+T+6)%7>=5?" ui-datepicker-week-end":"")+(tt?" ui-datepicker-other-month":"")+(G.getTime()==q.getTime()&&p==e.selectedMonth&&e._keyEvent||H.getTime()==G.getTime()&&H.getTime()==q.getTime()?" "+this._dayOverClass:"")+(nt?" "+this._unselectableClass+" ui-state-disabled":"")+(tt&&!_?"":" "+et[1]+(G.getTime()==l.getTime()?" "+this._currentClass:"")+(G.getTime()==t.getTime()?" ui-datepicker-today":""))+'"'+((!tt||_)&&et[2]?' title="'+et[2]+'"':"")+(nt?"":' data-handler="selectDay" data-event="click" data-month="'+G.getMonth()+'" data-year="'+G.getFullYear()+'"')+">"+(tt&&!_?"&#xa0;":nt?'<span class="ui-state-default">'+G.getDate()+"</span>":'<a class="ui-state-default'+(G.getTime()==t.getTime()?" ui-state-highlight":"")+(G.getTime()==l.getTime()?" ui-state-active":"")+(tt?" ui-priority-secondary":"")+'" href="#">'+G.getDate()+"</a>")+"</td>",G.setDate(G.getDate()+1),G=this._daylightSavingAdjust(G)}U+=Z+"</tr>"}p++,p>11&&(p=0,d++),U+="</tbody></table>"+(f?"</div>"+(o[0]>0&&I==o[1]-1?'<div class="ui-datepicker-row-break"></div>':""):""),F+=U}B+=F}return B+=x+($.ui.ie6&&!e.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':""),e._keyEvent=!1,B},_generateMonthYearHeader:function(e,t,n,r,i,s,o,u){var a=this._get(e,"changeMonth"),f=this._get(e,"changeYear"),l=this._get(e,"showMonthAfterYear"),c='<div class="ui-datepicker-title">',h="";if(s||!a)h+='<span class="ui-datepicker-month">'+o[t]+"</span>";else{var p=r&&r.getFullYear()==n,d=i&&i.getFullYear()==n;h+='<select class="ui-datepicker-month" data-handler="selectMonth" data-event="change">';for(var v=0;v<12;v++)(!p||v>=r.getMonth())&&(!d||v<=i.getMonth())&&(h+='<option value="'+v+'"'+(v==t?' selected="selected"':"")+">"+u[v]+"</option>");h+="</select>"}l||(c+=h+(s||!a||!f?"&#xa0;":""));if(!e.yearshtml){e.yearshtml="";if(s||!f)c+='<span class="ui-datepicker-year">'+n+"</span>";else{var m=this._get(e,"yearRange").split(":"),g=(new Date).getFullYear(),y=function(e){var t=e.match(/c[+-].*/)?n+parseInt(e.substring(1),10):e.match(/[+-].*/)?g+parseInt(e,10):parseInt(e,10);return isNaN(t)?g:t},b=y(m[0]),w=Math.max(b,y(m[1]||""));b=r?Math.max(b,r.getFullYear()):b,w=i?Math.min(w,i.getFullYear()):w,e.yearshtml+='<select class="ui-datepicker-year" data-handler="selectYear" data-event="change">';for(;b<=w;b++)e.yearshtml+='<option value="'+b+'"'+(b==n?' selected="selected"':"")+">"+b+"</option>";e.yearshtml+="</select>",c+=e.yearshtml,e.yearshtml=null}}return c+=this._get(e,"yearSuffix"),l&&(c+=(s||!a||!f?"&#xa0;":"")+h),c+="</div>",c},_adjustInstDate:function(e,t,n){var r=e.drawYear+(n=="Y"?t:0),i=e.drawMonth+(n=="M"?t:0),s=Math.min(e.selectedDay,this._getDaysInMonth(r,i))+(n=="D"?t:0),o=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(r,i,s)));e.selectedDay=o.getDate(),e.drawMonth=e.selectedMonth=o.getMonth(),e.drawYear=e.selectedYear=o.getFullYear(),(n=="M"||n=="Y")&&this._notifyChange(e)},_restrictMinMax:function(e,t){var n=this._getMinMaxDate(e,"min"),r=this._getMinMaxDate(e,"max"),i=n&&t<n?n:t;return i=r&&i>r?r:i,i},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return t==null?[1,1]:typeof t=="number"?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return(new Date(e,t,1)).getDay()},_canAdjustMonth:function(e,t,n,r){var i=this._getNumberOfMonths(e),s=this._daylightSavingAdjust(new Date(n,r+(t<0?t:i[0]*i[1]),1));return t<0&&s.setDate(this._getDaysInMonth(s.getFullYear(),s.getMonth())),this._isInRange(e,s)},_isInRange:function(e,t){var n=this._getMinMaxDate(e,"min"),r=this._getMinMaxDate(e,"max");return(!n||t.getTime()>=n.getTime())&&(!r||t.getTime()<=r.getTime())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t=typeof t!="string"?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,n,r){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var i=t?typeof t=="object"?t:this._daylightSavingAdjust(new Date(r,n,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),i,this._getFormatConfig(e))}}),$.fn.datepicker=function(e){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find(document.body).append($.datepicker.dpDiv),$.datepicker.initialized=!0);var t=Array.prototype.slice.call(arguments,1);return typeof e!="string"||e!="isDisabled"&&e!="getDate"&&e!="widget"?e=="option"&&arguments.length==2&&typeof arguments[1]=="string"?$.datepicker["_"+e+"Datepicker"].apply($.datepicker,[this[0]].concat(t)):this.each(function(){typeof e=="string"?$.datepicker["_"+e+"Datepicker"].apply($.datepicker,[this].concat(t)):$.datepicker._attachDatepicker(this,e)}):$.datepicker["_"+e+"Datepicker"].apply($.datepicker,[this[0]].concat(t))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.9.1",window["DP_jQuery_"+dpuuid]=$})(jQuery);(function(e,t){var n="ui-dialog ui-widget ui-widget-content ui-corner-all ",r={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},i={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};e.widget("ui.dialog",{version:"1.9.1",options:{autoOpen:!0,buttons:{},closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:!1,maxWidth:!1,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var n=e(this).css(t).offset().top;n<0&&e(this).css("top",t.top-n)}},resizable:!0,show:null,stack:!0,title:"",width:300,zIndex:1e3},_create:function(){this.originalTitle=this.element.attr("title"),typeof this.originalTitle!="string"&&(this.originalTitle=""),this.oldPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.options.title=this.options.title||this.originalTitle;var t=this,r=this.options,i=r.title||"&#160;",s,o,u,a,f;s=(this.uiDialog=e("<div>")).addClass(n+r.dialogClass).css({display:"none",outline:0,zIndex:r.zIndex}).attr("tabIndex",-1).keydown(function(n){r.closeOnEscape&&!n.isDefaultPrevented()&&n.keyCode&&n.keyCode===e.ui.keyCode.ESCAPE&&(t.close(n),n.preventDefault())}).mousedown(function(e){t.moveToTop(!1,e)}).appendTo("body"),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(s),o=(this.uiDialogTitlebar=e("<div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").bind("mousedown",function(){s.focus()}).prependTo(s),u=e("<a href='#'></a>").addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").click(function(e){e.preventDefault(),t.close(e)}).appendTo(o),(this.uiDialogTitlebarCloseText=e("<span>")).addClass("ui-icon ui-icon-closethick").text(r.closeText).appendTo(u),a=e("<span>").uniqueId().addClass("ui-dialog-title").html(i).prependTo(o),f=(this.uiDialogButtonPane=e("<div>")).addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),(this.uiButtonSet=e("<div>")).addClass("ui-dialog-buttonset").appendTo(f),s.attr({role:"dialog","aria-labelledby":a.attr("id")}),o.find("*").add(o).disableSelection(),this._hoverable(u),this._focusable(u),r.draggable&&e.fn.draggable&&this._makeDraggable(),r.resizable&&e.fn.resizable&&this._makeResizable(),this._createButtons(r.buttons),this._isOpen=!1,e.fn.bgiframe&&s.bgiframe(),this._on(s,{keydown:function(t){if(!r.modal||t.keyCode!==e.ui.keyCode.TAB)return;var n=e(":tabbable",s),i=n.filter(":first"),o=n.filter(":last");if(t.target===o[0]&&!t.shiftKey)return i.focus(1),!1;if(t.target===i[0]&&t.shiftKey)return o.focus(1),!1}})},_init:function(){this.options.autoOpen&&this.open()},_destroy:function(){var e,t=this.oldPosition;this.overlay&&this.overlay.destroy(),this.uiDialog.hide(),this.element.removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},close:function(t){var n=this,r,i;if(!this._isOpen)return;if(!1===this._trigger("beforeClose",t))return;return this._isOpen=!1,this.overlay&&this.overlay.destroy(),this.options.hide?this._hide(this.uiDialog,this.options.hide,function(){n._trigger("close",t)}):(this.uiDialog.hide(),this._trigger("close",t)),e.ui.dialog.overlay.resize(),this.options.modal&&(r=0,e(".ui-dialog").each(function(){this!==n.uiDialog[0]&&(i=e(this).css("z-index"),isNaN(i)||(r=Math.max(r,i)))}),e.ui.dialog.maxZ=r),this},isOpen:function(){return this._isOpen},moveToTop:function(t,n){var r=this.options,i;return r.modal&&!t||!r.stack&&!r.modal?this._trigger("focus",n):(r.zIndex>e.ui.dialog.maxZ&&(e.ui.dialog.maxZ=r.zIndex),this.overlay&&(e.ui.dialog.maxZ+=1,e.ui.dialog.overlay.maxZ=e.ui.dialog.maxZ,this.overlay.$el.css("z-index",e.ui.dialog.overlay.maxZ)),i={scrollTop:this.element.scrollTop(),scrollLeft:this.element.scrollLeft()},e.ui.dialog.maxZ+=1,this.uiDialog.css("z-index",e.ui.dialog.maxZ),this.element.attr(i),this._trigger("focus",n),this)},open:function(){if(this._isOpen)return;var t,n=this.options,r=this.uiDialog;return this._size(),this._position(n.position),r.show(n.show),this.overlay=n.modal?new e.ui.dialog.overlay(this):null,this.moveToTop(!0),t=this.element.find(":tabbable"),t.length||(t=this.uiDialogButtonPane.find(":tabbable"),t.length||(t=r)),t.eq(0).focus(),this._isOpen=!0,this._trigger("open"),this},_createButtons:function(t){var n=this,r=!1;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),typeof t=="object"&&t!==null&&e.each(t,function(){return!(r=!0)}),r?(e.each(t,function(t,r){r=e.isFunction(r)?{click:r,text:t}:r;var i=e("<button type='button'></button>").attr(r,!0).unbind("click").click(function(){r.click.apply(n.element[0],arguments)}).appendTo(n.uiButtonSet);e.fn.button&&i.button()}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog)):this.uiDialog.removeClass("ui-dialog-buttons")},_makeDraggable:function(){function r(e){return{position:e.position,offset:e.offset}}var t=this,n=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(n,i){e(this).addClass("ui-dialog-dragging"),t._trigger("dragStart",n,r(i))},drag:function(e,n){t._trigger("drag",e,r(n))},stop:function(i,s){n.position=[s.position.left-t.document.scrollLeft(),s.position.top-t.document.scrollTop()],e(this).removeClass("ui-dialog-dragging"),t._trigger("dragStop",i,r(s)),e.ui.dialog.overlay.resize()}})},_makeResizable:function(n){function u(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}n=n===t?this.options.resizable:n;var r=this,i=this.options,s=this.uiDialog.css("position"),o=typeof n=="string"?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:i.maxWidth,maxHeight:i.maxHeight,minWidth:i.minWidth,minHeight:this._minHeight(),handles:o,start:function(t,n){e(this).addClass("ui-dialog-resizing"),r._trigger("resizeStart",t,u(n))},resize:function(e,t){r._trigger("resize",e,u(t))},stop:function(t,n){e(this).removeClass("ui-dialog-resizing"),i.height=e(this).height(),i.width=e(this).width(),r._trigger("resizeStop",t,u(n)),e.ui.dialog.overlay.resize()}}).css("position",s).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var e=this.options;return e.height==="auto"?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(t){var n=[],r=[0,0],i;if(t){if(typeof t=="string"||typeof t=="object"&&"0"in t)n=t.split?t.split(" "):[t[0],t[1]],n.length===1&&(n[1]=n[0]),e.each(["left","top"],function(e,t){+n[e]===n[e]&&(r[e]=n[e],n[e]=t)}),t={my:n[0]+(r[0]<0?r[0]:"+"+r[0])+" "+n[1]+(r[1]<0?r[1]:"+"+r[1]),at:n.join(" ")};t=e.extend({},e.ui.dialog.prototype.options.position,t)}else t=e.ui.dialog.prototype.options.position;i=this.uiDialog.is(":visible"),i||this.uiDialog.show(),this.uiDialog.position(t),i||this.uiDialog.hide()},_setOptions:function(t){var n=this,s={},o=!1;e.each(t,function(e,t){n._setOption(e,t),e in r&&(o=!0),e in i&&(s[e]=t)}),o&&this._size(),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",s)},_setOption:function(t,r){var i,s,o=this.uiDialog;switch(t){case"buttons":this._createButtons(r);break;case"closeText":this.uiDialogTitlebarCloseText.text(""+r);break;case"dialogClass":o.removeClass(this.options.dialogClass).addClass(n+r);break;case"disabled":r?o.addClass("ui-dialog-disabled"):o.removeClass("ui-dialog-disabled");break;case"draggable":i=o.is(":data(draggable)"),i&&!r&&o.draggable("destroy"),!i&&r&&this._makeDraggable();break;case"position":this._position(r);break;case"resizable":s=o.is(":data(resizable)"),s&&!r&&o.resizable("destroy"),s&&typeof r=="string"&&o.resizable("option","handles",r),!s&&r!==!1&&this._makeResizable(r);break;case"title":e(".ui-dialog-title",this.uiDialogTitlebar).html(""+(r||"&#160;"))}this._super(t,r)},_size:function(){var t,n,r,i=this.options,s=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0}),i.minWidth>i.width&&(i.width=i.minWidth),t=this.uiDialog.css({height:"auto",width:i.width}).outerHeight(),n=Math.max(0,i.minHeight-t),i.height==="auto"?e.support.minHeight?this.element.css({minHeight:n,height:"auto"}):(this.uiDialog.show(),r=this.element.css("height","auto").height(),s||this.uiDialog.hide(),this.element.height(Math.max(r,n))):this.element.height(Math.max(i.height-t,0)),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}}),e.extend(e.ui.dialog,{uuid:0,maxZ:0,getTitleId:function(e){var t=e.attr("id");return t||(this.uuid+=1,t=this.uuid),"ui-dialog-title-"+t},overlay:function(t){this.$el=e.ui.dialog.overlay.create(t)}}),e.extend(e.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:e.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(e){return e+".dialog-overlay"}).join(" "),create:function(t){this.instances.length===0&&(setTimeout(function(){e.ui.dialog.overlay.instances.length&&e(document).bind(e.ui.dialog.overlay.events,function(t){if(e(t.target).zIndex()<e.ui.dialog.overlay.maxZ)return!1})},1),e(window).bind("resize.dialog-overlay",e.ui.dialog.overlay.resize));var n=this.oldInstances.pop()||e("<div>").addClass("ui-widget-overlay");return e(document).bind("keydown.dialog-overlay",function(r){var i=e.ui.dialog.overlay.instances;i.length!==0&&i[i.length-1]===n&&t.options.closeOnEscape&&!r.isDefaultPrevented()&&r.keyCode&&r.keyCode===e.ui.keyCode.ESCAPE&&(t.close(r),r.preventDefault())}),n.appendTo(document.body).css({width:this.width(),height:this.height()}),e.fn.bgiframe&&n.bgiframe(),this.instances.push(n),n},destroy:function(t){var n=e.inArray(t,this.instances),r=0;n!==-1&&this.oldInstances.push(this.instances.splice(n,1)[0]),this.instances.length===0&&e([document,window]).unbind(".dialog-overlay"),t.height(0).width(0).remove(),e.each(this.instances,function(){r=Math.max(r,this.css("z-index"))}),this.maxZ=r},height:function(){var t,n;return e.ui.ie?(t=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),n=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight),t<n?e(window).height()+"px":t+"px"):e(document).height()+"px"},width:function(){var t,n;return e.ui.ie?(t=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),n=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth),t<n?e(window).width()+"px":t+"px"):e(document).width()+"px"},resize:function(){var t=e([]);e.each(e.ui.dialog.overlay.instances,function(){t=t.add(this)}),t.css({width:0,height:0}).css({width:e.ui.dialog.overlay.width(),height:e.ui.dialog.overlay.height()})}}),e.extend(e.ui.dialog.overlay.prototype,{destroy:function(){e.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);(function(e,t){e.widget("ui.draggable",e.ui.mouse,{version:"1.9.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){this.options.helper=="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var n=this.options;return this.helper||n.disabled||e(t.target).is(".ui-resizable-handle")?!1:(this.handle=this._getHandle(t),this.handle?(e(n.iframeFix===!0?"iframe":n.iframeFix).each(function(){e('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var n=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,n.cursorAt&&this._adjustOffsetFromHelper(n.cursorAt),n.containment&&this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,n){this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute");if(!n){var r=this._uiHash();if(this._trigger("drag",t,r)===!1)return this._mouseUp({}),!1;this.position=r.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";return e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var n=!1;e.ui.ddmanager&&!this.options.dropBehaviour&&(n=e.ui.ddmanager.drop(this,t)),this.dropped&&(n=this.dropped,this.dropped=!1);var r=this.element[0],i=!1;while(r&&(r=r.parentNode))r==document&&(i=!0);if(!i&&this.options.helper==="original")return!1;if(this.options.revert=="invalid"&&!n||this.options.revert=="valid"&&n||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,n)){var s=this;e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){s._trigger("stop",t)!==!1&&s._clear()})}else this._trigger("stop",t)!==!1&&this._clear();return!1},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){var n=!this.options.handle||!e(this.options.handle,this.element).length?!0:!1;return e(this.options.handle,this.element).find("*").andSelf().each(function(){this==t.target&&(n=!0)}),n},_createHelper:function(t){var n=this.options,r=e.isFunction(n.helper)?e(n.helper.apply(this.element[0],[t])):n.helper=="clone"?this.element.clone().removeAttr("id"):this.element;return r.parents("body").length||r.appendTo(n.appendTo=="parent"?this.element[0].parentNode:n.appendTo),r[0]!=this.element[0]&&!/(fixed|absolute)/.test(r.css("position"))&&r.css("position","absolute"),r},_adjustOffsetFromHelper:function(t){typeof t=="string"&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&e.ui.ie)t={top:0,left:0};return{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t=this.options;t.containment=="parent"&&(t.containment=this.helper[0].parentNode);if(t.containment=="document"||t.containment=="window")this.containment=[t.containment=="document"?0:e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t.containment=="document"?0:e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(t.containment=="document"?0:e(window).scrollLeft())+e(t.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(t.containment=="document"?0:e(window).scrollTop())+(e(t.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(t.containment)&&t.containment.constructor!=Array){var n=e(t.containment),r=n[0];if(!r)return;var i=n.offset(),s=e(r).css("overflow")!="hidden";this.containment=[(parseInt(e(r).css("borderLeftWidth"),10)||0)+(parseInt(e(r).css("paddingLeft"),10)||0),(parseInt(e(r).css("borderTopWidth"),10)||0)+(parseInt(e(r).css("paddingTop"),10)||0),(s?Math.max(r.scrollWidth,r.offsetWidth):r.offsetWidth)-(parseInt(e(r).css("borderLeftWidth"),10)||0)-(parseInt(e(r).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(s?Math.max(r.scrollHeight,r.offsetHeight):r.offsetHeight)-(parseInt(e(r).css("borderTopWidth"),10)||0)-(parseInt(e(r).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=n}else t.containment.constructor==Array&&(this.containment=t.containment)},_convertPositionTo:function(t,n){n||(n=this.position);var r=t=="absolute"?1:-1,i=this.options,s=this.cssPosition!="absolute"||this.scrollParent[0]!=document&&!!e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(s[0].tagName);return{top:n.top+this.offset.relative.top*r+this.offset.parent.top*r-(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():o?0:s.scrollTop())*r,left:n.left+this.offset.relative.left*r+this.offset.parent.left*r-(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():o?0:s.scrollLeft())*r}},_generatePosition:function(t){var n=this.options,r=this.cssPosition!="absolute"||this.scrollParent[0]!=document&&!!e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=/(html|body)/i.test(r[0].tagName),s=t.pageX,o=t.pageY;if(this.originalPosition){var u;if(this.containment){if(this.relative_container){var a=this.relative_container.offset();u=[this.containment[0]+a.left,this.containment[1]+a.top,this.containment[2]+a.left,this.containment[3]+a.top]}else u=this.containment;t.pageX-this.offset.click.left<u[0]&&(s=u[0]+this.offset.click.left),t.pageY-this.offset.click.top<u[1]&&(o=u[1]+this.offset.click.top),t.pageX-this.offset.click.left>u[2]&&(s=u[2]+this.offset.click.left),t.pageY-this.offset.click.top>u[3]&&(o=u[3]+this.offset.click.top)}if(n.grid){var f=n.grid[1]?this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1]:this.originalPageY;o=u?f-this.offset.click.top<u[1]||f-this.offset.click.top>u[3]?f-this.offset.click.top<u[1]?f+n.grid[1]:f-n.grid[1]:f:f;var l=n.grid[0]?this.originalPageX+Math.round((s-this.originalPageX)/n.grid[0])*n.grid[0]:this.originalPageX;s=u?l-this.offset.click.left<u[0]||l-this.offset.click.left>u[2]?l-this.offset.click.left<u[0]?l+n.grid[0]:l-n.grid[0]:l:l}}return{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():i?0:r.scrollTop()),left:s-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:r.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(t,n,r){return r=r||this._uiHash(),e.ui.plugin.call(this,t,[n,r]),t=="drag"&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,n,r)},plugins:{},_uiHash:function(e){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,n){var r=e(this).data("draggable"),i=r.options,s=e.extend({},n,{item:r.element});r.sortables=[],e(i.connectToSortable).each(function(){var n=e.data(this,"sortable");n&&!n.options.disabled&&(r.sortables.push({instance:n,shouldRevert:n.options.revert}),n.refreshPositions(),n._trigger("activate",t,s))})},stop:function(t,n){var r=e(this).data("draggable"),i=e.extend({},n,{item:r.element});e.each(r.sortables,function(){this.instance.isOver?(this.instance.isOver=0,r.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=!0),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,r.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,i))})},drag:function(t,n){var r=e(this).data("draggable"),i=this,s=function(t){var n=this.offset.click.top,r=this.offset.click.left,i=this.positionAbs.top,s=this.positionAbs.left,o=t.height,u=t.width,a=t.top,f=t.left;return e.ui.isOver(i+n,s+r,a,f,o,u)};e.each(r.sortables,function(s){var o=!1,u=this;this.instance.positionAbs=r.positionAbs,this.instance.helperProportions=r.helperProportions,this.instance.offset.click=r.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(o=!0,e.each(r.sortables,function(){return this.instance.positionAbs=r.positionAbs,this.instance.helperProportions=r.helperProportions,this.instance.offset.click=r.offset.click,this!=u&&this.instance._intersectsWith(this.instance.containerCache)&&e.ui.contains(u.instance.element[0],this.instance.element[0])&&(o=!1),o})),o?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(i).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return n.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=r.offset.click.top,this.instance.offset.click.left=r.offset.click.left,this.instance.offset.parent.left-=r.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=r.offset.parent.top-this.instance.offset.parent.top,r._trigger("toSortable",t),r.dropped=this.instance.element,r.currentItem=r.element,this.instance.fromOutside=r),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),r._trigger("fromSortable",t),r.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(t,n){var r=e("body"),i=e(this).data("draggable").options;r.css("cursor")&&(i._cursor=r.css("cursor")),r.css("cursor",i.cursor)},stop:function(t,n){var r=e(this).data("draggable").options;r._cursor&&e("body").css("cursor",r._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,n){var r=e(n.helper),i=e(this).data("draggable").options;r.css("opacity")&&(i._opacity=r.css("opacity")),r.css("opacity",i.opacity)},stop:function(t,n){var r=e(this).data("draggable").options;r._opacity&&e(n.helper).css("opacity",r._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(t,n){var r=e(this).data("draggable");r.scrollParent[0]!=document&&r.scrollParent[0].tagName!="HTML"&&(r.overflowOffset=r.scrollParent.offset())},drag:function(t,n){var r=e(this).data("draggable"),i=r.options,s=!1;if(r.scrollParent[0]!=document&&r.scrollParent[0].tagName!="HTML"){if(!i.axis||i.axis!="x")r.overflowOffset.top+r.scrollParent[0].offsetHeight-t.pageY<i.scrollSensitivity?r.scrollParent[0].scrollTop=s=r.scrollParent[0].scrollTop+i.scrollSpeed:t.pageY-r.overflowOffset.top<i.scrollSensitivity&&(r.scrollParent[0].scrollTop=s=r.scrollParent[0].scrollTop-i.scrollSpeed);if(!i.axis||i.axis!="y")r.overflowOffset.left+r.scrollParent[0].offsetWidth-t.pageX<i.scrollSensitivity?r.scrollParent[0].scrollLeft=s=r.scrollParent[0].scrollLeft+i.scrollSpeed:t.pageX-r.overflowOffset.left<i.scrollSensitivity&&(r.scrollParent[0].scrollLeft=s=r.scrollParent[0].scrollLeft-i.scrollSpeed)}else{if(!i.axis||i.axis!="x")t.pageY-e(document).scrollTop()<i.scrollSensitivity?s=e(document).scrollTop(e(document).scrollTop()-i.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<i.scrollSensitivity&&(s=e(document).scrollTop(e(document).scrollTop()+i.scrollSpeed));if(!i.axis||i.axis!="y")t.pageX-e(document).scrollLeft()<i.scrollSensitivity?s=e(document).scrollLeft(e(document).scrollLeft()-i.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<i.scrollSensitivity&&(s=e(document).scrollLeft(e(document).scrollLeft()+i.scrollSpeed))}s!==!1&&e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(r,t)}}),e.ui.plugin.add("draggable","snap",{start:function(t,n){var r=e(this).data("draggable"),i=r.options;r.snapElements=[],e(i.snap.constructor!=String?i.snap.items||":data(draggable)":i.snap).each(function(){var t=e(this),n=t.offset();this!=r.element[0]&&r.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:n.top,left:n.left})})},drag:function(t,n){var r=e(this).data("draggable"),i=r.options,s=i.snapTolerance,o=n.offset.left,u=o+r.helperProportions.width,a=n.offset.top,f=a+r.helperProportions.height;for(var l=r.snapElements.length-1;l>=0;l--){var c=r.snapElements[l].left,h=c+r.snapElements[l].width,p=r.snapElements[l].top,d=p+r.snapElements[l].height;if(!(c-s<o&&o<h+s&&p-s<a&&a<d+s||c-s<o&&o<h+s&&p-s<f&&f<d+s||c-s<u&&u<h+s&&p-s<a&&a<d+s||c-s<u&&u<h+s&&p-s<f&&f<d+s)){r.snapElements[l].snapping&&r.options.snap.release&&r.options.snap.release.call(r.element,t,e.extend(r._uiHash(),{snapItem:r.snapElements[l].item})),r.snapElements[l].snapping=!1;continue}if(i.snapMode!="inner"){var v=Math.abs(p-f)<=s,m=Math.abs(d-a)<=s,g=Math.abs(c-u)<=s,y=Math.abs(h-o)<=s;v&&(n.position.top=r._convertPositionTo("relative",{top:p-r.helperProportions.height,left:0}).top-r.margins.top),m&&(n.position.top=r._convertPositionTo("relative",{top:d,left:0}).top-r.margins.top),g&&(n.position.left=r._convertPositionTo("relative",{top:0,left:c-r.helperProportions.width}).left-r.margins.left),y&&(n.position.left=r._convertPositionTo("relative",{top:0,left:h}).left-r.margins.left)}var b=v||m||g||y;if(i.snapMode!="outer"){var v=Math.abs(p-a)<=s,m=Math.abs(d-f)<=s,g=Math.abs(c-o)<=s,y=Math.abs(h-u)<=s;v&&(n.position.top=r._convertPositionTo("relative",{top:p,left:0}).top-r.margins.top),m&&(n.position.top=r._convertPositionTo("relative",{top:d-r.helperProportions.height,left:0}).top-r.margins.top),g&&(n.position.left=r._convertPositionTo("relative",{top:0,left:c}).left-r.margins.left),y&&(n.position.left=r._convertPositionTo("relative",{top:0,left:h-r.helperProportions.width}).left-r.margins.left)}!r.snapElements[l].snapping&&(v||m||g||y||b)&&r.options.snap.snap&&r.options.snap.snap.call(r.element,t,e.extend(r._uiHash(),{snapItem:r.snapElements[l].item})),r.snapElements[l].snapping=v||m||g||y||b}}}),e.ui.plugin.add("draggable","stack",{start:function(t,n){var r=e(this).data("draggable").options,i=e.makeArray(e(r.stack)).sort(function(t,n){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(n).css("zIndex"),10)||0)});if(!i.length)return;var s=parseInt(i[0].style.zIndex)||0;e(i).each(function(e){this.style.zIndex=s+e}),this[0].style.zIndex=s+i.length}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,n){var r=e(n.helper),i=e(this).data("draggable").options;r.css("zIndex")&&(i._zIndex=r.css("zIndex")),r.css("zIndex",i.zIndex)},stop:function(t,n){var r=e(this).data("draggable").options;r._zIndex&&e(n.helper).css("zIndex",r._zIndex)}})})(jQuery);(function(e,t){e.widget("ui.droppable",{version:"1.9.1",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect"},_create:function(){var t=this.options,n=t.accept;this.isover=0,this.isout=1,this.accept=e.isFunction(n)?n:function(e){return e.is(n)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},e.ui.ddmanager.droppables[t.scope]=e.ui.ddmanager.droppables[t.scope]||[],e.ui.ddmanager.droppables[t.scope].push(this),t.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){var t=e.ui.ddmanager.droppables[this.options.scope];for(var n=0;n<t.length;n++)t[n]==this&&t.splice(n,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,n){t=="accept"&&(this.accept=e.isFunction(n)?n:function(e){return e.is(n)}),e.Widget.prototype._setOption.apply(this,arguments)},_activate:function(t){var n=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),n&&this._trigger("activate",t,this.ui(n))},_deactivate:function(t){var n=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),n&&this._trigger("deactivate",t,this.ui(n))},_over:function(t){var n=e.ui.ddmanager.current;if(!n||(n.currentItem||n.element)[0]==this.element[0])return;this.accept.call(this.element[0],n.currentItem||n.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(n)))},_out:function(t){var n=e.ui.ddmanager.current;if(!n||(n.currentItem||n.element)[0]==this.element[0])return;this.accept.call(this.element[0],n.currentItem||n.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(n)))},_drop:function(t,n){var r=n||e.ui.ddmanager.current;if(!r||(r.currentItem||r.element)[0]==this.element[0])return!1;var i=!1;return this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var t=e.data(this,"droppable");if(t.options.greedy&&!t.options.disabled&&t.options.scope==r.options.scope&&t.accept.call(t.element[0],r.currentItem||r.element)&&e.ui.intersect(r,e.extend(t,{offset:t.element.offset()}),t.options.tolerance))return i=!0,!1}),i?!1:this.accept.call(this.element[0],r.currentItem||r.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(r)),this.element):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(t,n,r){if(!n.offset)return!1;var i=(t.positionAbs||t.position.absolute).left,s=i+t.helperProportions.width,o=(t.positionAbs||t.position.absolute).top,u=o+t.helperProportions.height,a=n.offset.left,f=a+n.proportions.width,l=n.offset.top,c=l+n.proportions.height;switch(r){case"fit":return a<=i&&s<=f&&l<=o&&u<=c;case"intersect":return a<i+t.helperProportions.width/2&&s-t.helperProportions.width/2<f&&l<o+t.helperProportions.height/2&&u-t.helperProportions.height/2<c;case"pointer":var h=(t.positionAbs||t.position.absolute).left+(t.clickOffset||t.offset.click).left,p=(t.positionAbs||t.position.absolute).top+(t.clickOffset||t.offset.click).top,d=e.ui.isOver(p,h,l,a,n.proportions.height,n.proportions.width);return d;case"touch":return(o>=l&&o<=c||u>=l&&u<=c||o<l&&u>c)&&(i>=a&&i<=f||s>=a&&s<=f||i<a&&s>f);default:return!1}},e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,n){var r=e.ui.ddmanager.droppables[t.options.scope]||[],i=n?n.type:null,s=(t.currentItem||t.element).find(":data(droppable)").andSelf();e:for(var o=0;o<r.length;o++){if(r[o].options.disabled||t&&!r[o].accept.call(r[o].element[0],t.currentItem||t.element))continue;for(var u=0;u<s.length;u++)if(s[u]==r[o].element[0]){r[o].proportions.height=0;continue e}r[o].visible=r[o].element.css("display")!="none";if(!r[o].visible)continue;i=="mousedown"&&r[o]._activate.call(r[o],n),r[o].offset=r[o].element.offset(),r[o].proportions={width:r[o].element[0].offsetWidth,height:r[o].element[0].offsetHeight}}},drop:function(t,n){var r=!1;return e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options)return;!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance)&&(r=this._drop.call(this,n)||r),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=1,this.isover=0,this._deactivate.call(this,n))}),r},dragStart:function(t,n){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,n)})},drag:function(t,n){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,n),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(this.options.disabled||this.greedyChild||!this.visible)return;var r=e.ui.intersect(t,this,this.options.tolerance),i=!r&&this.isover==1?"isout":r&&this.isover==0?"isover":null;if(!i)return;var s;if(this.options.greedy){var o=this.options.scope,u=this.element.parents(":data(droppable)").filter(function(){return e.data(this,"droppable").options.scope===o});u.length&&(s=e.data(u[0],"droppable"),s.greedyChild=i=="isover"?1:0)}s&&i=="isover"&&(s.isover=0,s.isout=1,s._out.call(s,n)),this[i]=1,this[i=="isout"?"isover":"isout"]=0,this[i=="isover"?"_over":"_out"].call(this,n),s&&i=="isout"&&(s.isout=0,s.isover=1,s._over.call(s,n))})},dragStop:function(t,n){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,n)}}})(jQuery);jQuery.effects||function(e,t){var n=e.uiBackCompat!==!1,r="ui-effects-";e.effects={effect:{}},function(t,n){function p(e,t,n){var r=a[t.type]||{};return e==null?n||!t.def?null:t.def:(e=r.floor?~~e:parseFloat(e),isNaN(e)?t.def:r.mod?(e+r.mod)%r.mod:0>e?0:r.max<e?r.max:e)}function d(e){var n=o(),r=n._rgba=[];return e=e.toLowerCase(),h(s,function(t,i){var s,o=i.re.exec(e),a=o&&i.parse(o),f=i.space||"rgba";if(a)return s=n[f](a),n[u[f].cache]=s[u[f].cache],r=n._rgba=s._rgba,!1}),r.length?(r.join()==="0,0,0,0"&&t.extend(r,c.transparent),n):c[e]}function v(e,t,n){return n=(n+1)%1,n*6<1?e+(t-e)*n*6:n*2<1?t:n*3<2?e+(t-e)*(2/3-n)*6:e}var r="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor".split(" "),i=/^([\-+])=\s*(\d+\.?\d*)/,s=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(e){return[e[1],e[2],e[3],e[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(e){return[e[1]*2.55,e[2]*2.55,e[3]*2.55,e[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(e){return[e[1],e[2]/100,e[3]/100,e[4]]}}],o=t.Color=function(e,n,r,i){return new t.Color.fn.parse(e,n,r,i)},u={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},a={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},f=o.support={},l=t("<p>")[0],c,h=t.each;l.style.cssText="background-color:rgba(1,1,1,.5)",f.rgba=l.style.backgroundColor.indexOf("rgba")>-1,h(u,function(e,t){t.cache="_"+e,t.props.alpha={idx:3,type:"percent",def:1}}),o.fn=t.extend(o.prototype,{parse:function(r,i,s,a){if(r===n)return this._rgba=[null,null,null,null],this;if(r.jquery||r.nodeType)r=t(r).css(i),i=n;var f=this,l=t.type(r),v=this._rgba=[];i!==n&&(r=[r,i,s,a],l="array");if(l==="string")return this.parse(d(r)||c._default);if(l==="array")return h(u.rgba.props,function(e,t){v[t.idx]=p(r[t.idx],t)}),this;if(l==="object")return r instanceof o?h(u,function(e,t){r[t.cache]&&(f[t.cache]=r[t.cache].slice())}):h(u,function(t,n){var i=n.cache;h(n.props,function(e,t){if(!f[i]&&n.to){if(e==="alpha"||r[e]==null)return;f[i]=n.to(f._rgba)}f[i][t.idx]=p(r[e],t,!0)}),f[i]&&e.inArray(null,f[i].slice(0,3))<0&&(f[i][3]=1,n.from&&(f._rgba=n.from(f[i])))}),this},is:function(e){var t=o(e),n=!0,r=this;return h(u,function(e,i){var s,o=t[i.cache];return o&&(s=r[i.cache]||i.to&&i.to(r._rgba)||[],h(i.props,function(e,t){if(o[t.idx]!=null)return n=o[t.idx]===s[t.idx],n})),n}),n},_space:function(){var e=[],t=this;return h(u,function(n,r){t[r.cache]&&e.push(n)}),e.pop()},transition:function(e,t){var n=o(e),r=n._space(),i=u[r],s=this.alpha()===0?o("transparent"):this,f=s[i.cache]||i.to(s._rgba),l=f.slice();return n=n[i.cache],h(i.props,function(e,r){var i=r.idx,s=f[i],o=n[i],u=a[r.type]||{};if(o===null)return;s===null?l[i]=o:(u.mod&&(o-s>u.mod/2?s+=u.mod:s-o>u.mod/2&&(s-=u.mod)),l[i]=p((o-s)*t+s,r))}),this[r](l)},blend:function(e){if(this._rgba[3]===1)return this;var n=this._rgba.slice(),r=n.pop(),i=o(e)._rgba;return o(t.map(n,function(e,t){return(1-r)*i[t]+r*e}))},toRgbaString:function(){var e="rgba(",n=t.map(this._rgba,function(e,t){return e==null?t>2?1:0:e});return n[3]===1&&(n.pop(),e="rgb("),e+n.join()+")"},toHslaString:function(){var e="hsla(",n=t.map(this.hsla(),function(e,t){return e==null&&(e=t>2?1:0),t&&t<3&&(e=Math.round(e*100)+"%"),e});return n[3]===1&&(n.pop(),e="hsl("),e+n.join()+")"},toHexString:function(e){var n=this._rgba.slice(),r=n.pop();return e&&n.push(~~(r*255)),"#"+t.map(n,function(e){return e=(e||0).toString(16),e.length===1?"0"+e:e}).join("")},toString:function(){return this._rgba[3]===0?"transparent":this.toRgbaString()}}),o.fn.parse.prototype=o.fn,u.hsla.to=function(e){if(e[0]==null||e[1]==null||e[2]==null)return[null,null,null,e[3]];var t=e[0]/255,n=e[1]/255,r=e[2]/255,i=e[3],s=Math.max(t,n,r),o=Math.min(t,n,r),u=s-o,a=s+o,f=a*.5,l,c;return o===s?l=0:t===s?l=60*(n-r)/u+360:n===s?l=60*(r-t)/u+120:l=60*(t-n)/u+240,f===0||f===1?c=f:f<=.5?c=u/a:c=u/(2-a),[Math.round(l)%360,c,f,i==null?1:i]},u.hsla.from=function(e){if(e[0]==null||e[1]==null||e[2]==null)return[null,null,null,e[3]];var t=e[0]/360,n=e[1],r=e[2],i=e[3],s=r<=.5?r*(1+n):r+n-r*n,o=2*r-s;return[Math.round(v(o,s,t+1/3)*255),Math.round(v(o,s,t)*255),Math.round(v(o,s,t-1/3)*255),i]},h(u,function(e,r){var s=r.props,u=r.cache,a=r.to,f=r.from;o.fn[e]=function(e){a&&!this[u]&&(this[u]=a(this._rgba));if(e===n)return this[u].slice();var r,i=t.type(e),l=i==="array"||i==="object"?e:arguments,c=this[u].slice();return h(s,function(e,t){var n=l[i==="object"?e:t.idx];n==null&&(n=c[t.idx]),c[t.idx]=p(n,t)}),f?(r=o(f(c)),r[u]=c,r):o(c)},h(s,function(n,r){if(o.fn[n])return;o.fn[n]=function(s){var o=t.type(s),u=n==="alpha"?this._hsla?"hsla":"rgba":e,a=this[u](),f=a[r.idx],l;return o==="undefined"?f:(o==="function"&&(s=s.call(this,f),o=t.type(s)),s==null&&r.empty?this:(o==="string"&&(l=i.exec(s),l&&(s=f+parseFloat(l[2])*(l[1]==="+"?1:-1))),a[r.idx]=s,this[u](a)))}})}),h(r,function(e,n){t.cssHooks[n]={set:function(e,r){var i,s,u="";if(t.type(r)!=="string"||(i=d(r))){r=o(i||r);if(!f.rgba&&r._rgba[3]!==1){s=n==="backgroundColor"?e.parentNode:e;while((u===""||u==="transparent")&&s&&s.style)try{u=t.css(s,"backgroundColor"),s=s.parentNode}catch(a){}r=r.blend(u&&u!=="transparent"?u:"_default")}r=r.toRgbaString()}try{e.style[n]=r}catch(l){}}},t.fx.step[n]=function(e){e.colorInit||(e.start=o(e.elem,n),e.end=o(e.end),e.colorInit=!0),t.cssHooks[n].set(e.elem,e.start.transition(e.end,e.pos))}}),t.cssHooks.borderColor={expand:function(e){var t={};return h(["Top","Right","Bottom","Left"],function(n,r){t["border"+r+"Color"]=e}),t}},c=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(){var t=this.ownerDocument.defaultView?this.ownerDocument.defaultView.getComputedStyle(this,null):this.currentStyle,n={},r,i;if(t&&t.length&&t[0]&&t[t[0]]){i=t.length;while(i--)r=t[i],typeof t[r]=="string"&&(n[e.camelCase(r)]=t[r])}else for(r in t)typeof t[r]=="string"&&(n[r]=t[r]);return n}function s(t,n){var i={},s,o;for(s in n)o=n[s],t[s]!==o&&!r[s]&&(e.fx.step[s]||!isNaN(parseFloat(o)))&&(i[s]=o);return i}var n=["add","remove","toggle"],r={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};e.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,n){e.fx.step[n]=function(e){if(e.end!=="none"&&!e.setAttr||e.pos===1&&!e.setAttr)jQuery.style(e.elem,n,e.end),e.setAttr=!0}}),e.effects.animateClass=function(t,r,o,u){var a=e.speed(r,o,u);return this.queue(function(){var r=e(this),o=r.attr("class")||"",u,f=a.children?r.find("*").andSelf():r;f=f.map(function(){var t=e(this);return{el:t,start:i.call(this)}}),u=function(){e.each(n,function(e,n){t[n]&&r[n+"Class"](t[n])})},u(),f=f.map(function(){return this.end=i.call(this.el[0]),this.diff=s(this.start,this.end),this}),r.attr("class",o),f=f.map(function(){var t=this,n=e.Deferred(),r=jQuery.extend({},a,{queue:!1,complete:function(){n.resolve(t)}});return this.el.animate(this.diff,r),n.promise()}),e.when.apply(e,f.get()).done(function(){u(),e.each(arguments,function(){var t=this.el;e.each(this.diff,function(e){t.css(e,"")})}),a.complete.call(r[0])})})},e.fn.extend({_addClass:e.fn.addClass,addClass:function(t,n,r,i){return n?e.effects.animateClass.call(this,{add:t},n,r,i):this._addClass(t)},_removeClass:e.fn.removeClass,removeClass:function(t,n,r,i){return n?e.effects.animateClass.call(this,{remove:t},n,r,i):this._removeClass(t)},_toggleClass:e.fn.toggleClass,toggleClass:function(n,r,i,s,o){return typeof r=="boolean"||r===t?i?e.effects.animateClass.call(this,r?{add:n}:{remove:n},i,s,o):this._toggleClass(n,r):e.effects.animateClass.call(this,{toggle:n},r,i,s)},switchClass:function(t,n,r,i,s){return e.effects.animateClass.call(this,{add:n,remove:t},r,i,s)}})}(),function(){function i(t,n,r,i){e.isPlainObject(t)&&(n=t,t=t.effect),t={effect:t},n==null&&(n={}),e.isFunction(n)&&(i=n,r=null,n={});if(typeof n=="number"||e.fx.speeds[n])i=r,r=n,n={};return e.isFunction(r)&&(i=r,r=null),n&&e.extend(t,n),r=r||n.duration,t.duration=e.fx.off?0:typeof r=="number"?r:r in e.fx.speeds?e.fx.speeds[r]:e.fx.speeds._default,t.complete=i||n.complete,t}function s(t){return!t||typeof t=="number"||e.fx.speeds[t]?!0:typeof t=="string"&&!e.effects.effect[t]?n&&e.effects[t]?!1:!0:!1}e.extend(e.effects,{version:"1.9.1",save:function(e,t){for(var n=0;n<t.length;n++)t[n]!==null&&e.data(r+t[n],e[0].style[t[n]])},restore:function(e,n){var i,s;for(s=0;s<n.length;s++)n[s]!==null&&(i=e.data(r+n[s]),i===t&&(i=""),e.css(n[s],i))},setMode:function(e,t){return t==="toggle"&&(t=e.is(":hidden")?"show":"hide"),t},getBaseline:function(e,t){var n,r;switch(e[0]){case"top":n=0;break;case"middle":n=.5;break;case"bottom":n=1;break;default:n=e[0]/t.height}switch(e[1]){case"left":r=0;break;case"center":r=.5;break;case"right":r=1;break;default:r=e[1]/t.width}return{x:r,y:n}},createWrapper:function(t){if(t.parent().is(".ui-effects-wrapper"))return t.parent();var n={width:t.outerWidth(!0),height:t.outerHeight(!0),"float":t.css("float")},r=e("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),i={width:t.width(),height:t.height()},s=document.activeElement;try{s.id}catch(o){s=document.body}return t.wrap(r),(t[0]===s||e.contains(t[0],s))&&e(s).focus(),r=t.parent(),t.css("position")==="static"?(r.css({position:"relative"}),t.css({position:"relative"})):(e.extend(n,{position:t.css("position"),zIndex:t.css("z-index")}),e.each(["top","left","bottom","right"],function(e,r){n[r]=t.css(r),isNaN(parseInt(n[r],10))&&(n[r]="auto")}),t.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),t.css(i),r.css(n).show()},removeWrapper:function(t){var n=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),(t[0]===n||e.contains(t[0],n))&&e(n).focus()),t},setTransition:function(t,n,r,i){return i=i||{},e.each(n,function(e,n){var s=t.cssUnit(n);s[0]>0&&(i[n]=s[0]*r+s[1])}),i}}),e.fn.extend({effect:function(){function a(n){function u(){e.isFunction(i)&&i.call(r[0]),e.isFunction(n)&&n()}var r=e(this),i=t.complete,s=t.mode;(r.is(":hidden")?s==="hide":s==="show")?u():o.call(r[0],t,u)}var t=i.apply(this,arguments),r=t.mode,s=t.queue,o=e.effects.effect[t.effect],u=!o&&n&&e.effects[t.effect];return e.fx.off||!o&&!u?r?this[r](t.duration,t.complete):this.each(function(){t.complete&&t.complete.call(this)}):o?s===!1?this.each(a):this.queue(s||"fx",a):u.call(this,{options:t,duration:t.duration,callback:t.complete,mode:t.mode})},_show:e.fn.show,show:function(e){if(s(e))return this._show.apply(this,arguments);var t=i.apply(this,arguments);return t.mode="show",this.effect.call(this,t)},_hide:e.fn.hide,hide:function(e){if(s(e))return this._hide.apply(this,arguments);var t=i.apply(this,arguments);return t.mode="hide",this.effect.call(this,t)},__toggle:e.fn.toggle,toggle:function(t){if(s(t)||typeof t=="boolean"||e.isFunction(t))return this.__toggle.apply(this,arguments);var n=i.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)},cssUnit:function(t){var n=this.css(t),r=[];return e.each(["em","px","%","pt"],function(e,t){n.indexOf(t)>0&&(r=[parseFloat(n),t])}),r}})}(),function(){var t={};e.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,n){t[n]=function(t){return Math.pow(t,e+2)}}),e.extend(t,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return e===0||e===1?e:-Math.pow(2,8*(e-1))*Math.sin(((e-1)*80-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){var t,n=4;while(e<((t=Math.pow(2,--n))-1)/11);return 1/Math.pow(4,3-n)-7.5625*Math.pow((t*3-2)/22-e,2)}}),e.each(t,function(t,n){e.easing["easeIn"+t]=n,e.easing["easeOut"+t]=function(e){return 1-n(1-e)},e.easing["easeInOut"+t]=function(e){return e<.5?n(e*2)/2:1-n(e*-2+2)/2}})}()}(jQuery);(function(e,t){var n=/up|down|vertical/,r=/up|left|vertical|horizontal/;e.effects.effect.blind=function(t,i){var s=e(this),o=["position","top","bottom","left","right","height","width"],u=e.effects.setMode(s,t.mode||"hide"),a=t.direction||"up",f=n.test(a),l=f?"height":"width",c=f?"top":"left",h=r.test(a),p={},d=u==="show",v,m,g;s.parent().is(".ui-effects-wrapper")?e.effects.save(s.parent(),o):e.effects.save(s,o),s.show(),v=e.effects.createWrapper(s).css({overflow:"hidden"}),m=v[l](),g=parseFloat(v.css(c))||0,p[l]=d?m:0,h||(s.css(f?"bottom":"right",0).css(f?"top":"left","auto").css({position:"absolute"}),p[c]=d?g:m+g),d&&(v.css(l,0),h||v.css(c,g+m)),v.animate(p,{duration:t.duration,easing:t.easing,queue:!1,complete:function(){u==="hide"&&s.hide(),e.effects.restore(s,o),e.effects.removeWrapper(s),i()}})}})(jQuery);(function(e,t){e.effects.effect.bounce=function(t,n){var r=e(this),i=["position","top","bottom","left","right","height","width"],s=e.effects.setMode(r,t.mode||"effect"),o=s==="hide",u=s==="show",a=t.direction||"up",f=t.distance,l=t.times||5,c=l*2+(u||o?1:0),h=t.duration/c,p=t.easing,d=a==="up"||a==="down"?"top":"left",v=a==="up"||a==="left",m,g,y,b=r.queue(),w=b.length;(u||o)&&i.push("opacity"),e.effects.save(r,i),r.show(),e.effects.createWrapper(r),f||(f=r[d==="top"?"outerHeight":"outerWidth"]()/3),u&&(y={opacity:1},y[d]=0,r.css("opacity",0).css(d,v?-f*2:f*2).animate(y,h,p)),o&&(f/=Math.pow(2,l-1)),y={},y[d]=0;for(m=0;m<l;m++)g={},g[d]=(v?"-=":"+=")+f,r.animate(g,h,p).animate(y,h,p),f=o?f*2:f/2;o&&(g={opacity:0},g[d]=(v?"-=":"+=")+f,r.animate(g,h,p)),r.queue(function(){o&&r.hide(),e.effects.restore(r,i),e.effects.removeWrapper(r),n()}),w>1&&b.splice.apply(b,[1,0].concat(b.splice(w,c+1))),r.dequeue()}})(jQuery);(function(e,t){e.effects.effect.clip=function(t,n){var r=e(this),i=["position","top","bottom","left","right","height","width"],s=e.effects.setMode(r,t.mode||"hide"),o=s==="show",u=t.direction||"vertical",a=u==="vertical",f=a?"height":"width",l=a?"top":"left",c={},h,p,d;e.effects.save(r,i),r.show(),h=e.effects.createWrapper(r).css({overflow:"hidden"}),p=r[0].tagName==="IMG"?h:r,d=p[f](),o&&(p.css(f,0),p.css(l,d/2)),c[f]=o?d:0,c[l]=o?0:d/2,p.animate(c,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){o||r.hide(),e.effects.restore(r,i),e.effects.removeWrapper(r),n()}})}})(jQuery);(function(e,t){e.effects.effect.drop=function(t,n){var r=e(this),i=["position","top","bottom","left","right","opacity","height","width"],s=e.effects.setMode(r,t.mode||"hide"),o=s==="show",u=t.direction||"left",a=u==="up"||u==="down"?"top":"left",f=u==="up"||u==="left"?"pos":"neg",l={opacity:o?1:0},c;e.effects.save(r,i),r.show(),e.effects.createWrapper(r),c=t.distance||r[a==="top"?"outerHeight":"outerWidth"](!0)/2,o&&r.css("opacity",0).css(a,f==="pos"?-c:c),l[a]=(o?f==="pos"?"+=":"-=":f==="pos"?"-=":"+=")+c,r.animate(l,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){s==="hide"&&r.hide(),e.effects.restore(r,i),e.effects.removeWrapper(r),n()}})}})(jQuery);(function(e,t){e.effects.effect.explode=function(t,n){function y(){c.push(this),c.length===r*i&&b()}function b(){s.css({visibility:"visible"}),e(c).remove(),u||s.hide(),n()}var r=t.pieces?Math.round(Math.sqrt(t.pieces)):3,i=r,s=e(this),o=e.effects.setMode(s,t.mode||"hide"),u=o==="show",a=s.show().css("visibility","hidden").offset(),f=Math.ceil(s.outerWidth()/i),l=Math.ceil(s.outerHeight()/r),c=[],h,p,d,v,m,g;for(h=0;h<r;h++){v=a.top+h*l,g=h-(r-1)/2;for(p=0;p<i;p++)d=a.left+p*f,m=p-(i-1)/2,s.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-p*f,top:-h*l}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:f,height:l,left:d+(u?m*f:0),top:v+(u?g*l:0),opacity:u?0:1}).animate({left:d+(u?0:m*f),top:v+(u?0:g*l),opacity:u?1:0},t.duration||500,t.easing,y)}}})(jQuery);(function(e,t){e.effects.effect.fade=function(t,n){var r=e(this),i=e.effects.setMode(r,t.mode||"toggle");r.animate({opacity:i},{queue:!1,duration:t.duration,easing:t.easing,complete:n})}})(jQuery);(function(e,t){e.effects.effect.fold=function(t,n){var r=e(this),i=["position","top","bottom","left","right","height","width"],s=e.effects.setMode(r,t.mode||"hide"),o=s==="show",u=s==="hide",a=t.size||15,f=/([0-9]+)%/.exec(a),l=!!t.horizFirst,c=o!==l,h=c?["width","height"]:["height","width"],p=t.duration/2,d,v,m={},g={};e.effects.save(r,i),r.show(),d=e.effects.createWrapper(r).css({overflow:"hidden"}),v=c?[d.width(),d.height()]:[d.height(),d.width()],f&&(a=parseInt(f[1],10)/100*v[u?0:1]),o&&d.css(l?{height:0,width:a}:{height:a,width:0}),m[h[0]]=o?v[0]:a,g[h[1]]=o?v[1]:0,d.animate(m,p,t.easing).animate(g,p,t.easing,function(){u&&r.hide(),e.effects.restore(r,i),e.effects.removeWrapper(r),n()})}})(jQuery);(function(e,t){e.effects.effect.highlight=function(t,n){var r=e(this),i=["backgroundImage","backgroundColor","opacity"],s=e.effects.setMode(r,t.mode||"show"),o={backgroundColor:r.css("backgroundColor")};s==="hide"&&(o.opacity=0),e.effects.save(r,i),r.show().css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(o,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){s==="hide"&&r.hide(),e.effects.restore(r,i),n()}})}})(jQuery);(function(e,t){e.effects.effect.pulsate=function(t,n){var r=e(this),i=e.effects.setMode(r,t.mode||"show"),s=i==="show",o=i==="hide",u=s||i==="hide",a=(t.times||5)*2+(u?1:0),f=t.duration/a,l=0,c=r.queue(),h=c.length,p;if(s||!r.is(":visible"))r.css("opacity",0).show(),l=1;for(p=1;p<a;p++)r.animate({opacity:l},f,t.easing),l=1-l;r.animate({opacity:l},f,t.easing),r.queue(function(){o&&r.hide(),n()}),h>1&&c.splice.apply(c,[1,0].concat(c.splice(h,a+1))),r.dequeue()}})(jQuery);(function(e,t){e.effects.effect.puff=function(t,n){var r=e(this),i=e.effects.setMode(r,t.mode||"hide"),s=i==="hide",o=parseInt(t.percent,10)||150,u=o/100,a={height:r.height(),width:r.width()};e.extend(t,{effect:"scale",queue:!1,fade:!0,mode:i,complete:n,percent:s?o:100,from:s?a:{height:a.height*u,width:a.width*u}}),r.effect(t)},e.effects.effect.scale=function(t,n){var r=e(this),i=e.extend(!0,{},t),s=e.effects.setMode(r,t.mode||"effect"),o=parseInt(t.percent,10)||(parseInt(t.percent,10)===0?0:s==="hide"?0:100),u=t.direction||"both",a=t.origin,f={height:r.height(),width:r.width(),outerHeight:r.outerHeight(),outerWidth:r.outerWidth()},l={y:u!=="horizontal"?o/100:1,x:u!=="vertical"?o/100:1};i.effect="size",i.queue=!1,i.complete=n,s!=="effect"&&(i.origin=a||["middle","center"],i.restore=!0),i.from=t.from||(s==="show"?{height:0,width:0}:f),i.to={height:f.height*l.y,width:f.width*l.x,outerHeight:f.outerHeight*l.y,outerWidth:f.outerWidth*l.x},i.fade&&(s==="show"&&(i.from.opacity=0,i.to.opacity=1),s==="hide"&&(i.from.opacity=1,i.to.opacity=0)),r.effect(i)},e.effects.effect.size=function(t,n){var r,i,s,o=e(this),u=["position","top","bottom","left","right","width","height","overflow","opacity"],a=["position","top","bottom","left","right","overflow","opacity"],f=["width","height","overflow"],l=["fontSize"],c=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],h=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=e.effects.setMode(o,t.mode||"effect"),d=t.restore||p!=="effect",v=t.scale||"both",m=t.origin||["middle","center"],g=o.css("position"),y=d?u:a,b={height:0,width:0};p==="show"&&o.show(),r={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},t.mode==="toggle"&&p==="show"?(o.from=t.to||b,o.to=t.from||r):(o.from=t.from||(p==="show"?b:r),o.to=t.to||(p==="hide"?b:r)),s={from:{y:o.from.height/r.height,x:o.from.width/r.width},to:{y:o.to.height/r.height,x:o.to.width/r.width}};if(v==="box"||v==="both")s.from.y!==s.to.y&&(y=y.concat(c),o.from=e.effects.setTransition(o,c,s.from.y,o.from),o.to=e.effects.setTransition(o,c,s.to.y,o.to)),s.from.x!==s.to.x&&(y=y.concat(h),o.from=e.effects.setTransition(o,h,s.from.x,o.from),o.to=e.effects.setTransition(o,h,s.to.x,o.to));(v==="content"||v==="both")&&s.from.y!==s.to.y&&(y=y.concat(l).concat(f),o.from=e.effects.setTransition(o,l,s.from.y,o.from),o.to=e.effects.setTransition(o,l,s.to.y,o.to)),e.effects.save(o,y),o.show(),e.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),m&&(i=e.effects.getBaseline(m,r),o.from.top=(r.outerHeight-o.outerHeight())*i.y,o.from.left=(r.outerWidth-o.outerWidth())*i.x,o.to.top=(r.outerHeight-o.to.outerHeight)*i.y,o.to.left=(r.outerWidth-o.to.outerWidth)*i.x),o.css(o.from);if(v==="content"||v==="both")c=c.concat(["marginTop","marginBottom"]).concat(l),h=h.concat(["marginLeft","marginRight"]),f=u.concat(c).concat(h),o.find("*[width]").each(function(){var n=e(this),r={height:n.height(),width:n.width()};d&&e.effects.save(n,f),n.from={height:r.height*s.from.y,width:r.width*s.from.x},n.to={height:r.height*s.to.y,width:r.width*s.to.x},s.from.y!==s.to.y&&(n.from=e.effects.setTransition(n,c,s.from.y,n.from),n.to=e.effects.setTransition(n,c,s.to.y,n.to)),s.from.x!==s.to.x&&(n.from=e.effects.setTransition(n,h,s.from.x,n.from),n.to=e.effects.setTransition(n,h,s.to.x,n.to)),n.css(n.from),n.animate(n.to,t.duration,t.easing,function(){d&&e.effects.restore(n,f)})});o.animate(o.to,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){o.to.opacity===0&&o.css("opacity",o.from.opacity),p==="hide"&&o.hide(),e.effects.restore(o,y),d||(g==="static"?o.css({position:"relative",top:o.to.top,left:o.to.left}):e.each(["top","left"],function(e,t){o.css(t,function(t,n){var r=parseInt(n,10),i=e?o.to.left:o.to.top;return n==="auto"?i+"px":r+i+"px"})})),e.effects.removeWrapper(o),n()}})}})(jQuery);(function(e,t){e.effects.effect.shake=function(t,n){var r=e(this),i=["position","top","bottom","left","right","height","width"],s=e.effects.setMode(r,t.mode||"effect"),o=t.direction||"left",u=t.distance||20,a=t.times||3,f=a*2+1,l=Math.round(t.duration/f),c=o==="up"||o==="down"?"top":"left",h=o==="up"||o==="left",p={},d={},v={},m,g=r.queue(),y=g.length;e.effects.save(r,i),r.show(),e.effects.createWrapper(r),p[c]=(h?"-=":"+=")+u,d[c]=(h?"+=":"-=")+u*2,v[c]=(h?"-=":"+=")+u*2,r.animate(p,l,t.easing);for(m=1;m<a;m++)r.animate(d,l,t.easing).animate(v,l,t.easing);r.animate(d,l,t.easing).animate(p,l/2,t.easing).queue(function(){s==="hide"&&r.hide(),e.effects.restore(r,i),e.effects.removeWrapper(r),n()}),y>1&&g.splice.apply(g,[1,0].concat(g.splice(y,f+1))),r.dequeue()}})(jQuery);(function(e,t){e.effects.effect.slide=function(t,n){var r=e(this),i=["position","top","bottom","left","right","width","height"],s=e.effects.setMode(r,t.mode||"show"),o=s==="show",u=t.direction||"left",a=u==="up"||u==="down"?"top":"left",f=u==="up"||u==="left",l,c={};e.effects.save(r,i),r.show(),l=t.distance||r[a==="top"?"outerHeight":"outerWidth"](!0),e.effects.createWrapper(r).css({overflow:"hidden"}),o&&r.css(a,f?isNaN(l)?"-"+l:-l:l),c[a]=(o?f?"+=":"-=":f?"-=":"+=")+l,r.animate(c,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){s==="hide"&&r.hide(),e.effects.restore(r,i),e.effects.removeWrapper(r),n()}})}})(jQuery);(function(e,t){e.effects.effect.transfer=function(t,n){var r=e(this),i=e(t.to),s=i.css("position")==="fixed",o=e("body"),u=s?o.scrollTop():0,a=s?o.scrollLeft():0,f=i.offset(),l={top:f.top-u,left:f.left-a,height:i.innerHeight(),width:i.innerWidth()},c=r.offset(),h=e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(t.className).css({top:c.top-u,left:c.left-a,height:r.innerHeight(),width:r.innerWidth(),position:s?"fixed":"absolute"}).animate(l,t.duration,t.easing,function(){h.remove(),n()})}})(jQuery);(function(e,t){var n=!1;e.widget("ui.menu",{version:"1.9.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,e.proxy(function(e){this.options.disabled&&e.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(e){e.preventDefault()},"click .ui-state-disabled > a":function(e){e.preventDefault()},"click .ui-menu-item:has(a)":function(t){var r=e(t.target).closest(".ui-menu-item");!n&&r.not(".ui-state-disabled").length&&(n=!0,this.select(t),r.has(".ui-menu").length?this.expand(t):this.element.is(":focus")||(this.element.trigger("focus",[!0]),this.active&&this.active.parents(".ui-menu").length===1&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){var n=e(t.currentTarget);n.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(t,n)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var n=this.active||this.element.children(".ui-menu-item").eq(0);t||this.focus(e,n)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){e(t.target).closest(".ui-menu").length||this.collapseAll(t),n=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").andSelf().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var t=e(this);t.data("ui-menu-submenu-carat")&&t.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(t){function a(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var n,r,i,s,o,u=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:u=!1,r=this.previousFilter||"",i=String.fromCharCode(t.keyCode),s=!1,clearTimeout(this.filterTimer),i===r?s=!0:i=r+i,o=new RegExp("^"+a(i),"i"),n=this.activeMenu.children(".ui-menu-item").filter(function(){return o.test(e(this).children("a").text())}),n=s&&n.index(this.active.next())!==-1?this.active.nextAll(".ui-menu-item"):n,n.length||(i=String.fromCharCode(t.keyCode),o=new RegExp("^"+a(i),"i"),n=this.activeMenu.children(".ui-menu-item").filter(function(){return o.test(e(this).children("a").text())})),n.length?(this.focus(t,n),n.length>1?(this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}u&&t.preventDefault()},_activate:function(e){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(e):this.select(e))},refresh:function(){var t,n=this.options.icons.submenu,r=this.element.find(this.options.menus+":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"});t=r.add(this.element),t.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),t.children(":not(.ui-menu-item)").each(function(){var t=e(this);/[^\-—–\s]/.test(t.text())||t.addClass("ui-widget-content ui-menu-divider")}),t.children(".ui-state-disabled").attr("aria-disabled","true"),r.each(function(){var t=e(this),r=t.prev("a"),i=e("<span>").addClass("ui-menu-icon ui-icon "+n).data("ui-menu-submenu-carat",!0);r.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",r.attr("id"))}),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},focus:function(e,t){var n,r;this.blur(e,e&&e.type==="focus"),this._scrollIntoView(t),this.active=t.first(),r=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",r.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),e&&e.type==="keydown"?this._close():this.timer=this._delay(function(){this._close()},this.delay),n=t.children(".ui-menu"),n.length&&/^mouse/.test(e.type)&&this._startOpening(n),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var n,r,i,s,o,u;this._hasScroll()&&(n=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,r=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,i=t.offset().top-this.activeMenu.offset().top-n-r,s=this.activeMenu.scrollTop(),o=this.activeMenu.height(),u=t.height(),i<0?this.activeMenu.scrollTop(s+i):i+u>o&&this.activeMenu.scrollTop(s+i-o+u))},blur:function(e,t){t||clearTimeout(this.timer);if(!this.active)return;this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",e,{item:this.active})},_startOpening:function(e){clearTimeout(this.timer);if(e.attr("aria-hidden")!=="true")return;this.timer=this._delay(function(){this._close(),this._open(e)},this.delay)},_open:function(t){var n=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(n)},collapseAll:function(t,n){clearTimeout(this.timer),this.timer=this._delay(function(){var r=n?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));r.length||(r=this.element),this._close(r),this.blur(t),this.activeMenu=r},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,n){var r;this.active&&(e==="first"||e==="last"?r=this.active[e==="first"?"prevAll":"nextAll"](".ui-menu-item").eq(-1):r=this.active[e+"All"](".ui-menu-item").eq(0));if(!r||!r.length||!this.active)r=this.activeMenu.children(".ui-menu-item")[t]();this.focus(n,r)},nextPage:function(t){var n,r,i;if(!this.active){this.next(t);return}if(this.isLastItem())return;this._hasScroll()?(r=this.active.offset().top,i=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return n=e(this),n.offset().top-r-i<0}),this.focus(t,n)):this.focus(t,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())},previousPage:function(t){var n,r,i;if(!this.active){this.next(t);return}if(this.isFirstItem())return;this._hasScroll()?(r=this.active.offset().top,i=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return n=e(this),n.offset().top-r+i>0}),this.focus(t,n)):this.focus(t,this.activeMenu.children(".ui-menu-item").first())},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||e(t.target).closest(".ui-menu-item");var n={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,n)}})})(jQuery);(function(e,t){e.widget("ui.progressbar",{version:"1.9.1",options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()}),this.valueDiv=e("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this.oldValue=this._value(),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(e){return e===t?this._value():(this._setOption("value",e),this)},_setOption:function(e,t){e==="value"&&(this.options.value=t,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),this._super(e,t)},_value:function(){var e=this.options.value;return typeof e!="number"&&(e=0),Math.min(this.options.max,Math.max(this.min,e))},_percentage:function(){return 100*this._value()/this.options.max},_refreshValue:function(){var e=this.value(),t=this._percentage();this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),this.valueDiv.toggle(e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(t.toFixed(0)+"%"),this.element.attr("aria-valuenow",e)}})})(jQuery);(function(e,t){e.widget("ui.resizable",e.ui.mouse,{version:"1.9.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1e3},_create:function(){var t=this,n=this.options;this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!n.aspectRatio,aspectRatio:n.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:n.helper||n.ghost||n.animate?n.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(e('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("resizable",this.element.data("resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=n.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se");if(this.handles.constructor==String){this.handles=="all"&&(this.handles="n,e,s,w,se,sw,ne,nw");var r=this.handles.split(",");this.handles={};for(var i=0;i<r.length;i++){var s=e.trim(r[i]),o="ui-resizable-"+s,u=e('<div class="ui-resizable-handle '+o+'"></div>');u.css({zIndex:n.zIndex}),"se"==s&&u.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(u)}}this._renderAxis=function(t){t=t||this.element;for(var n in this.handles){this.handles[n].constructor==String&&(this.handles[n]=e(this.handles[n],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var r=e(this.handles[n],this.element),i=0;i=/sw|ne|nw|se|n|s/.test(n)?r.outerHeight():r.outerWidth();var s=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");t.css(s,i),this._proportionallyResize()}if(!e(this.handles[n]).length)continue}},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){if(!t.resizing){if(this.className)var e=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);t.axis=e&&e[1]?e[1]:"se"}}),n.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){if(n.disabled)return;e(this).removeClass("ui-resizable-autohide"),t._handles.show()}).mouseleave(function(){if(n.disabled)return;t.resizing||(e(this).addClass("ui-resizable-autohide"),t._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){t(this.element);var n=this.element;this.originalElement.css({position:n.css("position"),width:n.outerWidth(),height:n.outerHeight(),top:n.css("top"),left:n.css("left")}).insertAfter(n),n.remove()}return this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_mouseCapture:function(t){var n=!1;for(var r in this.handles)e(this.handles[r])[0]==t.target&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(t){var r=this.options,i=this.element.position(),s=this.element;this.resizing=!0,this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()},(s.is(".ui-draggable")||/absolute/.test(s.css("position")))&&s.css({position:"absolute",top:i.top,left:i.left}),this._renderProxy();var o=n(this.helper.css("left")),u=n(this.helper.css("top"));r.containment&&(o+=e(r.containment).scrollLeft()||0,u+=e(r.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:o,top:u},this.size=this._helper?{width:s.outerWidth(),height:s.outerHeight()}:{width:s.width(),height:s.height()},this.originalSize=this._helper?{width:s.outerWidth(),height:s.outerHeight()}:{width:s.width(),height:s.height()},this.originalPosition={left:o,top:u},this.sizeDiff={width:s.outerWidth()-s.width(),height:s.outerHeight()-s.height()},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio=typeof r.aspectRatio=="number"?r.aspectRatio:this.originalSize.width/this.originalSize.height||1;var a=e(".ui-resizable-"+this.axis).css("cursor");return e("body").css("cursor",a=="auto"?this.axis+"-resize":a),s.addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(e){var t=this.helper,n=this.options,r={},i=this,s=this.originalMousePosition,o=this.axis,u=e.pageX-s.left||0,a=e.pageY-s.top||0,f=this._change[o];if(!f)return!1;var l=f.apply(this,[e,u,a]);this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey)l=this._updateRatio(l,e);return l=this._respectSize(l,e),this._propagate("resize",e),t.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"}),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),this._updateCache(l),this._trigger("resize",e,this.ui()),!1},_mouseStop:function(t){this.resizing=!1;var n=this.options,r=this;if(this._helper){var i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),o=s&&e.ui.hasScroll(i[0],"left")?0:r.sizeDiff.height,u=s?0:r.sizeDiff.width,a={width:r.helper.width()-u,height:r.helper.height()-o},f=parseInt(r.element.css("left"),10)+(r.position.left-r.originalPosition.left)||null,l=parseInt(r.element.css("top"),10)+(r.position.top-r.originalPosition.top)||null;n.animate||this.element.css(e.extend(a,{top:l,left:f})),r.helper.height(r.size.height),r.helper.width(r.size.width),this._helper&&!n.animate&&this._proportionallyResize()}return e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(e){var t=this.options,n,i,s,o,u;u={minWidth:r(t.minWidth)?t.minWidth:0,maxWidth:r(t.maxWidth)?t.maxWidth:Infinity,minHeight:r(t.minHeight)?t.minHeight:0,maxHeight:r(t.maxHeight)?t.maxHeight:Infinity};if(this._aspectRatio||e)n=u.minHeight*this.aspectRatio,s=u.minWidth/this.aspectRatio,i=u.maxHeight*this.aspectRatio,o=u.maxWidth/this.aspectRatio,n>u.minWidth&&(u.minWidth=n),s>u.minHeight&&(u.minHeight=s),i<u.maxWidth&&(u.maxWidth=i),o<u.maxHeight&&(u.maxHeight=o);this._vBoundaries=u},_updateCache:function(e){var t=this.options;this.offset=this.helper.offset(),r(e.left)&&(this.position.left=e.left),r(e.top)&&(this.position.top=e.top),r(e.height)&&(this.size.height=e.height),r(e.width)&&(this.size.width=e.width)},_updateRatio:function(e,t){var n=this.options,i=this.position,s=this.size,o=this.axis;return r(e.height)?e.width=e.height*this.aspectRatio:r(e.width)&&(e.height=e.width/this.aspectRatio),o=="sw"&&(e.left=i.left+(s.width-e.width),e.top=null),o=="nw"&&(e.top=i.top+(s.height-e.height),e.left=i.left+(s.width-e.width)),e},_respectSize:function(e,t){var n=this.helper,i=this._vBoundaries,s=this._aspectRatio||t.shiftKey,o=this.axis,u=r(e.width)&&i.maxWidth&&i.maxWidth<e.width,a=r(e.height)&&i.maxHeight&&i.maxHeight<e.height,f=r(e.width)&&i.minWidth&&i.minWidth>e.width,l=r(e.height)&&i.minHeight&&i.minHeight>e.height;f&&(e.width=i.minWidth),l&&(e.height=i.minHeight),u&&(e.width=i.maxWidth),a&&(e.height=i.maxHeight);var c=this.originalPosition.left+this.originalSize.width,h=this.position.top+this.size.height,p=/sw|nw|w/.test(o),d=/nw|ne|n/.test(o);f&&p&&(e.left=c-i.minWidth),u&&p&&(e.left=c-i.maxWidth),l&&d&&(e.top=h-i.minHeight),a&&d&&(e.top=h-i.maxHeight);var v=!e.width&&!e.height;return v&&!e.left&&e.top?e.top=null:v&&!e.top&&e.left&&(e.left=null),e},_proportionallyResize:function(){var t=this.options;if(!this._proportionallyResizeElements.length)return;var n=this.helper||this.element;for(var r=0;r<this._proportionallyResizeElements.length;r++){var i=this._proportionallyResizeElements[r];if(!this.borderDif){var s=[i.css("borderTopWidth"),i.css("borderRightWidth"),i.css("borderBottomWidth"),i.css("borderLeftWidth")],o=[i.css("paddingTop"),i.css("paddingRight"),i.css("paddingBottom"),i.css("paddingLeft")];this.borderDif=e.map(s,function(e,t){var n=parseInt(e,10)||0,r=parseInt(o[t],10)||0;return n+r})}i.css({height:n.height()-this.borderDif[0]-this.borderDif[2]||0,width:n.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var t=this.element,n=this.options;this.elementOffset=t.offset();if(this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var r=e.ui.ie6?1:0,i=e.ui.ie6?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+i,height:this.element.outerHeight()+i,position:"absolute",left:this.elementOffset.left-r+"px",top:this.elementOffset.top-r+"px",zIndex:++n.zIndex}),this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(e,t,n){return{width:this.originalSize.width+t}},w:function(e,t,n){var r=this.options,i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,n){var r=this.options,i=this.originalSize,s=this.originalPosition;return{top:s.top+n,height:i.height-n}},s:function(e,t,n){return{height:this.originalSize.height+n}},se:function(t,n,r){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,n,r]))},sw:function(t,n,r){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,n,r]))},ne:function(t,n,r){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,n,r]))},nw:function(t,n,r){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,n,r]))}},_propagate:function(t,n){e.ui.plugin.call(this,t,[n,this.ui()]),t!="resize"&&this._trigger(t,n,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","alsoResize",{start:function(t,n){var r=e(this).data("resizable"),i=r.options,s=function(t){e(t).each(function(){var t=e(this);t.data("resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};typeof i.alsoResize=="object"&&!i.alsoResize.parentNode?i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):e.each(i.alsoResize,function(e){s(e)}):s(i.alsoResize)},resize:function(t,n){var r=e(this).data("resizable"),i=r.options,s=r.originalSize,o=r.originalPosition,u={height:r.size.height-s.height||0,width:r.size.width-s.width||0,top:r.position.top-o.top||0,left:r.position.left-o.left||0},a=function(t,r){e(t).each(function(){var t=e(this),i=e(this).data("resizable-alsoresize"),s={},o=r&&r.length?r:t.parents(n.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,function(e,t){var n=(i[t]||0)+(u[t]||0);n&&n>=0&&(s[t]=n||null)}),t.css(s)})};typeof i.alsoResize=="object"&&!i.alsoResize.nodeType?e.each(i.alsoResize,function(e,t){a(e,t)}):a(i.alsoResize)},stop:function(t,n){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","animate",{stop:function(t,n){var r=e(this).data("resizable"),i=r.options,s=r._proportionallyResizeElements,o=s.length&&/textarea/i.test(s[0].nodeName),u=o&&e.ui.hasScroll(s[0],"left")?0:r.sizeDiff.height,a=o?0:r.sizeDiff.width,f={width:r.size.width-a,height:r.size.height-u},l=parseInt(r.element.css("left"),10)+(r.position.left-r.originalPosition.left)||null,c=parseInt(r.element.css("top"),10)+(r.position.top-r.originalPosition.top)||null;r.element.animate(e.extend(f,c&&l?{top:c,left:l}:{}),{duration:i.animateDuration,easing:i.animateEasing,step:function(){var n={width:parseInt(r.element.css("width"),10),height:parseInt(r.element.css("height"),10),top:parseInt(r.element.css("top"),10),left:parseInt(r.element.css("left"),10)};s&&s.length&&e(s[0]).css({width:n.width,height:n.height}),r._updateCache(n),r._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(t,r){var i=e(this).data("resizable"),s=i.options,o=i.element,u=s.containment,a=u instanceof e?u.get(0):/parent/.test(u)?o.parent().get(0):u;if(!a)return;i.containerElement=e(a);if(/document/.test(u)||u==document)i.containerOffset={left:0,top:0},i.containerPosition={left:0,top:0},i.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight};else{var f=e(a),l=[];e(["Top","Right","Left","Bottom"]).each(function(e,t){l[e]=n(f.css("padding"+t))}),i.containerOffset=f.offset(),i.containerPosition=f.position(),i.containerSize={height:f.innerHeight()-l[3],width:f.innerWidth()-l[1]};var c=i.containerOffset,h=i.containerSize.height,p=i.containerSize.width,d=e.ui.hasScroll(a,"left")?a.scrollWidth:p,v=e.ui.hasScroll(a)?a.scrollHeight:h;i.parentData={element:a,left:c.left,top:c.top,width:d,height:v}}},resize:function(t,n){var r=e(this).data("resizable"),i=r.options,s=r.containerSize,o=r.containerOffset,u=r.size,a=r.position,f=r._aspectRatio||t.shiftKey,l={top:0,left:0},c=r.containerElement;c[0]!=document&&/static/.test(c.css("position"))&&(l=o),a.left<(r._helper?o.left:0)&&(r.size.width=r.size.width+(r._helper?r.position.left-o.left:r.position.left-l.left),f&&(r.size.height=r.size.width/r.aspectRatio),r.position.left=i.helper?o.left:0),a.top<(r._helper?o.top:0)&&(r.size.height=r.size.height+(r._helper?r.position.top-o.top:r.position.top),f&&(r.size.width=r.size.height*r.aspectRatio),r.position.top=r._helper?o.top:0),r.offset.left=r.parentData.left+r.position.left,r.offset.top=r.parentData.top+r.position.top;var h=Math.abs((r._helper?r.offset.left-l.left:r.offset.left-l.left)+r.sizeDiff.width),p=Math.abs((r._helper?r.offset.top-l.top:r.offset.top-o.top)+r.sizeDiff.height),d=r.containerElement.get(0)==r.element.parent().get(0),v=/relative|absolute/.test(r.containerElement.css("position"));d&&v&&(h-=r.parentData.left),h+r.size.width>=r.parentData.width&&(r.size.width=r.parentData.width-h,f&&(r.size.height=r.size.width/r.aspectRatio)),p+r.size.height>=r.parentData.height&&(r.size.height=r.parentData.height-p,f&&(r.size.width=r.size.height*r.aspectRatio))},stop:function(t,n){var r=e(this).data("resizable"),i=r.options,s=r.position,o=r.containerOffset,u=r.containerPosition,a=r.containerElement,f=e(r.helper),l=f.offset(),c=f.outerWidth()-r.sizeDiff.width,h=f.outerHeight()-r.sizeDiff.height;r._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:l.left-u.left-o.left,width:c,height:h}),r._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:l.left-u.left-o.left,width:c,height:h})}}),e.ui.plugin.add("resizable","ghost",{start:function(t,n){var r=e(this).data("resizable"),i=r.options,s=r.size;r.ghost=r.originalElement.clone(),r.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:""),r.ghost.appendTo(r.helper)},resize:function(t,n){var r=e(this).data("resizable"),i=r.options;r.ghost&&r.ghost.css({position:"relative",height:r.size.height,width:r.size.width})},stop:function(t,n){var r=e(this).data("resizable"),i=r.options;r.ghost&&r.helper&&r.helper.get(0).removeChild(r.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(t,n){var r=e(this).data("resizable"),i=r.options,s=r.size,o=r.originalSize,u=r.originalPosition,a=r.axis,f=i._aspectRatio||t.shiftKey;i.grid=typeof i.grid=="number"?[i.grid,i.grid]:i.grid;var l=Math.round((s.width-o.width)/(i.grid[0]||1))*(i.grid[0]||1),c=Math.round((s.height-o.height)/(i.grid[1]||1))*(i.grid[1]||1);/^(se|s|e)$/.test(a)?(r.size.width=o.width+l,r.size.height=o.height+c):/^(ne)$/.test(a)?(r.size.width=o.width+l,r.size.height=o.height+c,r.position.top=u.top-c):/^(sw)$/.test(a)?(r.size.width=o.width+l,r.size.height=o.height+c,r.position.left=u.left-l):(r.size.width=o.width+l,r.size.height=o.height+c,r.position.top=u.top-c,r.position.left=u.left-l)}});var n=function(e){return parseInt(e,10)||0},r=function(e){return!isNaN(parseInt(e,10))}})(jQuery);(function(e,t){e.widget("ui.selectable",e.ui.mouse,{version:"1.9.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch"},_create:function(){var t=this;this.element.addClass("ui-selectable"),this.dragged=!1;var n;this.refresh=function(){n=e(t.options.filter,t.element[0]),n.addClass("ui-selectee"),n.each(function(){var t=e(this),n=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:n.left,top:n.top,right:n.left+t.outerWidth(),bottom:n.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=n.addClass("ui-selectee"),this._mouseInit(),this.helper=e("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var n=this;this.opos=[t.pageX,t.pageY];if(this.options.disabled)return;var r=this.options;this.selectees=e(r.filter,this.element[0]),this._trigger("start",t),e(r.appendTo).append(this.helper),this.helper.css({left:t.clientX,top:t.clientY,width:0,height:0}),r.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var r=e.data(this,"selectable-item");r.startselected=!0,!t.metaKey&&!t.ctrlKey&&(r.$element.removeClass("ui-selected"),r.selected=!1,r.$element.addClass("ui-unselecting"),r.unselecting=!0,n._trigger("unselecting",t,{unselecting:r.element}))}),e(t.target).parents().andSelf().each(function(){var r=e.data(this,"selectable-item");if(r){var i=!t.metaKey&&!t.ctrlKey||!r.$element.hasClass("ui-selected");return r.$element.removeClass(i?"ui-unselecting":"ui-selected").addClass(i?"ui-selecting":"ui-unselecting"),r.unselecting=!i,r.selecting=i,r.selected=i,i?n._trigger("selecting",t,{selecting:r.element}):n._trigger("unselecting",t,{unselecting:r.element}),!1}})},_mouseDrag:function(t){var n=this;this.dragged=!0;if(this.options.disabled)return;var r=this.options,i=this.opos[0],s=this.opos[1],o=t.pageX,u=t.pageY;if(i>o){var a=o;o=i,i=a}if(s>u){var a=u;u=s,s=a}return this.helper.css({left:i,top:s,width:o-i,height:u-s}),this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!a||a.element==n.element[0])return;var f=!1;r.tolerance=="touch"?f=!(a.left>o||a.right<i||a.top>u||a.bottom<s):r.tolerance=="fit"&&(f=a.left>i&&a.right<o&&a.top>s&&a.bottom<u),f?(a.selected&&(a.$element.removeClass("ui-selected"),a.selected=!1),a.unselecting&&(a.$element.removeClass("ui-unselecting"),a.unselecting=!1),a.selecting||(a.$element.addClass("ui-selecting"),a.selecting=!0,n._trigger("selecting",t,{selecting:a.element}))):(a.selecting&&((t.metaKey||t.ctrlKey)&&a.startselected?(a.$element.removeClass("ui-selecting"),a.selecting=!1,a.$element.addClass("ui-selected"),a.selected=!0):(a.$element.removeClass("ui-selecting"),a.selecting=!1,a.startselected&&(a.$element.addClass("ui-unselecting"),a.unselecting=!0),n._trigger("unselecting",t,{unselecting:a.element}))),a.selected&&!t.metaKey&&!t.ctrlKey&&!a.startselected&&(a.$element.removeClass("ui-selected"),a.selected=!1,a.$element.addClass("ui-unselecting"),a.unselecting=!0,n._trigger("unselecting",t,{unselecting:a.element})))}),!1},_mouseStop:function(t){var n=this;this.dragged=!1;var r=this.options;return e(".ui-unselecting",this.element[0]).each(function(){var r=e.data(this,"selectable-item");r.$element.removeClass("ui-unselecting"),r.unselecting=!1,r.startselected=!1,n._trigger("unselected",t,{unselected:r.element})}),e(".ui-selecting",this.element[0]).each(function(){var r=e.data(this,"selectable-item");r.$element.removeClass("ui-selecting").addClass("ui-selected"),r.selecting=!1,r.selected=!0,r.startselected=!0,n._trigger("selected",t,{selected:r.element})}),this._trigger("stop",t),this.helper.remove(),!1}})})(jQuery);(function(e,t){var n=5;e.widget("ui.slider",e.ui.mouse,{version:"1.9.1",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null},_create:function(){var t,r,i=this.options,s=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),o="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",u=[];this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"+(i.disabled?" ui-slider-disabled ui-disabled":"")),this.range=e([]),i.range&&(i.range===!0&&(i.values||(i.values=[this._valueMin(),this._valueMin()]),i.values.length&&i.values.length!==2&&(i.values=[i.values[0],i.values[0]])),this.range=e("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(i.range==="min"||i.range==="max"?" ui-slider-range-"+i.range:""))),r=i.values&&i.values.length||1;for(t=s.length;t<r;t++)u.push(o);this.handles=s.add(e(u.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.add(this.range).filter("a").click(function(e){e.preventDefault()}).mouseenter(function(){i.disabled||e(this).addClass("ui-state-hover")}).mouseleave(function(){e(this).removeClass("ui-state-hover")}).focus(function(){i.disabled?e(this).blur():(e(".ui-slider .ui-state-focus").removeClass("ui-state-focus"),e(this).addClass("ui-state-focus"))}).blur(function(){e(this).removeClass("ui-state-focus")}),this.handles.each(function(t){e(this).data("ui-slider-handle-index",t)}),this._on(this.handles,{keydown:function(t){var r,i,s,o,u=e(t.target).data("ui-slider-handle-index");switch(t.keyCode){case e.ui.keyCode.HOME:case e.ui.keyCode.END:case e.ui.keyCode.PAGE_UP:case e.ui.keyCode.PAGE_DOWN:case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:t.preventDefault();if(!this._keySliding){this._keySliding=!0,e(t.target).addClass("ui-state-active"),r=this._start(t,u);if(r===!1)return}}o=this.options.step,this.options.values&&this.options.values.length?i=s=this.values(u):i=s=this.value();switch(t.keyCode){case e.ui.keyCode.HOME:s=this._valueMin();break;case e.ui.keyCode.END:s=this._valueMax();break;case e.ui.keyCode.PAGE_UP:s=this._trimAlignValue(i+(this._valueMax()-this._valueMin())/n);break;case e.ui.keyCode.PAGE_DOWN:s=this._trimAlignValue(i-(this._valueMax()-this._valueMin())/n);break;case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:if(i===this._valueMax())return;s=this._trimAlignValue(i+o);break;case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(i===this._valueMin())return;s=this._trimAlignValue(i-o)}this._slide(t,u,s)},keyup:function(t){var n=e(t.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(t,n),this._change(t,n),e(t.target).removeClass("ui-state-active"))}}),this._refreshValue(),this._animateOff=!1},_destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(t){var n,r,i,s,o,u,a,f,l=this,c=this.options;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),n={x:t.pageX,y:t.pageY},r=this._normValueFromMouse(n),i=this._valueMax()-this._valueMin()+1,this.handles.each(function(t){var n=Math.abs(r-l.values(t));i>n&&(i=n,s=e(this),o=t)}),c.range===!0&&this.values(1)===c.min&&(o+=1,s=e(this.handles[o])),u=this._start(t,o),u===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,s.addClass("ui-state-active").focus(),a=s.offset(),f=!e(t.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=f?{left:0,top:0}:{left:t.pageX-a.left-s.width()/2,top:t.pageY-a.top-s.height()/2-(parseInt(s.css("borderTopWidth"),10)||0)-(parseInt(s.css("borderBottomWidth"),10)||0)+(parseInt(s.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,o,r),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},n=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,n),!1},_mouseStop:function(e){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,n,r,i,s;return this.orientation==="horizontal"?(t=this.elementSize.width,n=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,n=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),r=n/t,r>1&&(r=1),r<0&&(r=0),this.orientation==="vertical"&&(r=1-r),i=this._valueMax()-this._valueMin(),s=this._valueMin()+r*i,this._trimAlignValue(s)},_start:function(e,t){var n={handle:this.handles[t],value:this.value()};return this.options.values&&this.options.values.length&&(n.value=this.values(t),n.values=this.values()),this._trigger("start",e,n)},_slide:function(e,t,n){var r,i,s;this.options.values&&this.options.values.length?(r=this.values(t?0:1),this.options.values.length===2&&this.options.range===!0&&(t===0&&n>r||t===1&&n<r)&&(n=r),n!==this.values(t)&&(i=this.values(),i[t]=n,s=this._trigger("slide",e,{handle:this.handles[t],value:n,values:i}),r=this.values(t?0:1),s!==!1&&this.values(t,n,!0))):n!==this.value()&&(s=this._trigger("slide",e,{handle:this.handles[t],value:n}),s!==!1&&this.value(n))},_stop:function(e,t){var n={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(n.value=this.values(t),n.values=this.values()),this._trigger("stop",e,n)},_change:function(e,t){if(!this._keySliding&&!this._mouseSliding){var n={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(n.value=this.values(t),n.values=this.values()),this._trigger("change",e,n)}},value:function(e){if(arguments.length){this.options.value=this._trimAlignValue(e),this._refreshValue(),this._change(null,0);return}return this._value()},values:function(t,n){var r,i,s;if(arguments.length>1){this.options.values[t]=this._trimAlignValue(n),this._refreshValue(),this._change(null,t);return}if(!arguments.length)return this._values();if(!e.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(t):this.value();r=this.options.values,i=arguments[0];for(s=0;s<r.length;s+=1)r[s]=this._trimAlignValue(i[s]),this._change(null,s);this._refreshValue()},_setOption:function(t,n){var r,i=0;e.isArray(this.options.values)&&(i=this.options.values.length),e.Widget.prototype._setOption.apply(this,arguments);switch(t){case"disabled":n?(this.handles.filter(".ui-state-focus").blur(),this.handles.removeClass("ui-state-hover"),this.handles.prop("disabled",!0),this.element.addClass("ui-disabled")):(this.handles.prop("disabled",!1),this.element.removeClass("ui-disabled"));break;case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":this._animateOff=!0,this._refreshValue();for(r=0;r<i;r+=1)this._change(null,r);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1}},_value:function(){var e=this.options.value;return e=this._trimAlignValue(e),e},_values:function(e){var t,n,r;if(arguments.length)return t=this.options.values[e],t=this._trimAlignValue(t),t;n=this.options.values.slice();for(r=0;r<n.length;r+=1)n[r]=this._trimAlignValue(n[r]);return n},_trimAlignValue:function(e){if(e<=this._valueMin())return this._valueMin();if(e>=this._valueMax())return this._valueMax();var t=this.options.step>0?this.options.step:1,n=(e-this._valueMin())%t,r=e-n;return Math.abs(n)*2>=t&&(r+=n>0?t:-t),parseFloat(r.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var t,n,r,i,s,o=this.options.range,u=this.options,a=this,f=this._animateOff?!1:u.animate,l={};this.options.values&&this.options.values.length?this.handles.each(function(r){n=(a.values(r)-a._valueMin())/(a._valueMax()-a._valueMin())*100,l[a.orientation==="horizontal"?"left":"bottom"]=n+"%",e(this).stop(1,1)[f?"animate":"css"](l,u.animate),a.options.range===!0&&(a.orientation==="horizontal"?(r===0&&a.range.stop(1,1)[f?"animate":"css"]({left:n+"%"},u.animate),r===1&&a.range[f?"animate":"css"]({width:n-t+"%"},{queue:!1,duration:u.animate})):(r===0&&a.range.stop(1,1)[f?"animate":"css"]({bottom:n+"%"},u.animate),r===1&&a.range[f?"animate":"css"]({height:n-t+"%"},{queue:!1,duration:u.animate}))),t=n}):(r=this.value(),i=this._valueMin(),s=this._valueMax(),n=s!==i?(r-i)/(s-i)*100:0,l[this.orientation==="horizontal"?"left":"bottom"]=n+"%",this.handle.stop(1,1)[f?"animate":"css"](l,u.animate),o==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[f?"animate":"css"]({width:n+"%"},u.animate),o==="max"&&this.orientation==="horizontal"&&this.range[f?"animate":"css"]({width:100-n+"%"},{queue:!1,duration:u.animate}),o==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[f?"animate":"css"]({height:n+"%"},u.animate),o==="max"&&this.orientation==="vertical"&&this.range[f?"animate":"css"]({height:100-n+"%"},{queue:!1,duration:u.animate}))}})})(jQuery);(function(e,t){e.widget("ui.sortable",e.ui.mouse,{version:"1.9.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3},_create:function(){var e=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?e.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_setOption:function(t,n){t==="disabled"?(this.options[t]=n,this.widget().toggleClass("ui-sortable-disabled",!!n)):e.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(t,n){var r=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(t);var i=null,s=e(t.target).parents().each(function(){if(e.data(this,r.widgetName+"-item")==r)return i=e(this),!1});e.data(t.target,r.widgetName+"-item")==r&&(i=e(t.target));if(!i)return!1;if(this.options.handle&&!n){var o=!1;e(this.options.handle,i).find("*").andSelf().each(function(){this==t.target&&(o=!0)});if(!o)return!1}return this.currentItem=i,this._removeCurrentsFromItems(),!0},_mouseStart:function(t,n,r){var i=this.options;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),i.containment&&this._setContainment(),i.cursor&&(e("body").css("cursor")&&(this._storedCursor=e("body").css("cursor")),e("body").css("cursor",i.cursor)),i.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",i.opacity)),i.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",i.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!r)for(var s=this.containers.length-1;s>=0;s--)this.containers[s]._trigger("activate",t,this._uiHash(this));return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var n=this.options,r=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<n.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+n.scrollSpeed:t.pageY-this.overflowOffset.top<n.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-n.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<n.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+n.scrollSpeed:t.pageX-this.overflowOffset.left<n.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-n.scrollSpeed)):(t.pageY-e(document).scrollTop()<n.scrollSensitivity?r=e(document).scrollTop(e(document).scrollTop()-n.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<n.scrollSensitivity&&(r=e(document).scrollTop(e(document).scrollTop()+n.scrollSpeed)),t.pageX-e(document).scrollLeft()<n.scrollSensitivity?r=e(document).scrollLeft(e(document).scrollLeft()-n.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<n.scrollSensitivity&&(r=e(document).scrollLeft(e(document).scrollLeft()+n.scrollSpeed))),r!==!1&&e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(var i=this.items.length-1;i>=0;i--){var s=this.items[i],o=s.item[0],u=this._intersectsWithPointer(s);if(!u)continue;if(s.instance!==this.currentContainer)continue;if(o!=this.currentItem[0]&&this.placeholder[u==1?"next":"prev"]()[0]!=o&&!e.contains(this.placeholder[0],o)&&(this.options.type=="semi-dynamic"?!e.contains(this.element[0],o):!0)){this.direction=u==1?"down":"up";if(this.options.tolerance!="pointer"&&!this._intersectsWithSides(s))break;this._rearrange(t,s),this._trigger("change",t,this._uiHash());break}}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,n){if(!t)return;e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t);if(this.options.revert){var r=this,i=this.placeholder.offset();this.reverting=!0,e(this.helper).animate({left:i.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:i.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){r._clear(t)})}else this._clear(t,n);return!1},cancel:function(){if(this.dragging){this._mouseUp({target:null}),this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var n=this._getItemsAsjQuery(t&&t.connected),r=[];return t=t||{},e(n).each(function(){var n=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[-=_](.+)/);n&&r.push((t.key||n[1]+"[]")+"="+(t.key&&t.expression?n[1]:n[2]))}),!r.length&&t.key&&r.push(t.key+"="),r.join("&")},toArray:function(t){var n=this._getItemsAsjQuery(t&&t.connected),r=[];return t=t||{},n.each(function(){r.push(e(t.item||this).attr(t.attribute||"id")||"")}),r},_intersectsWith:function(e){var t=this.positionAbs.left,n=t+this.helperProportions.width,r=this.positionAbs.top,i=r+this.helperProportions.height,s=e.left,o=s+e.width,u=e.top,a=u+e.height,f=this.offset.click.top,l=this.offset.click.left,c=r+f>u&&r+f<a&&t+l>s&&t+l<o;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>e[this.floating?"width":"height"]?c:s<t+this.helperProportions.width/2&&n-this.helperProportions.width/2<o&&u<r+this.helperProportions.height/2&&i-this.helperProportions.height/2<a},_intersectsWithPointer:function(t){var n=this.options.axis==="x"||e.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),r=this.options.axis==="y"||e.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width),i=n&&r,s=this._getDragVerticalDirection(),o=this._getDragHorizontalDirection();return i?this.floating?o&&o=="right"||s=="down"?2:1:s&&(s=="down"?2:1):!1},_intersectsWithSides:function(t){var n=e.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),r=e.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),i=this._getDragVerticalDirection(),s=this._getDragHorizontalDirection();return this.floating&&s?s=="right"&&r||s=="left"&&!r:i&&(i=="down"&&n||i=="up"&&!n)},_getDragVerticalDirection:function(){var e=this.positionAbs.top-this.lastPositionAbs.top;return e!=0&&(e>0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return e!=0&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor==String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){var n=[],r=[],i=this._connectWith();if(i&&t)for(var s=i.length-1;s>=0;s--){var o=e(i[s]);for(var u=o.length-1;u>=0;u--){var a=e.data(o[u],this.widgetName);a&&a!=this&&!a.options.disabled&&r.push([e.isFunction(a.options.items)?a.options.items.call(a.element):e(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a])}}r.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var s=r.length-1;s>=0;s--)r[s][0].each(function(){n.push(this)});return e(n)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var n=0;n<t.length;n++)if(t[n]==e.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var n=this.items,r=[[e.isFunction(this.options.items)?this.options.items.call(this.element[0],t,{item:this.currentItem}):e(this.options.items,this.element),this]],i=this._connectWith();if(i&&this.ready)for(var s=i.length-1;s>=0;s--){var o=e(i[s]);for(var u=o.length-1;u>=0;u--){var a=e.data(o[u],this.widgetName);a&&a!=this&&!a.options.disabled&&(r.push([e.isFunction(a.options.items)?a.options.items.call(a.element[0],t,{item:this.currentItem}):e(a.options.items,a.element),a]),this.containers.push(a))}}for(var s=r.length-1;s>=0;s--){var f=r[s][1],l=r[s][0];for(var u=0,c=l.length;u<c;u++){var h=e(l[u]);h.data(this.widgetName+"-item",f),n.push({item:h,instance:f,width:0,height:0,left:0,top:0})}}},refreshPositions:function(t){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());for(var n=this.items.length-1;n>=0;n--){var r=this.items[n];if(r.instance!=this.currentContainer&&this.currentContainer&&r.item[0]!=this.currentItem[0])continue;var i=this.options.toleranceElement?e(this.options.toleranceElement,r.item):r.item;t||(r.width=i.outerWidth(),r.height=i.outerHeight());var s=i.offset();r.left=s.left,r.top=s.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var n=this.containers.length-1;n>=0;n--){var s=this.containers[n].element.offset();this.containers[n].containerCache.left=s.left,this.containers[n].containerCache.top=s.top,this.containers[n].containerCache.width=this.containers[n].element.outerWidth(),this.containers[n].containerCache.height=this.containers[n].element.outerHeight()}return this},_createPlaceholder:function(t){t=t||this;var n=t.options;if(!n.placeholder||n.placeholder.constructor==String){var r=n.placeholder;n.placeholder={element:function(){var n=e(document.createElement(t.currentItem[0].nodeName)).addClass(r||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];return r||(n.style.visibility="hidden"),n},update:function(e,i){if(r&&!n.forcePlaceholderSize)return;i.height()||i.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),i.width()||i.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10))}}}t.placeholder=e(n.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),n.placeholder.update(t,t.placeholder)},_contactContainers:function(t){var n=null,r=null;for(var i=this.containers.length-1;i>=0;i--){if(e.contains(this.currentItem[0],this.containers[i].element[0]))continue;if(this._intersectsWith(this.containers[i].containerCache)){if(n&&e.contains(this.containers[i].element[0],n.element[0]))continue;n=this.containers[i],r=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",t,this._uiHash(this)),this.containers[i].containerCache.over=0)}if(!n)return;if(this.containers.length===1)this.containers[r]._trigger("over",t,this._uiHash(this)),this.containers[r].containerCache.over=1;else{var s=1e4,o=null,u=this.containers[r].floating?"left":"top",a=this.containers[r].floating?"width":"height",f=this.positionAbs[u]+this.offset.click[u];for(var l=this.items.length-1;l>=0;l--){if(!e.contains(this.containers[r].element[0],this.items[l].item[0]))continue;if(this.items[l].item[0]==this.currentItem[0])continue;var c=this.items[l].item.offset()[u],h=!1;Math.abs(c-f)>Math.abs(c+this.items[l][a]-f)&&(h=!0,c+=this.items[l][a]),Math.abs(c-f)<s&&(s=Math.abs(c-f),o=this.items[l],this.direction=h?"up":"down")}if(!o&&!this.options.dropOnEmpty)return;this.currentContainer=this.containers[r],o?this._rearrange(t,o,null,!0):this._rearrange(t,null,this.containers[r].element,!0),this._trigger("change",t,this._uiHash()),this.containers[r]._trigger("change",t,this._uiHash(this)),this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[r]._trigger("over",t,this._uiHash(this)),this.containers[r].containerCache.over=1}},_createHelper:function(t){var n=this.options,r=e.isFunction(n.helper)?e(n.helper.apply(this.element[0],[t,this.currentItem])):n.helper=="clone"?this.currentItem.clone():this.currentItem;return r.parents("body").length||e(n.appendTo!="parent"?n.appendTo:this.currentItem[0].parentNode)[0].appendChild(r[0]),r[0]==this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(r[0].style.width==""||n.forceHelperSize)&&r.width(this.currentItem.width()),(r[0].style.height==""||n.forceHelperSize)&&r.height(this.currentItem.height()),r},_adjustOffsetFromHelper:function(t){typeof t=="string"&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&e.ui.ie)t={top:0,left:0};return{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var e=this.currentItem.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t=this.options;t.containment=="parent"&&(t.containment=this.helper[0].parentNode);if(t.containment=="document"||t.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,e(t.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(e(t.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(t.containment)){var n=e(t.containment)[0],r=e(t.containment).offset(),i=e(n).css("overflow")!="hidden";this.containment=[r.left+(parseInt(e(n).css("borderLeftWidth"),10)||0)+(parseInt(e(n).css("paddingLeft"),10)||0)-this.margins.left,r.top+(parseInt(e(n).css("borderTopWidth"),10)||0)+(parseInt(e(n).css("paddingTop"),10)||0)-this.margins.top,r.left+(i?Math.max(n.scrollWidth,n.offsetWidth):n.offsetWidth)-(parseInt(e(n).css("borderLeftWidth"),10)||0)-(parseInt(e(n).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,r.top+(i?Math.max(n.scrollHeight,n.offsetHeight):n.offsetHeight)-(parseInt(e(n).css("borderTopWidth"),10)||0)-(parseInt(e(n).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(t,n){n||(n=this.position);var r=t=="absolute"?1:-1,i=this.options,s=this.cssPosition!="absolute"||this.scrollParent[0]!=document&&!!e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(s[0].tagName);return{top:n.top+this.offset.relative.top*r+this.offset.parent.top*r-(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():o?0:s.scrollTop())*r,left:n.left+this.offset.relative.left*r+this.offset.parent.left*r-(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():o?0:s.scrollLeft())*r}},_generatePosition:function(t){var n=this.options,r=this.cssPosition!="absolute"||this.scrollParent[0]!=document&&!!e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=/(html|body)/i.test(r[0].tagName);this.cssPosition=="relative"&&(this.scrollParent[0]==document||this.scrollParent[0]==this.offsetParent[0])&&(this.offset.relative=this._getRelativeOffset());var s=t.pageX,o=t.pageY;if(this.originalPosition){this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(s=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(s=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top));if(n.grid){var u=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1];o=this.containment?u-this.offset.click.top<this.containment[1]||u-this.offset.click.top>this.containment[3]?u-this.offset.click.top<this.containment[1]?u+n.grid[1]:u-n.grid[1]:u:u;var a=this.originalPageX+Math.round((s-this.originalPageX)/n.grid[0])*n.grid[0];s=this.containment?a-this.offset.click.left<this.containment[0]||a-this.offset.click.left>this.containment[2]?a-this.offset.click.left<this.containment[0]?a+n.grid[0]:a-n.grid[0]:a:a}}return{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():i?0:r.scrollTop()),left:s-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:r.scrollLeft())}},_rearrange:function(e,t,n,r){n?n[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],this.direction=="down"?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var i=this.counter;this._delay(function(){i==this.counter&&this.refreshPositions(!r)})},_clear:function(t,n){this.reverting=!1;var r=[];!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var i in this._storedCSS)if(this._storedCSS[i]=="auto"||this._storedCSS[i]=="static")this._storedCSS[i]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!n&&r.push(function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))}),(this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!n&&r.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(n||(r.push(function(e){this._trigger("remove",e,this._uiHash())}),r.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),r.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer))));for(var i=this.containers.length-1;i>=0;i--)n||r.push(function(e){return function(t){e._trigger("deactivate",t,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over&&(r.push(function(e){return function(t){e._trigger("out",t,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over=0);this._storedCursor&&e("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!n){this._trigger("beforeStop",t,this._uiHash());for(var i=0;i<r.length;i++)r[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!1}n||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!=this.currentItem[0]&&this.helper.remove(),this.helper=null;if(!n){for(var i=0;i<r.length;i++)r[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){e.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(t){var n=t||this;return{helper:n.helper,placeholder:n.placeholder||e([]),position:n.position,originalPosition:n.originalPosition,offset:n.positionAbs,item:n.currentItem,sender:t?t.element:null}}})})(jQuery);(function(e){function t(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}e.widget("ui.spinner",{version:"1.9.1",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t={},n=this.element;return e.each(["min","max","step"],function(e,r){var i=n.attr(r);i!==undefined&&i.length&&(t[r]=i)}),t},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){if(this.cancelBlur){delete this.cancelBlur;return}this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e)},mousewheel:function(e,t){if(!t)return;if(!this.spinning&&!this._start(e))return!1;this._spin((t>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()},"mousedown .ui-spinner-button":function(t){function r(){var e=this.element[0]===this.document[0].activeElement;e||(this.element.focus(),this.previous=n,this._delay(function(){this.previous=n}))}var n;n=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),r.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,r.call(this)});if(this._start(t)===!1)return;this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){if(!e(t.currentTarget).hasClass("ui-state-active"))return;if(this._start(t)===!1)return!1;this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var e=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=e.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(e.height()*.5)&&e.height()>0&&e.height(e.height()),this.options.disabled&&this.disable()},_keydown:function(t){var n=this.options,r=e.ui.keyCode;switch(t.keyCode){case r.UP:return this._repeat(null,1,t),!0;case r.DOWN:return this._repeat(null,-1,t),!0;case r.PAGE_UP:return this._repeat(null,n.page,t),!0;case r.PAGE_DOWN:return this._repeat(null,-n.page,t),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>&#9650;</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>&#9660;</span>"+"</a>"},_start:function(e){return!this.spinning&&this._trigger("start",e)===!1?!1:(this.counter||(this.counter=1),this.spinning=!0,!0)},_repeat:function(e,t,n){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,n)},e),this._spin(t*this.options.step,n)},_spin:function(e,t){var n=this.value()||0;this.counter||(this.counter=1),n=this._adjustValue(n+e*this._increment(this.counter));if(!this.spinning||this._trigger("spin",t,{value:n})!==!1)this._value(n),this.counter++},_increment:function(t){var n=this.options.incremental;return n?e.isFunction(n)?n(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return this.options.min!==null&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=e.toString(),n=t.indexOf(".");return n===-1?0:t.length-n-1},_adjustValue:function(e){var t,n,r=this.options;return t=r.min!==null?r.min:0,n=e-t,n=Math.round(n/r.step)*r.step,e=t+n,e=parseFloat(e.toFixed(this._precision())),r.max!==null&&e>r.max?r.max:r.min!==null&&e<r.min?r.min:e},_stop:function(e){if(!this.spinning)return;clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",e)},_setOption:function(e,t){if(e==="culture"||e==="numberFormat"){var n=this._parse(this.element.val());this.options[e]=t,this.element.val(this._format(n));return}(e==="max"||e==="min"||e==="step")&&typeof t=="string"&&(t=this._parse(t)),this._super(e,t),e==="disabled"&&(t?(this.element.prop("disabled",!0),this.buttons.button("disable")):(this.element.prop("disabled",!1),this.buttons.button("enable")))},_setOptions:t(function(e){this._super(e),this._value(this.element.val())}),_parse:function(e){return typeof e=="string"&&e!==""&&(e=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(e,10,this.options.culture):+e),e===""||isNaN(e)?null:e},_format:function(e){return e===""?"":window.Globalize&&this.options.numberFormat?Globalize.format(e,this.options.numberFormat,this.options.culture):e},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},_value:function(e,t){var n;e!==""&&(n=this._parse(e),n!==null&&(t||(n=this._adjustValue(n)),e=this._format(n))),this.element.val(e),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:t(function(e){this._stepUp(e)}),_stepUp:function(e){this._spin((e||1)*this.options.step)},stepDown:t(function(e){this._stepDown(e)}),_stepDown:function(e){this._spin((e||1)*-this.options.step)},pageUp:t(function(e){this._stepUp((e||1)*this.options.page)}),pageDown:t(function(e){this._stepDown((e||1)*this.options.page)}),value:function(e){if(!arguments.length)return this._parse(this.element.val());t(this._value).call(this,e)},widget:function(){return this.uiSpinner}})})(jQuery);(function(e,t){function i(){return++n}function s(e){return e.hash.length>1&&e.href.replace(r,"")===location.href.replace(r,"")}var n=0,r=/#.*$/;e.widget("ui.tabs",{version:"1.9.1",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var t=this,n=this.options,r=n.active,i=location.hash.substring(1);this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",n.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs();if(r===null){i&&this.tabs.each(function(t,n){if(e(n).attr("aria-controls")===i)return r=t,!1}),r===null&&(r=this.tabs.index(this.tabs.filter(".ui-tabs-active")));if(r===null||r===-1)r=this.tabs.length?0:!1}r!==!1&&(r=this.tabs.index(this.tabs.eq(r)),r===-1&&(r=n.collapsible?!1:0)),n.active=r,!n.collapsible&&n.active===!1&&this.anchors.length&&(n.active=0),e.isArray(n.disabled)&&(n.disabled=e.unique(n.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),function(e){return t.tabs.index(e)}))).sort()),this.options.active!==!1&&this.anchors.length?this.active=this._findActive(this.options.active):this.active=e(),this._refresh(),this.active.length&&this.load(n.active)},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(t){var n=e(this.document[0].activeElement).closest("li"),r=this.tabs.index(n),i=!0;if(this._handlePageNav(t))return;switch(t.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:r++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:i=!1,r--;break;case e.ui.keyCode.END:r=this.anchors.length-1;break;case e.ui.keyCode.HOME:r=0;break;case e.ui.keyCode.SPACE:t.preventDefault(),clearTimeout(this.activating),this._activate(r);return;case e.ui.keyCode.ENTER:t.preventDefault(),clearTimeout(this.activating),this._activate(r===this.options.active?!1:r);return;default:return}t.preventDefault(),clearTimeout(this.activating),r=this._focusNextTab(r,i),t.ctrlKey||(n.attr("aria-selected","false"),this.tabs.eq(r).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",r)},this.delay))},_panelKeydown:function(t){if(this._handlePageNav(t))return;t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(t){if(t.altKey&&t.keyCode===e.ui.keyCode.PAGE_UP)return this._activate(this._focusNextTab(this.options.active-1,!1)),!0;if(t.altKey&&t.keyCode===e.ui.keyCode.PAGE_DOWN)return this._activate(this._focusNextTab(this.options.active+1,!0)),!0},_findNextTab:function(t,n){function i(){return t>r&&(t=0),t<0&&(t=r),t}var r=this.tabs.length-1;while(e.inArray(i(),this.options.disabled)!==-1)t=n?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,t){if(e==="active"){this._activate(t);return}if(e==="disabled"){this._setupDisabled(t);return}this._super(e,t),e==="collapsible"&&(this.element.toggleClass("ui-tabs-collapsible",t),!t&&this.options.active===!1&&this._activate(0)),e==="event"&&this._setupEvents(t),e==="heightStyle"&&this._setupHeightStyle(t)},_tabId:function(e){return e.attr("aria-controls")||"ui-tabs-"+i()},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,n=this.tablist.children(":has(a[href])");t.disabled=e.map(n.filter(".ui-state-disabled"),function(e){return n.index(e)}),this._processTabs(),t.active===!1||!this.anchors.length?(t.active=!1,this.active=e()):this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=e(),this.anchors.each(function(n,r){var i,o,u,a=e(r).uniqueId().attr("id"),f=e(r).closest("li"),l=f.attr("aria-controls");s(r)?(i=r.hash,o=t.element.find(t._sanitizeSelector(i))):(u=t._tabId(f),i="#"+u,o=t.element.find(i),o.length||(o=t._createPanel(u),o.insertAfter(t.panels[n-1]||t.tablist)),o.attr("aria-live","polite")),o.length&&(t.panels=t.panels.add(o)),l&&f.data("ui-tabs-aria-controls",l),f.attr({"aria-controls":i.substring(1),"aria-labelledby":a}),o.attr("aria-labelledby",a)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.element.find("ol,ul").eq(0)},_createPanel:function(t){return e("<div>").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var n=0,r;r=this.tabs[n];n++)t===!0||e.inArray(n,t)!==-1?e(r).addClass("ui-state-disabled").attr("aria-disabled","true"):e(r).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var n={click:function(e){e.preventDefault()}};t&&e.each(t.split(" "),function(e,t){n[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,n),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var n,r,i=this.element.parent();t==="fill"?(e.support.minHeight||(r=i.css("overflow"),i.css("overflow","hidden")),n=i.height(),this.element.siblings(":visible").each(function(){var t=e(this),r=t.css("position");if(r==="absolute"||r==="fixed")return;n-=t.outerHeight(!0)}),r&&i.css("overflow",r),this.element.children().not(this.panels).each(function(){n-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,n-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):t==="auto"&&(n=0,this.panels.each(function(){n=Math.max(n,e(this).height("").height())}).height(n))},_eventHandler:function(t){var n=this.options,r=this.active,i=e(t.currentTarget),s=i.closest("li"),o=s[0]===r[0],u=o&&n.collapsible,a=u?e():this._getPanelForTab(s),f=r.length?this._getPanelForTab(r):e(),l={oldTab:r,oldPanel:f,newTab:u?e():s,newPanel:a};t.preventDefault();if(s.hasClass("ui-state-disabled")||s.hasClass("ui-tabs-loading")||this.running||o&&!n.collapsible||this._trigger("beforeActivate",t,l)===!1)return;n.active=u?!1:this.tabs.index(s),this.active=o?e():s,this.xhr&&this.xhr.abort(),!f.length&&!a.length&&e.error("jQuery UI Tabs: Mismatching fragment identifier."),a.length&&this.load(this.tabs.index(s),t),this._toggle(t,l)},_toggle:function(t,n){function o(){r.running=!1,r._trigger("activate",t,n)}function u(){n.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),i.length&&r.options.show?r._show(i,r.options.show,o):(i.show(),o())}var r=this,i=n.newPanel,s=n.oldPanel;this.running=!0,s.length&&this.options.hide?this._hide(s,this.options.hide,function(){n.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),u()}):(n.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),s.hide(),u()),s.attr({"aria-expanded":"false","aria-hidden":"true"}),n.oldTab.attr("aria-selected","false"),i.length&&s.length?n.oldTab.attr("tabIndex",-1):i.length&&this.tabs.filter(function(){return e(this).attr("tabIndex")===0}).attr("tabIndex",-1),i.attr({"aria-expanded":"true","aria-hidden":"false"}),n.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(t){var n,r=this._findActive(t);if(r[0]===this.active[0])return;r.length||(r=this.active),n=r.find(".ui-tabs-anchor")[0],this._eventHandler({target:n,currentTarget:n,preventDefault:e.noop})},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return typeof e=="string"&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeData("href.tabs").removeData("load.tabs").removeUniqueId(),this.tabs.add(this.panels).each(function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=e(this),n=t.data("ui-tabs-aria-controls");n?t.attr("aria-controls",n):t.removeAttr("aria-controls")}),this.options.heightStyle!=="content"&&this.panels.css("height","")},enable:function(n){var r=this.options.disabled;if(r===!1)return;n===t?r=!1:(n=this._getIndex(n),e.isArray(r)?r=e.map(r,function(e){return e!==n?e:null}):r=e.map(this.tabs,function(e,t){return t!==n?t:null})),this._setupDisabled(r)},disable:function(n){var r=this.options.disabled;if(r===!0)return;if(n===t)r=!0;else{n=this._getIndex(n);if(e.inArray(n,r)!==-1)return;e.isArray(r)?r=e.merge([n],r).sort():r=[n]}this._setupDisabled(r)},load:function(t,n){t=this._getIndex(t);var r=this,i=this.tabs.eq(t),o=i.find(".ui-tabs-anchor"),u=this._getPanelForTab(i),a={tab:i,panel:u};if(s(o[0]))return;this.xhr=e.ajax(this._ajaxSettings(o,n,a)),this.xhr&&this.xhr.statusText!=="canceled"&&(i.addClass("ui-tabs-loading"),u.attr("aria-busy","true"),this.xhr.success(function(e){setTimeout(function(){u.html(e),r._trigger("load",n,a)},1)}).complete(function(e,t){setTimeout(function(){t==="abort"&&r.panels.stop(!1,!0),i.removeClass("ui-tabs-loading"),u.removeAttr("aria-busy"),e===r.xhr&&delete r.xhr},1)}))},_ajaxSettings:function(t,n,r){var i=this;return{url:t.attr("href"),beforeSend:function(t,s){return i._trigger("beforeLoad",n,e.extend({jqXHR:t,ajaxSettings:s},r))}}},_getPanelForTab:function(t){var n=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+n))}}),e.uiBackCompat!==!1&&(e.ui.tabs.prototype._ui=function(e,t){return{tab:e,panel:t,index:this.anchors.index(e)}},e.widget("ui.tabs",e.ui.tabs,{url:function(e,t){this.anchors.eq(e).attr("href",t)}}),e.widget("ui.tabs",e.ui.tabs,{options:{ajaxOptions:null,cache:!1},_create:function(){this._super();var t=this;this._on({tabsbeforeload:function(n,r){if(e.data(r.tab[0],"cache.tabs")){n.preventDefault();return}r.jqXHR.success(function(){t.options.cache&&e.data(r.tab[0],"cache.tabs",!0)})}})},_ajaxSettings:function(t,n,r){var i=this.options.ajaxOptions;return e.extend({},i,{error:function(e,t){try{i.error(e,t,r.tab.closest("li").index(),r.tab[0])}catch(n){}}},this._superApply(arguments))},_setOption:function(e,t){e==="cache"&&t===!1&&this.anchors.removeData("cache.tabs"),this._super(e,t)},_destroy:function(){this.anchors.removeData("cache.tabs"),this._super()},url:function(e){this.anchors.eq(e).removeData("cache.tabs"),this._superApply(arguments)}}),e.widget("ui.tabs",e.ui.tabs,{abort:function(){this.xhr&&this.xhr.abort()}}),e.widget("ui.tabs",e.ui.tabs,{options:{spinner:"<em>Loading&#8230;</em>"},_create:function(){this._super(),this._on({tabsbeforeload:function(e,t){if(e.target!==this.element[0]||!this.options.spinner)return;var n=t.tab.find("span"),r=n.html();n.html(this.options.spinner),t.jqXHR.complete(function(){n.html(r)})}})}}),e.widget("ui.tabs",e.ui.tabs,{options:{enable:null,disable:null},enable:function(t){var n=this.options,r;if(t&&n.disabled===!0||e.isArray(n.disabled)&&e.inArray(t,n.disabled)!==-1)r=!0;this._superApply(arguments),r&&this._trigger("enable",null,this._ui(this.anchors[t],this.panels[t]))},disable:function(t){var n=this.options,r;if(t&&n.disabled===!1||e.isArray(n.disabled)&&e.inArray(t,n.disabled)===-1)r=!0;this._superApply(arguments),r&&this._trigger("disable",null,this._ui(this.anchors[t],this.panels[t]))}}),e.widget("ui.tabs",e.ui.tabs,{options:{add:null,remove:null,tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},add:function(n,r,i){i===t&&(i=this.anchors.length);var s,o,u=this.options,a=e(u.tabTemplate.replace(/#\{href\}/g,n).replace(/#\{label\}/g,r)),f=n.indexOf("#")?this._tabId(a):n.replace("#","");return a.addClass("ui-state-default ui-corner-top").data("ui-tabs-destroy",!0),a.attr("aria-controls",f),s=i>=this.tabs.length,o=this.element.find("#"+f),o.length||(o=this._createPanel(f),s?i>0?o.insertAfter(this.panels.eq(-1)):o.appendTo(this.element):o.insertBefore(this.panels[i])),o.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").hide(),s?a.appendTo(this.tablist):a.insertBefore(this.tabs[i]),u.disabled=e.map(u.disabled,function(e){return e>=i?++e:e}),this.refresh(),this.tabs.length===1&&u.active===!1&&this.option("active",0),this._trigger("add",null,this._ui(this.anchors[i],this.panels[i])),this},remove:function(t){t=this._getIndex(t);var n=this.options,r=this.tabs.eq(t).remove(),i=this._getPanelForTab(r).remove();return r.hasClass("ui-tabs-active")&&this.anchors.length>2&&this._activate(t+(t+1<this.anchors.length?1:-1)),n.disabled=e.map(e.grep(n.disabled,function(e){return e!==t}),function(e){return e>=t?--e:e}),this.refresh(),this._trigger("remove",null,this._ui(r.find("a")[0],i[0])),this}}),e.widget("ui.tabs",e.ui.tabs,{length:function(){return this.anchors.length}}),e.widget("ui.tabs",e.ui.tabs,{options:{idPrefix:"ui-tabs-"},_tabId:function(t){var n=t.is("li")?t.find("a[href]"):t;return n=n[0],e(n).closest("li").attr("aria-controls")||n.title&&n.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF\-]/g,"")||this.options.idPrefix+i()}}),e.widget("ui.tabs",e.ui.tabs,{options:{panelTemplate:"<div></div>"},_createPanel:function(t){return e(this.options.panelTemplate).attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)}}),e.widget("ui.tabs",e.ui.tabs,{_create:function(){var e=this.options;e.active===null&&e.selected!==t&&(e.active=e.selected===-1?!1:e.selected),this._super(),e.selected=e.active,e.selected===!1&&(e.selected=-1)},_setOption:function(e,t){if(e!=="selected")return this._super(e,t);var n=this.options;this._super("active",t===-1?!1:t),n.selected=n.active,n.selected===!1&&(n.selected=-1)},_eventHandler:function(){this._superApply(arguments),this.options.selected=this.options.active,this.options.selected===!1&&(this.options.selected=-1)}}),e.widget("ui.tabs",e.ui.tabs,{options:{show:null,select:null},_create:function(){this._super(),this.options.active!==!1&&this._trigger("show",null,this._ui(this.active.find(".ui-tabs-anchor")[0],this._getPanelForTab(this.active)[0]))},_trigger:function(e,t,n){var r=this._superApply(arguments);return r?(e==="beforeActivate"&&n.newTab.length?r=this._super("select",t,{tab:n.newTab.find(".ui-tabs-anchor")[0],panel:n.newPanel[0],index:n.newTab.closest("li").index()}):e==="activate"&&n.newTab.length&&(r=this._super("show",t,{tab:n.newTab.find(".ui-tabs-anchor")[0],panel:n.newPanel[0],index:n.newTab.closest("li").index()})),r):!1}}),e.widget("ui.tabs",e.ui.tabs,{select:function(e){e=this._getIndex(e);if(e===-1){if(!this.options.collapsible||this.options.selected===-1)return;e=this.options.selected}this.anchors.eq(e).trigger(this.options.event+this.eventNamespace)}}),function(){var t=0;e.widget("ui.tabs",e.ui.tabs,{options:{cookie:null},_create:function(){var e=this.options,t;e.active==null&&e.cookie&&(t=parseInt(this._cookie(),10),t===-1&&(t=!1),e.active=t),this._super()},_cookie:function(n){var r=[this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+ ++t)];return arguments.length&&(r.push(n===!1?-1:n),r.push(this.options.cookie)),e.cookie.apply(null,r)},_refresh:function(){this._super(),this.options.cookie&&this._cookie(this.options.active,this.options.cookie)},_eventHandler:function(){this._superApply(arguments),this.options.cookie&&this._cookie(this.options.active,this.options.cookie)},_destroy:function(){this._super(),this.options.cookie&&this._cookie(null,this.options.cookie)}})}(),e.widget("ui.tabs",e.ui.tabs,{_trigger:function(t,n,r){var i=e.extend({},r);return t==="load"&&(i.panel=i.panel[0],i.tab=i.tab.find(".ui-tabs-anchor")[0]),this._super(t,n,i)}}),e.widget("ui.tabs",e.ui.tabs,{options:{fx:null},_getFx:function(){var t,n,r=this.options.fx;return r&&(e.isArray(r)?(t=r[0],n=r[1]):t=n=r),r?{show:n,hide:t}:null},_toggle:function(e,t){function o(){n.running=!1,n._trigger("activate",e,t)}function u(){t.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),r.length&&s.show?r.animate(s.show,s.show.duration,function(){o()}):(r.show(),o())}var n=this,r=t.newPanel,i=t.oldPanel,s=this._getFx();if(!s)return this._super(e,t);n.running=!0,i.length&&s.hide?i.animate(s.hide,s.hide.duration,function(){t.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),u()}):(t.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),i.hide(),u())}}))})(jQuery);(function(e){function n(t,n){var r=(t.attr("aria-describedby")||"").split(/\s+/);r.push(n),t.data("ui-tooltip-id",n).attr("aria-describedby",e.trim(r.join(" ")))}function r(t){var n=t.data("ui-tooltip-id"),r=(t.attr("aria-describedby")||"").split(/\s+/),i=e.inArray(n,r);i!==-1&&r.splice(i,1),t.removeData("ui-tooltip-id"),r=e.trim(r.join(" ")),r?t.attr("aria-describedby",r):t.removeAttr("aria-describedby")}var t=0;e.widget("ui.tooltip",{version:"1.9.1",options:{content:function(){return e(this).attr("title")},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flipfit"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(t,n){var r=this;if(t==="disabled"){this[n?"_disable":"_enable"](),this.options[t]=n;return}this._super(t,n),t==="content"&&e.each(this.tooltips,function(e,t){r._updateContent(t)})},_disable:function(){var t=this;e.each(this.tooltips,function(n,r){var i=e.Event("blur");i.target=i.currentTarget=r[0],t.close(i,!0)}),this.element.find(this.options.items).andSelf().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).andSelf().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var n=this,r=e(t?t.target:this.element).closest(this.options.items);if(!r.length)return;if(this.options.track&&r.data("ui-tooltip-id")){this._find(r).position(e.extend({of:r},this.options.position)),this._off(this.document,"mousemove");return}r.attr("title")&&r.data("ui-tooltip-title",r.attr("title")),r.data("tooltip-open",!0),t&&t.type==="mouseover"&&r.parents().each(function(){var t;e(this).data("tooltip-open")&&(t=e.Event("blur"),t.target=t.currentTarget=this,n.close(t,!0)),this.title&&(e(this).uniqueId(),n.parents[this.id]={element:this,title:this.title},this.title="")}),this._updateContent(r,t)},_updateContent:function(e,t){var n,r=this.options.content,i=this;if(typeof r=="string")return this._open(t,e,r);n=r.call(e[0],function(n){if(!e.data("tooltip-open"))return;i._delay(function(){this._open(t,e,n)})}),n&&this._open(t,e,n)},_open:function(t,r,i){function f(e){a.of=e;if(s.is(":hidden"))return;s.position(a)}var s,o,u,a=e.extend({},this.options.position);if(!i)return;s=this._find(r);if(s.length){s.find(".ui-tooltip-content").html(i);return}r.is("[title]")&&(t&&t.type==="mouseover"?r.attr("title",""):r.removeAttr("title")),s=this._tooltip(r),n(r,s.attr("id")),s.find(".ui-tooltip-content").html(i),this.options.track&&t&&/^mouse/.test(t.originalEvent.type)?(this._on(this.document,{mousemove:f}),f(t)):s.position(e.extend({of:r},this.options.position)),s.hide(),this._show(s,this.options.show),this.options.show&&this.options.show.delay&&(u=setInterval(function(){s.is(":visible")&&(f(a.of),clearInterval(u))},e.fx.interval)),this._trigger("open",t,{tooltip:s}),o={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var n=e.Event(t);n.currentTarget=r[0],this.close(n,!0)}},remove:function(){this._removeTooltip(s)}};if(!t||t.type==="mouseover")o.mouseleave="close";if(!t||t.type==="focusin")o.focusout="close";this._on(r,o)},close:function(t){var n=this,i=e(t?t.currentTarget:this.element),s=this._find(i);if(this.closing)return;i.data("ui-tooltip-title")&&i.attr("title",i.data("ui-tooltip-title")),r(i),s.stop(!0),this._hide(s,this.options.hide,function(){n._removeTooltip(e(this))}),i.removeData("tooltip-open"),this._off(i,"mouseleave focusout keyup"),i[0]!==this.element[0]&&this._off(i,"remove"),this._off(this.document,"mousemove"),t&&t.type==="mouseleave"&&e.each(this.parents,function(e,t){t.element.title=t.title,delete n.parents[e]}),this.closing=!0,this._trigger("close",t,{tooltip:s}),this.closing=!1},_tooltip:function(n){var r="ui-tooltip-"+t++,i=e("<div>").attr({id:r,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return e("<div>").addClass("ui-tooltip-content").appendTo(i),i.appendTo(this.document[0].body),e.fn.bgiframe&&i.bgiframe(),this.tooltips[r]=n,i},_find:function(t){var n=t.data("ui-tooltip-id");return n?e("#"+n):e()},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(n,r){var i=e.Event("blur");i.target=i.currentTarget=r[0],t.close(i,!0),e("#"+n).remove(),r.data("ui-tooltip-title")&&(r.attr("title",r.data("ui-tooltip-title")),r.removeData("ui-tooltip-title"))})}})})(jQuery); \ No newline at end of file
diff --git a/plugins/jqueryui/js/jquery-ui-1.9.2.custom.min.js b/plugins/jqueryui/js/jquery-ui-1.9.2.custom.min.js
new file mode 100755
index 000000000..fdc765ef3
--- /dev/null
+++ b/plugins/jqueryui/js/jquery-ui-1.9.2.custom.min.js
@@ -0,0 +1,7 @@
+/*! jQuery UI - v1.9.2 - 2014-01-19
+* http://jqueryui.com
+* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.menu.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js, jquery.ui.effect.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+
+(function(e,t){function i(t,i){var s,n,r,o=t.nodeName.toLowerCase();return"area"===o?(s=t.parentNode,n=s.name,t.href&&n&&"map"===s.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&a(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&a(t)}function a(t){return e.expr.filters.visible(t)&&!e(t).parents().andSelf().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var s=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.ui.version||(e.extend(e.ui,{version:"1.9.2",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({_focus:e.fn.focus,focus:function(t,i){return"number"==typeof t?this.each(function(){var a=this;setTimeout(function(){e(a).focus(),i&&i.call(a)},t)}):this._focus.apply(this,arguments)},scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var a,s,n=e(this[0]);n.length&&n[0]!==document;){if(a=n.css("position"),("absolute"===a||"relative"===a||"fixed"===a)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++s)})},removeUniqueId:function(){return this.each(function(){n.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,a){return!!e.data(t,a[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var a=e.attr(t,"tabindex"),s=isNaN(a);return(s||a>=0)&&i(t,!s)}}),e(function(){var t=document.body,i=t.appendChild(i=document.createElement("div"));i.offsetHeight,e.extend(i.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),e.support.minHeight=100===i.offsetHeight,e.support.selectstart="onselectstart"in i,t.removeChild(i).style.display="none"}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,a){function s(t,i,a,s){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,a&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===a?["Left","Right"]:["Top","Bottom"],r=a.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+a]=function(i){return i===t?o["inner"+a].call(this):this.each(function(){e(this).css(r,s(this,i)+"px")})},e.fn["outer"+a]=function(t,i){return"number"!=typeof t?o["outer"+a].call(this,t):this.each(function(){e(this).css(r,s(this,t,!0,i)+"px")})}}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),function(){var t=/msie ([\w.]+)/.exec(navigator.userAgent.toLowerCase())||[];e.ui.ie=t.length?!0:!1,e.ui.ie6=6===parseFloat(t[1],10)}(),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,a){var s,n=e.ui[t].prototype;for(s in a)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([i,a[s]])},call:function(e,t,i){var a,s=e.plugins[t];if(s&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(a=0;s.length>a;a++)e.options[s[a][0]]&&s[a][1].apply(e.element,i)}},contains:e.contains,hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var a=i&&"left"===i?"scrollLeft":"scrollTop",s=!1;return t[a]>0?!0:(t[a]=1,s=t[a]>0,t[a]=0,s)},isOverAxis:function(e,t,i){return e>t&&t+i>e},isOver:function(t,i,a,s,n,r){return e.ui.isOverAxis(t,a,n)&&e.ui.isOverAxis(i,s,r)}}))})(jQuery);(function(e,t){var i=0,s=Array.prototype.slice,a=e.cleanData;e.cleanData=function(t){for(var i,s=0;null!=(i=t[s]);s++)try{e(i).triggerHandler("remove")}catch(n){}a(t)},e.widget=function(i,s,a){var n,r,o,h,l=i.split(".")[0];i=i.split(".")[1],n=l+"-"+i,a||(a=s,s=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[l]=e[l]||{},r=e[l][i],o=e[l][i]=function(e,i){return this._createWidget?(arguments.length&&this._createWidget(e,i),t):new o(e,i)},e.extend(o,r,{version:a.version,_proto:e.extend({},a),_childConstructors:[]}),h=new s,h.options=e.widget.extend({},h.options),e.each(a,function(t,i){e.isFunction(i)&&(a[t]=function(){var e=function(){return s.prototype[t].apply(this,arguments)},a=function(e){return s.prototype[t].apply(this,e)};return function(){var t,s=this._super,n=this._superApply;return this._super=e,this._superApply=a,t=i.apply(this,arguments),this._super=s,this._superApply=n,t}}())}),o.prototype=e.widget.extend(h,{widgetEventPrefix:r?h.widgetEventPrefix:i},a,{constructor:o,namespace:l,widgetName:i,widgetBaseClass:n,widgetFullName:n}),r?(e.each(r._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete r._childConstructors):s._childConstructors.push(o),e.widget.bridge(i,o)},e.widget.extend=function(i){for(var a,n,r=s.call(arguments,1),o=0,h=r.length;h>o;o++)for(a in r[o])n=r[o][a],r[o].hasOwnProperty(a)&&n!==t&&(i[a]=e.isPlainObject(n)?e.isPlainObject(i[a])?e.widget.extend({},i[a],n):e.widget.extend({},n):n);return i},e.widget.bridge=function(i,a){var n=a.prototype.widgetFullName||i;e.fn[i]=function(r){var o="string"==typeof r,h=s.call(arguments,1),l=this;return r=!o&&h.length?e.widget.extend.apply(null,[r].concat(h)):r,o?this.each(function(){var s,a=e.data(this,n);return a?e.isFunction(a[r])&&"_"!==r.charAt(0)?(s=a[r].apply(a,h),s!==a&&s!==t?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):t):e.error("no such method '"+r+"' for "+i+" widget instance"):e.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+r+"'")}):this.each(function(){var t=e.data(this,n);t?t.option(r||{})._init():e.data(this,n,new a(r,this))}),l}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,s){s=e(s||this.defaultElement||this)[0],this.element=e(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),s!==this&&(e.data(s,this.widgetName,this),e.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===s&&this.destroy()}}),this.document=e(s.style?s.ownerDocument:s.document||s),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(i,s){var a,n,r,o=i;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof i)if(o={},a=i.split("."),i=a.shift(),a.length){for(n=o[i]=e.widget.extend({},this.options[i]),r=0;a.length-1>r;r++)n[a[r]]=n[a[r]]||{},n=n[a[r]];if(i=a.pop(),s===t)return n[i]===t?null:n[i];n[i]=s}else{if(s===t)return this.options[i]===t?null:this.options[i];o[i]=s}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,a){var n,r=this;"boolean"!=typeof i&&(a=s,s=i,i=!1),a?(s=n=e(s),this.bindings=this.bindings.add(s)):(a=s,s=this.element,n=this.widget()),e.each(a,function(a,o){function h(){return i||r.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?r[o]:o).apply(r,arguments):t}"string"!=typeof o&&(h.guid=o.guid=o.guid||h.guid||e.guid++);var l=a.match(/^(\w+)\s*(.*)$/),u=l[1]+r.eventNamespace,c=l[2];c?n.delegate(c,u,h):s.bind(u,h)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var a,n,r=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],n=i.originalEvent)for(a in n)a in i||(i[a]=n[a]);return this.element.trigger(i,s),!(e.isFunction(r)&&r.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,a,n){"string"==typeof a&&(a={effect:a});var r,o=a?a===!0||"number"==typeof a?i:a.effect||i:t;a=a||{},"number"==typeof a&&(a={duration:a}),r=!e.isEmptyObject(a),a.complete=n,a.delay&&s.delay(a.delay),r&&e.effects&&(e.effects.effect[o]||e.uiBackCompat!==!1&&e.effects[o])?s[t](a):o!==t&&s[o]?s[o](a.duration,a.easing,n):s.queue(function(i){e(this)[t](),n&&n.call(s[0]),i()})}}),e.uiBackCompat!==!1&&(e.Widget.prototype._getCreateOptions=function(){return e.metadata&&e.metadata.get(this.element[0])[this.widgetName]})})(jQuery);(function(e){var t=!1;e(document).mouseup(function(){t=!1}),e.widget("ui.mouse",{version:"1.9.2",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,a=1===i.which,n="string"==typeof this.options.cancel&&i.target.nodeName?e(i.target).closest(this.options.cancel).length:!1;return a&&!n&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0)):!0}},_mouseMove:function(t){return!e.ui.ie||document.documentMode>=9||t.button?this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted):this._mouseUp(t)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(e,t){function i(e,t,i){return[parseInt(e[0],10)*(d.test(e[0])?t/100:1),parseInt(e[1],10)*(d.test(e[1])?i/100:1)]}function s(t,i){return parseInt(e.css(t,i),10)||0}e.ui=e.ui||{};var a,n=Math.max,r=Math.abs,o=Math.round,l=/left|center|right/,h=/top|center|bottom/,u=/[\+\-]\d+%?/,c=/^\w+/,d=/%$/,p=e.fn.position;e.position={scrollbarWidth:function(){if(a!==t)return a;var i,s,n=e("<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),r=n.children()[0];return e("body").append(n),i=r.offsetWidth,n.css("overflow","scroll"),s=r.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),a=i-s},getScrollInfo:function(t){var i=t.isWindow?"":t.element.css("overflow-x"),s=t.isWindow?"":t.element.css("overflow-y"),a="scroll"===i||"auto"===i&&t.width<t.element[0].scrollWidth,n="scroll"===s||"auto"===s&&t.height<t.element[0].scrollHeight;return{width:a?e.position.scrollbarWidth():0,height:n?e.position.scrollbarWidth():0}},getWithinInfo:function(t){var i=e(t||window),s=e.isWindow(i[0]);return{element:i,isWindow:s,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s?i.width():i.outerWidth(),height:s?i.height():i.outerHeight()}}},e.fn.position=function(t){if(!t||!t.of)return p.apply(this,arguments);t=e.extend({},t);var a,d,f,m,g,v=e(t.of),y=e.position.getWithinInfo(t.within),b=e.position.getScrollInfo(y),_=v[0],x=(t.collision||"flip").split(" "),k={};return 9===_.nodeType?(d=v.width(),f=v.height(),m={top:0,left:0}):e.isWindow(_)?(d=v.width(),f=v.height(),m={top:v.scrollTop(),left:v.scrollLeft()}):_.preventDefault?(t.at="left top",d=f=0,m={top:_.pageY,left:_.pageX}):(d=v.outerWidth(),f=v.outerHeight(),m=v.offset()),g=e.extend({},m),e.each(["my","at"],function(){var e,i,s=(t[this]||"").split(" ");1===s.length&&(s=l.test(s[0])?s.concat(["center"]):h.test(s[0])?["center"].concat(s):["center","center"]),s[0]=l.test(s[0])?s[0]:"center",s[1]=h.test(s[1])?s[1]:"center",e=u.exec(s[0]),i=u.exec(s[1]),k[this]=[e?e[0]:0,i?i[0]:0],t[this]=[c.exec(s[0])[0],c.exec(s[1])[0]]}),1===x.length&&(x[1]=x[0]),"right"===t.at[0]?g.left+=d:"center"===t.at[0]&&(g.left+=d/2),"bottom"===t.at[1]?g.top+=f:"center"===t.at[1]&&(g.top+=f/2),a=i(k.at,d,f),g.left+=a[0],g.top+=a[1],this.each(function(){var l,h,u=e(this),c=u.outerWidth(),p=u.outerHeight(),_=s(this,"marginLeft"),w=s(this,"marginTop"),D=c+_+s(this,"marginRight")+b.width,T=p+w+s(this,"marginBottom")+b.height,S=e.extend({},g),M=i(k.my,u.outerWidth(),u.outerHeight());"right"===t.my[0]?S.left-=c:"center"===t.my[0]&&(S.left-=c/2),"bottom"===t.my[1]?S.top-=p:"center"===t.my[1]&&(S.top-=p/2),S.left+=M[0],S.top+=M[1],e.support.offsetFractions||(S.left=o(S.left),S.top=o(S.top)),l={marginLeft:_,marginTop:w},e.each(["left","top"],function(i,s){e.ui.position[x[i]]&&e.ui.position[x[i]][s](S,{targetWidth:d,targetHeight:f,elemWidth:c,elemHeight:p,collisionPosition:l,collisionWidth:D,collisionHeight:T,offset:[a[0]+M[0],a[1]+M[1]],my:t.my,at:t.at,within:y,elem:u})}),e.fn.bgiframe&&u.bgiframe(),t.using&&(h=function(e){var i=m.left-S.left,s=i+d-c,a=m.top-S.top,o=a+f-p,l={target:{element:v,left:m.left,top:m.top,width:d,height:f},element:{element:u,left:S.left,top:S.top,width:c,height:p},horizontal:0>s?"left":i>0?"right":"center",vertical:0>o?"top":a>0?"bottom":"middle"};c>d&&d>r(i+s)&&(l.horizontal="center"),p>f&&f>r(a+o)&&(l.vertical="middle"),l.important=n(r(i),r(s))>n(r(a),r(o))?"horizontal":"vertical",t.using.call(this,e,l)}),u.offset(e.extend(S,{using:h}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,a=s.isWindow?s.scrollLeft:s.offset.left,r=s.width,o=e.left-t.collisionPosition.marginLeft,l=a-o,h=o+t.collisionWidth-r-a;t.collisionWidth>r?l>0&&0>=h?(i=e.left+l+t.collisionWidth-r-a,e.left+=l-i):e.left=h>0&&0>=l?a:l>h?a+r-t.collisionWidth:a:l>0?e.left+=l:h>0?e.left-=h:e.left=n(e.left-o,e.left)},top:function(e,t){var i,s=t.within,a=s.isWindow?s.scrollTop:s.offset.top,r=t.within.height,o=e.top-t.collisionPosition.marginTop,l=a-o,h=o+t.collisionHeight-r-a;t.collisionHeight>r?l>0&&0>=h?(i=e.top+l+t.collisionHeight-r-a,e.top+=l-i):e.top=h>0&&0>=l?a:l>h?a+r-t.collisionHeight:a:l>0?e.top+=l:h>0?e.top-=h:e.top=n(e.top-o,e.top)}},flip:{left:function(e,t){var i,s,a=t.within,n=a.offset.left+a.scrollLeft,o=a.width,l=a.isWindow?a.scrollLeft:a.offset.left,h=e.left-t.collisionPosition.marginLeft,u=h-l,c=h+t.collisionWidth-o-l,d="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+d+p+f+t.collisionWidth-o-n,(0>i||r(u)>i)&&(e.left+=d+p+f)):c>0&&(s=e.left-t.collisionPosition.marginLeft+d+p+f-l,(s>0||c>r(s))&&(e.left+=d+p+f))},top:function(e,t){var i,s,a=t.within,n=a.offset.top+a.scrollTop,o=a.height,l=a.isWindow?a.scrollTop:a.offset.top,h=e.top-t.collisionPosition.marginTop,u=h-l,c=h+t.collisionHeight-o-l,d="top"===t.my[1],p=d?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-o-n,e.top+p+f+m>u&&(0>s||r(u)>s)&&(e.top+=p+f+m)):c>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-l,e.top+p+f+m>c&&(i>0||c>r(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,a,n,r=document.getElementsByTagName("body")[0],o=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(n in s)t.style[n]=s[n];t.appendChild(o),i=r||document.documentElement,i.insertBefore(t,i.firstChild),o.style.cssText="position: absolute; left: 10.7432222px;",a=e(o).offset().left,e.support.offsetFractions=a>10&&11>a,t.innerHTML="",i.removeChild(t)}(),e.uiBackCompat!==!1&&function(e){var i=e.fn.position;e.fn.position=function(s){if(!s||!s.offset)return i.call(this,s);var a=s.offset.split(" "),n=s.at.split(" ");return 1===a.length&&(a[1]=a[0]),/^\d/.test(a[0])&&(a[0]="+"+a[0]),/^\d/.test(a[1])&&(a[1]="+"+a[1]),1===n.length&&(/left|center|right/.test(n[0])?n[1]="center":(n[1]=n[0],n[0]="center")),i.call(this,e.extend(s,{at:n[0]+a[0]+" "+n[1]+a[1],offset:t}))}}(jQuery)})(jQuery);(function(e){e.widget("ui.draggable",e.ui.mouse,{version:"1.9.2",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){"original"!=this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var i=this.options;return this.helper||i.disabled||e(t.target).is(".ui-resizable-handle")?!1:(this.handle=this._getHandle(t),this.handle?(e(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){e('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),i.containment&&this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,i){if(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),!i){var a=this._uiHash();if(this._trigger("drag",t,a)===!1)return this._mouseUp({}),!1;this.position=a.position}return this.options.axis&&"y"==this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"==this.options.axis||(this.helper[0].style.top=this.position.top+"px"),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=!1;e.ui.ddmanager&&!this.options.dropBehaviour&&(i=e.ui.ddmanager.drop(this,t)),this.dropped&&(i=this.dropped,this.dropped=!1);for(var a=this.element[0],s=!1;a&&(a=a.parentNode);)a==document&&(s=!0);if(!s&&"original"===this.options.helper)return!1;if("invalid"==this.options.revert&&!i||"valid"==this.options.revert&&i||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,i)){var n=this;e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){n._trigger("stop",t)!==!1&&n._clear()})}else this._trigger("stop",t)!==!1&&this._clear();return!1},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){var i=this.options.handle&&e(this.options.handle,this.element).length?!1:!0;return e(this.options.handle,this.element).find("*").andSelf().each(function(){this==t.target&&(i=!0)}),i},_createHelper:function(t){var i=this.options,a=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t])):"clone"==i.helper?this.element.clone().removeAttr("id"):this.element;return a.parents("body").length||a.appendTo("parent"==i.appendTo?this.element[0].parentNode:i.appendTo),a[0]==this.element[0]||/(fixed|absolute)/.test(a.css("position"))||a.css("position","absolute"),a},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"==this.cssPosition&&this.scrollParent[0]!=document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&"html"==this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"==this.cssPosition){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t=this.options;if("parent"==t.containment&&(t.containment=this.helper[0].parentNode),("document"==t.containment||"window"==t.containment)&&(this.containment=["document"==t.containment?0:e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,"document"==t.containment?0:e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,("document"==t.containment?0:e(window).scrollLeft())+e("document"==t.containment?document:window).width()-this.helperProportions.width-this.margins.left,("document"==t.containment?0:e(window).scrollTop())+(e("document"==t.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(t.containment)||t.containment.constructor==Array)t.containment.constructor==Array&&(this.containment=t.containment);else{var i=e(t.containment),a=i[0];if(!a)return;i.offset();var s="hidden"!=e(a).css("overflow");this.containment=[(parseInt(e(a).css("borderLeftWidth"),10)||0)+(parseInt(e(a).css("paddingLeft"),10)||0),(parseInt(e(a).css("borderTopWidth"),10)||0)+(parseInt(e(a).css("paddingTop"),10)||0),(s?Math.max(a.scrollWidth,a.offsetWidth):a.offsetWidth)-(parseInt(e(a).css("borderLeftWidth"),10)||0)-(parseInt(e(a).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(s?Math.max(a.scrollHeight,a.offsetHeight):a.offsetHeight)-(parseInt(e(a).css("borderTopWidth"),10)||0)-(parseInt(e(a).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i}},_convertPositionTo:function(t,i){i||(i=this.position);var a="absolute"==t?1:-1,s=(this.options,"absolute"!=this.cssPosition||this.scrollParent[0]!=document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent),n=/(html|body)/i.test(s[0].tagName);return{top:i.top+this.offset.relative.top*a+this.offset.parent.top*a-("fixed"==this.cssPosition?-this.scrollParent.scrollTop():n?0:s.scrollTop())*a,left:i.left+this.offset.relative.left*a+this.offset.parent.left*a-("fixed"==this.cssPosition?-this.scrollParent.scrollLeft():n?0:s.scrollLeft())*a}},_generatePosition:function(t){var i=this.options,a="absolute"!=this.cssPosition||this.scrollParent[0]!=document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,s=/(html|body)/i.test(a[0].tagName),n=t.pageX,r=t.pageY;if(this.originalPosition){var o;if(this.containment){if(this.relative_container){var l=this.relative_container.offset();o=[this.containment[0]+l.left,this.containment[1]+l.top,this.containment[2]+l.left,this.containment[3]+l.top]}else o=this.containment;t.pageX-this.offset.click.left<o[0]&&(n=o[0]+this.offset.click.left),t.pageY-this.offset.click.top<o[1]&&(r=o[1]+this.offset.click.top),t.pageX-this.offset.click.left>o[2]&&(n=o[2]+this.offset.click.left),t.pageY-this.offset.click.top>o[3]&&(r=o[3]+this.offset.click.top)}if(i.grid){var h=i.grid[1]?this.originalPageY+Math.round((r-this.originalPageY)/i.grid[1])*i.grid[1]:this.originalPageY;r=o?h-this.offset.click.top<o[1]||h-this.offset.click.top>o[3]?h-this.offset.click.top<o[1]?h+i.grid[1]:h-i.grid[1]:h:h;var u=i.grid[0]?this.originalPageX+Math.round((n-this.originalPageX)/i.grid[0])*i.grid[0]:this.originalPageX;n=o?u-this.offset.click.left<o[0]||u-this.offset.click.left>o[2]?u-this.offset.click.left<o[0]?u+i.grid[0]:u-i.grid[0]:u:u}}return{top:r-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"==this.cssPosition?-this.scrollParent.scrollTop():s?0:a.scrollTop()),left:n-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"==this.cssPosition?-this.scrollParent.scrollLeft():s?0:a.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]==this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(t,i,a){return a=a||this._uiHash(),e.ui.plugin.call(this,t,[i,a]),"drag"==t&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,i,a)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i){var a=e(this).data("draggable"),s=a.options,n=e.extend({},i,{item:a.element});a.sortables=[],e(s.connectToSortable).each(function(){var i=e.data(this,"sortable");i&&!i.options.disabled&&(a.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",t,n))})},stop:function(t,i){var a=e(this).data("draggable"),s=e.extend({},i,{item:a.element});e.each(a.sortables,function(){this.instance.isOver?(this.instance.isOver=0,a.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=!0),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,"original"==a.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,s))})},drag:function(t,i){var a=e(this).data("draggable"),s=this;e.each(a.sortables,function(){var n=!1,r=this;this.instance.positionAbs=a.positionAbs,this.instance.helperProportions=a.helperProportions,this.instance.offset.click=a.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(n=!0,e.each(a.sortables,function(){return this.instance.positionAbs=a.positionAbs,this.instance.helperProportions=a.helperProportions,this.instance.offset.click=a.offset.click,this!=r&&this.instance._intersectsWith(this.instance.containerCache)&&e.ui.contains(r.instance.element[0],this.instance.element[0])&&(n=!1),n})),n?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(s).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=a.offset.click.top,this.instance.offset.click.left=a.offset.click.left,this.instance.offset.parent.left-=a.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=a.offset.parent.top-this.instance.offset.parent.top,a._trigger("toSortable",t),a.dropped=this.instance.element,a.currentItem=a.element,this.instance.fromOutside=a),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),a._trigger("fromSortable",t),a.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(){var t=e("body"),i=e(this).data("draggable").options;t.css("cursor")&&(i._cursor=t.css("cursor")),t.css("cursor",i.cursor)},stop:function(){var t=e(this).data("draggable").options;t._cursor&&e("body").css("cursor",t._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i){var a=e(i.helper),s=e(this).data("draggable").options;a.css("opacity")&&(s._opacity=a.css("opacity")),a.css("opacity",s.opacity)},stop:function(t,i){var a=e(this).data("draggable").options;a._opacity&&e(i.helper).css("opacity",a._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(){var t=e(this).data("draggable");t.scrollParent[0]!=document&&"HTML"!=t.scrollParent[0].tagName&&(t.overflowOffset=t.scrollParent.offset())},drag:function(t){var i=e(this).data("draggable"),a=i.options,s=!1;i.scrollParent[0]!=document&&"HTML"!=i.scrollParent[0].tagName?(a.axis&&"x"==a.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-t.pageY<a.scrollSensitivity?i.scrollParent[0].scrollTop=s=i.scrollParent[0].scrollTop+a.scrollSpeed:t.pageY-i.overflowOffset.top<a.scrollSensitivity&&(i.scrollParent[0].scrollTop=s=i.scrollParent[0].scrollTop-a.scrollSpeed)),a.axis&&"y"==a.axis||(i.overflowOffset.left+i.scrollParent[0].offsetWidth-t.pageX<a.scrollSensitivity?i.scrollParent[0].scrollLeft=s=i.scrollParent[0].scrollLeft+a.scrollSpeed:t.pageX-i.overflowOffset.left<a.scrollSensitivity&&(i.scrollParent[0].scrollLeft=s=i.scrollParent[0].scrollLeft-a.scrollSpeed))):(a.axis&&"x"==a.axis||(t.pageY-e(document).scrollTop()<a.scrollSensitivity?s=e(document).scrollTop(e(document).scrollTop()-a.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<a.scrollSensitivity&&(s=e(document).scrollTop(e(document).scrollTop()+a.scrollSpeed))),a.axis&&"y"==a.axis||(t.pageX-e(document).scrollLeft()<a.scrollSensitivity?s=e(document).scrollLeft(e(document).scrollLeft()-a.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<a.scrollSensitivity&&(s=e(document).scrollLeft(e(document).scrollLeft()+a.scrollSpeed)))),s!==!1&&e.ui.ddmanager&&!a.dropBehaviour&&e.ui.ddmanager.prepareOffsets(i,t)}}),e.ui.plugin.add("draggable","snap",{start:function(){var t=e(this).data("draggable"),i=t.options;t.snapElements=[],e(i.snap.constructor!=String?i.snap.items||":data(draggable)":i.snap).each(function(){var i=e(this),a=i.offset();this!=t.element[0]&&t.snapElements.push({item:this,width:i.outerWidth(),height:i.outerHeight(),top:a.top,left:a.left})})},drag:function(t,i){for(var a=e(this).data("draggable"),s=a.options,n=s.snapTolerance,r=i.offset.left,o=r+a.helperProportions.width,l=i.offset.top,h=l+a.helperProportions.height,u=a.snapElements.length-1;u>=0;u--){var d=a.snapElements[u].left,c=d+a.snapElements[u].width,p=a.snapElements[u].top,m=p+a.snapElements[u].height;if(r>d-n&&c+n>r&&l>p-n&&m+n>l||r>d-n&&c+n>r&&h>p-n&&m+n>h||o>d-n&&c+n>o&&l>p-n&&m+n>l||o>d-n&&c+n>o&&h>p-n&&m+n>h){if("inner"!=s.snapMode){var f=n>=Math.abs(p-h),g=n>=Math.abs(m-l),v=n>=Math.abs(d-o),y=n>=Math.abs(c-r);f&&(i.position.top=a._convertPositionTo("relative",{top:p-a.helperProportions.height,left:0}).top-a.margins.top),g&&(i.position.top=a._convertPositionTo("relative",{top:m,left:0}).top-a.margins.top),v&&(i.position.left=a._convertPositionTo("relative",{top:0,left:d-a.helperProportions.width}).left-a.margins.left),y&&(i.position.left=a._convertPositionTo("relative",{top:0,left:c}).left-a.margins.left)}var b=f||g||v||y;if("outer"!=s.snapMode){var f=n>=Math.abs(p-l),g=n>=Math.abs(m-h),v=n>=Math.abs(d-r),y=n>=Math.abs(c-o);f&&(i.position.top=a._convertPositionTo("relative",{top:p,left:0}).top-a.margins.top),g&&(i.position.top=a._convertPositionTo("relative",{top:m-a.helperProportions.height,left:0}).top-a.margins.top),v&&(i.position.left=a._convertPositionTo("relative",{top:0,left:d}).left-a.margins.left),y&&(i.position.left=a._convertPositionTo("relative",{top:0,left:c-a.helperProportions.width}).left-a.margins.left)}!a.snapElements[u].snapping&&(f||g||v||y||b)&&a.options.snap.snap&&a.options.snap.snap.call(a.element,t,e.extend(a._uiHash(),{snapItem:a.snapElements[u].item})),a.snapElements[u].snapping=f||g||v||y||b}else a.snapElements[u].snapping&&a.options.snap.release&&a.options.snap.release.call(a.element,t,e.extend(a._uiHash(),{snapItem:a.snapElements[u].item})),a.snapElements[u].snapping=!1}}}),e.ui.plugin.add("draggable","stack",{start:function(){var t=e(this).data("draggable").options,i=e.makeArray(e(t.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});if(i.length){var a=parseInt(i[0].style.zIndex)||0;e(i).each(function(e){this.style.zIndex=a+e}),this[0].style.zIndex=a+i.length}}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i){var a=e(i.helper),s=e(this).data("draggable").options;a.css("zIndex")&&(s._zIndex=a.css("zIndex")),a.css("zIndex",s.zIndex)},stop:function(t,i){var a=e(this).data("draggable").options;a._zIndex&&e(i.helper).css("zIndex",a._zIndex)}})})(jQuery);(function(e){e.widget("ui.droppable",{version:"1.9.2",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect"},_create:function(){var t=this.options,i=t.accept;this.isover=0,this.isout=1,this.accept=e.isFunction(i)?i:function(e){return e.is(i)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},e.ui.ddmanager.droppables[t.scope]=e.ui.ddmanager.droppables[t.scope]||[],e.ui.ddmanager.droppables[t.scope].push(this),t.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var t=e.ui.ddmanager.droppables[this.options.scope],i=0;t.length>i;i++)t[i]==this&&t.splice(i,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){"accept"==t&&(this.accept=e.isFunction(i)?i:function(e){return e.is(i)}),e.Widget.prototype._setOption.apply(this,arguments)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!=this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!=this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var a=i||e.ui.ddmanager.current;if(!a||(a.currentItem||a.element)[0]==this.element[0])return!1;var s=!1;return this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var t=e.data(this,"droppable");return t.options.greedy&&!t.options.disabled&&t.options.scope==a.options.scope&&t.accept.call(t.element[0],a.currentItem||a.element)&&e.ui.intersect(a,e.extend(t,{offset:t.element.offset()}),t.options.tolerance)?(s=!0,!1):undefined}),s?!1:this.accept.call(this.element[0],a.currentItem||a.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(a)),this.element):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(t,i,a){if(!i.offset)return!1;var s=(t.positionAbs||t.position.absolute).left,n=s+t.helperProportions.width,r=(t.positionAbs||t.position.absolute).top,o=r+t.helperProportions.height,l=i.offset.left,h=l+i.proportions.width,u=i.offset.top,d=u+i.proportions.height;switch(a){case"fit":return s>=l&&h>=n&&r>=u&&d>=o;case"intersect":return s+t.helperProportions.width/2>l&&h>n-t.helperProportions.width/2&&r+t.helperProportions.height/2>u&&d>o-t.helperProportions.height/2;case"pointer":var c=(t.positionAbs||t.position.absolute).left+(t.clickOffset||t.offset.click).left,p=(t.positionAbs||t.position.absolute).top+(t.clickOffset||t.offset.click).top,m=e.ui.isOver(p,c,u,l,i.proportions.height,i.proportions.width);return m;case"touch":return(r>=u&&d>=r||o>=u&&d>=o||u>r&&o>d)&&(s>=l&&h>=s||n>=l&&h>=n||l>s&&n>h);default:return!1}},e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var a=e.ui.ddmanager.droppables[t.options.scope]||[],s=i?i.type:null,n=(t.currentItem||t.element).find(":data(droppable)").andSelf();e:for(var r=0;a.length>r;r++)if(!(a[r].options.disabled||t&&!a[r].accept.call(a[r].element[0],t.currentItem||t.element))){for(var o=0;n.length>o;o++)if(n[o]==a[r].element[0]){a[r].proportions.height=0;continue e}a[r].visible="none"!=a[r].element.css("display"),a[r].visible&&("mousedown"==s&&a[r]._activate.call(a[r],i),a[r].offset=a[r].element.offset(),a[r].proportions={width:a[r].element[0].offsetWidth,height:a[r].element[0].offsetHeight})}},drop:function(t,i){var a=!1;return e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance)&&(a=this._drop.call(this,i)||a),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=1,this.isover=0,this._deactivate.call(this,i)))}),a},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var a=e.ui.intersect(t,this,this.options.tolerance),s=a||1!=this.isover?a&&0==this.isover?"isover":null:"isout";if(s){var n;if(this.options.greedy){var r=this.options.scope,o=this.element.parents(":data(droppable)").filter(function(){return e.data(this,"droppable").options.scope===r});o.length&&(n=e.data(o[0],"droppable"),n.greedyChild="isover"==s?1:0)}n&&"isover"==s&&(n.isover=0,n.isout=1,n._out.call(n,i)),this[s]=1,this["isout"==s?"isover":"isout"]=0,this["isover"==s?"_over":"_out"].call(this,i),n&&"isout"==s&&(n.isout=0,n.isover=1,n._over.call(n,i))}}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}}})(jQuery);(function(e){e.widget("ui.resizable",e.ui.mouse,{version:"1.9.2",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1e3},_create:function(){var t=this,i=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(e('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("resizable",this.element.data("resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=i.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor==String){"all"==this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw");var s=this.handles.split(",");this.handles={};for(var a=0;s.length>a;a++){var n=e.trim(s[a]),r="ui-resizable-"+n,o=e('<div class="ui-resizable-handle '+r+'"></div>');o.css({zIndex:i.zIndex}),"se"==n&&o.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[n]=".ui-resizable-"+n,this.element.append(o)}}this._renderAxis=function(t){t=t||this.element;for(var i in this.handles){if(this.handles[i].constructor==String&&(this.handles[i]=e(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var s=e(this.handles[i],this.element),a=0;a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth();var n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");t.css(n,a),this._proportionallyResize()}e(this.handles[i]).length}},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){if(!t.resizing){if(this.className)var e=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);t.axis=e&&e[1]?e[1]:"se"}}),i.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){i.disabled||(e(this).removeClass("ui-resizable-autohide"),t._handles.show())}).mouseleave(function(){i.disabled||t.resizing||(e(this).addClass("ui-resizable-autohide"),t._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){t(this.element);var i=this.element;this.originalElement.css({position:i.css("position"),width:i.outerWidth(),height:i.outerHeight(),top:i.css("top"),left:i.css("left")}).insertAfter(i),i.remove()}return this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_mouseCapture:function(t){var i=!1;for(var s in this.handles)e(this.handles[s])[0]==t.target&&(i=!0);return!this.options.disabled&&i},_mouseStart:function(i){var s=this.options,a=this.element.position(),n=this.element;this.resizing=!0,this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()},(n.is(".ui-draggable")||/absolute/.test(n.css("position")))&&n.css({position:"absolute",top:a.top,left:a.left}),this._renderProxy();var r=t(this.helper.css("left")),o=t(this.helper.css("top"));s.containment&&(r+=e(s.containment).scrollLeft()||0,o+=e(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:r,top:o},this.size=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.originalPosition={left:r,top:o},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1;var h=e(".ui-resizable-"+this.axis).css("cursor");return e("body").css("cursor","auto"==h?this.axis+"-resize":h),n.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(e){var t=this.helper,i=(this.options,this.originalMousePosition),s=this.axis,a=e.pageX-i.left||0,n=e.pageY-i.top||0,r=this._change[s];if(!r)return!1;var o=r.apply(this,[e,a,n]);return this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(o=this._updateRatio(o,e)),o=this._respectSize(o,e),this._propagate("resize",e),t.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"}),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),this._updateCache(o),this._trigger("resize",e,this.ui()),!1},_mouseStop:function(t){this.resizing=!1;var i=this.options,s=this;if(this._helper){var a=this._proportionallyResizeElements,n=a.length&&/textarea/i.test(a[0].nodeName),r=n&&e.ui.hasScroll(a[0],"left")?0:s.sizeDiff.height,o=n?0:s.sizeDiff.width,h={width:s.helper.width()-o,height:s.helper.height()-r},l=parseInt(s.element.css("left"),10)+(s.position.left-s.originalPosition.left)||null,u=parseInt(s.element.css("top"),10)+(s.position.top-s.originalPosition.top)||null;i.animate||this.element.css(e.extend(h,{top:u,left:l})),s.helper.height(s.size.height),s.helper.width(s.size.width),this._helper&&!i.animate&&this._proportionallyResize()}return e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(e){var t,s,a,n,r,o=this.options;r={minWidth:i(o.minWidth)?o.minWidth:0,maxWidth:i(o.maxWidth)?o.maxWidth:1/0,minHeight:i(o.minHeight)?o.minHeight:0,maxHeight:i(o.maxHeight)?o.maxHeight:1/0},(this._aspectRatio||e)&&(t=r.minHeight*this.aspectRatio,a=r.minWidth/this.aspectRatio,s=r.maxHeight*this.aspectRatio,n=r.maxWidth/this.aspectRatio,t>r.minWidth&&(r.minWidth=t),a>r.minHeight&&(r.minHeight=a),r.maxWidth>s&&(r.maxWidth=s),r.maxHeight>n&&(r.maxHeight=n)),this._vBoundaries=r},_updateCache:function(e){this.options,this.offset=this.helper.offset(),i(e.left)&&(this.position.left=e.left),i(e.top)&&(this.position.top=e.top),i(e.height)&&(this.size.height=e.height),i(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=(this.options,this.position),s=this.size,a=this.axis;return i(e.height)?e.width=e.height*this.aspectRatio:i(e.width)&&(e.height=e.width/this.aspectRatio),"sw"==a&&(e.left=t.left+(s.width-e.width),e.top=null),"nw"==a&&(e.top=t.top+(s.height-e.height),e.left=t.left+(s.width-e.width)),e},_respectSize:function(e,t){var s=(this.helper,this._vBoundaries),a=(this._aspectRatio||t.shiftKey,this.axis),n=i(e.width)&&s.maxWidth&&s.maxWidth<e.width,r=i(e.height)&&s.maxHeight&&s.maxHeight<e.height,o=i(e.width)&&s.minWidth&&s.minWidth>e.width,h=i(e.height)&&s.minHeight&&s.minHeight>e.height;o&&(e.width=s.minWidth),h&&(e.height=s.minHeight),n&&(e.width=s.maxWidth),r&&(e.height=s.maxHeight);var l=this.originalPosition.left+this.originalSize.width,u=this.position.top+this.size.height,d=/sw|nw|w/.test(a),c=/nw|ne|n/.test(a);o&&d&&(e.left=l-s.minWidth),n&&d&&(e.left=l-s.maxWidth),h&&c&&(e.top=u-s.minHeight),r&&c&&(e.top=u-s.maxHeight);var p=!e.width&&!e.height;return p&&!e.left&&e.top?e.top=null:p&&!e.top&&e.left&&(e.left=null),e},_proportionallyResize:function(){if(this.options,this._proportionallyResizeElements.length)for(var t=this.helper||this.element,i=0;this._proportionallyResizeElements.length>i;i++){var s=this._proportionallyResizeElements[i];if(!this.borderDif){var a=[s.css("borderTopWidth"),s.css("borderRightWidth"),s.css("borderBottomWidth"),s.css("borderLeftWidth")],n=[s.css("paddingTop"),s.css("paddingRight"),s.css("paddingBottom"),s.css("paddingLeft")];this.borderDif=e.map(a,function(e,t){var i=parseInt(e,10)||0,s=parseInt(n[t],10)||0;return i+s})}s.css({height:t.height()-this.borderDif[0]-this.borderDif[2]||0,width:t.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var t=this.element,i=this.options;if(this.elementOffset=t.offset(),this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var s=e.ui.ie6?1:0,a=e.ui.ie6?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-s+"px",top:this.elementOffset.top-s+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=(this.options,this.originalSize),s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=(this.options,this.originalSize),a=this.originalPosition;return{top:a.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!=t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).data("resizable"),i=t.options,s=function(t){e(t).each(function(){var t=e(this);t.data("resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):e.each(i.alsoResize,function(e){s(e)})},resize:function(t,i){var s=e(this).data("resizable"),a=s.options,n=s.originalSize,r=s.originalPosition,o={height:s.size.height-n.height||0,width:s.size.width-n.width||0,top:s.position.top-r.top||0,left:s.position.left-r.left||0},h=function(t,s){e(t).each(function(){var t=e(this),a=e(this).data("resizable-alsoresize"),n={},r=s&&s.length?s:t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(e,t){var i=(a[t]||0)+(o[t]||0);i&&i>=0&&(n[t]=i||null)}),t.css(n)})};"object"!=typeof a.alsoResize||a.alsoResize.nodeType?h(a.alsoResize):e.each(a.alsoResize,function(e,t){h(e,t)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).data("resizable"),s=i.options,a=i._proportionallyResizeElements,n=a.length&&/textarea/i.test(a[0].nodeName),r=n&&e.ui.hasScroll(a[0],"left")?0:i.sizeDiff.height,o=n?0:i.sizeDiff.width,h={width:i.size.width-o,height:i.size.height-r},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};a&&a.length&&e(a[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var i=e(this).data("resizable"),s=i.options,a=i.element,n=s.containment,r=n instanceof e?n.get(0):/parent/.test(n)?a.parent().get(0):n;if(r)if(i.containerElement=e(r),/document/.test(n)||n==document)i.containerOffset={left:0,top:0},i.containerPosition={left:0,top:0},i.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight};else{var o=e(r),h=[];e(["Top","Right","Left","Bottom"]).each(function(e,i){h[e]=t(o.css("padding"+i))}),i.containerOffset=o.offset(),i.containerPosition=o.position(),i.containerSize={height:o.innerHeight()-h[3],width:o.innerWidth()-h[1]};var l=i.containerOffset,u=i.containerSize.height,d=i.containerSize.width,c=e.ui.hasScroll(r,"left")?r.scrollWidth:d,p=e.ui.hasScroll(r)?r.scrollHeight:u;i.parentData={element:r,left:l.left,top:l.top,width:c,height:p}}},resize:function(t){var i=e(this).data("resizable"),s=i.options,a=(i.containerSize,i.containerOffset),n=(i.size,i.position),r=i._aspectRatio||t.shiftKey,o={top:0,left:0},h=i.containerElement;h[0]!=document&&/static/.test(h.css("position"))&&(o=a),n.left<(i._helper?a.left:0)&&(i.size.width=i.size.width+(i._helper?i.position.left-a.left:i.position.left-o.left),r&&(i.size.height=i.size.width/i.aspectRatio),i.position.left=s.helper?a.left:0),n.top<(i._helper?a.top:0)&&(i.size.height=i.size.height+(i._helper?i.position.top-a.top:i.position.top),r&&(i.size.width=i.size.height*i.aspectRatio),i.position.top=i._helper?a.top:0),i.offset.left=i.parentData.left+i.position.left,i.offset.top=i.parentData.top+i.position.top;var l=Math.abs((i._helper?i.offset.left-o.left:i.offset.left-o.left)+i.sizeDiff.width),u=Math.abs((i._helper?i.offset.top-o.top:i.offset.top-a.top)+i.sizeDiff.height),d=i.containerElement.get(0)==i.element.parent().get(0),c=/relative|absolute/.test(i.containerElement.css("position"));d&&c&&(l-=i.parentData.left),l+i.size.width>=i.parentData.width&&(i.size.width=i.parentData.width-l,r&&(i.size.height=i.size.width/i.aspectRatio)),u+i.size.height>=i.parentData.height&&(i.size.height=i.parentData.height-u,r&&(i.size.width=i.size.height*i.aspectRatio))},stop:function(){var t=e(this).data("resizable"),i=t.options,s=(t.position,t.containerOffset),a=t.containerPosition,n=t.containerElement,r=e(t.helper),o=r.offset(),h=r.outerWidth()-t.sizeDiff.width,l=r.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(n.css("position"))&&e(this).css({left:o.left-a.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(n.css("position"))&&e(this).css({left:o.left-a.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).data("resizable"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).data("resizable");t.options,t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).data("resizable");t.options,t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(t){var i=e(this).data("resizable"),s=i.options,a=i.size,n=i.originalSize,r=i.originalPosition,o=i.axis;s._aspectRatio||t.shiftKey,s.grid="number"==typeof s.grid?[s.grid,s.grid]:s.grid;var h=Math.round((a.width-n.width)/(s.grid[0]||1))*(s.grid[0]||1),l=Math.round((a.height-n.height)/(s.grid[1]||1))*(s.grid[1]||1);/^(se|s|e)$/.test(o)?(i.size.width=n.width+h,i.size.height=n.height+l):/^(ne)$/.test(o)?(i.size.width=n.width+h,i.size.height=n.height+l,i.position.top=r.top-l):/^(sw)$/.test(o)?(i.size.width=n.width+h,i.size.height=n.height+l,i.position.left=r.left-h):(i.size.width=n.width+h,i.size.height=n.height+l,i.position.top=r.top-l,i.position.left=r.left-h)}});var t=function(e){return parseInt(e,10)||0},i=function(e){return!isNaN(parseInt(e,10))}})(jQuery);(function(e){e.widget("ui.selectable",e.ui.mouse,{version:"1.9.2",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch"},_create:function(){var t=this;this.element.addClass("ui-selectable"),this.dragged=!1;var i;this.refresh=function(){i=e(t.options.filter,t.element[0]),i.addClass("ui-selectee"),i.each(function(){var t=e(this),i=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=i.addClass("ui-selectee"),this._mouseInit(),this.helper=e("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var i=this;if(this.opos=[t.pageX,t.pageY],!this.options.disabled){var s=this.options;this.selectees=e(s.filter,this.element[0]),this._trigger("start",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.clientX,top:t.clientY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=e.data(this,"selectable-item");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",t,{unselecting:s.element}))}),e(t.target).parents().andSelf().each(function(){var s=e.data(this,"selectable-item");if(s){var a=!t.metaKey&&!t.ctrlKey||!s.$element.hasClass("ui-selected");return s.$element.removeClass(a?"ui-unselecting":"ui-selected").addClass(a?"ui-selecting":"ui-unselecting"),s.unselecting=!a,s.selecting=a,s.selected=a,a?i._trigger("selecting",t,{selecting:s.element}):i._trigger("unselecting",t,{unselecting:s.element}),!1}})}},_mouseDrag:function(t){var i=this;if(this.dragged=!0,!this.options.disabled){var s=this.options,a=this.opos[0],n=this.opos[1],r=t.pageX,o=t.pageY;if(a>r){var h=r;r=a,a=h}if(n>o){var h=o;o=n,n=h}return this.helper.css({left:a,top:n,width:r-a,height:o-n}),this.selectees.each(function(){var h=e.data(this,"selectable-item");if(h&&h.element!=i.element[0]){var l=!1;"touch"==s.tolerance?l=!(h.left>r||a>h.right||h.top>o||n>h.bottom):"fit"==s.tolerance&&(l=h.left>a&&r>h.right&&h.top>n&&o>h.bottom),l?(h.selected&&(h.$element.removeClass("ui-selected"),h.selected=!1),h.unselecting&&(h.$element.removeClass("ui-unselecting"),h.unselecting=!1),h.selecting||(h.$element.addClass("ui-selecting"),h.selecting=!0,i._trigger("selecting",t,{selecting:h.element}))):(h.selecting&&((t.metaKey||t.ctrlKey)&&h.startselected?(h.$element.removeClass("ui-selecting"),h.selecting=!1,h.$element.addClass("ui-selected"),h.selected=!0):(h.$element.removeClass("ui-selecting"),h.selecting=!1,h.startselected&&(h.$element.addClass("ui-unselecting"),h.unselecting=!0),i._trigger("unselecting",t,{unselecting:h.element}))),h.selected&&(t.metaKey||t.ctrlKey||h.startselected||(h.$element.removeClass("ui-selected"),h.selected=!1,h.$element.addClass("ui-unselecting"),h.unselecting=!0,i._trigger("unselecting",t,{unselecting:h.element}))))}}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,this.options,e(".ui-unselecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",t,{unselected:s.element})}),e(".ui-selecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",t,{selected:s.element})}),this._trigger("stop",t),this.helper.remove(),!1}})})(jQuery);(function(e){e.widget("ui.sortable",e.ui.mouse,{version:"1.9.2",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3},_create:function(){var e=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===e.axis||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_setOption:function(t,i){"disabled"===t?(this.options[t]=i,this.widget().toggleClass("ui-sortable-disabled",!!i)):e.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(t,i){var s=this;if(this.reverting)return!1;if(this.options.disabled||"static"==this.options.type)return!1;this._refreshItems(t);var a=null;if(e(t.target).parents().each(function(){return e.data(this,s.widgetName+"-item")==s?(a=e(this),!1):undefined}),e.data(t.target,s.widgetName+"-item")==s&&(a=e(t.target)),!a)return!1;if(this.options.handle&&!i){var n=!1;if(e(this.options.handle,a).find("*").andSelf().each(function(){this==t.target&&(n=!0)}),!n)return!1}return this.currentItem=a,this._removeCurrentsFromItems(),!0},_mouseStart:function(t,i,s){var a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&(e("body").css("cursor")&&(this._storedCursor=e("body").css("cursor")),e("body").css("cursor",a.cursor)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!=document&&"HTML"!=this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(var n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",t,this._uiHash(this));return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!a.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){if(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll){var i=this.options,s=!1;this.scrollParent[0]!=document&&"HTML"!=this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<i.scrollSensitivity?this.scrollParent[0].scrollTop=s=this.scrollParent[0].scrollTop+i.scrollSpeed:t.pageY-this.overflowOffset.top<i.scrollSensitivity&&(this.scrollParent[0].scrollTop=s=this.scrollParent[0].scrollTop-i.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<i.scrollSensitivity?this.scrollParent[0].scrollLeft=s=this.scrollParent[0].scrollLeft+i.scrollSpeed:t.pageX-this.overflowOffset.left<i.scrollSensitivity&&(this.scrollParent[0].scrollLeft=s=this.scrollParent[0].scrollLeft-i.scrollSpeed)):(t.pageY-e(document).scrollTop()<i.scrollSensitivity?s=e(document).scrollTop(e(document).scrollTop()-i.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<i.scrollSensitivity&&(s=e(document).scrollTop(e(document).scrollTop()+i.scrollSpeed)),t.pageX-e(document).scrollLeft()<i.scrollSensitivity?s=e(document).scrollLeft(e(document).scrollLeft()-i.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<i.scrollSensitivity&&(s=e(document).scrollLeft(e(document).scrollLeft()+i.scrollSpeed))),s!==!1&&e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t)}this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"==this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"==this.options.axis||(this.helper[0].style.top=this.position.top+"px");for(var a=this.items.length-1;a>=0;a--){var n=this.items[a],r=n.item[0],o=this._intersectsWithPointer(n);if(o&&n.instance===this.currentContainer&&r!=this.currentItem[0]&&this.placeholder[1==o?"next":"prev"]()[0]!=r&&!e.contains(this.placeholder[0],r)&&("semi-dynamic"==this.options.type?!e.contains(this.element[0],r):!0)){if(this.direction=1==o?"down":"up","pointer"!=this.options.tolerance&&!this._intersectsWithSides(n))break;this._rearrange(t,n),this._trigger("change",t,this._uiHash());break}}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,i){if(t){if(e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t),this.options.revert){var s=this,a=this.placeholder.offset();this.reverting=!0,e(this.helper).animate({left:a.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:a.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){s._clear(t)})}else this._clear(t,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"==this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!=this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},e(i).each(function(){var i=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[-=_](.+)/);i&&s.push((t.key||i[1]+"[]")+"="+(t.key&&t.expression?i[1]:i[2]))}),!s.length&&t.key&&s.push(t.key+"="),s.join("&")},toArray:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},i.each(function(){s.push(e(t.item||this).attr(t.attribute||"id")||"")}),s},_intersectsWith:function(e){var t=this.positionAbs.left,i=t+this.helperProportions.width,s=this.positionAbs.top,a=s+this.helperProportions.height,n=e.left,r=n+e.width,o=e.top,h=o+e.height,l=this.offset.click.top,u=this.offset.click.left,c=s+l>o&&h>s+l&&t+u>n&&r>t+u;return"pointer"==this.options.tolerance||this.options.forcePointerForContainers||"pointer"!=this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>e[this.floating?"width":"height"]?c:t+this.helperProportions.width/2>n&&r>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>o&&h>a-this.helperProportions.height/2},_intersectsWithPointer:function(t){var i="x"===this.options.axis||e.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),s="y"===this.options.axis||e.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width),a=i&&s,n=this._getDragVerticalDirection(),r=this._getDragHorizontalDirection();return a?this.floating?r&&"right"==r||"down"==n?2:1:n&&("down"==n?2:1):!1},_intersectsWithSides:function(t){var i=e.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),s=e.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),a=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"==n&&s||"left"==n&&!s:a&&("down"==a&&i||"up"==a&&!i)},_getDragVerticalDirection:function(){var e=this.positionAbs.top-this.lastPositionAbs.top;return 0!=e&&(e>0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return 0!=e&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor==String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){var i=[],s=[],a=this._connectWith();if(a&&t)for(var n=a.length-1;n>=0;n--)for(var r=e(a[n]),o=r.length-1;o>=0;o--){var h=e.data(r[o],this.widgetName);h&&h!=this&&!h.options.disabled&&s.push([e.isFunction(h.options.items)?h.options.items.call(h.element):e(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}s.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var n=s.length-1;n>=0;n--)s[n][0].each(function(){i.push(this)});return e(i)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var i=0;t.length>i;i++)if(t[i]==e.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var i=this.items,s=[[e.isFunction(this.options.items)?this.options.items.call(this.element[0],t,{item:this.currentItem}):e(this.options.items,this.element),this]],a=this._connectWith();if(a&&this.ready)for(var n=a.length-1;n>=0;n--)for(var r=e(a[n]),o=r.length-1;o>=0;o--){var h=e.data(r[o],this.widgetName);h&&h!=this&&!h.options.disabled&&(s.push([e.isFunction(h.options.items)?h.options.items.call(h.element[0],t,{item:this.currentItem}):e(h.options.items,h.element),h]),this.containers.push(h))}for(var n=s.length-1;n>=0;n--)for(var l=s[n][1],u=s[n][0],o=0,c=u.length;c>o;o++){var d=e(u[o]);d.data(this.widgetName+"-item",l),i.push({item:d,instance:l,width:0,height:0,left:0,top:0})}},refreshPositions:function(t){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());for(var i=this.items.length-1;i>=0;i--){var s=this.items[i];if(s.instance==this.currentContainer||!this.currentContainer||s.item[0]==this.currentItem[0]){var a=this.options.toleranceElement?e(this.options.toleranceElement,s.item):s.item;t||(s.width=a.outerWidth(),s.height=a.outerHeight());var n=a.offset();s.left=n.left,s.top=n.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var i=this.containers.length-1;i>=0;i--){var n=this.containers[i].element.offset();this.containers[i].containerCache.left=n.left,this.containers[i].containerCache.top=n.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight()}return this},_createPlaceholder:function(t){t=t||this;var i=t.options;if(!i.placeholder||i.placeholder.constructor==String){var s=i.placeholder;i.placeholder={element:function(){var i=e(document.createElement(t.currentItem[0].nodeName)).addClass(s||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];return s||(i.style.visibility="hidden"),i},update:function(e,a){(!s||i.forcePlaceholderSize)&&(a.height()||a.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),a.width()||a.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10)))}}}t.placeholder=e(i.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),i.placeholder.update(t,t.placeholder)},_contactContainers:function(t){for(var i=null,s=null,a=this.containers.length-1;a>=0;a--)if(!e.contains(this.currentItem[0],this.containers[a].element[0]))if(this._intersectsWith(this.containers[a].containerCache)){if(i&&e.contains(this.containers[a].element[0],i.element[0]))continue;i=this.containers[a],s=a}else this.containers[a].containerCache.over&&(this.containers[a]._trigger("out",t,this._uiHash(this)),this.containers[a].containerCache.over=0);if(i)if(1===this.containers.length)this.containers[s]._trigger("over",t,this._uiHash(this)),this.containers[s].containerCache.over=1;else{for(var n=1e4,r=null,o=this.containers[s].floating?"left":"top",h=this.containers[s].floating?"width":"height",l=this.positionAbs[o]+this.offset.click[o],u=this.items.length-1;u>=0;u--)if(e.contains(this.containers[s].element[0],this.items[u].item[0])&&this.items[u].item[0]!=this.currentItem[0]){var c=this.items[u].item.offset()[o],d=!1;Math.abs(c-l)>Math.abs(c+this.items[u][h]-l)&&(d=!0,c+=this.items[u][h]),n>Math.abs(c-l)&&(n=Math.abs(c-l),r=this.items[u],this.direction=d?"up":"down")}if(!r&&!this.options.dropOnEmpty)return;this.currentContainer=this.containers[s],r?this._rearrange(t,r,null,!0):this._rearrange(t,null,this.containers[s].element,!0),this._trigger("change",t,this._uiHash()),this.containers[s]._trigger("change",t,this._uiHash(this)),this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[s]._trigger("over",t,this._uiHash(this)),this.containers[s].containerCache.over=1}},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t,this.currentItem])):"clone"==i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||e("parent"!=i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]==this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(""==s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(""==s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"==this.cssPosition&&this.scrollParent[0]!=document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&"html"==this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"==this.cssPosition){var e=this.currentItem.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t=this.options;if("parent"==t.containment&&(t.containment=this.helper[0].parentNode),("document"==t.containment||"window"==t.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,e("document"==t.containment?document:window).width()-this.helperProportions.width-this.margins.left,(e("document"==t.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),!/^(document|window|parent)$/.test(t.containment)){var i=e(t.containment)[0],s=e(t.containment).offset(),a="hidden"!=e(i).css("overflow");this.containment=[s.left+(parseInt(e(i).css("borderLeftWidth"),10)||0)+(parseInt(e(i).css("paddingLeft"),10)||0)-this.margins.left,s.top+(parseInt(e(i).css("borderTopWidth"),10)||0)+(parseInt(e(i).css("paddingTop"),10)||0)-this.margins.top,s.left+(a?Math.max(i.scrollWidth,i.offsetWidth):i.offsetWidth)-(parseInt(e(i).css("borderLeftWidth"),10)||0)-(parseInt(e(i).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,s.top+(a?Math.max(i.scrollHeight,i.offsetHeight):i.offsetHeight)-(parseInt(e(i).css("borderTopWidth"),10)||0)-(parseInt(e(i).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"==t?1:-1,a=(this.options,"absolute"!=this.cssPosition||this.scrollParent[0]!=document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent),n=/(html|body)/i.test(a[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"==this.cssPosition?-this.scrollParent.scrollTop():n?0:a.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"==this.cssPosition?-this.scrollParent.scrollLeft():n?0:a.scrollLeft())*s}},_generatePosition:function(t){var i=this.options,s="absolute"!=this.cssPosition||this.scrollParent[0]!=document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(s[0].tagName);"relative"!=this.cssPosition||this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset());var n=t.pageX,r=t.pageY;if(this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(n=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(r=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(n=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(r=this.containment[3]+this.offset.click.top)),i.grid)){var o=this.originalPageY+Math.round((r-this.originalPageY)/i.grid[1])*i.grid[1];r=this.containment?o-this.offset.click.top<this.containment[1]||o-this.offset.click.top>this.containment[3]?o-this.offset.click.top<this.containment[1]?o+i.grid[1]:o-i.grid[1]:o:o;var h=this.originalPageX+Math.round((n-this.originalPageX)/i.grid[0])*i.grid[0];n=this.containment?h-this.offset.click.left<this.containment[0]||h-this.offset.click.left>this.containment[2]?h-this.offset.click.left<this.containment[0]?h+i.grid[0]:h-i.grid[0]:h:h}return{top:r-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"==this.cssPosition?-this.scrollParent.scrollTop():a?0:s.scrollTop()),left:n-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"==this.cssPosition?-this.scrollParent.scrollLeft():a?0:s.scrollLeft())}},_rearrange:function(e,t,i,s){i?i[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],"down"==this.direction?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var a=this.counter;this._delay(function(){a==this.counter&&this.refreshPositions(!s)})},_clear:function(t,i){this.reverting=!1;var s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]==this.currentItem[0]){for(var a in this._storedCSS)("auto"==this._storedCSS[a]||"static"==this._storedCSS[a])&&(this._storedCSS[a]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!i&&s.push(function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev==this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent==this.currentItem.parent()[0]||i||s.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(i||(s.push(function(e){this._trigger("remove",e,this._uiHash())}),s.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer))));for(var a=this.containers.length-1;a>=0;a--)i||s.push(function(e){return function(t){e._trigger("deactivate",t,this._uiHash(this))}}.call(this,this.containers[a])),this.containers[a].containerCache.over&&(s.push(function(e){return function(t){e._trigger("out",t,this._uiHash(this))}}.call(this,this.containers[a])),this.containers[a].containerCache.over=0);if(this._storedCursor&&e("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"==this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!i){this._trigger("beforeStop",t,this._uiHash());for(var a=0;s.length>a;a++)s[a].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!1}if(i||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!=this.currentItem[0]&&this.helper.remove(),this.helper=null,!i){for(var a=0;s.length>a;a++)s[a].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){e.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(t){var i=t||this;return{helper:i.helper,placeholder:i.placeholder||e([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:t?t.element:null}}})})(jQuery);(function(e){var t=0,i={},a={};i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="hide",a.height=a.paddingTop=a.paddingBottom=a.borderTopWidth=a.borderBottomWidth="show",e.widget("ui.accordion",{version:"1.9.2",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var i=this.accordionId="ui-accordion-"+(this.element.attr("id")||++t),a=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset"),this.headers=this.element.find(a.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this._hoverable(this.headers),this._focusable(this.headers),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").hide(),a.collapsible||a.active!==!1&&null!=a.active||(a.active=0),0>a.active&&(a.active+=this.headers.length),this.active=this._findActive(a.active).addClass("ui-accordion-header-active ui-state-active").toggleClass("ui-corner-all ui-corner-top"),this.active.next().addClass("ui-accordion-content-active").show(),this._createIcons(),this.refresh(),this.element.attr("role","tablist"),this.headers.attr("role","tab").each(function(t){var a=e(this),s=a.attr("id"),n=a.next(),r=n.attr("id");s||(s=i+"-header-"+t,a.attr("id",s)),r||(r=i+"-panel-"+t,n.attr("id",r)),a.attr("aria-controls",r),n.attr("aria-labelledby",s)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false",tabIndex:-1}).next().attr({"aria-expanded":"false","aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true",tabIndex:0}).next().attr({"aria-expanded":"true","aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._on(this.headers,{keydown:"_keydown"}),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._setupEvents(a.event)},_getCreateEventData:function(){return{header:this.active,content:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("<span>").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),e=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),undefined):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t),undefined)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,a=this.headers.length,s=this.headers.index(t.target),n=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:n=this.headers[(s+1)%a];break;case i.LEFT:case i.UP:n=this.headers[(s-1+a)%a];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:n=this.headers[0];break;case i.END:n=this.headers[a-1]}n&&(e(t.target).attr("tabIndex",-1),e(n).attr("tabIndex",0),n.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t,i,a=this.options.heightStyle,s=this.element.parent();"fill"===a?(e.support.minHeight||(i=s.css("overflow"),s.css("overflow","hidden")),t=s.height(),this.element.siblings(":visible").each(function(){var i=e(this),a=i.css("position");"absolute"!==a&&"fixed"!==a&&(t-=i.outerHeight(!0))}),i&&s.css("overflow",i),this.headers.each(function(){t-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===a&&(t=0,this.headers.next().each(function(){t=Math.max(t,e(this).css("height","").height())}).height(t))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={};t&&(e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._on(this.headers,i))},_eventHandler:function(t){var i=this.options,a=this.active,s=e(t.currentTarget),n=s[0]===a[0],r=n&&i.collapsible,o=r?e():s.next(),h=a.next(),l={oldHeader:a,oldPanel:h,newHeader:r?e():s,newPanel:o};t.preventDefault(),n&&!i.collapsible||this._trigger("beforeActivate",t,l)===!1||(i.active=r?!1:this.headers.index(s),this.active=n?e():s,this._toggle(l),a.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&a.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),n||(s.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),s.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,a=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=a,this.options.animate?this._animate(i,a,t):(a.hide(),i.show(),this._toggleComplete(t)),a.attr({"aria-expanded":"false","aria-hidden":"true"}),a.prev().attr("aria-selected","false"),i.length&&a.length?a.prev().attr("tabIndex",-1):i.length&&this.headers.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr({"aria-expanded":"true","aria-hidden":"false"}).prev().attr({"aria-selected":"true",tabIndex:0})},_animate:function(e,t,s){var n,r,o,h=this,l=0,u=e.length&&(!t.length||e.index()<t.index()),d=this.options.animate||{},c=u&&d.down||d,p=function(){h._toggleComplete(s)};return"number"==typeof c&&(o=c),"string"==typeof c&&(r=c),r=r||c.easing||d.easing,o=o||c.duration||d.duration,t.length?e.length?(n=e.show().outerHeight(),t.animate(i,{duration:o,easing:r,step:function(e,t){t.now=Math.round(e)}}),e.hide().animate(a,{duration:o,easing:r,complete:p,step:function(e,i){i.now=Math.round(e),"height"!==i.prop?l+=i.now:"content"!==h.options.heightStyle&&(i.now=Math.round(n-t.outerHeight()-l),l=0)}}),undefined):t.animate(i,o,r,p):e.animate(a,o,r,p)},_toggleComplete:function(e){var t=e.oldPanel;t.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),t.length&&(t.parent()[0].className=t.parent()[0].className),this._trigger("activate",null,e)}}),e.uiBackCompat!==!1&&(function(e,t){e.extend(t.options,{navigation:!1,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}});var i=t._create;t._create=function(){if(this.options.navigation){var t=this,a=this.element.find(this.options.header),s=a.next(),n=a.add(s).find("a").filter(this.options.navigationFilter)[0];n&&a.add(s).each(function(i){return e.contains(this,n)?(t.options.active=Math.floor(i/2),!1):undefined})}i.call(this)}}(jQuery,jQuery.ui.accordion.prototype),function(e,t){e.extend(t.options,{heightStyle:null,autoHeight:!0,clearStyle:!1,fillSpace:!1});var i=t._create,a=t._setOption;e.extend(t,{_create:function(){this.options.heightStyle=this.options.heightStyle||this._mergeHeightStyle(),i.call(this)},_setOption:function(e){("autoHeight"===e||"clearStyle"===e||"fillSpace"===e)&&(this.options.heightStyle=this._mergeHeightStyle()),a.apply(this,arguments)},_mergeHeightStyle:function(){var e=this.options;return e.fillSpace?"fill":e.clearStyle?"content":e.autoHeight?"auto":undefined}})}(jQuery,jQuery.ui.accordion.prototype),function(e,t){e.extend(t.options.icons,{activeHeader:null,headerSelected:"ui-icon-triangle-1-s"});var i=t._createIcons;t._createIcons=function(){this.options.icons&&(this.options.icons.activeHeader=this.options.icons.activeHeader||this.options.icons.headerSelected),i.call(this)}}(jQuery,jQuery.ui.accordion.prototype),function(e,t){t.activate=t._activate;var i=t._findActive;t._findActive=function(e){return-1===e&&(e=!1),e&&"number"!=typeof e&&(e=this.headers.index(this.headers.filter(e)),-1===e&&(e=!1)),i.call(this,e)}}(jQuery,jQuery.ui.accordion.prototype),jQuery.ui.accordion.prototype.resize=jQuery.ui.accordion.prototype.refresh,function(e,t){e.extend(t.options,{change:null,changestart:null});var i=t._trigger;t._trigger=function(e,t,a){var s=i.apply(this,arguments);return s?("beforeActivate"===e?s=i.call(this,"changestart",t,{oldHeader:a.oldHeader,oldContent:a.oldPanel,newHeader:a.newHeader,newContent:a.newPanel}):"activate"===e&&(s=i.call(this,"change",t,{oldHeader:a.oldHeader,oldContent:a.oldPanel,newHeader:a.newHeader,newContent:a.newPanel})),s):!1}}(jQuery,jQuery.ui.accordion.prototype),function(e,t){e.extend(t.options,{animate:null,animated:"slide"});var i=t._create;t._create=function(){var e=this.options;null===e.animate&&(e.animate=e.animated?"slide"===e.animated?300:"bounceslide"===e.animated?{duration:200,down:{easing:"easeOutBounce",duration:1e3}}:e.animated:!1),i.call(this)}}(jQuery,jQuery.ui.accordion.prototype))})(jQuery);(function(e){var t=0;e.widget("ui.autocomplete",{version:"1.9.2",defaultElement:"<input>",options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},pending:0,_create:function(){var t,i,a;this.isMultiLine=this._isMultiLine(),this.valueMethod=this.element[this.element.is("input,textarea")?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(s){if(this.element.prop("readOnly"))return t=!0,a=!0,i=!0,undefined;t=!1,a=!1,i=!1;var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:t=!0,this._move("previousPage",s);break;case n.PAGE_DOWN:t=!0,this._move("nextPage",s);break;case n.UP:t=!0,this._keyEvent("previous",s);break;case n.DOWN:t=!0,this._keyEvent("next",s);break;case n.ENTER:case n.NUMPAD_ENTER:this.menu.active&&(t=!0,s.preventDefault(),this.menu.select(s));break;case n.TAB:this.menu.active&&this.menu.select(s);break;case n.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(s),s.preventDefault());break;default:i=!0,this._searchTimeout(s)}},keypress:function(a){if(t)return t=!1,a.preventDefault(),undefined;if(!i){var s=e.ui.keyCode;switch(a.keyCode){case s.PAGE_UP:this._move("previousPage",a);break;case s.PAGE_DOWN:this._move("nextPage",a);break;case s.UP:this._keyEvent("previous",a);break;case s.DOWN:this._keyEvent("next",a)}}},input:function(e){return a?(a=!1,e.preventDefault(),undefined):(this._searchTimeout(e),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(e),this._change(e),undefined)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete").appendTo(this.document.find(this.options.appendTo||"body")[0]).menu({input:e(),role:null}).zIndex(this.element.zIndex()+1).hide().data("menu"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(a){a.target===t.element[0]||a.target===i||e.contains(i,a.target)||t.close()})})},menufocus:function(t,i){if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),undefined;var a=i.item.data("ui-autocomplete-item")||i.item.data("item.autocomplete");!1!==this._trigger("focus",t,{item:a})?t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(a.value):this.liveRegion.text(a.value)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item")||t.item.data("item.autocomplete"),a=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=a,this._delay(function(){this.previous=a,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("<span>",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertAfter(this.element),e.fn.bgiframe&&this.menu.element.bgiframe(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this.document.find(t||"body")[0]),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_isMultiLine:function(){return this.element.is("textarea")?!0:this.element.is("input")?!1:this.element.prop("isContentEditable")},_initSource:function(){var t,i,a=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,a){a(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,s){a.xhr&&a.xhr.abort(),a.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){s(e)},error:function(){s([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger("search",t)!==!1?this._search(e):undefined},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var e=this,i=++t;return function(a){i===t&&e.__response(a),e.pending--,e.pending||e.element.removeClass("ui-autocomplete-loading")}},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return"string"==typeof t?{label:t,value:t}:e.extend({label:t.label||t.value,value:t.value||t.label},t)})},_suggest:function(t){var i=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(i,t),this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var a=this;e.each(i,function(e,i){a._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").append(e("<a>").text(i.label)).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[e](t),undefined):(this.search(null,t),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var a=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return a.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var t;this._superApply(arguments),this.options.disabled||this.cancelSearch||(t=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.text(t))}})})(jQuery);(function(e){var t,i,a,s,n="ui-button ui-widget ui-state-default ui-corner-all",r="ui-state-hover ui-state-active ",o="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",h=function(){var t=e(this).find(":ui-button");setTimeout(function(){t.button("refresh")},1)},l=function(t){var i=t.name,a=t.form,s=e([]);return i&&(s=a?e(a).find("[name='"+i+"']"):e("[name='"+i+"']",t.ownerDocument).filter(function(){return!this.form})),s};e.widget("ui.button",{version:"1.9.2",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,h),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var r=this,o=this.options,u="checkbox"===this.type||"radio"===this.type,d=u?"":"ui-state-active",c="ui-state-focus";null===o.label&&(o.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(n).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){o.disabled||this===t&&e(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){o.disabled||e(this).removeClass(d)}).bind("click"+this.eventNamespace,function(e){o.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}),this.element.bind("focus"+this.eventNamespace,function(){r.buttonElement.addClass(c)}).bind("blur"+this.eventNamespace,function(){r.buttonElement.removeClass(c)}),u&&(this.element.bind("change"+this.eventNamespace,function(){s||r.refresh()}),this.buttonElement.bind("mousedown"+this.eventNamespace,function(e){o.disabled||(s=!1,i=e.pageX,a=e.pageY)}).bind("mouseup"+this.eventNamespace,function(e){o.disabled||(i!==e.pageX||a!==e.pageY)&&(s=!0)})),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return o.disabled||s?!1:(e(this).toggleClass("ui-state-active"),r.buttonElement.attr("aria-pressed",r.element[0].checked),undefined)}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(o.disabled||s)return!1;e(this).addClass("ui-state-active"),r.buttonElement.attr("aria-pressed","true");var t=r.element[0];l(t).not(t).map(function(){return e(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return o.disabled?!1:(e(this).addClass("ui-state-active"),t=this,r.document.one("mouseup",function(){t=null}),undefined)}).bind("mouseup"+this.eventNamespace,function(){return o.disabled?!1:(e(this).removeClass("ui-state-active"),undefined)}).bind("keydown"+this.eventNamespace,function(t){return o.disabled?!1:((t.keyCode===e.ui.keyCode.SPACE||t.keyCode===e.ui.keyCode.ENTER)&&e(this).addClass("ui-state-active"),undefined)}).bind("keyup"+this.eventNamespace,function(){e(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(t){t.keyCode===e.ui.keyCode.SPACE&&e(this).click()})),this._setOption("disabled",o.disabled),this._resetButton()},_determineButtonType:function(){var e,t,i;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(e=this.element.parents().last(),t="label[for='"+this.element.attr("id")+"']",this.buttonElement=e.find(t),this.buttonElement.length||(e=e.length?e.siblings():this.element.siblings(),this.buttonElement=e.filter(t),this.buttonElement.length||(this.buttonElement=e.find(t))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(n+" "+r+" "+o).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(e,t){return this._super(e,t),"disabled"===e?(t?this.element.prop("disabled",!0):this.element.prop("disabled",!1),undefined):(this._resetButton(),undefined)},refresh:function(){var t=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOption("disabled",t),"radio"===this.type?l(this.element[0]).each(function(){e(this).is(":checked")?e(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return this.options.label&&this.element.val(this.options.label),undefined;var t=this.buttonElement.removeClass(o),i=e("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(t.empty()).text(),a=this.options.icons,s=a.primary&&a.secondary,n=[];a.primary||a.secondary?(this.options.text&&n.push("ui-button-text-icon"+(s?"s":a.primary?"-primary":"-secondary")),a.primary&&t.prepend("<span class='ui-button-icon-primary ui-icon "+a.primary+"'></span>"),a.secondary&&t.append("<span class='ui-button-icon-secondary ui-icon "+a.secondary+"'></span>"),this.options.text||(n.push(s?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||t.attr("title",e.trim(i)))):n.push("ui-button-text-only"),t.addClass(n.join(" "))}}),e.widget("ui.buttonset",{version:"1.9.2",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(e,t){"disabled"===e&&this.buttons.button("option",e,t),this._super(e,t)},refresh:function(){var t="rtl"===this.element.css("direction");this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(t?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}})})(jQuery);(function($,undefined){function Datepicker(){this.debug=!1,this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},$.extend(this._defaults,this.regional[""]),this.dpDiv=bindHover($('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function bindHover(e){var t="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.delegate(t,"mouseout",function(){$(this).removeClass("ui-state-hover"),-1!=this.className.indexOf("ui-datepicker-prev")&&$(this).removeClass("ui-datepicker-prev-hover"),-1!=this.className.indexOf("ui-datepicker-next")&&$(this).removeClass("ui-datepicker-next-hover")}).delegate(t,"mouseover",function(){$.datepicker._isDisabledDatepicker(instActive.inline?e.parent()[0]:instActive.input[0])||($(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),$(this).addClass("ui-state-hover"),-1!=this.className.indexOf("ui-datepicker-prev")&&$(this).addClass("ui-datepicker-prev-hover"),-1!=this.className.indexOf("ui-datepicker-next")&&$(this).addClass("ui-datepicker-next-hover"))})}function extendRemove(e,t){$.extend(e,t);for(var i in t)(null==t[i]||t[i]==undefined)&&(e[i]=t[i]);return e}$.extend($.ui,{datepicker:{version:"1.9.2"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return extendRemove(this._defaults,e||{}),this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline="div"==nodeName||"span"==nodeName;target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),"input"==nodeName?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(e,t){var i=e[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:i,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:t,dpDiv:t?bindHover($('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')):this.dpDiv}},_connectDatepicker:function(e,t){var i=$(e);t.append=$([]),t.trigger=$([]),i.hasClass(this.markerClassName)||(this._attachments(i,t),i.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,i,a){t.settings[i]=a}).bind("getData.datepicker",function(e,i){return this._get(t,i)}),this._autoSize(t),$.data(e,PROP_NAME,t),t.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,t){var i=this._get(t,"appendText"),a=this._get(t,"isRTL");t.append&&t.append.remove(),i&&(t.append=$('<span class="'+this._appendClass+'">'+i+"</span>"),e[a?"before":"after"](t.append)),e.unbind("focus",this._showDatepicker),t.trigger&&t.trigger.remove();var s=this._get(t,"showOn");if(("focus"==s||"both"==s)&&e.focus(this._showDatepicker),"button"==s||"both"==s){var n=this._get(t,"buttonText"),r=this._get(t,"buttonImage");t.trigger=$(this._get(t,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:r,alt:n,title:n}):$('<button type="button"></button>').addClass(this._triggerClass).html(""==r?n:$("<img/>").attr({src:r,alt:n,title:n}))),e[a?"before":"after"](t.trigger),t.trigger.click(function(){return $.datepicker._datepickerShowing&&$.datepicker._lastInput==e[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=e[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(e[0])):$.datepicker._showDatepicker(e[0]),!1})}},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t=new Date(2009,11,20),i=this._get(e,"dateFormat");if(i.match(/[DM]/)){var a=function(e){for(var t=0,i=0,a=0;e.length>a;a++)e[a].length>t&&(t=e[a].length,i=a);return i};t.setMonth(a(this._get(e,i.match(/MM/)?"monthNames":"monthNamesShort"))),t.setDate(a(this._get(e,i.match(/DD/)?"dayNames":"dayNamesShort"))+20-t.getDay())}e.input.attr("size",this._formatDate(e,t).length)}},_inlineDatepicker:function(e,t){var i=$(e);i.hasClass(this.markerClassName)||(i.addClass(this.markerClassName).append(t.dpDiv).bind("setData.datepicker",function(e,i,a){t.settings[i]=a}).bind("getData.datepicker",function(e,i){return this._get(t,i)}),$.data(e,PROP_NAME,t),this._setDate(t,this._getDefaultDate(t),!0),this._updateDatepicker(t),this._updateAlternate(t),t.settings.disabled&&this._disableDatepicker(e),t.dpDiv.css("display","block"))},_dialogDatepicker:function(e,t,i,a,s){var n=this._dialogInst;if(!n){this.uuid+=1;var r="dp"+this.uuid;this._dialogInput=$('<input type="text" id="'+r+'" style="position: absolute; top: -100px; width: 0px;"/>'),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),n=this._dialogInst=this._newInst(this._dialogInput,!1),n.settings={},$.data(this._dialogInput[0],PROP_NAME,n)}if(extendRemove(n.settings,a||{}),t=t&&t.constructor==Date?this._formatDate(n,t):t,this._dialogInput.val(t),this._pos=s?s.length?s:[s.pageX,s.pageY]:null,!this._pos){var o=document.documentElement.clientWidth,h=document.documentElement.clientHeight,l=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[o/2-100+l,h/2-150+u]}return this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),n.settings.onSelect=i,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,n),this},_destroyDatepicker:function(e){var t=$(e),i=$.data(e,PROP_NAME);if(t.hasClass(this.markerClassName)){var a=e.nodeName.toLowerCase();$.removeData(e,PROP_NAME),"input"==a?(i.append.remove(),i.trigger.remove(),t.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"==a||"span"==a)&&t.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(e){var t=$(e),i=$.data(e,PROP_NAME);if(t.hasClass(this.markerClassName)){var a=e.nodeName.toLowerCase();if("input"==a)e.disabled=!1,i.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if("div"==a||"span"==a){var s=t.children("."+this._inlineClass);s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)}this._disabledInputs=$.map(this._disabledInputs,function(t){return t==e?null:t})}},_disableDatepicker:function(e){var t=$(e),i=$.data(e,PROP_NAME);if(t.hasClass(this.markerClassName)){var a=e.nodeName.toLowerCase();if("input"==a)e.disabled=!0,i.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if("div"==a||"span"==a){var s=t.children("."+this._inlineClass);s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)}this._disabledInputs=$.map(this._disabledInputs,function(t){return t==e?null:t}),this._disabledInputs[this._disabledInputs.length]=e}},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]==e)return!0;return!1},_getInst:function(e){try{return $.data(e,PROP_NAME)}catch(t){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,t,i){var a=this._getInst(e);if(2==arguments.length&&"string"==typeof t)return"defaults"==t?$.extend({},$.datepicker._defaults):a?"all"==t?$.extend({},a.settings):this._get(a,t):null;var s=t||{};if("string"==typeof t&&(s={},s[t]=i),a){this._curInst==a&&this._hideDatepicker();var n=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");extendRemove(a.settings,s),null!==r&&s.dateFormat!==undefined&&s.minDate===undefined&&(a.settings.minDate=this._formatDate(a,r)),null!==o&&s.dateFormat!==undefined&&s.maxDate===undefined&&(a.settings.maxDate=this._formatDate(a,o)),this._attachments($(e),a),this._autoSize(a),this._setDate(a,n),this._updateAlternate(a),this._updateDatepicker(a)}},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i=this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(e){var t=$.datepicker._getInst(e.target),i=!0,a=t.dpDiv.is(".ui-datepicker-rtl");if(t._keyEvent=!0,$.datepicker._datepickerShowing)switch(e.keyCode){case 9:$.datepicker._hideDatepicker(),i=!1;break;case 13:var s=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",t.dpDiv);s[0]&&$.datepicker._selectDay(e.target,t.selectedMonth,t.selectedYear,s[0]);var n=$.datepicker._get(t,"onSelect");if(n){var r=$.datepicker._formatDate(t);n.apply(t.input?t.input[0]:null,[r,t])}else $.datepicker._hideDatepicker();return!1;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(e.target,e.ctrlKey?-$.datepicker._get(t,"stepBigMonths"):-$.datepicker._get(t,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(e.target,e.ctrlKey?+$.datepicker._get(t,"stepBigMonths"):+$.datepicker._get(t,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&$.datepicker._clearDate(e.target),i=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&$.datepicker._gotoToday(e.target),i=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&$.datepicker._adjustDate(e.target,a?1:-1,"D"),i=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&$.datepicker._adjustDate(e.target,e.ctrlKey?-$.datepicker._get(t,"stepBigMonths"):-$.datepicker._get(t,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&$.datepicker._adjustDate(e.target,-7,"D"),i=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&$.datepicker._adjustDate(e.target,a?-1:1,"D"),i=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&$.datepicker._adjustDate(e.target,e.ctrlKey?+$.datepicker._get(t,"stepBigMonths"):+$.datepicker._get(t,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&$.datepicker._adjustDate(e.target,7,"D"),i=e.ctrlKey||e.metaKey;break;default:i=!1}else 36==e.keyCode&&e.ctrlKey?$.datepicker._showDatepicker(this):i=!1;i&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var t=$.datepicker._getInst(e.target);if($.datepicker._get(t,"constrainInput")){var i=$.datepicker._possibleChars($.datepicker._get(t,"dateFormat")),a=String.fromCharCode(e.charCode==undefined?e.keyCode:e.charCode);return e.ctrlKey||e.metaKey||" ">a||!i||i.indexOf(a)>-1}},_doKeyUp:function(e){var t=$.datepicker._getInst(e.target);if(t.input.val()!=t.lastVal)try{var i=$.datepicker.parseDate($.datepicker._get(t,"dateFormat"),t.input?t.input.val():null,$.datepicker._getFormatConfig(t));i&&($.datepicker._setDateFromField(t),$.datepicker._updateAlternate(t),$.datepicker._updateDatepicker(t))}catch(a){$.datepicker.log(a)}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!=e.nodeName.toLowerCase()&&(e=$("input",e.parentNode)[0]),!$.datepicker._isDisabledDatepicker(e)&&$.datepicker._lastInput!=e){var t=$.datepicker._getInst(e);$.datepicker._curInst&&$.datepicker._curInst!=t&&($.datepicker._curInst.dpDiv.stop(!0,!0),t&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var i=$.datepicker._get(t,"beforeShow"),a=i?i.apply(e,[e,t]):{};if(a!==!1){extendRemove(t.settings,a),t.lastVal=null,$.datepicker._lastInput=e,$.datepicker._setDateFromField(t),$.datepicker._inDialog&&(e.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(e),$.datepicker._pos[1]+=e.offsetHeight);var s=!1;$(e).parents().each(function(){return s|="fixed"==$(this).css("position"),!s});var n={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};if($.datepicker._pos=null,t.dpDiv.empty(),t.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(t),n=$.datepicker._checkOffset(t,n,s),t.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":s?"fixed":"absolute",display:"none",left:n.left+"px",top:n.top+"px"}),!t.inline){var r=$.datepicker._get(t,"showAnim"),o=$.datepicker._get(t,"duration"),h=function(){var e=t.dpDiv.find("iframe.ui-datepicker-cover");if(e.length){var i=$.datepicker._getBorders(t.dpDiv);e.css({left:-i[0],top:-i[1],width:t.dpDiv.outerWidth(),height:t.dpDiv.outerHeight()})}};t.dpDiv.zIndex($(e).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&($.effects.effect[r]||$.effects[r])?t.dpDiv.show(r,$.datepicker._get(t,"showOptions"),o,h):t.dpDiv[r||"show"](r?o:null,h),r&&o||h(),t.input.is(":visible")&&!t.input.is(":disabled")&&t.input.focus(),$.datepicker._curInst=t}}}},_updateDatepicker:function(e){this.maxRows=4;var t=$.datepicker._getBorders(e.dpDiv);instActive=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i=e.dpDiv.find("iframe.ui-datepicker-cover");i.length&&i.css({left:-t[0],top:-t[1],width:e.dpDiv.outerWidth(),height:e.dpDiv.outerHeight()}),e.dpDiv.find("."+this._dayOverClass+" a").mouseover();var a=this._getNumberOfMonths(e),s=a[1],n=17;if(e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),s>1&&e.dpDiv.addClass("ui-datepicker-multi-"+s).css("width",n*s+"em"),e.dpDiv[(1!=a[0]||1!=a[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e==$.datepicker._curInst&&$.datepicker._datepickerShowing&&e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&e.input[0]!=document.activeElement&&e.input.focus(),e.yearshtml){var r=e.yearshtml;setTimeout(function(){r===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),r=e.yearshtml=null},0)}},_getBorders:function(e){var t=function(e){return{thin:1,medium:2,thick:3}[e]||e};return[parseFloat(t(e.css("border-left-width"))),parseFloat(t(e.css("border-top-width")))]},_checkOffset:function(e,t,i){var a=e.dpDiv.outerWidth(),s=e.dpDiv.outerHeight(),n=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,o=document.documentElement.clientWidth+(i?0:$(document).scrollLeft()),h=document.documentElement.clientHeight+(i?0:$(document).scrollTop());return t.left-=this._get(e,"isRTL")?a-n:0,t.left-=i&&t.left==e.input.offset().left?$(document).scrollLeft():0,t.top-=i&&t.top==e.input.offset().top+r?$(document).scrollTop():0,t.left-=Math.min(t.left,t.left+a>o&&o>a?Math.abs(t.left+a-o):0),t.top-=Math.min(t.top,t.top+s>h&&h>s?Math.abs(s+r):0),t},_findPos:function(e){for(var t=this._getInst(e),i=this._get(t,"isRTL");e&&("hidden"==e.type||1!=e.nodeType||$.expr.filters.hidden(e));)e=e[i?"previousSibling":"nextSibling"];var a=$(e).offset();return[a.left,a.top]},_hideDatepicker:function(e){var t=this._curInst;if(t&&(!e||t==$.data(e,PROP_NAME))&&this._datepickerShowing){var i=this._get(t,"showAnim"),a=this._get(t,"duration"),s=function(){$.datepicker._tidyDialog(t)};$.effects&&($.effects.effect[i]||$.effects[i])?t.dpDiv.hide(i,$.datepicker._get(t,"showOptions"),a,s):t.dpDiv["slideDown"==i?"slideUp":"fadeIn"==i?"fadeOut":"hide"](i?a:null,s),i||s(),this._datepickerShowing=!1;var n=this._get(t,"onClose");n&&n.apply(t.input?t.input[0]:null,[t.input?t.input.val():"",t]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(e){if($.datepicker._curInst){var t=$(e.target),i=$.datepicker._getInst(t[0]);(t[0].id!=$.datepicker._mainDivId&&0==t.parents("#"+$.datepicker._mainDivId).length&&!t.hasClass($.datepicker.markerClassName)&&!t.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||t.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=i)&&$.datepicker._hideDatepicker()}},_adjustDate:function(e,t,i){var a=$(e),s=this._getInst(a[0]);this._isDisabledDatepicker(a[0])||(this._adjustInstDate(s,t+("M"==i?this._get(s,"showCurrentAtPos"):0),i),this._updateDatepicker(s))},_gotoToday:function(e){var t=$(e),i=this._getInst(t[0]);if(this._get(i,"gotoCurrent")&&i.currentDay)i.selectedDay=i.currentDay,i.drawMonth=i.selectedMonth=i.currentMonth,i.drawYear=i.selectedYear=i.currentYear;else{var a=new Date;i.selectedDay=a.getDate(),i.drawMonth=i.selectedMonth=a.getMonth(),i.drawYear=i.selectedYear=a.getFullYear()}this._notifyChange(i),this._adjustDate(t)},_selectMonthYear:function(e,t,i){var a=$(e),s=this._getInst(a[0]);s["selected"+("M"==i?"Month":"Year")]=s["draw"+("M"==i?"Month":"Year")]=parseInt(t.options[t.selectedIndex].value,10),this._notifyChange(s),this._adjustDate(a)},_selectDay:function(e,t,i,a){var s=$(e);if(!$(a).hasClass(this._unselectableClass)&&!this._isDisabledDatepicker(s[0])){var n=this._getInst(s[0]);n.selectedDay=n.currentDay=$("a",a).html(),n.selectedMonth=n.currentMonth=t,n.selectedYear=n.currentYear=i,this._selectDate(e,this._formatDate(n,n.currentDay,n.currentMonth,n.currentYear))}},_clearDate:function(e){var t=$(e);this._getInst(t[0]),this._selectDate(t,"")},_selectDate:function(e,t){var i=$(e),a=this._getInst(i[0]);t=null!=t?t:this._formatDate(a),a.input&&a.input.val(t),this._updateAlternate(a);var s=this._get(a,"onSelect");s?s.apply(a.input?a.input[0]:null,[t,a]):a.input&&a.input.trigger("change"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],"object"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(e){var t=this._get(e,"altField");if(t){var i=this._get(e,"altFormat")||this._get(e,"dateFormat"),a=this._getDate(e),s=this.formatDate(i,a,this._getFormatConfig(e));$(t).each(function(){$(this).val(s)})}},noWeekends:function(e){var t=e.getDay();return[t>0&&6>t,""]},iso8601Week:function(e){var t=new Date(e.getTime());t.setDate(t.getDate()+4-(t.getDay()||7));var i=t.getTime();return t.setMonth(0),t.setDate(1),Math.floor(Math.round((i-t)/864e5)/7)+1},parseDate:function(e,t,i){if(null==e||null==t)throw"Invalid arguments";if(t="object"==typeof t?""+t:t+"",""==t)return null;var a=(i?i.shortYearCutoff:null)||this._defaults.shortYearCutoff;a="string"!=typeof a?a:(new Date).getFullYear()%100+parseInt(a,10);for(var s=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,n=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,o=(i?i.monthNames:null)||this._defaults.monthNames,h=-1,l=-1,u=-1,d=-1,c=!1,p=function(t){var i=e.length>y+1&&e.charAt(y+1)==t;return i&&y++,i},m=function(e){var i=p(e),a="@"==e?14:"!"==e?20:"y"==e&&i?4:"o"==e?3:2,s=RegExp("^\\d{1,"+a+"}"),n=t.substring(v).match(s);if(!n)throw"Missing number at position "+v;return v+=n[0].length,parseInt(n[0],10)},f=function(e,i,a){var s=$.map(p(e)?a:i,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)}),n=-1;if($.each(s,function(e,i){var a=i[1];return t.substr(v,a.length).toLowerCase()==a.toLowerCase()?(n=i[0],v+=a.length,!1):undefined}),-1!=n)return n+1;throw"Unknown name at position "+v},g=function(){if(t.charAt(v)!=e.charAt(y))throw"Unexpected literal at position "+v;v++},v=0,y=0;e.length>y;y++)if(c)"'"!=e.charAt(y)||p("'")?g():c=!1;else switch(e.charAt(y)){case"d":u=m("d");break;case"D":f("D",s,n);break;case"o":d=m("o");break;case"m":l=m("m");break;case"M":l=f("M",r,o);break;case"y":h=m("y");break;case"@":var b=new Date(m("@"));h=b.getFullYear(),l=b.getMonth()+1,u=b.getDate();break;case"!":var b=new Date((m("!")-this._ticksTo1970)/1e4);h=b.getFullYear(),l=b.getMonth()+1,u=b.getDate();break;case"'":p("'")?g():c=!0;break;default:g()}if(t.length>v){var _=t.substr(v);if(!/^\s+/.test(_))throw"Extra/unparsed characters found in date: "+_}if(-1==h?h=(new Date).getFullYear():100>h&&(h+=(new Date).getFullYear()-(new Date).getFullYear()%100+(a>=h?0:-100)),d>-1)for(l=1,u=d;;){var k=this._getDaysInMonth(h,l-1);if(k>=u)break;l++,u-=k}var b=this._daylightSavingAdjust(new Date(h,l-1,u));if(b.getFullYear()!=h||b.getMonth()+1!=l||b.getDate()!=u)throw"Invalid date";return b},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return"";var a=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,s=(i?i.dayNames:null)||this._defaults.dayNames,n=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,o=function(t){var i=e.length>c+1&&e.charAt(c+1)==t;return i&&c++,i},h=function(e,t,i){var a=""+t;if(o(e))for(;i>a.length;)a="0"+a;return a},l=function(e,t,i,a){return o(e)?a[t]:i[t]},u="",d=!1;if(t)for(var c=0;e.length>c;c++)if(d)"'"!=e.charAt(c)||o("'")?u+=e.charAt(c):d=!1;else switch(e.charAt(c)){case"d":u+=h("d",t.getDate(),2);break;case"D":u+=l("D",t.getDay(),a,s);break;case"o":u+=h("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=h("m",t.getMonth()+1,2);break;case"M":u+=l("M",t.getMonth(),n,r);break;case"y":u+=o("y")?t.getFullYear():(10>t.getYear()%100?"0":"")+t.getYear()%100;break;case"@":u+=t.getTime();break;case"!":u+=1e4*t.getTime()+this._ticksTo1970;break;case"'":o("'")?u+="'":d=!0;break;default:u+=e.charAt(c)}return u},_possibleChars:function(e){for(var t="",i=!1,a=function(t){var i=e.length>s+1&&e.charAt(s+1)==t;return i&&s++,i},s=0;e.length>s;s++)if(i)"'"!=e.charAt(s)||a("'")?t+=e.charAt(s):i=!1;else switch(e.charAt(s)){case"d":case"m":case"y":case"@":t+="0123456789";break;case"D":case"M":return null;case"'":a("'")?t+="'":i=!0;break;default:t+=e.charAt(s)}return t},_get:function(e,t){return e.settings[t]!==undefined?e.settings[t]:this._defaults[t]},_setDateFromField:function(e,t){if(e.input.val()!=e.lastVal){var i,a,s=this._get(e,"dateFormat"),n=e.lastVal=e.input?e.input.val():null;i=a=this._getDefaultDate(e);var r=this._getFormatConfig(e);try{i=this.parseDate(s,n,r)||a}catch(o){this.log(o),n=t?"":n}e.selectedDay=i.getDate(),e.drawMonth=e.selectedMonth=i.getMonth(),e.drawYear=e.selectedYear=i.getFullYear(),e.currentDay=n?i.getDate():0,e.currentMonth=n?i.getMonth():0,e.currentYear=n?i.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(e,t,i){var a=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},s=function(t){try{return $.datepicker.parseDate($.datepicker._get(e,"dateFormat"),t,$.datepicker._getFormatConfig(e))}catch(i){}for(var a=(t.toLowerCase().match(/^c/)?$.datepicker._getDate(e):null)||new Date,s=a.getFullYear(),n=a.getMonth(),r=a.getDate(),o=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,h=o.exec(t);h;){switch(h[2]||"d"){case"d":case"D":r+=parseInt(h[1],10);break;case"w":case"W":r+=7*parseInt(h[1],10);break;case"m":case"M":n+=parseInt(h[1],10),r=Math.min(r,$.datepicker._getDaysInMonth(s,n));break;case"y":case"Y":s+=parseInt(h[1],10),r=Math.min(r,$.datepicker._getDaysInMonth(s,n))}h=o.exec(t)}return new Date(s,n,r)},n=null==t||""===t?i:"string"==typeof t?s(t):"number"==typeof t?isNaN(t)?i:a(t):new Date(t.getTime());return n=n&&"Invalid Date"==""+n?i:n,n&&(n.setHours(0),n.setMinutes(0),n.setSeconds(0),n.setMilliseconds(0)),this._daylightSavingAdjust(n)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var a=!t,s=e.selectedMonth,n=e.selectedYear,r=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=r.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=r.getMonth(),e.drawYear=e.selectedYear=e.currentYear=r.getFullYear(),s==e.selectedMonth&&n==e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(a?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&""==e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(e){var t=this._get(e,"stepMonths"),i="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){window["DP_jQuery_"+dpuuid].datepicker._adjustDate(i,-t,"M")},next:function(){window["DP_jQuery_"+dpuuid].datepicker._adjustDate(i,+t,"M")},hide:function(){window["DP_jQuery_"+dpuuid].datepicker._hideDatepicker()},today:function(){window["DP_jQuery_"+dpuuid].datepicker._gotoToday(i)},selectDay:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectDay(i,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectMonthYear(i,this,"M"),!1},selectYear:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectMonthYear(i,this,"Y"),!1}};$(this).bind(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t=new Date;t=this._daylightSavingAdjust(new Date(t.getFullYear(),t.getMonth(),t.getDate()));var i=this._get(e,"isRTL"),a=this._get(e,"showButtonPanel"),s=this._get(e,"hideIfNoPrevNext"),n=this._get(e,"navigationAsDateFormat"),r=this._getNumberOfMonths(e),o=this._get(e,"showCurrentAtPos"),h=this._get(e,"stepMonths"),l=1!=r[0]||1!=r[1],u=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),d=this._getMinMaxDate(e,"min"),c=this._getMinMaxDate(e,"max"),p=e.drawMonth-o,m=e.drawYear;if(0>p&&(p+=12,m--),c){var f=this._daylightSavingAdjust(new Date(c.getFullYear(),c.getMonth()-r[0]*r[1]+1,c.getDate()));for(f=d&&d>f?d:f;this._daylightSavingAdjust(new Date(m,p,1))>f;)p--,0>p&&(p=11,m--)}e.drawMonth=p,e.drawYear=m;var g=this._get(e,"prevText");g=n?this.formatDate(g,this._daylightSavingAdjust(new Date(m,p-h,1)),this._getFormatConfig(e)):g;var v=this._canAdjustMonth(e,-1,m,p)?'<a class="ui-datepicker-prev ui-corner-all" data-handler="prev" data-event="click" title="'+g+'"><span class="ui-icon ui-icon-circle-triangle-'+(i?"e":"w")+'">'+g+"</span></a>":s?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+g+'"><span class="ui-icon ui-icon-circle-triangle-'+(i?"e":"w")+'">'+g+"</span></a>",y=this._get(e,"nextText");y=n?this.formatDate(y,this._daylightSavingAdjust(new Date(m,p+h,1)),this._getFormatConfig(e)):y;var b=this._canAdjustMonth(e,1,m,p)?'<a class="ui-datepicker-next ui-corner-all" data-handler="next" data-event="click" title="'+y+'"><span class="ui-icon ui-icon-circle-triangle-'+(i?"w":"e")+'">'+y+"</span></a>":s?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+y+'"><span class="ui-icon ui-icon-circle-triangle-'+(i?"w":"e")+'">'+y+"</span></a>",_=this._get(e,"currentText"),k=this._get(e,"gotoCurrent")&&e.currentDay?u:t;_=n?this.formatDate(_,k,this._getFormatConfig(e)):_;var x=e.inline?"":'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" data-handler="hide" data-event="click">'+this._get(e,"closeText")+"</button>",D=a?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(i?x:"")+(this._isInRange(e,k)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" data-handler="today" data-event="click">'+_+"</button>":"")+(i?"":x)+"</div>":"",w=parseInt(this._get(e,"firstDay"),10);w=isNaN(w)?0:w;var T=this._get(e,"showWeek"),S=this._get(e,"dayNames");this._get(e,"dayNamesShort");var M=this._get(e,"dayNamesMin"),N=this._get(e,"monthNames"),C=this._get(e,"monthNamesShort"),A=this._get(e,"beforeShowDay"),P=this._get(e,"showOtherMonths"),j=this._get(e,"selectOtherMonths");this._get(e,"calculateWeek")||this.iso8601Week;for(var I=this._getDefaultDate(e),F="",H=0;r[0]>H;H++){var E="";this.maxRows=4;for(var z=0;r[1]>z;z++){var L=this._daylightSavingAdjust(new Date(m,p,e.selectedDay)),O=" ui-corner-all",R="";if(l){if(R+='<div class="ui-datepicker-group',r[1]>1)switch(z){case 0:R+=" ui-datepicker-group-first",O=" ui-corner-"+(i?"right":"left");break;case r[1]-1:R+=" ui-datepicker-group-last",O=" ui-corner-"+(i?"left":"right");break;default:R+=" ui-datepicker-group-middle",O=""}R+='">'}R+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+O+'">'+(/all|left/.test(O)&&0==H?i?b:v:"")+(/all|right/.test(O)&&0==H?i?v:b:"")+this._generateMonthYearHeader(e,p,m,d,c,H>0||z>0,N,C)+'</div><table class="ui-datepicker-calendar"><thead>'+"<tr>";for(var W=T?'<th class="ui-datepicker-week-col">'+this._get(e,"weekHeader")+"</th>":"",Y=0;7>Y;Y++){var J=(Y+w)%7;W+="<th"+((Y+w+6)%7>=5?' class="ui-datepicker-week-end"':"")+">"+'<span title="'+S[J]+'">'+M[J]+"</span></th>"}R+=W+"</tr></thead><tbody>";var Q=this._getDaysInMonth(m,p);m==e.selectedYear&&p==e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,Q));var B=(this._getFirstDayOfMonth(m,p)-w+7)%7,K=Math.ceil((B+Q)/7),V=l?this.maxRows>K?this.maxRows:K:K;this.maxRows=V;for(var U=this._daylightSavingAdjust(new Date(m,p,1-B)),G=0;V>G;G++){R+="<tr>";for(var q=T?'<td class="ui-datepicker-week-col">'+this._get(e,"calculateWeek")(U)+"</td>":"",Y=0;7>Y;Y++){var X=A?A.apply(e.input?e.input[0]:null,[U]):[!0,""],Z=U.getMonth()!=p,et=Z&&!j||!X[0]||d&&d>U||c&&U>c;q+='<td class="'+((Y+w+6)%7>=5?" ui-datepicker-week-end":"")+(Z?" ui-datepicker-other-month":"")+(U.getTime()==L.getTime()&&p==e.selectedMonth&&e._keyEvent||I.getTime()==U.getTime()&&I.getTime()==L.getTime()?" "+this._dayOverClass:"")+(et?" "+this._unselectableClass+" ui-state-disabled":"")+(Z&&!P?"":" "+X[1]+(U.getTime()==u.getTime()?" "+this._currentClass:"")+(U.getTime()==t.getTime()?" ui-datepicker-today":""))+'"'+(Z&&!P||!X[2]?"":' title="'+X[2]+'"')+(et?"":' data-handler="selectDay" data-event="click" data-month="'+U.getMonth()+'" data-year="'+U.getFullYear()+'"')+">"+(Z&&!P?"&#xa0;":et?'<span class="ui-state-default">'+U.getDate()+"</span>":'<a class="ui-state-default'+(U.getTime()==t.getTime()?" ui-state-highlight":"")+(U.getTime()==u.getTime()?" ui-state-active":"")+(Z?" ui-priority-secondary":"")+'" href="#">'+U.getDate()+"</a>")+"</td>",U.setDate(U.getDate()+1),U=this._daylightSavingAdjust(U)
+}R+=q+"</tr>"}p++,p>11&&(p=0,m++),R+="</tbody></table>"+(l?"</div>"+(r[0]>0&&z==r[1]-1?'<div class="ui-datepicker-row-break"></div>':""):""),E+=R}F+=E}return F+=D+($.ui.ie6&&!e.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':""),e._keyEvent=!1,F},_generateMonthYearHeader:function(e,t,i,a,s,n,r,o){var h=this._get(e,"changeMonth"),l=this._get(e,"changeYear"),u=this._get(e,"showMonthAfterYear"),d='<div class="ui-datepicker-title">',c="";if(n||!h)c+='<span class="ui-datepicker-month">'+r[t]+"</span>";else{var p=a&&a.getFullYear()==i,m=s&&s.getFullYear()==i;c+='<select class="ui-datepicker-month" data-handler="selectMonth" data-event="change">';for(var f=0;12>f;f++)(!p||f>=a.getMonth())&&(!m||s.getMonth()>=f)&&(c+='<option value="'+f+'"'+(f==t?' selected="selected"':"")+">"+o[f]+"</option>");c+="</select>"}if(u||(d+=c+(!n&&h&&l?"":"&#xa0;")),!e.yearshtml)if(e.yearshtml="",n||!l)d+='<span class="ui-datepicker-year">'+i+"</span>";else{var g=this._get(e,"yearRange").split(":"),v=(new Date).getFullYear(),y=function(e){var t=e.match(/c[+-].*/)?i+parseInt(e.substring(1),10):e.match(/[+-].*/)?v+parseInt(e,10):parseInt(e,10);return isNaN(t)?v:t},b=y(g[0]),_=Math.max(b,y(g[1]||""));for(b=a?Math.max(b,a.getFullYear()):b,_=s?Math.min(_,s.getFullYear()):_,e.yearshtml+='<select class="ui-datepicker-year" data-handler="selectYear" data-event="change">';_>=b;b++)e.yearshtml+='<option value="'+b+'"'+(b==i?' selected="selected"':"")+">"+b+"</option>";e.yearshtml+="</select>",d+=e.yearshtml,e.yearshtml=null}return d+=this._get(e,"yearSuffix"),u&&(d+=(!n&&h&&l?"":"&#xa0;")+c),d+="</div>"},_adjustInstDate:function(e,t,i){var a=e.drawYear+("Y"==i?t:0),s=e.drawMonth+("M"==i?t:0),n=Math.min(e.selectedDay,this._getDaysInMonth(a,s))+("D"==i?t:0),r=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(a,s,n)));e.selectedDay=r.getDate(),e.drawMonth=e.selectedMonth=r.getMonth(),e.drawYear=e.selectedYear=r.getFullYear(),("M"==i||"Y"==i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,"min"),a=this._getMinMaxDate(e,"max"),s=i&&i>t?i:t;return s=a&&s>a?a:s},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,a){var s=this._getNumberOfMonths(e),n=this._daylightSavingAdjust(new Date(i,a+(0>t?t:s[0]*s[1]),1));return 0>t&&n.setDate(this._getDaysInMonth(n.getFullYear(),n.getMonth())),this._isInRange(e,n)},_isInRange:function(e,t){var i=this._getMinMaxDate(e,"min"),a=this._getMinMaxDate(e,"max");return(!i||t.getTime()>=i.getTime())&&(!a||t.getTime()<=a.getTime())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,i,a){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var s=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(a,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),s,this._getFormatConfig(e))}}),$.fn.datepicker=function(e){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find(document.body).append($.datepicker.dpDiv),$.datepicker.initialized=!0);var t=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!=e&&"getDate"!=e&&"widget"!=e?"option"==e&&2==arguments.length&&"string"==typeof arguments[1]?$.datepicker["_"+e+"Datepicker"].apply($.datepicker,[this[0]].concat(t)):this.each(function(){"string"==typeof e?$.datepicker["_"+e+"Datepicker"].apply($.datepicker,[this].concat(t)):$.datepicker._attachDatepicker(this,e)}):$.datepicker["_"+e+"Datepicker"].apply($.datepicker,[this[0]].concat(t))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.9.2",window["DP_jQuery_"+dpuuid]=$})(jQuery);(function(e,t){var i="ui-dialog ui-widget ui-widget-content ui-corner-all ",a={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},s={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};e.widget("ui.dialog",{version:"1.9.2",options:{autoOpen:!0,buttons:{},closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:!1,maxWidth:!1,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var i=e(this).css(t).offset().top;0>i&&e(this).css("top",t.top-i)}},resizable:!0,show:null,stack:!0,title:"",width:300,zIndex:1e3},_create:function(){this.originalTitle=this.element.attr("title"),"string"!=typeof this.originalTitle&&(this.originalTitle=""),this.oldPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.options.title=this.options.title||this.originalTitle;var a,s,n,r,o,h=this,l=this.options,u=l.title||"&#160;";a=(this.uiDialog=e("<div>")).addClass(i+l.dialogClass).css({display:"none",outline:0,zIndex:l.zIndex}).attr("tabIndex",-1).keydown(function(t){l.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE&&(h.close(t),t.preventDefault())}).mousedown(function(e){h.moveToTop(!1,e)}).appendTo("body"),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(a),s=(this.uiDialogTitlebar=e("<div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").bind("mousedown",function(){a.focus()}).prependTo(a),n=e("<a href='#'></a>").addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").click(function(e){e.preventDefault(),h.close(e)}).appendTo(s),(this.uiDialogTitlebarCloseText=e("<span>")).addClass("ui-icon ui-icon-closethick").text(l.closeText).appendTo(n),r=e("<span>").uniqueId().addClass("ui-dialog-title").html(u).prependTo(s),o=(this.uiDialogButtonPane=e("<div>")).addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),(this.uiButtonSet=e("<div>")).addClass("ui-dialog-buttonset").appendTo(o),a.attr({role:"dialog","aria-labelledby":r.attr("id")}),s.find("*").add(s).disableSelection(),this._hoverable(n),this._focusable(n),l.draggable&&e.fn.draggable&&this._makeDraggable(),l.resizable&&e.fn.resizable&&this._makeResizable(),this._createButtons(l.buttons),this._isOpen=!1,e.fn.bgiframe&&a.bgiframe(),this._on(a,{keydown:function(i){if(l.modal&&i.keyCode===e.ui.keyCode.TAB){var s=e(":tabbable",a),n=s.filter(":first"),r=s.filter(":last");return i.target!==r[0]||i.shiftKey?i.target===n[0]&&i.shiftKey?(r.focus(1),!1):t:(n.focus(1),!1)}}})},_init:function(){this.options.autoOpen&&this.open()},_destroy:function(){var e,t=this.oldPosition;this.overlay&&this.overlay.destroy(),this.uiDialog.hide(),this.element.removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},close:function(t){var i,a,s=this;if(this._isOpen&&!1!==this._trigger("beforeClose",t))return this._isOpen=!1,this.overlay&&this.overlay.destroy(),this.options.hide?this._hide(this.uiDialog,this.options.hide,function(){s._trigger("close",t)}):(this.uiDialog.hide(),this._trigger("close",t)),e.ui.dialog.overlay.resize(),this.options.modal&&(i=0,e(".ui-dialog").each(function(){this!==s.uiDialog[0]&&(a=e(this).css("z-index"),isNaN(a)||(i=Math.max(i,a)))}),e.ui.dialog.maxZ=i),this},isOpen:function(){return this._isOpen},moveToTop:function(t,i){var a,s=this.options;return s.modal&&!t||!s.stack&&!s.modal?this._trigger("focus",i):(s.zIndex>e.ui.dialog.maxZ&&(e.ui.dialog.maxZ=s.zIndex),this.overlay&&(e.ui.dialog.maxZ+=1,e.ui.dialog.overlay.maxZ=e.ui.dialog.maxZ,this.overlay.$el.css("z-index",e.ui.dialog.overlay.maxZ)),a={scrollTop:this.element.scrollTop(),scrollLeft:this.element.scrollLeft()},e.ui.dialog.maxZ+=1,this.uiDialog.css("z-index",e.ui.dialog.maxZ),this.element.attr(a),this._trigger("focus",i),this)},open:function(){if(!this._isOpen){var t,i=this.options,a=this.uiDialog;return this._size(),this._position(i.position),a.show(i.show),this.overlay=i.modal?new e.ui.dialog.overlay(this):null,this.moveToTop(!0),t=this.element.find(":tabbable"),t.length||(t=this.uiDialogButtonPane.find(":tabbable"),t.length||(t=a)),t.eq(0).focus(),this._isOpen=!0,this._trigger("open"),this}},_createButtons:function(t){var i=this,a=!1;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),"object"==typeof t&&null!==t&&e.each(t,function(){return!(a=!0)}),a?(e.each(t,function(t,a){var s,n;a=e.isFunction(a)?{click:a,text:t}:a,a=e.extend({type:"button"},a),n=a.click,a.click=function(){n.apply(i.element[0],arguments)},s=e("<button></button>",a).appendTo(i.uiButtonSet),e.fn.button&&s.button()}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog)):this.uiDialog.removeClass("ui-dialog-buttons")},_makeDraggable:function(){function t(e){return{position:e.position,offset:e.offset}}var i=this,a=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(a,s){e(this).addClass("ui-dialog-dragging"),i._trigger("dragStart",a,t(s))},drag:function(e,a){i._trigger("drag",e,t(a))},stop:function(s,n){a.position=[n.position.left-i.document.scrollLeft(),n.position.top-i.document.scrollTop()],e(this).removeClass("ui-dialog-dragging"),i._trigger("dragStop",s,t(n)),e.ui.dialog.overlay.resize()}})},_makeResizable:function(i){function a(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}i=i===t?this.options.resizable:i;var s=this,n=this.options,r=this.uiDialog.css("position"),o="string"==typeof i?i:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:n.maxWidth,maxHeight:n.maxHeight,minWidth:n.minWidth,minHeight:this._minHeight(),handles:o,start:function(t,i){e(this).addClass("ui-dialog-resizing"),s._trigger("resizeStart",t,a(i))},resize:function(e,t){s._trigger("resize",e,a(t))},stop:function(t,i){e(this).removeClass("ui-dialog-resizing"),n.height=e(this).height(),n.width=e(this).width(),s._trigger("resizeStop",t,a(i)),e.ui.dialog.overlay.resize()}}).css("position",r).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(t){var i,a=[],s=[0,0];t?(("string"==typeof t||"object"==typeof t&&"0"in t)&&(a=t.split?t.split(" "):[t[0],t[1]],1===a.length&&(a[1]=a[0]),e.each(["left","top"],function(e,t){+a[e]===a[e]&&(s[e]=a[e],a[e]=t)}),t={my:a[0]+(0>s[0]?s[0]:"+"+s[0])+" "+a[1]+(0>s[1]?s[1]:"+"+s[1]),at:a.join(" ")}),t=e.extend({},e.ui.dialog.prototype.options.position,t)):t=e.ui.dialog.prototype.options.position,i=this.uiDialog.is(":visible"),i||this.uiDialog.show(),this.uiDialog.position(t),i||this.uiDialog.hide()},_setOptions:function(t){var i=this,n={},r=!1;e.each(t,function(e,t){i._setOption(e,t),e in a&&(r=!0),e in s&&(n[e]=t)}),r&&this._size(),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(t,a){var s,n,r=this.uiDialog;switch(t){case"buttons":this._createButtons(a);break;case"closeText":this.uiDialogTitlebarCloseText.text(""+a);break;case"dialogClass":r.removeClass(this.options.dialogClass).addClass(i+a);break;case"disabled":a?r.addClass("ui-dialog-disabled"):r.removeClass("ui-dialog-disabled");break;case"draggable":s=r.is(":data(draggable)"),s&&!a&&r.draggable("destroy"),!s&&a&&this._makeDraggable();break;case"position":this._position(a);break;case"resizable":n=r.is(":data(resizable)"),n&&!a&&r.resizable("destroy"),n&&"string"==typeof a&&r.resizable("option","handles",a),n||a===!1||this._makeResizable(a);break;case"title":e(".ui-dialog-title",this.uiDialogTitlebar).html(""+(a||"&#160;"))}this._super(t,a)},_size:function(){var t,i,a,s=this.options,n=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),i=Math.max(0,s.minHeight-t),"auto"===s.height?e.support.minHeight?this.element.css({minHeight:i,height:"auto"}):(this.uiDialog.show(),a=this.element.css("height","auto").height(),n||this.uiDialog.hide(),this.element.height(Math.max(a,i))):this.element.height(Math.max(s.height-t,0)),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}}),e.extend(e.ui.dialog,{uuid:0,maxZ:0,getTitleId:function(e){var t=e.attr("id");return t||(this.uuid+=1,t=this.uuid),"ui-dialog-title-"+t},overlay:function(t){this.$el=e.ui.dialog.overlay.create(t)}}),e.extend(e.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:e.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(e){return e+".dialog-overlay"}).join(" "),create:function(i){0===this.instances.length&&(setTimeout(function(){e.ui.dialog.overlay.instances.length&&e(document).bind(e.ui.dialog.overlay.events,function(i){return e(i.target).zIndex()<e.ui.dialog.overlay.maxZ?!1:t})},1),e(window).bind("resize.dialog-overlay",e.ui.dialog.overlay.resize));var a=this.oldInstances.pop()||e("<div>").addClass("ui-widget-overlay");return e(document).bind("keydown.dialog-overlay",function(t){var s=e.ui.dialog.overlay.instances;0!==s.length&&s[s.length-1]===a&&i.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE&&(i.close(t),t.preventDefault())}),a.appendTo(document.body).css({width:this.width(),height:this.height()}),e.fn.bgiframe&&a.bgiframe(),this.instances.push(a),a},destroy:function(t){var i=e.inArray(t,this.instances),a=0;-1!==i&&this.oldInstances.push(this.instances.splice(i,1)[0]),0===this.instances.length&&e([document,window]).unbind(".dialog-overlay"),t.height(0).width(0).remove(),e.each(this.instances,function(){a=Math.max(a,this.css("z-index"))}),this.maxZ=a},height:function(){var t,i;return e.ui.ie?(t=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),i=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight),i>t?e(window).height()+"px":t+"px"):e(document).height()+"px"},width:function(){var t,i;return e.ui.ie?(t=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),i=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth),i>t?e(window).width()+"px":t+"px"):e(document).width()+"px"},resize:function(){var t=e([]);e.each(e.ui.dialog.overlay.instances,function(){t=t.add(this)}),t.css({width:0,height:0}).css({width:e.ui.dialog.overlay.width(),height:e.ui.dialog.overlay.height()})}}),e.extend(e.ui.dialog.overlay.prototype,{destroy:function(){e.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);(function(e){var t=!1;e.widget("ui.menu",{version:"1.9.2",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,e.proxy(function(e){this.options.disabled&&e.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(e){e.preventDefault()},"click .ui-state-disabled > a":function(e){e.preventDefault()},"click .ui-menu-item:has(a)":function(i){var s=e(i.target).closest(".ui-menu-item");!t&&s.not(".ui-state-disabled").length&&(t=!0,this.select(i),s.has(".ui-menu").length?this.expand(i):this.element.is(":focus")||(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){var i=e(t.currentTarget);i.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(t,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var i=this.active||this.element.children(".ui-menu-item").eq(0);t||this.focus(e,i)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(i){e(i.target).closest(".ui-menu").length||this.collapseAll(i),t=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").andSelf().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var t=e(this);t.data("ui-menu-submenu-carat")&&t.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(t){function i(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,a,n,r,o,h=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:h=!1,a=this.previousFilter||"",n=String.fromCharCode(t.keyCode),r=!1,clearTimeout(this.filterTimer),n===a?r=!0:n=a+n,o=RegExp("^"+i(n),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return o.test(e(this).children("a").text())}),s=r&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(n=String.fromCharCode(t.keyCode),o=RegExp("^"+i(n),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return o.test(e(this).children("a").text())})),s.length?(this.focus(t,s),s.length>1?(this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}h&&t.preventDefault()},_activate:function(e){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(e):this.select(e))},refresh:function(){var t,i=this.options.icons.submenu,s=this.element.find(this.options.menus);s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=e(this),s=t.prev("a"),a=e("<span>").addClass("ui-menu-icon ui-icon "+i).data("ui-menu-submenu-carat",!0);s.attr("aria-haspopup","true").prepend(a),t.attr("aria-labelledby",s.attr("id"))}),t=s.add(this.element),t.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),t.children(":not(.ui-menu-item)").each(function(){var t=e(this);/[^\-—–\s]/.test(t.text())||t.addClass("ui-widget-content ui-menu-divider")}),t.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},focus:function(e,t){var i,s;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=t.children(".ui-menu"),i.length&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var i,s,a,n,r,o;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,a=t.offset().top-this.activeMenu.offset().top-i-s,n=this.activeMenu.scrollTop(),r=this.activeMenu.height(),o=t.height(),0>a?this.activeMenu.scrollTop(n+a):a+o>r&&this.activeMenu.scrollTop(n+a-r+o))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",e,{item:this.active}))},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(e)},this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(t),this.activeMenu=s},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,i){var s;this.active&&(s="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[e+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.children(".ui-menu-item")[t]()),this.focus(i,s)},nextPage:function(t){var i,s,a;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,a=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=e(this),0>i.offset().top-s-a}),this.focus(t,i)):this.focus(t,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())),undefined):(this.next(t),undefined)},previousPage:function(t){var i,s,a;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,a=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=e(this),i.offset().top-s+a>0}),this.focus(t,i)):this.focus(t,this.activeMenu.children(".ui-menu-item").first())),undefined):(this.next(t),undefined)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||e(t.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,i)}})})(jQuery);(function(e,t){e.widget("ui.progressbar",{version:"1.9.2",options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()}),this.valueDiv=e("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this.oldValue=this._value(),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(e){return e===t?this._value():(this._setOption("value",e),this)},_setOption:function(e,t){"value"===e&&(this.options.value=t,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),this._super(e,t)},_value:function(){var e=this.options.value;return"number"!=typeof e&&(e=0),Math.min(this.options.max,Math.max(this.min,e))},_percentage:function(){return 100*this._value()/this.options.max},_refreshValue:function(){var e=this.value(),t=this._percentage();this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),this.valueDiv.toggle(e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(t.toFixed(0)+"%"),this.element.attr("aria-valuenow",e)}})})(jQuery);(function(e){var t=5;e.widget("ui.slider",e.ui.mouse,{version:"1.9.2",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null},_create:function(){var i,s,a=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),r="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",o=[];for(this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"+(a.disabled?" ui-slider-disabled ui-disabled":"")),this.range=e([]),a.range&&(a.range===!0&&(a.values||(a.values=[this._valueMin(),this._valueMin()]),a.values.length&&2!==a.values.length&&(a.values=[a.values[0],a.values[0]])),this.range=e("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+("min"===a.range||"max"===a.range?" ui-slider-range-"+a.range:""))),s=a.values&&a.values.length||1,i=n.length;s>i;i++)o.push(r);this.handles=n.add(e(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.add(this.range).filter("a").click(function(e){e.preventDefault()}).mouseenter(function(){a.disabled||e(this).addClass("ui-state-hover")}).mouseleave(function(){e(this).removeClass("ui-state-hover")}).focus(function(){a.disabled?e(this).blur():(e(".ui-slider .ui-state-focus").removeClass("ui-state-focus"),e(this).addClass("ui-state-focus"))}).blur(function(){e(this).removeClass("ui-state-focus")}),this.handles.each(function(t){e(this).data("ui-slider-handle-index",t)}),this._on(this.handles,{keydown:function(i){var s,a,n,r,o=e(i.target).data("ui-slider-handle-index");switch(i.keyCode){case e.ui.keyCode.HOME:case e.ui.keyCode.END:case e.ui.keyCode.PAGE_UP:case e.ui.keyCode.PAGE_DOWN:case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(i.preventDefault(),!this._keySliding&&(this._keySliding=!0,e(i.target).addClass("ui-state-active"),s=this._start(i,o),s===!1))return}switch(r=this.options.step,a=n=this.options.values&&this.options.values.length?this.values(o):this.value(),i.keyCode){case e.ui.keyCode.HOME:n=this._valueMin();break;case e.ui.keyCode.END:n=this._valueMax();break;case e.ui.keyCode.PAGE_UP:n=this._trimAlignValue(a+(this._valueMax()-this._valueMin())/t);break;case e.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(a-(this._valueMax()-this._valueMin())/t);break;case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:if(a===this._valueMax())return;n=this._trimAlignValue(a+r);break;case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(a===this._valueMin())return;n=this._trimAlignValue(a-r)}this._slide(i,o,n)},keyup:function(t){var i=e(t.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(t,i),this._change(t,i),e(t.target).removeClass("ui-state-active"))}}),this._refreshValue(),this._animateOff=!1},_destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(t){var i,s,a,n,r,o,h,l,u=this,d=this.options;return d.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:t.pageX,y:t.pageY},s=this._normValueFromMouse(i),a=this._valueMax()-this._valueMin()+1,this.handles.each(function(t){var i=Math.abs(s-u.values(t));a>i&&(a=i,n=e(this),r=t)}),d.range===!0&&this.values(1)===d.min&&(r+=1,n=e(this.handles[r])),o=this._start(t,r),o===!1?!1:(this._mouseSliding=!0,this._handleIndex=r,n.addClass("ui-state-active").focus(),h=n.offset(),l=!e(t.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:t.pageX-h.left-n.width()/2,top:t.pageY-h.top-n.height()/2-(parseInt(n.css("borderTopWidth"),10)||0)-(parseInt(n.css("borderBottomWidth"),10)||0)+(parseInt(n.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,r,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},i=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,i),!1},_mouseStop:function(e){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,i,s,a,n;return"horizontal"===this.orientation?(t=this.elementSize.width,i=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,i=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/t,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),a=this._valueMax()-this._valueMin(),n=this._valueMin()+s*a,this._trimAlignValue(n)},_start:function(e,t){var i={handle:this.handles[t],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("start",e,i)},_slide:function(e,t,i){var s,a,n;this.options.values&&this.options.values.length?(s=this.values(t?0:1),2===this.options.values.length&&this.options.range===!0&&(0===t&&i>s||1===t&&s>i)&&(i=s),i!==this.values(t)&&(a=this.values(),a[t]=i,n=this._trigger("slide",e,{handle:this.handles[t],value:i,values:a}),s=this.values(t?0:1),n!==!1&&this.values(t,i,!0))):i!==this.value()&&(n=this._trigger("slide",e,{handle:this.handles[t],value:i}),n!==!1&&this.value(i))},_stop:function(e,t){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("stop",e,i)},_change:function(e,t){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("change",e,i)}},value:function(e){return arguments.length?(this.options.value=this._trimAlignValue(e),this._refreshValue(),this._change(null,0),undefined):this._value()},values:function(t,i){var s,a,n;if(arguments.length>1)return this.options.values[t]=this._trimAlignValue(i),this._refreshValue(),this._change(null,t),undefined;if(!arguments.length)return this._values();if(!e.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(t):this.value();for(s=this.options.values,a=arguments[0],n=0;s.length>n;n+=1)s[n]=this._trimAlignValue(a[n]),this._change(null,n);this._refreshValue()},_setOption:function(t,i){var s,a=0;switch(e.isArray(this.options.values)&&(a=this.options.values.length),e.Widget.prototype._setOption.apply(this,arguments),t){case"disabled":i?(this.handles.filter(".ui-state-focus").blur(),this.handles.removeClass("ui-state-hover"),this.handles.prop("disabled",!0),this.element.addClass("ui-disabled")):(this.handles.prop("disabled",!1),this.element.removeClass("ui-disabled"));break;case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;a>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1}},_value:function(){var e=this.options.value;return e=this._trimAlignValue(e)},_values:function(e){var t,i,s;if(arguments.length)return t=this.options.values[e],t=this._trimAlignValue(t);for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i},_trimAlignValue:function(e){if(this._valueMin()>=e)return this._valueMin();if(e>=this._valueMax())return this._valueMax();var t=this.options.step>0?this.options.step:1,i=(e-this._valueMin())%t,s=e-i;return 2*Math.abs(i)>=t&&(s+=i>0?t:-t),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var t,i,s,a,n,r=this.options.range,o=this.options,h=this,l=this._animateOff?!1:o.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u["horizontal"===h.orientation?"left":"bottom"]=i+"%",e(this).stop(1,1)[l?"animate":"css"](u,o.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},o.animate),1===s&&h.range[l?"animate":"css"]({width:i-t+"%"},{queue:!1,duration:o.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},o.animate),1===s&&h.range[l?"animate":"css"]({height:i-t+"%"},{queue:!1,duration:o.animate}))),t=i}):(s=this.value(),a=this._valueMin(),n=this._valueMax(),i=n!==a?100*((s-a)/(n-a)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,o.animate),"min"===r&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},o.animate),"max"===r&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:o.animate}),"min"===r&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},o.animate),"max"===r&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:o.animate}))}})})(jQuery);(function(e){function t(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}e.widget("ui.spinner",{version:"1.9.2",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t={},i=this.element;return e.each(["min","max","step"],function(e,s){var a=i.attr(s);void 0!==a&&a.length&&(t[s]=a)}),t},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e),void 0)},mousewheel:function(e,t){if(t){if(!this.spinning&&!this._start(e))return!1;this._spin((t>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()}},"mousedown .ui-spinner-button":function(t){function i(){var e=this.element[0]===this.document[0].activeElement;e||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(t)!==!1&&this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){return e(t.currentTarget).hasClass("ui-state-active")?this._start(t)===!1?!1:(this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var e=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=e.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*e.height())&&e.height()>0&&e.height(e.height()),this.options.disabled&&this.disable()},_keydown:function(t){var i=this.options,s=e.ui.keyCode;switch(t.keyCode){case s.UP:return this._repeat(null,1,t),!0;case s.DOWN:return this._repeat(null,-1,t),!0;case s.PAGE_UP:return this._repeat(null,i.page,t),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,t),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>&#9650;</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>&#9660;</span>"+"</a>"},_start:function(e){return this.spinning||this._trigger("start",e)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(e,t,i){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,i)},e),this._spin(t*this.options.step,i)},_spin:function(e,t){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+e*this._increment(this.counter)),this.spinning&&this._trigger("spin",t,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(t){var i=this.options.incremental;return i?e.isFunction(i)?i(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=""+e,i=t.indexOf(".");return-1===i?0:t.length-i-1},_adjustValue:function(e){var t,i,s=this.options;return t=null!==s.min?s.min:0,i=e-t,i=Math.round(i/s.step)*s.step,e=t+i,e=parseFloat(e.toFixed(this._precision())),null!==s.max&&e>s.max?s.max:null!==s.min&&s.min>e?s.min:e},_stop:function(e){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",e))},_setOption:function(e,t){if("culture"===e||"numberFormat"===e){var i=this._parse(this.element.val());return this.options[e]=t,this.element.val(this._format(i)),void 0}("max"===e||"min"===e||"step"===e)&&"string"==typeof t&&(t=this._parse(t)),this._super(e,t),"disabled"===e&&(t?(this.element.prop("disabled",!0),this.buttons.button("disable")):(this.element.prop("disabled",!1),this.buttons.button("enable")))},_setOptions:t(function(e){this._super(e),this._value(this.element.val())}),_parse:function(e){return"string"==typeof e&&""!==e&&(e=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(e,10,this.options.culture):+e),""===e||isNaN(e)?null:e},_format:function(e){return""===e?"":window.Globalize&&this.options.numberFormat?Globalize.format(e,this.options.numberFormat,this.options.culture):e},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},_value:function(e,t){var i;""!==e&&(i=this._parse(e),null!==i&&(t||(i=this._adjustValue(i)),e=this._format(i))),this.element.val(e),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:t(function(e){this._stepUp(e)}),_stepUp:function(e){this._spin((e||1)*this.options.step)},stepDown:t(function(e){this._stepDown(e)}),_stepDown:function(e){this._spin((e||1)*-this.options.step)},pageUp:t(function(e){this._stepUp((e||1)*this.options.page)}),pageDown:t(function(e){this._stepDown((e||1)*this.options.page)}),value:function(e){return arguments.length?(t(this._value).call(this,e),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}})})(jQuery);(function(e,t){function i(){return++a}function s(e){return e.hash.length>1&&e.href.replace(n,"")===location.href.replace(n,"").replace(/\s/g,"%20")}var a=0,n=/#.*$/;e.widget("ui.tabs",{version:"1.9.2",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var i=this,s=this.options,a=s.active,n=location.hash.substring(1);this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",s.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),null===a&&(n&&this.tabs.each(function(i,s){return e(s).attr("aria-controls")===n?(a=i,!1):t}),null===a&&(a=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===a||-1===a)&&(a=this.tabs.length?0:!1)),a!==!1&&(a=this.tabs.index(this.tabs.eq(a)),-1===a&&(a=s.collapsible?!1:0)),s.active=a,!s.collapsible&&s.active===!1&&this.anchors.length&&(s.active=0),e.isArray(s.disabled)&&(s.disabled=e.unique(s.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),function(e){return i.tabs.index(e)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(this.options.active):e(),this._refresh(),this.active.length&&this.load(s.active)},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(i){var s=e(this.document[0].activeElement).closest("li"),a=this.tabs.index(s),n=!0;if(!this._handlePageNav(i)){switch(i.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:a++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:n=!1,a--;break;case e.ui.keyCode.END:a=this.anchors.length-1;break;case e.ui.keyCode.HOME:a=0;break;case e.ui.keyCode.SPACE:return i.preventDefault(),clearTimeout(this.activating),this._activate(a),t;case e.ui.keyCode.ENTER:return i.preventDefault(),clearTimeout(this.activating),this._activate(a===this.options.active?!1:a),t;default:return}i.preventDefault(),clearTimeout(this.activating),a=this._focusNextTab(a,n),i.ctrlKey||(s.attr("aria-selected","false"),this.tabs.eq(a).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",a)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(i){return i.altKey&&i.keyCode===e.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):i.altKey&&i.keyCode===e.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):t},_findNextTab:function(t,i){function s(){return t>a&&(t=0),0>t&&(t=a),t}for(var a=this.tabs.length-1;-1!==e.inArray(s(),this.options.disabled);)t=i?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,i){return"active"===e?(this._activate(i),t):"disabled"===e?(this._setupDisabled(i),t):(this._super(e,i),"collapsible"===e&&(this.element.toggleClass("ui-tabs-collapsible",i),i||this.options.active!==!1||this._activate(0)),"event"===e&&this._setupEvents(i),"heightStyle"===e&&this._setupHeightStyle(i),t)},_tabId:function(e){return e.attr("aria-controls")||"ui-tabs-"+i()},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,i=this.tablist.children(":has(a[href])");t.disabled=e.map(i.filter(".ui-state-disabled"),function(e){return i.index(e)}),this._processTabs(),t.active!==!1&&this.anchors.length?this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=e()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=e(),this.anchors.each(function(i,a){var n,r,o,h=e(a).uniqueId().attr("id"),l=e(a).closest("li"),u=l.attr("aria-controls");s(a)?(n=a.hash,r=t.element.find(t._sanitizeSelector(n))):(o=t._tabId(l),n="#"+o,r=t.element.find(n),r.length||(r=t._createPanel(o),r.insertAfter(t.panels[i-1]||t.tablist)),r.attr("aria-live","polite")),r.length&&(t.panels=t.panels.add(r)),u&&l.data("ui-tabs-aria-controls",u),l.attr({"aria-controls":n.substring(1),"aria-labelledby":h}),r.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.element.find("ol,ul").eq(0)},_createPanel:function(t){return e("<div>").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var i,s=0;i=this.tabs[s];s++)t===!0||-1!==e.inArray(s,t)?e(i).addClass("ui-state-disabled").attr("aria-disabled","true"):e(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var i={click:function(e){e.preventDefault()}};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,s,a=this.element.parent();"fill"===t?(e.support.minHeight||(s=a.css("overflow"),a.css("overflow","hidden")),i=a.height(),this.element.siblings(":visible").each(function(){var t=e(this),s=t.css("position");"absolute"!==s&&"fixed"!==s&&(i-=t.outerHeight(!0))}),s&&a.css("overflow",s),this.element.children().not(this.panels).each(function(){i-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,e(this).height("").height())}).height(i))},_eventHandler:function(t){var i=this.options,s=this.active,a=e(t.currentTarget),n=a.closest("li"),r=n[0]===s[0],o=r&&i.collapsible,h=o?e():this._getPanelForTab(n),l=s.length?this._getPanelForTab(s):e(),u={oldTab:s,oldPanel:l,newTab:o?e():n,newPanel:h};t.preventDefault(),n.hasClass("ui-state-disabled")||n.hasClass("ui-tabs-loading")||this.running||r&&!i.collapsible||this._trigger("beforeActivate",t,u)===!1||(i.active=o?!1:this.tabs.index(n),this.active=r?e():n,this.xhr&&this.xhr.abort(),l.length||h.length||e.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(n),t),this._toggle(t,u))},_toggle:function(t,i){function s(){n.running=!1,n._trigger("activate",t,i)}function a(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),r.length&&n.options.show?n._show(r,n.options.show,s):(r.show(),s())}var n=this,r=i.newPanel,o=i.oldPanel;this.running=!0,o.length&&this.options.hide?this._hide(o,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),a()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),o.hide(),a()),o.attr({"aria-expanded":"false","aria-hidden":"true"}),i.oldTab.attr("aria-selected","false"),r.length&&o.length?i.oldTab.attr("tabIndex",-1):r.length&&this.tabs.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),r.attr({"aria-expanded":"true","aria-hidden":"false"}),i.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(t){var i,s=this._findActive(t);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeData("href.tabs").removeData("load.tabs").removeUniqueId(),this.tabs.add(this.panels).each(function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=e(this),i=t.data("ui-tabs-aria-controls");i?t.attr("aria-controls",i):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var s=this.options.disabled;s!==!1&&(i===t?s=!1:(i=this._getIndex(i),s=e.isArray(s)?e.map(s,function(e){return e!==i?e:null}):e.map(this.tabs,function(e,t){return t!==i?t:null})),this._setupDisabled(s))},disable:function(i){var s=this.options.disabled;if(s!==!0){if(i===t)s=!0;else{if(i=this._getIndex(i),-1!==e.inArray(i,s))return;s=e.isArray(s)?e.merge([i],s).sort():[i]}this._setupDisabled(s)}},load:function(t,i){t=this._getIndex(t);var a=this,n=this.tabs.eq(t),r=n.find(".ui-tabs-anchor"),o=this._getPanelForTab(n),h={tab:n,panel:o};s(r[0])||(this.xhr=e.ajax(this._ajaxSettings(r,i,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(n.addClass("ui-tabs-loading"),o.attr("aria-busy","true"),this.xhr.success(function(e){setTimeout(function(){o.html(e),a._trigger("load",i,h)},1)}).complete(function(e,t){setTimeout(function(){"abort"===t&&a.panels.stop(!1,!0),n.removeClass("ui-tabs-loading"),o.removeAttr("aria-busy"),e===a.xhr&&delete a.xhr},1)})))},_ajaxSettings:function(t,i,s){var a=this;return{url:t.attr("href"),beforeSend:function(t,n){return a._trigger("beforeLoad",i,e.extend({jqXHR:t,ajaxSettings:n},s))}}},_getPanelForTab:function(t){var i=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),e.uiBackCompat!==!1&&(e.ui.tabs.prototype._ui=function(e,t){return{tab:e,panel:t,index:this.anchors.index(e)}},e.widget("ui.tabs",e.ui.tabs,{url:function(e,t){this.anchors.eq(e).attr("href",t)}}),e.widget("ui.tabs",e.ui.tabs,{options:{ajaxOptions:null,cache:!1},_create:function(){this._super();var i=this;this._on({tabsbeforeload:function(s,a){return e.data(a.tab[0],"cache.tabs")?(s.preventDefault(),t):(a.jqXHR.success(function(){i.options.cache&&e.data(a.tab[0],"cache.tabs",!0)}),t)}})},_ajaxSettings:function(t,i,s){var a=this.options.ajaxOptions;return e.extend({},a,{error:function(e,t){try{a.error(e,t,s.tab.closest("li").index(),s.tab[0])}catch(i){}}},this._superApply(arguments))},_setOption:function(e,t){"cache"===e&&t===!1&&this.anchors.removeData("cache.tabs"),this._super(e,t)},_destroy:function(){this.anchors.removeData("cache.tabs"),this._super()},url:function(e){this.anchors.eq(e).removeData("cache.tabs"),this._superApply(arguments)}}),e.widget("ui.tabs",e.ui.tabs,{abort:function(){this.xhr&&this.xhr.abort()}}),e.widget("ui.tabs",e.ui.tabs,{options:{spinner:"<em>Loading&#8230;</em>"},_create:function(){this._super(),this._on({tabsbeforeload:function(e,t){if(e.target===this.element[0]&&this.options.spinner){var i=t.tab.find("span"),s=i.html();i.html(this.options.spinner),t.jqXHR.complete(function(){i.html(s)})}}})}}),e.widget("ui.tabs",e.ui.tabs,{options:{enable:null,disable:null},enable:function(t){var i,s=this.options;(t&&s.disabled===!0||e.isArray(s.disabled)&&-1!==e.inArray(t,s.disabled))&&(i=!0),this._superApply(arguments),i&&this._trigger("enable",null,this._ui(this.anchors[t],this.panels[t]))},disable:function(t){var i,s=this.options;(t&&s.disabled===!1||e.isArray(s.disabled)&&-1===e.inArray(t,s.disabled))&&(i=!0),this._superApply(arguments),i&&this._trigger("disable",null,this._ui(this.anchors[t],this.panels[t]))}}),e.widget("ui.tabs",e.ui.tabs,{options:{add:null,remove:null,tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},add:function(i,s,a){a===t&&(a=this.anchors.length);var n,r,o=this.options,h=e(o.tabTemplate.replace(/#\{href\}/g,i).replace(/#\{label\}/g,s)),l=i.indexOf("#")?this._tabId(h):i.replace("#","");return h.addClass("ui-state-default ui-corner-top").data("ui-tabs-destroy",!0),h.attr("aria-controls",l),n=a>=this.tabs.length,r=this.element.find("#"+l),r.length||(r=this._createPanel(l),n?a>0?r.insertAfter(this.panels.eq(-1)):r.appendTo(this.element):r.insertBefore(this.panels[a])),r.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").hide(),n?h.appendTo(this.tablist):h.insertBefore(this.tabs[a]),o.disabled=e.map(o.disabled,function(e){return e>=a?++e:e}),this.refresh(),1===this.tabs.length&&o.active===!1&&this.option("active",0),this._trigger("add",null,this._ui(this.anchors[a],this.panels[a])),this},remove:function(t){t=this._getIndex(t);var i=this.options,s=this.tabs.eq(t).remove(),a=this._getPanelForTab(s).remove();return s.hasClass("ui-tabs-active")&&this.anchors.length>2&&this._activate(t+(this.anchors.length>t+1?1:-1)),i.disabled=e.map(e.grep(i.disabled,function(e){return e!==t}),function(e){return e>=t?--e:e}),this.refresh(),this._trigger("remove",null,this._ui(s.find("a")[0],a[0])),this}}),e.widget("ui.tabs",e.ui.tabs,{length:function(){return this.anchors.length}}),e.widget("ui.tabs",e.ui.tabs,{options:{idPrefix:"ui-tabs-"},_tabId:function(t){var s=t.is("li")?t.find("a[href]"):t;return s=s[0],e(s).closest("li").attr("aria-controls")||s.title&&s.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF\-]/g,"")||this.options.idPrefix+i()}}),e.widget("ui.tabs",e.ui.tabs,{options:{panelTemplate:"<div></div>"},_createPanel:function(t){return e(this.options.panelTemplate).attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)}}),e.widget("ui.tabs",e.ui.tabs,{_create:function(){var e=this.options;null===e.active&&e.selected!==t&&(e.active=-1===e.selected?!1:e.selected),this._super(),e.selected=e.active,e.selected===!1&&(e.selected=-1)},_setOption:function(e,t){if("selected"!==e)return this._super(e,t);var i=this.options;this._super("active",-1===t?!1:t),i.selected=i.active,i.selected===!1&&(i.selected=-1)},_eventHandler:function(){this._superApply(arguments),this.options.selected=this.options.active,this.options.selected===!1&&(this.options.selected=-1)}}),e.widget("ui.tabs",e.ui.tabs,{options:{show:null,select:null},_create:function(){this._super(),this.options.active!==!1&&this._trigger("show",null,this._ui(this.active.find(".ui-tabs-anchor")[0],this._getPanelForTab(this.active)[0]))},_trigger:function(e,t,i){var s,a,n=this._superApply(arguments);return n?("beforeActivate"===e?(s=i.newTab.length?i.newTab:i.oldTab,a=i.newPanel.length?i.newPanel:i.oldPanel,n=this._super("select",t,{tab:s.find(".ui-tabs-anchor")[0],panel:a[0],index:s.closest("li").index()})):"activate"===e&&i.newTab.length&&(n=this._super("show",t,{tab:i.newTab.find(".ui-tabs-anchor")[0],panel:i.newPanel[0],index:i.newTab.closest("li").index()})),n):!1}}),e.widget("ui.tabs",e.ui.tabs,{select:function(e){if(e=this._getIndex(e),-1===e){if(!this.options.collapsible||-1===this.options.selected)return;e=this.options.selected}this.anchors.eq(e).trigger(this.options.event+this.eventNamespace)}}),function(){var t=0;e.widget("ui.tabs",e.ui.tabs,{options:{cookie:null},_create:function(){var e,t=this.options;null==t.active&&t.cookie&&(e=parseInt(this._cookie(),10),-1===e&&(e=!1),t.active=e),this._super()},_cookie:function(i){var s=[this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+ ++t)];return arguments.length&&(s.push(i===!1?-1:i),s.push(this.options.cookie)),e.cookie.apply(null,s)},_refresh:function(){this._super(),this.options.cookie&&this._cookie(this.options.active,this.options.cookie)},_eventHandler:function(){this._superApply(arguments),this.options.cookie&&this._cookie(this.options.active,this.options.cookie)},_destroy:function(){this._super(),this.options.cookie&&this._cookie(null,this.options.cookie)}})}(),e.widget("ui.tabs",e.ui.tabs,{_trigger:function(t,i,s){var a=e.extend({},s);return"load"===t&&(a.panel=a.panel[0],a.tab=a.tab.find(".ui-tabs-anchor")[0]),this._super(t,i,a)}}),e.widget("ui.tabs",e.ui.tabs,{options:{fx:null},_getFx:function(){var t,i,s=this.options.fx;return s&&(e.isArray(s)?(t=s[0],i=s[1]):t=i=s),s?{show:i,hide:t}:null},_toggle:function(e,i){function s(){n.running=!1,n._trigger("activate",e,i)}function a(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),r.length&&h.show?r.animate(h.show,h.show.duration,function(){s()}):(r.show(),s())}var n=this,r=i.newPanel,o=i.oldPanel,h=this._getFx();return h?(n.running=!0,o.length&&h.hide?o.animate(h.hide,h.hide.duration,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),a()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),o.hide(),a()),t):this._super(e,i)}}))})(jQuery);(function(e){function t(t,i){var s=(t.attr("aria-describedby")||"").split(/\s+/);s.push(i),t.data("ui-tooltip-id",i).attr("aria-describedby",e.trim(s.join(" ")))}function i(t){var i=t.data("ui-tooltip-id"),s=(t.attr("aria-describedby")||"").split(/\s+/),a=e.inArray(i,s);-1!==a&&s.splice(a,1),t.removeData("ui-tooltip-id"),s=e.trim(s.join(" ")),s?t.attr("aria-describedby",s):t.removeAttr("aria-describedby")}var s=0;e.widget("ui.tooltip",{version:"1.9.2",options:{content:function(){return e(this).attr("title")},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(t,i){var s=this;return"disabled"===t?(this[i?"_disable":"_enable"](),this.options[t]=i,void 0):(this._super(t,i),"content"===t&&e.each(this.tooltips,function(e,t){s._updateContent(t)}),void 0)},_disable:function(){var t=this;e.each(this.tooltips,function(i,s){var a=e.Event("blur");a.target=a.currentTarget=s[0],t.close(a,!0)}),this.element.find(this.options.items).andSelf().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).andSelf().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var i=this,s=e(t?t.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&s.parents().each(function(){var t,s=e(this);s.data("ui-tooltip-open")&&(t=e.Event("blur"),t.target=t.currentTarget=this,i.close(t,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,t))},_updateContent:function(e,t){var i,s=this.options.content,a=this,n=t?t.type:null;return"string"==typeof s?this._open(t,e,s):(i=s.call(e[0],function(i){e.data("ui-tooltip-open")&&a._delay(function(){t&&(t.type=n),this._open(t,e,i)})}),i&&this._open(t,e,i),void 0)},_open:function(i,s,a){function n(e){l.of=e,r.is(":hidden")||r.position(l)}var r,o,h,l=e.extend({},this.options.position);if(a){if(r=this._find(s),r.length)return r.find(".ui-tooltip-content").html(a),void 0;s.is("[title]")&&(i&&"mouseover"===i.type?s.attr("title",""):s.removeAttr("title")),r=this._tooltip(s),t(s,r.attr("id")),r.find(".ui-tooltip-content").html(a),this.options.track&&i&&/^mouse/.test(i.type)?(this._on(this.document,{mousemove:n}),n(i)):r.position(e.extend({of:s},this.options.position)),r.hide(),this._show(r,this.options.show),this.options.show&&this.options.show.delay&&(h=setInterval(function(){r.is(":visible")&&(n(l.of),clearInterval(h))},e.fx.interval)),this._trigger("open",i,{tooltip:r}),o={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var i=e.Event(t);i.currentTarget=s[0],this.close(i,!0)}},remove:function(){this._removeTooltip(r)}},i&&"mouseover"!==i.type||(o.mouseleave="close"),i&&"focusin"!==i.type||(o.focusout="close"),this._on(!0,s,o)}},close:function(t){var s=this,a=e(t?t.currentTarget:this.element),n=this._find(a);this.closing||(a.data("ui-tooltip-title")&&a.attr("title",a.data("ui-tooltip-title")),i(a),n.stop(!0),this._hide(n,this.options.hide,function(){s._removeTooltip(e(this))}),a.removeData("ui-tooltip-open"),this._off(a,"mouseleave focusout keyup"),a[0]!==this.element[0]&&this._off(a,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&e.each(this.parents,function(t,i){e(i.element).attr("title",i.title),delete s.parents[t]}),this.closing=!0,this._trigger("close",t,{tooltip:n}),this.closing=!1)},_tooltip:function(t){var i="ui-tooltip-"+s++,a=e("<div>").attr({id:i,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return e("<div>").addClass("ui-tooltip-content").appendTo(a),a.appendTo(this.document[0].body),e.fn.bgiframe&&a.bgiframe(),this.tooltips[i]=t,a},_find:function(t){var i=t.data("ui-tooltip-id");return i?e("#"+i):e()},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(i,s){var a=e.Event("blur");a.target=a.currentTarget=s[0],t.close(a,!0),e("#"+i).remove(),s.data("ui-tooltip-title")&&(s.attr("title",s.data("ui-tooltip-title")),s.removeData("ui-tooltip-title"))})}})})(jQuery);jQuery.effects||function(e,t){var i=e.uiBackCompat!==!1,a="ui-effects-";e.effects={effect:{}},function(t,i){function a(e,t,i){var a=c[t.type]||{};return null==e?i||!t.def?null:t.def:(e=a.floor?~~e:parseFloat(e),isNaN(e)?t.def:a.mod?(e+a.mod)%a.mod:0>e?0:e>a.max?a.max:e)}function s(e){var a=u(),s=a._rgba=[];return e=e.toLowerCase(),m(l,function(t,n){var r,o=n.re.exec(e),h=o&&n.parse(o),l=n.space||"rgba";return h?(r=a[l](h),a[d[l].cache]=r[d[l].cache],s=a._rgba=r._rgba,!1):i}),s.length?("0,0,0,0"===s.join()&&t.extend(s,r.transparent),a):r[e]}function n(e,t,i){return i=(i+1)%1,1>6*i?e+6*(t-e)*i:1>2*i?t:2>3*i?e+6*(t-e)*(2/3-i):e}var r,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor".split(" "),h=/^([\-+])=\s*(\d+\.?\d*)/,l=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(e){return[e[1],e[2],e[3],e[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(e){return[2.55*e[1],2.55*e[2],2.55*e[3],e[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(e){return[e[1],e[2]/100,e[3]/100,e[4]]}}],u=t.Color=function(e,i,a,s){return new t.Color.fn.parse(e,i,a,s)},d={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},c={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},p=u.support={},f=t("<p>")[0],m=t.each;f.style.cssText="background-color:rgba(1,1,1,.5)",p.rgba=f.style.backgroundColor.indexOf("rgba")>-1,m(d,function(e,t){t.cache="_"+e,t.props.alpha={idx:3,type:"percent",def:1}}),u.fn=t.extend(u.prototype,{parse:function(n,o,h,l){if(n===i)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(o),o=i);var c=this,p=t.type(n),f=this._rgba=[];return o!==i&&(n=[n,o,h,l],p="array"),"string"===p?this.parse(s(n)||r._default):"array"===p?(m(d.rgba.props,function(e,t){f[t.idx]=a(n[t.idx],t)}),this):"object"===p?(n instanceof u?m(d,function(e,t){n[t.cache]&&(c[t.cache]=n[t.cache].slice())}):m(d,function(t,i){var s=i.cache;m(i.props,function(e,t){if(!c[s]&&i.to){if("alpha"===e||null==n[e])return;c[s]=i.to(c._rgba)}c[s][t.idx]=a(n[e],t,!0)}),c[s]&&0>e.inArray(null,c[s].slice(0,3))&&(c[s][3]=1,i.from&&(c._rgba=i.from(c[s])))}),this):i},is:function(e){var t=u(e),a=!0,s=this;return m(d,function(e,n){var r,o=t[n.cache];return o&&(r=s[n.cache]||n.to&&n.to(s._rgba)||[],m(n.props,function(e,t){return null!=o[t.idx]?a=o[t.idx]===r[t.idx]:i})),a}),a},_space:function(){var e=[],t=this;return m(d,function(i,a){t[a.cache]&&e.push(i)}),e.pop()},transition:function(e,t){var i=u(e),s=i._space(),n=d[s],r=0===this.alpha()?u("transparent"):this,o=r[n.cache]||n.to(r._rgba),h=o.slice();return i=i[n.cache],m(n.props,function(e,s){var n=s.idx,r=o[n],l=i[n],u=c[s.type]||{};null!==l&&(null===r?h[n]=l:(u.mod&&(l-r>u.mod/2?r+=u.mod:r-l>u.mod/2&&(r-=u.mod)),h[n]=a((l-r)*t+r,s)))}),this[s](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),a=i.pop(),s=u(e)._rgba;return u(t.map(i,function(e,t){return(1-a)*s[t]+a*e}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(e,t){return null==e?t>2?1:0:e});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(e,t){return null==e&&(e=t>2?1:0),t&&3>t&&(e=Math.round(100*e)+"%"),e});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),a=i.pop();return e&&i.push(~~(255*a)),"#"+t.map(i,function(e){return e=(e||0).toString(16),1===e.length?"0"+e:e}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),u.fn.parse.prototype=u.fn,d.hsla.to=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t,i,a=e[0]/255,s=e[1]/255,n=e[2]/255,r=e[3],o=Math.max(a,s,n),h=Math.min(a,s,n),l=o-h,u=o+h,d=.5*u;return t=h===o?0:a===o?60*(s-n)/l+360:s===o?60*(n-a)/l+120:60*(a-s)/l+240,i=0===d||1===d?d:.5>=d?l/u:l/(2-u),[Math.round(t)%360,i,d,null==r?1:r]},d.hsla.from=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t=e[0]/360,i=e[1],a=e[2],s=e[3],r=.5>=a?a*(1+i):a+i-a*i,o=2*a-r;return[Math.round(255*n(o,r,t+1/3)),Math.round(255*n(o,r,t)),Math.round(255*n(o,r,t-1/3)),s]},m(d,function(e,s){var n=s.props,r=s.cache,o=s.to,l=s.from;u.fn[e]=function(e){if(o&&!this[r]&&(this[r]=o(this._rgba)),e===i)return this[r].slice();var s,h=t.type(e),d="array"===h||"object"===h?e:arguments,c=this[r].slice();return m(n,function(e,t){var i=d["object"===h?e:t.idx];null==i&&(i=c[t.idx]),c[t.idx]=a(i,t)}),l?(s=u(l(c)),s[r]=c,s):u(c)},m(n,function(i,a){u.fn[i]||(u.fn[i]=function(s){var n,r=t.type(s),o="alpha"===i?this._hsla?"hsla":"rgba":e,l=this[o](),u=l[a.idx];return"undefined"===r?u:("function"===r&&(s=s.call(this,u),r=t.type(s)),null==s&&a.empty?this:("string"===r&&(n=h.exec(s),n&&(s=u+parseFloat(n[2])*("+"===n[1]?1:-1))),l[a.idx]=s,this[o](l)))})})}),m(o,function(e,i){t.cssHooks[i]={set:function(e,a){var n,r,o="";if("string"!==t.type(a)||(n=s(a))){if(a=u(n||a),!p.rgba&&1!==a._rgba[3]){for(r="backgroundColor"===i?e.parentNode:e;(""===o||"transparent"===o)&&r&&r.style;)try{o=t.css(r,"backgroundColor"),r=r.parentNode}catch(h){}a=a.blend(o&&"transparent"!==o?o:"_default")}a=a.toRgbaString()}try{e.style[i]=a}catch(l){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=u(e.elem,i),e.end=u(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}}),t.cssHooks.borderColor={expand:function(e){var t={};return m(["Top","Right","Bottom","Left"],function(i,a){t["border"+a+"Color"]=e}),t}},r=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(){var t,i,a=this.ownerDocument.defaultView?this.ownerDocument.defaultView.getComputedStyle(this,null):this.currentStyle,s={};if(a&&a.length&&a[0]&&a[a[0]])for(i=a.length;i--;)t=a[i],"string"==typeof a[t]&&(s[e.camelCase(t)]=a[t]);else for(t in a)"string"==typeof a[t]&&(s[t]=a[t]);return s}function a(t,i){var a,s,r={};for(a in i)s=i[a],t[a]!==s&&(n[a]||(e.fx.step[a]||!isNaN(parseFloat(s)))&&(r[a]=s));return r}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};e.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,i){e.fx.step[i]=function(e){("none"!==e.end&&!e.setAttr||1===e.pos&&!e.setAttr)&&(jQuery.style(e.elem,i,e.end),e.setAttr=!0)}}),e.effects.animateClass=function(t,n,r,o){var h=e.speed(n,r,o);return this.queue(function(){var n,r=e(this),o=r.attr("class")||"",l=h.children?r.find("*").andSelf():r;l=l.map(function(){var t=e(this);return{el:t,start:i.call(this)}}),n=function(){e.each(s,function(e,i){t[i]&&r[i+"Class"](t[i])})},n(),l=l.map(function(){return this.end=i.call(this.el[0]),this.diff=a(this.start,this.end),this}),r.attr("class",o),l=l.map(function(){var t=this,i=e.Deferred(),a=jQuery.extend({},h,{queue:!1,complete:function(){i.resolve(t)}});return this.el.animate(this.diff,a),i.promise()}),e.when.apply(e,l.get()).done(function(){n(),e.each(arguments,function(){var t=this.el;e.each(this.diff,function(e){t.css(e,"")})}),h.complete.call(r[0])})})},e.fn.extend({_addClass:e.fn.addClass,addClass:function(t,i,a,s){return i?e.effects.animateClass.call(this,{add:t},i,a,s):this._addClass(t)},_removeClass:e.fn.removeClass,removeClass:function(t,i,a,s){return i?e.effects.animateClass.call(this,{remove:t},i,a,s):this._removeClass(t)},_toggleClass:e.fn.toggleClass,toggleClass:function(i,a,s,n,r){return"boolean"==typeof a||a===t?s?e.effects.animateClass.call(this,a?{add:i}:{remove:i},s,n,r):this._toggleClass(i,a):e.effects.animateClass.call(this,{toggle:i},a,s,n)},switchClass:function(t,i,a,s,n){return e.effects.animateClass.call(this,{add:i,remove:t},a,s,n)}})}(),function(){function s(t,i,a,s){return e.isPlainObject(t)&&(i=t,t=t.effect),t={effect:t},null==i&&(i={}),e.isFunction(i)&&(s=i,a=null,i={}),("number"==typeof i||e.fx.speeds[i])&&(s=a,a=i,i={}),e.isFunction(a)&&(s=a,a=null),i&&e.extend(t,i),a=a||i.duration,t.duration=e.fx.off?0:"number"==typeof a?a:a in e.fx.speeds?e.fx.speeds[a]:e.fx.speeds._default,t.complete=s||i.complete,t}function n(t){return!t||"number"==typeof t||e.fx.speeds[t]?!0:"string"!=typeof t||e.effects.effect[t]?!1:i&&e.effects[t]?!1:!0}e.extend(e.effects,{version:"1.9.2",save:function(e,t){for(var i=0;t.length>i;i++)null!==t[i]&&e.data(a+t[i],e[0].style[t[i]])},restore:function(e,i){var s,n;for(n=0;i.length>n;n++)null!==i[n]&&(s=e.data(a+i[n]),s===t&&(s=""),e.css(i[n],s))},setMode:function(e,t){return"toggle"===t&&(t=e.is(":hidden")?"show":"hide"),t},getBaseline:function(e,t){var i,a;switch(e[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=e[0]/t.height}switch(e[1]){case"left":a=0;break;case"center":a=.5;break;case"right":a=1;break;default:a=e[1]/t.width}return{x:a,y:i}},createWrapper:function(t){if(t.parent().is(".ui-effects-wrapper"))return t.parent();var i={width:t.outerWidth(!0),height:t.outerHeight(!0),"float":t.css("float")},a=e("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),s={width:t.width(),height:t.height()},n=document.activeElement;try{n.id}catch(r){n=document.body}return t.wrap(a),(t[0]===n||e.contains(t[0],n))&&e(n).focus(),a=t.parent(),"static"===t.css("position")?(a.css({position:"relative"}),t.css({position:"relative"})):(e.extend(i,{position:t.css("position"),zIndex:t.css("z-index")}),e.each(["top","left","bottom","right"],function(e,a){i[a]=t.css(a),isNaN(parseInt(i[a],10))&&(i[a]="auto")}),t.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),t.css(s),a.css(i).show()},removeWrapper:function(t){var i=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),(t[0]===i||e.contains(t[0],i))&&e(i).focus()),t},setTransition:function(t,i,a,s){return s=s||{},e.each(i,function(e,i){var n=t.cssUnit(i);n[0]>0&&(s[i]=n[0]*a+n[1])}),s}}),e.fn.extend({effect:function(){function t(t){function i(){e.isFunction(n)&&n.call(s[0]),e.isFunction(t)&&t()}var s=e(this),n=a.complete,r=a.mode;(s.is(":hidden")?"hide"===r:"show"===r)?i():o.call(s[0],a,i)}var a=s.apply(this,arguments),n=a.mode,r=a.queue,o=e.effects.effect[a.effect],h=!o&&i&&e.effects[a.effect];return e.fx.off||!o&&!h?n?this[n](a.duration,a.complete):this.each(function(){a.complete&&a.complete.call(this)}):o?r===!1?this.each(t):this.queue(r||"fx",t):h.call(this,{options:a,duration:a.duration,callback:a.complete,mode:a.mode})},_show:e.fn.show,show:function(e){if(n(e))return this._show.apply(this,arguments);var t=s.apply(this,arguments);return t.mode="show",this.effect.call(this,t)},_hide:e.fn.hide,hide:function(e){if(n(e))return this._hide.apply(this,arguments);var t=s.apply(this,arguments);return t.mode="hide",this.effect.call(this,t)},__toggle:e.fn.toggle,toggle:function(t){if(n(t)||"boolean"==typeof t||e.isFunction(t))return this.__toggle.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="toggle",this.effect.call(this,i)},cssUnit:function(t){var i=this.css(t),a=[];return e.each(["em","px","%","pt"],function(e,t){i.indexOf(t)>0&&(a=[parseFloat(i),t])}),a}})}(),function(){var t={};e.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,i){t[i]=function(t){return Math.pow(t,e+2)}}),e.extend(t,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return 0===e||1===e?e:-Math.pow(2,8*(e-1))*Math.sin((80*(e-1)-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){for(var t,i=4;((t=Math.pow(2,--i))-1)/11>e;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*t-2)/22-e,2)}}),e.each(t,function(t,i){e.easing["easeIn"+t]=i,e.easing["easeOut"+t]=function(e){return 1-i(1-e)},e.easing["easeInOut"+t]=function(e){return.5>e?i(2*e)/2:1-i(-2*e+2)/2}})}()}(jQuery);(function(e){var t=/up|down|vertical/,i=/up|left|vertical|horizontal/;e.effects.effect.blind=function(a,s){var n,r,o,l=e(this),h=["position","top","bottom","left","right","height","width"],u=e.effects.setMode(l,a.mode||"hide"),d=a.direction||"up",c=t.test(d),p=c?"height":"width",m=c?"top":"left",f=i.test(d),g={},v="show"===u;l.parent().is(".ui-effects-wrapper")?e.effects.save(l.parent(),h):e.effects.save(l,h),l.show(),n=e.effects.createWrapper(l).css({overflow:"hidden"}),r=n[p](),o=parseFloat(n.css(m))||0,g[p]=v?r:0,f||(l.css(c?"bottom":"right",0).css(c?"top":"left","auto").css({position:"absolute"}),g[m]=v?o:r+o),v&&(n.css(p,0),f||n.css(m,o+r)),n.animate(g,{duration:a.duration,easing:a.easing,queue:!1,complete:function(){"hide"===u&&l.hide(),e.effects.restore(l,h),e.effects.removeWrapper(l),s()}})}})(jQuery);(function(e){e.effects.effect.bounce=function(t,i){var a,s,n,r=e(this),o=["position","top","bottom","left","right","height","width"],l=e.effects.setMode(r,t.mode||"effect"),h="hide"===l,u="show"===l,d=t.direction||"up",c=t.distance,p=t.times||5,m=2*p+(u||h?1:0),f=t.duration/m,g=t.easing,v="up"===d||"down"===d?"top":"left",y="up"===d||"left"===d,b=r.queue(),_=b.length;for((u||h)&&o.push("opacity"),e.effects.save(r,o),r.show(),e.effects.createWrapper(r),c||(c=r["top"===v?"outerHeight":"outerWidth"]()/3),u&&(n={opacity:1},n[v]=0,r.css("opacity",0).css(v,y?2*-c:2*c).animate(n,f,g)),h&&(c/=Math.pow(2,p-1)),n={},n[v]=0,a=0;p>a;a++)s={},s[v]=(y?"-=":"+=")+c,r.animate(s,f,g).animate(n,f,g),c=h?2*c:c/2;h&&(s={opacity:0},s[v]=(y?"-=":"+=")+c,r.animate(s,f,g)),r.queue(function(){h&&r.hide(),e.effects.restore(r,o),e.effects.removeWrapper(r),i()}),_>1&&b.splice.apply(b,[1,0].concat(b.splice(_,m+1))),r.dequeue()}})(jQuery);(function(e){e.effects.effect.clip=function(t,i){var a,s,n,r=e(this),o=["position","top","bottom","left","right","height","width"],l=e.effects.setMode(r,t.mode||"hide"),h="show"===l,u=t.direction||"vertical",d="vertical"===u,c=d?"height":"width",p=d?"top":"left",m={};e.effects.save(r,o),r.show(),a=e.effects.createWrapper(r).css({overflow:"hidden"}),s="IMG"===r[0].tagName?a:r,n=s[c](),h&&(s.css(c,0),s.css(p,n/2)),m[c]=h?n:0,m[p]=h?0:n/2,s.animate(m,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){h||r.hide(),e.effects.restore(r,o),e.effects.removeWrapper(r),i()}})}})(jQuery);(function(e){e.effects.effect.drop=function(t,i){var a,s=e(this),n=["position","top","bottom","left","right","opacity","height","width"],r=e.effects.setMode(s,t.mode||"hide"),o="show"===r,l=t.direction||"left",h="up"===l||"down"===l?"top":"left",u="up"===l||"left"===l?"pos":"neg",d={opacity:o?1:0};e.effects.save(s,n),s.show(),e.effects.createWrapper(s),a=t.distance||s["top"===h?"outerHeight":"outerWidth"](!0)/2,o&&s.css("opacity",0).css(h,"pos"===u?-a:a),d[h]=(o?"pos"===u?"+=":"-=":"pos"===u?"-=":"+=")+a,s.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===r&&s.hide(),e.effects.restore(s,n),e.effects.removeWrapper(s),i()}})}})(jQuery);(function(e){e.effects.effect.explode=function(t,i){function a(){b.push(this),b.length===d*c&&s()}function s(){p.css({visibility:"visible"}),e(b).remove(),f||p.hide(),i()}var n,r,o,l,h,u,d=t.pieces?Math.round(Math.sqrt(t.pieces)):3,c=d,p=e(this),m=e.effects.setMode(p,t.mode||"hide"),f="show"===m,g=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/c),y=Math.ceil(p.outerHeight()/d),b=[];for(n=0;d>n;n++)for(l=g.top+n*y,u=n-(d-1)/2,r=0;c>r;r++)o=g.left+r*v,h=r-(c-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-r*v,top:-n*y}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:y,left:o+(f?h*v:0),top:l+(f?u*y:0),opacity:f?0:1}).animate({left:o+(f?0:h*v),top:l+(f?0:u*y),opacity:f?1:0},t.duration||500,t.easing,a)}})(jQuery);(function(e){e.effects.effect.fade=function(t,i){var a=e(this),s=e.effects.setMode(a,t.mode||"toggle");a.animate({opacity:s},{queue:!1,duration:t.duration,easing:t.easing,complete:i})}})(jQuery);(function(e){e.effects.effect.fold=function(t,i){var a,s,n=e(this),r=["position","top","bottom","left","right","height","width"],o=e.effects.setMode(n,t.mode||"hide"),l="show"===o,h="hide"===o,u=t.size||15,d=/([0-9]+)%/.exec(u),c=!!t.horizFirst,p=l!==c,m=p?["width","height"]:["height","width"],f=t.duration/2,g={},v={};e.effects.save(n,r),n.show(),a=e.effects.createWrapper(n).css({overflow:"hidden"}),s=p?[a.width(),a.height()]:[a.height(),a.width()],d&&(u=parseInt(d[1],10)/100*s[h?0:1]),l&&a.css(c?{height:0,width:u}:{height:u,width:0}),g[m[0]]=l?s[0]:u,v[m[1]]=l?s[1]:0,a.animate(g,f,t.easing).animate(v,f,t.easing,function(){h&&n.hide(),e.effects.restore(n,r),e.effects.removeWrapper(n),i()})}})(jQuery);(function(e){e.effects.effect.highlight=function(t,i){var a=e(this),s=["backgroundImage","backgroundColor","opacity"],n=e.effects.setMode(a,t.mode||"show"),r={backgroundColor:a.css("backgroundColor")};"hide"===n&&(r.opacity=0),e.effects.save(a,s),a.show().css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(r,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===n&&a.hide(),e.effects.restore(a,s),i()}})}})(jQuery);(function(e){e.effects.effect.pulsate=function(t,i){var a,s=e(this),n=e.effects.setMode(s,t.mode||"show"),r="show"===n,o="hide"===n,l=r||"hide"===n,h=2*(t.times||5)+(l?1:0),u=t.duration/h,d=0,c=s.queue(),p=c.length;for((r||!s.is(":visible"))&&(s.css("opacity",0).show(),d=1),a=1;h>a;a++)s.animate({opacity:d},u,t.easing),d=1-d;s.animate({opacity:d},u,t.easing),s.queue(function(){o&&s.hide(),i()}),p>1&&c.splice.apply(c,[1,0].concat(c.splice(p,h+1))),s.dequeue()}})(jQuery);(function(e){e.effects.effect.puff=function(t,i){var a=e(this),s=e.effects.setMode(a,t.mode||"hide"),n="hide"===s,r=parseInt(t.percent,10)||150,o=r/100,h={height:a.height(),width:a.width(),outerHeight:a.outerHeight(),outerWidth:a.outerWidth()};e.extend(t,{effect:"scale",queue:!1,fade:!0,mode:s,complete:i,percent:n?r:100,from:n?h:{height:h.height*o,width:h.width*o,outerHeight:h.outerHeight*o,outerWidth:h.outerWidth*o}}),a.effect(t)},e.effects.effect.scale=function(t,i){var a=e(this),s=e.extend(!0,{},t),n=e.effects.setMode(a,t.mode||"effect"),r=parseInt(t.percent,10)||(0===parseInt(t.percent,10)?0:"hide"===n?0:100),o=t.direction||"both",h=t.origin,l={height:a.height(),width:a.width(),outerHeight:a.outerHeight(),outerWidth:a.outerWidth()},u={y:"horizontal"!==o?r/100:1,x:"vertical"!==o?r/100:1};s.effect="size",s.queue=!1,s.complete=i,"effect"!==n&&(s.origin=h||["middle","center"],s.restore=!0),s.from=t.from||("show"===n?{height:0,width:0,outerHeight:0,outerWidth:0}:l),s.to={height:l.height*u.y,width:l.width*u.x,outerHeight:l.outerHeight*u.y,outerWidth:l.outerWidth*u.x},s.fade&&("show"===n&&(s.from.opacity=0,s.to.opacity=1),"hide"===n&&(s.from.opacity=1,s.to.opacity=0)),a.effect(s)},e.effects.effect.size=function(t,i){var a,s,n,r=e(this),o=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],l=["width","height","overflow"],u=["fontSize"],d=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],c=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=e.effects.setMode(r,t.mode||"effect"),f=t.restore||"effect"!==p,m=t.scale||"both",g=t.origin||["middle","center"],v=r.css("position"),y=f?o:h,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&r.show(),a={height:r.height(),width:r.width(),outerHeight:r.outerHeight(),outerWidth:r.outerWidth()},"toggle"===t.mode&&"show"===p?(r.from=t.to||b,r.to=t.from||a):(r.from=t.from||("show"===p?b:a),r.to=t.to||("hide"===p?b:a)),n={from:{y:r.from.height/a.height,x:r.from.width/a.width},to:{y:r.to.height/a.height,x:r.to.width/a.width}},("box"===m||"both"===m)&&(n.from.y!==n.to.y&&(y=y.concat(d),r.from=e.effects.setTransition(r,d,n.from.y,r.from),r.to=e.effects.setTransition(r,d,n.to.y,r.to)),n.from.x!==n.to.x&&(y=y.concat(c),r.from=e.effects.setTransition(r,c,n.from.x,r.from),r.to=e.effects.setTransition(r,c,n.to.x,r.to))),("content"===m||"both"===m)&&n.from.y!==n.to.y&&(y=y.concat(u).concat(l),r.from=e.effects.setTransition(r,u,n.from.y,r.from),r.to=e.effects.setTransition(r,u,n.to.y,r.to)),e.effects.save(r,y),r.show(),e.effects.createWrapper(r),r.css("overflow","hidden").css(r.from),g&&(s=e.effects.getBaseline(g,a),r.from.top=(a.outerHeight-r.outerHeight())*s.y,r.from.left=(a.outerWidth-r.outerWidth())*s.x,r.to.top=(a.outerHeight-r.to.outerHeight)*s.y,r.to.left=(a.outerWidth-r.to.outerWidth)*s.x),r.css(r.from),("content"===m||"both"===m)&&(d=d.concat(["marginTop","marginBottom"]).concat(u),c=c.concat(["marginLeft","marginRight"]),l=o.concat(d).concat(c),r.find("*[width]").each(function(){var i=e(this),a={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()};f&&e.effects.save(i,l),i.from={height:a.height*n.from.y,width:a.width*n.from.x,outerHeight:a.outerHeight*n.from.y,outerWidth:a.outerWidth*n.from.x},i.to={height:a.height*n.to.y,width:a.width*n.to.x,outerHeight:a.height*n.to.y,outerWidth:a.width*n.to.x},n.from.y!==n.to.y&&(i.from=e.effects.setTransition(i,d,n.from.y,i.from),i.to=e.effects.setTransition(i,d,n.to.y,i.to)),n.from.x!==n.to.x&&(i.from=e.effects.setTransition(i,c,n.from.x,i.from),i.to=e.effects.setTransition(i,c,n.to.x,i.to)),i.css(i.from),i.animate(i.to,t.duration,t.easing,function(){f&&e.effects.restore(i,l)})})),r.animate(r.to,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){0===r.to.opacity&&r.css("opacity",r.from.opacity),"hide"===p&&r.hide(),e.effects.restore(r,y),f||("static"===v?r.css({position:"relative",top:r.to.top,left:r.to.left}):e.each(["top","left"],function(e,t){r.css(t,function(t,i){var a=parseInt(i,10),s=e?r.to.left:r.to.top;return"auto"===i?s+"px":a+s+"px"})})),e.effects.removeWrapper(r),i()}})}})(jQuery);(function(e){e.effects.effect.shake=function(t,i){var a,s=e(this),n=["position","top","bottom","left","right","height","width"],r=e.effects.setMode(s,t.mode||"effect"),o=t.direction||"left",h=t.distance||20,l=t.times||3,u=2*l+1,d=Math.round(t.duration/u),c="up"===o||"down"===o?"top":"left",p="up"===o||"left"===o,f={},m={},g={},v=s.queue(),y=v.length;for(e.effects.save(s,n),s.show(),e.effects.createWrapper(s),f[c]=(p?"-=":"+=")+h,m[c]=(p?"+=":"-=")+2*h,g[c]=(p?"-=":"+=")+2*h,s.animate(f,d,t.easing),a=1;l>a;a++)s.animate(m,d,t.easing).animate(g,d,t.easing);s.animate(m,d,t.easing).animate(f,d/2,t.easing).queue(function(){"hide"===r&&s.hide(),e.effects.restore(s,n),e.effects.removeWrapper(s),i()}),y>1&&v.splice.apply(v,[1,0].concat(v.splice(y,u+1))),s.dequeue()}})(jQuery);(function(e){e.effects.effect.slide=function(t,i){var a,s=e(this),n=["position","top","bottom","left","right","width","height"],r=e.effects.setMode(s,t.mode||"show"),o="show"===r,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h,d={};e.effects.save(s,n),s.show(),a=t.distance||s["top"===l?"outerHeight":"outerWidth"](!0),e.effects.createWrapper(s).css({overflow:"hidden"}),o&&s.css(l,u?isNaN(a)?"-"+a:-a:a),d[l]=(o?u?"+=":"-=":u?"-=":"+=")+a,s.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===r&&s.hide(),e.effects.restore(s,n),e.effects.removeWrapper(s),i()}})}})(jQuery);(function(e){e.effects.effect.transfer=function(t,i){var a=e(this),s=e(t.to),n="fixed"===s.css("position"),r=e("body"),o=n?r.scrollTop():0,h=n?r.scrollLeft():0,l=s.offset(),u={top:l.top-o,left:l.left-h,height:s.innerHeight(),width:s.innerWidth()},d=a.offset(),c=e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(t.className).css({top:d.top-o,left:d.left-h,height:a.innerHeight(),width:a.innerWidth(),position:n?"fixed":"absolute"}).animate(u,t.duration,t.easing,function(){c.remove(),i()})}})(jQuery); \ No newline at end of file
diff --git a/plugins/jqueryui/themes/classic/jquery-ui-1.9.1.custom.css b/plugins/jqueryui/themes/classic/jquery-ui-1.9.2.custom.css
index 1002a95fe..617d3e16a 100755
--- a/plugins/jqueryui/themes/classic/jquery-ui-1.9.1.custom.css
+++ b/plugins/jqueryui/themes/classic/jquery-ui-1.9.2.custom.css
@@ -431,6 +431,10 @@ input.ui-button { padding: .4em 1em; }
/* workarounds */
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+
+.ui-button.mainaction { font-weight: bold; border: 1px solid #999; }
+
+
/*
* jQuery UI Dialog 1.8.18
*
diff --git a/plugins/jqueryui/themes/larry/jquery-ui-1.9.1.custom.css b/plugins/jqueryui/themes/larry/jquery-ui-1.9.2.custom.css
index 3062bbb62..383586091 100755
--- a/plugins/jqueryui/themes/larry/jquery-ui-1.9.1.custom.css
+++ b/plugins/jqueryui/themes/larry/jquery-ui-1.9.2.custom.css
@@ -475,13 +475,29 @@ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra pad
outline: none;
}
+.ui-button.mainaction {
+ color: #ededed;
+ text-shadow: 0px 1px 1px #333;
+ border-color: #1f262c;
+ background: #505050;
+ background: -moz-linear-gradient(top, #505050 0%, #2a2e31 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#505050), color-stop(100%,#2a2e31));
+ background: -o-linear-gradient(top, #505050 0%, #2a2e31 100%);
+ background: -ms-linear-gradient(top, #505050 0%, #2a2e31 100%);
+ background: linear-gradient(top, #505050 0%, #2a2e31 100%);
+ -moz-box-shadow: inset 0 1px 0 0 #777;
+ -webkit-box-shadow: inset 0 1px 0 0 #777;
+ -o-box-shadow: inset 0 1px 0 0 #777;
+ box-shadow: inset 0 1px 0 0 #777;
+}
+
.ui-button.ui-state-focus {
color: #525252;
border-color: #4fadd5;
- box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6);
-moz-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6);
-webkit-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6);
-o-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6);
+ box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6);
}
.ui-button.ui-state-active {
@@ -496,6 +512,35 @@ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra pad
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e6e6e6', endColorstr='#f9f9f9', GradientType=0);
}
+.ui-button.ui-state-focus.mainaction,
+.ui-button.ui-state-hover.mainaction {
+ color: #fff;
+}
+
+.ui-button.ui-state-focus.mainaction {
+ border-color: #1f262c;
+ -moz-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6), inset 0 1px 0 0 #777;
+ -webkit-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6), inset 0 1px 0 0 #777;
+ -o-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6), inset 0 1px 0 0 #777;
+ box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6), inset 0 1px 0 0 #777;
+}
+
+.ui-button.ui-state-active.mainaction {
+ color: #fff;
+ background: #515151;
+ background: -moz-linear-gradient(top, #2a2e31 0%, #505050 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#2a2e31), color-stop(100%,#505050));
+ background: -o-linear-gradient(top, #2a2e31 0%, #505050 100%);
+ background: -ms-linear-gradient(top, #2a2e31 0%, #505050 100%);
+ background: linear-gradient(top, #2a2e31 0%, #505050 100%);
+}
+
+.ui-button[disabled],
+.ui-button[disabled]:hover,
+.ui-button.mainaction[disabled] {
+ color: #aaa !important;
+}
+
/*
* jQuery UI Dialog 1.8.18
*
@@ -518,6 +563,11 @@ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra pad
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
.ui-draggable .ui-dialog-titlebar { cursor: move; }
+
+.ui-dialog .uibox { background-color: #fbfbfb; -moz-box-shadow: 0 0 1px #aaa; -webkit-box-shadow: 0 0 1px #aaa; box-shadow: 0 0 1px #aaa; }
+.ui-dialog .uibox ul.proplist li, .ui-dialog .uibox table.propform td { border-bottom-color: #fbfbfb; }
+.ui-dialog .listbox { background: #d9ecf4; }
+
/*
* jQuery UI Slider 1.8.18
*
@@ -568,7 +618,7 @@ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra pad
.ui-tabs .ui-tabs-nav li.ui-tabs-active { }
.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-dialog-content .tabsbar .tablink.selected a { outline:none; color: #004458; background: #efefef; background: -moz-linear-gradient(top, #fafafa 40%, #e4e4e4 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(40%,#fff), color-stop(100%,#e4e4e4)); background: -o-linear-gradient(top, #fafafa 40%, #e4e4e4 100%); background: -ms-linear-gradient(top, #fafafa 40%, #e4e4e4 100%); background: linear-gradient(top, #fafafa 40%, #e4e4e4 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fafafa', endColorstr='#e4e4e4', GradientType=0); }
.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-state-processing a { cursor: text; }
-.ui-tabs .ui-tabs-nav li:last-child { background: none; }
+.ui-tabs .ui-tabs-nav li:last-child { /* background: none; */ }
.ui-tabs .ui-tabs-nav li:last-child a { border: 0; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 0.5em 1em; margin-top: 0.2em; background: #efefef; }
diff --git a/plugins/jqueryui/themes/redmond/jquery-ui-1.9.1.custom.css b/plugins/jqueryui/themes/redmond/jquery-ui-1.9.2.custom.css
index 614420add..614420add 100755
--- a/plugins/jqueryui/themes/redmond/jquery-ui-1.9.1.custom.css
+++ b/plugins/jqueryui/themes/redmond/jquery-ui-1.9.2.custom.css
diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog
index 825bef6fd..afdafed28 100644
--- a/plugins/managesieve/Changelog
+++ b/plugins/managesieve/Changelog
@@ -1,9 +1,19 @@
+- Added optional separate interface for out-of-office management (#1488266)
+
+* version 7.2 [2014-02-14]
+-----------------------------------------------------------
- Nicely handle server-side modification of script names (#1489412)
- Add Filters tab/section using plugin API hook
+- Fix issue where folder selector wasn't visible on new filter form
+- Fix issue where multi-select fields were not visible in new filter action rows (#1489600)
+- Fix issue in displaying filter form when managesieve_kolab_master=true
+ and sieve variables extension is supported by the server (#1489599)
+- Fix wrong action folder selection if managesieve_domains is not empty (#1489617)
+- Fix filter creation from an email when preview frame is disabled (#1489647)
* version 7.1 [2013-11-22]
-----------------------------------------------------------
-- lib/Net Sieve.php moved to Roundcube /lib directory
+- lib/Net_Sieve.php moved to Roundcube /lib directory
- Added managesieve_domains option to limit redirect destinations
- Fix bug where at least one additional address of vacation message was required (#1489345)
- Fix so i;ascii-numeric comparator is not forced as default for :count and :value operators
diff --git a/plugins/managesieve/composer.json b/plugins/managesieve/composer.json
index 58c70e5b9..51e76bc92 100644
--- a/plugins/managesieve/composer.json
+++ b/plugins/managesieve/composer.json
@@ -3,7 +3,7 @@
"type": "roundcube-plugin",
"description": "Adds a possibility to manage Sieve scripts (incoming mail filters). It's clickable interface which operates on text scripts and communicates with server using managesieve protocol. Adds Filters tab in Settings.",
"license": "GNU GPLv3+",
- "version": "7.0",
+ "version": "7.2",
"authors": [
{
"name": "Aleksander Machniak",
diff --git a/plugins/managesieve/config.inc.php.dist b/plugins/managesieve/config.inc.php.dist
index 52d3a9b1e..316eddd4f 100644
--- a/plugins/managesieve/config.inc.php.dist
+++ b/plugins/managesieve/config.inc.php.dist
@@ -68,4 +68,10 @@ $config['managesieve_filename_exceptions'] = array();
// If not empty, user will need to select domain from a list
$config['managesieve_domains'] = array();
+// Enables separate management interface for vacation responses (out-of-office)
+// 0 - no separate section (default),
+// 1 - add Vacation section,
+// 2 - add Vacation section, but hide Filters section
+$config['managesieve_vacation'] = 0;
+
?>
diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php b/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
index 4a375d353..a1bcc86ca 100644
--- a/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
+++ b/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
@@ -24,21 +24,21 @@
class rcube_sieve_engine
{
- private $rc;
- private $sieve;
- private $errors;
- private $form;
- private $tips = array();
- private $script = array();
- private $exts = array();
- private $list;
- private $active = array();
- private $headers = array(
+ protected $rc;
+ protected $sieve;
+ protected $errors;
+ protected $form;
+ protected $tips = array();
+ protected $script = array();
+ protected $exts = array();
+ protected $list;
+ protected $active = array();
+ protected $headers = array(
'subject' => 'Subject',
'from' => 'From',
'to' => 'To',
);
- private $addr_headers = array(
+ protected $addr_headers = array(
// Required
"from", "to", "cc", "bcc", "sender", "resent-from", "resent-to",
// Additional (RFC 822 / RFC 2822)
@@ -53,7 +53,7 @@ class rcube_sieve_engine
"x-beenthere",
);
- const VERSION = '7.1';
+ const VERSION = '8.0';
const PROGNAME = 'Roundcube (Managesieve)';
const PORT = 4190;
@@ -70,7 +70,7 @@ class rcube_sieve_engine
/**
* Loads configuration, initializes plugin (including sieve connection)
*/
- function start()
+ function start($mode = null)
{
// register UI objects
$this->rc->output->add_handlers(array(
@@ -137,13 +137,16 @@ class rcube_sieve_engine
$this->rc->session->remove('managesieve_current');
}
- if (!empty($_GET['_set']) || !empty($_POST['_set'])) {
- $script_name = rcube_utils::get_input_value('_set', rcube_utils::INPUT_GPC, true);
- }
- else if (!empty($_SESSION['managesieve_current'])) {
- $script_name = $_SESSION['managesieve_current'];
+ if ($mode != 'vacation') {
+ if (!empty($_GET['_set']) || !empty($_POST['_set'])) {
+ $script_name = rcube_utils::get_input_value('_set', rcube_utils::INPUT_GPC, true);
+ }
+ else if (!empty($_SESSION['managesieve_current'])) {
+ $script_name = $_SESSION['managesieve_current'];
+ }
}
- else {
+
+ if ($script_name === null || $script_name === '') {
// get (first) active script
if (!empty($this->active[0])) {
$script_name = $this->active[0];
@@ -980,7 +983,7 @@ class rcube_sieve_engine
}
if (!$this->errors && !$error) {
- // zapis skryptu
+ // save the script
if (!isset($this->script[$fid])) {
$fid = $this->sieve->script->add_rule($this->form);
$new = true;
@@ -1016,7 +1019,7 @@ class rcube_sieve_engine
$this->send();
}
- private function send()
+ protected function send()
{
// Handle form action
if (isset($_GET['_framed']) || isset($_POST['_framed'])) {
@@ -1026,7 +1029,8 @@ class rcube_sieve_engine
else {
$this->rc->output->send('managesieve.filteredit');
}
- } else {
+ }
+ else {
$this->rc->output->set_pagetitle($this->plugin->gettext('filters'));
$this->rc->output->send('managesieve.managesieve');
}
@@ -1642,11 +1646,12 @@ class rcube_sieve_engine
$domain_select = new html_select(array('name' => "_action_target_domain[$id]", 'id' => 'action_target_domain'.$id));
$domain_select->add(array_combine($domains, $domains));
- $parts = explode('@', $action['target']);
-
- if (!empty($parts)) {
- $action['domain'] = array_pop($parts);
- $action['target'] = implode('@', $parts);
+ if ($action['type'] == 'redirect') {
+ $parts = explode('@', $action['target']);
+ if (!empty($parts)) {
+ $action['domain'] = array_pop($parts);
+ $action['target'] = implode('@', $parts);
+ }
}
}
@@ -1788,7 +1793,7 @@ class rcube_sieve_engine
'maxlength' => 100,
'id' => 'action_mailbox' . $id,
'name' => "_action_mailbox[$id]",
- 'style' => 'display:'.(!isset($action) || $action['type']=='fileinto' ? 'inline' : 'none')
+ 'style' => 'display:'.(empty($action['type']) || $action['type'] == 'fileinto' ? 'inline' : 'none')
));
$out .= $select->show($mailbox);
$out .= '</td>';
@@ -1808,12 +1813,12 @@ class rcube_sieve_engine
return $out;
}
- private function genid()
+ protected function genid()
{
return preg_replace('/[^0-9]/', '', microtime(true));
}
- private function strip_value($str, $allow_html = false, $trim = true)
+ protected function strip_value($str, $allow_html = false, $trim = true)
{
if (is_array($str)) {
foreach ($str as $idx => $val) {
@@ -1834,7 +1839,7 @@ class rcube_sieve_engine
return $trim ? trim($str) : $str;
}
- private function error_class($id, $type, $target, $elem_prefix='')
+ protected function error_class($id, $type, $target, $elem_prefix='')
{
// TODO: tooltips
if (($type == 'test' && ($str = $this->errors['tests'][$id][$target])) ||
@@ -1847,7 +1852,7 @@ class rcube_sieve_engine
return '';
}
- private function add_tip($id, $str, $error=false)
+ protected function add_tip($id, $str, $error=false)
{
if ($error)
$str = html::span('sieve error', $str);
@@ -1855,7 +1860,7 @@ class rcube_sieve_engine
$this->tips[] = array($id, $str);
}
- private function print_tips()
+ protected function print_tips()
{
if (empty($this->tips))
return;
@@ -1864,7 +1869,7 @@ class rcube_sieve_engine
$this->rc->output->add_script($script, 'foot');
}
- private function list_input($id, $name, $value, $enabled, $class, $size=null)
+ protected function list_input($id, $name, $value, $enabled, $class, $size=null)
{
$value = (array) $value;
$value = array_map(array('rcube', 'Q'), $value);
@@ -1880,7 +1885,7 @@ class rcube_sieve_engine
/**
* Validate input for date part elements
*/
- private function validate_date_part($type, $value)
+ protected function validate_date_part($type, $value)
{
// we do simple validation of date/part format
switch ($type) {
@@ -1925,7 +1930,7 @@ class rcube_sieve_engine
*
* @return string Mailbox name
*/
- private function mod_mailbox($mailbox, $mode = 'out')
+ protected function mod_mailbox($mailbox, $mode = 'out')
{
$delimiter = $_SESSION['imap_delimiter'];
$replace_delimiter = $this->rc->config->get('managesieve_replace_delimiter');
@@ -2217,7 +2222,7 @@ class rcube_sieve_engine
/**
* Initializes internal script data
*/
- private function init_script()
+ protected function init_script()
{
$this->script = $this->sieve->script->as_array();
diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve_script.php b/plugins/managesieve/lib/Roundcube/rcube_sieve_script.php
index 6fbc3f89d..c6ad78add 100644
--- a/plugins/managesieve/lib/Roundcube/rcube_sieve_script.php
+++ b/plugins/managesieve/lib/Roundcube/rcube_sieve_script.php
@@ -585,6 +585,7 @@ class rcube_sieve_script
if ($rule[0]['type'] == 'set') {
unset($rule[0]['type']);
$this->vars[] = $rule[0];
+ unset($rule);
}
else {
$rule = array('actions' => $rule);
diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php b/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php
new file mode 100644
index 000000000..636b5fcc1
--- /dev/null
+++ b/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php
@@ -0,0 +1,303 @@
+<?php
+
+/**
+ * Managesieve Vacation Engine
+ *
+ * Engine part of Managesieve plugin implementing UI and backend access.
+ *
+ * Copyright (C) 2011-2014, Kolab Systems AG
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see http://www.gnu.org/licenses/.
+ */
+
+class rcube_sieve_vacation extends rcube_sieve_engine
+{
+ function actions()
+ {
+ $error = $this->start('vacation');
+
+ // find current vacation rule
+ if (!$error) {
+ $this->vacation_rule();
+ $this->vacation_post();
+ }
+
+ $this->plugin->add_label('vacation.saving');
+ $this->rc->output->add_handlers(array(
+ 'vacationform' => array($this, 'vacation_form'),
+ ));
+
+ $this->rc->output->set_pagetitle($this->plugin->gettext('vacation'));
+ $this->rc->output->send('managesieve.vacation');
+ }
+
+ private function vacation_rule()
+ {
+ $this->vacation = array();
+
+ if (empty($this->active)) {
+ return;
+ }
+
+ $list = array();
+
+ // find (first) vacation rule
+ foreach ($this->script as $idx => $rule) {
+ if (empty($this->vacation) && !empty($rule['actions']) && $rule['actions'][0]['type'] == 'vacation') {
+ $this->vacation = array_merge($rule['actions'][0], array(
+ 'idx' => $idx,
+ 'disabled' => $rule['disabled'],
+ 'name' => $rule['name'],
+ 'tests' => $rule['tests'],
+ ));
+ }
+ else {
+ $list[$idx] = $rule['name'];
+ }
+ }
+
+ $this->vacation['list'] = $list;
+ }
+
+ private function vacation_post()
+ {
+ if (empty($_POST)) {
+ return;
+ }
+
+ $status = rcube_utils::get_input_value('vacation_status', rcube_utils::INPUT_POST);
+ $subject = rcube_utils::get_input_value('vacation_subject', rcube_utils::INPUT_POST, true);
+ $reason = rcube_utils::get_input_value('vacation_reason', rcube_utils::INPUT_POST, true);
+ $addresses = rcube_utils::get_input_value('vacation_addresses', rcube_utils::INPUT_POST, true);
+ $interval = rcube_utils::get_input_value('vacation_interval', rcube_utils::INPUT_POST);
+ $interval_type = rcube_utils::get_input_value('vacation_interval_type', rcube_utils::INPUT_POST);
+ $date_from = rcube_utils::get_input_value('vacation_datefrom', rcube_utils::INPUT_POST);
+ $date_to = rcube_utils::get_input_value('vacation_dateto', rcube_utils::INPUT_POST);
+ $after = rcube_utils::get_input_value('vacation_after', rcube_utils::INPUT_POST);
+
+ $interval_type = $interval_type == 'seconds' ? 'seconds' : 'days';
+ $vacation_action['type'] = 'vacation';
+ $vacation_action['reason'] = $this->strip_value(str_replace("\r\n", "\n", $reason));
+ $vacation_action['subject'] = $subject;
+ $vacation_action['addresses'] = $addresses;
+ $vacation_action[$interval_type] = $interval;
+ $vacation_tests = (array) $this->vacation['tests'];
+
+ foreach ((array) $vacation_action['addresses'] as $aidx => $address) {
+ $vacation_action['addresses'][$aidx] = $address = trim($address);
+
+ if (empty($address)) {
+ unset($vacation_action['addresses'][$aidx]);
+ }
+ else if (!rcube_utils::check_email($address)) {
+ $error = 'noemailwarning';
+ break;
+ }
+ }
+
+ if ($vacation_action['reason'] == '') {
+ $error = 'managesieve.cannotbeempty';
+ }
+ if ($vacation_action[$interval_type] && !preg_match('/^[0-9]+$/', $vacation_action[$interval_type])) {
+ $error = 'managesieve.forbiddenchars';
+ }
+
+ foreach (array('date_from', 'date_to') as $var) {
+ $date = $$var;
+
+ if ($date && ($dt = rcube_utils::anytodatetime($date))) {
+ $type = 'value-' . ($var == 'date_from' ? 'ge' : 'le');
+ $test = array(
+ 'test' => 'currentdate',
+ 'part' => 'date',
+ 'type' => $type,
+ 'arg' => $dt->format('Y-m-d'),
+ );
+
+ // find existing date rule
+ foreach ((array) $vacation_tests as $idx => $t) {
+ if ($t['test'] == 'currentdate' && $t['part'] == 'date' && $t['type'] == $type) {
+ $vacation_tests[$idx] = $test;
+ continue 2;
+ }
+ }
+
+ $vacation_tests[] = $test;
+ }
+ }
+
+ if (empty($vacation_tests)) {
+ $vacation_tests = $this->rc->config->get('managesieve_vacation_test', array(array('test' => 'true')));
+ }
+
+ // @TODO: handle situation when there's no active script
+
+ if (!$error) {
+ $rule = $this->vacation;
+ $rule['type'] = 'if';
+ $rule['name'] = $rule['name'] ?: $this->plugin->gettext('vacation');
+ $rule['disabled'] = $status == 'off';
+ $rule['actions'][0] = $vacation_action;
+ $rule['tests'] = $vacation_tests;
+ $rule['join'] = count($vacation_tests) > 1;
+
+ // reset original vacation rule
+ if (isset($this->vacation['idx'])) {
+ $this->script[$this->vacation['idx']] = null;
+ }
+
+ // re-order rules if needed
+ if (isset($after) && $after !== '') {
+ // add at target position
+ if ($after >= count($this->script) - 1) {
+ $this->script[] = $rule;
+ }
+ else {
+ $script = array();
+
+ foreach ($this->script as $idx => $r) {
+ if ($r) {
+ $script[] = $r;
+ }
+
+ if ($idx == $after) {
+ $script[] = $rule;
+ }
+ }
+
+ $this->script = $script;
+ }
+ }
+ else {
+ array_unshift($this->script, $rule);
+ }
+
+ $this->sieve->script->content = array_values(array_filter($this->script));
+
+ if ($this->save_script()) {
+ $this->rc->output->show_message('managesieve.vacationsaved', 'confirmation');
+ $this->rc->output->send();
+ }
+ }
+
+ $this->rc->output->show_message($error ? $error : 'managesieve.saveerror', 'error');
+ $this->rc->output->send();
+ }
+
+ /**
+ * Independent vacation form
+ */
+ public function vacation_form($attrib)
+ {
+ // check supported extensions
+ $date_extension = in_array('date', $this->exts);
+ $seconds_extension = in_array('vacation-seconds', $this->exts);
+
+ // build FORM tag
+ $form_id = !empty($attrib['id']) ? $attrib['id'] : 'form';
+ $out = $this->rc->output->request_form(array(
+ 'id' => $form_id,
+ 'name' => $form_id,
+ 'method' => 'post',
+ 'task' => 'settings',
+ 'action' => 'plugin.managesieve-vacation',
+ 'noclose' => true
+ ) + $attrib);
+
+ // form elements
+ $subject = new html_inputfield(array('name' => 'vacation_subject', 'size' => 50));
+ $reason = new html_textarea(array('name' => 'vacation_reason', 'cols' => 60, 'rows' => 8));
+ $interval = new html_inputfield(array('name' => 'vacation_interval', 'size' => 5));
+ $addresses = '<textarea name="vacation_addresses" data-type="list" data-size="30" style="display: none">'
+ . rcube::Q(implode("\n", (array) $this->vacation['addresses']), 'strict', false) . '</textarea>';
+ $status = new html_select(array('name' => 'vacation_status'));
+
+ $status->add($this->plugin->gettext('vacation.on'), 'on');
+ $status->add($this->plugin->gettext('vacation.off'), 'off');
+
+ if ($this->rc->config->get('managesieve_vacation') != 2 && count($this->vacation['list'])) {
+ $after = new html_select(array('name' => 'vacation_after'));
+
+ $after->add('', '');
+ foreach ($this->vacation['list'] as $idx => $rule) {
+ $after->add($rule, $idx);
+ }
+ }
+
+ $interval_txt = $interval->show(isset($this->vacation['seconds']) ? $this->vacation['seconds'] : $this->vacation['days']);
+ if ($seconds_extension) {
+ $interval_select = new html_select(array('name' => 'vacation_interval_type'));
+ $interval_select->add($this->plugin->gettext('days'), 'days');
+ $interval_select->add($this->plugin->gettext('seconds'), 'seconds');
+ $interval_txt .= '&nbsp;' . $interval_select->show(isset($this->vacation['seconds']) ? 'seconds' : 'days');
+ }
+ else {
+ $interval_txt .= '&nbsp;' . $this->plugin->gettext('days');
+ }
+
+ if ($date_extension) {
+ $date_from = new html_inputfield(array('name' => 'vacation_datefrom', 'class' => 'datepicker', 'size' => 12));
+ $date_to = new html_inputfield(array('name' => 'vacation_dateto', 'class' => 'datepicker', 'size' => 12));
+ $date_format = $this->rc->config->get('date_format', 'Y-m-d');
+
+ foreach ((array) $this->vacation['tests'] as $test) {
+ if ($test['test'] == 'currentdate' && $test['part'] == 'date') {
+ $date = $this->rc->format_date($test['arg'], $date_format, false);
+ $date_value[$test['type'] == 'value-ge' ? 'from' : 'to'] = $date;
+ }
+ }
+ }
+
+ // Message tab
+ $table = new html_table(array('cols' => 2));
+
+ $table->add('title', html::label('vacation_subject', $this->plugin->gettext('vacation.subject')));
+ $table->add(null, $subject->show($this->vacation['subject']));
+ $table->add('title', html::label('vacation_reason', $this->plugin->gettext('vacation.body')));
+ $table->add(null, $reason->show($this->vacation['reason']));
+
+ if ($date_extension) {
+ $table->add('title', html::label('vacation_datefrom', $this->plugin->gettext('vacation.dates')));
+ $table->add(null,
+ $this->plugin->gettext('vacation.from'). ' ' . $date_from->show($date_value['from'])
+ . ' ' . $this->plugin->gettext('vacation.to'). ' ' . $date_to->show($date_value['to'])
+ );
+ }
+
+ $table->add('title', html::label('vacation_status', $this->plugin->gettext('vacation.status')));
+ $table->add(null, $status->show($this->vacation['disabled'] ? 'off' : 'on'));
+
+ $out .= html::tag('fieldset', $class, html::tag('legend', null, $this->plugin->gettext('vacation.reply')) . $table->show($attrib));
+
+ // Advanced tab
+ $table = new html_table(array('cols' => 2));
+
+ $table->add('title', $this->plugin->gettext('vacation.addresses'));
+ $table->add(null, $addresses);
+ $table->add('title', $this->plugin->gettext('vacation.interval'));
+ $table->add(null, $interval_txt);
+ if ($after) {
+ $table->add('title', $this->plugin->gettext('vacation.after'));
+ $table->add(null, $after->show($this->vacation['idx'] - 1));
+ }
+
+ $out .= html::tag('fieldset', $class, html::tag('legend', null, $this->plugin->gettext('vacation.advanced')) . $table->show($attrib));
+
+ $out .= '</form>';
+
+ $this->rc->output->add_gui_object('sieveform', $form_id);
+
+ return $out;
+ }
+}
diff --git a/plugins/managesieve/localization/cs_CZ.inc b/plugins/managesieve/localization/cs_CZ.inc
index f14b13287..d304da61e 100644
--- a/plugins/managesieve/localization/cs_CZ.inc
+++ b/plugins/managesieve/localization/cs_CZ.inc
@@ -67,7 +67,7 @@ $labels['filterset'] = 'Sada filtrů';
$labels['filtersets'] = 'Sady filtrů';
$labels['filtersetadd'] = 'Přidat sadu filtrů';
$labels['filtersetdel'] = 'Odebrat tuto sadu filtrů';
-$labels['filtersetact'] = 'Zapnout tuto sadu filtrů';
+$labels['filtersetact'] = 'Activate current filters set';
$labels['filtersetdeact'] = 'Vypnout tuto sadu filtrů';
$labels['filterdef'] = 'Definice filtru';
$labels['filtersetname'] = 'Nastavit název sady filtrů';
@@ -180,8 +180,8 @@ $messages['setcreateerror'] = 'Nelze vytvořit sadu filtrů. Došlo k chybě ser
$messages['setcreated'] = 'Sada filtrů úspěšně vytvořena.';
$messages['activateerror'] = 'Nelze zapnout vybrané filtr/y. Došlo k chybě serveru.';
$messages['deactivateerror'] = 'Nelze vypnout vybrané filtr/y. Došlo k chybě serveru.';
-$messages['deactivated'] = 'Filtr/y úspěšně zapnuty.';
-$messages['activated'] = 'Filtr/y úspěšne vypnuty.';
+$messages['deactivated'] = 'Filtr/y úspěšne vypnuty.';
+$messages['activated'] = 'Filtr/y úspěšně zapnuty.';
$messages['moved'] = 'Filtr byl úspěšně přesunut.';
$messages['moveerror'] = 'Nelze přesunout vybraný filtr. Došlo k chybě serveru.';
$messages['nametoolong'] = 'Příliš dlouhý název.';
diff --git a/plugins/managesieve/localization/da_DK.inc b/plugins/managesieve/localization/da_DK.inc
index b67c50786..b240741dc 100644
--- a/plugins/managesieve/localization/da_DK.inc
+++ b/plugins/managesieve/localization/da_DK.inc
@@ -169,14 +169,21 @@ $messages['actiondeleteconfirm'] = 'Er du sikker på du vil slette den valgte ha
$messages['forbiddenchars'] = 'Ulovlige tegn i feltet';
$messages['cannotbeempty'] = 'Feltet kan ikke være tomt.';
$messages['ruleexist'] = 'Filter med dette navn eksisterer allerede.';
+$messages['setactivateerror'] = 'Kan ikke aktiverer valgt filter sæt. Server fejl.';
+$messages['setdeactivateerror'] = 'Kan ikke deaktivere valgt filter sæt. Server fejl.';
+$messages['setdeleteerror'] = 'Kan ikke slette valgt filter sæt. Server fejl.';
$messages['setactivated'] = 'Filter sæt aktiveret.';
$messages['setdeactivated'] = 'Filter sæt deaktiveret.';
$messages['setdeleted'] = 'Filter sæt slettet.';
$messages['setdeleteconfirm'] = 'Er du sikker på du vil slette valgt filter sæt?';
+$messages['setcreateerror'] = 'Kan ikke oprette filter sæt. Server fejl.';
$messages['setcreated'] = 'Filter sæt oprettet.';
+$messages['activateerror'] = 'Kan ikke aktivere valgt filter sæt. Server fejl.';
+$messages['deactivateerror'] = 'Kan ikke deaktivere valgt filter sæt. Server fejl.';
$messages['deactivated'] = 'Filter(filtre) aktiveret.';
$messages['activated'] = 'Filter(filtre) deaktiveret.';
$messages['moved'] = 'Filter flyttet.';
+$messages['moveerror'] = 'Kan ikke flytte valgt filter. Server fejl.';
$messages['nametoolong'] = 'Navn er for langt.';
$messages['namereserved'] = 'Reserveret navn.';
$messages['setexist'] = 'Filterv sæt eksisterer allerede';
diff --git a/plugins/managesieve/localization/de_DE.inc b/plugins/managesieve/localization/de_DE.inc
index ac81ccd75..2eaa21580 100644
--- a/plugins/managesieve/localization/de_DE.inc
+++ b/plugins/managesieve/localization/de_DE.inc
@@ -54,6 +54,7 @@ $labels['add'] = 'Hinzufügen';
$labels['del'] = 'Löschen';
$labels['sender'] = 'Absender';
$labels['recipient'] = 'Empfänger';
+$labels['vacationaddr'] = 'Meine zusätzliche E-Mail-Adresse(n):';
$labels['vacationdays'] = 'Wie oft sollen Nachrichten gesendet werden (in Tagen):';
$labels['vacationinterval'] = 'Wie oft sollen Nachrichten gesendet werden:';
$labels['days'] = 'Tage';
@@ -158,22 +159,31 @@ $labels['index'] = 'index:';
$labels['indexlast'] = 'rückwärts';
$messages['filterunknownerror'] = 'Unbekannter Serverfehler';
$messages['filterconnerror'] = 'Kann keine Verbindung mit Managesieve-Server herstellen';
+$messages['filterdeleteerror'] = 'Filter kann nicht gelöscht werden. Ein Serverfehler ist aufgetreten.';
$messages['filterdeleted'] = 'Filter erfolgreich gelöscht';
$messages['filtersaved'] = 'Filter erfolgreich gespeichert';
+$messages['filtersaveerror'] = 'Filter kann nicht gespeichert werden. Ein Serverfehler ist aufgetreten.';
$messages['filterdeleteconfirm'] = 'Möchten Sie den ausgewählten Filter wirklich löschen?';
$messages['ruledeleteconfirm'] = 'Sind Sie sicher, dass Sie die ausgewählte Regel löschen möchten?';
$messages['actiondeleteconfirm'] = 'Sind Sie sicher, dass Sie die ausgewählte Aktion löschen möchten?';
$messages['forbiddenchars'] = 'Unzulässige Zeichen im Eingabefeld';
$messages['cannotbeempty'] = 'Eingabefeld darf nicht leer sein';
$messages['ruleexist'] = 'Ein Filter mit dem angegebenen Namen existiert bereits.';
+$messages['setactivateerror'] = 'Kann ausgewählten Filtersatz nicht aktivieren. Serverfehler';
+$messages['setdeactivateerror'] = 'Kann ausgewählten Filtersatz nicht deaktivieren. Serverfehler';
+$messages['setdeleteerror'] = 'Kann ausgewählten Filtersatz nicht löschen. Serverfehler';
$messages['setactivated'] = 'Filtersatz wurde erfolgreich aktiviert';
$messages['setdeactivated'] = 'Filtersatz wurde erfolgreich deaktiviert';
$messages['setdeleted'] = 'Filtersatz wurde erfolgreich gelöscht';
$messages['setdeleteconfirm'] = 'Sind Sie sicher, dass Sie den ausgewählten Filtersatz löschen möchten?';
+$messages['setcreateerror'] = 'Erstellen von Filter Sätzen nicht möglich. Es ist ein Serverfehler aufgetreten.';
$messages['setcreated'] = 'Filtersatz wurde erfolgreich erstellt';
+$messages['activateerror'] = 'Filter kann nicht aktiviert werden. Serverfehler.';
+$messages['deactivateerror'] = 'Filter kann nicht deaktiviert werden. Serverfehler.';
$messages['deactivated'] = 'Filter erfolgreich deaktiviert.';
$messages['activated'] = 'Filter erfolgreich aktiviert.';
$messages['moved'] = 'Filter erfolgreich verschoben.';
+$messages['moveerror'] = 'Filter kann nicht verschoben werden. Serverfehler.';
$messages['nametoolong'] = 'Kann Filtersatz nicht erstellen. Name zu lang';
$messages['namereserved'] = 'Reservierter Name.';
$messages['setexist'] = 'Filtersatz existiert bereits.';
diff --git a/plugins/managesieve/localization/en_GB.inc b/plugins/managesieve/localization/en_GB.inc
index 63006144a..f899e60fe 100644
--- a/plugins/managesieve/localization/en_GB.inc
+++ b/plugins/managesieve/localization/en_GB.inc
@@ -47,13 +47,18 @@ $labels['messagesendcopy'] = 'Send message copy to';
$labels['messagereply'] = 'Reply with message';
$labels['messagedelete'] = 'Delete message';
$labels['messagediscard'] = 'Discard with message';
+$labels['messagekeep'] = 'Keep message in Inbox';
$labels['messagesrules'] = 'For incoming mail:';
$labels['messagesactions'] = '...execute the following actions:';
$labels['add'] = 'Add';
$labels['del'] = 'Delete';
$labels['sender'] = 'Sender';
$labels['recipient'] = 'Recipient';
+$labels['vacationaddr'] = 'My additional e-mail address(es):';
$labels['vacationdays'] = 'How often send messages (in days):';
+$labels['vacationinterval'] = 'How often send messages:';
+$labels['days'] = 'days';
+$labels['seconds'] = 'seconds';
$labels['vacationreason'] = 'Message body (vacation reason):';
$labels['vacationsubject'] = 'Message subject:';
$labels['rulestop'] = 'Stop evaluating rules';
@@ -77,11 +82,13 @@ $labels['countisgreaterthanequal'] = 'count is greater than or equal to';
$labels['countislessthan'] = 'count is less than';
$labels['countislessthanequal'] = 'count is less than or equal to';
$labels['countequals'] = 'count is equal to';
+$labels['countnotequals'] = 'count is not equal to';
$labels['valueisgreaterthan'] = 'value is greater than';
$labels['valueisgreaterthanequal'] = 'value is greater than or equal to';
$labels['valueislessthan'] = 'value is less than';
$labels['valueislessthanequal'] = 'value is less than or equal to';
$labels['valueequals'] = 'value is equal to';
+$labels['valuenotequals'] = 'value is not equal to';
$labels['setflags'] = 'Set flags to the message';
$labels['addflags'] = 'Add flags to the message';
$labels['removeflags'] = 'Remove flags from the message';
@@ -90,10 +97,45 @@ $labels['flagdeleted'] = 'Deleted';
$labels['flaganswered'] = 'Answered';
$labels['flagflagged'] = 'Flagged';
$labels['flagdraft'] = 'Draft';
+$labels['setvariable'] = 'Set variable';
+$labels['setvarname'] = 'Variable name:';
+$labels['setvarvalue'] = 'Variable value:';
+$labels['setvarmodifiers'] = 'Modifiers:';
+$labels['varlower'] = 'lower-case';
+$labels['varupper'] = 'upper-case';
+$labels['varlowerfirst'] = 'first character lower-case';
+$labels['varupperfirst'] = 'first character upper-case';
+$labels['varquotewildcard'] = 'quote special characters';
+$labels['varlength'] = 'length';
+$labels['notify'] = 'Send notification';
+$labels['notifyaddress'] = 'To e-mail address:';
+$labels['notifybody'] = 'Notification body:';
+$labels['notifysubject'] = 'Notification subject:';
+$labels['notifyfrom'] = 'Notification sender:';
+$labels['notifyimportance'] = 'Importance:';
+$labels['notifyimportancelow'] = 'low';
+$labels['notifyimportancenormal'] = 'normal';
+$labels['notifyimportancehigh'] = 'high';
$labels['filtercreate'] = 'Create filter';
$labels['usedata'] = 'Use following data in the filter:';
$labels['nextstep'] = 'Next Step';
$labels['...'] = '...';
+$labels['currdate'] = 'Current date';
+$labels['datetest'] = 'Date';
+$labels['dateheader'] = 'header:';
+$labels['year'] = 'year';
+$labels['month'] = 'month';
+$labels['day'] = 'day';
+$labels['date'] = 'date (yyyy-mm-dd)';
+$labels['julian'] = 'date (julian)';
+$labels['hour'] = 'hour';
+$labels['minute'] = 'minute';
+$labels['second'] = 'second';
+$labels['time'] = 'time (hh:mm:ss)';
+$labels['iso8601'] = 'date (ISO8601)';
+$labels['std11'] = 'date (RFC2822)';
+$labels['zone'] = 'time-zone';
+$labels['weekday'] = 'weekday (0-6)';
$labels['advancedopts'] = 'Advanced options';
$labels['body'] = 'Body';
$labels['address'] = 'address';
@@ -113,26 +155,38 @@ $labels['default'] = 'default';
$labels['octet'] = 'strict (octet)';
$labels['asciicasemap'] = 'case insensitive (ascii-casemap)';
$labels['asciinumeric'] = 'numeric (ascii-numeric)';
+$labels['index'] = 'index:';
+$labels['indexlast'] = 'backwards';
$messages['filterunknownerror'] = 'Unknown server error';
$messages['filterconnerror'] = 'Unable to connect to managesieve server';
+$messages['filterdeleteerror'] = 'Unable to delete filter. Server error occurred.';
$messages['filterdeleted'] = 'Filter deleted successfully';
$messages['filtersaved'] = 'Filter saved successfully';
+$messages['filtersaveerror'] = 'Unable to save filter. Server error occurred.';
$messages['filterdeleteconfirm'] = 'Do you really want to delete selected filter?';
$messages['ruledeleteconfirm'] = 'Are you sure, you want to delete selected rule?';
$messages['actiondeleteconfirm'] = 'Are you sure, you want to delete selected action?';
$messages['forbiddenchars'] = 'Forbidden characters in field';
$messages['cannotbeempty'] = 'Field cannot be empty';
$messages['ruleexist'] = 'Filter with specified name already exists.';
+$messages['setactivateerror'] = 'Unable to activate selected filters set. Server error occurred.';
+$messages['setdeactivateerror'] = 'Unable to deactivate selected filters set. Server error occurred.';
+$messages['setdeleteerror'] = 'Unable to delete selected filters set. Server error occurred.';
$messages['setactivated'] = 'Filters set activated successfully.';
$messages['setdeactivated'] = 'Filters set deactivated successfully.';
$messages['setdeleted'] = 'Filters set deleted successfully.';
$messages['setdeleteconfirm'] = 'Are you sure, you want to delete selected filters set?';
+$messages['setcreateerror'] = 'Unable to create filters set. Server error occurred.';
$messages['setcreated'] = 'Filters set created successfully.';
+$messages['activateerror'] = 'Unable to enable selected filter(s). Server error occurred.';
+$messages['deactivateerror'] = 'Unable to disable selected filter(s). Server error occurred.';
$messages['deactivated'] = 'Filter(s) disabled successfully.';
$messages['activated'] = 'Filter(s) enabled successfully.';
$messages['moved'] = 'Filter moved successfully.';
+$messages['moveerror'] = 'Unable to move selected filter. Server error occurred.';
$messages['nametoolong'] = 'Name too long.';
$messages['namereserved'] = 'Reserved name.';
$messages['setexist'] = 'Set already exists.';
$messages['nodata'] = 'At least one position must be selected!';
+$messages['invaliddateformat'] = 'Invalid date or date part format';
?>
diff --git a/plugins/managesieve/localization/en_US.inc b/plugins/managesieve/localization/en_US.inc
index cbe69dc9f..e732b4831 100644
--- a/plugins/managesieve/localization/en_US.inc
+++ b/plugins/managesieve/localization/en_US.inc
@@ -59,10 +59,10 @@ $labels['recipient'] = 'Recipient';
$labels['vacationaddr'] = 'My additional e-mail address(es):';
$labels['vacationdays'] = 'How often send messages (in days):';
$labels['vacationinterval'] = 'How often send messages:';
-$labels['days'] = 'days';
-$labels['seconds'] = 'seconds';
$labels['vacationreason'] = 'Message body (vacation reason):';
$labels['vacationsubject'] = 'Message subject:';
+$labels['days'] = 'days';
+$labels['seconds'] = 'seconds';
$labels['rulestop'] = 'Stop evaluating rules';
$labels['enable'] = 'Enable/Disable';
$labels['filterset'] = 'Filters set';
@@ -159,6 +159,21 @@ $labels['asciicasemap'] = 'case insensitive (ascii-casemap)';
$labels['asciinumeric'] = 'numeric (ascii-numeric)';
$labels['index'] = 'index:';
$labels['indexlast'] = 'backwards';
+$labels['vacation'] = 'Vacation';
+$labels['vacation.reply'] = 'Reply message';
+$labels['vacation.advanced'] = 'Advanced settings';
+$labels['vacation.subject'] = 'Subject';
+$labels['vacation.body'] = 'Body';
+$labels['vacation.dates'] = 'Vacation time';
+$labels['vacation.from'] = 'From:';
+$labels['vacation.to'] = 'To:';
+$labels['vacation.status'] = 'Status';
+$labels['vacation.on'] = 'On';
+$labels['vacation.off'] = 'Off';
+$labels['vacation.addresses'] = 'My additional addresses';
+$labels['vacation.interval'] = 'Reply interval';
+$labels['vacation.after'] = 'Put vacation rule after';
+$labels['vacation.saving'] = 'Saving data...';
$messages = array();
$messages['filterunknownerror'] = 'Unknown server error.';
@@ -193,5 +208,7 @@ $messages['namereserved'] = 'Reserved name.';
$messages['setexist'] = 'Set already exists.';
$messages['nodata'] = 'At least one position must be selected!';
$messages['invaliddateformat'] = 'Invalid date or date part format';
+$messages['saveerror'] = 'Unable to save data. Server error occurred.';
+$messages['vacationsaved'] = 'Vacation data saved successfully.';
?>
diff --git a/plugins/managesieve/localization/eu_ES.inc b/plugins/managesieve/localization/eu_ES.inc
index fde8f919d..fe29e5859 100644
--- a/plugins/managesieve/localization/eu_ES.inc
+++ b/plugins/managesieve/localization/eu_ES.inc
@@ -16,15 +16,15 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-managesieve/
*/
$labels['filters'] = 'Iragazkiak';
-$labels['managefilters'] = 'Administratu postaren sarrera-iragazkiak';
+$labels['managefilters'] = 'Kudeatu sarrerako posta-iragazkiak';
$labels['filtername'] = 'Iragazkiaren izena';
$labels['newfilter'] = 'Iragazki berria';
$labels['filteradd'] = 'Gehitu iragazkia';
$labels['filterdel'] = 'Ezabatu iragazkia';
$labels['moveup'] = 'Mugitu gora';
$labels['movedown'] = 'Mugitu behera';
-$labels['filterallof'] = 'alderatu datozen arau guztiak';
-$labels['filteranyof'] = 'alderatu datozen arauetako batzuk';
+$labels['filterallof'] = 'datozen arau guztiak parekatzen';
+$labels['filteranyof'] = 'datozen arauetako batzuk parekatzen';
$labels['filterany'] = 'mezu guztiak';
$labels['filtercontains'] = 'badu';
$labels['filternotcontains'] = 'ez du';
@@ -32,10 +32,10 @@ $labels['filteris'] = 'honen berdina da';
$labels['filterisnot'] = 'ez da honen berdina';
$labels['filterexists'] = 'badago';
$labels['filternotexists'] = 'ez dago';
-$labels['filtermatches'] = 'bat datozen adierazpenak';
-$labels['filternotmatches'] = 'bat ez datozen adierazpenak';
+$labels['filtermatches'] = 'bat datorren espresio';
+$labels['filternotmatches'] = 'bat ez datorren espresio';
$labels['filterregex'] = 'bat datozen adierazpen erregularrak';
-$labels['filternotregex'] = 'bat ez datozen adierazpen erregularrak';
+$labels['filternotregex'] = 'bat ez datorren espresio erregularrak';
$labels['filterunder'] = 'azpian';
$labels['filterover'] = 'gainean';
$labels['addrule'] = 'Gehitu araua';
@@ -47,12 +47,14 @@ $labels['messagesendcopy'] = 'Bidali mezuaren kopia hona';
$labels['messagereply'] = 'Erantzun mezuarekin';
$labels['messagedelete'] = 'Ezabatu mezua';
$labels['messagediscard'] = 'Baztertu mezuarekin';
+$labels['messagekeep'] = 'Mantendu mezua Sarrera-ontzian';
$labels['messagesrules'] = 'Sarrerako postarako:';
$labels['messagesactions'] = '...exekutatu datozen ekintzak:';
$labels['add'] = 'Gehitu';
$labels['del'] = 'Ezabatu';
$labels['sender'] = 'Bidaltzailea';
$labels['recipient'] = 'Hartzailea';
+$labels['vacationaddr'] = 'Nire helbide elektroniko osagarria(k):';
$labels['vacationdays'] = 'Zer maiztasunarekin bidaltzen ditu mezuak (egunak)';
$labels['vacationinterval'] = 'Zenbatero bidali mezuak:';
$labels['days'] = 'egun';
@@ -62,7 +64,7 @@ $labels['vacationsubject'] = 'Mezuaren izenburua:';
$labels['rulestop'] = 'Gelditu arauak ebaluatzen';
$labels['enable'] = 'Gaitu/Ezgaitu';
$labels['filterset'] = 'Iragazki-paketea';
-$labels['filtersets'] = 'Iragazki paketeak';
+$labels['filtersets'] = 'Iragazki-paketeak';
$labels['filtersetadd'] = 'Gehitu iragazki-paketea';
$labels['filtersetdel'] = 'Ezabatu uneko iragazki-paketea';
$labels['filtersetact'] = 'Gaitu uneko iragazki-paketea';
@@ -70,7 +72,7 @@ $labels['filtersetdeact'] = 'Ezgaitu uneko iragazki-paketea';
$labels['filterdef'] = 'Iragazkiaren definizioa';
$labels['filtersetname'] = 'Iragazki-paketearen izena';
$labels['newfilterset'] = 'Iragazki-pakete berria';
-$labels['active'] = 'gaitua';
+$labels['active'] = 'aktiboa';
$labels['none'] = 'Bat ere ez';
$labels['fromset'] = 'paketetik';
$labels['fromfile'] = 'fitxategitik';
@@ -157,22 +159,31 @@ $labels['index'] = 'indexatu:';
$labels['indexlast'] = 'atzeraka';
$messages['filterunknownerror'] = 'Zerbitzari ezezaguna errorea';
$messages['filterconnerror'] = 'Ezin da konektatu zerbitzariarekin.';
+$messages['filterdeleteerror'] = 'Ezin da ezabatu iragazkia. Errore bat gertatu da zerbitzarian.';
$messages['filterdeleted'] = 'Iragazkia ongi ezabatu da.';
$messages['filtersaved'] = 'Iragazkia ongi ezabatu da.';
+$messages['filtersaveerror'] = 'Ezin da gorde iragazkia. Zerbitzarian errore bat gertatu da.';
$messages['filterdeleteconfirm'] = 'Seguru zaude hautatutako iragazkiak ezabatu nahi dituzula?';
$messages['ruledeleteconfirm'] = 'Seguru zaude hautatutako arauak ezabatu nahi dituzula?';
$messages['actiondeleteconfirm'] = 'Seguru zaude hautatutako ekintzak ezabatu nahi dituzula?';
$messages['forbiddenchars'] = 'Debekatutako karaktereak eremuan.';
$messages['cannotbeempty'] = 'Eremua ezin da hutsik egon.';
$messages['ruleexist'] = 'Lehendik badago izen hori duen iragazki bat.';
+$messages['setactivateerror'] = 'Ezin da aktibatu hautatutako iragazki paketea. Zerbitzarian errore bat gertatu da.';
+$messages['setdeactivateerror'] = 'Ezin da ezgaitu hautatutako iragazki-paketea. Zerbitzarian errore bat gertatu da.';
+$messages['setdeleteerror'] = 'Ezin da ezabatu hautatutako iragazki-paketea. Zerbitzarian errore bat gertatu da.';
$messages['setactivated'] = 'Iragazki paketea ongi aktibatu da.';
$messages['setdeactivated'] = 'Iragazki paketea ongi desaktibatu da.';
$messages['setdeleted'] = 'Iragazki paketea ongi ezabatu da.';
$messages['setdeleteconfirm'] = 'Seguru zaude hautatutako iragazki paketea ezabatu nahi duzula?';
+$messages['setcreateerror'] = 'Ezin da iragazki-paketea sortu. Zerbitzarian errore bat gertatu da.';
$messages['setcreated'] = 'Iragazki paketea ongi sortu da.';
+$messages['activateerror'] = 'Ezin da gaitu hautatutako iragazkia(k). Zerbitzarian errore bat gertatu da.';
+$messages['deactivateerror'] = 'Ezin da ezgaitu hautatutako iragazkia(k). Zerbitzarian errore bat gertatu da.';
$messages['deactivated'] = 'Iragazkia(k) ongi ezgaitu da.';
$messages['activated'] = 'Iragazkia(k) ongi gaitu da.';
$messages['moved'] = 'Iragazkia ongi mugitu da.';
+$messages['moveerror'] = 'Ezin da mugitu hautatutako iragazkia. Zerbitzarian errore bat gertatu da.';
$messages['nametoolong'] = 'Izen luzeegia.';
$messages['namereserved'] = 'Izen erreserbatua.';
$messages['setexist'] = 'Lehendik badago pakete hori.';
diff --git a/plugins/managesieve/localization/fa_IR.inc b/plugins/managesieve/localization/fa_IR.inc
index 8aeb51711..b938c5850 100644
--- a/plugins/managesieve/localization/fa_IR.inc
+++ b/plugins/managesieve/localization/fa_IR.inc
@@ -54,6 +54,7 @@ $labels['add'] = 'اÙزودن';
$labels['del'] = 'حذÙ';
$labels['sender'] = 'Ùرستنده';
$labels['recipient'] = 'گیرنده';
+$labels['vacationaddr'] = 'آدرس(های) ایمیل اضاÙÛŒ من:';
$labels['vacationdays'] = 'پیغام ها در Ú†Ù‡ مواقعی Ùرستاده شدند (در روزهای):';
$labels['vacationinterval'] = 'مواقعی که پیغام‌ها ارسال می‌شوند:';
$labels['days'] = 'روزها';
@@ -158,22 +159,31 @@ $labels['index'] = 'Ùهرست:';
$labels['indexlast'] = 'به عقب';
$messages['filterunknownerror'] = 'خطای سرور نامعلوم.';
$messages['filterconnerror'] = 'ناتوانی در اتصال به سرور.';
+$messages['filterdeleteerror'] = 'ناتوانی در حذ٠صاÙÛŒ. خطای سرور رخ داد.';
$messages['filterdeleted'] = 'صاÙÛŒ با موÙقیت حذ٠شد.';
$messages['filtersaved'] = 'صاÙÛŒ با موÙقیت ذخیره شد.';
+$messages['filtersaveerror'] = 'ناتوانی در ذخیره Ùیلتر. خطای سرور رخ داد.';
$messages['filterdeleteconfirm'] = 'آیا مطمئن به حذ٠صاÙÛŒ انتخاب شده هستید؟';
$messages['ruledeleteconfirm'] = 'آیا مطمئن هستید که می خواهید قانون انتخاب شده را حذ٠کنید؟';
$messages['actiondeleteconfirm'] = 'آیا مطمئن هستید که می خواهید عمل انتخاب شده را حذ٠کنید.';
$messages['forbiddenchars'] = 'حرو٠ممنوعه در Ùیلد.';
$messages['cannotbeempty'] = 'Ùیلد نمی تواند خالی باشد.';
$messages['ruleexist'] = 'صاÙÛŒ با این نام مشخص وجود دارد.';
+$messages['setactivateerror'] = 'ناتوان در Ùعال کردن مجموعه صاÙی‌ها انتخاب شده. خطای سرور رخ داد.';
+$messages['setdeactivateerror'] = 'ناتوان در غیرÙعال کردن مجموعه صاÙی‌ها انتخاب شده. خطای سرور رخ داد.';
+$messages['setdeleteerror'] = 'ناتوان در حذ٠مجموعه صاÙی‌ها انتخاب شده. خطای سرور رخ داد.';
$messages['setactivated'] = 'مجموعه صاÙی‌ها با موÙقیت Ùعال شد.';
$messages['setdeactivated'] = 'مجموعه صاÙی‌ها با موÙقیت غیرÙعال شد.';
$messages['setdeleted'] = 'مجموعه صاÙی‌ها با موÙقیت حذ٠شد.';
$messages['setdeleteconfirm'] = 'آیا مطمئن هستید Ú©Ù‡ می‌خواهید مجموعه صاÙی‌ها انتخاب شده را حذ٠کنید؟';
+$messages['setcreateerror'] = 'ناتوانی در ایجاد مجموعه صاÙی‌ها. خطای سرور رخ داد.';
$messages['setcreated'] = 'مجموعه صاÙی‌ها با موÙقیت ایجاد شد.';
+$messages['activateerror'] = 'ناتوانی در Ùعال کردن صاÙÛŒ(های) انتخاب شده. خطای سرور رخ داد.';
+$messages['deactivateerror'] = 'ناتوانی در غیرÙعال کردن صاÙÛŒ(های) انتخاب شده. خطای سرور رخ داد.';
$messages['deactivated'] = 'صاÙÛŒ(ها) با موÙقیت Ùعال شدند.';
$messages['activated'] = 'صاÙÛŒ(ها) با موÙقیت غیرÙعال شدند.';
$messages['moved'] = 'صاÙÛŒ با موÙقیت منتقل شد.';
+$messages['moveerror'] = 'ناتوانی در انتقال صاÙÛŒ انتخاب شده. خطای سرور رخ داد.';
$messages['nametoolong'] = 'نام خیلی بلند.';
$messages['namereserved'] = 'نام رزرو شده.';
$messages['setexist'] = 'مجموعه در حال حاضر موجود است.';
diff --git a/plugins/managesieve/localization/gl_ES.inc b/plugins/managesieve/localization/gl_ES.inc
index 6686ddcb4..f1f9d2faa 100644
--- a/plugins/managesieve/localization/gl_ES.inc
+++ b/plugins/managesieve/localization/gl_ES.inc
@@ -83,7 +83,7 @@ $labels['countislessthan'] = 'a conta é menor que';
$labels['countislessthanequal'] = 'a conta é menor ou igual a';
$labels['countequals'] = 'a conta é igual a';
$labels['countnotequals'] = 'a conta non é igual a';
-$labels['valueisgreaterthan'] = 'o valor é maior que ';
+$labels['valueisgreaterthan'] = 'o valor é meirande que ';
$labels['valueisgreaterthanequal'] = 'o valor é maior ou igual a';
$labels['valueislessthan'] = 'o valor é menor que';
$labels['valueislessthanequal'] = 'o valor é menor ou igual a';
diff --git a/plugins/managesieve/localization/he_IL.inc b/plugins/managesieve/localization/he_IL.inc
index 7c2ff29ce..f347d945d 100644
--- a/plugins/managesieve/localization/he_IL.inc
+++ b/plugins/managesieve/localization/he_IL.inc
@@ -54,6 +54,7 @@ $labels['add'] = 'הוספה';
$labels['del'] = 'מחיקה';
$labels['sender'] = 'השולח';
$labels['recipient'] = 'הנמען';
+$labels['vacationaddr'] = 'כתובות דו×"ל נוספות:';
$labels['vacationdays'] = 'ב×יזו תדירות ( ×‘×™×ž×™× ) לשלוח הודעות:';
$labels['vacationinterval'] = 'ב×יזו תדירות לשלוח ההודעה';
$labels['days'] = 'ימי×';
@@ -158,22 +159,31 @@ $labels['index'] = '×ינדקס:';
$labels['indexlast'] = 'בחזרה';
$messages['filterunknownerror'] = 'שגי×ת שרת בלתי מוכרת.';
$messages['filterconnerror'] = '×œ× × ×™×ª×Ÿ להתחבר לשרת.';
+$messages['filterdeleteerror'] = '×œ× × ×™×ª×Ÿ למחוק סינון. שגי×ת שרת.';
$messages['filterdeleted'] = 'המסנן נמחק בהצלחה.';
$messages['filtersaved'] = 'המסנן נשמר בהצלחה.';
+$messages['filtersaveerror'] = '×œ× × ×™×ª×Ÿ לשמור סינון. שגי×ת שרת.';
$messages['filterdeleteconfirm'] = '×”×× ×כן ברצונך למחוק ×ת המסנן הנבחר?';
$messages['ruledeleteconfirm'] = '×”×× ×כן ברצונך למחוק ×ת הכלל הנבחר?';
$messages['actiondeleteconfirm'] = '×”×× ×כן ברצונך למחוק ×ת הפעולה הנבחרת?';
$messages['forbiddenchars'] = '×ª×•×•×™× ××¡×•×¨×™× ×‘×©×“×”.';
$messages['cannotbeempty'] = 'השדה ×œ× ×™×›×•×œ להיש×ר ריק.';
$messages['ruleexist'] = 'כבר ×§×™×™× ×ž×¡× ×Ÿ ×‘×©× ×›×–×”.';
+$messages['setactivateerror'] = '×œ× × ×™×ª×Ÿ להפעיל ×ת ערכת ×”×ž×¡× × ×™× ×”× ×‘×—×¨×ª. ×ירעה שגי××” בצד השרת.';
+$messages['setdeactivateerror'] = '×œ× × ×™×ª×Ÿ להשבית רשימת ×ž×¡× × ×™× ×©× ×‘×—×¨×”. שגי×ת שרת.';
+$messages['setdeleteerror'] = '×œ× × ×™×ª×Ÿ למחוק רשימת ×ž×¡× × ×™× ×©× ×‘×—×¨×”. שגי×ת שרת.';
$messages['setactivated'] = 'ערכת ×”×ž×¡× × ×™× ×”×•×¤×¢×œ×” בהצלחה.';
$messages['setdeactivated'] = 'ערכת ×”×ž×¡× × ×™× × ×•×˜×¨×œ×” בהצלחה.';
$messages['setdeleted'] = 'ערכת ×”×ž×¡× × ×™× × ×ž×—×§×” בהצלחה.';
$messages['setdeleteconfirm'] = '×”×× ×כן ברצונך למחוק ×ת ערכת ×”×ž×¡× × ×™× ×”× ×‘×—×¨×ª?';
+$messages['setcreateerror'] = '×œ× × ×™×ª×Ÿ ליצור ערכת מסנני×. ×ירעה שגי××” בצד השרת.';
$messages['setcreated'] = 'ערכת ×”×ž×¡× × ×™× × ×•×¦×¨×” בהצלחה.';
+$messages['activateerror'] = '×œ× × ×™×ª×Ÿ להפעיל ×ת ×”×ž×¡× × ×™× ×”× ×‘×—×¨×™×. ×ירעה שגי××” בצד השרת.';
+$messages['deactivateerror'] = '×œ× × ×™×ª×Ÿ לנטרל ×ת ×”×ž×¡× × ×™× ×”× ×‘×—×¨×™×. ×ירעה שגי××” בצד השרת.';
$messages['deactivated'] = '×”×ž×¡× × ×™× ×”×•×¤×¢×œ×• בהצלחה.';
$messages['activated'] = '×”×ž×¡× × ×™× × ×•×˜×¨×œ×• בהצלחה.';
$messages['moved'] = 'המסנן הועבר בהצלחה.';
+$messages['moveerror'] = '×œ× × ×™×ª×Ÿ להעביר ×ת המסנן הנבחר. ×ירעה שגי××” בצד השרת.';
$messages['nametoolong'] = '×”×©× ×רוך מדי.';
$messages['namereserved'] = '×”×©× ×”×–×” שמור.';
$messages['setexist'] = 'הערכה כבר קיימת.';
diff --git a/plugins/managesieve/localization/hr_HR.inc b/plugins/managesieve/localization/hr_HR.inc
index eadbfcc0f..b3192abe5 100644
--- a/plugins/managesieve/localization/hr_HR.inc
+++ b/plugins/managesieve/localization/hr_HR.inc
@@ -47,13 +47,18 @@ $labels['messagesendcopy'] = 'Pošalji kopiju poruke na';
$labels['messagereply'] = 'Odgovori sa porukom';
$labels['messagedelete'] = 'Obriši poruku';
$labels['messagediscard'] = 'Otkaži sa porukom';
+$labels['messagekeep'] = 'Zadrži poruku u mapi Inbox';
$labels['messagesrules'] = 'Za pristigle poruke:';
$labels['messagesactions'] = '...primijeni sljedeće akcije:';
$labels['add'] = 'Dodaj';
$labels['del'] = 'Obriši';
$labels['sender'] = 'Pošiljatelj';
$labels['recipient'] = 'Primatelj';
+$labels['vacationaddr'] = 'Dodatna e-mail adresa(e):';
$labels['vacationdays'] = 'Koliko Äesto slati poruku (u danima):';
+$labels['vacationinterval'] = 'Koliko Äesto slati poruku:';
+$labels['days'] = 'dana';
+$labels['seconds'] = 'sekundi';
$labels['vacationreason'] = 'Tijelo poruke (razlog odmora):';
$labels['vacationsubject'] = 'Naslov poruke:';
$labels['rulestop'] = 'Prekini izvođenje filtera';
@@ -77,11 +82,13 @@ $labels['countisgreaterthanequal'] = 'brojaÄ je veći ili jednak od';
$labels['countislessthan'] = 'brojaÄ je manji od';
$labels['countislessthanequal'] = 'brojaÄ je manji ili jednak od';
$labels['countequals'] = 'brojaÄ je jednak';
+$labels['countnotequals'] = 'brojaÄ nije jednak';
$labels['valueisgreaterthan'] = 'vrijednost je veća od';
$labels['valueisgreaterthanequal'] = 'vrijednost je veća ili jednaka od';
$labels['valueislessthan'] = 'vrijednost je manja od';
$labels['valueislessthanequal'] = 'vrijednost je manja ili jednaka od';
$labels['valueequals'] = 'vrijednost je jednaka';
+$labels['valuenotequals'] = 'vrijednost nije jednaka';
$labels['setflags'] = 'Postavi oznake na poruku';
$labels['addflags'] = 'Dodaj oznake na poruku';
$labels['removeflags'] = 'Ukloni oznake sa poruke';
@@ -90,10 +97,45 @@ $labels['flagdeleted'] = 'Obrisana';
$labels['flaganswered'] = 'Odgovorena';
$labels['flagflagged'] = 'OznaÄena';
$labels['flagdraft'] = 'Predložak';
+$labels['setvariable'] = 'Postavi varijablu';
+$labels['setvarname'] = 'Ime varijable:';
+$labels['setvarvalue'] = 'Vrijednost varijable:';
+$labels['setvarmodifiers'] = 'Modifikatori:';
+$labels['varlower'] = 'mala slova';
+$labels['varupper'] = 'velika slova';
+$labels['varlowerfirst'] = 'prvo slovo malo';
+$labels['varupperfirst'] = 'prvo slovo veliko';
+$labels['varquotewildcard'] = 'Citiraj specijalne znakove';
+$labels['varlength'] = 'duljina';
+$labels['notify'] = 'Pošalji obavijest';
+$labels['notifyaddress'] = 'Na e-mail adresu:';
+$labels['notifybody'] = 'Tekst obavijesti:';
+$labels['notifysubject'] = 'Naslov obavijesti:';
+$labels['notifyfrom'] = 'Pošiljatelj obavijesti:';
+$labels['notifyimportance'] = 'Važnost:';
+$labels['notifyimportancelow'] = 'niska';
+$labels['notifyimportancenormal'] = 'normalna';
+$labels['notifyimportancehigh'] = 'visoka';
$labels['filtercreate'] = 'Stvori filter';
$labels['usedata'] = 'Koristi podatke za filter:';
$labels['nextstep'] = 'Idući korak';
$labels['...'] = '…';
+$labels['currdate'] = 'Današnji datum';
+$labels['datetest'] = 'Datum';
+$labels['dateheader'] = 'zaglavlje:';
+$labels['year'] = 'godina';
+$labels['month'] = 'mjesec';
+$labels['day'] = 'dan';
+$labels['date'] = 'datum (yyyy-mm-dd)';
+$labels['julian'] = 'datum (julijanski)';
+$labels['hour'] = 'sat';
+$labels['minute'] = 'minute';
+$labels['second'] = 'sekunde';
+$labels['time'] = 'vrijeme (hh:mm:ss)';
+$labels['iso8601'] = 'datum (ISO8601)';
+$labels['std11'] = 'datum (RFC2822)';
+$labels['zone'] = 'vremenska zona';
+$labels['weekday'] = 'dan u tjednu (0-6)';
$labels['advancedopts'] = 'Napredne postavke';
$labels['body'] = 'Tijelo poruke';
$labels['address'] = 'adresa';
@@ -113,26 +155,38 @@ $labels['default'] = 'preddefinirano';
$labels['octet'] = 'strogo (oktet)';
$labels['asciicasemap'] = 'neosjetljivo na veliÄinu slova (ascii-casemap)';
$labels['asciinumeric'] = 'numeriÄki (ascii-numeric)';
+$labels['index'] = 'indeks:';
+$labels['indexlast'] = 'unatrag';
$messages['filterunknownerror'] = 'Nepoznata greška na poslužitelju';
$messages['filterconnerror'] = 'Nemoguće spajanje na poslužitelj (managesieve)';
+$messages['filterdeleteerror'] = 'Nemoguće brisanje filtera. Greška na poslužitelju.';
$messages['filterdeleted'] = 'Filter je uspješno obrisan';
$messages['filtersaved'] = 'Filter je uspješno spremljen';
+$messages['filtersaveerror'] = 'Nemoguće spremiti filter. Greška na poslužitelju.';
$messages['filterdeleteconfirm'] = 'Sigurno želite obrisati odabrani filter?';
$messages['ruledeleteconfirm'] = 'Jeste li sigurni da želite obrisati odabrana pravila?';
$messages['actiondeleteconfirm'] = 'Jeste li sigurni da želite obrisati odabrane akcije?';
$messages['forbiddenchars'] = 'Nedozvoljeni znakovi u polju';
$messages['cannotbeempty'] = 'Polje nesmije biti prazno';
$messages['ruleexist'] = 'Filter sa zadanim imenom već postoji.';
+$messages['setactivateerror'] = 'Nemoguće aktivirati odabranu grupu filtera. Greška na poslužitelju.';
+$messages['setdeactivateerror'] = 'Nemoguće deaktivirati odabranu grupu filtera. Greška na poslužitelju.';
+$messages['setdeleteerror'] = 'Nemoguće obrisati odabranu grupu filtera. Greška na poslužitelju.';
$messages['setactivated'] = 'Grupa filtera je uspješno aktivirana';
$messages['setdeactivated'] = 'Grupa filtera je uspješno deaktivirana';
$messages['setdeleted'] = 'Grupa filtera je uspješno obrisana';
$messages['setdeleteconfirm'] = 'Jeste li sigurni da želite obrisati odabranu grupu filtera?';
+$messages['setcreateerror'] = 'Nemoguće stvoriti grupu filtera. Greška na poslužitelju.';
$messages['setcreated'] = 'Grupa filtera je uspješno stvorena';
+$messages['activateerror'] = 'Nije moguće omogućiti odabrani filter(e). Greška poslužitelja.';
+$messages['deactivateerror'] = 'Nije moguće onemogućiti odabrane filter(e). Greška poslužitelja.';
$messages['deactivated'] = 'Filter(i) omogućen(i) uspješno.';
$messages['activated'] = 'Filter(i) onemogućen(i) uspješno.';
$messages['moved'] = 'Filter uspješno premješten.';
+$messages['moveerror'] = 'Nije moguće premjestiti odabrani filter. Greška poslužitelja.';
$messages['nametoolong'] = 'Nemoguće napraviti grupu filtera. Naziv je predugaÄak';
$messages['namereserved'] = 'Rezervirano ime.';
$messages['setexist'] = 'Skup već postoji.';
$messages['nodata'] = 'Barem jedan pozicija mora biti odabrana!';
+$messages['invaliddateformat'] = 'Neispravan datum ili dio datuma';
?>
diff --git a/plugins/managesieve/localization/km_KH.inc b/plugins/managesieve/localization/km_KH.inc
new file mode 100644
index 000000000..a6094be55
--- /dev/null
+++ b/plugins/managesieve/localization/km_KH.inc
@@ -0,0 +1,119 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/managesieve/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Managesieve plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-managesieve/
+*/
+$labels['filters'] = 'ážáž˜áŸ’ážšáž„';
+$labels['managefilters'] = 'គ្រប់គ្រង​ážáž˜áŸ’រប​សំបុážáŸ’រ​ចូល';
+$labels['filtername'] = 'ឈ្មោះ​ážáž˜áŸ’ážšáž„';
+$labels['newfilter'] = 'ážáž˜áŸ’រង​ážáŸ’មី';
+$labels['filteradd'] = 'បន្ážáŸ‚ម​ážáž˜áŸ’ážšáž„';
+$labels['filterdel'] = 'លុប​ážáž˜áŸ’ážšáž„';
+$labels['moveup'] = 'រុញ​ទៅ​លើ';
+$labels['movedown'] = 'រុញ​ចុះ​ក្រោម';
+$labels['filterallof'] = 'ážáŸ’រូវ​គ្នា​ទៅ​នឹង​លក្ážážážŽáŸ’ឌ​ទាំង​នáŸáŸ‡';
+$labels['filteranyof'] = 'ážáŸ’រូវ​គ្នា​ទៅ​នឹង​លក្ážážážŽáŸ’ឌ​ណាមួយ';
+$labels['filterany'] = 'សារ​ទាំង​អស់';
+$labels['filtercontains'] = 'មាន​ផ្ទុក';
+$labels['filternotcontains'] = 'មិន​មាន';
+$labels['filteris'] = 'ស្មើ​នឹង';
+$labels['filterisnot'] = 'មិន​ស្មើ​នឹង';
+$labels['filterexists'] = 'មាន';
+$labels['filternotexists'] = 'មិន​មាន';
+$labels['filtermatches'] = 'សញ្ញាណ​ដែល​ážáŸ’រូវ';
+$labels['filterunder'] = 'ក្រោម';
+$labels['filterover'] = 'លើ';
+$labels['addrule'] = 'បន្ážáŸ‚ម​លក្ážážážŽáŸ’ឌ';
+$labels['delrule'] = 'លុប​លក្ážážážŽáŸ’ឌ';
+$labels['messagemoveto'] = 'ផ្លាស់​ទី​សារ​ទៅ';
+$labels['messageredirect'] = 'ប្ដូរ​ទិសដៅ​សារ​ទៅ';
+$labels['messagecopyto'] = 'ចម្លង​សារ​ទៅ';
+$labels['messagesendcopy'] = 'ផ្ញើ​ការ​ចម្លង​សារ​ទៅ';
+$labels['messagereply'] = 'ឆ្លើយ​ážáž”​ជាមួយ​សារ';
+$labels['messagedelete'] = 'លុប​សារ';
+$labels['messagediscard'] = 'បោះបង់​ជាមួយ​នឹង​សារ';
+$labels['messagesrules'] = 'សម្រាប់​សំបុážáŸ’រ​ចូល៖';
+$labels['messagesactions'] = '...ប្រážáž·áž”ážáŸ’ážáž·â€‹ážŸáž€áž˜áŸ’មភាព​ទាំង​នáŸáŸ‡áŸ–';
+$labels['add'] = 'បន្ážáŸ‚ម';
+$labels['del'] = 'លុប';
+$labels['sender'] = 'អ្នក​ផ្ញើ';
+$labels['recipient'] = 'អ្នក​ទទួល';
+$labels['vacationdays'] = 'ážáž¾â€‹áž•áŸ’ញើ​សារ​ញឹកញាប់​ប៉ុណ្ណា (ក្នុង​មួយ​ážáŸ’ងៃ)៖';
+$labels['days'] = 'ážáŸ’ងៃ';
+$labels['seconds'] = 'វិនាទី';
+$labels['vacationreason'] = 'ážáž½â€‹ážŸáž¶ážš (áž áŸážáž»áž•áž›â€‹ážœáž·ážŸáŸ’សមកាល)៖';
+$labels['vacationsubject'] = 'ប្រធានបទ​សារ៖';
+$labels['rulestop'] = 'ឈប់​គិážâ€‹áž‘ៅ​លើ​លក្ážážážŽáŸ’ឌ';
+$labels['enable'] = 'បើក/បិទ';
+$labels['filterdef'] = 'អážáŸ’ážáž“áŸáž™â€‹ážáž˜áŸ’ážšáž„';
+$labels['active'] = 'សកម្ម';
+$labels['none'] = 'គ្មាន';
+$labels['fromfile'] = 'ពី​ឯកសារ';
+$labels['valuenotequals'] = 'ážáž˜áŸ’លៃ​មិន​ស្មើ​នឹង';
+$labels['flagread'] = 'បាន​អាន';
+$labels['flagdeleted'] = 'បាន​លុប';
+$labels['flaganswered'] = 'បាន​ឆ្លើយ';
+$labels['flagflagged'] = 'បាន​ដាក់​ទង់';
+$labels['flagdraft'] = 'ការ​ព្រាង';
+$labels['setvariable'] = 'កំណážáŸ‹â€‹áž¢ážáŸážš';
+$labels['setvarname'] = 'ឈ្មោះ​អážáŸážšáŸ–';
+$labels['setvarvalue'] = 'ážáž˜áŸ’លៃ​អážáŸážšáŸ–';
+$labels['varlower'] = 'អក្សរ​ážáž¼áž…';
+$labels['varupper'] = 'អក្សរ​ធំ';
+$labels['varlength'] = 'ប្រវែង';
+$labels['notify'] = 'ផ្ញើ​ការ​ជូន​ដំណឹង';
+$labels['notifyaddress'] = 'ទៅ​អាសយដ្ឋាន​អ៊ីមែល៖';
+$labels['notifybody'] = 'ážáž½â€‹áž€áž¶ážšâ€‹áž‡áž¼áž“​ដំណឹង៖';
+$labels['notifysubject'] = 'ប្រធានបទ​ការ​ជូន​ដំណឹង៖';
+$labels['notifyfrom'] = 'អ្នក​ផ្ញើ​ការ​ជូន​ដំណឹង៖';
+$labels['notifyimportance'] = 'សំážáž¶áž“់៖';
+$labels['notifyimportancelow'] = 'ទាប';
+$labels['notifyimportancenormal'] = 'ធម្មážáž¶';
+$labels['notifyimportancehigh'] = 'ážáŸ’ពស់';
+$labels['filtercreate'] = 'បង្កើážâ€‹ážáž˜áŸ’ážšáž„';
+$labels['usedata'] = 'ប្រើ​ទិន្ននáŸáž™â€‹áž‘ាំង​នáŸáŸ‡â€‹áž€áŸ’នុង​ážáž˜áŸ’រង៖';
+$labels['nextstep'] = 'ជំហាន​បន្ទាប់';
+$labels['...'] = '...';
+$labels['currdate'] = 'កាលបរិច្ឆáŸáž‘​បច្ចុប្បន្ន';
+$labels['datetest'] = 'កាលបរិច្ឆáŸáž‘';
+$labels['dateheader'] = 'ក្បាល៖';
+$labels['year'] = 'ឆ្នាំ';
+$labels['month'] = 'ážáŸ‚';
+$labels['day'] = 'ážáŸ’ងៃ';
+$labels['date'] = 'កាល​បរិច្ឆáŸáž‘ (yyyy-mm-dd)';
+$labels['julian'] = 'កាល​បរិច្ឆáŸáž‘ (julian)';
+$labels['hour'] = 'ម៉ោង';
+$labels['minute'] = 'នាទី';
+$labels['second'] = 'វិនាទី';
+$labels['time'] = 'ម៉ោង (hh:mm:ss)';
+$labels['iso8601'] = 'កាល​បរិច្ឆáŸáž‘ (ISO8601)';
+$labels['std11'] = 'កាល​បរិច្ឆáŸáž‘ (RFC2822)';
+$labels['zone'] = 'ážáŸ†áž”ន់​ម៉ោង';
+$labels['weekday'] = 'ážáŸ’ងៃ​សប្ដាហ០(0-6)';
+$labels['advancedopts'] = 'ជម្រើស​កម្រិážâ€‹ážáŸ’ពស់';
+$labels['body'] = 'ážáž½';
+$labels['address'] = 'អាសយដ្ឋាន';
+$labels['envelope'] = 'ស្រោម​សំបុážáŸ’ážš';
+$labels['text'] = 'អážáŸ’ážáž”áž‘';
+$labels['contenttype'] = 'ប្រភáŸáž‘​មាážáž·áž€áž¶';
+$labels['modtype'] = 'ប្រភáŸáž‘៖';
+$labels['allparts'] = 'ទាំងអស់';
+$labels['domain'] = 'ដូមáŸáž“';
+$labels['localpart'] = 'ផ្នែក​មូលដ្ឋាន';
+$labels['user'] = 'អ្នកប្រើ';
+$labels['detail'] = 'លម្អិáž';
+$labels['index'] = 'លិបិក្រម៖';
+$labels['indexlast'] = 'បកក្រោយ';
+?>
diff --git a/plugins/managesieve/localization/sv_SE.inc b/plugins/managesieve/localization/sv_SE.inc
index 63f88aeba..131d46c5f 100644
--- a/plugins/managesieve/localization/sv_SE.inc
+++ b/plugins/managesieve/localization/sv_SE.inc
@@ -132,8 +132,8 @@ $labels['hour'] = 'timme';
$labels['minute'] = 'minut';
$labels['second'] = 'sekund';
$labels['time'] = 'tid (hh:mm:ss)';
-$labels['iso8601'] = 'datum (ISO8601)';
-$labels['std11'] = 'datum (RFC2822)';
+$labels['iso8601'] = 'datum (ISO 8601)';
+$labels['std11'] = 'datum (RFC 2822)';
$labels['zone'] = 'tidszon';
$labels['weekday'] = 'veckodag (0-6)';
$labels['advancedopts'] = 'Avancerade inställningar';
@@ -184,7 +184,7 @@ $messages['deactivated'] = 'Filter aktiverat.';
$messages['activated'] = 'Filter deaktiverat.';
$messages['moved'] = 'Filter flyttat.';
$messages['moveerror'] = 'Kunde inte flytta filter på grund av serverfel.';
-$messages['nametoolong'] = 'Filtergruppen kan inte läggas till med för långt namn';
+$messages['nametoolong'] = 'För långt namn.';
$messages['namereserved'] = 'Reserverat namn.';
$messages['setexist'] = 'Filtergrupp finns redan.';
$messages['nodata'] = 'Minst en position måste väljas!';
diff --git a/plugins/managesieve/localization/uk_UA.inc b/plugins/managesieve/localization/uk_UA.inc
index 9dc0bd3cd..d85b03bf5 100644
--- a/plugins/managesieve/localization/uk_UA.inc
+++ b/plugins/managesieve/localization/uk_UA.inc
@@ -43,12 +43,14 @@ $labels['messagesendcopy'] = 'ÐадÑилати копію лиÑта на';
$labels['messagereply'] = 'Ðвтовідповідач';
$labels['messagedelete'] = 'Видалити повідомленнÑ';
$labels['messagediscard'] = 'Відхилити з повідомленнÑм';
+$labels['messagekeep'] = 'Залишити лиÑÑ‚ у Вхідних';
$labels['messagesrules'] = 'Ð”Ð»Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ñ— пошти';
$labels['messagesactions'] = '... виконати дію:';
$labels['add'] = 'Додати';
$labels['del'] = 'Видалити';
$labels['sender'] = 'Відправник';
$labels['recipient'] = 'Отримувач';
+$labels['vacationaddr'] = 'Додаткова адреÑа(и):';
$labels['vacationdays'] = 'Як чаÑто повторювати (у днÑÑ…):';
$labels['days'] = 'днів';
$labels['seconds'] = 'Ñекунд';
@@ -68,8 +70,18 @@ $labels['none'] = 'нічого';
$labels['fromset'] = 'з набору';
$labels['fromfile'] = 'з файлу';
$labels['filterdisabled'] = 'Фільтр вимкнено';
+$labels['countisgreaterthan'] = 'лічильник більший за';
+$labels['countisgreaterthanequal'] = 'лічильник більший або рівний ';
+$labels['countislessthan'] = 'лічильник менший';
+$labels['countislessthanequal'] = 'льчильник менший або рівний';
+$labels['countequals'] = 'лічильник рівний';
+$labels['countnotequals'] = 'лічильник рівний';
+$labels['valueisgreaterthan'] = 'Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±Ñ–Ð»ÑŒÑˆÐµ за';
+$labels['valueisgreaterthanequal'] = 'Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±Ñ–Ð»ÑŒÑˆÐµ або рівне';
$labels['valueislessthan'] = 'Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼ÐµÐ½ÑˆÐµ за';
$labels['valueislessthanequal'] = 'Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼ÐµÐ½ÑˆÐµ або рівне';
+$labels['valueequals'] = 'Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ñ–Ð²Ð½Ðµ';
+$labels['valuenotequals'] = 'Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ рівне';
$labels['flagdraft'] = 'Чернетка';
$labels['setvariable'] = 'Ð’Ñтановити змінну';
$labels['setvarname'] = 'Ðазва змінної:';
@@ -80,12 +92,17 @@ $labels['varupper'] = 'верхній регіÑÑ‚Ñ€';
$labels['varlowerfirst'] = 'перший Ñимвол в нижньому регіÑтрі';
$labels['varupperfirst'] = 'перший Ñимвол в верхньому регіÑтрі';
$labels['varlength'] = 'довжина';
+$labels['notify'] = 'ÐадÑилати ÑповіщеннÑ';
$labels['notifyaddress'] = 'Ðа електронну адреÑу:';
+$labels['notifybody'] = 'Тіло ÑповіщеннÑ:';
+$labels['notifysubject'] = 'Тема ÑповіщеннÑ:';
+$labels['notifyfrom'] = 'Відправник ÑповіщеннÑ:';
$labels['filtercreate'] = 'Створити фільтр';
$labels['nextstep'] = 'ÐаÑтупний крок';
$labels['...'] = '...';
$labels['currdate'] = 'Поточна дата';
$labels['datetest'] = 'Дата';
+$labels['dateheader'] = 'шапка:';
$labels['year'] = 'рік';
$labels['month'] = 'міÑÑць';
$labels['day'] = 'день';
@@ -98,10 +115,17 @@ $labels['iso8601'] = 'дата (ISO8601)';
$labels['std11'] = 'дата (RFC2822)';
$labels['zone'] = 'чаÑовий поÑÑ';
$labels['advancedopts'] = 'Розширені параметри';
+$labels['body'] = 'Тіло';
$labels['address'] = 'адреÑа';
$labels['text'] = 'текÑÑ‚';
$labels['modtype'] = 'тип:';
$labels['allparts'] = 'вÑе';
+$labels['domain'] = 'домен';
+$labels['localpart'] = 'локальна чаÑтина';
+$labels['user'] = 'кориÑтувач';
+$labels['detail'] = 'деталь';
+$labels['default'] = 'типово';
+$labels['index'] = 'індекÑ:';
$messages['filterunknownerror'] = 'Ðевідома помилка Ñервера';
$messages['filterconnerror'] = 'Ðеможливо з\'єднатиÑÑ Ð· Ñервером';
$messages['filterdeleted'] = 'Фільтр уÑпішно видалено';
@@ -115,5 +139,6 @@ $messages['setactivated'] = 'Ðабір фільтрів активовано у
$messages['setdeleted'] = 'Ðабір фільтрів видалено уÑпішно';
$messages['setdeleteconfirm'] = 'Ви впевнені, що хочете видалити обраний набір?';
$messages['setcreated'] = 'Ðабір фільтрів Ñтворено уÑпішно';
+$messages['moveerror'] = 'Ðеможливо переміÑтити обраний фільтр. Помилка Ñервера.';
$messages['nametoolong'] = 'Ðе вдалоÑÑ Ñтворити набір. Занадто довга назва';
?>
diff --git a/plugins/managesieve/localization/vi_VN.inc b/plugins/managesieve/localization/vi_VN.inc
index 747d1931f..c7913813e 100644
--- a/plugins/managesieve/localization/vi_VN.inc
+++ b/plugins/managesieve/localization/vi_VN.inc
@@ -47,13 +47,18 @@ $labels['messagesendcopy'] = 'Gửi bản sao chép tin nhắn tới';
$labels['messagereply'] = 'Trả lá»i tin nhắn';
$labels['messagedelete'] = 'Xóa thư';
$labels['messagediscard'] = 'Loại bỠvới tin nhắn';
+$labels['messagekeep'] = 'Giữ thư ở Hộp thư chính';
$labels['messagesrules'] = 'Với thư đến';
$labels['messagesactions'] = 'Thực hiện các hành động sau:';
$labels['add'] = 'Thêm';
$labels['del'] = 'Xoá';
$labels['sender'] = 'NgÆ°á»i gá»­i';
$labels['recipient'] = 'NgÆ°á»i nhận';
+$labels['vacationaddr'] = '(Các) Äịa chỉ email bổ sung của tôi:';
$labels['vacationdays'] = 'Số lần gửi thư (trong ngày)';
+$labels['vacationinterval'] = 'Tần suất gửi thư:';
+$labels['days'] = 'ngày';
+$labels['seconds'] = 'giây';
$labels['vacationreason'] = 'Nội dung chính';
$labels['vacationsubject'] = 'Tiêu đỠthư';
$labels['rulestop'] = 'Ngừng đánh giá qui luật';
@@ -77,11 +82,13 @@ $labels['countisgreaterthanequal'] = 'Äếm lá»›n hÆ¡n hoặc bằng';
$labels['countislessthan'] = 'Äếm ít hÆ¡n';
$labels['countislessthanequal'] = 'Äếm ít hÆ¡n hoặc bằng';
$labels['countequals'] = 'Äếm bằng';
+$labels['countnotequals'] = 'đếm không bằng với';
$labels['valueisgreaterthan'] = 'Giá trị lớn hơn';
$labels['valueisgreaterthanequal'] = 'Giá trị lớn hơn hoặc bằng';
$labels['valueislessthan'] = 'Giá trị nhỠhơn';
$labels['valueislessthanequal'] = 'Giá trị nhỠhơn hoặc bằng';
$labels['valueequals'] = 'Giá trị bằng';
+$labels['valuenotequals'] = 'giá trị không bằng với';
$labels['setflags'] = 'Thiết lập đánh dấu cho thư';
$labels['addflags'] = 'Thêm đánh dấu cho thư';
$labels['removeflags'] = 'BỠđánh dấu khá»i thÆ°';
@@ -102,6 +109,9 @@ $labels['varquotewildcard'] = 'trích dẫn ký tự đặc biệt';
$labels['varlength'] = 'độ dài';
$labels['notify'] = 'Gửi thông báo';
$labels['notifyaddress'] = 'Gửi đến địa chỉ email:';
+$labels['notifybody'] = 'Nội dung thông báo:';
+$labels['notifysubject'] = 'Tiêu đỠthông báo:';
+$labels['notifyfrom'] = 'NgÆ°á»i gá»­i thông báo:';
$labels['notifyimportance'] = 'Mức Ä‘á»™ quan trá»ng:';
$labels['notifyimportancelow'] = 'thấp';
$labels['notifyimportancenormal'] = 'vừa phải';
@@ -110,6 +120,22 @@ $labels['filtercreate'] = 'Tạo bá»™ lá»c';
$labels['usedata'] = 'Dùng dữ liệu trong bá»™ lá»c sau:';
$labels['nextstep'] = 'Bước tiếp theo';
$labels['...'] = '…';
+$labels['currdate'] = 'Ngày hiện tại';
+$labels['datetest'] = 'Ngày';
+$labels['dateheader'] = 'tiêu Ä‘á»:';
+$labels['year'] = 'năm';
+$labels['month'] = 'tháng';
+$labels['day'] = 'ngày';
+$labels['date'] = 'ngày (cú pháp: năm-tháng-ngày)';
+$labels['julian'] = 'ngày (theo kiểu Julian)';
+$labels['hour'] = 'giá»';
+$labels['minute'] = 'phút';
+$labels['second'] = 'giây';
+$labels['time'] = 'giá» (cú pháp: giá»:phút:giây)';
+$labels['iso8601'] = 'ngày (theo chuẩn ISO 8601)';
+$labels['std11'] = 'ngày (theo chuẩn RFC 2822)';
+$labels['zone'] = 'vùng thá»i gian';
+$labels['weekday'] = 'ngày trog tuần (0-6)';
$labels['advancedopts'] = 'Tùy chá»n tính năng cao hÆ¡n';
$labels['body'] = 'Ná»™i dung';
$labels['address'] = 'Äịa chỉ';
@@ -129,26 +155,38 @@ $labels['default'] = 'Mặc định';
$labels['octet'] = 'Khắt khe';
$labels['asciicasemap'] = 'Không phân biệt chữ hoa chữ thÆ°á»ng';
$labels['asciinumeric'] = 'Bảng mã ASCII';
+$labels['index'] = 'chỉ mục:';
+$labels['indexlast'] = 'ngược';
$messages['filterunknownerror'] = 'Không tìm được lỗi máy chủ';
$messages['filterconnerror'] = 'Không kết nối được với máy chủ.';
+$messages['filterdeleteerror'] = 'Không thể xóa bá»™ lá»c. Xuất hiện lá»—i ở máy chủ';
$messages['filterdeleted'] = 'Xóa bá»™ lá»c thành công';
$messages['filtersaved'] = 'LÆ°u bá»™ lá»c thành công';
+$messages['filtersaveerror'] = 'Không thể lÆ°u bá»™ lá»c. Xuất hiện lá»—i ở máy chủ';
$messages['filterdeleteconfirm'] = 'Bạn có thá»±c sá»± muốn xóa bá»™ lá»c được chá»n?';
$messages['ruledeleteconfirm'] = 'Bạn có chắc chắn muốn xóa qui luật được chá»n?';
$messages['actiondeleteconfirm'] = 'Bạn có chắc chắn muốn xóa hành Ä‘á»™ng được chá»n?';
$messages['forbiddenchars'] = 'Ký tự bị cấm trong ô';
$messages['cannotbeempty'] = 'Ô không thể bị bỠtrống';
$messages['ruleexist'] = 'Äã tồn tại bá»™ lá»c vá»›i tên cụ thế';
+$messages['setactivateerror'] = 'Không thể kích hoạt bá»™ lá»c được lá»±a chá»n. Xuất hiện lá»—i ở máy chủ';
+$messages['setdeactivateerror'] = 'Không thể tắt bá»™ lá»c được lá»±a chá»n. Xuất hiện lá»—i ở máy chủ';
+$messages['setdeleteerror'] = 'Không thể xóa bá»™ lá»c được lá»±a chá»n. Xuất hiện lá»—i ở máy chủ.';
$messages['setactivated'] = 'Bá»™ lá»c được khởi Ä‘á»™ng thành công';
$messages['setdeactivated'] = 'Ngừng kích hoạt bá»™ lá»c thành công';
$messages['setdeleted'] = 'Xóa bá»™ lá»c thành công';
$messages['setdeleteconfirm'] = 'Bạn có chắc bạn muốn xóa thiết lập bá»™ lá»c được chá»n?';
+$messages['setcreateerror'] = 'Không thể tạo thiết lập bá»™ lá»c. Có lá»—i xuất hiện ở máy chủ';
$messages['setcreated'] = 'Thiết lập bá»™ lá»c được tạo thành công';
+$messages['activateerror'] = 'Không thể khởi Ä‘á»™ng (các) bá»™ lá»c được chá»n. Có lá»—i xuất hiện ở máy chủ';
+$messages['deactivateerror'] = 'Không thể tắt (các) bá»™ lá»c đã chá»n. Có lá»—i xuất hiện ở máy chủ';
$messages['deactivated'] = 'Bá»™ lá»c được khởi Ä‘á»™ng thành công';
$messages['activated'] = 'Bá»™ lá»c được tắt thành công';
$messages['moved'] = 'Bá»™ lá»c được chuyển Ä‘i thành công';
+$messages['moveerror'] = 'Không thể chuyển bá»™ lá»c đã chá»n. Có lá»—i xuất hiện ở máy chủ.';
$messages['nametoolong'] = 'Tên quá dài';
$messages['namereserved'] = 'Tên đã được bảo vệ';
$messages['setexist'] = 'Thiết lập đã tồn tại';
$messages['nodata'] = 'Ãt nhất má»™t vị trí phải được chá»n';
+$messages['invaliddateformat'] = 'Lỗi không đúng cú pháp ngày hoặc nhập ngày sai';
?>
diff --git a/plugins/managesieve/managesieve.js b/plugins/managesieve/managesieve.js
index 15637026e..7fcd9d9c6 100644
--- a/plugins/managesieve/managesieve.js
+++ b/plugins/managesieve/managesieve.js
@@ -50,6 +50,18 @@ if (window.rcmail) {
$('textarea[data-type="list"]', rcmail.gui_objects.sieveform).each(function() {
smart_field_init(this);
});
+
+ // enable date pickers on date fields
+ if ($.datepicker && rcmail.env.date_format) {
+ $.datepicker.setDefaults({
+ dateFormat: rcmail.env.date_format,
+ changeMonth: true,
+ showOtherMonths: true,
+ selectOtherMonths: true,
+ onSelect: function(dateText) { $(this).focus().val(dateText) }
+ });
+ $('input.datepicker').datepicker();
+ }
}
else {
rcmail.enable_command('plugin.managesieve-add', 'plugin.managesieve-setadd', !rcmail.env.sieveconnerror);
@@ -226,7 +238,7 @@ rcube_webmail.prototype.managesieve_updatelist = function(action, o)
// Delete filter row
case 'del':
- var i = 0, list = this.filters_list;
+ var id = o.id, list = this.filters_list;
list.remove_row(this.managesieve_rowid(o.id));
list.clear_selection();
@@ -241,8 +253,14 @@ rcube_webmail.prototype.managesieve_updatelist = function(action, o)
return;
}
- // modify ID and remove all attached events
- $(this).attr('id', 'rcmrow'+(i++)).unbind();
+ var rowid = this.id.substr(6);
+
+ // remove all attached events
+ $(this).unbind();
+
+ // update row id
+ if (rowid > id)
+ $(this).attr('id', 'rcmrow' + (rowid-1));
});
list.init();
@@ -437,6 +455,12 @@ rcube_webmail.prototype.managesieve_unfocus_filter = function(row)
// Form submition
rcube_webmail.prototype.managesieve_save = function()
{
+ if (this.env.action == 'plugin.managesieve-vacation') {
+ var data = $(this.gui_objects.sieveform).serialize();
+ this.http_post('plugin.managesieve-vacation', data, this.display_message(this.get_label('managesieve.vacation.saving'), 'loading'));
+ return;
+ }
+
if (parent.rcmail && parent.rcmail.filters_list && this.gui_objects.sieveform.name != 'filtersetform') {
var id = parent.rcmail.filters_list.get_single_selection();
if (id != null)
@@ -502,6 +526,11 @@ rcube_webmail.prototype.managesieve_actionfill = function(content, id, after)
row.setAttribute('id', 'actionrow'+id);
row.innerHTML = content;
+ // initialize smart list inputs
+ $('textarea[data-type="list"]', row).each(function() {
+ smart_field_init(this);
+ });
+
this.managesieve_formbuttons(div);
}
};
@@ -790,9 +819,17 @@ rcube_webmail.prototype.managesieve_tip_register = function(tips)
/********* Mail UI methods *********/
/*********************************************************/
-rcube_webmail.prototype.managesieve_create = function()
+rcube_webmail.prototype.managesieve_create = function(force)
{
- if (!rcmail.env.sieve_headers || !rcmail.env.sieve_headers.length)
+ if (!force && this.env.action != 'show' && !$('#'+this.env.contentframe).is(':visible')) {
+ var uid = this.message_list.get_single_selection(),
+ lock = this.set_busy(true, 'loading');
+
+ this.http_post('plugin.managesieve-action', {_uid: uid}, lock);
+ return;
+ }
+
+ if (!this.env.sieve_headers || !this.env.sieve_headers.length)
return;
var i, html, buttons = {}, dialog = $("#sievefilterform");
@@ -805,9 +842,9 @@ rcube_webmail.prototype.managesieve_create = function()
// build dialog window content
html = '<fieldset><legend>'+this.gettext('managesieve.usedata')+'</legend><ul>';
- for (i in rcmail.env.sieve_headers)
+ for (i in this.env.sieve_headers)
html += '<li><input type="checkbox" name="headers[]" id="sievehdr'+i+'" value="'+i+'" checked="checked" />'
- +'<label for="sievehdr'+i+'">'+rcmail.env.sieve_headers[i][0]+':</label> '+rcmail.env.sieve_headers[i][1]+'</li>';
+ +'<label for="sievehdr'+i+'">'+this.env.sieve_headers[i][0]+':</label> '+this.env.sieve_headers[i][1]+'</li>';
html += '</ul></fieldset>';
dialog.html(html);
diff --git a/plugins/managesieve/managesieve.php b/plugins/managesieve/managesieve.php
index 7a7faee4c..aba34251c 100644
--- a/plugins/managesieve/managesieve.php
+++ b/plugins/managesieve/managesieve.php
@@ -42,6 +42,7 @@ class managesieve extends rcube_plugin
// register actions
$this->register_action('plugin.managesieve', array($this, 'managesieve_actions'));
$this->register_action('plugin.managesieve-action', array($this, 'managesieve_actions'));
+ $this->register_action('plugin.managesieve-vacation', array($this, 'managesieve_actions'));
$this->register_action('plugin.managesieve-save', array($this, 'managesieve_save'));
if ($this->rc->task == 'settings') {
@@ -69,8 +70,25 @@ class managesieve extends rcube_plugin
}
// load localization
- $this->add_texts('localization/', array('filters','managefilters'));
- $this->include_script('managesieve.js');
+ $this->add_texts('localization/');
+
+ if (strpos($this->rc->action, 'plugin.managesieve') === 0) {
+ $this->include_script('managesieve.js');
+ }
+
+ // include styles
+ $skin_path = $this->local_skin_path();
+ if ($this->rc->task == 'settings') {
+ if (is_file($this->home . "/$skin_path/managesieve.css")) {
+ $this->include_stylesheet("$skin_path/managesieve.css");
+ }
+ }
+ else {
+ if (is_file($this->home . "/$skin_path/managesieve_mail.css")) {
+ $this->include_stylesheet("$skin_path/managesieve_mail.css");
+ }
+ }
+
$this->ui_initialized = true;
}
@@ -80,8 +98,30 @@ class managesieve extends rcube_plugin
*/
function settings_actions($args)
{
- // register as settings action
- $args['actions'][] = array('action' => 'plugin.managesieve', 'class' => 'filter', 'label' => 'filters', 'domain' => 'managesieve');
+ $this->load_config();
+
+ $vacation_mode = (int) $this->rc->config->get('managesieve_vacation');
+
+ // register Filters action
+ if ($vacation_mode != 2) {
+ $args['actions'][] = array(
+ 'action' => 'plugin.managesieve',
+ 'class' => 'filter',
+ 'label' => 'filters',
+ 'domain' => 'managesieve',
+ );
+ }
+
+ // register Vacation action
+ if ($vacation_mode > 0) {
+ $args['actions'][] = array(
+ 'action' => 'plugin.managesieve-vacation',
+ 'class' => 'vacation',
+ 'label' => 'vacation',
+ 'domain' => 'managesieve',
+ );
+ }
+
return $args;
}
@@ -101,12 +141,6 @@ class managesieve extends rcube_plugin
// include js script and localization
$this->init_ui();
- // include styles
- $skin_path = $this->local_skin_path();
- if (is_file($this->home . "/$skin_path/managesieve_mail.css")) {
- $this->include_stylesheet("$skin_path/managesieve_mail.css");
- }
-
// add 'Create filter' item to message menu
$this->api->add_content(html::tag('li', null,
$this->api->output->button(array(
@@ -137,30 +171,12 @@ class managesieve extends rcube_plugin
$this->mail_headers_done = true;
- $headers = $args['headers'];
- $ret = array();
-
- if ($headers->subject)
- $ret[] = array('Subject', rcube_mime::decode_header($headers->subject));
-
- // @TODO: List-Id, others?
- foreach (array('From', 'To') as $h) {
- $hl = strtolower($h);
- if ($headers->$hl) {
- $list = rcube_mime::decode_address_list($headers->$hl);
- foreach ($list as $item) {
- if ($item['mailto']) {
- $ret[] = array($h, $item['mailto']);
- }
- }
- }
- }
+ $headers = $this->parse_headers($args['headers']);
if ($this->rc->action == 'preview')
- $this->rc->output->command('parent.set_env', array('sieve_headers' => $ret));
+ $this->rc->output->command('parent.set_env', array('sieve_headers' => $headers));
else
- $this->rc->output->set_env('sieve_headers', $ret);
-
+ $this->rc->output->set_env('sieve_headers', $headers);
return $args;
}
@@ -170,8 +186,22 @@ class managesieve extends rcube_plugin
*/
function managesieve_actions()
{
+ // handle fetching email headers for the new filter form
+ if ($uid = rcube_utils::get_input_value('_uid', rcube_utils::INPUT_GPC)) {
+ $mailbox = $this->rc->get_storage()->get_folder();
+ $message = new rcube_message($uid, $mailbox);
+ $headers = $this->parse_headers($message->headers);
+
+ $this->rc->output->set_env('sieve_headers', $headers);
+ $this->rc->output->command('managesieve_create', true);
+ $this->rc->output->send();
+ }
+
+ // handle other actions
+ $engine_type = $this->rc->action == 'plugin.managesieve-vacation' ? 'vacation' : '';
+ $engine = $this->get_engine($engine_type);
+
$this->init_ui();
- $engine = $this->get_engine();
$engine->actions();
}
@@ -195,7 +225,7 @@ class managesieve extends rcube_plugin
/**
* Initializes engine object
*/
- private function get_engine()
+ private function get_engine($type = null)
{
if (!$this->engine) {
$this->load_config();
@@ -205,9 +235,36 @@ class managesieve extends rcube_plugin
$include_path .= ini_get('include_path');
set_include_path($include_path);
- $this->engine = new rcube_sieve_engine($this);
+ $class_name = 'rcube_sieve_' . ($type ? $type : 'engine');
+ $this->engine = new $class_name($this);
}
return $this->engine;
}
+
+ /**
+ * Extract mail headers for new filter form
+ */
+ private function parse_headers($headers)
+ {
+ $result = array();
+
+ if ($headers->subject)
+ $result[] = array('Subject', rcube_mime::decode_header($headers->subject));
+
+ // @TODO: List-Id, others?
+ foreach (array('From', 'To') as $h) {
+ $hl = strtolower($h);
+ if ($headers->$hl) {
+ $list = rcube_mime::decode_address_list($headers->$hl);
+ foreach ($list as $item) {
+ if ($item['mailto']) {
+ $result[] = array($h, $item['mailto']);
+ }
+ }
+ }
+ }
+
+ return $result;
+ }
}
diff --git a/plugins/managesieve/package.xml b/plugins/managesieve/package.xml
index 6ae53c250..f4c4bb941 100644
--- a/plugins/managesieve/package.xml
+++ b/plugins/managesieve/package.xml
@@ -17,9 +17,9 @@
<email>alec@alec.pl</email>
<active>yes</active>
</lead>
- <date>2013-09-09</date>
+ <date>2014-02-14</date>
<version>
- <release>7.0</release>
+ <release>7.2</release>
<api>7.0</api>
</version>
<stability>
diff --git a/plugins/managesieve/skins/classic/managesieve.css b/plugins/managesieve/skins/classic/managesieve.css
index 59d88cb46..836e16d5a 100644
--- a/plugins/managesieve/skins/classic/managesieve.css
+++ b/plugins/managesieve/skins/classic/managesieve.css
@@ -115,7 +115,7 @@ body.iframe
padding: 20px 10px 10px 10px;
}
-legend, label
+#filter-form legend, #filter-form label
{
color: #666666;
}
@@ -410,3 +410,21 @@ body.iframe.mail #filter-form
{
padding: 10px 5px 5px 5px;
}
+
+#vacationform .listarea {
+ max-height: 75px;
+}
+
+#vacationform .listelement,
+#vacationform .listelement .reset {
+ height: 18px;
+}
+
+#vacationform .listelement .reset {
+ background-position: -1px 1px;
+}
+
+#vacationform .listelement input {
+ vertical-align: top;
+ border: 0;
+}
diff --git a/plugins/managesieve/skins/classic/managesieve_mail.css b/plugins/managesieve/skins/classic/managesieve_mail.css
index 87a11cc92..1ade4f790 100644
--- a/plugins/managesieve/skins/classic/managesieve_mail.css
+++ b/plugins/managesieve/skins/classic/managesieve_mail.css
@@ -1,6 +1,6 @@
#messagemenu li a.filterlink {
background-image: url(images/filter.png);
- background-position: 7px 0;
+ background-position: 7px 1px;
}
#sievefilterform {
diff --git a/plugins/managesieve/skins/classic/templates/filteredit.html b/plugins/managesieve/skins/classic/templates/filteredit.html
index 6ecb03cae..8cef81682 100644
--- a/plugins/managesieve/skins/classic/templates/filteredit.html
+++ b/plugins/managesieve/skins/classic/templates/filteredit.html
@@ -3,7 +3,6 @@
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
-<link rel="stylesheet" type="text/css" href="/this/managesieve.css" />
</head>
<body class="iframe<roundcube:exp expression="env:task != 'mail' ? '' : ' mail'" />">
diff --git a/plugins/managesieve/skins/classic/templates/managesieve.html b/plugins/managesieve/skins/classic/templates/managesieve.html
index 3d84466d8..5ed099419 100644
--- a/plugins/managesieve/skins/classic/templates/managesieve.html
+++ b/plugins/managesieve/skins/classic/templates/managesieve.html
@@ -3,7 +3,6 @@
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
-<link rel="stylesheet" type="text/css" href="/this/managesieve.css" />
<script type="text/javascript" src="/functions.js"></script>
<script type="text/javascript" src="/splitter.js"></script>
diff --git a/plugins/managesieve/skins/classic/templates/setedit.html b/plugins/managesieve/skins/classic/templates/setedit.html
index 26f7fece6..c1010cae6 100644
--- a/plugins/managesieve/skins/classic/templates/setedit.html
+++ b/plugins/managesieve/skins/classic/templates/setedit.html
@@ -3,7 +3,6 @@
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
-<link rel="stylesheet" type="text/css" href="/this/managesieve.css" />
</head>
<body class="iframe">
diff --git a/plugins/managesieve/skins/classic/templates/vacation.html b/plugins/managesieve/skins/classic/templates/vacation.html
new file mode 100644
index 000000000..bf94edb20
--- /dev/null
+++ b/plugins/managesieve/skins/classic/templates/vacation.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+<script type="text/javascript" src="/functions.js"></script>
+</head>
+<body>
+
+<roundcube:include file="/includes/taskbar.html" />
+<roundcube:include file="/includes/header.html" />
+<roundcube:include file="/includes/settingstabs.html" />
+
+<div id="mainscreen">
+ <div class="box" style="height: 100%; overflow: auto">
+ <div id="prefs-title" class="boxtitle"><roundcube:label name="managesieve.vacation" /></div>
+ <roundcube:object name="vacationform" id="vacationform" style="margin: 10px 10px 0 10px" />
+ <div id="formfooter" style="padding: 0 10px">
+ <div class="footerleft">
+ <roundcube:button command="save" type="input" class="button mainaction" label="save" />
+ </div>
+ </div>
+ </div>
+</div>
+
+<script type="text/javascript">
+rcube_init_mail_ui();
+</script>
+
+</body>
+</html>
diff --git a/plugins/managesieve/skins/larry/images/vacation_icons.png b/plugins/managesieve/skins/larry/images/vacation_icons.png
new file mode 100644
index 000000000..f8933d487
--- /dev/null
+++ b/plugins/managesieve/skins/larry/images/vacation_icons.png
Binary files differ
diff --git a/plugins/managesieve/skins/larry/managesieve.css b/plugins/managesieve/skins/larry/managesieve.css
index 2144fe13f..1f954caf2 100644
--- a/plugins/managesieve/skins/larry/managesieve.css
+++ b/plugins/managesieve/skins/larry/managesieve.css
@@ -89,7 +89,7 @@ body.iframe
padding: 20px 10px 10px 10px;
}
-legend, label
+#filter-form legend, #filter-form label
{
color: #666666;
}
@@ -124,7 +124,7 @@ div.rulerow table, div.actionrow table
min-width: 600px;
}
-td
+#filter-form td
{
vertical-align: top;
}
@@ -414,3 +414,41 @@ body.iframe.mail #filter-form
{
padding: 10px 5px 5px 5px;
}
+
+
+/* vacation form */
+#settings-sections span.vacation a {
+ background: url(images/vacation_icons.png) no-repeat 7px 1px;
+}
+
+#settings-sections span.vacation.selected a {
+ background-position: 7px -23px;
+}
+
+#managesieve-vacation {
+ position: absolute;
+ top: 0;
+ left: 212px;
+ right: 0;
+ bottom: 0;
+ overflow: auto;
+}
+
+#vacationform .listarea {
+ max-height: 91px;
+}
+
+#vacationform .listelement,
+#vacationform .listelement .reset {
+ height: 22px;
+}
+
+#vacationform .listelement .reset {
+ background-position: -1px 3px;
+}
+
+#vacationform .listelement input {
+ vertical-align: top;
+ border: 0;
+ box-shadow: none;
+}
diff --git a/plugins/managesieve/skins/larry/managesieve_mail.css b/plugins/managesieve/skins/larry/managesieve_mail.css
index ea417bdb7..855aa8e7d 100644
--- a/plugins/managesieve/skins/larry/managesieve_mail.css
+++ b/plugins/managesieve/skins/larry/managesieve_mail.css
@@ -1,5 +1,5 @@
ul.toolbarmenu li span.filterlink {
- background-position: 0 -1924px;
+ background-position: 0 -2174px;
}
#sievefilterform {
diff --git a/plugins/managesieve/skins/larry/templates/filteredit.html b/plugins/managesieve/skins/larry/templates/filteredit.html
index 602816af7..1933b58ae 100644
--- a/plugins/managesieve/skins/larry/templates/filteredit.html
+++ b/plugins/managesieve/skins/larry/templates/filteredit.html
@@ -3,7 +3,6 @@
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
-<link rel="stylesheet" type="text/css" href="/this/managesieve.css" />
</head>
<body class="iframe<roundcube:exp expression="env:task != 'mail' ? ' floatingbuttons' : ' mail'" />">
diff --git a/plugins/managesieve/skins/larry/templates/managesieve.html b/plugins/managesieve/skins/larry/templates/managesieve.html
index 6ef3b2d91..471bbf4d2 100644
--- a/plugins/managesieve/skins/larry/templates/managesieve.html
+++ b/plugins/managesieve/skins/larry/templates/managesieve.html
@@ -3,7 +3,6 @@
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
-<link rel="stylesheet" type="text/css" href="/this/managesieve.css" />
</head>
<body class="noscroll">
diff --git a/plugins/managesieve/skins/larry/templates/setedit.html b/plugins/managesieve/skins/larry/templates/setedit.html
index 9fc115dc7..3b8f98b36 100644
--- a/plugins/managesieve/skins/larry/templates/setedit.html
+++ b/plugins/managesieve/skins/larry/templates/setedit.html
@@ -3,7 +3,6 @@
<head>
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
-<link rel="stylesheet" type="text/css" href="/this/managesieve.css" />
</head>
<body class="iframe floatingbuttons">
diff --git a/plugins/managesieve/skins/larry/templates/vacation.html b/plugins/managesieve/skins/larry/templates/vacation.html
new file mode 100644
index 000000000..c91eb87c8
--- /dev/null
+++ b/plugins/managesieve/skins/larry/templates/vacation.html
@@ -0,0 +1,30 @@
+<roundcube:object name="doctype" value="html5" />
+<html>
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+</head>
+<body class="noscroll">
+
+<roundcube:include file="/includes/header.html" />
+
+<div id="mainscreen" class="offset">
+
+<roundcube:include file="/includes/settingstabs.html" />
+
+<div id="managesieve-vacation" class="uibox contentbox">
+ <div>
+ <h2 class="boxtitle"><roundcube:label name="managesieve.vacation" /></h2>
+ <roundcube:object name="vacationform" id="vacationform" class="propform boxcontent tabbed" />
+ </div>
+ <div class="footerleft formbuttons">
+ <roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" />
+ </div>
+</div>
+
+</div>
+
+<roundcube:include file="/includes/footer.html" />
+
+</body>
+</html>
diff --git a/plugins/markasjunk/localization/fo_FO.inc b/plugins/markasjunk/localization/fo_FO.inc
new file mode 100644
index 000000000..0ef6a761c
--- /dev/null
+++ b/plugins/markasjunk/localization/fo_FO.inc
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/markasjunk/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Mark-As-Junk plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-markasjunk/
+*/
+$labels['buttontext'] = 'Møsn';
+$labels['buttontitle'] = 'Merk sum møsn';
+$labels['reportedasjunk'] = 'Melda sum møsn.';
+?> \ No newline at end of file
diff --git a/plugins/markasjunk/localization/hr_HR.inc b/plugins/markasjunk/localization/hr_HR.inc
index 86c72b898..6e69889bf 100644
--- a/plugins/markasjunk/localization/hr_HR.inc
+++ b/plugins/markasjunk/localization/hr_HR.inc
@@ -15,6 +15,7 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-markasjunk/
*/
+$labels['buttontext'] = 'Smeće (spam)';
$labels['buttontitle'] = 'OznaÄi kao smeće (spam)';
$labels['reportedasjunk'] = 'Uspješno prijavljeno kao smeće (spam)';
?> \ No newline at end of file
diff --git a/plugins/markasjunk/localization/km_KH.inc b/plugins/markasjunk/localization/km_KH.inc
index ca4ceed66..92ba883c6 100644
--- a/plugins/markasjunk/localization/km_KH.inc
+++ b/plugins/markasjunk/localization/km_KH.inc
@@ -15,7 +15,7 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-markasjunk/
*/
-$labels['buttontext'] = 'សំបុážáŸ’រមិនល្អ';
-$labels['buttontitle'] = 'ចាážáŸ‹áž‡áž¶ សំបុážáŸ’រមិនល្អ';
-$labels['reportedasjunk'] = 'រាយការណáŸážáž¶áž‡áž¶ សំបុážáŸ’រមិនល្អ បានសំរáŸáž…';
+$labels['buttontext'] = 'សារ​ឥážâ€‹áž”ានការ';
+$labels['buttontitle'] = 'សម្គាល់​ជា​សារ​ឥážâ€‹áž”ានការ';
+$labels['reportedasjunk'] = 'បាន​រាយការណáŸâ€‹áž‡áž¶â€‹ážŸáž¶ážšâ€‹áž¥ážâ€‹áž”ាន​ការ​ដោយ​ជោគជáŸáž™';
?> \ No newline at end of file
diff --git a/plugins/markasjunk/localization/uk_UA.inc b/plugins/markasjunk/localization/uk_UA.inc
index 34e627f1f..945a5e2b0 100644
--- a/plugins/markasjunk/localization/uk_UA.inc
+++ b/plugins/markasjunk/localization/uk_UA.inc
@@ -15,6 +15,7 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-markasjunk/
*/
+$labels['buttontext'] = 'Спам';
$labels['buttontitle'] = 'ПереміÑтити в "Спам';
$labels['reportedasjunk'] = 'Переміщено до "Спаму';
?> \ No newline at end of file
diff --git a/plugins/new_user_dialog/localization/fo_FO.inc b/plugins/new_user_dialog/localization/fo_FO.inc
new file mode 100644
index 000000000..5a7a8d444
--- /dev/null
+++ b/plugins/new_user_dialog/localization/fo_FO.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/new_user_dialog/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail New User Dialog plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-new_user_dialog/
+*/
+$labels['identitydialogtitle'] = 'Vinarliga fill út tín sendara samleika';
+$labels['identitydialoghint'] = 'Hesin kassin sæðst einans á fyrstu innriting.';
+?> \ No newline at end of file
diff --git a/plugins/new_user_dialog/localization/km_KH.inc b/plugins/new_user_dialog/localization/km_KH.inc
index cbb87713e..f7e7ffb27 100644
--- a/plugins/new_user_dialog/localization/km_KH.inc
+++ b/plugins/new_user_dialog/localization/km_KH.inc
@@ -15,6 +15,6 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-new_user_dialog/
*/
-$labels['identitydialogtitle'] = 'សូមបំពáŸáž‰áž¢áŸ’ážážŸáž‰áŸ’ញាណអ្នកផ្ញើ';
-$labels['identitydialoghint'] = 'ប្រអប់នáŸáŸ‡áž”ង្ហាញážáŸ‚ម្ážáž„ទ០ពáŸáž›áž…ូលលើកទីមួយ';
+$labels['identitydialogtitle'] = 'សូម​បំពáŸáž‰â€‹áž¢ážáŸ’ážážŸáž‰áŸ’ញាណ​របស់​អ្នក​ផ្ញើ​របស់​អ្នក';
+$labels['identitydialoghint'] = 'ប្រអប់​នáŸáŸ‡â€‹áž”ង្ហាញ​ážáŸ‚​ម្ដង​នៅ​ពáŸáž›â€‹áž…ូល​​ដំបូង​ប៉ុណ្ណោះ។';
?> \ No newline at end of file
diff --git a/plugins/newmail_notifier/localization/el_GR.inc b/plugins/newmail_notifier/localization/el_GR.inc
index 5f41bc974..ea4339e90 100644
--- a/plugins/newmail_notifier/localization/el_GR.inc
+++ b/plugins/newmail_notifier/localization/el_GR.inc
@@ -24,4 +24,5 @@ $labels['body'] = 'Έχετε λάβει ένα νέο μήνυμα.';
$labels['testbody'] = 'Αυτή είναι μια δοκιμή ειδοποίησης.';
$labels['desktopdisabled'] = 'Οι κοινοποιήσεις Desktop ειναι απενεÏγοποιημένη στον πεÏιηγητή σας.';
$labels['desktopunsupported'] = 'Ο πεÏιηγητής σας δεν υποστηÏίζει ειδοποιήσεις στην επιφάνεια εÏγασίας.';
+$labels['desktoptimeout'] = 'Κλείσιμο ειδοποίησης επιφάνειας εÏγασίας';
?>
diff --git a/plugins/newmail_notifier/localization/en_GB.inc b/plugins/newmail_notifier/localization/en_GB.inc
index 3ac79e594..20160c71c 100644
--- a/plugins/newmail_notifier/localization/en_GB.inc
+++ b/plugins/newmail_notifier/localization/en_GB.inc
@@ -24,4 +24,5 @@ $labels['body'] = 'You\'ve received a new message.';
$labels['testbody'] = 'This is a test notification.';
$labels['desktopdisabled'] = 'Desktop notifications are disabled in your browser.';
$labels['desktopunsupported'] = 'Your browser does not support desktop notifications.';
+$labels['desktoptimeout'] = 'Close desktop notification';
?>
diff --git a/plugins/newmail_notifier/localization/eu_ES.inc b/plugins/newmail_notifier/localization/eu_ES.inc
index 7d7d90408..3aa465712 100644
--- a/plugins/newmail_notifier/localization/eu_ES.inc
+++ b/plugins/newmail_notifier/localization/eu_ES.inc
@@ -24,4 +24,5 @@ $labels['body'] = 'Mezu berria jaso duzu';
$labels['testbody'] = 'Hau jakinarazpen proba bat da';
$labels['desktopdisabled'] = 'Sistemaren jakinarazpenak ezgaituak daude zure nabigatzailean';
$labels['desktopunsupported'] = 'Zure nabigatzaileak ez ditu sistemaren jakinarazpenak onartzen.';
+$labels['desktoptimeout'] = 'Itxi mahaigaineko jakinarazpena';
?>
diff --git a/plugins/newmail_notifier/localization/fo_FO.inc b/plugins/newmail_notifier/localization/fo_FO.inc
new file mode 100644
index 000000000..a4197e929
--- /dev/null
+++ b/plugins/newmail_notifier/localization/fo_FO.inc
@@ -0,0 +1,28 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/newmail_notifier/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail New Mail Notifier plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-newmail_notifier/
+*/
+$labels['basic'] = 'Vís kaga kunngerðir tá ið nýtt boð verður stovna';
+$labels['desktop'] = 'Vís skrivaraborð kunngerðir tá ið nýtt boð er stovna';
+$labels['sound'] = 'Spæl ljóð tá ið nýtt boð verður móttikið';
+$labels['test'] = 'Roynd';
+$labels['title'] = 'Nýggjur teldupostur!';
+$labels['body'] = 'Tú hevur móttikið eini boð.';
+$labels['testbody'] = 'Hettar eru eini royndar boð.';
+$labels['desktopdisabled'] = 'Skrivaraborð kunngerðir eru sløktar í tínum kaga.';
+$labels['desktopunsupported'] = 'Tín kagi studlar ikki skriviborða kunngerðir.';
+$labels['desktoptimeout'] = 'Sløkk skriviborða kunngerðir';
+?>
diff --git a/plugins/newmail_notifier/localization/he_IL.inc b/plugins/newmail_notifier/localization/he_IL.inc
index 9002d7c6d..33afdb954 100644
--- a/plugins/newmail_notifier/localization/he_IL.inc
+++ b/plugins/newmail_notifier/localization/he_IL.inc
@@ -24,4 +24,5 @@ $labels['body'] = 'התקבלה הודעה חדשה';
$labels['testbody'] = '×–×” ×יתות לנסיון';
$labels['desktopdisabled'] = '××™×ª×•×ª×™× ×ž×©×•×œ×—×Ÿ העבודה ××™× × ×¤×¢×™×œ×™× ×‘×“×¤×“×¤×Ÿ שלך';
$labels['desktopunsupported'] = 'הדפדפן שלך ×ינו תומך ב××™×ª×•×ª×™× ×ž×©×•×œ×—×Ÿ העבודה';
+$labels['desktoptimeout'] = 'ביטול ×יתות משולחן העבודה על הגעת הודעות חדשות';
?>
diff --git a/plugins/newmail_notifier/localization/hr_HR.inc b/plugins/newmail_notifier/localization/hr_HR.inc
index 3ee6cff3b..919ed0dd7 100644
--- a/plugins/newmail_notifier/localization/hr_HR.inc
+++ b/plugins/newmail_notifier/localization/hr_HR.inc
@@ -24,4 +24,5 @@ $labels['body'] = 'Primili ste novu poruku';
$labels['testbody'] = 'Ovo je probna dojava.';
$labels['desktopdisabled'] = 'Dojave na desktopu su onemogućene u vašem pregledniku.';
$labels['desktopunsupported'] = 'Vaš preglednik ne podržava dojave na desktopu.';
+$labels['desktoptimeout'] = 'Zatvori dojavu na desktopu';
?>
diff --git a/plugins/newmail_notifier/localization/hy_AM.inc b/plugins/newmail_notifier/localization/hy_AM.inc
index 23fdbed65..db63f4f6e 100644
--- a/plugins/newmail_notifier/localization/hy_AM.inc
+++ b/plugins/newmail_notifier/localization/hy_AM.inc
@@ -24,4 +24,5 @@ $labels['body'] = 'Ô´Õ¸Ö‚Ö„ Õ½Õ¿Õ¡ÖÕ¡Ö„ Õ¶Õ¸Ö€ Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶
$labels['testbody'] = 'ÕÕ¡ ÖƒÕ¸Ö€Õ±Õ¶Õ¡Õ¯Õ¡Õ¶ Õ®Õ¡Õ¶Õ¸Ö‚ÖÕ¸Ö‚Õ´ Õ§';
$labels['desktopdisabled'] = 'ÕÕ¥Õ²Õ¡Õ¶Õ¡Õ¤Ö€Õ« Õ®Õ¡Õ¶Õ¸Ö‚ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨ ÕÕ¥Ö€ Õ¦Õ¶Õ¶Õ¡Ö€Õ¯Õ¹Õ¸Ö‚Õ´ Õ¡Õ¶Õ»Õ¡Õ¿Õ¾Õ¡Õ® Õ¥Õ¶';
$labels['desktopunsupported'] = 'ÕÕ¥Ö€ Õ¦Õ¶Õ¶Õ¡Ö€Õ¯Õ«Õ¹Õ¨ Õ¹Õ¸Ö‚Õ¶Õ« Õ½Õ¥Õ²Õ¡Õ¶Õ¡Õ¤Ö€Õ« Õ®Õ¡Õ¶Õ¸Ö‚ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€Õ« Õ°Õ¶Õ¡Ö€Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Ö‰';
+$labels['desktoptimeout'] = 'Õ“Õ¡Õ¯Õ¥Õ¬ Õ½Õ¥Õ²Õ¡Õ¶Õ¡Õ¤Ö€Õ« Õ®Õ¡Õ¶Õ¸Ö‚ÖÕ¸Ö‚Õ´Õ¨';
?>
diff --git a/plugins/newmail_notifier/localization/km_KH.inc b/plugins/newmail_notifier/localization/km_KH.inc
index fdad4b302..5fd24403f 100644
--- a/plugins/newmail_notifier/localization/km_KH.inc
+++ b/plugins/newmail_notifier/localization/km_KH.inc
@@ -15,9 +15,14 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-newmail_notifier/
*/
-$labels['sound'] = 'បន្លឹសម្កáŸáž„áž–áŸáž›áž˜áž¶áž“សារážáŸ’មី';
+$labels['basic'] = 'បង្ហាញ​ការ​ជូនដំណឹង​កម្មវិធី​អ៊ីនធឺណិážâ€‹áž–áŸáž›â€‹áž˜áž¶áž“​សារ​ážáŸ’មី';
+$labels['desktop'] = 'បង្ហាញ​ការ​ជូនដំណឹង​ផ្ទៃážáž»â€‹áž–áŸáž›â€‹áž˜áž¶áž“​សារ​ážáŸ’មី';
+$labels['sound'] = 'បន្លឺ​សំឡáŸáž„​ពáŸáž›â€‹áž˜áž¶áž“​សារ​ážáŸ’មី';
$labels['test'] = 'សាកល្បង';
-$labels['title'] = 'មានសារážáŸ’មី';
-$labels['body'] = 'អ្នកបានទទួលសារážáŸ’មី';
-$labels['testbody'] = 'áž“áŸáŸ‡áž‡áž¶áž€áž¶ážšážŸáž¶áž€áŸ’បងដំណឹង';
+$labels['title'] = 'មាន​សារ​ážáŸ’មី!';
+$labels['body'] = 'អ្នក​បាន​ទទួល​សារ​ážáŸ’មី';
+$labels['testbody'] = 'áž“áŸáŸ‡â€‹áž‡áž¶â€‹áž€áž¶ážšâ€‹áž‡áž¼áž“ដំណឹង​សាកល្បង។';
+$labels['desktopdisabled'] = 'ការ​ជូនដំណឹង​ផ្ទៃážáž»â€‹ážáŸ’រូវ​បាន​បិទ​នៅ​ក្នុង​កម្មវិធី​អ៊ីនធឺណិážâ€‹ážšáž”ស់​អ្នក។';
+$labels['desktopunsupported'] = 'កម្មវិធី​អ៊ីនធឺណិážâ€‹ážšáž”ស់​អ្នក​មិន​គាំទ្រ​ការ​ជូនដំណឹង​ផ្ទៃážáž»áŸ”';
+$labels['desktoptimeout'] = 'បិទ​ការ​ជូនដំណឹង​ផ្ទៃážáž»';
?>
diff --git a/plugins/newmail_notifier/localization/uk_UA.inc b/plugins/newmail_notifier/localization/uk_UA.inc
index 06fb8b964..7d3ffc014 100644
--- a/plugins/newmail_notifier/localization/uk_UA.inc
+++ b/plugins/newmail_notifier/localization/uk_UA.inc
@@ -24,4 +24,5 @@ $labels['body'] = 'Ви отримали нове повідомленнÑ.';
$labels['testbody'] = 'Це теÑтове ÑповіщеннÑ';
$labels['desktopdisabled'] = 'ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ð° робочому Ñтолі відключені у вашому браузері.';
$labels['desktopunsupported'] = 'Ваш браузер не підтримує Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ð° робочому Ñтолі.';
+$labels['desktoptimeout'] = 'Закрити ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‡Ð¾Ð³Ð¾ Ñтолу';
?>
diff --git a/plugins/newmail_notifier/localization/vi_VN.inc b/plugins/newmail_notifier/localization/vi_VN.inc
index e8ce68b69..73df64d30 100644
--- a/plugins/newmail_notifier/localization/vi_VN.inc
+++ b/plugins/newmail_notifier/localization/vi_VN.inc
@@ -15,13 +15,14 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-newmail_notifier/
*/
-$labels['basic'] = 'Hiển thị thông báo trên trình duyệt là có thư mới';
-$labels['desktop'] = 'Hiển thị thông báo trên màn hình là có thư mới';
-$labels['sound'] = 'Mở tính năng âm thanh trên thư mới';
+$labels['basic'] = 'Hiển thị thông báo trên trình duyệt khi có thư mới';
+$labels['desktop'] = 'Hiển thị thông báo trên màn hình khi có thư mới';
+$labels['sound'] = 'Thông báo bằng âm thanh khi có thư mới';
$labels['test'] = 'Kiểm tra';
$labels['title'] = 'Có thư mới!';
$labels['body'] = 'Bạn vừa nhận một thư mới';
$labels['testbody'] = 'Äây là thông báo kiểm tra';
-$labels['desktopdisabled'] = 'Thông báo máy tính bị tắt trên trình duyệt của bạn';
-$labels['desktopunsupported'] = 'Trình duyệt của bạn không hỗ trợ thông báo trên máy tính';
+$labels['desktopdisabled'] = 'Thông báo trên màn hình bị tắt ở trình duyệt của bạn';
+$labels['desktopunsupported'] = 'Trình duyệt của bạn không hỗ trợ thông báo trên màn hình.';
+$labels['desktoptimeout'] = 'Äóng hiển thị màn hình';
?>
diff --git a/plugins/password/drivers/dbmail.php b/plugins/password/drivers/dbmail.php
index 529027b8d..5cfe92cd7 100644
--- a/plugins/password/drivers/dbmail.php
+++ b/plugins/password/drivers/dbmail.php
@@ -17,7 +17,7 @@
class rcube_dbmail_password
{
- function password_save($currpass, $newpass)
+ function save($currpass, $newpass)
{
$curdir = RCUBE_PLUGINS_DIR . 'password/helpers';
$username = escapeshellcmd($_SESSION['username']);
diff --git a/plugins/password/drivers/domainfactory.php b/plugins/password/drivers/domainfactory.php
index 9128720c9..62d9bfce2 100644
--- a/plugins/password/drivers/domainfactory.php
+++ b/plugins/password/drivers/domainfactory.php
@@ -29,11 +29,11 @@ class rcube_domainfactory_password
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => 'https://ssl.df.eu/chmail.php',
CURLOPT_POST => true,
- CURLOPT_POSTFIELDS => array(
+ CURLOPT_POSTFIELDS => http_build_query(array(
'login' => $rcmail->user->get_username(),
'pwd' => $curpass,
'action' => 'change'
- )
+ ))
));
if ($result = curl_exec($ch)) {
@@ -51,7 +51,7 @@ class rcube_domainfactory_password
// change password
$ch = curl_copy_handle($ch);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postfields));
if ($result = curl_exec($ch)) {
// has the password been changed?
diff --git a/plugins/password/drivers/ldap_simple.php b/plugins/password/drivers/ldap_simple.php
index 47e3b07de..3e167ea5b 100644
--- a/plugins/password/drivers/ldap_simple.php
+++ b/plugins/password/drivers/ldap_simple.php
@@ -113,7 +113,7 @@ class rcube_ldap_simple_password
return PASSWORD_CRYPT_ERROR;
}
- $this->_debug("C: Bind $binddn [pass: $bindpw]");
+ $this->_debug("C: Bind $binddn, pass: **** [" . strlen($bindpw) . "]");
// Bind
if (!ldap_bind($ds, $binddn, $bindpw)) {
@@ -175,7 +175,7 @@ class rcube_ldap_simple_password
return null;
}
- $this->_debug("C: Bind $search_user [pass: $search_pass]");
+ $this->_debug("C: Bind $search_user, pass: **** [" . strlen($search_pass) . "]");
// Bind
if (!ldap_bind($ds, $search_user, $search_pass)) {
diff --git a/plugins/password/helpers/chgdbmailusers.c b/plugins/password/helpers/chgdbmailusers.c
index 28f79c100..22793857d 100644
--- a/plugins/password/helpers/chgdbmailusers.c
+++ b/plugins/password/helpers/chgdbmailusers.c
@@ -5,7 +5,6 @@
// set the UID this script will run as (root user)
#define UID 0
#define CMD "/usr/sbin/dbmail-users"
-#define RCOK 0x100
/* INSTALLING:
gcc -o chgdbmailusers chgdbmailusers.c
@@ -38,7 +37,7 @@ main(int argc, char *argv[])
cc = setuid(UID);
rc = system(cmnd);
- if ((rc != RCOK) || (cc != 0))
+ if ((rc != 0) || (cc != 0))
{
fprintf(stderr, "__ %s: failed %d %d\n", argv[0], rc, cc);
return 1;
diff --git a/plugins/password/localization/br.inc b/plugins/password/localization/br.inc
index 423fc74df..a43b0b715 100644
--- a/plugins/password/localization/br.inc
+++ b/plugins/password/localization/br.inc
@@ -16,7 +16,7 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-password/
*/
$labels['changepasswd'] = 'Kemmañ ar ger-tremen';
-$labels['curpasswd'] = 'Ger-tremen red :';
+$labels['curpasswd'] = 'Ger-tremen bremañ :';
$labels['newpasswd'] = 'Ger-tremen nevez :';
$labels['confpasswd'] = 'Kadarnaat ar ger-tremen :';
$messages['nopassword'] = 'Roit ur ger-tremen nevez, mar plij.';
@@ -27,5 +27,6 @@ $messages['crypterror'] = 'N\'haller ket enrollañ ar ger-tremen nevez. Arc\'hwe
$messages['connecterror'] = 'N\'haller ket enrollañ ar ger-tremen nevez. Fazi gant ar c\'hennask.';
$messages['internalerror'] = 'N\'haller ket enrollañ ar ger-tremen nevez.';
$messages['passwordshort'] = 'Ret eo d\'ar ger-tremen bezañ hiroc\'h eget $length arouezenn.';
+$messages['passwordweak'] = 'En ho ker-tremen e tle bezañ ur sifr hag un arouezenn boentaouiñ da nebeutañ';
$messages['passwordforbidden'] = 'Arouezennoù difennet zo er ger-tremen.';
?>
diff --git a/plugins/password/localization/fo_FO.inc b/plugins/password/localization/fo_FO.inc
new file mode 100644
index 000000000..7c9ba55bc
--- /dev/null
+++ b/plugins/password/localization/fo_FO.inc
@@ -0,0 +1,32 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/password/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Password plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-password/
+*/
+$labels['changepasswd'] = 'Broyt loyniorð';
+$labels['curpasswd'] = 'Nú verandi loyniorð:';
+$labels['newpasswd'] = 'Nýtt loyniorð:';
+$labels['confpasswd'] = 'Endurtak nýggja loyniorð:';
+$messages['nopassword'] = 'Vinarliga skriva inn nýtt loyniorð.';
+$messages['nocurpassword'] = 'Vinarliga skriva inn núverandi loyniorð.';
+$messages['passwordincorrect'] = 'Verandi loyniorð er skeift.';
+$messages['passwordinconsistency'] = 'Loyniorðini eru ikki líka, vinarliga royn aftur.';
+$messages['crypterror'] = 'Kann ikki goyma nýggja loyniorð. Brongling manglar.';
+$messages['connecterror'] = 'Kann ikki goyma nýtt loyniorð. Sambands feilur.';
+$messages['internalerror'] = 'Kundi ikki goyma nýggja loyniorðið.';
+$messages['passwordshort'] = 'Loyniorði má hvørfall verða $length tekin langt.';
+$messages['passwordweak'] = 'Loyniorði má innihalda minst eitt nummar og eitt punktum tekin.';
+$messages['passwordforbidden'] = 'Loyniorð inniheldur ólóglig tekin.';
+?>
diff --git a/plugins/password/localization/km_KH.inc b/plugins/password/localization/km_KH.inc
new file mode 100644
index 000000000..f223dc653
--- /dev/null
+++ b/plugins/password/localization/km_KH.inc
@@ -0,0 +1,32 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/password/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Password plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-password/
+*/
+$labels['changepasswd'] = 'ប្ដូរ​ពាក្យ​សម្ងាážáŸ‹';
+$labels['curpasswd'] = 'ពាក្យ​សម្ងាážáŸ‹â€‹áž”ច្ចុប្បន្ន៖';
+$labels['newpasswd'] = 'ពាក្យ​សម្ងាážáŸ‹â€‹ážáŸ’មី៖';
+$labels['confpasswd'] = 'បញ្ជាក់​ពាក្យ​សម្ងាážáŸ‹â€‹ážáŸ’មី៖';
+$messages['nopassword'] = 'សូម​បញ្ចូល​ពាក្យ​សម្ងាážáŸ‹â€‹ážáŸ’មី។';
+$messages['nocurpassword'] = 'សូម​បញ្ចូល​ពាក្យ​សម្ងាážáŸ‹â€‹áž”ច្ចុប្បន្ន​ឲ្យ​បាន​ážáŸ’រូវ។';
+$messages['passwordincorrect'] = 'ពាក្យ​សម្ងាážáŸ‹â€‹áž”ច្ចុប្បន្ន​គឺ​មិន​ážáŸ’រូវ​ឡើយ។';
+$messages['passwordinconsistency'] = 'ពាក្យ​សម្ងាážáŸ‹â€‹áž˜áž·áž“​ážáŸ’រូវ​គ្នា​ទ០សូម​ព្យាយាម​ម្ដង​ទៀážáŸ”';
+$messages['crypterror'] = 'មិន​អាច​រក្សា​ទុក​ពាក្យ​សម្ងាážáŸ‹â€‹ážáŸ’មី​បាន​ទáŸáŸ” បាážáŸ‹â€‹áž˜áž»ážáž„ារ​កូដនីយកម្ម។';
+$messages['connecterror'] = 'មិន​អាច​រក្សា​ទុក​ពាក្យ​សម្ងាážáŸ‹â€‹ážáŸ’មី​បាន​ទáŸáŸ” ការ​ážáž—្ជាប់​មាន​បញ្ហា។';
+$messages['internalerror'] = 'មិន​អាច​រក្សា​ទុក​ពាក្យ​សម្ងាážáŸ‹â€‹ážáŸ’មី​បាន​ទáŸáŸ”';
+$messages['passwordshort'] = 'ពាក្យ​សម្ងាážáŸ‹â€‹ážáŸ’រូវ​ážáŸ‚​មាន​យ៉ាង​ážáž·áž… $length ážáž½áŸ”';
+$messages['passwordweak'] = 'ពាក្យ​សម្ងាážáŸ‹â€‹ážáŸ’រូវ​ážáŸ‚​មាន​បញ្ចូល​យ៉ាង​ហោច​ណាស់​លáŸážâ€‹áž˜áž½áž™â€‹ážáž½ និង​អក្សរ​សញ្ញា​មួយ​ážáž½áŸ”';
+$messages['passwordforbidden'] = 'ពាក្យ​សម្ងាážáŸ‹â€‹áž˜áž¶áž“​អក្សរ​ដែល​ážáŸ’រូវហាម​ឃាážáŸ‹áŸ”';
+?>
diff --git a/plugins/password/password.php b/plugins/password/password.php
index e31613ab1..83f951b98 100644
--- a/plugins/password/password.php
+++ b/plugins/password/password.php
@@ -70,9 +70,14 @@ class password extends rcube_plugin
}
$this->add_hook('settings_actions', array($this, 'settings_actions'));
+
$this->register_action('plugin.password', array($this, 'password_init'));
$this->register_action('plugin.password-save', array($this, 'password_save'));
- $this->include_script('password.js');
+
+
+ if (strpos($rcmail->action, 'plugin.password') === 0) {
+ $this->include_script('password.js');
+ }
}
function settings_actions($args)
diff --git a/program/localization/ur_PK/messages.inc b/plugins/subscriptions_option/localization/fo_FO.inc
index da4e39679..7ee0c6851 100644
--- a/program/localization/ur_PK/messages.inc
+++ b/plugins/subscriptions_option/localization/fo_FO.inc
@@ -2,10 +2,10 @@
/*
+-----------------------------------------------------------------------+
- | localization/<lang>/messages.inc |
+ | plugins/subscriptions_option/localization/<lang>.inc |
| |
- | Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Localization file of the Roundcube Webmail Subscriptions plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -13,6 +13,7 @@
| |
+-----------------------------------------------------------------------+
- For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/messages/
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-subscriptions_option/
*/
+$labels['useimapsubscriptions'] = 'Brúka IMAP tekningar';
?>
diff --git a/plugins/subscriptions_option/localization/hr_HR.inc b/plugins/subscriptions_option/localization/hr_HR.inc
new file mode 100644
index 000000000..6900cf568
--- /dev/null
+++ b/plugins/subscriptions_option/localization/hr_HR.inc
@@ -0,0 +1,19 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/subscriptions_option/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Subscriptions plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-subscriptions_option/
+*/
+$labels['useimapsubscriptions'] = 'Koristi IMAP pretplate';
+?>
diff --git a/plugins/subscriptions_option/localization/km_KH.inc b/plugins/subscriptions_option/localization/km_KH.inc
new file mode 100644
index 000000000..37e19252f
--- /dev/null
+++ b/plugins/subscriptions_option/localization/km_KH.inc
@@ -0,0 +1,19 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/subscriptions_option/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Subscriptions plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-subscriptions_option/
+*/
+$labels['useimapsubscriptions'] = 'ប្រើ​ការ​ជាង IMAP';
+?>
diff --git a/plugins/userinfo/localization/fo_FO.inc b/plugins/userinfo/localization/fo_FO.inc
new file mode 100644
index 000000000..865429221
--- /dev/null
+++ b/plugins/userinfo/localization/fo_FO.inc
@@ -0,0 +1,22 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/userinfo/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Userinfo plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-userinfo/
+*/
+$labels['userinfo'] = 'Brúkara upplýsing';
+$labels['created'] = 'Stovnaður';
+$labels['lastlogin'] = 'Seinast innritaður';
+$labels['defaultidentity'] = 'Sjálvsett samleiki';
+?> \ No newline at end of file
diff --git a/plugins/userinfo/localization/km_KH.inc b/plugins/userinfo/localization/km_KH.inc
index ce7c0a18c..f2962d329 100644
--- a/plugins/userinfo/localization/km_KH.inc
+++ b/plugins/userinfo/localization/km_KH.inc
@@ -15,8 +15,8 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-userinfo/
*/
-$labels['userinfo'] = 'áž–áŸážáž˜áž¶áž“អ្នកប្រើប្រាស់';
+$labels['userinfo'] = 'áž–áŸážáŸŒáž˜áž¶áž“​អ្នក​ប្រើ';
$labels['created'] = 'បាន​បង្កើáž';
-$labels['lastlogin'] = 'ចុះឈ្មោះចូលចុងក្រោយ';
+$labels['lastlogin'] = 'ចូល​ចុងក្រោយ';
$labels['defaultidentity'] = 'អážáŸ’ážážŸáž‰áŸ’ញាណ​លំនាំដើម';
?> \ No newline at end of file
diff --git a/plugins/vcard_attachments/localization/fo_FO.inc b/plugins/vcard_attachments/localization/fo_FO.inc
new file mode 100644
index 000000000..92a9d76fb
--- /dev/null
+++ b/plugins/vcard_attachments/localization/fo_FO.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/vcard_attachments/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Vcard Attachments plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-vcard_attachments/
+*/
+$labels['addvcardmsg'] = 'Legg vCard til búðstaðar savn';
+$labels['vcardsavefailed'] = 'Kann ikki goyma vCard';
+?> \ No newline at end of file
diff --git a/plugins/vcard_attachments/localization/km_KH.inc b/plugins/vcard_attachments/localization/km_KH.inc
index f3909e0b5..75e233448 100644
--- a/plugins/vcard_attachments/localization/km_KH.inc
+++ b/plugins/vcard_attachments/localization/km_KH.inc
@@ -15,6 +15,6 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-vcard_attachments/
*/
-$labels['addvcardmsg'] = 'បន្ážáŸ‚ម vCard ទៅសៀវភៅកážáŸ‹ážáŸ’រា';
-$labels['vcardsavefailed'] = 'មិនអាចរក្សាទុក vCard';
+$labels['addvcardmsg'] = 'បន្ážáŸ‚ម vCard ទៅ​សៀវភៅ​អាសយដ្ឋាន';
+$labels['vcardsavefailed'] = 'មិន​អាច​រក្សាទុក vCard';
?> \ No newline at end of file
diff --git a/plugins/virtuser_query/virtuser_query.php b/plugins/virtuser_query/virtuser_query.php
index a0b748288..c08d6bd38 100644
--- a/plugins/virtuser_query/virtuser_query.php
+++ b/plugins/virtuser_query/virtuser_query.php
@@ -70,13 +70,13 @@ class virtuser_query extends rcube_plugin
if (strpos($sql_arr[0], '@')) {
if ($p['extended'] && count($sql_arr) > 1) {
$result[] = array(
- 'email' => rcube_utils::idn_to_ascii($sql_arr[0]),
- 'name' => $sql_arr[1],
- 'organization' => $sql_arr[2],
- 'reply-to' => rcube_utils::idn_to_ascii($sql_arr[3]),
- 'bcc' => rcube_utils::idn_to_ascii($sql_arr[4]),
- 'signature' => $sql_arr[5],
- 'html_signature' => (int)$sql_arr[6],
+ 'email' => rcube_utils::idn_to_ascii($sql_arr[0]),
+ 'name' => (string) $sql_arr[1],
+ 'organization' => (string) $sql_arr[2],
+ 'reply-to' => (string) rcube_utils::idn_to_ascii($sql_arr[3]),
+ 'bcc' => (string) rcube_utils::idn_to_ascii($sql_arr[4]),
+ 'signature' => (string) $sql_arr[5],
+ 'html_signature' => (int) $sql_arr[6],
);
}
else {
diff --git a/plugins/zipdownload/localization/fo_FO.inc b/plugins/zipdownload/localization/fo_FO.inc
new file mode 100644
index 000000000..c49d20b68
--- /dev/null
+++ b/plugins/zipdownload/localization/fo_FO.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/zipdownload/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Zipdownload plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-zipdownload/
+*/
+$labels['downloadall'] = 'Heinta allar viðheftingar';
+$labels['downloadfolder'] = 'Heinta mappu';
+?> \ No newline at end of file
diff --git a/plugins/zipdownload/localization/hr_HR.inc b/plugins/zipdownload/localization/hr_HR.inc
new file mode 100644
index 000000000..38d9cd0c4
--- /dev/null
+++ b/plugins/zipdownload/localization/hr_HR.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/zipdownload/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Zipdownload plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-zipdownload/
+*/
+$labels['downloadall'] = 'Preuzmi sve privitke';
+$labels['downloadfolder'] = 'Preuzmi (kao) mapu';
+?> \ No newline at end of file
diff --git a/plugins/zipdownload/localization/hy_AM.inc b/plugins/zipdownload/localization/hy_AM.inc
new file mode 100644
index 000000000..10b21f6e2
--- /dev/null
+++ b/plugins/zipdownload/localization/hy_AM.inc
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | plugins/zipdownload/localization/<lang>.inc |
+ | |
+ | Localization file of the Roundcube Webmail Zipdownload plugin |
+ | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-zipdownload/
+*/
+$labels['downloadall'] = 'Õ†Õ¥Ö€Õ¢Õ¥Õ¼Õ¶Õ¥Õ¬ Õ¢Õ¸Õ¬Õ¸ Õ¯ÖÕ¾Õ¡Õ® Õ¶Õ«Õ·Ö„Õ¥Ö€Õ¨';
+$labels['downloadfolder'] = 'Õ†Õ¥Ö€Õ¢Õ¥Õ¼Õ¶Õ¥Õ¬ ÕºÕ¡Õ¶Õ¡Õ¯Õ¨';
+?> \ No newline at end of file
diff --git a/program/include/bc.php b/program/include/bc.php
index a7d7b5ac1..2cb151798 100644
--- a/program/include/bc.php
+++ b/program/include/bc.php
@@ -22,7 +22,7 @@
/**
* Roundcube Webmail deprecated functions
*
- * @package Core
+ * @package Webmail
* @subpackage Legacy
* @author Thomas Bruederli <roundcube@gmail.com>
*/
diff --git a/program/include/iniset.php b/program/include/iniset.php
index f6ad466da..cb72ae15b 100644
--- a/program/include/iniset.php
+++ b/program/include/iniset.php
@@ -5,7 +5,7 @@
| program/include/iniset.php |
| |
| This file is part of the Roundcube Webmail client |
- | Copyright (C) 2008-2013, The Roundcube Dev Team |
+ | Copyright (C) 2008-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -21,7 +21,7 @@
*/
// application constants
-define('RCMAIL_VERSION', '1.0-git');
+define('RCMAIL_VERSION', '1.1-git');
define('RCMAIL_START', microtime(true));
if (!defined('INSTALL_PATH')) {
diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index a927b7946..7a6fb89ec 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -5,8 +5,8 @@
| program/include/rcmail.php |
| |
| This file is part of the Roundcube Webmail client |
- | Copyright (C) 2008-2013, The Roundcube Dev Team |
- | Copyright (C) 2011-2013, Kolab Systems AG |
+ | Copyright (C) 2008-2014, The Roundcube Dev Team |
+ | Copyright (C) 2011-2014, Kolab Systems AG |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -25,7 +25,7 @@
* Application class of Roundcube Webmail
* implemented as singleton
*
- * @package Core
+ * @package Webmail
*/
class rcmail extends rcube
{
@@ -157,12 +157,7 @@ class rcmail extends rcube
*/
public function set_user($user)
{
- if (is_object($user)) {
- $this->user = $user;
-
- // overwrite config with user preferences
- $this->config->set_user_prefs((array)$this->user->get_prefs());
- }
+ parent::set_user($user);
$lang = $this->language_prop($this->config->get('language', $_SESSION['language']));
$_SESSION['language'] = $this->user->language = $lang;
@@ -431,7 +426,7 @@ class rcmail extends rcube
}
// add some basic labels to client
- $this->output->add_label('loading', 'servererror', 'requesttimedout', 'refreshing');
+ $this->output->add_label('loading', 'servererror', 'connerror', 'requesttimedout', 'refreshing');
return $this->output;
}
@@ -492,17 +487,20 @@ class rcmail extends rcube
return false;
}
- $config = $this->config->all();
+ $default_host = $this->config->get('default_host');
+ $default_port = $this->config->get('default_port');
+ $username_domain = $this->config->get('username_domain');
+ $login_lc = $this->config->get('login_lc', 2);
if (!$host) {
- $host = $config['default_host'];
+ $host = $default_host;
}
// Validate that selected host is in the list of configured hosts
- if (is_array($config['default_host'])) {
+ if (is_array($default_host)) {
$allowed = false;
- foreach ($config['default_host'] as $key => $host_allowed) {
+ foreach ($default_host as $key => $host_allowed) {
if (!is_numeric($key)) {
$host_allowed = $key;
}
@@ -516,7 +514,7 @@ class rcmail extends rcube
$host = null;
}
}
- else if (!empty($config['default_host']) && $host != rcube_utils::parse_host($config['default_host'])) {
+ else if (!empty($default_host) && $host != rcube_utils::parse_host($default_host)) {
$host = null;
}
@@ -533,23 +531,23 @@ class rcmail extends rcube
if (!empty($a_host['port']))
$port = $a_host['port'];
- else if ($ssl && $ssl != 'tls' && (!$config['default_port'] || $config['default_port'] == 143))
+ else if ($ssl && $ssl != 'tls' && (!$default_port || $default_port == 143))
$port = 993;
}
if (!$port) {
- $port = $config['default_port'];
+ $port = $default_port;
}
// Check if we need to add/force domain to username
- if (!empty($config['username_domain'])) {
- $domain = is_array($config['username_domain']) ? $config['username_domain'][$host] : $config['username_domain'];
+ if (!empty($username_domain)) {
+ $domain = is_array($username_domain) ? $username_domain[$host] : $username_domain;
if ($domain = rcube_utils::parse_host((string)$domain, $host)) {
$pos = strpos($username, '@');
// force configured domains
- if (!empty($config['username_domain_forced']) && $pos !== false) {
+ if ($pos !== false && $this->config->get('username_domain_forced')) {
$username = substr($username, 0, $pos) . '@' . $domain;
}
// just add domain if not specified
@@ -559,14 +557,10 @@ class rcmail extends rcube
}
}
- if (!isset($config['login_lc'])) {
- $config['login_lc'] = 2; // default
- }
-
// Convert username to lowercase. If storage backend
// is case-insensitive we need to store always the same username (#1487113)
- if ($config['login_lc']) {
- if ($config['login_lc'] == 2 || $config['login_lc'] === true) {
+ if ($login_lc) {
+ if ($login_lc == 2 || $login_lc === true) {
$username = mb_strtolower($username);
}
else if (strpos($username, '@')) {
@@ -604,7 +598,7 @@ class rcmail extends rcube
$user->touch();
}
// create new system user
- else if ($config['auto_create_user']) {
+ else if ($this->config->get('auto_create_user')) {
if ($created = rcube_user::create($username, $host)) {
$user = $created;
}
@@ -634,14 +628,6 @@ class rcmail extends rcube
$this->set_user($user);
$this->set_storage_prop();
- // fix some old settings according to namespace prefix
- $this->fix_namespace_settings($user);
-
- // create default folders on first login
- if ($config['create_default_folders'] && (!empty($created) || empty($user->data['last_login']))) {
- $storage->create_default_folders();
- }
-
// set session vars
$_SESSION['user_id'] = $user->ID;
$_SESSION['username'] = $user->data['username'];
@@ -655,7 +641,13 @@ class rcmail extends rcube
$_SESSION['timezone'] = rcube_utils::get_input_value('_timezone', rcube_utils::INPUT_GPC);
}
- // force reloading complete list of subscribed mailboxes
+ // fix some old settings according to namespace prefix
+ $this->fix_namespace_settings($user);
+
+ // set/create special folders
+ $this->set_special_folders();
+
+ // clear all mailboxes related cache(s)
$storage->clear_cache('mailboxes', true);
return true;
@@ -933,14 +925,6 @@ class rcmail extends rcube
}
}
- if (!empty($prefs['default_folders'])) {
- foreach ($prefs['default_folders'] as $idx => $name) {
- if ($name != 'INBOX' && !preg_match($regexp, $name)) {
- $prefs['default_folders'][$idx] = $prefix.$name;
- }
- }
- }
-
if (!empty($prefs['search_mods'])) {
$folders = array();
foreach ($prefs['search_mods'] as $idx => $value) {
@@ -1168,11 +1152,11 @@ class rcmail extends rcube
$week_limit = mktime(0, 0, 0, $now_date['mon'], $now_date['mday']-6, $now_date['year']);
$pretty_date = $this->config->get('prettydate');
- if ($pretty_date && $timestamp > $today_limit && $timestamp < $now) {
+ if ($pretty_date && $timestamp > $today_limit && $timestamp <= $now) {
$format = $this->config->get('date_today', $this->config->get('time_format', 'H:i'));
$today = true;
}
- else if ($pretty_date && $timestamp > $week_limit && $timestamp < $now) {
+ else if ($pretty_date && $timestamp > $week_limit && $timestamp <= $now) {
$format = $this->config->get('date_short', 'D H:i');
}
else {
@@ -1361,12 +1345,31 @@ class rcmail extends rcube
$delimiter = $storage->get_hierarchy_delimiter();
- foreach ($list as $folder) {
- if (empty($p['exceptions']) || !in_array($folder, $p['exceptions'])) {
- $this->build_folder_tree($a_mailboxes, $folder, $delimiter);
+ if (!empty($p['exceptions'])) {
+ $list = array_diff($list, (array) $p['exceptions']);
+ }
+
+ if (!empty($p['additional'])) {
+ foreach ($p['additional'] as $add_folder) {
+ $add_items = explode($delimiter, $add_folder);
+ $folder = '';
+ while (count($add_items)) {
+ $folder .= array_shift($add_items);
+
+ // @TODO: sorting
+ if (!in_array($folder, $list)) {
+ $list[] = $folder;
+ }
+
+ $folder .= $delimiter;
+ }
}
}
+ foreach ($list as $folder) {
+ $this->build_folder_tree($a_mailboxes, $folder, $delimiter);
+ }
+
$select = new html_select($p);
if ($p['noselection']) {
@@ -1633,14 +1636,13 @@ class rcmail extends rcube
public function localize_folderpath($path)
{
$protect_folders = $this->config->get('protect_default_folders');
- $default_folders = (array) $this->config->get('default_folders');
$delimiter = $this->storage->get_hierarchy_delimiter();
$path = explode($delimiter, $path);
$result = array();
foreach ($path as $idx => $dir) {
$directory = implode($delimiter, array_slice($path, 0, $idx+1));
- if ($protect_folders && in_array($directory, $default_folders)) {
+ if ($protect_folders && $this->storage->is_special_folder($directory)) {
unset($result);
$result[] = $this->localize_foldername($directory);
}
diff --git a/program/include/rcmail_html_page.php b/program/include/rcmail_html_page.php
index d5610ab47..604d756e7 100644
--- a/program/include/rcmail_html_page.php
+++ b/program/include/rcmail_html_page.php
@@ -23,7 +23,7 @@
/**
* Class to create an empty HTML page with some default styles
*
- * @package Core
+ * @package Webmail
* @subpackage View
*/
class rcmail_html_page extends rcmail_output_html
diff --git a/program/include/rcmail_output.php b/program/include/rcmail_output.php
index 36512ad48..0f7aaf966 100644
--- a/program/include/rcmail_output.php
+++ b/program/include/rcmail_output.php
@@ -22,7 +22,7 @@
/**
* Class for output generation
*
- * @package Core
+ * @package Webmail
* @subpackage View
*/
abstract class rcmail_output extends rcube_output
diff --git a/program/include/rcmail_output_html.php b/program/include/rcmail_output_html.php
index 4df755985..a23b8405e 100644
--- a/program/include/rcmail_output_html.php
+++ b/program/include/rcmail_output_html.php
@@ -23,7 +23,7 @@
/**
* Class to create HTML page output using a skin template
*
- * @package Core
+ * @package Webmail
* @subpackage View
*/
class rcmail_output_html extends rcmail_output
@@ -1216,7 +1216,7 @@ class rcmail_output_html extends rcmail_output
// generate html code for button
if ($btn_content) {
- $attrib_str = html::attrib_string($attrib, $link_attrib);
+ $attrib_str = html::attrib_string($attrib, array_merge($link_attrib, array('data-*')));
$out = sprintf('<a%s>%s</a>', $attrib_str, $btn_content);
}
@@ -1629,6 +1629,12 @@ class rcmail_output_html extends rcmail_output
$out .= $input_host->show();
}
+ if (rcube_utils::get_boolean($attrib['submit'])) {
+ $submit = new html_inputfield(array('type' => 'submit', 'id' => 'rcmloginsubmit',
+ 'class' => 'button mainaction', 'value' => $this->app->gettext('login')));
+ $out .= html::p('formbuttons', $submit->show());
+ }
+
// surround html output with a form tag
if (empty($attrib['form'])) {
$out = $this->form_tag(array('name' => $form_name, 'method' => 'post'), $out);
@@ -1691,9 +1697,9 @@ class rcmail_output_html extends rcmail_output
// add form tag around text field
if (empty($attrib['form'])) {
$out = $this->form_tag(array(
- 'name' => "rcmqsearchform",
+ 'name' => "rcmqsearchform",
'onsubmit' => self::JS_OBJECT_NAME . ".command('search'); return false",
- 'style' => "display:inline"),
+ 'style' => "display:inline"),
$out);
}
diff --git a/program/include/rcmail_output_json.php b/program/include/rcmail_output_json.php
index d0e1eec64..fa35824db 100644
--- a/program/include/rcmail_output_json.php
+++ b/program/include/rcmail_output_json.php
@@ -23,7 +23,7 @@
/**
* View class to produce JSON responses
*
- * @package Core
+ * @package Webmail
* @subpackage View
*/
class rcmail_output_json extends rcmail_output
diff --git a/program/include/rcmail_string_replacer.php b/program/include/rcmail_string_replacer.php
index 6771375e1..d3fdc3e7f 100644
--- a/program/include/rcmail_string_replacer.php
+++ b/program/include/rcmail_string_replacer.php
@@ -23,7 +23,7 @@
* Helper class for turning URLs and email addresses in plaintext content
* into clickable links.
*
- * @package Core
+ * @package Webmail
* @subpackage Utils
*/
class rcmail_string_replacer extends rcube_string_replacer
diff --git a/program/js/app.js b/program/js/app.js
index 1cbc36a76..f548ad850 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -566,7 +566,7 @@ function rcube_webmail()
// execute a specific command on the web client
this.command = function(command, props, obj, event)
{
- var ret, uid, cid, url, flag;
+ var ret, uid, cid, url, flag, aborted = false;
if (obj && obj.blur)
obj.blur();
@@ -652,11 +652,16 @@ function rcube_webmail()
var form = this.gui_objects.messageform,
win = this.open_window('');
- this.save_compose_form_local();
- $("input[name='_action']", form).val('compose');
- form.action = this.url('mail/compose', { _id: this.env.compose_id, _extwin: 1 });
- form.target = win.name;
- form.submit();
+ if (win) {
+ this.save_compose_form_local();
+ $("input[name='_action']", form).val('compose');
+ form.action = this.url('mail/compose', { _id: this.env.compose_id, _extwin: 1 });
+ form.target = win.name;
+ form.submit();
+ }
+ else {
+ // this.display_message(this.get_label('windowopenerror'), 'error');
+ }
}
else {
this.open_window(this.env.permaurl, true);
@@ -1064,7 +1069,10 @@ function rcube_webmail()
// Reset the auto-save timer
clearTimeout(this.save_timer);
- this.upload_file(props || this.gui_objects.uploadform, 'upload');
+ if (!this.upload_file(props || this.gui_objects.uploadform, 'upload')) {
+ alert(this.get_label('selectimportfile'));
+ aborted = true;
+ }
break;
case 'insert-sig':
@@ -1188,8 +1196,13 @@ function rcube_webmail()
case 'import-messages':
var form = props || this.gui_objects.importform;
- $('input[name="_unlock"]', form).val(this.set_busy(true, 'importwait'));
- this.upload_file(form, 'import');
+ var importlock = this.set_busy(true, 'importwait');
+ $('input[name="_unlock"]', form).val(importlock);
+ if (!this.upload_file(form, 'import')) {
+ this.set_busy(false, null, importlock);
+ alert(this.get_label('selectimportfile'));
+ aborted = true;
+ }
break;
case 'import':
@@ -1197,6 +1210,7 @@ function rcube_webmail()
var file = document.getElementById('rcmimportfile');
if (file && !file.value) {
alert(this.get_label('selectimportfile'));
+ aborted = true;
break;
}
this.gui_objects.importform.submit();
@@ -1248,9 +1262,9 @@ function rcube_webmail()
break;
}
- if (this.triggerEvent('after'+command, props) === false)
+ if (!aborted && this.triggerEvent('after'+command, props) === false)
ret = false;
- this.triggerEvent('actionafter', {props:props, action:command});
+ this.triggerEvent('actionafter', { props:props, action:command, aborted:aborted });
return ret === false ? false : obj ? false : true;
};
@@ -1450,11 +1464,31 @@ function rcube_webmail()
this.drag_end = function(e)
{
- this.drag_active = false;
- this.env.last_folder_target = null;
+ var list, model;
if (this.treelist)
this.treelist.drag_end();
+
+ // execute drag & drop action when mouse was released
+ if (list = this.message_list)
+ model = this.env.mailboxes;
+ else if (list = this.contact_list)
+ model = this.env.contactfolders;
+
+ if (this.drag_active && model && this.env.last_folder_target) {
+ var target = model[this.env.last_folder_target];
+ list.draglayer.hide();
+
+ if (this.contact_list) {
+ if (!this.contacts_drag_menu(e, target))
+ this.command('move', target);
+ }
+ else if (!this.drag_menu(e, target))
+ this.command('move', target);
+ }
+
+ this.drag_active = false;
+ this.env.last_folder_target = null;
};
this.drag_move = function(e)
@@ -1515,38 +1549,16 @@ function rcube_webmail()
this.doc_mouse_up = function(e)
{
- var model, list, id;
+ var list, id;
// ignore event if jquery UI dialog is open
if ($(rcube_event.get_target(e)).closest('.ui-dialog, .ui-widget-overlay').length)
return;
- if (list = this.message_list)
- model = this.env.mailboxes;
- else if (list = this.contact_list)
- model = this.env.contactfolders;
- else if (this.ksearch_value)
- this.ksearch_blur();
-
+ list = this.message_list || this.contact_list;
if (list && !rcube_mouse_is_over(e, list.list.parentNode))
list.blur();
- // handle mouse release when dragging
- if (this.drag_active && model && this.env.last_folder_target) {
- var target = model[this.env.last_folder_target];
-
- this.env.last_folder_target = null;
- list.draglayer.hide();
- this.drag_end(e);
-
- if (this.contact_list) {
- if (!this.contacts_drag_menu(e, target))
- this.command('move', target);
- }
- else if (!this.drag_menu(e, target))
- this.command('move', target);
- }
-
// reset 'pressed' buttons
if (this.buttons_sel) {
for (id in this.buttons_sel)
@@ -1906,12 +1918,12 @@ function rcube_webmail()
tree += '<span id="msgicn'+row.id+'" class="'+css_class+'">&nbsp;</span>';
row.className = row_class;
- // build subject link
- if (!bw.ie && cols.subject) {
+ // build subject link
+ if (cols.subject) {
var action = flags.mbox == this.env.drafts_mailbox ? 'compose' : 'show';
var uid_param = flags.mbox == this.env.drafts_mailbox ? '_draft_uid' : '_uid';
cols.subject = '<a href="./?_task=mail&_action='+action+'&_mbox='+urlencode(flags.mbox)+'&'+uid_param+'='+urlencode(uid)+'"'+
- ' onclick="return rcube_event.cancel(event)" onmouseover="rcube_webmail.long_subject_title(this,'+(message.depth+1)+')">'+cols.subject+'</a>';
+ ' onclick="return rcube_event.cancel(event)" onmouseover="rcube_webmail.long_subject_title(this,'+(message.depth+1)+')"><span>'+cols.subject+'</span></a>';
}
// add each submitted col
@@ -3113,7 +3125,12 @@ function rcube_webmail()
// close compose step in opener
if (opener_rc && opener_rc.env.action == 'compose') {
- setTimeout(function(){ opener.history.back(); }, 100);
+ setTimeout(function(){
+ if (opener.history.length > 1)
+ opener.history.back();
+ else
+ opener_rc.redirect(opener_rc.get_task_url('mail'));
+ }, 100);
this.env.opened_extwin = true;
}
@@ -3158,6 +3175,10 @@ function rcube_webmail()
if (this.env.draft_id && formdata.draft_id && formdata.draft_id != this.env.draft_id) {
continue;
}
+ // skip records on reply
+ if (this.env.reply_msgid && formdata.reply_msgid != this.env.reply_msgid) {
+ continue;
+ }
// show dialog asking to restore the message
if (formdata.changed && formdata.session != this.env.session_id) {
this.show_popup_dialog(
@@ -3409,7 +3430,7 @@ function rcube_webmail()
if ($("input[name='_is_html']").val() == '1') {
var editor = tinyMCE.get(this.env.composebody);
editor.getWin().focus(); // correct focus in IE & Chrome
- editor.selection.setContent(insert, { format:'text' });
+ editor.selection.setContent(this.quote_html(insert).replace(/\r?\n/g, '<br/>'), { format:'text' });
}
// replace selection in compose textarea
else {
@@ -3633,8 +3654,14 @@ function rcube_webmail()
this.env.draft_id = id;
$("input[name='_draft_saveid']").val(id);
- this.remove_compose_data(this.env.compose_id);
+ // reset history of hidden iframe used for saving draft (#1489643)
+ if (window.frames['savetarget'] && window.frames['savetarget'].history) {
+ window.frames['savetarget'].history.back();
+ }
}
+
+ // always remove local copy upon saving as draft
+ this.remove_compose_data(this.env.compose_id);
};
this.auto_save_start = function()
@@ -3698,6 +3725,9 @@ function rcube_webmail()
if (this.env.draft_id) {
formdata.draft_id = this.env.draft_id;
}
+ if (this.env.reply_msgid) {
+ formdata.reply_msgid = this.env.reply_msgid;
+ }
$('input, select, textarea', this.gui_objects.messageform).each(function(i, elem) {
switch (elem.tagName.toLowerCase()) {
@@ -3977,7 +4007,7 @@ function rcube_webmail()
if (numfiles) {
if (this.env.max_filesize && this.env.filesizeerror && size > this.env.max_filesize) {
this.display_message(this.env.filesizeerror, 'error');
- return;
+ return false;
}
var frame_name = this.async_upload_form(form, action || 'upload', function(e) {
@@ -4011,11 +4041,13 @@ function rcube_webmail()
if (this.env.upload_progress_time) {
this.upload_progress_start('upload', ts);
}
+
+ // set reference to the form object
+ this.gui_objects.attachmentform = form;
+ return true;
}
- // set reference to the form object
- this.gui_objects.attachmentform = form;
- return true;
+ return false;
};
// add file name to attachment list
@@ -4057,8 +4089,10 @@ function rcube_webmail()
this.remove_from_attachment_list = function(name)
{
- delete this.env.attachments[name];
- $('#'+name).remove();
+ if (this.env.attachments) {
+ delete this.env.attachments[name];
+ $('#'+name).remove();
+ }
};
this.remove_attachment = function(name)
@@ -4312,11 +4346,15 @@ function rcube_webmail()
this.ksearch_destroy();
// insert all members of a group
- if (typeof this.env.contacts[id] === 'object' && this.env.contacts[id].id) {
+ if (typeof this.env.contacts[id] === 'object' && this.env.contacts[id].type == 'group') {
insert += this.env.contacts[id].name + this.env.recipients_delimiter;
this.group2expand[this.env.contacts[id].id] = $.extend({ input: this.ksearch_input }, this.env.contacts[id]);
this.http_request('mail/group-expand', {_source: this.env.contacts[id].source, _gid: this.env.contacts[id].id}, false);
}
+ else if (typeof this.env.contacts[id] === 'object' && this.env.contacts[id].name) {
+ insert = this.env.contacts[id].name + this.env.recipients_delimiter;
+ trigger = true;
+ }
else if (typeof this.env.contacts[id] === 'string') {
insert = this.env.contacts[id] + this.env.recipients_delimiter;
trigger = true;
@@ -4330,7 +4368,7 @@ function rcube_webmail()
this.ksearch_input.setSelectionRange(cpos, cpos);
if (trigger) {
- this.triggerEvent('autocomplete_insert', { field:this.ksearch_input, insert:insert });
+ this.triggerEvent('autocomplete_insert', { field:this.ksearch_input, insert:insert, data:this.env.contacts[id] });
this.compose_type_activity++;
}
};
@@ -4417,7 +4455,7 @@ function rcube_webmail()
return;
// display search results
- var i, len, ul, li, text, init,
+ var i, len, ul, li, text, type, init,
value = this.ksearch_value,
maxlen = this.env.autocomplete_max ? this.env.autocomplete_max : 15;
@@ -4450,11 +4488,13 @@ function rcube_webmail()
if (results && (len = results.length)) {
for (i=0; i < len && maxlen > 0; i++) {
text = typeof results[i] === 'object' ? results[i].name : results[i];
+ type = typeof results[i] === 'object' ? results[i].type : '';
li = document.createElement('LI');
li.innerHTML = text.replace(new RegExp('('+RegExp.escape(value)+')', 'ig'), '##$1%%').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/##([^%]+)%%/g, '<b>$1</b>');
li.onmouseover = function(){ ref.ksearch_select(this); };
li.onmouseup = function(){ ref.ksearch_click(this) };
li._rcm_id = this.env.contacts.length + i;
+ if (type) li.className = type;
ul.appendChild(li);
maxlen -= 1;
}
@@ -6076,7 +6116,10 @@ function rcube_webmail()
// disable/enable input buttons
if (button.type == 'input') {
button.status = state;
- obj.disabled = !state;
+ obj.disabled = state == 'pas';
+ }
+ else if (button.type == 'uibutton') {
+ $(obj).button('option', 'disabled', state == 'pas');
}
}
};
@@ -6292,7 +6335,7 @@ function rcube_webmail()
{
// forward call to parent window
if (this.is_framed()) {
- return parent.rcmail.show_popup_dialog(html, title, buttons);
+ return parent.rcmail.show_popup_dialog(html, title, buttons, options);
}
var popup = $('<div class="popup">')
@@ -6312,7 +6355,7 @@ function rcube_webmail()
popup.dialog('option', {
height: Math.min(h - 40, height + 75 + (buttons ? 50 : 0)),
- width: Math.min(w - 20, width + 20)
+ width: Math.min(w - 20, width + 36)
});
return popup;
@@ -6346,12 +6389,14 @@ function rcube_webmail()
this.mark_folder = function(name, class_name, prefix, encode)
{
$(this.get_folder_li(name, prefix, encode)).addClass(class_name);
+ this.triggerEvent('markfolder', {folder: name, mark: class_name, status: true});
};
// adds a class to selected folder
this.unmark_folder = function(name, class_name, prefix, encode)
{
$(this.get_folder_li(name, prefix, encode)).removeClass(class_name);
+ this.triggerEvent('markfolder', {folder: name, mark: class_name, status: false});
};
// helper method to find a folder list item
@@ -6647,8 +6692,9 @@ function rcube_webmail()
this.element_position = function(element, obj)
{
var obj = $(obj), win = $(window),
- width = obj.width(),
- height = obj.height(),
+ width = obj.outerWidth(),
+ height = obj.outerHeight(),
+ menu_pos = obj.data('menu-pos'),
win_height = win.height(),
elem_height = $(element).height(),
elem_width = $(element).width(),
@@ -6656,6 +6702,13 @@ function rcube_webmail()
top = pos.top,
left = pos.left + width;
+ if (menu_pos == 'bottom') {
+ top += height;
+ left -= width;
+ }
+ else
+ left -= 5;
+
if (top + elem_height > win_height) {
top -= elem_height - height;
if (top < 0)
@@ -7002,7 +7055,7 @@ function rcube_webmail()
else if (status == 'timeout')
this.display_message(this.get_label('requesttimedout'), 'error');
else if (request.status == 0 && status != 'abort')
- this.display_message(this.get_label('servererror') + ' (No connection)', 'error');
+ this.display_message(this.get_label('connerror'), 'error');
// redirect to url specified in location header if not empty
var location_url = request.getResponseHeader("Location");
@@ -7580,20 +7633,28 @@ function rcube_webmail()
try {
window.navigator.registerProtocolHandler('mailto', this.mailto_handler_uri(), name);
}
- catch(e) {};
+ catch(e) {
+ this.display_message(String(e), 'error');
+ };
};
this.check_protocol_handler = function(name, elem)
{
var nav = window.navigator;
- if (!nav
- || (typeof nav.registerProtocolHandler != 'function')
- || ((typeof nav.isProtocolHandlerRegistered == 'function')
- && nav.isProtocolHandlerRegistered('mailto', this.mailto_handler_uri()) == 'registered')
- )
- $(elem).addClass('disabled');
- else
- $(elem).click(function() { rcmail.register_protocol_handler(name); return false; });
+ if (!nav || (typeof nav.registerProtocolHandler != 'function')) {
+ $(elem).addClass('disabled').click(function(){ return false; });
+ }
+ else {
+ var status = null;
+ if (typeof nav.isProtocolHandlerRegistered == 'function') {
+ status = nav.isProtocolHandlerRegistered('mailto', this.mailto_handler_uri());
+ if (status)
+ $(elem).parent().find('.mailtoprotohandler-status').html(status);
+ }
+ else {
+ $(elem).click(function() { rcmail.register_protocol_handler(name); return false; });
+ }
+ }
};
// Checks browser capabilities eg. PDF support, TIF support
diff --git a/program/js/common.js b/program/js/common.js
index 9c0bb9db3..722eb3f60 100644
--- a/program/js/common.js
+++ b/program/js/common.js
@@ -49,6 +49,7 @@ function roundcube_browser()
this.dom = document.getElementById ? true : false;
this.dom2 = document.addEventListener && document.removeEventListener;
+ this.webkit = this.agent_lc.indexOf('applewebkit') > 0;
this.ie = (document.all && !window.opera) || (this.win && this.agent_lc.indexOf('trident/') > 0);
if (this.ie) {
@@ -57,19 +58,22 @@ function roundcube_browser()
this.ie8 = this.appver.indexOf('MSIE 8') > 0;
this.ie9 = this.appver.indexOf('MSIE 9') > 0;
}
+ else if (window.opera) {
+ this.opera = true;
+ this.vendver = opera.version();
+ }
else {
this.chrome = this.agent_lc.indexOf('chrome') > 0;
- this.safari = !this.chrome && (this.agent_lc.indexOf('safari') > 0 || this.agent_lc.indexOf('applewebkit') > 0);
+ this.safari = !this.chrome && (this.webkit || this.agent_lc.indexOf('safari') > 0);
this.konq = this.agent_lc.indexOf('konqueror') > 0;
this.mz = this.dom && !this.chrome && !this.safari && !this.konq && this.agent.indexOf('Mozilla') >= 0;
this.iphone = this.safari && (this.agent_lc.indexOf('iphone') > 0 || this.agent_lc.indexOf('ipod') > 0);
this.ipad = this.safari && this.agent_lc.indexOf('ipad') > 0;
- this.opera = window.opera ? true : false;
}
if (!this.vendver) {
// common version strings
- this.vendver = /(khtml|chrome|safari|applewebkit|opera|msie)(\s|\/)([0-9\.]+)/.test(this.agent_lc) ? parseFloat(RegExp.$3) : 0;
+ this.vendver = /(opera|opr|khtml|chrome|safari|applewebkit|msie)(\s|\/)([0-9\.]+)/.test(this.agent_lc) ? parseFloat(RegExp.$3) : 0;
// any other (Mozilla, Camino, IE>=11)
if (!this.vendver)
@@ -116,7 +120,7 @@ function roundcube_browser()
classname += ' iphone';
else if (this.ipad)
classname += ' ipad';
- else if (this.safari || this.chrome)
+ else if (this.webkit)
classname += ' webkit';
if (this.mobile)
diff --git a/program/js/jquery.min.js b/program/js/jquery.min.js
index 83589daa7..73f33fb3a 100644
--- a/program/js/jquery.min.js
+++ b/program/js/jquery.min.js
@@ -1,2 +1,4 @@
-/*! jQuery v1.8.3 jquery.com | jquery.org/license */
-(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)v.event.add(t,n,u[n][r])}o.data&&(o.data=v.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!==1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n==="input"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n==="option"?t.selected=e.defaultSelected:n==="input"||n==="textarea"?t.defaultValue=e.defaultValue:n==="script"&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[]}function _t(e){Et.test(e.type)&&(e.defaultChecked=e.checked)}function Qt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Jt.length;while(i--){t=Jt[i]+n;if(t in e)return t}return r}function Gt(e,t){return e=t||e,v.css(e,"display")==="none"||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i=[],s=0,o=e.length;for(;s<o;s++){n=e[s];if(!n.style)continue;i[s]=v._data(n,"olddisplay"),t?(!i[s]&&n.style.display==="none"&&(n.style.display=""),n.style.display===""&&Gt(n)&&(i[s]=v._data(n,"olddisplay",nn(n.nodeName)))):(r=Dt(n,"display"),!i[s]&&r!=="none"&&v._data(n,"olddisplay",r))}for(s=0;s<o;s++){n=e[s];if(!n.style)continue;if(!t||n.style.display==="none"||n.style.display==="")n.style.display=t?i[s]||"":"none"}return e}function Zt(e,t,n){var r=Rt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function en(e,t,n,r){var i=n===(r?"border":"content")?4:t==="width"?1:0,s=0;for(;i<4;i+=2)n==="margin"&&(s+=v.css(e,n+$t[i],!0)),r?(n==="content"&&(s-=parseFloat(Dt(e,"padding"+$t[i]))||0),n!=="margin"&&(s-=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0)):(s+=parseFloat(Dt(e,"padding"+$t[i]))||0,n!=="padding"&&(s+=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0));return s}function tn(e,t,n){var r=t==="width"?e.offsetWidth:e.offsetHeight,i=!0,s=v.support.boxSizing&&v.css(e,"boxSizing")==="border-box";if(r<=0||r==null){r=Dt(e,t);if(r<0||r==null)r=e.style[t];if(Ut.test(r))return r;i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+en(e,t,n||(s?"border":"content"),i)+"px"}function nn(e){if(Wt[e])return Wt[e];var t=v("<"+e+">").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write("<!doctype html><html><body>"),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u<a;u++)r=o[u],s=/^\+/.test(r),s&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[s?"unshift":"push"](n)}}function kn(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u,a=e[s],f=0,l=a?a.length:0,c=e===Sn;for(;f<l&&(c||!u);f++)u=a[f](n,r,i),typeof u=="string"&&(!c||o[u]?u=t:(n.dataTypes.unshift(u),u=kn(e,n,r,i,u,o)));return(c||!u)&&!o["*"]&&(u=kn(e,n,r,i,"*",o)),u}function Ln(e,n){var r,i,s=v.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,a=e.contents,f=e.dataTypes,l=e.responseFields;for(s in l)s in r&&(n[l[s]]=r[s]);while(f[0]==="*")f.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(s in a)if(a[s]&&a[s].test(i)){f.unshift(s);break}if(f[0]in r)o=f[0];else{for(s in r){if(!f[0]||e.converters[s+" "+f[0]]){o=s;break}u||(u=s)}o=o||u}if(o)return o!==f[0]&&f.unshift(o),r[o]}function On(e,t){var n,r,i,s,o=e.dataTypes.slice(),u=o[0],a={},f=0;e.dataFilter&&(t=e.dataFilter(t,e.dataType));if(o[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=o[++f];)if(i!=="*"){if(u!=="*"&&u!==i){n=a[u+" "+i]||a["* "+i];if(!n)for(r in a){s=r.split(" ");if(s[1]===i){n=a[u+" "+s[0]]||a["* "+s[0]];if(n){n===!0?n=a[r]:a[r]!==!0&&(i=s[0],o.splice(f--,0,i));break}}}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(l){return{state:"parsererror",error:n?l:"No conversion from "+u+" to "+i}}}u=i}return{state:"success",data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function $n(){return setTimeout(function(){qn=t},0),qn=v.now()}function Jn(e,t){v.each(t,function(t,n){var r=(Vn[t]||[]).concat(Vn["*"]),i=0,s=r.length;for(;i<s;i++)if(r[i].call(e,t,n))return})}function Kn(e,t,n){var r,i=0,s=0,o=Xn.length,u=v.Deferred().always(function(){delete a.elem}),a=function(){var t=qn||$n(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,i=1-r,s=0,o=f.tweens.length;for(;s<o;s++)f.tweens[s].run(i);return u.notifyWith(e,[f,i,n]),i<1&&o?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=v.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n=0,r=t?f.tweens.length:0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;Qn(l,f.opts.specialEasing);for(;i<o;i++){r=Xn[i].call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){r=v.camelCase(n),i=t[r],s=e[n],v.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=v.cssHooks[r];if(o&&"expand"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,h=this,p=e.style,d={},m=[],g=e.nodeType&&Gt(e);n.queue||(l=v._queueHooks(e,"fx"),l.unqueued==null&&(l.unqueued=0,c=l.empty.fire,l.empty.fire=function(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,"fx").length||l.empty.fire()})})),e.nodeType===1&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],v.css(e,"display")==="inline"&&v.css(e,"float")==="none"&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)==="inline"?p.display="inline-block":p.zoom=1)),n.overflow&&(p.overflow="hidden",v.support.shrinkWrapBlocks||h.done(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t){s=t[r];if(Un.exec(s)){delete t[r],a=a||s==="toggle";if(s===(g?"hide":"show"))continue;m.push(r)}}o=m.length;if(o){u=v._data(e,"fxshow")||v._data(e,"fxshow",{}),"hidden"in u&&(g=u.hidden),a&&(u.hidden=!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,"fxshow",!0);for(t in d)v.style(e,t,d[t])});for(r=0;r<o;r++)i=m[r],f=h.createTween(i,g?u[i]:0),d[i]=u[i]||v.style(e,i),i in u||(u[i]=f.start,g&&(f.end=f.start,f.start=i==="width"||i==="height"?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=$t[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function tr(e){return v.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n,r,i=e.document,s=e.location,o=e.navigator,u=e.jQuery,a=e.$,f=Array.prototype.push,l=Array.prototype.slice,c=Array.prototype.indexOf,h=Object.prototype.toString,p=Object.prototype.hasOwnProperty,d=String.prototype.trim,v=function(e,t){return new v.fn.init(e,t,n)},m=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,g=/\S/,y=/\s+/,b=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,w=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a<f;a++)if((e=arguments[a])!=null)for(n in e){r=u[n],i=e[n];if(u===i)continue;l&&i&&(v.isPlainObject(i)||(s=v.isArray(i)))?(s?(s=!1,o=r&&v.isArray(r)?r:[]):o=r&&v.isPlainObject(r)?r:{},u[n]=v.extend(l,o,i)):i!==t&&(u[n]=i)}return u},v.extend({noConflict:function(t){return e.$===v&&(e.$=a),t&&e.jQuery===v&&(e.jQuery=u),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e===!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady=!0;if(e!==!0&&--v.readyWait>0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s<o;)if(n.apply(e[s++],r)===!1)break}else if(u){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;s<o;)if(n.call(e[s],s,e[s++])===!1)break;return e},trim:d&&!d.call("\ufeff\u00a0")?function(e){return e==null?"":d.call(e)}:function(e){return e==null?"":(e+"").replace(b,"")},makeArray:function(e,t){var n,r=t||[];return e!=null&&(n=v.type(e),e.length==null||n==="string"||n==="function"||n==="regexp"||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,s=0;if(typeof r=="number")for(;s<r;s++)e[i++]=n[s];else while(n[s]!==t)e[i++]=n[s++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++)r=!!t(e[s],s),n!==r&&i.push(e[s]);return i},map:function(e,n,r){var i,s,o=[],u=0,a=e.length,f=e instanceof v||a!==t&&typeof a=="number"&&(a>0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u<a;u++)i=n(e[u],u,r),i!=null&&(o[o.length]=i);else for(s in e)i=n(e[s],s,r),i!=null&&(o[o.length]=i);return o.concat.apply([],o)},guid:1,proxy:function(e,n){var r,i,s;return typeof n=="string"&&(r=e[n],n=e,e=r),v.isFunction(e)?(i=l.call(arguments,2),s=function(){return e.apply(n,i.concat(l.call(arguments)))},s.guid=e.guid=e.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,f=r==null,l=0,c=e.length;if(r&&typeof r=="object"){for(l in r)v.access(e,n,l,r[l],1,o,i);s=1}else if(i!==t){a=u===t&&v.isFunction(i),f&&(a?(a=n,n=function(e,t,n){return a.call(v(e),n)}):(n.call(e,i),n=null));if(n)for(;l<c;l++)n(e[l],r,a?i.call(e[l],l,n(e[l],r)):i,u);s=1}return s?e:f?n.call(e):c?n(e[0],r):o},now:function(){return(new Date).getTime()}}),v.ready.promise=function(t){if(!r){r=v.Deferred();if(i.readyState==="complete")setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener("DOMContentLoaded",A,!1),e.addEventListener("load",v.ready,!1);else{i.attachEvent("onreadystatechange",A),e.attachEvent("onload",v.ready);var n=!1;try{n=e.frameElement==null&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll("left")}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){O["[object "+t+"]"]=t.toLowerCase()}),n=v(i);var M={};v.Callbacks=function(e){e=typeof e=="string"?M[e]||_(e):v.extend({},e);var n,r,i,s,o,u,a=[],f=!e.once&&[],l=function(t){n=e.memory&&t,r=!0,u=s||0,s=0,o=a.length,i=!0;for(;a&&u<o;u++)if(a[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}i=!1,a&&(f?f.length&&l(f.shift()):n?a=[]:c.disable())},c={add:function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){var i=v.type(n);i==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!=="string"&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((n=v.inArray(t,a,n))>-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&v.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.support=function(){var t,n,r,s,o,u,a,f,l,c,h,p=i.createElement("div");p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")||(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){v.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",v.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler("setData"+i,r),v.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length<r?v.queue(this[0],e):n===t?this:this.each(function(){var t=v.queue(this,e,n);v._queueHooks(this,e),e==="fx"&&t[0]!=="inprogress"&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return e=v.fx?v.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,s=v.Deferred(),o=this,u=this.length,a=function(){--i||s.resolveWith(o,[o])};typeof e!="string"&&(n=e,e=t),e=e||"fx";while(u--)r=v._data(o[u],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q=/[\t\r\n]/g,R=/\r/g,U=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,W=/^a(?:rea|)$/i,X=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=v.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n<r;n++){i=this[n];if(i.nodeType===1)if(!i.className&&t.length===1)i.className=e;else{s=" "+i.className+" ";for(o=0,u=t.length;o<u;o++)s.indexOf(" "+t[o]+" ")<0&&(s+=t[o]+" ");i.className=v.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e=="string"||e===t){n=(e||"").split(y);for(u=0,a=this.length;u<a;u++){i=this[u];if(i.nodeType===1&&i.className){r=(" "+i.className+" ").replace(q," ");for(s=0,o=n.length;s<o;s++)while(r.indexOf(" "+n[s]+" ")>=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(" "+this[n].className+" ").replace(q," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(v.support.optDisabled?!n.disabled:n.getAttribute("disabled")===null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,"optgroup"))){t=v(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n=v.makeArray(t);return v(e).find("option").each(function(){this.selected=v.inArray(v(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o<r.length;o++)i=r[o],i&&(n=v.propFix[i]||i,s=X.test(i),s||v.attr(e,i,""),e.removeAttribute(V?i:n),s&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error("type property can't be changed");else if(!v.support.radioValue&&t==="radio"&&v.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return j&&v.nodeName(e,"button")?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,"button"))return j.set(e,t,n);e.value=t}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,s,o,u=e.nodeType;if(!e||u===3||u===8||u===2)return;return o=u!==1||!v.isXMLDoc(e),o&&(n=v.propFix[n]||n,s=v.propHooks[n]),r!==t?s&&"set"in s&&(i=s.set(e,r,n))!==t?i:e[n]=r:s&&"get"in s&&(i=s.get(e,n))!==null?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F={get:function(e,n){var r,i=v.prop(e,n);return i===!0||typeof i!="boolean"&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?v.removeAttr(e,n):(r=v.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I={name:!0,id:!0,coords:!0},j=v.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(I[n]?r.value!=="":r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=i.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},v.each(["width","height"],function(e,t){v.attrHooks[t]=v.extend(v.attrHooks[t],{set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}})}),v.attrHooks.contenteditable={get:j.get,set:function(e,t,n){t===""&&(t="false"),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(["href","src","width","height"],function(e,n){v.attrHooks[n]=v.extend(v.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),v.support.style||(v.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),v.support.optSelected||(v.propHooks.selected=v.extend(v.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctype="encoding"),v.support.checkOn||v.each(["radio","checkbox"],function(){v.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]=v.extend(v.valHooks[this],{set:function(e,t){if(v.isArray(t))return e.checked=v.inArray(v(e).val(),t)>=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f<n.length;f++){l=J.exec(n[f])||[],c=l[1],h=(l[2]||"").split(".").sort(),g=v.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=v.event.special[c]||{},p=v.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(".")},d),m=a[c];if(!m){m=a[c]=[],m.delegateCount=0;if(!g.setup||g.setup.call(e,i,h,u)===!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent("on"+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.global[c]=!0}e=null},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,g=v.hasData(e)&&v._data(e);if(!g||!(h=g.events))return;t=v.trim(Z(t||"")).split(" ");for(s=0;s<t.length;s++){o=J.exec(t[s])||[],u=a=o[1],f=o[2];if(!u){for(u in h)v.event.remove(e,u+t[s],n,r,!0);continue}p=v.event.special[u]||{},u=(r?p.delegateType:p.bindType)||u,d=h[u]||[],l=d.length,f=f?new RegExp("(^|\\.)"+f.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(c=0;c<d.length;c++)m=d[c],(i||a===m.origType)&&(!n||n.guid===m.guid)&&(!f||f.test(m.namespace))&&(!r||r===m.selector||r==="**"&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length===0&&l!==d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)===!1)&&v.removeEvent(e,u,g.handle),delete h[u])}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!==3&&s.nodeType!==8){var u,a,f,l,c,h,p,d,m,g,y=n.type||n,b=[];if(Y.test(y+v.event.triggered))return;y.indexOf("!")>=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f<m.length&&!n.isPropagationStopped();f++)l=m[f][0],n.type=m[f][1],d=(v._data(l,"events")||{})[n.type]&&v._data(l,"handle"),d&&d.apply(l,r),d=h&&l[h],d&&v.acceptData(l)&&d.apply&&d.apply(l,r)===!1&&n.preventDefault();return n.type=y,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)===!1)&&(y!=="click"||!v.nodeName(s,"a"))&&v.acceptData(s)&&h&&s[y]&&(y!=="focus"&&y!=="blur"||n.target.offsetWidth!==0)&&!v.isWindow(s)&&(c=s[h],c&&(s[h]=null),v.event.triggered=y,s[y](),v.event.triggered=t,c&&(s[h]=c)),n.result}return},dispatch:function(n){n=v.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d=(v._data(this,"events")||{})[n.type]||[],m=d.delegateCount,g=l.call(arguments),y=!n.exclusive&&!n.namespace,b=v.event.special[n.type]||{},w=[];g[0]=n,n.delegateTarget=this;if(b.preDispatch&&b.preDispatch.call(this,n)===!1)return;if(m&&(!n.button||n.type!=="click"))for(s=n.target;s!=this;s=s.parentNode||this)if(s.disabled!==!0||n.type!=="click"){u={},f=[];for(r=0;r<m;r++)c=d[r],h=c.selector,u[h]===t&&(u[h]=c.needsContext?v(h,this).index(s)>=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r<w.length&&!n.isPropagationStopped();r++){a=w[r],n.currentTarget=a.elem;for(i=0;i<a.matches.length&&!n.isImmediatePropagationStopped();i++){c=a.matches[i];if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.data=c.data,n.handleObj=c,o=((v.event.special[c.origType]||{}).handle||c.handler).apply(a.elem,g),o!==t&&(n.result=o,o===!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,s,o,u=n.button,a=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||i,s=r.documentElement,o=r.body,e.pageX=n.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?n.toElement:a),!e.which&&u!==t&&(e.which=u&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(e[v.expando])return e;var t,n,r=e,s=v.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=v.Event(r);for(t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||i),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=v.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handle=v.event.dispatch,v.removeEvent=i.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]=="undefined"&&(e[r]=null),e.detachEvent(r,n))},v.Event=function(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.type=e,t&&v.extend(this,t),this.timeStamp=e&&e.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={preventDefault:function(){this.isDefaultPrevented=tt;var e=this.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=tt;var e=this.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){v.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj,o=s.selector;if(!i||i!==r&&!v.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),v.support.submitBubbles||(v.event.special.submit={setup:function(){if(v.nodeName(this,"form"))return!1;v.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=v.nodeName(n,"input")||v.nodeName(n,"button")?n.form:t;r&&!v._data(r,"_submit_attached")&&(v.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),v._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,"form"))return!1;v.event.remove(this,"._submit")}}),v.support.changeBubbles||(v.event.special.change={setup:function(){if($.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")v.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),v.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),v.event.simulate("change",this,e,!0)});return!1}v.event.add(this,"beforeactivate._change",function(e){var t=e.target;$.test(t.nodeName)&&!v._data(t,"_change_attached")&&(v.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate("change",this.parentNode,e,!0)}),v._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!=="radio"&&t.type!=="checkbox")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,"._change"),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.special[t]={setup:function(){n++===0&&i.addEventListener(e,r,!0)},teardown:function(){--n===0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof e=="object"){typeof n!="string"&&(r=r||n,n=t);for(u in e)this.on(u,n,r,e[u],s);return this}r==null&&i==null?(i=n,r=n=t):i==null&&(typeof n=="string"?(i=r,r=t):(i=r,r=n,n=t));if(i===!1)i=et;else if(!i)return this;return s===1&&(o=i,i=function(e){return v().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=v.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if(typeof e=="object"){for(s in e)this.off(s,n,e[s]);return this}if(n===!1||typeof n=="function")r=n,n=t;return r===!1&&(r=et),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return v.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||v.guid++,r=0,i=function(n){var i=(v._data(this,"lastToggle"+e.guid)||0)%r;return v._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};i.guid=n;while(r<t.length)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){v.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!r[d]&&(r=ct(r)),i&&!i[d]&&(i=ct(i,s)),N(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||dt(t||"*",u.nodeType?[u]:u,[]),m=e&&(s||!t)?lt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=lt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?T.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a<s;a++)if(n=i.relative[e[a].type])h=[at(ft(h),n)];else{n=i.filter[e[a].type].apply(null,e[a].matches);if(n[d]){r=++a;for(;r<s;r++)if(i.relative[e[r].type])break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a<r&&ht(e.slice(a,r)),r<s&&ht(e=e.slice(r)),r<s&&e.join(""))}h.push(n)}return ft(h)}function pt(e,t){var r=t.length>0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r<i;r++)nt(e,t[r],n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,h=ut(e),p=h.length;if(!r&&h.length===1){u=h[0]=h[0].slice(0);if(u.length>2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},N=function(e,t){return e[d]=t==null||t,e},C=function(){var e={},t=[];return N(function(n,r){return t.push(n)>i.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="<a name='"+d+"'></a><div name='"+d+"'></div>",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:st(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:st(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},f=y.compareDocumentPosition?function(e,t){return e===t?(l=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(e===t)return l=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,u=t.parentNode,a=o;if(o===u)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),a=a.parentNode;a=u;while(a)s.unshift(a),a=a.parentNode;n=i.length,r=s.length;for(var f=0;f<n&&f<r;f++)if(i[f]!==s[f])return ot(i[f],s[f]);return f===n?ot(e,s[f],-1):ot(i[f],t,1)},[0,0].sort(f),h=!l,nt.uniqueSort=function(e){var t,n=[],r=1,i=0;l=h,e.sort(f);if(l){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e},nt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},a=nt.compile=function(e,t){var n,r=[],i=[],s=A[d][e+" "];if(!s){t||(t=ut(e)),n=t.length;while(n--)s=ht(t[n]),s[d]?r.push(s):i.push(s);s=A(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,t=vt,n=/'|\\/g,r=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,i=[":focus"],s=[":active"],u=y.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t<n;t++)if(v.contains(u[t],this))return!0});o=this.pushStack("","find",e);for(t=0,n=this.length;t<n;t++){r=o.length,v.find(e,this[t],o);if(t>0)for(i=r;i<o.length;i++)for(s=0;s<r;s++)if(o[s]===o[i]){o.splice(i--,1);break}}return o},has:function(e){var t,n=v(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(v.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),"not",e)},filter:function(e){return this.pushStack(ft(this,e,!0),"filter",e)},is:function(e){return!!e&&(typeof e=="string"?st.test(e)?v(e,this.context).index(this[0])>=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r<i;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&n.nodeType!==11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/<tbody/i,gt=/<|&#?\w+;/,yt=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,wt=new RegExp("<(?:"+ct+")[\\s/>]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,Nt={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X<div>","</div>"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this[0])?this.length?this.pushStack(v(v.isFunction(e)?e():e),"replaceWith",e):this:v.isFunction(e)?this.each(function(t){var n=v(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!="string"&&(e=v(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,s,o,u,a=0,f=e[0],l=[],c=this.length;if(!v.support.checkClone&&c>1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a<c;a++)r.call(n&&v.nodeName(this[a],"table")?Lt(this[a],"tbody"):this[a],a===u?o:v.clone(o,!0,!0))}o=s=null,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):v.error("no ajax"):v.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Tt,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragment=function(e,n,r){var s,o,u,a=e[0];return n=n||i,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,e.length===1&&typeof a=="string"&&a.length<512&&n===i&&a.charAt(0)==="<"&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o=!0,s=v.fragments[a],u=s!==t),s||(s=n.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragments[a]=u&&s)),{fragment:s,cacheable:o}},v.fragments={},v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){v.fn[e]=function(n){var r,i=0,s=[],o=v(n),u=o.length,a=this.length===1&&this[0].parentNode;if((a==null||a&&a.nodeType===11&&a.childNodes.length===1)&&u===1)return o[t](this[0]),this;for(;i<u;i++)r=(i>0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1></$2>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]==="<table>"&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("<div>").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],Vn[n]=Vn[n]||[],Vn[n].unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.Tween=Yn,Yn.prototype={constructor:Yn,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(v.cssNumber[n]?"":"px")},cur:function(){var e=Yn.propHooks[this.prop];return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,n=Yn.propHooks[this.prop];return this.options.duration?this.pos=t=v.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototype=Yn.prototype,Yn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yn.propHooks.scrollTop=Yn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each(["toggle","show","hide"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r=="boolean"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Kn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=e!=null&&e+"queueHooks",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&Wn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn("show"),slideUp:Zn("hide"),slideToggle:Zn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e=="object"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Yn.prototype.init,v.fx.tick=function(){var e,n=v.timers,r=0;qn=v.now();for(;r<n.length;r++)e=n[r],!e()&&n[r]===e&&n.splice(r--,1);n.length||v.fx.stop(),qn=t},v.fx.timer=function(e){e()&&v.timers.push(e)&&!Rn&&(Rn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(Rn),Rn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var er=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f={top:0,left:0},l=this[0],c=l&&l.ownerDocument;if(!c)return;return(r=c.body)===l?v.offset.bodyOffset(l):(n=c.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!="undefined"&&(f=l.getBoundingClientRect()),i=tr(c),s=n.clientTop||r.clientTop||0,o=n.clientLeft||r.clientLeft||0,u=i.pageYOffset||n.scrollTop,a=i.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,"marginTop"))||0,n+=parseFloat(v.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,"position");r==="static"&&(e.style.position="relative");var i=v(e),s=i.offset(),o=v.css(e,"top"),u=v.css(e,"left"),a=(r==="absolute"||r==="fixed")&&v.inArray("auto",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); \ No newline at end of file
+/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="<select t=''><option selected=''></option></select>",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=jb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=kb(b);function nb(){}nb.prototype=d.filters=d.pseudos,d.setFilters=new nb;function ob(a,b){var c,e,f,g,h,i,j,k=x[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=Q.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?db.error(a):x(a,i).slice(0)}function pb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f
+}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},W=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a>",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=$.test(e)?this.mouseHooks:Z.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||z),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||z,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==db()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===db()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=z.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===L&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&(a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault())?bb:cb):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:cb,isPropagationStopped:cb,isImmediatePropagationStopped:cb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=bb,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=bb,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submitBubbles||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?b.form:void 0;c&&!n._data(c,"submitBubbles")&&(n.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),n._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.changeBubbles||(n.event.special.change={setup:function(){return Y.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),n.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),n.event.simulate("change",this,a,!0)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;Y.test(b.nodeName)&&!n._data(b,"changeBubbles")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a,!0)}),n._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!Y.test(this.nodeName)}}),l.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=cb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return n().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=cb),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});function eb(a){var b=fb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var fb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gb=/ jQuery\d+="(?:null|\d+)"/g,hb=new RegExp("<(?:"+fb+")[\\s/>]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/<tbody/i,mb=/<|&#?\w+;/,nb=/<(?:script|style|link)/i,ob=/checked\s*(?:[^=]|=\s*.checked.)/i,pb=/^$|\/(?:java|ecma)script/i,qb=/^true\/(.*)/,rb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,sb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1></$2>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?"<table>"!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Db[0].contentWindow||Db[0].contentDocument).document,b.write(),b.close(),c=Fb(a,b),Db.detach()),Eb[a]=c),c}!function(){var a,b,c=z.createElement("div"),d="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";c.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],a.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(a.style.opacity),l.cssFloat=!!a.style.cssFloat,c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===c.style.backgroundClip,a=c=null,l.shrinkWrapBlocks=function(){var a,c,e,f;if(null==b){if(a=z.getElementsByTagName("body")[0],!a)return;f="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",c=z.createElement("div"),e=z.createElement("div"),a.appendChild(c).appendChild(e),b=!1,typeof e.style.zoom!==L&&(e.style.cssText=d+";width:1px;padding:1px;zoom:1",e.innerHTML="<div></div>",e.firstChild.style.width="5px",b=3!==e.offsetWidth),a.removeChild(c),a=c=e=null}return b}}();var Hb=/^margin/,Ib=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Jb,Kb,Lb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Jb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Kb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),Ib.test(g)&&Hb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):z.documentElement.currentStyle&&(Jb=function(a){return a.currentStyle},Kb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ib.test(g)&&!Lb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Mb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h=z.createElement("div"),i="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",j="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";h.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",b=h.getElementsByTagName("a")[0],b.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(b.style.opacity),l.cssFloat=!!b.style.cssFloat,h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===h.style.backgroundClip,b=h=null,n.extend(l,{reliableHiddenOffsets:function(){if(null!=c)return c;var a,b,d,e=z.createElement("div"),f=z.getElementsByTagName("body")[0];if(f)return e.setAttribute("className","t"),e.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=z.createElement("div"),a.style.cssText=i,f.appendChild(a).appendChild(e),e.innerHTML="<table><tr><td></td><td>t</td></tr></table>",b=e.getElementsByTagName("td"),b[0].style.cssText="padding:0;margin:0;border:0;display:none",d=0===b[0].offsetHeight,b[0].style.display="",b[1].style.display="none",c=d&&0===b[0].offsetHeight,f.removeChild(a),e=f=null,c},boxSizing:function(){return null==d&&k(),d},boxSizingReliable:function(){return null==e&&k(),e},pixelPosition:function(){return null==f&&k(),f},reliableMarginRight:function(){var b,c,d,e;if(null==g&&a.getComputedStyle){if(b=z.getElementsByTagName("body")[0],!b)return;c=z.createElement("div"),d=z.createElement("div"),c.style.cssText=i,b.appendChild(c).appendChild(d),e=d.appendChild(z.createElement("div")),e.style.cssText=d.style.cssText=j,e.style.marginRight=e.style.width="0",d.style.width="1px",g=!parseFloat((a.getComputedStyle(e,null)||{}).marginRight),b.removeChild(c)}return g}});function k(){var b,c,h=z.getElementsByTagName("body")[0];h&&(b=z.createElement("div"),c=z.createElement("div"),b.style.cssText=i,h.appendChild(b).appendChild(c),c.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;display:block;padding:1px;border:1px;width:4px;margin-top:1%;top:1%",n.swap(h,null!=h.style.zoom?{zoom:1}:{},function(){d=4===c.offsetWidth}),e=!0,f=!1,g=!0,a.getComputedStyle&&(f="1%"!==(a.getComputedStyle(c,null)||{}).top,e="4px"===(a.getComputedStyle(c,null)||{width:"4px"}).width),h.removeChild(b),c=h=null)}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Nb=/alpha\([^)]*\)/i,Ob=/opacity\s*=\s*([^)]*)/,Pb=/^(none|table(?!-c[ea]).+)/,Qb=new RegExp("^("+T+")(.*)$","i"),Rb=new RegExp("^([+-])=("+T+")","i"),Sb={position:"absolute",visibility:"hidden",display:"block"},Tb={letterSpacing:0,fontWeight:400},Ub=["Webkit","O","Moz","ms"];function Vb(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ub.length;while(e--)if(b=Ub[e]+c,b in a)return b;return d}function Wb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=n._data(d,"olddisplay",Gb(d.nodeName)))):f[g]||(e=V(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Xb(a,b,c){var d=Qb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Yb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Zb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Jb(a),g=l.boxSizing()&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Kb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ib.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Yb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Kb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=Vb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Rb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]="",i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Vb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Kb(a,b,d)),"normal"===f&&b in Tb&&(f=Tb[b]),""===c||c?(e=parseFloat(f),c===!0||n.isNumeric(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?0===a.offsetWidth&&Pb.test(n.css(a,"display"))?n.swap(a,Sb,function(){return Zb(a,b,d)}):Zb(a,b,d):void 0},set:function(a,c,d){var e=d&&Jb(a);return Xb(a,c,d?Yb(a,b,d,l.boxSizing()&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Ob.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Nb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Nb.test(f)?f.replace(Nb,e):f+" "+e)}}),n.cssHooks.marginRight=Mb(l.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},Kb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Hb.test(a)||(n.cssHooks[a+b].set=Xb)}),n.fn.extend({css:function(a,b){return W(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Jb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)
+},a,b,arguments.length>1)},show:function(){return Wb(this,!0)},hide:function(){return Wb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function $b(a,b,c,d,e){return new $b.prototype.init(a,b,c,d,e)}n.Tween=$b,$b.prototype={constructor:$b,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=$b.propHooks[this.prop];return a&&a.get?a.get(this):$b.propHooks._default.get(this)},run:function(a){var b,c=$b.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):$b.propHooks._default.set(this),this}},$b.prototype.init.prototype=$b.prototype,$b.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},$b.propHooks.scrollTop=$b.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=$b.prototype.init,n.fx.step={};var _b,ac,bc=/^(?:toggle|show|hide)$/,cc=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),dc=/queueHooks$/,ec=[jc],fc={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=cc.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&cc.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function gc(){return setTimeout(function(){_b=void 0}),_b=n.now()}function hc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=U[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function ic(a,b,c){for(var d,e=(fc[b]||[]).concat(fc["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function jc(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&V(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k=Gb(a.nodeName),"none"===j&&(j=k),"inline"===j&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==k?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],bc.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}if(!n.isEmptyObject(o)){r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=ic(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function kc(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function lc(a,b,c){var d,e,f=0,g=ec.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=_b||gc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:_b||gc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(kc(k,j.opts.specialEasing);g>f;f++)if(d=ec[f].call(j,a,k,j.opts))return d;return n.map(k,ic,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(lc,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],fc[c]=fc[c]||[],fc[c].unshift(b)},prefilter:function(a,b){b?ec.unshift(a):ec.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=lc(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&dc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(hc(b,!0),a,d,e)}}),n.each({slideDown:hc("show"),slideUp:hc("hide"),slideToggle:hc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(_b=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),_b=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ac||(ac=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(ac),ac=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e=z.createElement("div");e.setAttribute("className","t"),e.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=e.getElementsByTagName("a")[0],c=z.createElement("select"),d=c.appendChild(z.createElement("option")),b=e.getElementsByTagName("input")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==e.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=d.selected,l.enctype=!!z.createElement("form").enctype,c.disabled=!0,l.optDisabled=!d.disabled,b=z.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value,a=b=c=d=e=null}();var mc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(mc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.text(a)}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(l.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var nc,oc,pc=n.expr.attrHandle,qc=/^(?:checked|selected)$/i,rc=l.getSetAttribute,sc=l.input;n.fn.extend({attr:function(a,b){return W(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===L?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?oc:nc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(F);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?sc&&rc||!qc.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(rc?c:d)},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),oc={set:function(a,b,c){return b===!1?n.removeAttr(a,c):sc&&rc||!qc.test(c)?a.setAttribute(!rc&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=pc[b]||n.find.attr;pc[b]=sc&&rc||!qc.test(b)?function(a,b,d){var e,f;return d||(f=pc[b],pc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,pc[b]=f),e}:function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),sc&&rc||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):nc&&nc.set(a,b,c)}}),rc||(nc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},pc.id=pc.name=pc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:nc.set},n.attrHooks.contenteditable={set:function(a,b,c){nc.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var tc=/^(?:input|select|textarea|button|object)$/i,uc=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return W(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):tc.test(a.nodeName)||uc.test(a.nodeName)&&a.href?0:-1}}}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var vc=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(F)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===L||"boolean"===c)&&(this.className&&n._data(this,"__className__",this.className),this.className=this.className||a===!1?"":n._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(vc," ").indexOf(b)>=0)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var wc=n.now(),xc=/\?/,yc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(yc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var zc,Ac,Bc=/#.*$/,Cc=/([?&])_=[^&]*/,Dc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Ec=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Fc=/^(?:GET|HEAD)$/,Gc=/^\/\//,Hc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ic={},Jc={},Kc="*/".concat("*");try{Ac=location.href}catch(Lc){Ac=z.createElement("a"),Ac.href="",Ac=Ac.href}zc=Hc.exec(Ac.toLowerCase())||[];function Mc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(F)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nc(a,b,c,d){var e={},f=a===Jc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Oc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Pc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Qc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ac,type:"GET",isLocal:Ec.test(zc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Oc(Oc(a,n.ajaxSettings),b):Oc(n.ajaxSettings,a)},ajaxPrefilter:Mc(Ic),ajaxTransport:Mc(Jc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Dc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||Ac)+"").replace(Bc,"").replace(Gc,zc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(F)||[""],null==k.crossDomain&&(c=Hc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===zc[1]&&c[2]===zc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(zc[3]||("http:"===zc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),Nc(Ic,k,b,v),2===t)return v;h=k.global,h&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Fc.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(xc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Cc.test(e)?e.replace(Cc,"$1_="+wc++):e+(xc.test(e)?"&":"?")+"_="+wc++)),k.ifModified&&(n.lastModified[e]&&v.setRequestHeader("If-Modified-Since",n.lastModified[e]),n.etag[e]&&v.setRequestHeader("If-None-Match",n.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Kc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Nc(Jc,k,b,v)){v.readyState=1,h&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Pc(k,v,c)),u=Qc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(n.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!l.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||n.css(a,"display"))},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var Rc=/%20/g,Sc=/\[\]$/,Tc=/\r?\n/g,Uc=/^(?:submit|button|image|reset|file)$/i,Vc=/^(?:input|select|textarea|keygen)/i;function Wc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Sc.test(a)?d(a,e):Wc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Wc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Wc(c,a[c],b,e);return d.join("&").replace(Rc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Vc.test(this.nodeName)&&!Uc.test(a)&&(this.checked||!X.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(Tc,"\r\n")}}):{name:b.name,value:c.replace(Tc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&$c()||_c()}:$c;var Xc=0,Yc={},Zc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Yc)Yc[a](void 0,!0)}),l.cors=!!Zc&&"withCredentials"in Zc,Zc=l.ajax=!!Zc,Zc&&n.ajaxTransport(function(a){if(!a.crossDomain||l.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Xc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Yc[g],b=void 0,f.onreadystatechange=n.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Yc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function $c(){try{return new a.XMLHttpRequest}catch(b){}}function _c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=z.head||n("head")[0]||z.documentElement;return{send:function(d,e){b=z.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var ad=[],bd=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=ad.pop()||n.expando+"_"+wc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(bd.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&bd.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(bd,"$1"+e):b.jsonp!==!1&&(b.url+=(xc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,ad.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||z;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var cd=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&cd)return cd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=a.slice(h,a.length),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&n.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var dd=a.document.documentElement;function ed(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?(typeof e.getBoundingClientRect!==L&&(d=e.getBoundingClientRect()),c=ed(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||dd;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||dd})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return W(this,function(a,d,e){var f=ed(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Mb(l.pixelPosition,function(a,c){return c?(c=Kb(a,b),Ib.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return W(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var fd=a.jQuery,gd=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=gd),b&&a.jQuery===n&&(a.jQuery=fd),n},typeof b===L&&(a.jQuery=a.$=n),n});
diff --git a/program/js/list.js b/program/js/list.js
index c822aa43b..9b7779c7b 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -195,6 +195,12 @@ init_fixed_header: function()
var me = this;
$(window).resize(function(){ me.resize() });
+ $(window).scroll(function(){
+ var w = $(window);
+ me.fixed_header.css('marginLeft', (-w.scrollLeft()) + 'px');
+ if (!bw.webkit)
+ me.fixed_header.css('marginTop', (-w.scrollTop()) + 'px');
+ });
}
else {
$(this.fixed_header).find('thead').replaceWith(clone);
@@ -221,6 +227,8 @@ resize: function()
$(this.thead).find('tr td').each(function(index) {
$(this).css('width', column_widths[index]);
});
+
+ $(window).scroll();
},
/**
@@ -358,7 +366,7 @@ focus: function(e)
// Un-focus already focused elements (#1487123, #1487316, #1488600, #1488620)
// It looks that window.focus() does the job for all browsers, but not Firefox (#1489058)
- $(':focus:not(body)').blur();
+ $('iframe,:focus:not(body)').blur();
window.focus();
if (e || (e = window.event))
@@ -1055,7 +1063,7 @@ invert_selection: function()
/**
* Unselect selected row(s)
*/
-clear_selection: function(id)
+clear_selection: function(id, no_event)
{
var n, num_select = this.selection.length;
@@ -1077,7 +1085,7 @@ clear_selection: function(id)
this.selection = [];
}
- if (num_select && !this.selection.length)
+ if (num_select && !this.selection.length && !no_event)
this.triggerEvent('select');
},
@@ -1130,7 +1138,7 @@ highlight_row: function(id, multiple, norecur)
if (!multiple) {
if (this.selection.length > 1 || !this.in_selection(id)) {
- this.clear_selection();
+ this.clear_selection(null, true);
this.selection[0] = id;
$(this.rows[id].obj).addClass('selected');
}
@@ -1362,7 +1370,7 @@ drag_mouse_move: function(e)
$(this.row_tagname() + '.selected', this.tbody).each(function() {
var uid = self.get_row_uid(this), row = self.rows[uid];
- if (!uid || $.inArray(uid, selection) > -1)
+ if (!row || $.inArray(uid, selection) > -1)
return;
selection.push(uid);
diff --git a/program/js/treelist.js b/program/js/treelist.js
index d940e396c..d856fc8ff 100644
--- a/program/js/treelist.js
+++ b/program/js/treelist.js
@@ -56,6 +56,7 @@ function rcube_treelist_widget(node, p)
this.collapse = collapse;
this.select = select;
this.render = render;
+ this.reset = reset;
this.drag_start = drag_start;
this.drag_end = drag_end;
this.intersects = intersects;
@@ -80,6 +81,7 @@ function rcube_treelist_widget(node, p)
// register click handlers on list
container.on('click', 'div.treetoggle', function(e){
toggle(dom2id($(this).parent()));
+ e.stopPropagation();
});
container.on('click', 'li', function(e){
@@ -314,6 +316,20 @@ function rcube_treelist_widget(node, p)
}
/**
+ *
+ */
+ function reset()
+ {
+ select('');
+
+ data = [];
+ indexbyid = {};
+ drag_active = false;
+
+ container.html('');
+ }
+
+ /**
* Render the tree list from the internal data structure
*/
function render()
diff --git a/program/lib/Roundcube/bootstrap.php b/program/lib/Roundcube/bootstrap.php
index 6e5143382..65ef98ebd 100644
--- a/program/lib/Roundcube/bootstrap.php
+++ b/program/lib/Roundcube/bootstrap.php
@@ -3,7 +3,7 @@
/*
+-----------------------------------------------------------------------+
| This file is part of the Roundcube PHP suite |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -54,7 +54,7 @@ foreach ($config as $optname => $optval) {
}
// framework constants
-define('RCUBE_VERSION', '1.0-git');
+define('RCUBE_VERSION', '1.1-git');
define('RCUBE_CHARSET', 'UTF-8');
if (!defined('RCUBE_LIB_DIR')) {
diff --git a/program/lib/Roundcube/html.php b/program/lib/Roundcube/html.php
index 33517fbcd..64324dd8e 100644
--- a/program/lib/Roundcube/html.php
+++ b/program/lib/Roundcube/html.php
@@ -269,19 +269,28 @@ class html
return '';
}
- $allowed_f = array_flip((array)$allowed);
+ $allowed_f = array_flip((array)$allowed);
$attrib_arr = array();
+
foreach ($attrib as $key => $value) {
// skip size if not numeric
if ($key == 'size' && !is_numeric($value)) {
continue;
}
- // ignore "internal" or not allowed attributes
- if ($key == 'nl' || ($allowed && !isset($allowed_f[$key])) || $value === null) {
+ // ignore "internal" or empty attributes
+ if ($key == 'nl' || $value === null) {
continue;
}
+ // ignore not allowed attributes
+ if (!empty($allowed)) {
+ $is_data_attr = substr_compare($key, 'data-', 0, 5) === 0;
+ if (!isset($allowed_f[$key]) && (!$is_data_attr || !isset($allowed_f['data-*']))) {
+ continue;
+ }
+ }
+
// skip empty eventhandlers
if (preg_match('/^on[a-z]+/', $key) && !$value) {
continue;
diff --git a/program/lib/Roundcube/rcube.php b/program/lib/Roundcube/rcube.php
index d58eb087b..4ff0a00d7 100644
--- a/program/lib/Roundcube/rcube.php
+++ b/program/lib/Roundcube/rcube.php
@@ -3,8 +3,8 @@
/*
+-----------------------------------------------------------------------+
| This file is part of the Roundcube Webmail client |
- | Copyright (C) 2008-2012, The Roundcube Dev Team |
- | Copyright (C) 2011-2012, Kolab Systems AG |
+ | Copyright (C) 2008-2014, The Roundcube Dev Team |
+ | Copyright (C) 2011-2014, Kolab Systems AG |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -94,6 +94,13 @@ class rcube
*/
public $plugins;
+ /**
+ * Instance of rcube_user class.
+ *
+ * @var rcube_user
+ */
+ public $user;
+
/* private/protected vars */
protected $texts;
@@ -413,9 +420,6 @@ class rcube
$storage->set_charset($this->config->get('default_charset', RCUBE_CHARSET));
- if ($default_folders = $this->config->get('default_folders')) {
- $storage->set_default_folders($default_folders);
- }
if (isset($_SESSION['mbox'])) {
$storage->set_folder($_SESSION['mbox']);
}
@@ -426,6 +430,36 @@ class rcube
/**
+ * Set special folders type association.
+ * This must be done AFTER connecting to the server!
+ */
+ protected function set_special_folders()
+ {
+ $storage = $this->get_storage();
+ $folders = $storage->get_special_folders(true);
+ $prefs = array();
+
+ // check SPECIAL-USE flags on IMAP folders
+ foreach ($folders as $type => $folder) {
+ $idx = $type . '_mbox';
+ if ($folder !== $this->config->get($idx)) {
+ $prefs[$idx] = $folder;
+ }
+ }
+
+ // Some special folders differ, update user preferences
+ if (!empty($prefs) && $this->user) {
+ $this->user->save_prefs($prefs);
+ }
+
+ // create default folders (on login)
+ if ($this->config->get('create_default_folders')) {
+ $storage->create_default_folders();
+ }
+ }
+
+
+ /**
* Create session object and start the session.
*/
public function session_init()
@@ -1302,6 +1336,20 @@ class rcube
self::write_log($dest, sprintf("%s: %0.4f sec", $label, $diff));
}
+ /**
+ * Setter for system user object
+ *
+ * @param rcube_user Current user instance
+ */
+ public function set_user($user)
+ {
+ if (is_object($user)) {
+ $this->user = $user;
+
+ // overwrite config with user preferences
+ $this->config->set_user_prefs((array)$this->user->get_prefs());
+ }
+ }
/**
* Getter for logged user ID.
diff --git a/program/lib/Roundcube/rcube_browser.php b/program/lib/Roundcube/rcube_browser.php
index e53e31200..b9642d8f9 100644
--- a/program/lib/Roundcube/rcube_browser.php
+++ b/program/lib/Roundcube/rcube_browser.php
@@ -34,14 +34,20 @@ class rcube_browser
$this->linux = strpos($HTTP_USER_AGENT, 'linux') != false;
$this->unix = strpos($HTTP_USER_AGENT, 'unix') != false;
- $this->opera = strpos($HTTP_USER_AGENT, 'opera') !== false;
+ $this->webkit = strpos($HTTP_USER_AGENT, 'applewebkit') !== false;
+ $this->opera = strpos($HTTP_USER_AGENT, 'opera') !== false || ($this->webkit && strpos($HTTP_USER_AGENT, 'opr/') !== false);
$this->ns = strpos($HTTP_USER_AGENT, 'netscape') !== false;
- $this->chrome = strpos($HTTP_USER_AGENT, 'chrome') !== false;
+ $this->chrome = !$this->opera && strpos($HTTP_USER_AGENT, 'chrome') !== false;
$this->ie = !$this->opera && (strpos($HTTP_USER_AGENT, 'compatible; msie') !== false || strpos($HTTP_USER_AGENT, 'trident/') !== false);
- $this->safari = !$this->chrome && (strpos($HTTP_USER_AGENT, 'safari') !== false || strpos($HTTP_USER_AGENT, 'applewebkit') !== false);
- $this->mz = !$this->ie && !$this->safari && !$this->chrome && !$this->ns && strpos($HTTP_USER_AGENT, 'mozilla') !== false;
+ $this->safari = !$this->opera && !$this->chrome && ($this->webkit || strpos($HTTP_USER_AGENT, 'safari') !== false);
+ $this->mz = !$this->ie && !$this->safari && !$this->chrome && !$this->ns && !$this->opera && strpos($HTTP_USER_AGENT, 'mozilla') !== false;
- if (preg_match('/(chrome|msie|opera|version|khtml)(\s*|\/)([0-9.]+)/', $HTTP_USER_AGENT, $regs)) {
+ if ($this->opera) {
+ if (preg_match('/(opera|opr)\/([0-9.]+)/', $HTTP_USER_AGENT, $regs)) {
+ $this->ver = (float) $regs[2];
+ }
+ }
+ else if (preg_match('/(chrome|msie|version|khtml)(\s*|\/)([0-9.]+)/', $HTTP_USER_AGENT, $regs)) {
$this->ver = (float) $regs[3];
}
else if (preg_match('/rv:([0-9.]+)/', $HTTP_USER_AGENT, $regs)) {
diff --git a/program/lib/Roundcube/rcube_config.php b/program/lib/Roundcube/rcube_config.php
index 0352e4772..afe13e879 100644
--- a/program/lib/Roundcube/rcube_config.php
+++ b/program/lib/Roundcube/rcube_config.php
@@ -63,7 +63,7 @@ class rcube_config
$this->paths = explode(PATH_SEPARATOR, $paths);
// make all paths absolute
foreach ($this->paths as $i => $path) {
- if (!$this->_is_absolute($path)) {
+ if (!rcube_utils::is_absolute_path($path)) {
if ($realpath = realpath(RCUBE_INSTALL_PATH . $path)) {
$this->paths[$i] = unslashify($realpath) . '/';
}
@@ -243,8 +243,8 @@ class rcube_config
*/
public function resolve_paths($file, $use_env = true)
{
- $files = array();
- $abs_path = $this->_is_absolute($file);
+ $files = array();
+ $abs_path = rcube_utils::is_absolute_path($file);
foreach ($this->paths as $basepath) {
$realpath = $abs_path ? $file : realpath($basepath . '/' . $file);
@@ -270,14 +270,6 @@ class rcube_config
}
/**
- * Determine whether the given file path is absolute or relative
- */
- private function _is_absolute($path)
- {
- return $path[0] == DIRECTORY_SEPARATOR || preg_match('!^[a-z]:[\\\\/]!i', $path);
- }
-
- /**
* Getter for a specific config parameter
*
* @param string $name Parameter name
diff --git a/program/lib/Roundcube/rcube_db_mysql.php b/program/lib/Roundcube/rcube_db_mysql.php
index d3d0ac5c8..400813dcc 100644
--- a/program/lib/Roundcube/rcube_db_mysql.php
+++ b/program/lib/Roundcube/rcube_db_mysql.php
@@ -38,13 +38,6 @@ class rcube_db_mysql extends rcube_db
*/
public function __construct($db_dsnw, $db_dsnr = '', $pconn = false)
{
- if (version_compare(PHP_VERSION, '5.3.0', '<')) {
- rcube::raise_error(array('code' => 600, 'type' => 'db',
- 'line' => __LINE__, 'file' => __FILE__,
- 'message' => "MySQL driver requires PHP >= 5.3, current version is " . PHP_VERSION),
- true, true);
- }
-
parent::__construct($db_dsnw, $db_dsnr, $pconn);
// SQL identifiers quoting
@@ -128,11 +121,11 @@ class rcube_db_mysql extends rcube_db
$result = array();
if (!empty($dsn['key'])) {
- $result[PDO::MYSQL_ATTR_KEY] = $dsn['key'];
+ $result[PDO::MYSQL_ATTR_SSL_KEY] = $dsn['key'];
}
if (!empty($dsn['cipher'])) {
- $result[PDO::MYSQL_ATTR_CIPHER] = $dsn['cipher'];
+ $result[PDO::MYSQL_ATTR_SSL_CIPHER] = $dsn['cipher'];
}
if (!empty($dsn['cert'])) {
diff --git a/program/lib/Roundcube/rcube_html2text.php b/program/lib/Roundcube/rcube_html2text.php
index 3b4508da9..8628371d7 100644
--- a/program/lib/Roundcube/rcube_html2text.php
+++ b/program/lib/Roundcube/rcube_html2text.php
@@ -473,6 +473,9 @@ class rcube_html2text
// Replace known html entities
$text = html_entity_decode($text, ENT_QUOTES, $this->charset);
+ // Replace unicode nbsp to regular spaces
+ $text = preg_replace('/\xC2\xA0/', ' ', $text);
+
// Remove unknown/unhandled entities (this cannot be done in search-and-replace block)
$text = preg_replace('/&([a-zA-Z0-9]{2,6}|#[0-9]{2,4});/', '', $text);
diff --git a/program/lib/Roundcube/rcube_imap.php b/program/lib/Roundcube/rcube_imap.php
index 6bb922d90..f60be620c 100644
--- a/program/lib/Roundcube/rcube_imap.php
+++ b/program/lib/Roundcube/rcube_imap.php
@@ -2457,19 +2457,7 @@ class rcube_imap extends rcube_storage
return false;
}
- // make sure folder exists
- if ($to_mbox != 'INBOX' && !$this->folder_exists($to_mbox)) {
- if (in_array($to_mbox, $this->default_folders)) {
- if (!$this->create_folder($to_mbox, true)) {
- return false;
- }
- }
- else {
- return false;
- }
- }
-
- $config = rcube::get_instance()->config;
+ $config = rcube::get_instance()->config;
$to_trash = $to_mbox == $config->get('trash_mbox');
// flag messages as read before moving them
@@ -2540,18 +2528,6 @@ class rcube_imap extends rcube_storage
return false;
}
- // make sure folder exists
- if ($to_mbox != 'INBOX' && !$this->folder_exists($to_mbox)) {
- if (in_array($to_mbox, $this->default_folders)) {
- if (!$this->create_folder($to_mbox, true)) {
- return false;
- }
- }
- else {
- return false;
- }
- }
-
// copy messages
$copied = $this->conn->copy($uids, $from_mbox, $to_mbox);
@@ -3067,16 +3043,17 @@ class rcube_imap extends rcube_storage
*
* @param string $folder New folder name
* @param boolean $subscribe True if the new folder should be subscribed
+ * @param string $type Optional folder type (junk, trash, drafts, sent, archive)
*
* @return boolean True on success
*/
- public function create_folder($folder, $subscribe=false)
+ public function create_folder($folder, $subscribe = false, $type = null)
{
if (!$this->check_connection()) {
return false;
}
- $result = $this->conn->createFolder($folder);
+ $result = $this->conn->createFolder($folder, $type ? array("\\" . ucfirst($type)) : null);
// try to subscribe it
if ($result) {
@@ -3201,19 +3178,84 @@ class rcube_imap extends rcube_storage
/**
- * Create all folders specified as default
+ * Detect special folder associations stored in storage backend
*/
- public function create_default_folders()
+ public function get_special_folders($forced = false)
{
- // create default folders if they do not exist
- foreach ($this->default_folders as $folder) {
- if (!$this->folder_exists($folder)) {
- $this->create_folder($folder, true);
+ $result = parent::get_special_folders();
+
+ if (isset($this->icache['special-use'])) {
+ return array_merge($result, $this->icache['special-use']);
+ }
+
+ if (!$forced || !$this->get_capability('SPECIAL-USE')) {
+ return $result;
+ }
+
+ if (!$this->check_connection()) {
+ return $result;
+ }
+
+ $types = array_map(function($value) { return "\\" . ucfirst($value); }, rcube_storage::$folder_types);
+ $special = array();
+
+ // request \Subscribed flag in LIST response as performance improvement for folder_exists()
+ $folders = $this->conn->listMailboxes('', '*', array('SUBSCRIBED'), array('SPECIAL-USE'));
+
+ foreach ($folders as $folder) {
+ if ($flags = $this->conn->data['LIST'][$folder]) {
+ foreach ($types as $type) {
+ if (in_array($type, $flags)) {
+ $type = strtolower(substr($type, 1));
+ $special[$type] = $folder;
+ }
+ }
}
- else if (!$this->folder_exists($folder, true)) {
- $this->subscribe($folder);
+ }
+
+ $this->icache['special-use'] = $special;
+ unset($this->icache['special-folders']);
+
+ return array_merge($result, $special);
+ }
+
+
+ /**
+ * Set special folder associations stored in storage backend
+ */
+ public function set_special_folders($specials)
+ {
+ if (!$this->get_capability('SPECIAL-USE') || !$this->get_capability('METADATA')) {
+ return false;
+ }
+
+ if (!$this->check_connection()) {
+ return false;
+ }
+
+ $folders = $this->get_special_folders(true);
+ $old = (array) $this->icache['special-use'];
+
+ foreach ($specials as $type => $folder) {
+ if (in_array($type, rcube_storage::$folder_types)) {
+ $old_folder = $old[$type];
+ if ($old_folder !== $folder) {
+ // unset old-folder metadata
+ if ($old_folder !== null) {
+ $this->delete_metadata($old_folder, array('/private/specialuse'));
+ }
+ // set new folder metadata
+ if ($folder) {
+ $this->set_metadata($folder, array('/private/specialuse' => "\\" . ucfirst($type)));
+ }
+ }
}
}
+
+ $this->icache['special-use'] = $specials;
+ unset($this->icache['special-folders']);
+
+ return true;
}
@@ -3225,13 +3267,13 @@ class rcube_imap extends rcube_storage
*
* @return boolean TRUE or FALSE
*/
- public function folder_exists($folder, $subscription=false)
+ public function folder_exists($folder, $subscription = false)
{
if ($folder == 'INBOX') {
return true;
}
- $key = $subscription ? 'subscribed' : 'existing';
+ $key = $subscription ? 'subscribed' : 'existing';
if (is_array($this->icache[$key]) && in_array($folder, $this->icache[$key])) {
return true;
@@ -3242,10 +3284,24 @@ class rcube_imap extends rcube_storage
}
if ($subscription) {
- $a_folders = $this->conn->listSubscribed('', $folder);
+ // It's possible we already called LIST command, check LIST data
+ if (!empty($this->conn->data['LIST']) && !empty($this->conn->data['LIST'][$folder])
+ && in_array('\\Subscribed', $this->conn->data['LIST'][$folder])
+ ) {
+ $a_folders = array($folder);
+ }
+ else {
+ $a_folders = $this->conn->listSubscribed('', $folder);
+ }
}
else {
- $a_folders = $this->conn->listMailboxes('', $folder);
+ // It's possible we already called LIST command, check LIST data
+ if (!empty($this->conn->data['LIST']) && isset($this->conn->data['LIST'][$folder])) {
+ $a_folders = array($folder);
+ }
+ else {
+ $a_folders = $this->conn->listMailboxes('', $folder);
+ }
}
if (is_array($a_folders) && in_array($folder, $a_folders)) {
@@ -3456,7 +3512,7 @@ class rcube_imap extends rcube_storage
$options['name'] = $folder;
$options['attributes'] = $this->folder_attributes($folder, true);
$options['namespace'] = $this->folder_namespace($folder);
- $options['special'] = in_array($folder, $this->default_folders);
+ $options['special'] = $this->is_special_folder($folder);
// Set 'noselect' flag
if (is_array($options['attributes'])) {
@@ -3994,6 +4050,7 @@ class rcube_imap extends rcube_storage
$a_out = $a_defaults = $folders = array();
$delimiter = $this->get_hierarchy_delimiter();
+ $specials = array_merge(array('INBOX'), array_values($this->get_special_folders()));
// find default folders and skip folders starting with '.'
foreach ($a_folders as $folder) {
@@ -4001,7 +4058,7 @@ class rcube_imap extends rcube_storage
continue;
}
- if (!$skip_default && ($p = array_search($folder, $this->default_folders)) !== false && !$a_defaults[$p]) {
+ if (!$skip_default && ($p = array_search($folder, $specials)) !== false && !$a_defaults[$p]) {
$a_defaults[$p] = $folder;
}
else {
diff --git a/program/lib/Roundcube/rcube_imap_generic.php b/program/lib/Roundcube/rcube_imap_generic.php
index f9a62f010..f45694dd0 100644
--- a/program/lib/Roundcube/rcube_imap_generic.php
+++ b/program/lib/Roundcube/rcube_imap_generic.php
@@ -73,6 +73,7 @@ class rcube_imap_generic
const COMMAND_NORESPONSE = 1;
const COMMAND_CAPABILITY = 2;
const COMMAND_LASTLINE = 4;
+ const COMMAND_ANONYMIZED = 8;
const DEBUG_LINE_LENGTH = 4098; // 4KB + 2B for \r\n
@@ -88,16 +89,28 @@ class rcube_imap_generic
*
* @param string $string Command string
* @param bool $endln True if CRLF need to be added at the end of command
+ * @param bool $anonymized Don't write the given data to log but a placeholder
*
* @param int Number of bytes sent, False on error
*/
- function putLine($string, $endln=true)
+ function putLine($string, $endln=true, $anonymized=false)
{
if (!$this->fp)
return false;
if ($this->_debug) {
- $this->debug('C: '. rtrim($string));
+ // anonymize the sent command for logging
+ $cut = $endln ? 2 : 0;
+ if ($anonymized && preg_match('/^(A\d+ (?:[A-Z]+ )+)(.+)/', $string, $m)) {
+ $log = $m[1] . sprintf('****** [%d]', strlen($m[2]) - $cut);
+ }
+ else if ($anonymized) {
+ $log = sprintf('****** [%d]', strlen($string) - $cut);
+ }
+ else {
+ $log = rtrim($string);
+ }
+ $this->debug('C: ' . $log);
}
$res = fwrite($this->fp, $string . ($endln ? "\r\n" : ''));
@@ -116,10 +129,11 @@ class rcube_imap_generic
*
* @param string $string Command string
* @param bool $endln True if CRLF need to be added at the end of command
+ * @param bool $anonymized Don't write the given data to log but a placeholder
*
* @return int|bool Number of bytes sent, False on error
*/
- function putLineC($string, $endln=true)
+ function putLineC($string, $endln=true, $anonymized=false)
{
if (!$this->fp) {
return false;
@@ -138,7 +152,7 @@ class rcube_imap_generic
$parts[$i+1] = sprintf("{%d+}\r\n", $matches[1]);
}
- $bytes = $this->putLine($parts[$i].$parts[$i+1], false);
+ $bytes = $this->putLine($parts[$i].$parts[$i+1], false, $anonymized);
if ($bytes === false)
return false;
$res += $bytes;
@@ -153,7 +167,7 @@ class rcube_imap_generic
$i++;
}
else {
- $bytes = $this->putLine($parts[$i], false);
+ $bytes = $this->putLine($parts[$i], false, $anonymized);
if ($bytes === false)
return false;
$res += $bytes;
@@ -519,7 +533,7 @@ class rcube_imap_generic
$reply = base64_encode($user . ' ' . $hash);
// send result
- $this->putLine($reply);
+ $this->putLine($reply, true, true);
}
else {
// RFC2831: DIGEST-MD5
@@ -537,7 +551,7 @@ class rcube_imap_generic
base64_decode($challenge), $this->host, 'imap', $user));
// send result
- $this->putLine($reply);
+ $this->putLine($reply, true, true);
$line = trim($this->readReply());
if ($line[0] == '+') {
@@ -577,7 +591,7 @@ class rcube_imap_generic
// RFC 4959 (SASL-IR): save one round trip
if ($this->getCapability('SASL-IR')) {
list($result, $line) = $this->execute("AUTHENTICATE PLAIN", array($reply),
- self::COMMAND_LASTLINE | self::COMMAND_CAPABILITY);
+ self::COMMAND_LASTLINE | self::COMMAND_CAPABILITY | self::COMMAND_ANONYMIZED);
}
else {
$this->putLine($this->nextTag() . " AUTHENTICATE PLAIN");
@@ -588,7 +602,7 @@ class rcube_imap_generic
}
// send result, get reply and process it
- $this->putLine($reply);
+ $this->putLine($reply, true, true);
$line = $this->readReply();
$result = $this->parseResult($line);
}
@@ -619,7 +633,7 @@ class rcube_imap_generic
function login($user, $password)
{
list($code, $response) = $this->execute('LOGIN', array(
- $this->escape($user), $this->escape($password)), self::COMMAND_CAPABILITY);
+ $this->escape($user), $this->escape($password)), self::COMMAND_CAPABILITY | self::COMMAND_ANONYMIZED);
// re-set capabilities list if untagged CAPABILITY response provided
if (preg_match('/\* CAPABILITY (.+)/i', $response, $matches)) {
@@ -1177,13 +1191,20 @@ class rcube_imap_generic
* Folder creation (CREATE)
*
* @param string $mailbox Mailbox name
+ * @param array $types Optional folder types (RFC 6154)
*
* @return bool True on success, False on error
*/
- function createFolder($mailbox)
+ function createFolder($mailbox, $types = null)
{
- $result = $this->execute('CREATE', array($this->escape($mailbox)),
- self::COMMAND_NORESPONSE);
+ $args = array($this->escape($mailbox));
+
+ // RFC 6154: CREATE-SPECIAL-USE
+ if (!empty($types) && $this->getCapability('CREATE-SPECIAL-USE')) {
+ $args[] = '(USE (' . implode(' ', $types) . '))';
+ }
+
+ $result = $this->execute('CREATE', $args, self::COMMAND_NORESPONSE);
return ($result == self::ERROR_OK);
}
@@ -1279,10 +1300,12 @@ class rcube_imap_generic
* @param string $ref Reference name
* @param string $mailbox Mailbox name
* @param bool $subscribed Enables returning subscribed mailboxes only
- * @param array $status_opts List of STATUS options (RFC5819: LIST-STATUS)
- * Possible: MESSAGES, RECENT, UIDNEXT, UIDVALIDITY, UNSEEN
+ * @param array $status_opts List of STATUS options
+ * (RFC5819: LIST-STATUS: MESSAGES, RECENT, UIDNEXT, UIDVALIDITY, UNSEEN)
+ * or RETURN options (RFC5258: LIST_EXTENDED: SUBSCRIBED, CHILDREN)
* @param array $select_opts List of selection options (RFC5258: LIST-EXTENDED)
- * Possible: SUBSCRIBED, RECURSIVEMATCH, REMOTE
+ * Possible: SUBSCRIBED, RECURSIVEMATCH, REMOTE,
+ * SPECIAL-USE (RFC6154)
*
* @return array List of mailboxes or hash of options if $status_ops argument
* is non-empty.
@@ -1295,6 +1318,7 @@ class rcube_imap_generic
}
$args = array();
+ $rets = array();
if (!empty($select_opts) && $this->getCapability('LIST-EXTENDED')) {
$select_opts = (array) $select_opts;
@@ -1305,11 +1329,21 @@ class rcube_imap_generic
$args[] = $this->escape($ref);
$args[] = $this->escape($mailbox);
+ if (!empty($status_opts) && $this->getCapability('LIST-EXTENDED')) {
+ $rets = array_intersect($status_opts, array('SUBSCRIBED', 'CHILDREN'));
+ }
+
if (!empty($status_opts) && $this->getCapability('LIST-STATUS')) {
- $status_opts = (array) $status_opts;
- $lstatus = true;
+ $status_opts = array_intersect($status_opts, array('MESSAGES', 'RECENT', 'UIDNEXT', 'UIDVALIDITY', 'UNSEEN'));
+
+ if (!empty($status_opts)) {
+ $lstatus = true;
+ $rets[] = 'STATUS (' . implode(' ', $status_opts) . ')';
+ }
+ }
- $args[] = 'RETURN (STATUS (' . implode(' ', $status_opts) . '))';
+ if (!empty($rets)) {
+ $args[] = 'RETURN (' . implode(' ', $rets) . ')';
}
list($code, $response) = $this->execute($subscribed ? 'LSUB' : 'LIST', $args);
@@ -1555,23 +1589,23 @@ class rcube_imap_generic
*
* @param string $mailbox Mailbox name
* @param string $field Field to sort by (ARRIVAL, CC, DATE, FROM, SIZE, SUBJECT, TO)
- * @param string $add Searching criteria
+ * @param string $criteria Searching criteria
* @param bool $return_uid Enables UID SORT usage
* @param string $encoding Character set
*
* @return rcube_result_index Response data
*/
- function sort($mailbox, $field, $add='', $return_uid=false, $encoding = 'US-ASCII')
+ function sort($mailbox, $field = 'ARRIVAL', $criteria = '', $return_uid = false, $encoding = 'US-ASCII')
{
- $field = strtoupper($field);
+ $old_sel = $this->selected;
+ $supported = array('ARRIVAL', 'CC', 'DATE', 'FROM', 'SIZE', 'SUBJECT', 'TO');
+ $field = strtoupper($field);
+
if ($field == 'INTERNALDATE') {
$field = 'ARRIVAL';
}
- $fields = array('ARRIVAL' => 1,'CC' => 1,'DATE' => 1,
- 'FROM' => 1, 'SIZE' => 1, 'SUBJECT' => 1, 'TO' => 1);
-
- if (!$fields[$field]) {
+ if (!in_array($field, $supported)) {
return new rcube_result_index($mailbox);
}
@@ -1579,18 +1613,21 @@ class rcube_imap_generic
return new rcube_result_index($mailbox);
}
+ // return empty result when folder is empty and we're just after SELECT
+ if ($old_sel != $mailbox && !$this->data['EXISTS']) {
+ return new rcube_result_index($mailbox, '* SORT');
+ }
+
// RFC 5957: SORT=DISPLAY
if (($field == 'FROM' || $field == 'TO') && $this->getCapability('SORT=DISPLAY')) {
$field = 'DISPLAY' . $field;
}
- // message IDs
- if (!empty($add)) {
- $add = $this->compressMessageSet($add);
- }
+ $encoding = $encoding ? trim($encoding) : 'US-ASCII';
+ $criteria = $criteria ? 'ALL ' . trim($criteria) : 'ALL';
list($code, $response) = $this->execute($return_uid ? 'UID SORT' : 'SORT',
- array("($field)", $encoding, !empty($add) ? $add : 'ALL'));
+ array("($field)", $encoding, $criteria));
if ($code != self::ERROR_OK) {
$response = null;
@@ -1620,7 +1657,7 @@ class rcube_imap_generic
// return empty result when folder is empty and we're just after SELECT
if ($old_sel != $mailbox && !$this->data['EXISTS']) {
- return new rcube_result_thread($mailbox);
+ return new rcube_result_thread($mailbox, '* THREAD');
}
$encoding = $encoding ? trim($encoding) : 'US-ASCII';
@@ -3419,7 +3456,7 @@ class rcube_imap_generic
}
// Send command
- if (!$this->putLineC($query)) {
+ if (!$this->putLineC($query, true, ($options & self::COMMAND_ANONYMIZED))) {
$this->setError(self::ERROR_COMMAND, "Unable to send command: $query");
return $noresp ? self::ERROR_COMMAND : array(self::ERROR_COMMAND, '');
}
diff --git a/program/lib/Roundcube/rcube_ldap.php b/program/lib/Roundcube/rcube_ldap.php
index de3790e5c..55a64acec 100644
--- a/program/lib/Roundcube/rcube_ldap.php
+++ b/program/lib/Roundcube/rcube_ldap.php
@@ -95,8 +95,8 @@ class rcube_ldap extends rcube_addressbook
if (empty($this->prop['groups']['scope']))
$this->prop['groups']['scope'] = 'sub';
// extend group objectclass => member attribute mapping
- if (!empty($this->prop['groups']['class_member_attr']))
- $this->group_types = array_merge($this->group_types, $this->prop['groups']['class_member_attr']);
+ if (!empty($this->prop['groups']['event-panel-summary']))
+ $this->group_types = array_merge($this->group_types, $this->prop['groups']['event-panel-summary']);
// add group name attrib to the list of attributes to be fetched
$fetch_attributes[] = $this->prop['groups']['name_attr'];
@@ -1409,6 +1409,16 @@ class rcube_ldap extends rcube_addressbook
$fieldmap['name'] = $this->group_data['name_attr'] ? $this->group_data['name_attr'] : $this->prop['groups']['name_attr'];
}
+ // assign object type from object class mapping
+ if (!empty($this->prop['class_type_map'])) {
+ foreach (array_map('strtolower', (array)$rec['objectclass']) as $objcls) {
+ if (!empty($this->prop['class_type_map'][$objcls])) {
+ $out['_type'] = $this->prop['class_type_map'][$objcls];
+ break;
+ }
+ }
+ }
+
foreach ($fieldmap as $rf => $lf)
{
for ($i=0; $i < $rec[$lf]['count']; $i++) {
diff --git a/program/lib/Roundcube/rcube_ldap_generic.php b/program/lib/Roundcube/rcube_ldap_generic.php
index 923a12a41..f1048ef39 100644
--- a/program/lib/Roundcube/rcube_ldap_generic.php
+++ b/program/lib/Roundcube/rcube_ldap_generic.php
@@ -160,7 +160,7 @@ class rcube_ldap_generic
$this->config['hosts'] = array($this->config['hosts']);
foreach ($this->config['hosts'] as $host) {
- if ($this->connect($host)) {
+ if (!empty($host) && $this->connect($host)) {
return true;
}
}
@@ -240,7 +240,7 @@ class rcube_ldap_generic
$method = 'DIGEST-MD5';
}
- $this->_debug("C: SASL Bind [mech: $method, authc: $authc, authz: $authz, pass: $pass]");
+ $this->_debug("C: SASL Bind [mech: $method, authc: $authc, authz: $authz, pass: **** [" . strlen($pass) . "]");
if (ldap_sasl_bind($this->conn, NULL, $pass, $method, NULL, $authc, $authz)) {
$this->_debug("S: OK");
@@ -271,7 +271,7 @@ class rcube_ldap_generic
return false;
}
- $this->_debug("C: Bind $dn [pass: $pass]");
+ $this->_debug("C: Bind $dn, pass: **** [" . strlen($pass) . "]");
if (@ldap_bind($this->conn, $dn, $pass)) {
$this->_debug("S: OK");
diff --git a/program/lib/Roundcube/rcube_mime.php b/program/lib/Roundcube/rcube_mime.php
index a931c27c1..091b2fae8 100644
--- a/program/lib/Roundcube/rcube_mime.php
+++ b/program/lib/Roundcube/rcube_mime.php
@@ -366,6 +366,9 @@ class rcube_mime
$address = 'MAILER-DAEMON';
$name = substr($val, 0, -strlen($m[1]));
}
+ else if (preg_match('/('.$email_rx.')/', $val, $m)) {
+ $name = $m[1];
+ }
else {
$name = $val;
}
@@ -378,11 +381,16 @@ class rcube_mime
}
if ($decode) {
$name = self::decode_header($name, $fallback);
+ // some clients encode addressee name with quotes around it
+ if ($name[0] == '"' && $name[strlen($name)-1] == '"') {
+ $name = substr($name, 1, -1);
+ }
}
}
if (!$address && $name) {
$address = $name;
+ $name = '';
}
if ($address) {
diff --git a/program/lib/Roundcube/rcube_plugin_api.php b/program/lib/Roundcube/rcube_plugin_api.php
index 461c3cc07..feeeb192e 100644
--- a/program/lib/Roundcube/rcube_plugin_api.php
+++ b/program/lib/Roundcube/rcube_plugin_api.php
@@ -182,7 +182,7 @@ class rcube_plugin_api
}
// plugin already loaded
- if ($this->plugins[$plugin_name] || class_exists($plugin_name, false)) {
+ if ($this->plugins[$plugin_name]) {
return true;
}
@@ -190,7 +190,9 @@ class rcube_plugin_api
. DIRECTORY_SEPARATOR . $plugin_name . '.php';
if (file_exists($fn)) {
- include $fn;
+ if (!class_exists($plugin_name, false)) {
+ include $fn;
+ }
// instantiate class if exists
if (class_exists($plugin_name, false)) {
diff --git a/program/lib/Roundcube/rcube_result_index.php b/program/lib/Roundcube/rcube_result_index.php
index 5f592c54f..058f25c6f 100644
--- a/program/lib/Roundcube/rcube_result_index.php
+++ b/program/lib/Roundcube/rcube_result_index.php
@@ -231,29 +231,13 @@ class rcube_result_index
/**
- * Filters data set. Removes elements listed in $ids list.
+ * Filters data set. Removes elements not listed in $ids list.
*
* @param array $ids List of IDs to remove.
*/
public function filter($ids = array())
{
$data = $this->get();
- $data = array_diff($data, $ids);
-
- $this->meta = array();
- $this->meta['count'] = count($data);
- $this->raw_data = implode(self::SEPARATOR_ELEMENT, $data);
- }
-
-
- /**
- * Filters data set. Removes elements not listed in $ids list.
- *
- * @param array $ids List of IDs to keep.
- */
- public function intersect($ids = array())
- {
- $data = $this->get();
$data = array_intersect($data, $ids);
$this->meta = array();
@@ -332,6 +316,7 @@ class rcube_result_index
if (empty($this->raw_data)) {
return array();
}
+
return explode(self::SEPARATOR_ELEMENT, $this->raw_data);
}
diff --git a/program/lib/Roundcube/rcube_result_set.php b/program/lib/Roundcube/rcube_result_set.php
index a4b070e28..82502ce5f 100644
--- a/program/lib/Roundcube/rcube_result_set.php
+++ b/program/lib/Roundcube/rcube_result_set.php
@@ -25,7 +25,7 @@
* @package Framework
* @subpackage Addressbook
*/
-class rcube_result_set implements Iterator
+class rcube_result_set implements Iterator, ArrayAccess
{
public $count = 0;
public $first = 0;
@@ -61,6 +61,34 @@ class rcube_result_set implements Iterator
$this->current = $i;
}
+ /*** Implement PHP ArrayAccess interface ***/
+
+ public function offsetSet($offset, $value)
+ {
+ if (is_null($offset)) {
+ $offset = count($this->records);
+ $this->records[] = $value;
+ }
+ else {
+ $this->records[$offset] = $value;
+ }
+ }
+
+ public function offsetExists($offset)
+ {
+ return isset($this->records[$offset]);
+ }
+
+ public function offsetUnset($offset)
+ {
+ unset($this->records[$offset]);
+ }
+
+ public function offsetGet($offset)
+ {
+ return $this->records[$offset];
+ }
+
/*** PHP 5 Iterator interface ***/
function rewind()
diff --git a/program/lib/Roundcube/rcube_result_thread.php b/program/lib/Roundcube/rcube_result_thread.php
index c7f21db53..ceaaf59a6 100644
--- a/program/lib/Roundcube/rcube_result_thread.php
+++ b/program/lib/Roundcube/rcube_result_thread.php
@@ -453,7 +453,7 @@ class rcube_result_thread
// when sorting search result it's good to make the index smaller
if ($index->count() != $this->count_messages()) {
- $index->intersect($this->get());
+ $index->filter($this->get());
}
$result = array_fill_keys($index->get(), null);
diff --git a/program/lib/Roundcube/rcube_smtp.php b/program/lib/Roundcube/rcube_smtp.php
index 60b1389ea..70f15dc7b 100644
--- a/program/lib/Roundcube/rcube_smtp.php
+++ b/program/lib/Roundcube/rcube_smtp.php
@@ -29,6 +29,7 @@ class rcube_smtp
private $conn = null;
private $response;
private $error;
+ private $anonymize_log = 0;
// define headers delimiter
const SMTP_MIME_CRLF = "\r\n";
@@ -67,6 +68,7 @@ class rcube_smtp
'smtp_auth_type' => $rcube->config->get('smtp_auth_type'),
'smtp_helo_host' => $rcube->config->get('smtp_helo_host'),
'smtp_timeout' => $rcube->config->get('smtp_timeout'),
+ 'smtp_conn_options' => $rcube->config->get('smtp_conn_options'),
'smtp_auth_callbacks' => array(),
));
@@ -106,10 +108,11 @@ class rcube_smtp
// IDNA Support
$smtp_host = rcube_utils::idn_to_ascii($smtp_host);
- $this->conn = new Net_SMTP($smtp_host, $smtp_port, $helo_host);
+ $this->conn = new Net_SMTP($smtp_host, $smtp_port, $helo_host, false, 0, $CONFIG['smtp_conn_options']);
if ($rcube->config->get('smtp_debug')) {
$this->conn->setDebug(true, array($this, 'debug_handler'));
+ $this->anonymize_log = 0;
}
// register authentication methods
@@ -329,6 +332,15 @@ class rcube_smtp
*/
public function debug_handler(&$smtp, $message)
{
+ // catch AUTH commands and set anonymization flag for subsequent sends
+ if (preg_match('/^Send: AUTH ([A-Z]+)/', $message, $m)) {
+ $this->anonymize_log = $m[1] == 'LOGIN' ? 2 : 1;
+ }
+ // anonymize this log entry
+ else if ($this->anonymize_log > 0 && strpos($message, 'Send:') === 0 && --$this->anonymize_log == 0) {
+ $message = sprintf('Send: ****** [%d]', strlen($message) - 8);
+ }
+
if (($len = strlen($message)) > self::DEBUG_LINE_LENGTH) {
$diff = $len - self::DEBUG_LINE_LENGTH;
$message = substr($message, 0, self::DEBUG_LINE_LENGTH)
diff --git a/program/lib/Roundcube/rcube_storage.php b/program/lib/Roundcube/rcube_storage.php
index ca65af1cb..69d6d2fae 100644
--- a/program/lib/Roundcube/rcube_storage.php
+++ b/program/lib/Roundcube/rcube_storage.php
@@ -35,9 +35,15 @@ abstract class rcube_storage
*/
public $conn;
+ /**
+ * List of supported special folder types
+ *
+ * @var array
+ */
+ public static $folder_types = array('drafts', 'sent', 'junk', 'trash');
+
protected $folder = 'INBOX';
protected $default_charset = 'ISO-8859-1';
- protected $default_folders = array('INBOX');
protected $search_set;
protected $options = array('auth_type' => 'check');
protected $page_size = 10;
@@ -167,24 +173,6 @@ abstract class rcube_storage
/**
- * This list of folders will be listed above all other folders
- *
- * @param array $arr Indexed list of folder names
- */
- public function set_default_folders($arr)
- {
- if (is_array($arr)) {
- $this->default_folders = $arr;
-
- // add inbox if not included
- if (!in_array('INBOX', $this->default_folders)) {
- array_unshift($this->default_folders, 'INBOX');
- }
- }
- }
-
-
- /**
* Set internal folder reference.
* All operations will be perfomed on this folder.
*
@@ -613,7 +601,7 @@ abstract class rcube_storage
/**
* Parse message UIDs input
*
- * @param mixed $uids UIDs array or comma-separated list or '*' or '1:*'
+ * @param mixed $uids UIDs array or comma-separated list or '*' or '1:*'
*
* @return array Two elements array with UIDs converted to list and ALL flag
*/
@@ -633,6 +621,9 @@ abstract class rcube_storage
if (is_array($uids)) {
$uids = join(',', $uids);
}
+ else if (strpos($uids, ':')) {
+ $uids = join(',', rcube_imap_generic::uncompressMessageSet($uids));
+ }
if (preg_match('/[^0-9,]/', $uids)) {
$uids = '';
@@ -855,15 +846,59 @@ abstract class rcube_storage
*/
public function create_default_folders()
{
+ $rcube = rcube::get_instance();
+
// create default folders if they do not exist
- foreach ($this->default_folders as $folder) {
- if (!$this->folder_exists($folder)) {
- $this->create_folder($folder, true);
+ foreach (self::$folder_types as $type) {
+ if ($folder = $rcube->config->get($type . '_mbox')) {
+ if (!$this->folder_exists($folder)) {
+ $this->create_folder($folder, true, $type);
+ }
+ else if (!$this->folder_exists($folder, true)) {
+ $this->subscribe($folder);
+ }
}
- else if (!$this->folder_exists($folder, true)) {
- $this->subscribe($folder);
+ }
+ }
+
+
+ /**
+ * Check if specified folder is a special folder
+ */
+ public function is_special_folder($name)
+ {
+ return $name == 'INBOX' || in_array($name, $this->get_special_folders());
+ }
+
+
+ /**
+ * Return configured special folders
+ */
+ public function get_special_folders($forced = false)
+ {
+ // getting config might be expensive, store special folders in memory
+ if (!isset($this->icache['special-folders'])) {
+ $rcube = rcube::get_instance();
+ $this->icache['special-folders'] = array();
+
+ foreach (self::$folder_types as $type) {
+ if ($folder = $rcube->config->get($type . '_mbox')) {
+ $this->icache['special-folders'][$type] = $folder;
+ }
}
}
+
+ return $this->icache['special-folders'];
+ }
+
+
+ /**
+ * Set special folder associations stored in backend
+ */
+ public function set_special_folders($specials)
+ {
+ // should be overriden by storage class if backend supports special folders (SPECIAL-USE)
+ unset($this->icache['special-folders']);
}
diff --git a/program/lib/Roundcube/rcube_utils.php b/program/lib/Roundcube/rcube_utils.php
index c48cd80e8..46d53ac91 100644
--- a/program/lib/Roundcube/rcube_utils.php
+++ b/program/lib/Roundcube/rcube_utils.php
@@ -1045,4 +1045,16 @@ class rcube_utils
return !in_array($str, array('false', '0', 'no', 'off', 'nein', ''), true);
}
+ /**
+ * OS-dependent absolute path detection
+ */
+ public static function is_absolute_path($path)
+ {
+ if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
+ return (bool) preg_match('!^[a-z]:[\\\\/]!i', $path);
+ }
+ else {
+ return $path[0] == DIRECTORY_SEPARATOR;
+ }
+ }
}
diff --git a/program/lib/Roundcube/rcube_washtml.php b/program/lib/Roundcube/rcube_washtml.php
index 5a5b3dc55..e9fec54b3 100644
--- a/program/lib/Roundcube/rcube_washtml.php
+++ b/program/lib/Roundcube/rcube_washtml.php
@@ -184,7 +184,7 @@ class rcube_washtml
'|rgb\(\s*[0-9]+\s*,\s*[0-9]+\s*,\s*[0-9]+\s*\)'.
'|-?[0-9.]+\s*(em|ex|px|cm|mm|in|pt|pc|deg|rad|grad|ms|s|hz|khz|%)?'.
'|#[0-9a-f]{3,6}'.
- '|[a-z0-9", -]+'.
+ '|[a-z0-9"\', -]+'.
')\s*/i', $str, $match)
) {
if ($match[2]) {
@@ -283,10 +283,12 @@ class rcube_washtml
/**
* The main loop that recurse on a node tree.
- * It output only allowed tags with allowed attributes
- * and allowed inline styles
+ * It output only allowed tags with allowed attributes and allowed inline styles
+ *
+ * @param DOMNode $node HTML element
+ * @param int $level Recurrence level (safe initial value found empirically)
*/
- private function dumpHtml($node, $level = 0)
+ private function dumpHtml($node, $level = 20)
{
if (!$node->hasChildNodes()) {
return '';
diff --git a/program/localization/ar/labels.inc b/program/localization/ar/labels.inc
new file mode 100644
index 000000000..6fd922ad9
--- /dev/null
+++ b/program/localization/ar/labels.inc
@@ -0,0 +1,123 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | localization/<lang>/labels.inc |
+ | |
+ | Localization file of the Roundcube Webmail client |
+ | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/labels/
+*/
+$labels['welcome'] = 'مرحباً بكم ÙÙŠ $product';
+$labels['username'] = 'اسم المستخدم';
+$labels['password'] = 'كلمة المرور';
+$labels['server'] = 'الخادم';
+$labels['login'] = 'تسجيل الدخول';
+$labels['logout'] = 'تسجيل الخروج';
+$labels['mail'] = 'البريد';
+$labels['settings'] = 'الإعدادات';
+$labels['addressbook'] = 'دÙتر العناوين';
+$labels['inbox'] = 'البريد الوارد';
+$labels['drafts'] = 'المسودات';
+$labels['sent'] = 'البريد المرسل';
+$labels['trash'] = 'المهملات';
+$labels['junk'] = 'الرسائل غير المرغوب Ùيها';
+$labels['subject'] = 'الموضوع';
+$labels['from'] = 'المرسل';
+$labels['cc'] = 'نسخة إلي';
+$labels['bcc'] = 'نسخة مخÙية الوجهة';
+$labels['date'] = 'التاريخ';
+$labels['size'] = 'الحجم';
+$labels['priority'] = 'الأولوية';
+$labels['mailboxlist'] = 'مجلدات';
+$labels['copy'] = 'نسخ';
+$labels['move'] = 'نقل';
+$labels['moveto'] = 'نقل إلى...';
+$labels['download'] = 'تنزيل';
+$labels['showattachment'] = 'إظهار';
+$labels['showanyway'] = 'إظهار ذلك على أي حال';
+$labels['filename'] = 'اسم الملÙ';
+$labels['filesize'] = 'حجم الملÙ';
+$labels['addtoaddressbook'] = 'إضاÙØ© إلى دÙتر العناوين';
+$labels['sun'] = 'أحد';
+$labels['mon'] = 'إثنين';
+$labels['tue'] = 'ثلاثاء';
+$labels['wed'] = 'أربعاء';
+$labels['thu'] = 'خميس';
+$labels['fri'] = 'جمعة';
+$labels['sat'] = 'سبت';
+$labels['sunday'] = 'الأحد';
+$labels['monday'] = 'الإثنين';
+$labels['tuesday'] = 'الثلاثاء';
+$labels['wednesday'] = 'الأربعاء';
+$labels['thursday'] = 'الخميس';
+$labels['friday'] = 'الجمعة';
+$labels['saturday'] = 'السبت';
+$labels['jan'] = 'يناير';
+$labels['feb'] = 'Ùبراير';
+$labels['mar'] = 'مارس';
+$labels['apr'] = 'أبريل';
+$labels['may'] = 'مايو';
+$labels['jun'] = 'يونيو';
+$labels['jul'] = 'يوليو';
+$labels['aug'] = 'أغسطس';
+$labels['sep'] = 'سبتمبر';
+$labels['oct'] = 'أكتوبر';
+$labels['nov'] = 'نوÙمبر';
+$labels['dec'] = 'ديسمبر';
+$labels['longjan'] = 'يناير';
+$labels['longfeb'] = 'Ùبراير';
+$labels['longmar'] = 'مارس';
+$labels['longapr'] = 'أبريل';
+$labels['longmay'] = 'مايو';
+$labels['longjun'] = 'يونيو';
+$labels['longjul'] = 'يوليو';
+$labels['longaug'] = 'أغسطس';
+$labels['longsep'] = 'سبتمبر';
+$labels['longoct'] = 'أكتوبر';
+$labels['longnov'] = 'نوÙمبر';
+$labels['longdec'] = 'ديسمبر';
+$labels['today'] = 'اليوم';
+$labels['refresh'] = 'تحديث';
+$labels['checkmail'] = 'التحقق من وجود رسائل جديدة';
+$labels['compose'] = 'إنشاء';
+$labels['writenewmessage'] = 'إنشاء رسالة جديدة';
+$labels['reply'] = 'رد';
+$labels['replytomessage'] = 'الرد على المرسل';
+$labels['replytoallmessage'] = 'الرد على قائمة أو إلى المرسل وجميع المستلمين';
+$labels['replyall'] = 'الرد على الجميع';
+$labels['replylist'] = 'الرد على القائمة';
+$labels['forward'] = 'إعادة توجيه';
+$labels['deletemessage'] = 'حذ٠الرسالة';
+$labels['movemessagetotrash'] = 'انقل الرسالة إلى سلة المهملات';
+$labels['printmessage'] = 'أطبع هذه الرسالة';
+$labels['previousmessage'] = 'عرض الرسالة السابقة';
+$labels['firstmessage'] = 'عرض الرسالة الأولى';
+$labels['nextmessage'] = 'عرض الرسالة التالية';
+$labels['lastmessage'] = 'عرض الرسالة الأخيرة';
+$labels['backtolist'] = 'العودة إلى قائمة الرسائل';
+$labels['viewsource'] = 'إظهار المصدر';
+$labels['mark'] = 'علامة';
+$labels['markread'] = 'مقروءة';
+$labels['markunread'] = 'غير مقروءة';
+$labels['moreactions'] = 'إجراءات إضاÙية...';
+$labels['more'] = 'المزيد';
+$labels['back'] = 'العودة';
+$labels['options'] = 'خيارات';
+$labels['select'] = 'تحديد';
+$labels['all'] = 'الكل';
+$labels['none'] = 'لاشيء';
+$labels['currpage'] = 'الصÙحة الحالية';
+$labels['unread'] = 'غير مقروءة';
+$labels['flagged'] = 'موسوم';
+$labels['unanswered'] = 'بلا رد';
+$labels['deleted'] = 'محذوÙ';
+$labels['undeleted'] = 'غير محذوÙØ©';
+?>
diff --git a/program/localization/ar_SA/labels.inc b/program/localization/ar_SA/labels.inc
index 4100f7c4a..28fb22dbf 100644
--- a/program/localization/ar_SA/labels.inc
+++ b/program/localization/ar_SA/labels.inc
@@ -29,8 +29,10 @@ $labels['drafts'] = 'المسودات';
$labels['sent'] = 'المرسل';
$labels['trash'] = 'المهملات';
$labels['junk'] = 'غير المرغوب';
+$labels['show_real_foldernames'] = 'عرض الاسم الحقيقي لـ المجلدات المميزة ';
$labels['subject'] = 'الموضوع';
$labels['from'] = 'المرسل';
+$labels['sender'] = 'المرسل';
$labels['to'] = 'المستقبل';
$labels['cc'] = 'نسخة';
$labels['bcc'] = 'نسخة مخÙية';
@@ -41,15 +43,20 @@ $labels['size'] = 'الحجم';
$labels['priority'] = 'الأولوية';
$labels['organization'] = 'المنظمة';
$labels['readstatus'] = 'حالة القراءة';
+$labels['listoptions'] = 'قائمة الخيارات...';
$labels['mailboxlist'] = 'مجلدات';
$labels['messagesfromto'] = 'الرسالة $from إلى $to من مجموع $count';
$labels['threadsfromto'] = 'جهات الإتصال $from إلى $to من مجموع $count';
$labels['messagenrof'] = 'الرسالة $nr من $count';
+$labels['fromtoshort'] = '$from – $to من $count';
$labels['copy'] = 'نسخ';
$labels['move'] = 'نقل';
$labels['moveto'] = 'نقل إلى...';
+$labels['copyto'] = 'نسخ الى ';
$labels['download'] = 'تنزيل';
$labels['open'] = 'Ùتح';
+$labels['showattachment'] = 'إظهار';
+$labels['showanyway'] = 'عرض على أي حال';
$labels['filename'] = 'اسم الملÙ';
$labels['filesize'] = 'حجم الملÙ';
$labels['addtoaddressbook'] = 'إضاÙØ© إلى دÙتر العناوين';
@@ -160,6 +167,7 @@ $labels['listmode'] = 'وضع طريقة السرد';
$labels['folderactions'] = 'إجراءات المجلد...';
$labels['compact'] = 'ضغط';
$labels['empty'] = 'تÙريغ';
+$labels['importmessages'] = 'استيراد الرسائل';
$labels['quota'] = 'المساحة المستخدمة';
$labels['unknown'] = 'مجهول';
$labels['unlimited'] = 'غير محدود';
@@ -167,8 +175,13 @@ $labels['quicksearch'] = 'البحث السريع';
$labels['resetsearch'] = 'استعادة البحث للاÙتراضي';
$labels['searchmod'] = 'أماكن البحث';
$labels['msgtext'] = 'كامل الرسالة';
+$labels['body'] = 'محتوى ';
+$labels['type'] = 'نوع ';
+$labels['namex'] = 'الاسم ';
$labels['openinextwin'] = 'اÙتح ÙÙŠ ناÙذة جديدة';
$labels['emlsave'] = 'تنزيل (.eml)';
+$labels['changeformattext'] = 'عرض بتنسيق النص العادي';
+$labels['changeformathtml'] = 'عرض بتنسيق HTML';
$labels['editasnew'] = 'تعديل كجديد';
$labels['send'] = 'ارسل';
$labels['sendmessage'] = 'إرسال الرسالة الآن';
@@ -185,6 +198,16 @@ $labels['spellcheck'] = 'التدقيق اﻹملائى';
$labels['checkspelling'] = 'التدقيق الإملائي';
$labels['resumeediting'] = 'متابعة التحرير';
$labels['revertto'] = 'استعادة إلى';
+$labels['restore'] = 'استعادة';
+$labels['restoremessage'] = 'استعادة الرسائل؟';
+$labels['responses'] = 'ردود';
+$labels['insertresponse'] = 'اضاÙØ© رد ';
+$labels['manageresponses'] = 'ادارة الردود';
+$labels['savenewresponse'] = 'Ø­Ùظ الرد الجديد';
+$labels['editresponses'] = 'تعديل الردود';
+$labels['editresponse'] = 'تعديل الرد ';
+$labels['responsename'] = 'الاسم';
+$labels['responsetext'] = 'نص الرد';
$labels['attach'] = 'إرÙاق';
$labels['attachments'] = 'مرÙقات';
$labels['upload'] = 'تحميل';
@@ -201,6 +224,7 @@ $labels['showimages'] = 'إظهار الصور';
$labels['alwaysshow'] = 'دائماً أظهر الصّور القادمة من $sender';
$labels['isdraft'] = 'هذه مسودّة رسالة';
$labels['andnmore'] = '$nr المزيد ...';
+$labels['togglemoreheaders'] = 'عرض المزيد من رؤوس الرسائل';
$labels['htmltoggle'] = 'HTML';
$labels['plaintoggle'] = 'نص مجرد';
$labels['savesentmessagein'] = 'احÙظ الرسالة المÙرسلة ÙÙŠ';
@@ -283,6 +307,7 @@ $labels['contactsfromto'] = 'المراسلون $from إلى $to من $count';
$labels['print'] = 'طباعة';
$labels['export'] = 'تصدير';
$labels['exportall'] = 'تصدير الكل';
+$labels['exportsel'] = 'تصدير المختارات';
$labels['exportvcards'] = 'صدّر المراسلين بنسق vCard';
$labels['newcontactgroup'] = 'إنشاء مجموعة مراسلين جديدة';
$labels['grouprename'] = 'تغيير اسم المجموعة';
@@ -294,13 +319,19 @@ $labels['nextpage'] = 'عرض المجموعة التالية';
$labels['lastpage'] = 'عرض المجموعة الأخيرة';
$labels['group'] = 'مجموعة';
$labels['groups'] = 'المجموعات';
+$labels['listgroup'] = 'قائمة اعضاء المجموعة ';
$labels['personaladrbook'] = 'العناوين الشخصية';
$labels['searchsave'] = 'Ø­Ùظ البحث';
$labels['searchdelete'] = 'حذ٠البحث';
$labels['import'] = 'استورد';
$labels['importcontacts'] = 'استورد المراسلين';
$labels['importfromfile'] = 'استورد من ملÙ:';
+$labels['importtarget'] = 'اضاÙØ© جهة الاتصال الى ';
$labels['importreplace'] = 'استبدل دÙتر العناوين بأكمله';
+$labels['importgroups'] = 'استيراد مهام المجموعة ';
+$labels['importgroupsall'] = 'الكل (انشاء مجموعة ÙÙŠ حال الحاجة)';
+$labels['importgroupsexisting'] = 'Ùقط للمجموعات الموجودة ';
+$labels['importdesc'] = 'يمكنك رÙع جهات الاتصال من دÙاتر العناوين الموجودة. <br/> نحن الان ندعم استيراد العناوين من <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> او CSV (comma-separated) data format.';
$labels['done'] = 'تم';
$labels['settingsfor'] = 'إعدادات';
$labels['about'] = 'نبذة';
@@ -315,6 +346,7 @@ $labels['edititem'] = 'تحرير عنصر';
$labels['preferhtml'] = 'تÙضيل صيغة HTML';
$labels['defaultcharset'] = 'ترميز المحار٠الاÙتراضي';
$labels['htmlmessage'] = 'رسالة بنسق HTML';
+$labels['messagepart'] = 'جزء';
$labels['digitalsig'] = 'التوقيع الالكتروني';
$labels['dateformat'] = 'نسق التاريخ';
$labels['timeformat'] = 'نسق الوقت';
@@ -330,7 +362,9 @@ $labels['showinextwin'] = 'Ùتح الرسالة ÙÙ‰ ناÙذة جديدة';
$labels['composeextwin'] = 'أرسال عن طريق ناÙذة جديدة';
$labels['htmleditor'] = 'إنشاء رسائل بنسق HTML';
$labels['htmlonreply'] = 'حال الرد على الرسائل بصيغة HTML Ùقط';
+$labels['htmlonreplyandforward'] = 'على التوجية او الرد على رسائل HTML';
$labels['htmlsignature'] = 'توقيع HTML';
+$labels['showemail'] = 'عرض عنوان البريد الالكتروني مع الاسم ';
$labels['previewpane'] = 'إظهار قسم المعاينة';
$labels['skin'] = 'شكل الواجهة';
$labels['logoutclear'] = 'Ø¥Ùراغ سلة المحذوÙات عند الخروج';
@@ -348,12 +382,14 @@ $labels['readwhendeleted'] = 'تحديد الرسالة كمقروءة عند ح
$labels['flagfordeletion'] = 'وضع علامة على الرسالة لحذÙها بدلاً منحذÙها';
$labels['skipdeleted'] = 'لا تظهر الرسائل المحذوÙØ©';
$labels['deletealways'] = 'حذ٠الرسائل مباشرة، إن تعذر نقلها إلىالمهملات';
+$labels['deletejunk'] = 'مباشرة احذ٠الرسائل الموجودة ÙÙŠ غير المرغوب Ùيه';
$labels['showremoteimages'] = 'إظهار الصور الخارجية المدمجة';
$labels['fromknownsenders'] = 'للمرسلين المعلومين';
$labels['always'] = 'دائماً';
$labels['showinlineimages'] = 'إظهار الصّور المرÙقة أسÙÙ„ الرسالة';
$labels['autosavedraft'] = 'Ø­Ùظ المسودة تلقائياً';
$labels['everynminutes'] = 'كل $n دقيقة';
+$labels['refreshinterval'] = 'تحديث (التاكد من الرسائل الجديدة, الخ.)';
$labels['never'] = 'أبداً';
$labels['immediately'] = 'حالاً';
$labels['messagesdisplaying'] = 'إظهار الرسائل';
@@ -367,12 +403,15 @@ $labels['advancedoptions'] = 'خيارات متقدّمة';
$labels['focusonnewmessage'] = 'التركيز على ناÙذة المتصÙØ­ عند وجود رسالةجديدة';
$labels['checkallfolders'] = 'التحقق من وجود رسائل جديدة ÙÙŠ جميعالمجلدات';
$labels['displaynext'] = 'إظهار الرسالة التالية بعد حذÙ/نقلالرسالة الحالية';
+$labels['defaultfont'] = 'الخط الاÙتراضي لـ رسائل HTML';
$labels['mainoptions'] = 'الخيارات الأساسية';
+$labels['browseroptions'] = 'خيارات المتصÙØ­';
$labels['section'] = 'قسم';
$labels['maintenance'] = 'الصيانة';
$labels['newmessage'] = 'رسالة جديدة';
$labels['signatureoptions'] = 'خيارات التوقيع';
$labels['whenreplying'] = 'عند الرد';
+$labels['replyempty'] = 'لا تقتبس رسالة الاصل';
$labels['replytopposting'] = 'بدء رسالة جديدة ووضع النص أعلى الأصلية';
$labels['replybottomposting'] = 'بدء رسالة جديدة ووضع النص أسÙÙ„ الأصلية';
$labels['replyremovesignature'] = 'إزالة التوقيع من الرسالة عند الرد';
@@ -385,13 +424,23 @@ $labels['afternseconds'] = 'بعد $n ثواني';
$labels['reqmdn'] = 'طلب إشعار استلام دائماً';
$labels['reqdsn'] = 'طلب تنويه لحالة التوصيل دائماً';
$labels['replysamefolder'] = 'وضع الردود ÙÙŠ المجلد الذي يحوي الرسالةالمردود عليها';
+$labels['defaultabook'] = 'دÙتر العناوين الاÙتراضي';
$labels['autocompletesingle'] = 'تجاهل عنوان البريد الإلكتروني البديل Ùيالتكملة التلقائية';
+$labels['listnamedisplay'] = 'عرض جهات الاتصال كـ ';
$labels['spellcheckbeforesend'] = 'تحقق من الإملاء قبل إرسال الرسائل';
$labels['spellcheckoptions'] = 'خيارات التدقيق الإملاءي';
$labels['spellcheckignoresyms'] = 'تجاهل الكلمات التي تحتوي رموز';
$labels['spellcheckignorenums'] = 'تجاهل الكلمات التي تحتوي أرقام';
$labels['spellcheckignorecaps'] = 'تجاهل الكلمات التي بها أحر٠كبيرة';
$labels['addtodict'] = 'إضاÙØ© إلى القامس';
+$labels['mailtoprotohandler'] = 'تسجيل متحكم بروتوكول mailto: رابط';
+$labels['standardwindows'] = 'التعامل مع النواÙØ° المنبثقة كـ نواÙØ° قياسية';
+$labels['forwardmode'] = 'اعادة توجية الرسائل';
+$labels['inline'] = 'مضمن';
+$labels['asattachment'] = 'كـ مرÙÙ‚ ';
+$labels['replyallmode'] = 'الاجراء الاÙتراضي لـ زر [الرد على الجميع]';
+$labels['replyalldefault'] = 'الرد على الجميع';
+$labels['replyalllist'] = 'الرد Ùقط على القائمة البريدية (اذا كانت موجودة)';
$labels['folder'] = 'مجلد';
$labels['folders'] = 'مجلدات';
$labels['foldername'] = 'اسم المجلد';
@@ -416,6 +465,7 @@ $labels['sortby'] = 'ترتيب بحسب';
$labels['sortasc'] = 'ترتيب تصاعدي';
$labels['sortdesc'] = 'ترتيب تنازلي';
$labels['undo'] = 'تراجع';
+$labels['installedplugins'] = 'اضاÙات مثبتة';
$labels['plugin'] = 'إضاÙØ©';
$labels['version'] = 'النسخة';
$labels['source'] = 'المصدر';
diff --git a/program/localization/ar_SA/messages.inc b/program/localization/ar_SA/messages.inc
index 7d9a7ac62..a518fb012 100644
--- a/program/localization/ar_SA/messages.inc
+++ b/program/localization/ar_SA/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -15,6 +15,7 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/messages/
*/
+$messages['errortitle'] = 'حدث خطأ!';
$messages['loginfailed'] = 'Ùشل تسجيل الدخول';
$messages['cookiesdisabled'] = 'المتصÙØ­ الخاص بك لا يقبل الكوكيز';
$messages['sessionerror'] = 'انتهت صلاحية الجلسة الحالية أو أنها غيرصالحة';
@@ -22,12 +23,18 @@ $messages['storageerror'] = 'Ùشل الاتصال بخادم IMAP';
$messages['servererror'] = 'خطأ ÙÙŠ الخادم!';
$messages['servererrormsg'] = 'خطأ خادم: $msg';
$messages['dberror'] = 'خطأ ÙÙŠ قاعدة البيانات!';
+$messages['requesttimedout'] = 'انتهت مهلة الطلب ';
$messages['errorreadonly'] = 'تعذر تنÙيذ العملية. المجلد للقراءة Ùقط.';
$messages['errornoperm'] = 'تعذر تنÙيذ العملية. ليست لديك الصلاحية.';
+$messages['erroroverquota'] = 'تعذر تنÙيذ العملية. لايوجد مساحة كاÙية.';
+$messages['erroroverquotadelete'] = 'لا يوجد مساحة كاÙية. استخدم SHIFT+DEL لحذ٠الرسالة.';
$messages['invalidrequest'] = 'طلب غير صالح! لم تحÙظ أية بيانات.';
+$messages['invalidhost'] = 'اسم الملقم غير صالح.';
$messages['nomessagesfound'] = 'لم يعثر على أية رسائل ÙÙŠ صندوق البريد هذا';
$messages['loggedout'] = 'قمت بإنهاء هذه الجلسة بنجاح. إلى اللقاء!';
$messages['mailboxempty'] = 'صندوق البريد Ùارغ';
+$messages['nomessages'] = 'لا يوجد رسائل';
+$messages['refreshing'] = 'جاري التحديث...';
$messages['loading'] = 'جاري العمل...';
$messages['uploading'] = 'جاري رÙع الملÙ...';
$messages['uploadingmany'] = 'جاري تحميل الملÙات...';
@@ -38,6 +45,8 @@ $messages['messagesent'] = 'تم إرسال الرسالة بنجاح';
$messages['savingmessage'] = 'Ø­Ùظ الرسالة...';
$messages['messagesaved'] = 'تم Ø­Ùظ الرسالة ÙÙŠ المسودات';
$messages['successfullysaved'] = 'تم الحÙظ بنجاح';
+$messages['savingresponse'] = 'جاري Ø­Ùظ نص الرد...';
+$messages['deleteresponseconfirm'] = 'هل تريد Ùعلاً حذ٠نص الرد هذا؟';
$messages['addedsuccessfully'] = 'تمت إضاÙØ© المراسل إلى دÙتر العناوينبنجاح';
$messages['contactexists'] = 'هناك مراسل له Ù†Ùس هذا البريد الالكترونيموجود مسبقاً';
$messages['contactnameexists'] = 'هناك Ù…Ùرسال له Ù†Ùس الإسم موجود مسبقاً.';
@@ -48,6 +57,8 @@ $messages['contactnotfound'] = 'تعذر العثور على المراسل ال
$messages['contactsearchonly'] = 'اكتب بعض كلمات البحث للعثور علىالمÙراسلين';
$messages['sendingfailed'] = 'Ùشل إرسال الرسالة';
$messages['senttooquickly'] = 'رجاء انتظر $sec ثوان قبل إرسال هذه الرسالة';
+$messages['errorsavingsent'] = 'حدث خطأ أثناء Ø­Ùظ الرسالة المÙرسلة.';
+$messages['errorsaving'] = 'حدث خطأ أثناء الحÙظ.';
$messages['errormoving'] = 'تعذر نقل هذه الرسالة';
$messages['errorcopying'] = 'تعذر نسخ الرسائل';
$messages['errordeleting'] = 'تعذر حذ٠هذه الرسالة';
@@ -72,6 +83,7 @@ $messages['norecipientwarning'] = 'الرجاء إدخال اسم مستقبل Ù
$messages['nosubjectwarning'] = 'حقل "الموضوع" Ùارغ. هل تريد كتابة موضوعللرسالة؟';
$messages['nobodywarning'] = 'إرسال هذه الرسالة دون نص؟';
$messages['notsentwarning'] = 'لم يتم إرسال الرسالة. هل تريد تجاهلالرسالة؟';
+$messages['restoresavedcomposedata'] = 'يوجد رسالة سابقة ولاكن غير مرسلة.\n\nالموضوع: $subject\nØ­Ùظ: $date\n\n هل تريد بالÙعل استعادة هذة الرسالة ØŸ';
$messages['noldapserver'] = 'الرجاء اختيار خادم ldap للبحث Ùيه';
$messages['nosearchname'] = 'الرجاء إدخال اسم مراسل أو عنوان بريدإلكتروني';
$messages['notuploadedwarning'] = 'لم يتم رÙع جميع المرÙقات بعد. رجاءً الانتظار أو إلغاء عملية الرÙع.';
@@ -91,26 +103,36 @@ $messages['converting'] = 'إزالة التنسيق من الرسالة...';
$messages['messageopenerror'] = 'تعذرت قراءة الرسالة من الخادم';
$messages['fileuploaderror'] = 'Ùشل رÙع الملÙ';
$messages['filesizeerror'] = 'حجم المل٠الذي تحاول رÙعه أكبر من الحجمالأقصى $size';
+$messages['copysuccess'] = 'تم نسخ $nr جهة اتصال بنجاح.';
+$messages['movesuccess'] = 'تم نقل $nr جهة اتصال بنجاح.';
+$messages['copyerror'] = 'لا يمكن نسخ أية جهة اتصال.';
+$messages['moveerror'] = 'لا يمكن نقل أية جهة اتصال.';
$messages['sourceisreadonly'] = 'لا يمكن تعديل مصدر العنوان هذا';
$messages['errorsavingcontact'] = 'تعذر Ø­Ùظ عنوان المراسل';
$messages['movingmessage'] = 'جاري نقل الرسالة...';
$messages['copyingmessage'] = 'جاري نسخ الرسالة...';
$messages['copyingcontact'] = 'جاري نسخ المÙراسلين...';
+$messages['movingcontact'] = 'جاري نقل جهات الاتصال...';
$messages['deletingmessage'] = 'جاري حذ٠الرسائل...';
$messages['markingmessage'] = 'جاري تحديد الرسائل...';
$messages['addingmember'] = 'جاري إضاÙØ© المÙراسلين إلى المجموعة...';
$messages['removingmember'] = 'جاري إزالة المراسلين من المجموعة...';
$messages['receiptsent'] = 'أرسل إيصال الاستلام بنجاح';
$messages['errorsendingreceipt'] = 'تعذر إرسال إيصال الاستلام';
+$messages['deleteidentityconfirm'] = 'هل تريد Ùعلاً حذ٠هذا المعرÙØŸ';
$messages['nodeletelastidentity'] = 'لا يمكن حذ٠هذا السجل حيث أنه الوحيدالمتبقي.';
$messages['forbiddencharacter'] = 'اسم المجلّد يحتوي حروÙاً ممنوعة';
$messages['selectimportfile'] = 'رجاء اختر ملÙاً لرÙعه';
$messages['addresswriterror'] = 'دÙتر العناوين المحدد غير قابل للكتابة';
$messages['contactaddedtogroup'] = 'تمت إضاÙØ© المراسلين إلى هذه المجموعةبنجاح';
$messages['contactremovedfromgroup'] = 'تمت إزالة المراسلين من هذه المجموعةبنجاح';
+$messages['nogroupassignmentschanged'] = 'لم يتم تغيير مهام المجموعة.';
$messages['importwait'] = 'جاري الاستيراد، رجاء انتظر...';
+$messages['importformaterror'] = 'Ùشل ÙÙŠ الاستيراد! المل٠الذي تحاول رÙعة ليس مل٠استيراد صالح. ';
$messages['importconfirm'] = '<b>تم استيراد $inserted مراسلين بنجاح، وتجاهل$skipped موجودين مسبقاً</b>:<p><em>$names</em></p>';
$messages['importconfirmskipped'] = '<b>تم تجاهل $skipped عناصر موجودة</b>';
+$messages['importmessagesuccess'] = 'تم استرداد $nr رسالة بنجاح';
+$messages['importmessageerror'] = 'Ùشل ÙÙŠ الاستيراد! المل٠الذي تحاول رÙعة ليس رسالة او صندوق بريد صالح. ';
$messages['opnotpermitted'] = 'العملية ممنوعة!';
$messages['nofromaddress'] = 'عنوان البريد الالكتروني غير محدد Ùيالهويّة المنتقاة';
$messages['editorwarning'] = 'يتسبب الانتقال إلى محرر النص البسيط بضياع جميع التنسيق. هل تريد الاستمرار؟';
@@ -124,6 +146,7 @@ $messages['smtperror'] = 'خطأ SMTP: $msg';
$messages['emailformaterror'] = 'عنوان بريد إلكتروني غير صالح: $email';
$messages['toomanyrecipients'] = 'عدد المرسل إليهم كبير. قلص العدد إلى $max.';
$messages['maxgroupmembersreached'] = 'عدد أعضاء المجموعة أكثر من $max';
+$messages['internalerror'] = 'حدث خطأ داخلي. الرجاء المحاولة مرة أخرى.';
$messages['contactdelerror'] = 'تعذر حذ٠أسماء جهات الإتصال';
$messages['contactdeleted'] = 'تم حذ٠أسماء جهات الإتصال بنجاح';
$messages['contactrestoreerror'] = 'تعذر استعادة المÙراسل المحذوÙ.';
@@ -149,4 +172,6 @@ $messages['invalidimageformat'] = 'ليست صيغة صورة صحيحة';
$messages['mispellingsfound'] = 'عÙثر على أخطاء إملائية ÙÙŠ الرسالة';
$messages['parentnotwritable'] = 'تعذر إنشاء/نقل المجلد إلى المجلد المحدد.ليست لديك الصلاحية.';
$messages['messagetoobig'] = 'جزء الرسالة أكبر بكثير مما يمكن معالجته.';
+$messages['attachmentvalidationerror'] = 'تحذير! المرÙÙ‚ ادناة مشكوك ÙÙŠ امره بسبب ان نوع المرÙÙ‚ لا يتناسب مع نوع المرÙÙ‚ المصرح بة ÙÙŠ هذه الرسالة.اذا كنت لا تثق ÙÙŠ المرسل, يجب عليك ان لا تÙتحة ÙÙŠ المتصÙØ­ لأنها قد تحتوي على محتويات ضارة.<br/><br/><em>متوقع : $expected; موجود : $detected</em>';
+$messages['noscriptwarning'] = 'تحذير: خادم البريد الالكتروني هذا يتطلب جاÙاسكربت , يرجى تÙعيل الـ جاÙاسكربت ÙÙŠ اعدادت المتصÙØ­ الخاص بك لتتمكن من استخدامة.';
?>
diff --git a/program/localization/ast/messages.inc b/program/localization/ast/messages.inc
index 35a850e57..6abf990ae 100644
--- a/program/localization/ast/messages.inc
+++ b/program/localization/ast/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,6 @@ $messages['invalidrequest'] = 'Fallu de la solicitú. Nun se guardaron datos.';
$messages['invalidhost'] = 'Nome de sirvidor inválidu.';
$messages['nomessagesfound'] = 'Nun s\'atoparon mensaxes na bandexa';
$messages['loggedout'] = 'Zarraste la sesión. ¡Talluéu!';
-$messages['mailboxempty'] = 'La to cuenta nun tien mensaxes';
$messages['refreshing'] = 'Anovando...';
$messages['loading'] = 'Cargando...';
$messages['uploading'] = 'Xubiendo ficheru';
diff --git a/program/localization/az_AZ/labels.inc b/program/localization/az_AZ/labels.inc
index 47c00ed08..1e4a5e2f5 100644
--- a/program/localization/az_AZ/labels.inc
+++ b/program/localization/az_AZ/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to-dan $count';
$labels['copy'] = 'Kopyala';
$labels['move'] = 'Köçür';
$labels['moveto'] = 'Burada köçür...';
+$labels['copyto'] = 'Bura kopyala...';
$labels['download'] = 'Endir';
$labels['open'] = 'Aç';
$labels['showattachment'] = 'Göstər';
diff --git a/program/localization/az_AZ/messages.inc b/program/localization/az_AZ/messages.inc
index ddf70378d..28e5f57d2 100644
--- a/program/localization/az_AZ/messages.inc
+++ b/program/localization/az_AZ/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = 'Səhv sorğu! Məlumat yaddaşda qalmadı.';
$messages['invalidhost'] = 'Səhv server adı.';
$messages['nomessagesfound'] = 'Poçt qutusunda məktub tapılmadı.';
$messages['loggedout'] = 'Çıxış uğurlu oldu. Sağ olun!';
-$messages['mailboxempty'] = 'Poçt qutusu boşdur';
+$messages['mailboxempty'] = 'Poçt boşdur';
+$messages['nomessages'] = 'Məktub yoxdur';
$messages['refreshing'] = 'Yenilənmə...';
$messages['loading'] = 'Yüklənir...';
$messages['uploading'] = 'Fayl yüklənir...';
diff --git a/program/localization/be_BE/labels.inc b/program/localization/be_BE/labels.inc
index 9180b92d7..c08b9c866 100644
--- a/program/localization/be_BE/labels.inc
+++ b/program/localization/be_BE/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from—$to з $count';
$labels['copy'] = 'КапіÑваць';
$labels['move'] = 'ПерамÑÑціць';
$labels['moveto'] = 'ПерамÑÑціць у...';
+$labels['copyto'] = 'СкапіÑваць у...';
$labels['download'] = 'СцÑгнуць';
$labels['open'] = 'Ðдкрыць';
$labels['showattachment'] = 'Паказаць';
diff --git a/program/localization/be_BE/messages.inc b/program/localization/be_BE/messages.inc
index 6afc34b23..5d17249d6 100644
--- a/program/localization/be_BE/messages.inc
+++ b/program/localization/be_BE/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = 'Ðевалідны запроÑ! ДадзеныÑ
$messages['invalidhost'] = 'ÐÑÑлушнае Ñ–Ð¼Ñ Ñервера.';
$messages['nomessagesfound'] = 'ПаведамленнÑÑž у гÑтай Ñкрынцы не знойдзена';
$messages['loggedout'] = 'СеÑÑ–Ñ ÑкаÑавана. Да пабачÑннÑ!';
-$messages['mailboxempty'] = 'У Ñкрынцы пуÑта.';
+$messages['mailboxempty'] = 'У паштовай Ñкрынцы пуÑта';
+$messages['nomessages'] = 'ÐÑма паведамленнÑÑž';
$messages['refreshing'] = 'ÐбнаўлÑецца...';
$messages['loading'] = 'Загружаецца...';
$messages['uploading'] = 'Файл зацÑгваецца...';
diff --git a/program/localization/bg_BG/labels.inc b/program/localization/bg_BG/labels.inc
index ecedae739..e7f2f3712 100644
--- a/program/localization/bg_BG/labels.inc
+++ b/program/localization/bg_BG/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to от $count';
$labels['copy'] = 'Копиране';
$labels['move'] = 'ПремеÑтване';
$labels['moveto'] = 'ПремеÑти във...';
+$labels['copyto'] = 'Копирай във...';
$labels['download'] = 'Изтегли';
$labels['open'] = 'Отвори';
$labels['showattachment'] = 'Показване';
@@ -234,7 +235,7 @@ $labels['addcc'] = 'Копие до';
$labels['addbcc'] = 'Скрито копие до';
$labels['addreplyto'] = 'Отговор до';
$labels['addfollowupto'] = 'Препращане към';
-$labels['mdnrequest'] = 'ПодателÑÑ‚ е поиÑкал да бъде уведомен, че Ñте го прочели това пиÑмо. Желаете ли да изпратите обратна разпиÑка?';
+$labels['mdnrequest'] = 'ПодателÑÑ‚ е поиÑкал да бъде уведомен, че Ñте прочели това пиÑмо. Желаете ли да изпратите обратна разпиÑка?';
$labels['receiptread'] = 'Обратна разпиÑка (прочетено)';
$labels['yourmessage'] = 'Това е обратна разпиÑка отноÑно пиÑмото Ви';
$labels['receiptnote'] = 'Забележка: Тази разпиÑка потвърждава Ñамо, че пиÑмото е било визуализирано на екрана на получателÑÑ‚. ÐÑма никаква гаранциÑ, че той е разбрал и/или дори прочел неговото Ñъдържание.';
@@ -248,8 +249,8 @@ $labels['nickname'] = 'ПÑевдоним';
$labels['jobtitle'] = 'ДлъжноÑÑ‚';
$labels['department'] = 'Отдел';
$labels['gender'] = 'Пол';
-$labels['maidenname'] = 'Бащино име';
-$labels['email'] = 'E-mail';
+$labels['maidenname'] = 'МоминÑко име';
+$labels['email'] = 'Ел. поща';
$labels['phone'] = 'Телефон';
$labels['address'] = 'ÐдреÑ';
$labels['street'] = 'Улица';
@@ -364,7 +365,7 @@ $labels['htmleditor'] = 'ПиÑане на ново пиÑмо като HTML';
$labels['htmlonreply'] = 'Ñамо при отговор на HTML пиÑмо';
$labels['htmlonreplyandforward'] = 'Ñамо при препращане или отговор на HTML пиÑмо';
$labels['htmlsignature'] = 'HTML подпиÑ';
-$labels['showemail'] = 'Показва email Ð°Ð´Ñ€ÐµÑ Ñ ÐµÐºÑ€Ð°Ð½Ð½Ð¾Ñ‚Ð¾ име';
+$labels['showemail'] = 'Показва Ð°Ð´Ñ€ÐµÑ Ð½Ð° ел. поща Ñ ÐµÐºÑ€Ð°Ð½Ð½Ð¾Ñ‚Ð¾ име';
$labels['previewpane'] = 'Показване на панел за преглед';
$labels['skin'] = 'Изглед на потребителÑки интерфейÑ';
$labels['logoutclear'] = 'При изход изтрий вÑичко от Кошче';
@@ -425,7 +426,7 @@ $labels['reqmdn'] = 'Винаги изиÑквай обратна разпиÑк
$labels['reqdsn'] = 'Винаги изиÑквай ÑÑ‚Ð°Ñ‚ÑƒÑ Ð´Ð¾Ñтавка на пиÑмото';
$labels['replysamefolder'] = 'ПоÑтави отговор в папка на пиÑмото, на което Ñе отговарÑ';
$labels['defaultabook'] = 'ÐдреÑна книга по подразбиране';
-$labels['autocompletesingle'] = 'ПропуÑни алтернативни e-mail адреÑи при автоматично попълване';
+$labels['autocompletesingle'] = 'ПропуÑни алтернативни адреÑи на ел. поща при автоматично попълване';
$labels['listnamedisplay'] = 'Форматирай ÑпиÑък Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð¸ като';
$labels['spellcheckbeforesend'] = 'Провери за правопиÑни грешки преди изпращане на пиÑмото';
$labels['spellcheckoptions'] = 'ÐаÑтройки на проверката за правопиÑ';
diff --git a/program/localization/bg_BG/messages.inc b/program/localization/bg_BG/messages.inc
index 4363417d2..df9620b30 100644
--- a/program/localization/bg_BG/messages.inc
+++ b/program/localization/bg_BG/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -30,9 +30,10 @@ $messages['erroroverquota'] = 'Ðевъзможно извършване на о
$messages['erroroverquotadelete'] = 'ÐÑма доÑтатъчно Ñвободно диÑково проÑтранÑтво. Ползвайте Shift+Del за да изтриете пиÑма.';
$messages['invalidrequest'] = 'Ðевалидна заÑвка! Данните не Ñа Ñъхранени.';
$messages['invalidhost'] = 'Ðевалидно име на Ñървър.';
-$messages['nomessagesfound'] = 'ÐÑма пиÑма.';
+$messages['nomessagesfound'] = 'ÐÑма пиÑма в тази пощенÑка кутиÑ.';
$messages['loggedout'] = 'СеÑиÑта е прекратена уÑпешно. Довиждане до ÑÐ»ÐµÐ´Ð²Ð°Ñ‰Ð¸Ñ Ð¿ÑŠÑ‚!';
-$messages['mailboxempty'] = 'ПощенÑката ÐºÑƒÑ‚Ð¸Ñ Ðµ празна.';
+$messages['mailboxempty'] = 'ПощенÑката ÐºÑƒÑ‚Ð¸Ñ Ðµ празна';
+$messages['nomessages'] = 'ÐÑма пиÑма';
$messages['refreshing'] = 'ОбновÑване...';
$messages['loading'] = 'Зареждане...';
$messages['uploading'] = 'Качване на файл...';
diff --git a/program/localization/bn_BD/messages.inc b/program/localization/bn_BD/messages.inc
index ac744edee..d8fd08b4f 100644
--- a/program/localization/bn_BD/messages.inc
+++ b/program/localization/bn_BD/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -21,7 +21,6 @@ $messages['sessionerror'] = 'আপনার সেশন শেষ';
$messages['storageerror'] = 'মেইল সারভার à¦à¦° সাথে যোগাযোগ করা গেল না';
$messages['nomessagesfound'] = 'à¦à¦‡ মেইলবকà§à¦¸à§‡ কোনো চিঠি নাই';
$messages['loggedout'] = 'আপনের সেশন ঠিকঠাক মতো শেষ হইছে। শà§à¦­à¦¬à¦¿à¦¦à¦¾à§Ÿà¥¤';
-$messages['mailboxempty'] = 'মেইলবকà§à¦¸ খালি';
$messages['loading'] = 'কমà§à¦ªà§à¦Ÿà¦¾à¦° কাজ করতেছে . .';
$messages['loadingdata'] = 'কমà§à¦ªà§à¦Ÿà¦¾à¦° তথà§à¦¯ আনছে আপনার জনà§à¦¯..';
$messages['checkingmail'] = 'নতà§à¦¨ চিঠি আসছে কিনা তা দেখা হচà§à¦›à§‡';
diff --git a/program/localization/br/labels.inc b/program/localization/br/labels.inc
index d503d1f4c..c239fe718 100644
--- a/program/localization/br/labels.inc
+++ b/program/localization/br/labels.inc
@@ -31,10 +31,12 @@ $labels['trash'] = 'Pod-lastez';
$labels['junk'] = 'Stroboù';
$labels['subject'] = 'Sujed';
$labels['from'] = 'Eus';
+$labels['sender'] = 'Kaser';
$labels['to'] = 'Da';
$labels['cc'] = 'Cc';
$labels['bcc'] = 'Cci';
$labels['replyto'] = 'Respont-da';
+$labels['followupto'] = 'Treuskas da';
$labels['date'] = 'Deiz';
$labels['size'] = 'Ment';
$labels['priority'] = 'Kentwir';
@@ -103,8 +105,10 @@ $labels['replytomessage'] = 'Respont d\'ar kaser';
$labels['replytoallmessage'] = 'Respont d\'an holl';
$labels['replyall'] = 'Respont d\'an holl';
$labels['replylist'] = 'Respont d\'ar roll';
+$labels['forwardattachment'] = 'Treuskas evel pezh stag';
$labels['forwardmessage'] = 'Treuzkas ar c\'hemennad';
$labels['deletemessage'] = 'Dilec\'hiañ ar c\'hemennad er pod-lastez';
+$labels['movemessagetotrash'] = 'lakit er pod lastez';
$labels['printmessage'] = 'Moulañ ar c\'hemennad-se';
$labels['previousmessage'] = 'Gwelout ar c"hemennad a-raok';
$labels['firstmessage'] = 'Gwelout ar c\'hemennad kentañ';
@@ -112,9 +116,18 @@ $labels['nextmessage'] = 'Gwelout ar c\'hemennad da heul';
$labels['lastmessage'] = 'Gwelout ar c\'hemennad diwezhañ';
$labels['backtolist'] = 'Distreiñ el listenn kemennadoù';
$labels['viewsource'] = 'Gwelout an tarzh';
+$labels['mark'] = 'merkañ';
+$labels['markmessages'] = 'Merkañ ar c\'hemennad';
+$labels['markflagged'] = 'spilhennet';
+$labels['markunflagged'] = 'n\'eo ket bet spilhennet';
+$labels['moreactions'] = 'muioc\'h a dibab';
+$labels['more'] = 'muioc\'h';
+$labels['back'] = 'distro';
+$labels['options'] = 'Dibarzhioù';
$labels['select'] = 'Diuzañ';
$labels['all'] = 'An holl';
$labels['none'] = 'Ebet';
+$labels['currpage'] = 'Pajenn';
$labels['unread'] = 'Na lennet';
$labels['nonesort'] = 'Ebet';
$labels['compact'] = 'Stummaat';
@@ -151,10 +164,13 @@ $labels['surname'] = 'Anv';
$labels['email'] = 'Postel elektronek';
$labels['addcontact'] = 'Ouzhpennañ an darempred diuzet en hor c\'harned chomlec\'hioù';
$labels['editcontact'] = 'Cheñch an darempred';
+$labels['contacts'] = 'darempred';
$labels['edit'] = 'Cheñch';
$labels['cancel'] = 'Nullañ';
$labels['save'] = 'Gwarediñ';
$labels['delete'] = 'Dilemel';
+$labels['rename'] = 'chench anv';
+$labels['replacephoto'] = 'chench';
$labels['newcontact'] = 'Krouiñ un darempred nevez';
$labels['deletecontact'] = 'Dilemel an darempredoù diuzet';
$labels['composeto'] = 'Skrivañ ur c\'hemennad ouzh';
@@ -167,7 +183,14 @@ $labels['nextpage'] = 'Diskouez pajenn da heul';
$labels['lastpage'] = 'Gwelout ar bajenn diwezhañ';
$labels['groups'] = 'Strolladoù';
$labels['personaladrbook'] = 'Chomlec\'h personel';
+$labels['searchsave'] = 'enrollane an enklask';
+$labels['searchdelete'] = 'dilemel an enklask';
+$labels['import'] = 'enporzhiañ';
+$labels['importcontacts'] = 'Enporzhiañ darempredoù';
+$labels['importfromfile'] = 'enporzhiañ eus an teuliad :';
+$labels['done'] = 'Graet eo';
$labels['settingsfor'] = 'Arventennoù evit';
+$labels['about'] = 'Diwar-benn';
$labels['preferences'] = 'Dibarzhioù';
$labels['userpreferences'] = 'Dibarzhioù implijer';
$labels['editpreferences'] = 'Cheñch dibarzhioù implijer';
diff --git a/program/localization/br/messages.inc b/program/localization/br/messages.inc
index 7f724a24d..bd266d0d4 100644
--- a/program/localization/br/messages.inc
+++ b/program/localization/br/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -25,7 +25,6 @@ $messages['servererrormsg'] = 'Fazi dafariad : $msg';
$messages['dberror'] = 'Fazi stlennvon !';
$messages['nomessagesfound'] = 'Kemennadoù ebet er voest lizhiri';
$messages['loggedout'] = 'Digevreet hoc\'h eus mat. Kenavo !';
-$messages['mailboxempty'] = 'Boest lizhiri dileun';
$messages['loading'] = 'O kargañ...';
$messages['loadingdata'] = 'O kargañ roadennoù...';
$messages['checkingmail'] = 'O Gwiriañ kemennadoù nevez...';
diff --git a/program/localization/bs_BA/labels.inc b/program/localization/bs_BA/labels.inc
index adc65e069..c79cf4ecc 100644
--- a/program/localization/bs_BA/labels.inc
+++ b/program/localization/bs_BA/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to od ukupno $count';
$labels['copy'] = 'Kopiraj';
$labels['move'] = 'Premjesti';
$labels['moveto'] = 'Premjesti u...';
+$labels['copyto'] = 'Kopiraj u...';
$labels['download'] = 'Preuzmi';
$labels['open'] = 'Otvori';
$labels['showattachment'] = 'Prikaži';
diff --git a/program/localization/bs_BA/messages.inc b/program/localization/bs_BA/messages.inc
index 52f865f1e..42f2517b2 100644
--- a/program/localization/bs_BA/messages.inc
+++ b/program/localization/bs_BA/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = 'Neispravan zahtjev! Podaci nisu saÄuvani.';
$messages['invalidhost'] = 'Neispravno ime servera.';
$messages['nomessagesfound'] = 'Nema poruka u ovom sanduÄetu.';
$messages['loggedout'] = 'Uspješno ste se odjavili. Doviđenja!';
-$messages['mailboxempty'] = 'SanduÄe je prazno.';
+$messages['mailboxempty'] = 'SanduÄe je prazno';
+$messages['nomessages'] = 'Nema poruka';
$messages['refreshing'] = 'Osvježavam...';
$messages['loading'] = 'UÄitavanje...';
$messages['uploading'] = 'Dodajem datoteku...';
diff --git a/program/localization/ca_ES/labels.inc b/program/localization/ca_ES/labels.inc
index 427abf142..15d879bc1 100644
--- a/program/localization/ca_ES/labels.inc
+++ b/program/localization/ca_ES/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from - $to de $count';
$labels['copy'] = 'Copia';
$labels['move'] = 'Mou';
$labels['moveto'] = 'Mou a...';
+$labels['copyto'] = 'Copia a...';
$labels['download'] = 'Descarrega';
$labels['open'] = 'Obre';
$labels['showattachment'] = 'Mostra';
@@ -59,13 +60,13 @@ $labels['showanyway'] = 'Mostra-ho de totes maneres';
$labels['filename'] = 'Nom del fitxer';
$labels['filesize'] = 'Mida del fitxer';
$labels['addtoaddressbook'] = 'Afegeix a contactes';
-$labels['sun'] = 'Diu';
-$labels['mon'] = 'Dll';
-$labels['tue'] = 'Dmt';
-$labels['wed'] = 'Dmc';
-$labels['thu'] = 'Dij';
-$labels['fri'] = 'Div';
-$labels['sat'] = 'Dis';
+$labels['sun'] = 'dg';
+$labels['mon'] = 'dl';
+$labels['tue'] = 'dm';
+$labels['wed'] = 'dc';
+$labels['thu'] = 'dj';
+$labels['fri'] = 'dv';
+$labels['sat'] = 'ds';
$labels['sunday'] = 'Diumenge';
$labels['monday'] = 'Dilluns';
$labels['tuesday'] = 'Dimarts';
diff --git a/program/localization/ca_ES/messages.inc b/program/localization/ca_ES/messages.inc
index 66c4a6d42..c71677b44 100644
--- a/program/localization/ca_ES/messages.inc
+++ b/program/localization/ca_ES/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = 'Petició no vàlida! No s\'han desat les dades.';
$messages['invalidhost'] = 'Nom de servidor no vàlid.';
$messages['nomessagesfound'] = 'No s\'han trobat missatges en aquesta bústia.';
$messages['loggedout'] = 'Heu tancat la sessió correctament. A reveure!';
-$messages['mailboxempty'] = 'La bústia és buida.';
+$messages['mailboxempty'] = 'La bústia és buida';
+$messages['nomessages'] = 'No hi ha missatges';
$messages['refreshing'] = 'S\'està actualitzant...';
$messages['loading'] = 'S\'està carregant…';
$messages['uploading'] = 'S\'està pujant el fitxer...';
diff --git a/program/localization/cs_CZ/labels.inc b/program/localization/cs_CZ/labels.inc
index a0f0828fd..2c94306e5 100644
--- a/program/localization/cs_CZ/labels.inc
+++ b/program/localization/cs_CZ/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from - $to z $count';
$labels['copy'] = 'Kopírovat';
$labels['move'] = 'Přesunout';
$labels['moveto'] = 'přesunout do...';
+$labels['copyto'] = 'Kopírovat do...';
$labels['download'] = 'stáhnout';
$labels['open'] = 'Otevřít';
$labels['showattachment'] = 'Zobrazit';
diff --git a/program/localization/cs_CZ/messages.inc b/program/localization/cs_CZ/messages.inc
index a4c63b0e0..37f5280e8 100644
--- a/program/localization/cs_CZ/messages.inc
+++ b/program/localization/cs_CZ/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -33,6 +33,7 @@ $messages['invalidhost'] = 'Špatné jméno serveru.';
$messages['nomessagesfound'] = 'Ve schránce nebyla nalezena žádná zpráva';
$messages['loggedout'] = 'Byli jste úspěšně odhlášeni. Na shledanou!';
$messages['mailboxempty'] = 'Schránka je prázdná';
+$messages['nomessages'] = 'Žádné zprávy';
$messages['refreshing'] = 'Obnovuji...';
$messages['loading'] = 'NaÄítám...';
$messages['uploading'] = 'Nahrávám soubor...';
diff --git a/program/localization/cy_GB/labels.inc b/program/localization/cy_GB/labels.inc
index 37ee5bbc1..770df3bff 100644
--- a/program/localization/cy_GB/labels.inc
+++ b/program/localization/cy_GB/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from - $to o $count';
$labels['copy'] = 'Copio';
$labels['move'] = 'Symud';
$labels['moveto'] = 'Symud i...';
+$labels['copyto'] = 'Copio i...';
$labels['download'] = 'Llwytho lawr';
$labels['open'] = 'Agor';
$labels['showattachment'] = 'Dangos';
@@ -197,6 +198,16 @@ $labels['spellcheck'] = 'Sillafu';
$labels['checkspelling'] = 'Gwirio sillafu';
$labels['resumeediting'] = 'Ail-ddechrau golygu';
$labels['revertto'] = 'Dychwelyd i';
+$labels['restore'] = 'Adfer';
+$labels['restoremessage'] = 'Adfer neges?';
+$labels['responses'] = 'Ymatebion';
+$labels['insertresponse'] = 'Mewnosod ymateb';
+$labels['manageresponses'] = 'Rheoli ymatebion';
+$labels['savenewresponse'] = 'Cadw ymateb newydd';
+$labels['editresponses'] = 'Golygu ymatebion';
+$labels['editresponse'] = 'Golygu ymateb';
+$labels['responsename'] = 'Enw';
+$labels['responsetext'] = 'Testun Ymateb';
$labels['attach'] = 'Atodi';
$labels['attachments'] = 'Atodiadau';
$labels['upload'] = 'Llwytho fyny';
@@ -428,6 +439,9 @@ $labels['standardwindows'] = 'Trin ffenestri naid fel ffenestri arferol';
$labels['forwardmode'] = 'Danfon neges ymlaen';
$labels['inline'] = 'mewnlin';
$labels['asattachment'] = 'fel atodiad';
+$labels['replyallmode'] = 'Gweithred diofyn botwm [Ymateb i bawb]';
+$labels['replyalldefault'] = 'ymateb i bawb';
+$labels['replyalllist'] = 'ymateb i\'r rhestr trafod yn unig (os canfuwyd)';
$labels['folder'] = 'Ffolder';
$labels['folders'] = 'Ffolderi';
$labels['foldername'] = 'Enw ffolder';
diff --git a/program/localization/cy_GB/messages.inc b/program/localization/cy_GB/messages.inc
index be6c4dac6..8e0c1c276 100644
--- a/program/localization/cy_GB/messages.inc
+++ b/program/localization/cy_GB/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -16,10 +16,10 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/messages/
*/
$messages['errortitle'] = 'Fe gafwyd gwall!';
-$messages['loginfailed'] = 'Methwyd a\'ch mewngofnodi';
-$messages['cookiesdisabled'] = 'Nid yw eich porwr yn derbyn cwcis';
-$messages['sessionerror'] = 'Mae\'r sesiwn yn anghywir neu wedi dod i ben';
-$messages['storageerror'] = 'Methwyd cysylltu a\'r gweinydd IMAP';
+$messages['loginfailed'] = 'Methwyd mewngofnodi.';
+$messages['cookiesdisabled'] = 'Nid yw eich porwr yn derbyn cwcis.';
+$messages['sessionerror'] = 'Mae\'r sesiwn yn anghywir neu wedi dod i ben.';
+$messages['storageerror'] = 'Methwyd cysylltu a\'r gweinydd storfa.';
$messages['servererror'] = 'Gwall Gweinydd!';
$messages['servererrormsg'] = 'Gwall Gweinydd: $msg';
$messages['dberror'] = 'Gwall Cronfa Ddata!';
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = 'Cais annilys! Ni chadwyd unrhyw wybodaeth.';
$messages['invalidhost'] = 'Enw gweinydd annilys.';
$messages['nomessagesfound'] = 'Dim negeseuon wedi eu canfod yn y blwch hwn';
$messages['loggedout'] = 'Rydych wedi gorffen y sesiwn yn llwyddianus. Hwyl fawr!';
-$messages['mailboxempty'] = 'Blwch yn wag';
+$messages['mailboxempty'] = 'Mae\'r blwch yn wag';
+$messages['nomessages'] = 'Dim negeseuon';
$messages['refreshing'] = 'Yn adnewyddu...';
$messages['loading'] = 'Yn llwytho...';
$messages['uploading'] = 'Yn llwytho ffeil i fyny...';
@@ -44,6 +45,8 @@ $messages['messagesent'] = 'Danfonwyd y neges yn llwyddiannus';
$messages['savingmessage'] = 'Yn cadw neges...';
$messages['messagesaved'] = 'Cadwyd neges i\'r Drafftiau';
$messages['successfullysaved'] = 'Cadwyd yn llwyddiannus';
+$messages['savingresponse'] = 'Yn cadw testun ymateb...';
+$messages['deleteresponseconfirm'] = 'Ydych chi wir am ddileu y testun ymateb hwn?';
$messages['addedsuccessfully'] = 'Cyswllt wedi ei ychwanegu i\'r llyfr cyfeiriadau yn llwyddiannus';
$messages['contactexists'] = 'Mae cyswllt gyda\'r cyfeiriad e-bost yma yn bodoli\'n barod';
$messages['contactnameexists'] = 'Mae cyswllt gyda\'r un enw yn bodoli yn barod.';
@@ -80,6 +83,7 @@ $messages['norecipientwarning'] = 'Rhowch o leiaf un derbynnydd';
$messages['nosubjectwarning'] = 'Mae\'r pennawd "Pwnc" yn wag. Hoffech chi roi un fewn nawr?';
$messages['nobodywarning'] = 'Danfon y neges hwn heb destun?';
$messages['notsentwarning'] = 'Ni ddanfonwyd y neges. Hoffech chi gael gwared a\'r neges?';
+$messages['restoresavedcomposedata'] = 'Cafwyd hyd i neges wedi ei ysgrifennu o\'r blaen ond heb ei ddanfon.\n\nPwnc: $subject\nCadwyd: $date\n\nYdych chi am adfer y neges?';
$messages['noldapserver'] = 'Dewiswch weinydd ldap i chwilio';
$messages['nosearchname'] = 'Rhowch enw cyswllt neu gyfeiriad e-bost';
$messages['notuploadedwarning'] = 'Nid yw pob atodiad wedi eu llwytho i fyny eto. Triwch eto neu canslo.';
diff --git a/program/localization/da_DK/labels.inc b/program/localization/da_DK/labels.inc
index a452a348c..66103ad63 100644
--- a/program/localization/da_DK/labels.inc
+++ b/program/localization/da_DK/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to af $count';
$labels['copy'] = 'Kopiér';
$labels['move'] = 'Flyt';
$labels['moveto'] = 'Flyt til...';
+$labels['copyto'] = 'Kopier til...';
$labels['download'] = 'Download';
$labels['open'] = 'Ã…ben';
$labels['showattachment'] = 'Vis';
diff --git a/program/localization/da_DK/messages.inc b/program/localization/da_DK/messages.inc
index 1328ed288..4a567aed8 100644
--- a/program/localization/da_DK/messages.inc
+++ b/program/localization/da_DK/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -33,6 +33,7 @@ $messages['invalidhost'] = 'Ugyldigt servernavn.';
$messages['nomessagesfound'] = 'Der blev ikke fundet nogen beskeder i denne postkasse.';
$messages['loggedout'] = 'Du er nu logget af webmail. Farvel så længe!';
$messages['mailboxempty'] = 'Postkassen er tom.';
+$messages['nomessages'] = 'Ingen beskeder';
$messages['refreshing'] = 'Opdaterer...';
$messages['loading'] = 'Indlæser...';
$messages['uploading'] = 'Uploader fil...';
diff --git a/program/localization/de_CH/labels.inc b/program/localization/de_CH/labels.inc
index bfcbcf1e5..f53640ab5 100644
--- a/program/localization/de_CH/labels.inc
+++ b/program/localization/de_CH/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to von $count';
$labels['copy'] = 'Kopieren';
$labels['move'] = 'Verschieben';
$labels['moveto'] = 'Verschieben nach...';
+$labels['copyto'] = 'Kopieren nach...';
$labels['download'] = 'Download';
$labels['open'] = 'Öffnen';
$labels['showattachment'] = 'Anzeigen';
diff --git a/program/localization/de_CH/messages.inc b/program/localization/de_CH/messages.inc
index 1b021a360..63a1411d0 100644
--- a/program/localization/de_CH/messages.inc
+++ b/program/localization/de_CH/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -33,6 +33,7 @@ $messages['invalidhost'] = 'Ungültiger Servername';
$messages['nomessagesfound'] = 'Keine Nachrichten in diesem Ordner';
$messages['loggedout'] = 'Sie haben Ihre Session erfolgreich beendet. Auf Wiedersehen!';
$messages['mailboxempty'] = 'Ordner ist leer';
+$messages['nomessages'] = 'Keine Nachrichten';
$messages['refreshing'] = 'Aktualisiere...';
$messages['loading'] = 'Daten werden geladen...';
$messages['uploading'] = 'Datei wird hochgeladen...';
diff --git a/program/localization/de_DE/labels.inc b/program/localization/de_DE/labels.inc
index e3f4652cc..e0a347e42 100644
--- a/program/localization/de_DE/labels.inc
+++ b/program/localization/de_DE/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to von $count';
$labels['copy'] = 'Kopieren';
$labels['move'] = 'Verschieben';
$labels['moveto'] = 'Verschieben nach...';
+$labels['copyto'] = 'Kopieren nach...';
$labels['download'] = 'Herunterladen';
$labels['open'] = 'Offen';
$labels['showattachment'] = 'Anzeigen';
@@ -197,6 +198,16 @@ $labels['spellcheck'] = 'Rechtschreibung';
$labels['checkspelling'] = 'Rechtschreibung prüfen';
$labels['resumeediting'] = 'Bearbeitung fortsetzen';
$labels['revertto'] = 'Zurück zu';
+$labels['restore'] = 'Wiederherstellen';
+$labels['restoremessage'] = 'Nachricht wiederherstellen?';
+$labels['responses'] = 'Schnellantworten';
+$labels['insertresponse'] = 'Schnellantwort hinzufügen';
+$labels['manageresponses'] = 'Schnellantworten verwalten';
+$labels['savenewresponse'] = 'Neue Schnellantwort speichern';
+$labels['editresponses'] = 'Schnellantworten bearbeiten';
+$labels['editresponse'] = 'Schnellantwort bearbeiten';
+$labels['responsename'] = 'Name';
+$labels['responsetext'] = 'Text der Antwort';
$labels['attach'] = 'Anhängen';
$labels['attachments'] = 'Anhänge';
$labels['upload'] = 'Hochladen';
@@ -318,6 +329,8 @@ $labels['importcontacts'] = 'Kontakte importieren';
$labels['importfromfile'] = 'Import aus Datei:';
$labels['importtarget'] = 'Kontakte hinzufügen zu';
$labels['importreplace'] = 'Bestehendes Adressbuch komplett ersetzen';
+$labels['importgroups'] = 'Gruppenzuordnungen importieren';
+$labels['importgroupsall'] = 'Alle (Gruppen erstellen wenn nötig)';
$labels['importgroupsexisting'] = 'Nur für existierende Gruppen';
$labels['importdesc'] = 'Sie können Kontakte von einem vorhandenen Adressbuch hochladen.<br/>Zur Zeit wird der Import von Adressen im <a href="http://de.wikipedia.org/wiki/VCard">vCard</a> oder <a href="http://de.wikipedia.org/wiki/CSV_(Dateiformat)">CSV</a>Format unterstützt.';
$labels['done'] = 'Fertig';
@@ -426,6 +439,9 @@ $labels['standardwindows'] = 'Popups als Standard Windows behandeln';
$labels['forwardmode'] = 'Nachrichtenweiterleitung';
$labels['inline'] = 'eingebettet';
$labels['asattachment'] = 'als Anhang';
+$labels['replyallmode'] = 'Standardaktion des "Allen antworten" Button';
+$labels['replyalldefault'] = 'Allen antworten';
+$labels['replyalllist'] = 'Nur der Mailingliste antworten (wenn gefunden)';
$labels['folder'] = 'Ordner';
$labels['folders'] = 'Ordner';
$labels['foldername'] = 'Ordnername';
diff --git a/program/localization/de_DE/messages.inc b/program/localization/de_DE/messages.inc
index fbc21521a..d9e6d9687 100644
--- a/program/localization/de_DE/messages.inc
+++ b/program/localization/de_DE/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = 'Ungültige Anfrage! Es wurden keine Daten gespeic
$messages['invalidhost'] = 'Ungültiger Server Name';
$messages['nomessagesfound'] = 'Keine Nachrichten in diesem Ordner.';
$messages['loggedout'] = 'Sie haben Ihre Sitzung erfolgreich beendet. Auf Wiedersehen!';
-$messages['mailboxempty'] = 'Mailbox ist leer.';
+$messages['mailboxempty'] = 'Mailbox ist leer';
+$messages['nomessages'] = 'Keine Nachrichten';
$messages['refreshing'] = 'Aktualisieren…';
$messages['loading'] = 'Wird geladen...';
$messages['uploading'] = 'Datei wird hochgeladen...';
@@ -44,6 +45,8 @@ $messages['messagesent'] = 'Nachricht erfolgreich gesendet.';
$messages['savingmessage'] = 'Nachricht wird gespeichert...';
$messages['messagesaved'] = 'Nachricht als Entwurf gespeichert.';
$messages['successfullysaved'] = 'Erfolgreich gespeichert.';
+$messages['savingresponse'] = 'Antwortvorlage wird gespeichert...';
+$messages['deleteresponseconfirm'] = 'Möchten Sie diese Vorlage wirklich löschen?';
$messages['addedsuccessfully'] = 'Kontakt zum Adressbuch hinzugefügt.';
$messages['contactexists'] = 'Es existiert bereits ein Kontakt mit dieser E-Mail-Adresse.';
$messages['contactnameexists'] = 'Ein Kontakt mit dem gleichen Namen existiert bereits.';
@@ -54,6 +57,8 @@ $messages['contactnotfound'] = 'Der angeforderte Kontakt wurde nicht gefunden.';
$messages['contactsearchonly'] = 'Geben Sie einen Suchbegriff ein, um Kontakte zu finden.';
$messages['sendingfailed'] = 'Versenden der Nachricht fehlgeschlagen.';
$messages['senttooquickly'] = 'Bitte warten Sie $sec Sekunde(n) vor dem Senden dieser Nachricht.';
+$messages['errorsavingsent'] = 'Ein Fehler ist beim Speichern der gesendeten Nachricht aufgetreten.';
+$messages['errorsaving'] = 'Beim Speichern ist ein Fehler aufgetreten.';
$messages['errormoving'] = 'Nachricht(en) konnte(n) nicht verschoben werden.';
$messages['errorcopying'] = 'Nachticht(en) konnte(n) nicht kopiert werden.';
$messages['errordeleting'] = 'Nachricht(en) konnte(n) nicht gelöscht werden.';
@@ -78,6 +83,7 @@ $messages['norecipientwarning'] = 'Bitte geben Sie mindestens einen Empfänger a
$messages['nosubjectwarning'] = 'Die Betreffzeile ist leer. Möchten Sie jetzt einen Betreff eingeben?';
$messages['nobodywarning'] = 'Diese Nachricht ohne Inhalt senden?';
$messages['notsentwarning'] = 'Ihre Nachricht wurde nicht gesendet. Wollen Sie die Nachricht verwerfen?';
+$messages['restoresavedcomposedata'] = 'Es wurde ein nicht versandter Entwurf einer Nachricht gefunden.\n\nBetreff: $subject\nGespeichert am: $date\n\nMöchten Sie diese Nachricht wiederherstellen?';
$messages['noldapserver'] = 'Bitte wählen Sie einen LDAP-Server aus.';
$messages['nosearchname'] = 'Bitte geben Sie einen Namen oder eine E-Mail-Adresse ein.';
$messages['notuploadedwarning'] = 'Es wurden noch nicht alle Dateien hochgeladen. Bitte warten oder Upload abbrechen.';
@@ -140,6 +146,7 @@ $messages['smtperror'] = 'SMTP Fehler: $msg';
$messages['emailformaterror'] = 'Ungültige E-Mail-Adresse: $email';
$messages['toomanyrecipients'] = 'Zuviele Empfänger. Reduzieren Sie die Anzahl Empfängeradressen auf $max.';
$messages['maxgroupmembersreached'] = 'Die Anzahl Adressen in dieser Gruppe überschreitet das Maximum von $max.';
+$messages['internalerror'] = 'Ein interner Fehler ist aufgetreten. Bitte versuchen es erneut.';
$messages['contactdelerror'] = 'Fehler beim Löschen.';
$messages['contactdeleted'] = 'Kontakt(e) erfolgreich gelöscht.';
$messages['contactrestoreerror'] = 'Konnte die gelöschten Kontakte nicht wiederherstellen.';
diff --git a/program/localization/el_GR/labels.inc b/program/localization/el_GR/labels.inc
index 2e3ab405c..b22b3f3d5 100644
--- a/program/localization/el_GR/labels.inc
+++ b/program/localization/el_GR/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to από $count';
$labels['copy'] = 'ΑντιγÏαφή';
$labels['move'] = 'Μετακίνηση';
$labels['moveto'] = 'Μετακίνηση σε...';
+$labels['copyto'] = 'ΑντιγÏαφή σε...';
$labels['download'] = 'Λήψη';
$labels['open'] = 'Ανοιγμα';
$labels['showattachment'] = 'Εμφάνιση';
@@ -197,6 +198,16 @@ $labels['spellcheck'] = 'Συλλαβισμός';
$labels['checkspelling'] = 'Έλεγχος οÏθογÏαφίας';
$labels['resumeediting'] = 'Συνέχεια επεξεÏγασίας';
$labels['revertto'] = 'ΕπαναφοÏά στο';
+$labels['restore'] = 'ΕπαναφοÏά';
+$labels['restoremessage'] = 'ΕπαναφοÏά μηνÏματος;';
+$labels['responses'] = 'Απαντήσεις';
+$labels['insertresponse'] = 'Εισάγετε μια απάντηση';
+$labels['manageresponses'] = 'ΔιαχείÏιση απαντήσεων';
+$labels['savenewresponse'] = 'Αποθήκευση νέας απάντησης';
+$labels['editresponses'] = 'Μεταβολή απαντήσεων';
+$labels['editresponse'] = 'Μεταβολή απάντησης';
+$labels['responsename'] = 'Όνομα';
+$labels['responsetext'] = 'Κείμενο απάντησης';
$labels['attach'] = 'ΕπισÏναψη';
$labels['attachments'] = 'Συνημμένα';
$labels['upload'] = 'ΦόÏτωση';
@@ -316,7 +327,11 @@ $labels['searchdelete'] = 'ΔιαγÏαφή αποθηκευμένης αναζÎ
$labels['import'] = 'Εισαγωγή';
$labels['importcontacts'] = 'Εισαγωγή επαφών';
$labels['importfromfile'] = 'Εισαγωγή από το αÏχείο:';
+$labels['importtarget'] = 'ΠÏοσθήκη επαφών σε';
$labels['importreplace'] = 'Αντικατάσταση όλου του βιβλίου διευθÏνσεων';
+$labels['importgroups'] = 'Εισαγωγή αναθέσεων ομάδων';
+$labels['importgroupsall'] = 'Όλα (δημιουÏγία ομάδων αν είναι απαÏαίτητο)';
+$labels['importgroupsexisting'] = 'Μόνο για υπάÏχουσες ομάδες';
$labels['importdesc'] = 'ΜποÏείτε να ανεβάσετε επαφές από ένα υπάÏχον βιβλίο διευθÏνσεων.<br/>ΥποστηÏίζεται η εισαγωγή διευθÏνσεων από αÏχεία Ï„Ïπου <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> ή CSV (διαχωÏισμένα με κόμμα).';
$labels['done'] = 'ΟλοκληÏώθηκε';
$labels['settingsfor'] = 'Ρυθμίσεις για';
@@ -424,6 +439,9 @@ $labels['standardwindows'] = 'ΧειÏιστείτε τα αναδυόμενα Ï
$labels['forwardmode'] = 'ΠÏοώθηση μηνυμάτων';
$labels['inline'] = 'με εσνωμάτωση';
$labels['asattachment'] = 'σαν επισÏναψη';
+$labels['replyallmode'] = 'ΠÏοεπιλεγμένη ενέÏγεια του ÎºÎ¿Ï…Î¼Ï€Î¹Î¿Ï [Απάντηση σε όλους]';
+$labels['replyalldefault'] = 'απάντηση σε όλους';
+$labels['replyalllist'] = 'Απάντηση μόνο σε λίστα e-mail (αν υπάÏχει)';
$labels['folder'] = 'Φάκελος';
$labels['folders'] = 'Φάκελοι';
$labels['foldername'] = 'Όνομα φακέλου';
diff --git a/program/localization/el_GR/messages.inc b/program/localization/el_GR/messages.inc
index 9947c715e..2c38f5fff 100644
--- a/program/localization/el_GR/messages.inc
+++ b/program/localization/el_GR/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -16,23 +16,24 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/messages/
*/
$messages['errortitle'] = 'Έχει Ï€ÏοκÏψει κάποιο σφάλμα!';
-$messages['loginfailed'] = 'Είσοδος απέτυχε.';
-$messages['cookiesdisabled'] = 'Ο πεÏιηγητής σας (browser) δεν αποδέχεται cookies';
+$messages['loginfailed'] = 'Η είσοδος απέτυχε.';
+$messages['cookiesdisabled'] = 'Ο πεÏιηγητής σας (browser) δεν αποδέχεται cookies.';
$messages['sessionerror'] = 'Η συνεδÏία σας είναι άκυÏη ή έχει λήξει';
-$messages['storageerror'] = 'Η σÏνδεση με το διακομιστή IMAP απέτυχε';
+$messages['storageerror'] = 'Η σÏνδεση με το διακομιστή αποθήκευσης απέτυχε.';
$messages['servererror'] = 'Σφάλμα του εξυπηÏετητή!';
$messages['servererrormsg'] = 'Σφάλμα εξυπηÏετητή: $msg';
$messages['dberror'] = 'Σφάλμα βάσης δεδομένων!';
$messages['requesttimedout'] = 'Το αίτημα εξέπνευσε χÏονικά';
$messages['errorreadonly'] = 'Η διαδικασία δεν μποÏεί να ολοκληÏωθεί. Ο φάκελος είναι μόνο για ανάγνωση.';
-$messages['errornoperm'] = 'Η διαδικασία δεν μποÏεί να ολοκληÏωθεί. ΆÏνηση άδειας';
-$messages['erroroverquota'] = 'Δεν είναι δυνατή η εκτέλεση της λειτουÏγίας. Δεν υπάÏχει ελεÏθεÏος χώÏος στο δίσκο. ';
-$messages['erroroverquotadelete'] = 'Δεν υπάÏχει ελεÏθεÏος χώÏος στο δίσκο. ΧÏησιμοποιήστε το συνδυασμό πλήκτÏων SHIFT DEL για να διαγÏάψετε ένα μήνυμα.';
+$messages['errornoperm'] = 'Η διαδικασία δεν μποÏεί να ολοκληÏωθεί. ΆÏνηση Ï€Ïόσβασης.';
+$messages['erroroverquota'] = 'Δεν είναι δυνατή η εκτέλεση της λειτουÏγίας. Δεν υπάÏχει ελεÏθεÏος χώÏος στο δίσκο.';
+$messages['erroroverquotadelete'] = 'Δεν υπάÏχει ελεÏθεÏος χώÏος στο δίσκο. ΧÏησιμοποιήστε το συνδυασμό πλήκτÏων SHIFT+DEL για να διαγÏάψετε μηνÏματα.';
$messages['invalidrequest'] = 'Λανθασμένο αίτημα! Δεν αποθηκεÏτηκαν δεδομένα.';
$messages['invalidhost'] = 'ΆκυÏο όνομα εξυπηÏετητή.';
-$messages['nomessagesfound'] = 'Δε βÏέθηκαν μηνÏματα σε αυτή τη θυÏίδα';
+$messages['nomessagesfound'] = 'Δεν βÏέθηκαν μηνÏματα σε αυτή τη θυÏίδα.';
$messages['loggedout'] = 'Έχετε τεÏματίσει επιτυχώς τη συνεδÏία. Αντίο!';
$messages['mailboxempty'] = 'Η θυÏίδα είναι άδεια';
+$messages['nomessages'] = 'Δεν υπάÏχουν μηνÏματα';
$messages['refreshing'] = 'Ανανέωση....';
$messages['loading'] = 'ΦόÏτωση...';
$messages['uploading'] = 'Το αÏχείο φοÏτώνεται...';
@@ -40,136 +41,137 @@ $messages['uploadingmany'] = 'ΦόÏτωση αÏχείων...';
$messages['loadingdata'] = 'ΦόÏτωση δεδομένων...';
$messages['checkingmail'] = 'Έλεγχος για νέα μηνÏματα...';
$messages['sendingmessage'] = 'Αποστολή μηνÏματος...';
-$messages['messagesent'] = 'Μήνυμα εστάλη επιτυχώς';
+$messages['messagesent'] = 'Μήνυμα εστάλη επιτυχώς.';
$messages['savingmessage'] = 'Αποθήκευση μηνÏματος...';
-$messages['messagesaved'] = 'Μήνυμα αποθηκεÏτηκε στα ΠÏόχειÏα';
-$messages['successfullysaved'] = 'ΑποθηκεÏτηκε επιτυχώς';
-$messages['savingresponse'] = 'ΑποθηκεÏετε το κείμενο απάντησης...';
-$messages['deleteresponseconfirm'] = 'ΣίγουÏα θέλετε να διαγÏάψετε αυτό το κείμενο απάντησης;';
-$messages['addedsuccessfully'] = 'Η επαφή Ï€Ïοστέθηκε επιτυχώς στις Επαφές';
-$messages['contactexists'] = 'ΥπάÏχει ήδη επαφή με αυτή τη διεÏθυνση e-mail';
-$messages['contactnameexists'] = 'Μια επαφή με το ίδιο όνομα υπάÏχει ήδη.';
+$messages['messagesaved'] = 'Το μήνυμα αποθηκεÏτηκε στα ΠÏόχειÏα.';
+$messages['successfullysaved'] = 'ΑποθηκεÏτηκε επιτυχώς.';
+$messages['savingresponse'] = 'Αποθήκευση του κειμένου απάντησης...';
+$messages['deleteresponseconfirm'] = 'Είστε βέβαιοι ότι θέλετε να διαγÏάψετε αυτό το κείμενο απάντησης;';
+$messages['addedsuccessfully'] = 'Η επαφή Ï€Ïοστέθηκε επιτυχώς στο βιβλίο επαφών.';
+$messages['contactexists'] = 'ΥπάÏχει ήδη επαφή με αυτή τη διεÏθυνση e-mail.';
+$messages['contactnameexists'] = 'ΥπάÏχει ήδη μια επαφή με το ίδιο όνομα.';
$messages['blockedimages'] = 'Για να Ï€Ïοστατευτεί το απόÏÏητο σας, οι απομακÏυσμένες εικόνες έχουν απενεÏγοποιηθεί σε αυτό το μήνυμα.';
-$messages['encryptedmessage'] = 'Αυτό το μήνυμα είναι κÏυπτογÏαφημένο και δε μποÏεί να Ï€Ïοβληθεί. Συγνώμη!';
-$messages['nocontactsfound'] = 'Δε βÏέθηκαν επαφές';
-$messages['contactnotfound'] = 'Η ζητοÏμενη επαφή δεν βÏέθηκε';
-$messages['contactsearchonly'] = 'Εισάγετε κάποιους ÏŒÏους Ï€Ïος αναζήτηση';
-$messages['sendingfailed'] = 'Αποστολή μηνÏματος απέτυχε';
-$messages['senttooquickly'] = 'ΠαÏακαλώ πεÏιμένετε $sec δευτεÏόλεπτα, Ï€Ïιν στείλετε το μήνυμα';
-$messages['errorsavingsent'] = 'ΠÏοέκυψε σφάλμα κατά την αποθήκευση σταλμένου μηνÏματος.';
+$messages['encryptedmessage'] = 'Αυτό το μήνυμα είναι κÏυπτογÏαφημένο και δε μποÏεί να Ï€Ïοβληθεί. Συγγνώμη!';
+$messages['nocontactsfound'] = 'Δε βÏέθηκαν επαφές.';
+$messages['contactnotfound'] = 'Η ζητοÏμενη επαφή δεν βÏέθηκε.';
+$messages['contactsearchonly'] = 'Εισάγετε κάποιους ÏŒÏους Ï€Ïος αναζήτηση επαφών';
+$messages['sendingfailed'] = 'Η αποστολή του μηνÏματος απέτυχε.';
+$messages['senttooquickly'] = 'ΠαÏακαλώ πεÏιμένετε $sec δευτεÏόλεπτα Ï€Ïιν στείλετε το μήνυμα.';
+$messages['errorsavingsent'] = 'ΠÏοέκυψε σφάλμα κατά την αποθήκευση αποσταλμένου μηνÏματος.';
$messages['errorsaving'] = 'ΠÏοέκυψε σφάλμα κατά την αποθήκευση.';
-$messages['errormoving'] = 'Το μήνυμα δε μποÏοÏσε να μετακινηθεί';
-$messages['errorcopying'] = 'Δεν είναι δυνατή η αντιγÏαφή του μηνÏματος/των';
-$messages['errordeleting'] = 'Το μήνυμα δε μποÏοÏσε να διαγÏαφεί';
-$messages['errormarking'] = 'Δεν έγινε επισήμανση στο μÏνημα';
+$messages['errormoving'] = 'Τα μηνÏματα δεν ήταν δυνατό να μετακινηθοÏν.';
+$messages['errorcopying'] = 'Δεν ήταν δυνατή η αντιγÏαφή του μηνÏματος/των.';
+$messages['errordeleting'] = 'Το μήνυμα δεν ήταν δυνατό να διαγÏαφεί.';
+$messages['errormarking'] = 'Δεν έγινε επισήμανση στο μήνυμα.';
$messages['deletecontactconfirm'] = 'Θέλετε να διαγÏάψετε τη συγκεκÏιμένη επαφή/ές;';
$messages['deletegroupconfirm'] = 'Είστε βέβαιοι πως θέλετε να διαγÏάψετε την επιλεγμένη ομάδα;';
$messages['deletemessagesconfirm'] = 'Θέλετε να διαγÏάψετε το συγκεκÏιμένο μήνυμα/τα;';
-$messages['deletefolderconfirm'] = 'Θέλετε να διαγÏάψετε το συγκεκÏιμένο φάκελο;';
-$messages['purgefolderconfirm'] = 'Θέλετε να διαγÏάψετε όλα τα μηνÏματα στο συγκεκÏιμένο φάκελο;';
+$messages['deletefolderconfirm'] = 'Θέλετε να διαγÏάψετε τον συγκεκÏιμένο φάκελο;';
+$messages['purgefolderconfirm'] = 'Θέλετε να διαγÏάψετε όλα τα μηνÏματα στον συγκεκÏιμένο φάκελο;';
$messages['contactdeleting'] = 'ΔιαγÏαφή επαφών...';
$messages['groupdeleting'] = 'ΔιαγÏαφή ομάδας...';
-$messages['folderdeleting'] = 'ΔιαγÏαφή φακέλου';
-$messages['foldermoving'] = 'ΜεταφοÏά φακέλου';
+$messages['folderdeleting'] = 'ΔιαγÏαφή φακέλου...';
+$messages['foldermoving'] = 'ΜεταφοÏά φακέλου...';
$messages['foldersubscribing'] = 'ΕγγÏαφή φακέλου...';
$messages['folderunsubscribing'] = 'ΑπεγγÏαφή φακέλου...';
-$messages['formincomplete'] = 'Η φόÏμα δεν έχει συμπληÏωθεί πλήÏως';
-$messages['noemailwarning'] = 'ΠαÏακαλώ εισάγετε έγκυÏη διεÏθυνση email';
-$messages['nonamewarning'] = 'ΠαÏακαλώ εισάγετε όνομα';
-$messages['nopagesizewarning'] = 'ΠαÏακαλώ εισάγετε μέγεθος σελίδας';
-$messages['nosenderwarning'] = 'ΠαÏακαλώ εισάγετε την email διεÏθυνση αποστολέα';
-$messages['norecipientwarning'] = 'ΠαÏακαλώ εισάγεται τουλάχιστον έναν παÏαλήπτη';
-$messages['nosubjectwarning'] = 'Το πεδίο "Θέμα" είναι άδειο. Θέλετε να εισάγεται ένα Ï„ÏŽÏα;';
+$messages['formincomplete'] = 'Η φόÏμα δεν έχει συμπληÏωθεί πλήÏως.';
+$messages['noemailwarning'] = 'ΠαÏακαλώ εισάγετε έγκυÏη διεÏθυνση email.';
+$messages['nonamewarning'] = 'ΠαÏακαλώ εισάγετε όνομα.';
+$messages['nopagesizewarning'] = 'ΠαÏακαλώ εισάγετε μέγεθος σελίδας.';
+$messages['nosenderwarning'] = 'ΠαÏακαλώ εισάγετε την e-mail διεÏθυνση αποστολέα.';
+$messages['norecipientwarning'] = 'ΠαÏακαλώ εισάγετε τουλάχιστο έναν παÏαλήπτη.';
+$messages['nosubjectwarning'] = 'Το πεδίο "Θέμα" είναι άδειο. Θέλετε να εισάγετε ένα Ï„ÏŽÏα;';
$messages['nobodywarning'] = 'Αποστολή μηνÏματος χωÏίς κείμενο;';
$messages['notsentwarning'] = 'Το μήνυμα δεν έχει σταλεί. Θέλετε να το αποÏÏίψετε;';
-$messages['noldapserver'] = 'ΠαÏακαλώ επιλέξτε έναν LDAP διακομιστή για αναζήτηση';
-$messages['nosearchname'] = 'ΠαÏακαλώ εισάγεται όνομα επαφής ή διεÏθυνση email';
-$messages['notuploadedwarning'] = 'Δεν έχουν φοÏτωθεί όλα τα συνημμένα. ΠαÏακαλώ πεÏιμένετε ή ακυÏώστε το ανέβασμα.';
-$messages['searchsuccessful'] = '$nr μηνÏματα βÏέθηκαν';
-$messages['contactsearchsuccessful'] = '$nr επαφές βÏέθηκαν.';
-$messages['searchnomatch'] = 'Η αναζήτηση δεν επέστÏεψε αποτελέσματα';
+$messages['restoresavedcomposedata'] = 'ΥπάÏχει ένα Ï€ÏοηγοÏμενο Ï€ÏόχειÏο μήνυμα το οποίο δεν έχει σταλεί.\n\nΘέμα: $subject\ΑποθηκεÏτηκε: $date\n\nΘέλετε να το ανακτήσετε;';
+$messages['noldapserver'] = 'ΠαÏακαλώ επιλέξτε έναν διακομιστή LDAP για αναζήτηση.';
+$messages['nosearchname'] = 'ΠαÏακαλώ εισάγετε όνομα επαφής ή διεÏθυνση e-mail.';
+$messages['notuploadedwarning'] = 'Δεν έχουν φοÏτωθεί ακόμα όλα τα συνημμένα. ΠαÏακαλώ πεÏιμένετε ή ακυÏώστε το ανέβασμα.';
+$messages['searchsuccessful'] = 'Î’Ïέθηκαν $nr μηνÏματα.';
+$messages['contactsearchsuccessful'] = 'Î’Ïέθηκαν $nr επαφές.';
+$messages['searchnomatch'] = 'Η αναζήτηση δεν επέστÏεψε αποτελέσματα.';
$messages['searching'] = 'Αναζήτηση...';
$messages['checking'] = 'Έλεγχος...';
-$messages['nospellerrors'] = 'Δε βÏέθηκαν οÏθογÏαφικά λάθη';
-$messages['folderdeleted'] = 'Ο φάκελος διαγÏάφηκε επιτυχώς';
+$messages['nospellerrors'] = 'Δεν βÏέθηκαν οÏθογÏαφικά λάθη.';
+$messages['folderdeleted'] = 'Ο φάκελος διαγÏάφηκε επιτυχώς.';
$messages['foldersubscribed'] = 'Ο φάκελος εχει εγγÏαφεί με επιτυχία.';
-$messages['folderunsubscribed'] = 'Ο φάκελος διαγÏάφηκε επιτυχώς';
+$messages['folderunsubscribed'] = 'Ο φάκελος απεγγÏάφηκε επιτυχώς.';
$messages['folderpurged'] = 'Ο φάκελος καθαÏίστηκε με επιτυχία.';
$messages['folderexpunged'] = 'Ο φάκελος συμπιέστηκε με επιτυχία.';
-$messages['deletedsuccessfully'] = 'ΔιαγÏαφή Επιτυχώς';
-$messages['converting'] = 'Μετακίνηση διαμοÏφώσεων κειμένου...';
-$messages['messageopenerror'] = 'Η φόÏτωση μηνυμάτων από τον διακομιστή απέτυχε';
-$messages['fileuploaderror'] = 'Ανέβασμα αÏχείου απέτυχε';
-$messages['filesizeerror'] = 'Το ανεβασμένο αÏχείο ξεπεÏνάει το μέγιστο μέγεθος των $size';
-$messages['copysuccess'] = 'Επιτυχής αντιγÏαφή $ επαφών αÏιθ..';
-$messages['movesuccess'] = 'Με επιτυχία μεταφέÏθηκαν $ αÏιθ. επαφές.';
+$messages['deletedsuccessfully'] = 'ΔιαγÏαφή επιτυχώς.';
+$messages['converting'] = 'ΚατάÏγηση διαμοÏφώσεων κειμένου...';
+$messages['messageopenerror'] = 'Η φόÏτωση μηνυμάτων από τον διακομιστή απέτυχε.';
+$messages['fileuploaderror'] = 'Το ανέβασμα του αÏχείου απέτυχε.';
+$messages['filesizeerror'] = 'Το ανεβασμένο αÏχείο ξεπεÏνάει το μέγιστο μέγεθος των $size.';
+$messages['copysuccess'] = 'Επιτυχής αντιγÏαφή $nr επαφών.';
+$messages['movesuccess'] = 'ΜεταφέÏθηκαν με επιτυχία $nr επαφές.';
$messages['copyerror'] = 'Αποτυχία αντιγÏαφής επαφών.';
-$messages['moveerror'] = 'Δεν μποÏοÏσε να κινηθεί καμία επαφή.';
-$messages['sourceisreadonly'] = 'Η διεÏθυνση έχει μόνο δικαίωμα ανάγνωσης';
-$messages['errorsavingcontact'] = 'Αποθήκευση επαφής απέτυχε';
-$messages['movingmessage'] = 'Μετακίνηση μηνÏματος...';
+$messages['moveerror'] = 'Η μετακίνηση επαφών ήταν αδÏνατη.';
+$messages['sourceisreadonly'] = 'Το πεδίο διεÏθυνσης είναι μόνο για ανάγνωση.';
+$messages['errorsavingcontact'] = 'Η αποθήκευση της διεÏθυνσης επαφής απέτυχε.';
+$messages['movingmessage'] = 'Μετακίνηση μηνÏματος/των...';
$messages['copyingmessage'] = 'ΑντιγÏαφή μηνυμάτων...';
$messages['copyingcontact'] = 'ΑντιγÏαφή επαφών...';
-$messages['movingcontact'] = 'Μετακίνηση επαφής(ων)...';
+$messages['movingcontact'] = 'Μετακίνηση επαφής(ών)...';
$messages['deletingmessage'] = 'ΔιαγÏαφή μηνυμάτων...';
$messages['markingmessage'] = 'Σήμανση μηνυμάτων...';
$messages['addingmember'] = 'ΠÏοσθήκη επαφών στην ομάδα...';
$messages['removingmember'] = 'ΑφαίÏεση επαφών από την ομάδα...';
-$messages['receiptsent'] = 'Επιτυχής αποστολή αναφοÏάς ανάγνωσης';
-$messages['errorsendingreceipt'] = 'Αποστολή αναφοÏάς απέτυχε';
-$messages['deleteidentityconfirm'] = 'Είστε βέβαιοι πως θέλετε να διαγÏάψετε την ταυτότητα;';
+$messages['receiptsent'] = 'Επιτυχής αποστολή αναφοÏάς ανάγνωσης.';
+$messages['errorsendingreceipt'] = 'Αποστολή αναφοÏάς απέτυχε.';
+$messages['deleteidentityconfirm'] = 'Είστε βέβαιοι πως θέλετε να διαγÏάψετε αυτή την ταυτότητα;';
$messages['nodeletelastidentity'] = 'Δε μποÏείτε να διαγÏάψετε αυτήν την ταυτότητα, είναι η τελευταία.';
-$messages['forbiddencharacter'] = 'Η ονομασία φακέλου πεÏιέχει μη επιτÏεπτό χαÏακτήÏα';
-$messages['selectimportfile'] = 'Επιλέξτε αÏχείο για ανέβασμα';
-$messages['addresswriterror'] = 'Η επιλεγμένη ατζέντα διευθÏνσεων δεν είνα εγγÏάψιμη';
+$messages['forbiddencharacter'] = 'Η ονομασία φακέλου πεÏιέχει μη επιτÏεπτό χαÏακτήÏα.';
+$messages['selectimportfile'] = 'Επιλέξτε αÏχείο για ανέβασμα.';
+$messages['addresswriterror'] = 'Το επιλεγμένο βιβλίο διευθÏνσεων δεν είναι εγγÏάψιμο.';
$messages['contactaddedtogroup'] = 'Οι επαφές Ï€Ïοστέθηκαν στην ομάδα με επιτυχία.';
$messages['contactremovedfromgroup'] = 'Οι επαφές αφαιÏέθηκαν από την ομάδα με επιτυχία.';
-$messages['nogroupassignmentschanged'] = 'Οι αναθεσεις της ομαδας δεν αλλαξαν.';
+$messages['nogroupassignmentschanged'] = 'Δεν αλλαξαν οι αναθεσεις της ομαδας.';
$messages['importwait'] = 'Εισαγωγή, παÏακαλώ πεÏιμένετε...';
-$messages['importformaterror'] = 'Η εισαγωγή απέτυχε! Το αÏχείο δεν είναι έγκυÏο εισαγωγής δεδομένων.';
+$messages['importformaterror'] = 'Η εισαγωγή απέτυχε! Το ανεβασμένο αÏχείο δεν είναι έγκυÏο αÏχείο εισαγωγής δεδομένων.';
$messages['importconfirm'] = '<b>Εισήχθησαν $inserted επαφές με επιτυχία</b>';
-$messages['importconfirmskipped'] = '<b>ΠαÏαλήφθηκαν $skipped υπάÏχοντα αντικείμενα</b>';
+$messages['importconfirmskipped'] = '<b>ΠαÏαλείφθηκαν $skipped υπάÏχουσες καταχωÏήσεις</b>';
$messages['importmessagesuccess'] = 'Επιτυχής εισαγωγή $nr μηνυμάτων';
-$messages['importmessageerror'] = 'Η εισαγωγή απέτυχε! Το αÏχείο δεν είναι έγκυÏο εισαγωγής δεδομένων.';
+$messages['importmessageerror'] = 'Η εισαγωγή απέτυχε! Το ανεβασμένο αÏχείο δεν είναι έγκυÏο αÏχείο μηνÏματος ή φακέλου μηνυμάτων.';
$messages['opnotpermitted'] = 'Η λειτουÏγία δεν επιτÏέπεται!';
-$messages['nofromaddress'] = 'Στην επιλεγμένη ταυτότητα, λείπει η email διεÏθυνση';
+$messages['nofromaddress'] = 'Άδεια διεÏθυνση e-mail στην επιλεγμένη ταυτότητα.';
$messages['editorwarning'] = 'Η μετάβαση στην επεξεÏγασία Î±Ï€Î»Î¿Ï ÎºÎµÎ¹Î¼Î­Î½Î¿Ï… θα Ï€Ïοκαλέσει κατάÏγηση της μοÏφοποίησης. Είστε βέβαιοι πως θέλετε να συνεχίσετε;';
-$messages['httpreceivedencrypterror'] = 'ΟÏπς! Ανεπανόθωτο σφάλμα. Επικοινωνήστε με το διαχειÏιστή του εξυπηÏετητή. <b>Το μηνυμά σας δεν στάλθηκε.</b>';
-$messages['smtpconnerror'] = 'Σφάλμα SMTP ($code): Απέτυχε η σÏνδεση με τον εξυπηÏετητή';
-$messages['smtpautherror'] = 'Σφάλμα SMTP ($code): Σφάλμα ταυτοποίησης';
-$messages['smtpfromerror'] = 'Σφάλμα SMTP ($code): Αποτυχία οÏÎ¹ÏƒÎ¼Î¿Ï Î±Ï€Î¿ÏƒÏ„Î¿Î»Î­Î± "$from" ($msg)';
-$messages['smtptoerror'] = 'Σφάλμα SMTP ($code): Αποτυχία Ï€Ïοσθήκης παÏαλήπτη "$to" ($msg)';
-$messages['smtprecipientserror'] = 'Σφάλμα SMTP: ΑδÏνατο να Ï€Ïοσπελαστεί η λίστα παÏαληπτών';
+$messages['httpreceivedencrypterror'] = 'ΑνεπανόÏθωτο σφάλμα. Επικοινωνήστε με το διαχειÏιστή του εξυπηÏετητή. <b>Το μήνυμά σας δεν στάλθηκε.</b>';
+$messages['smtpconnerror'] = 'Σφάλμα SMTP ($code): Απέτυχε η σÏνδεση με τον εξυπηÏετητή.';
+$messages['smtpautherror'] = 'Σφάλμα SMTP ($code): Σφάλμα ταυτοποίησης.';
+$messages['smtpfromerror'] = 'Σφάλμα SMTP ($code): Αποτυχία οÏÎ¹ÏƒÎ¼Î¿Ï Î±Ï€Î¿ÏƒÏ„Î¿Î»Î­Î± "$from" ($msg).';
+$messages['smtptoerror'] = 'Σφάλμα SMTP ($code): Αποτυχία Ï€Ïοσθήκης παÏαλήπτη "$to" ($msg).';
+$messages['smtprecipientserror'] = 'Σφάλμα SMTP: ΑδÏνατο να Ï€Ïοσπελαστεί η λίστα παÏαληπτών.';
$messages['smtperror'] = 'Σφάλμα SMTP: $msg';
-$messages['emailformaterror'] = 'Λανθασμένη διεÏθνση email: $email';
-$messages['toomanyrecipients'] = 'Μεγάλο πλήθος αποδεκτών. Μειώστε τον αÏιθμό των αποδεκτών σε $max.';
+$messages['emailformaterror'] = 'Λανθασμένη διεÏθνση e-mail: $email';
+$messages['toomanyrecipients'] = 'ΥπεÏβολικά μεγάλο πλήθος αποδεκτών. Μειώστε τον αÏιθμό των αποδεκτών σε $max.';
$messages['maxgroupmembersreached'] = 'Ο αÏιθμός των μελών της ομάδας υπεÏβαίνει τον μέγιστο των $max μελών.';
$messages['internalerror'] = 'ΠÏοέκυψε εσωτεÏικό σφάλμα. ΠαÏακαλώ δοκιμάστε ξανά.';
-$messages['contactdelerror'] = 'Δεν είναι δυνατή η διαγÏαφή της επαφής/ων';
+$messages['contactdelerror'] = 'Δεν είναι δυνατή η διαγÏαφή της επαφής/ων.';
$messages['contactdeleted'] = 'Η επαφή/ές διαγÏάφηκαν με επιτυχία.';
-$messages['contactrestoreerror'] = 'Οι διαγÏαφημενη επαφη(ες) δεν μποÏουν να επαναφεÏθουν.';
-$messages['contactrestored'] = 'Η επαφη(ες) επαναφεÏθηκαν.';
+$messages['contactrestoreerror'] = 'Η διαγÏαμμένη επαφή(ές) δεν είναι δυνατό να επαναφεÏθεί.';
+$messages['contactrestored'] = 'Η επαφή(ές) επαναφέÏθηκε.';
$messages['groupdeleted'] = 'Η ομαδα διαγÏάφηκε επιτυχώς.';
-$messages['grouprenamed'] = 'Η ομαδα μετονομαστηκε επιτυχως.';
-$messages['groupcreated'] = 'Η ομαδα δημιουÏγηθηκε επιτυχως.';
-$messages['savedsearchdeleted'] = 'Η αποθηκευμένη αναζήτηση διαγÏάφηκε επιτυχως. ';
+$messages['grouprenamed'] = 'Η ομάδα μετονομάστηκε επιτυχώς.';
+$messages['groupcreated'] = 'Η ομάδα δημιουÏγήθηκε επιτυχώς.';
+$messages['savedsearchdeleted'] = 'Η αποθηκευμένη αναζήτηση διαγÏάφηκε επιτυχώς. ';
$messages['savedsearchdeleteerror'] = 'Δεν ήταν δυνατή η διαγÏαφή της αποθηκευμένης αναζήτησης.';
-$messages['savedsearchcreated'] = 'Η αποθηκευμένη αναζητήση δημιουÏγήθηκε με επιτυχία. ';
-$messages['savedsearchcreateerror'] = 'Η αποθηκευμενη αναζητηση δεν μποÏεσε να δημιουÏγηθει.';
-$messages['messagedeleted'] = 'Το μυνημα(τα) διαγÏαφηκαν επιτυχως.';
-$messages['messagemoved'] = 'Το μυνημα(τα) μετακινηθηκαν επιτυχως.';
-$messages['messagecopied'] = 'Το μυνημα(τα) αντιγÏαφθηκαν επιτυχως.';
-$messages['messagemarked'] = 'Το μυνημα(τα) μαÏκαÏισθηκαν επιτυχως.';
+$messages['savedsearchcreated'] = 'Η αποθηκευμένη αναζητήση δημιουÏγήθηκε με επιτυχία.';
+$messages['savedsearchcreateerror'] = 'Δεν ήταν δυνατό να δημιουÏγηθεί η αποθηκευμένη αναζήτηση.';
+$messages['messagedeleted'] = 'Το μήνυμα(τα) διαγÏάφηκε επιτυχώς.';
+$messages['messagemoved'] = 'Το μήνυμα(τα) μετακινήθηκε επιτυχώς.';
+$messages['messagecopied'] = 'Το μήνυμα(τα) αντιγÏάφηκε επιτυχώς.';
+$messages['messagemarked'] = 'Το μήνημα(τα) σημάνθηκε επιτυχώς.';
$messages['autocompletechars'] = 'Εισάγετε τουλάχιστον $min χαÏακτήÏες για αυτόματη συμπλήÏωση.';
-$messages['autocompletemore'] = 'ΠεÏισσότεÏες ταιÏιάστες καταχωÏήσεις βÏέθηκαν. ΠληκτÏολογείστε πεÏισσότεÏους χαÏακτήÏες.';
-$messages['namecannotbeempty'] = 'Το ονομα δεν μποÏεί να είναι κενό.';
+$messages['autocompletemore'] = 'Î’Ïέθηκαν πεÏισσότεÏες καταχωÏήσεις που ταιÏιάζουν. ΠαÏακαλώ πληκτÏολογήστε πεÏισσότεÏους χαÏακτήÏες.';
+$messages['namecannotbeempty'] = 'Το όνομα δεν μποÏεί να είναι κενό.';
$messages['nametoolong'] = 'Το όνομα είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿.';
-$messages['folderupdated'] = 'Ο φάκελος ανανεωθηκε επιτυχώς.';
-$messages['foldercreated'] = 'Ο φάκελος δημιουÏγηθηκε επιτυχώς.';
-$messages['invalidimageformat'] = 'Μη έγκυÏη μοÏφή εικόνας. ';
-$messages['mispellingsfound'] = 'ΟÏθογÏαφικά λάθη εντοπίστηκαν στο μήνυμα. ';
-$messages['parentnotwritable'] = 'Δεν είναι δυνατή η δημιουÏγία/μετακινήση φάκελου σε επιλεγμένο φάκελο γονέα. Κανένα δικαίωμα Ï€Ïόσβασης. ';
-$messages['messagetoobig'] = 'Το τμήμα μήνυματος είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿ για επεξεÏγασια. ';
-$messages['attachmentvalidationerror'] = 'ΠΡΟΕΙΔΟΠΟΊΗΣΗ! Αυτή η κατάσχεση είναι Ïποπτη, επειδή ο Ï„Ïπος δεν ταιÏιάζει με τον Ï„Ïπο που δηλώνεται στο μήνυμα. Εάν δεν εμπιστεÏεστε τον αποστολέα, δεν θα Ï€Ïέπει να το ανοίγετε στο Ï€ÏόγÏαμμα πεÏιήγησης επειδή μποÏεί να πεÏιέχει κακόβουλο πεÏιεχόμενο.<br/><br/><em>Expected: $expected; found: $detected</em> ';
-$messages['noscriptwarning'] = 'ΠÏοειδοποίηση : Αυτή η υπηÏεσία webmail απαιτεί Javascript! Για να ΤΟ χÏησιμοποιήσετε ενεÏγοποιήστε τΟ JavaScript στις Ïυθμίσεις του browser σας. ';
+$messages['folderupdated'] = 'Ο φάκελος ανανεώθηκε επιτυχώς.';
+$messages['foldercreated'] = 'Ο φάκελος δημιουÏγήθηκε επιτυχώς.';
+$messages['invalidimageformat'] = 'Μη έγκυÏη μοÏφή εικόνας.';
+$messages['mispellingsfound'] = 'Εντοπίστηκαν οÏθογÏαφικά λάθη στο μήνυμα. ';
+$messages['parentnotwritable'] = 'Δεν είναι δυνατή η δημιουÏγία/μετακινήση φάκελου στον επιλεγμένο φάκελο γονέα. Δεν υπάÏχει δικαίωμα Ï€Ïόσβασης. ';
+$messages['messagetoobig'] = 'Το τμήμα μηνÏματος είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿ για επεξεÏγασία.';
+$messages['attachmentvalidationerror'] = 'ΠΡΟΕΙΔΟΠΟΊΗΣΗ! Αυτό το συνημμένο είναι Ïποπτο, επειδή ο Ï„Ïπος του δεν ταιÏιάζει με τον Ï„Ïπο που δηλώνεται στο μήνυμα. Εάν δεν εμπιστεÏεστε τον αποστολέα, δεν θα Ï€Ïέπει να το ανοίξετε στο Ï€ÏόγÏαμμα πεÏιήγησης επειδή μποÏεί να πεÏιέχει κακόβουλο πεÏιεχόμενο.<br/><br/><em>Αναμενόμενο: $expected, εντοπίστηκε: $detected</em> ';
+$messages['noscriptwarning'] = 'ΠÏοσοχή: Αυτή η υπηÏεσία webmail απαιτεί Javascript! Για να την χÏησιμοποιήσετε ενεÏγοποιήστε το JavaScript στις Ïυθμίσεις του πεÏιηγητή σας. ';
?>
diff --git a/program/localization/en_CA/messages.inc b/program/localization/en_CA/messages.inc
index 169c1c9b1..171e9afb3 100644
--- a/program/localization/en_CA/messages.inc
+++ b/program/localization/en_CA/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,6 @@ $messages['invalidrequest'] = 'Invalid request! No data was saved.';
$messages['invalidhost'] = 'Invalid server name.';
$messages['nomessagesfound'] = 'No messages found in this mailbox.';
$messages['loggedout'] = 'You have successfully terminated the session. Good bye!';
-$messages['mailboxempty'] = 'Mailbox is empty.';
$messages['refreshing'] = 'Refreshing...';
$messages['loading'] = 'Loading...';
$messages['uploading'] = 'Uploading file...';
diff --git a/program/localization/en_GB/labels.inc b/program/localization/en_GB/labels.inc
index c7778e955..628b41bde 100644
--- a/program/localization/en_GB/labels.inc
+++ b/program/localization/en_GB/labels.inc
@@ -29,8 +29,10 @@ $labels['drafts'] = 'Drafts';
$labels['sent'] = 'Sent';
$labels['trash'] = 'Deleted Items';
$labels['junk'] = 'Junk';
+$labels['show_real_foldernames'] = 'Show real names for special folders';
$labels['subject'] = 'Subject';
$labels['from'] = 'From';
+$labels['sender'] = 'Sender';
$labels['to'] = 'To';
$labels['cc'] = 'Copy';
$labels['bcc'] = 'Bcc';
@@ -50,7 +52,9 @@ $labels['fromtoshort'] = '$from – $to of $count';
$labels['copy'] = 'Copy';
$labels['move'] = 'Move';
$labels['moveto'] = 'Move to...';
+$labels['copyto'] = 'Copy to...';
$labels['download'] = 'Download';
+$labels['open'] = 'Open';
$labels['showattachment'] = 'Show';
$labels['showanyway'] = 'Show it anyway';
$labels['filename'] = 'File name';
@@ -134,6 +138,7 @@ $labels['currpage'] = 'Current page';
$labels['unread'] = 'Unread';
$labels['flagged'] = 'Flagged';
$labels['unanswered'] = 'Unanswered';
+$labels['withattachment'] = 'With attachment';
$labels['deleted'] = 'Deleted';
$labels['undeleted'] = 'Not deleted';
$labels['invert'] = 'Invert';
@@ -162,6 +167,7 @@ $labels['listmode'] = 'List view mode';
$labels['folderactions'] = 'Folder actions...';
$labels['compact'] = 'Compact';
$labels['empty'] = 'Empty';
+$labels['importmessages'] = 'Import messages';
$labels['quota'] = 'Disk usage';
$labels['unknown'] = 'unknown';
$labels['unlimited'] = 'unlimited';
@@ -169,8 +175,13 @@ $labels['quicksearch'] = 'Quick search';
$labels['resetsearch'] = 'Reset search';
$labels['searchmod'] = 'Search modifiers';
$labels['msgtext'] = 'Entire message';
+$labels['body'] = 'Body';
+$labels['type'] = 'Type';
+$labels['namex'] = 'Name';
$labels['openinextwin'] = 'Open in new window';
$labels['emlsave'] = 'Download (.eml)';
+$labels['changeformattext'] = 'Display in plain text format';
+$labels['changeformathtml'] = 'Display in HTML format';
$labels['editasnew'] = 'Edit as new';
$labels['send'] = 'Send';
$labels['sendmessage'] = 'Send now';
@@ -187,6 +198,16 @@ $labels['spellcheck'] = 'Spell';
$labels['checkspelling'] = 'Check spelling';
$labels['resumeediting'] = 'Resume editing';
$labels['revertto'] = 'Revert to';
+$labels['restore'] = 'Restore';
+$labels['restoremessage'] = 'Restore message?';
+$labels['responses'] = 'Responses';
+$labels['insertresponse'] = 'Insert a response';
+$labels['manageresponses'] = 'Manage responses';
+$labels['savenewresponse'] = 'Save new response';
+$labels['editresponses'] = 'Edit responses';
+$labels['editresponse'] = 'Edit response';
+$labels['responsename'] = 'Name';
+$labels['responsetext'] = 'Response Text';
$labels['attach'] = 'Attach';
$labels['attachments'] = 'Attachments';
$labels['upload'] = 'Upload';
@@ -286,6 +307,8 @@ $labels['composeto'] = 'Compose mail to';
$labels['contactsfromto'] = 'Contacts $from to $to of $count';
$labels['print'] = 'Print';
$labels['export'] = 'Export';
+$labels['exportall'] = 'Export all';
+$labels['exportsel'] = 'Export selected';
$labels['exportvcards'] = 'Export contacts in vCard format';
$labels['newcontactgroup'] = 'Create new contact group';
$labels['grouprename'] = 'Rename group';
@@ -297,13 +320,18 @@ $labels['nextpage'] = 'Show next set';
$labels['lastpage'] = 'Show last set';
$labels['group'] = 'Group';
$labels['groups'] = 'Groups';
+$labels['listgroup'] = 'List group members';
$labels['personaladrbook'] = 'Personal Addresses';
$labels['searchsave'] = 'Save search';
$labels['searchdelete'] = 'Delete search';
$labels['import'] = 'Import';
$labels['importcontacts'] = 'Import contacts';
$labels['importfromfile'] = 'Import from file:';
+$labels['importtarget'] = 'Add contacts to';
$labels['importreplace'] = 'Replace the entire address book';
+$labels['importgroups'] = 'Import group assignments';
+$labels['importgroupsall'] = 'All (create groups if necessary)';
+$labels['importgroupsexisting'] = 'Only for existing groups';
$labels['importdesc'] = 'You can upload contacts from an existing address book.<br/>We currently support importing addresses from the <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> or CSV (comma-separated) data format.';
$labels['done'] = 'Done';
$labels['settingsfor'] = 'Settings for';
@@ -319,6 +347,8 @@ $labels['edititem'] = 'Edit item';
$labels['preferhtml'] = 'Display HTML';
$labels['defaultcharset'] = 'Default Character Set';
$labels['htmlmessage'] = 'HTML Message';
+$labels['messagepart'] = 'Part';
+$labels['digitalsig'] = 'Digital Signature';
$labels['dateformat'] = 'Date format';
$labels['timeformat'] = 'Time format';
$labels['prettydate'] = 'Pretty dates';
@@ -335,6 +365,7 @@ $labels['htmleditor'] = 'Compose HTML messages';
$labels['htmlonreply'] = 'on reply to HTML message only';
$labels['htmlonreplyandforward'] = 'on forward or reply to HTML message';
$labels['htmlsignature'] = 'HTML signature';
+$labels['showemail'] = 'Show email address with display name';
$labels['previewpane'] = 'Show preview pane';
$labels['skin'] = 'Interface skin';
$labels['logoutclear'] = 'Clear Trash on logout';
@@ -404,9 +435,13 @@ $labels['spellcheckignorenums'] = 'Ignore words with numbers';
$labels['spellcheckignorecaps'] = 'Ignore words with all letters capitalised';
$labels['addtodict'] = 'Add to dictionary';
$labels['mailtoprotohandler'] = 'Register protocol handler for mailto: links';
+$labels['standardwindows'] = 'Handle popups as standard windows';
$labels['forwardmode'] = 'Messages forwarding';
$labels['inline'] = 'inline';
$labels['asattachment'] = 'as attachment';
+$labels['replyallmode'] = 'Default action of [Reply all] button';
+$labels['replyalldefault'] = 'reply to all';
+$labels['replyalllist'] = 'reply to mailing list only (if found)';
$labels['folder'] = 'Folder';
$labels['folders'] = 'Folders';
$labels['foldername'] = 'Folder name';
diff --git a/program/localization/en_GB/messages.inc b/program/localization/en_GB/messages.inc
index 5b6a8f7f2..8ee7aef5a 100644
--- a/program/localization/en_GB/messages.inc
+++ b/program/localization/en_GB/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -26,11 +26,14 @@ $messages['dberror'] = 'Database Error!';
$messages['requesttimedout'] = 'Request timed out';
$messages['errorreadonly'] = 'Unable to perform operation. Folder is read-only.';
$messages['errornoperm'] = 'Unable to perform operation. Permission denied.';
+$messages['erroroverquota'] = 'Unable to perform operation. No free disk space.';
+$messages['erroroverquotadelete'] = 'No free disk space. Use SHIFT+DEL to delete a message.';
$messages['invalidrequest'] = 'Invalid request! No data was saved.';
$messages['invalidhost'] = 'Invalid server name.';
$messages['nomessagesfound'] = 'No messages found in this mailbox.';
$messages['loggedout'] = 'You have successfully terminated the session. Good bye!';
-$messages['mailboxempty'] = 'Mailbox is empty.';
+$messages['mailboxempty'] = 'Mailbox is empty';
+$messages['nomessages'] = 'No messages';
$messages['refreshing'] = 'Refreshing...';
$messages['loading'] = 'Loading...';
$messages['uploading'] = 'Uploading file...';
@@ -42,6 +45,8 @@ $messages['messagesent'] = 'Message sent successfully.';
$messages['savingmessage'] = 'Saving message...';
$messages['messagesaved'] = 'Message saved to Drafts.';
$messages['successfullysaved'] = 'Successfully saved.';
+$messages['savingresponse'] = 'Saving response text...';
+$messages['deleteresponseconfirm'] = 'Do you really want to delete this response text?';
$messages['addedsuccessfully'] = 'Contact successfully added to address book.';
$messages['contactexists'] = 'A contact with this e-mail address already exists.';
$messages['contactnameexists'] = 'A contact with the same name already exists.';
@@ -52,6 +57,8 @@ $messages['contactnotfound'] = 'The requested contact was not found.';
$messages['contactsearchonly'] = 'Enter some search terms to find contacts';
$messages['sendingfailed'] = 'Failed to send message.';
$messages['senttooquickly'] = 'Please wait $sec sec(s). before sending this message.';
+$messages['errorsavingsent'] = 'An error occurred while saving sent message.';
+$messages['errorsaving'] = 'An error occurred while saving.';
$messages['errormoving'] = 'Could not move the message(s).';
$messages['errorcopying'] = 'Could not copy the message(s).';
$messages['errordeleting'] = 'Could not delete the message(s).';
@@ -76,6 +83,7 @@ $messages['norecipientwarning'] = 'Please enter at least one recipient.';
$messages['nosubjectwarning'] = 'The "Subject" field is empty. Would you like to enter one now?';
$messages['nobodywarning'] = 'Send this message without any text?';
$messages['notsentwarning'] = 'Your message has not been sent. Do you want to discard it?';
+$messages['restoresavedcomposedata'] = 'A previously composed but unsent message was found.\n\nSubject: $subject\nSaved: $date\n\nDo you want to restore this message?';
$messages['noldapserver'] = 'Please select an LDAP server to search.';
$messages['nosearchname'] = 'Please enter a contact name or email address.';
$messages['notuploadedwarning'] = 'Not all attachments have been uploaded yet. Please wait or cancel the upload.';
@@ -95,11 +103,16 @@ $messages['converting'] = 'Removing formatting...';
$messages['messageopenerror'] = 'Could not load message from server.';
$messages['fileuploaderror'] = 'File upload failed.';
$messages['filesizeerror'] = 'The uploaded file exceeds the maximum size of $size.';
+$messages['copysuccess'] = 'Successfully copied $nr contacts.';
+$messages['movesuccess'] = 'Successfully moved $nr contacts.';
+$messages['copyerror'] = 'Could not copy any contacts.';
+$messages['moveerror'] = 'Could not move any contacts.';
$messages['sourceisreadonly'] = 'This address book is read-only.';
$messages['errorsavingcontact'] = 'Could not save the contact address.';
$messages['movingmessage'] = 'Moving message(s)...';
$messages['copyingmessage'] = 'Copying message(s)...';
$messages['copyingcontact'] = 'Copying contact(s)...';
+$messages['movingcontact'] = 'Moving contact(s)...';
$messages['deletingmessage'] = 'Deleting message(s)...';
$messages['markingmessage'] = 'Marking message(s)...';
$messages['addingmember'] = 'Adding contact(s) to the group...';
@@ -118,6 +131,8 @@ $messages['importwait'] = 'Importing, please wait...';
$messages['importformaterror'] = 'Import failed! The uploaded file is not a valid import data file.';
$messages['importconfirm'] = '<b>Successfully imported $inserted contacts</b>';
$messages['importconfirmskipped'] = '<b>Skipped $skipped existing entries</b>';
+$messages['importmessagesuccess'] = 'Successfully imported $nr messages';
+$messages['importmessageerror'] = 'Import failed! The uploaded file is not a valid message or mailbox file';
$messages['opnotpermitted'] = 'Operation not permitted!';
$messages['nofromaddress'] = 'Missing e-mail address in selected identity.';
$messages['editorwarning'] = 'Switching to the plain text editor will cause all text formatting to be lost. Do you wish to continue?';
@@ -131,6 +146,7 @@ $messages['smtperror'] = 'SMTP Error: $msg';
$messages['emailformaterror'] = 'Incorrect e-mail address: $email';
$messages['toomanyrecipients'] = 'Too many recipients. Reduce the number of recipients to $max.';
$messages['maxgroupmembersreached'] = 'The number of group members exceeds the maximum of $max.';
+$messages['internalerror'] = 'An internal error occurred. Please try again.';
$messages['contactdelerror'] = 'Could not delete contact(s).';
$messages['contactdeleted'] = 'Contact(s) deleted successfully.';
$messages['contactrestoreerror'] = 'Could not restore deleted contact(s).';
diff --git a/program/localization/en_US/messages.inc b/program/localization/en_US/messages.inc
index a36d9ab62..0a1824398 100644
--- a/program/localization/en_US/messages.inc
+++ b/program/localization/en_US/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -24,6 +24,7 @@ $messages['sessionerror'] = 'Your session is invalid or expired.';
$messages['storageerror'] = 'Connection to storage server failed.';
$messages['servererror'] = 'Server Error!';
$messages['servererrormsg'] = 'Server Error: $msg';
+$messages['connerror'] = 'Connection Error (Failed to reach the server)!';
$messages['dberror'] = 'Database Error!';
$messages['requesttimedout'] = 'Request timed out';
$messages['errorreadonly'] = 'Unable to perform operation. Folder is read-only.';
@@ -34,7 +35,8 @@ $messages['invalidrequest'] = 'Invalid request! No data was saved.';
$messages['invalidhost'] = 'Invalid server name.';
$messages['nomessagesfound'] = 'No messages found in this mailbox.';
$messages['loggedout'] = 'You have successfully terminated the session. Good bye!';
-$messages['mailboxempty'] = 'Mailbox is empty.';
+$messages['mailboxempty'] = 'Mailbox is empty';
+$messages['nomessages'] = 'No messages';
$messages['refreshing'] = 'Refreshing...';
$messages['loading'] = 'Loading...';
$messages['uploading'] = 'Uploading file...';
diff --git a/program/localization/eo/messages.inc b/program/localization/eo/messages.inc
index 17e3f1719..a1d8b3779 100644
--- a/program/localization/eo/messages.inc
+++ b/program/localization/eo/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -28,7 +28,6 @@ $messages['errornoperm'] = 'Ne povis fari agon. Ne havas permeson.';
$messages['invalidrequest'] = 'Nevalida peto';
$messages['nomessagesfound'] = 'Neniu mesaÄo en ĉi tiu dosierujo';
$messages['loggedout'] = 'Vi sukcese finis la seancon. Äœis!';
-$messages['mailboxempty'] = 'Dosierujo estas malplena';
$messages['loading'] = 'Åœarganta...';
$messages['loadingdata'] = 'Åœarganta datumojn...';
$messages['checkingmail'] = 'Kontrolanta, ĉu novaj mesaÄoj...';
diff --git a/program/localization/es_419/messages.inc b/program/localization/es_419/messages.inc
index f9f243422..a22c53da8 100644
--- a/program/localization/es_419/messages.inc
+++ b/program/localization/es_419/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
diff --git a/program/localization/es_AR/messages.inc b/program/localization/es_AR/messages.inc
index 1c442c189..6f1cd1cb5 100644
--- a/program/localization/es_AR/messages.inc
+++ b/program/localization/es_AR/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -30,7 +30,6 @@ $messages['invalidrequest'] = 'Peteción invalida! No se guardó nada.';
$messages['invalidhost'] = 'Nombre de servidor inválido.';
$messages['nomessagesfound'] = 'No se han encontrado mensajes en esta casilla';
$messages['loggedout'] = 'Ha cerrado la sesión. ¡Hasta pronto!';
-$messages['mailboxempty'] = 'La casilla está vacía';
$messages['refreshing'] = 'Actualizando...';
$messages['loading'] = 'Cargando...';
$messages['uploading'] = 'Subiendo archivo...';
diff --git a/program/localization/es_ES/labels.inc b/program/localization/es_ES/labels.inc
index 11cf6174d..ba17a4dff 100644
--- a/program/localization/es_ES/labels.inc
+++ b/program/localization/es_ES/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to de $count';
$labels['copy'] = 'Copiar';
$labels['move'] = 'Mover';
$labels['moveto'] = 'Mover a…';
+$labels['copyto'] = 'Copiar a...';
$labels['download'] = 'Descargar';
$labels['open'] = 'Abrir';
$labels['showattachment'] = 'Mostrar';
@@ -197,6 +198,8 @@ $labels['spellcheck'] = 'Corrector ortográfico';
$labels['checkspelling'] = 'Revisar ortografía';
$labels['resumeediting'] = 'Continuar edición';
$labels['revertto'] = 'Revertir a';
+$labels['restore'] = 'Restaurar';
+$labels['restoremessage'] = '¿Restaurar el mensaje?';
$labels['responses'] = 'Respuestas';
$labels['insertresponse'] = 'Insertar una respuesta';
$labels['manageresponses'] = 'Gestionar respuestas';
diff --git a/program/localization/es_ES/messages.inc b/program/localization/es_ES/messages.inc
index 4daa7a97a..53a136b0f 100644
--- a/program/localization/es_ES/messages.inc
+++ b/program/localization/es_ES/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = '¡Petición no válida! No se han guardado los da
$messages['invalidhost'] = 'Nombre de servidor inválido.';
$messages['nomessagesfound'] = 'No se han encontrado mensajes en esta casilla.';
$messages['loggedout'] = 'Ha cerrado bien la sesión. ¡Hasta pronto!';
-$messages['mailboxempty'] = 'La casilla está vacía.';
+$messages['mailboxempty'] = 'El buzón está vacío';
+$messages['nomessages'] = 'No hay mensajes';
$messages['refreshing'] = 'Actualizando…';
$messages['loading'] = 'Cargando...';
$messages['uploading'] = 'Subiendo archivo...';
@@ -82,6 +83,7 @@ $messages['norecipientwarning'] = 'Por favor, introduzca al menos un destinatari
$messages['nosubjectwarning'] = 'El campo "Asunto" está vacío. ¿Desea completarlo en este momento?';
$messages['nobodywarning'] = '¿Quiere enviar este mensaje sin texto?';
$messages['notsentwarning'] = 'El mensaje no ha sido enviado. ¿Desea descartar su mensaje?';
+$messages['restoresavedcomposedata'] = 'Se ha encontrado un mensaje redactado previamente y no enviado.\n\nAsunto: $subject\nGuardado: $date\n\n¿Desea restaurar este mensaje?';
$messages['noldapserver'] = 'Por favor, seleccione un servidor LDAP para buscar.';
$messages['nosearchname'] = 'Por favor, introduzca un nombre o la dirección de e-mail.';
$messages['notuploadedwarning'] = 'No se han subido aún todos los adjuntos. Por favor espere o cancele la subida.';
diff --git a/program/localization/et_EE/messages.inc b/program/localization/et_EE/messages.inc
index 0d2c79b5a..07443d426 100644
--- a/program/localization/et_EE/messages.inc
+++ b/program/localization/et_EE/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,6 @@ $messages['invalidrequest'] = 'Lubamatu päring! Andmeid ei salvestatud.';
$messages['invalidhost'] = 'Lubamatu serveri nimi.';
$messages['nomessagesfound'] = 'Postkast paistab tühi olevat';
$messages['loggedout'] = 'Sinu seanss on edukalt lõpetatud. Nägemiseni!';
-$messages['mailboxempty'] = 'Postkast on tühi';
$messages['refreshing'] = 'Värskendamine…';
$messages['loading'] = 'Laadin...';
$messages['uploading'] = 'Laadin faili üles...';
diff --git a/program/localization/eu_ES/labels.inc b/program/localization/eu_ES/labels.inc
index bbfd0c6ac..8bf6e2fef 100644
--- a/program/localization/eu_ES/labels.inc
+++ b/program/localization/eu_ES/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from - $to , guztira $count';
$labels['copy'] = 'Kopia';
$labels['move'] = 'Mugitu';
$labels['moveto'] = 'mugitu hona...';
+$labels['copyto'] = 'Kopiatu hona...';
$labels['download'] = 'deskargatu';
$labels['open'] = 'Ireki';
$labels['showattachment'] = 'Erakutsi';
@@ -197,6 +198,16 @@ $labels['spellcheck'] = 'Ortografia-egiaztatu';
$labels['checkspelling'] = 'Egiaztaketa ortografikoa';
$labels['resumeediting'] = 'Editatzen jarraitu';
$labels['revertto'] = 'Itzuli hona';
+$labels['restore'] = 'Berrezarri';
+$labels['restoremessage'] = 'Leheneratu mezua?';
+$labels['responses'] = 'Erantzunak';
+$labels['insertresponse'] = 'Txertatu erantzun bat';
+$labels['manageresponses'] = 'Kudeatu erantzunak';
+$labels['savenewresponse'] = 'Gorde erantzun berria';
+$labels['editresponses'] = 'Editatu erantzunak';
+$labels['editresponse'] = 'Editatu erantzuna';
+$labels['responsename'] = 'Izena';
+$labels['responsetext'] = 'Erantzun testua';
$labels['attach'] = 'Erantsi';
$labels['attachments'] = 'Eranskinak';
$labels['upload'] = 'Igo';
@@ -316,7 +327,11 @@ $labels['searchdelete'] = 'Ezabatu bilaketa';
$labels['import'] = 'Inportatu';
$labels['importcontacts'] = 'Inportatu kontaktoak';
$labels['importfromfile'] = 'Inportatu fitxategi honetatik:';
+$labels['importtarget'] = 'Gehitu kontaktuak hona:';
$labels['importreplace'] = 'Ordezkatu helbide-liburu osoa';
+$labels['importgroups'] = 'Inportatu talde-esleipenak';
+$labels['importgroupsall'] = 'Dena (sortu taldeak behar izatekotan)';
+$labels['importgroupsexisting'] = 'Existitzen diren taldeentzat soilik';
$labels['importdesc'] = 'Gehitzen ahal duzu kontaktuak dagoen helbide-liburu batetik.<br/>Inportatzeko onartzen diren formatuak: <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> eta CSV (komaz banandutakoak).';
$labels['done'] = 'Egina';
$labels['settingsfor'] = 'Honen ezarpenak:';
@@ -425,6 +440,9 @@ $labels['standardwindows'] = 'Tratatu laster-leihoak leiho estandar bezala';
$labels['forwardmode'] = 'Mezuak birbidaltzen';
$labels['inline'] = 'Konektatua';
$labels['asattachment'] = 'eranskin moduan';
+$labels['replyallmode'] = '[Erantzun denei] botoiaren lehenetsitako ekintza';
+$labels['replyalldefault'] = 'erantzun denei';
+$labels['replyalllist'] = 'erantzun posta zerrendara soilik (aurkitzekotan)';
$labels['folder'] = 'Karpeta';
$labels['folders'] = 'Karpetak';
$labels['foldername'] = 'Karpeta izena';
diff --git a/program/localization/eu_ES/messages.inc b/program/localization/eu_ES/messages.inc
index 7d2025804..2352be1f0 100644
--- a/program/localization/eu_ES/messages.inc
+++ b/program/localization/eu_ES/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,6 @@ $messages['invalidrequest'] = 'Eskaera ez da baliozkoa! Datuak ez dira gorde.';
$messages['invalidhost'] = 'Zerbitzari-izena ez da baliozkoa.';
$messages['nomessagesfound'] = 'Ez da mezurik aurkitu posta kutxa honetan';
$messages['loggedout'] = 'Saioa behar bezala amaitu duzu. Agur!';
-$messages['mailboxempty'] = 'Posta kutxa hutsik dago';
$messages['refreshing'] = 'Freskatzen...';
$messages['loading'] = 'Kargatzen...';
$messages['uploading'] = 'Fitxategia kargatzen...';
@@ -44,6 +43,8 @@ $messages['messagesent'] = 'Mezua behar bezala bidali da';
$messages['savingmessage'] = 'Mezua gordetzen...';
$messages['messagesaved'] = 'Mezua zirriborroetan gordea';
$messages['successfullysaved'] = 'Behar bezala gorde da';
+$messages['savingresponse'] = 'Erantzun-testua gordetzen...';
+$messages['deleteresponseconfirm'] = 'Seguru zaude erantzun-testu hau ezabatu nahi duzula?';
$messages['addedsuccessfully'] = 'Txartela behar bezala gehitu da helbide liburura';
$messages['contactexists'] = 'ePosta honetako txartel bat badago dagoeneko';
$messages['contactnameexists'] = 'Lehendik badago izen hori duen kontaktua.';
@@ -54,6 +55,8 @@ $messages['contactnotfound'] = 'Eskatutako txartela ez da aurkitu';
$messages['contactsearchonly'] = 'Sartu kontaktua aurkitzeko bilaketa daturen bat.';
$messages['sendingfailed'] = 'Huts mezua bidaltzerakoan';
$messages['senttooquickly'] = 'Itxaron $sec segundo mezua bidali aurretik, mesedez.';
+$messages['errorsavingsent'] = 'Errore bat gertatu da bidalitako mezua gordetzean.';
+$messages['errorsaving'] = 'Errore bat gertatu da gordetzean.';
$messages['errormoving'] = 'Ezin da mezua mugitu';
$messages['errorcopying'] = 'Ezin d(ir)a kopiatu mezua(k).';
$messages['errordeleting'] = 'Ezin da mezua ezabatu';
@@ -78,6 +81,7 @@ $messages['norecipientwarning'] = 'Mesedez behintzat hartzaile bat idatzi';
$messages['nosubjectwarning'] = '"Gaia" eremua hutsik dago. Bat idatzi nahi al duzu?';
$messages['nobodywarning'] = 'Testu gabeko mezu hau bidali?';
$messages['notsentwarning'] = 'Mezua ez da bidali. Mezua ezeztatu nahi al duzu?';
+$messages['restoresavedcomposedata'] = 'Lehendik idatzitako baina bidali gabeko mezu bat aurkitu da.\n\nGaia:$subject\nGordeta:$date\n\nBerreskuratu nahi duzu mezu hau?';
$messages['noldapserver'] = 'Mesedez hautatu bilaketa egiteko LDAP zerbitzari bat';
$messages['nosearchname'] = 'Mesedez idatzi kontaktu izen bat edo eposta helbide bat';
$messages['notuploadedwarning'] = 'Oraindik ez dira kargatu eranskin guztiak. Itxaron edo ezeztatu karga.';
@@ -140,6 +144,7 @@ $messages['smtperror'] = 'SMTP errorea: $msg';
$messages['emailformaterror'] = 'Helbide elektronikoa ez da baliozkoa: $email';
$messages['toomanyrecipients'] = 'Hartzaile gehiegi. Txikitu hartzaile kopura hona $max.';
$messages['maxgroupmembersreached'] = 'Taldeko partaideen kopurua $max -ko maximoa gainditzen du:';
+$messages['internalerror'] = 'Barne akatsa. Saiatu berriz, mesedez.';
$messages['contactdelerror'] = 'Ezin d(ir)a kontaktua(k) ezabatu.';
$messages['contactdeleted'] = 'Kontaktua(k) ongi ezabatu dira.';
$messages['contactrestoreerror'] = 'Ezin d(ir)a ezabatutako kontaktua(k) leheneratu.';
diff --git a/program/localization/fa_AF/messages.inc b/program/localization/fa_AF/messages.inc
index 643a9f7db..10bd8f4fe 100644
--- a/program/localization/fa_AF/messages.inc
+++ b/program/localization/fa_AF/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -26,7 +26,6 @@ $messages['requesttimedout'] = 'عدم پاسخگویی در زمان مقرر';
$messages['invalidhost'] = 'نام سرور نامعتبر است';
$messages['nomessagesfound'] = 'هيچ پيغامی در اين صندوق پستي درياÙت نه شد';
$messages['loggedout'] = 'جلسه شما بصورت مکمل Ùسخ شده است خدا حاÙظ';
-$messages['mailboxempty'] = 'صندوق پستي خالي است';
$messages['refreshing'] = 'دوباره سازی....';
$messages['loading'] = 'در حال بارگزاری...';
$messages['uploading'] = 'در حال بارگزاری Ùایل...';
diff --git a/program/localization/fa_IR/labels.inc b/program/localization/fa_IR/labels.inc
index 14f6f8621..a6b978f6e 100644
--- a/program/localization/fa_IR/labels.inc
+++ b/program/localization/fa_IR/labels.inc
@@ -16,17 +16,17 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/labels/
*/
$labels['welcome'] = 'به $product خوش آمدید';
-$labels['username'] = 'نام کاربری';
+$labels['username'] = 'نام‌کاربری';
$labels['password'] = 'گذرواژه';
$labels['server'] = 'سرور';
$labels['login'] = 'ورود';
$labels['logout'] = 'خروج';
-$labels['mail'] = 'نامه';
+$labels['mail'] = 'پست';
$labels['settings'] = 'تنظیمات';
$labels['addressbook'] = 'دÙتر نشانی';
$labels['inbox'] = 'صندوق ورودی';
$labels['drafts'] = 'پیش‌نویس‌ها';
-$labels['sent'] = 'Ùرستاده شده';
+$labels['sent'] = 'ارسال شده';
$labels['trash'] = 'زباله‌دان';
$labels['junk'] = 'بنجل';
$labels['show_real_foldernames'] = 'نمایش نام واقعی برای پوشه‌های ویژه';
@@ -45,13 +45,14 @@ $labels['organization'] = 'سازمان';
$labels['readstatus'] = 'وضعیت خوانده شدن';
$labels['listoptions'] = 'Ùهرست گزینه‌ها...';
$labels['mailboxlist'] = 'پوشه‌ها';
-$labels['messagesfromto'] = 'پیغام‌ها $from تا $to از $count';
-$labels['threadsfromto'] = 'رشته‌ها $from تا $to از $count';
+$labels['messagesfromto'] = 'پیغام‌های $from تا $to از $count';
+$labels['threadsfromto'] = 'رشته‌های $from تا $to از $count';
$labels['messagenrof'] = 'پیغام $nr از $count';
$labels['fromtoshort'] = '$from - $to از $count';
$labels['copy'] = 'رونوشت';
$labels['move'] = 'انتقال';
$labels['moveto'] = 'انتقال به...';
+$labels['copyto'] = 'رونوشت به...';
$labels['download'] = 'بارگیری';
$labels['open'] = 'باز کردن';
$labels['showattachment'] = 'نمایش';
@@ -71,7 +72,7 @@ $labels['monday'] = 'دوشنبه';
$labels['tuesday'] = 'سه‌شنبه';
$labels['wednesday'] = 'چهارشنبه';
$labels['thursday'] = 'پنج‌شنبه';
-$labels['friday'] = 'آدینه';
+$labels['friday'] = 'جمعه';
$labels['saturday'] = 'شنبه';
$labels['jan'] = 'ژان';
$labels['feb'] = 'Ùور';
@@ -89,7 +90,7 @@ $labels['longjan'] = 'ژانویه';
$labels['longfeb'] = 'Ùوریه';
$labels['longmar'] = 'مارس';
$labels['longapr'] = 'آوریل';
-$labels['longmay'] = 'مه';
+$labels['longmay'] = 'می';
$labels['longjun'] = 'ژوئن';
$labels['longjul'] = 'جولای';
$labels['longaug'] = 'آگوست';
@@ -98,34 +99,34 @@ $labels['longoct'] = 'اکتبر';
$labels['longnov'] = 'نوامبر';
$labels['longdec'] = 'دسامبر';
$labels['today'] = 'امروز';
-$labels['refresh'] = 'بازخوانی';
-$labels['checkmail'] = 'بررسی پیغام‌های جدید';
-$labels['compose'] = 'نوشتن';
+$labels['refresh'] = 'نوسازی';
+$labels['checkmail'] = 'بررسی برای پیغام‌های جدید';
+$labels['compose'] = 'نوشتن پیغام';
$labels['writenewmessage'] = 'ایجاد پیغام جدید';
$labels['reply'] = 'پاسخ';
$labels['replytomessage'] = 'پاسخ به Ùرستنده';
$labels['replytoallmessage'] = 'پاسخ به Ùهرست یا به Ùرستنده Ùˆ تمام گیرنده‌ها';
$labels['replyall'] = 'پاسخ به همه';
$labels['replylist'] = 'پاسخ به Ùهرست';
-$labels['forward'] = 'باز ارسال';
-$labels['forwardinline'] = 'باز ارسال خطی';
-$labels['forwardattachment'] = 'باز ارسال به صورت پیوست';
-$labels['forwardmessage'] = 'باز ارسال پیغام';
+$labels['forward'] = 'ارجاع';
+$labels['forwardinline'] = 'ارجاع خطی';
+$labels['forwardattachment'] = 'ارجاع به صورت پیوست';
+$labels['forwardmessage'] = 'ارجاع پیغام';
$labels['deletemessage'] = 'حذ٠پیغام';
$labels['movemessagetotrash'] = 'انتقال پیغام به زباله‌دان';
$labels['printmessage'] = 'چاپ این پیغام';
$labels['previousmessage'] = 'نمایش پیغام قبلی';
-$labels['firstmessage'] = 'نمایش اولین پیغام';
+$labels['firstmessage'] = 'نمایش پیغام اول';
$labels['nextmessage'] = 'نمایش پیغام بعدی';
-$labels['lastmessage'] = 'نمایش آخرین پیغام';
+$labels['lastmessage'] = 'نمایش پیغام آخر';
$labels['backtolist'] = 'بازگشت به Ùهرست پیغام';
$labels['viewsource'] = 'نمایش منبع';
$labels['mark'] = 'نشانه‌گذاری';
$labels['markmessages'] = 'نشانه‌گذاری پیغام‌ها';
$labels['markread'] = 'به عنوان خوانده‌شده';
$labels['markunread'] = 'به عنوان خوانده‌نشده';
-$labels['markflagged'] = 'به عنوان نشانه‌گذاری شده';
-$labels['markunflagged'] = 'به عنوان نشانه‌گذاری نشده';
+$labels['markflagged'] = 'به عنوان پرچم‌دار';
+$labels['markunflagged'] = 'به عنوان بدون پرچم';
$labels['moreactions'] = 'کارهای دیگر...';
$labels['more'] = 'بيشتر';
$labels['back'] = 'بازگشت';
@@ -184,7 +185,7 @@ $labels['changeformathtml'] = 'نمایش در قالب اچ‌تی‌ام‌اÙ
$labels['editasnew'] = 'ویرایش به عنوان جدید';
$labels['send'] = 'ارسال';
$labels['sendmessage'] = 'ارسال پیغام';
-$labels['savemessage'] = 'ذخیره به عنوان پیش‌نویس';
+$labels['savemessage'] = 'ذخیره پیش‌نویس';
$labels['addattachment'] = 'پیوست کردن یک پرونده';
$labels['charset'] = 'مجموعه‌نمایه';
$labels['editortype'] = 'نوع ویرایش‌گر';
@@ -197,6 +198,8 @@ $labels['spellcheck'] = 'املاء';
$labels['checkspelling'] = 'بررسی املایی';
$labels['resumeediting'] = 'ادامه‌ی ویرایش';
$labels['revertto'] = 'برگرداندن به';
+$labels['restore'] = 'بازیابی';
+$labels['restoremessage'] = 'بازیابی پیغام؟';
$labels['responses'] = 'پاسخ‌ها';
$labels['insertresponse'] = 'درج پاسخ';
$labels['manageresponses'] = 'مدیریت پاسخ‌ها';
@@ -223,7 +226,7 @@ $labels['isdraft'] = 'این یک پیغام پیش‌نویس است.';
$labels['andnmore'] = '$nr بیشتر...';
$labels['togglemoreheaders'] = 'نمایش سربرگ‌های بیشتر پیغام';
$labels['togglefullheaders'] = 'تعویض سربرگ‌های پیغام خام';
-$labels['htmltoggle'] = 'HTML';
+$labels['htmltoggle'] = 'اچ‌تی‌ام‌ال';
$labels['plaintoggle'] = 'متن ساده';
$labels['savesentmessagein'] = 'ذخیره پیغام ارسالی در';
$labels['dontsave'] = 'ذخیره نکن';
@@ -247,7 +250,7 @@ $labels['jobtitle'] = 'عنوان شغل';
$labels['department'] = 'بخش';
$labels['gender'] = 'جنسیت';
$labels['maidenname'] = 'نام خانوادگی زن قبل از ازدواج';
-$labels['email'] = 'پست‌الکترونیکی';
+$labels['email'] = 'پست‌الکترونیک';
$labels['phone'] = 'تلÙÙ†';
$labels['address'] = 'نشانی';
$labels['street'] = 'خیابان';
@@ -270,7 +273,7 @@ $labels['search'] = 'جستجو';
$labels['advsearch'] = 'جستجوی پیشرÙته';
$labels['advanced'] = 'پیشرÙته';
$labels['other'] = 'سایر';
-$labels['typehome'] = 'منزل';
+$labels['typehome'] = 'خانه';
$labels['typework'] = 'کار';
$labels['typeother'] = 'سایر';
$labels['typemobile'] = 'تلÙÙ† همراه';
@@ -300,7 +303,7 @@ $labels['replacephoto'] = 'جایگزینی';
$labels['uploadphoto'] = 'بارگذاری تصویر';
$labels['newcontact'] = 'ایجاد کارت تماس جدید';
$labels['deletecontact'] = 'حذ٠تماس‌های انتخاب شده';
-$labels['composeto'] = 'نوشتن پیغام به';
+$labels['composeto'] = 'نوشتن پست به';
$labels['contactsfromto'] = 'تماس‌های $from تا $to از $count';
$labels['print'] = 'چاپ';
$labels['export'] = 'صدور';
@@ -362,14 +365,14 @@ $labels['htmleditor'] = 'HTML ‌نوشتن پیغام‌های';
$labels['htmlonreply'] = 'Ùقط در پاسخ به پیغام HTML';
$labels['htmlonreplyandforward'] = 'در بازگردانی یا پاسخ به پیغام‌های HTML';
$labels['htmlsignature'] = 'HTML امضای';
-$labels['showemail'] = 'نمایش آدرس ایمیل با نام نمایشی';
+$labels['showemail'] = 'نمایش آدرس پست الکترونیک با نام نمایشی';
$labels['previewpane'] = 'نمایش قاب پیش‌نمایش';
$labels['skin'] = 'پوسته ظاهری';
$labels['logoutclear'] = 'تمیز کردن زباله دان هنگام برون‌رÙت';
$labels['logoutcompact'] = 'Ùشرده‌سازی صندوق در هنگام خروچ';
$labels['uisettings'] = 'محیط کاربری';
$labels['serversettings'] = 'تنظیمات سرور';
-$labels['mailboxview'] = 'نمایش صندوق‌پستی';
+$labels['mailboxview'] = 'دیدن صندوق‌پستی';
$labels['mdnrequests'] = 'تاییدهای Ùرستنده';
$labels['askuser'] = 'پرسش از کاربر';
$labels['autosend'] = 'ارسال رسید';
@@ -436,6 +439,9 @@ $labels['standardwindows'] = 'بکار بردن پاپ‌آپ‌ها به صور
$labels['forwardmode'] = 'بازگردانی پیغام';
$labels['inline'] = 'خطی';
$labels['asattachment'] = 'به عنوان پیوست';
+$labels['replyallmode'] = 'عمل پیش‌Ùرض برای دکمه [پاسخ به همه]';
+$labels['replyalldefault'] = 'پاسخ به همه';
+$labels['replyalllist'] = 'پاسخ به Ùقط لیست پستی (در صورت یاÙتن)';
$labels['folder'] = 'پوشه';
$labels['folders'] = 'پوشه‌ها';
$labels['foldername'] = 'نام پوشه';
diff --git a/program/localization/fa_IR/messages.inc b/program/localization/fa_IR/messages.inc
index 502b0445a..e5d5667cf 100644
--- a/program/localization/fa_IR/messages.inc
+++ b/program/localization/fa_IR/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -22,7 +22,7 @@ $messages['sessionerror'] = 'نشست شما معتبر نیست، یا منقض
$messages['storageerror'] = 'اتصال به سرور مخزن ناموÙÙ‚ بود.';
$messages['servererror'] = 'خطای سرور!';
$messages['servererrormsg'] = 'خطای سرور: $msg';
-$messages['dberror'] = 'خطای پایگاه داده';
+$messages['dberror'] = 'خطای پایگاه داده!';
$messages['requesttimedout'] = 'زمان درخواست تمام شد';
$messages['errorreadonly'] = ' عمل مورد نظر انجام نشد. پوشه Ùقط خواندنی است.';
$messages['errornoperm'] = ' عمل مورد نظر انجام نشد. دسترسی وجود ندارد.';
@@ -32,26 +32,29 @@ $messages['invalidrequest'] = 'درخواست نامعتبر! هیچ داده‌
$messages['invalidhost'] = 'نام سرور غیرمعتبر.';
$messages['nomessagesfound'] = 'هیچ پیغامی در این صندوق‌پستی پیدا نشد.';
$messages['loggedout'] = 'شما با موÙقیت نشست را پایان دادید. خدانگهدار!';
-$messages['mailboxempty'] = 'صندوق‌پستی خالی است.';
+$messages['mailboxempty'] = 'صندوق پستی خالی است';
+$messages['nomessages'] = 'بدون پیغام';
$messages['refreshing'] = 'نوسازی...';
-$messages['loading'] = 'در حال بارگذاری...';
+$messages['loading'] = 'بارگذاری...';
$messages['uploading'] = 'بارگذاری پرونده...';
-$messages['uploadingmany'] = 'بارگذاری پرونده ها...';
-$messages['loadingdata'] = 'در حال بارگذاری داده‌ها...';
-$messages['checkingmail'] = 'بررسی برای پیغام جدید...';
-$messages['sendingmessage'] = 'در حال ارسال پیغام...';
+$messages['uploadingmany'] = 'بارگذاری پرونده‌ها...';
+$messages['loadingdata'] = 'بارگذاری داده‌ها...';
+$messages['checkingmail'] = 'بررسی برای پیغام‌های جدید...';
+$messages['sendingmessage'] = 'ارسال پیغام...';
$messages['messagesent'] = 'پیغام با موÙقیت Ùرستاده شد.';
-$messages['savingmessage'] = 'درحال ذخیره‌ی پیغام...';
-$messages['messagesaved'] = 'پیغام در پیش‌نویس‌ها ذخیره شد';
+$messages['savingmessage'] = 'ذخیره‌ی پیغام...';
+$messages['messagesaved'] = 'پیغام در پیش‌نویس‌ها ذخیره شد.';
$messages['successfullysaved'] = 'با موÙقیت ذخیره شد.';
+$messages['savingresponse'] = 'ذخیره متن پاسخ...';
+$messages['deleteresponseconfirm'] = 'آیا واقعا می‌خواهید این متن پاسخ را حذ٠نمایید؟';
$messages['addedsuccessfully'] = 'مخاطب با موÙقیت به دÙتر نشانی‌ها اضاÙÙ‡ شد.';
-$messages['contactexists'] = 'یک مخاطب با این ایمیل از قبل وجود دارد.';
-$messages['contactnameexists'] = 'یک مخاطب با این نام از قبل وجود دارد.';
-$messages['blockedimages'] = 'برای Ø­Ùاظت از حریم شخصی شما، عکس‌های با آدرس خارجی در این پیغام مسدود شده‌اند.';
-$messages['encryptedmessage'] = '!این یک پیغام رمزنگاری شده است و قابل نمایش نیست. ببخشید';
-$messages['nocontactsfound'] = 'هیج مخاطبی پیدا نشد.';
+$messages['contactexists'] = 'هم اکنون یک مخاطب با ایمیل یکسان وجود دارد.';
+$messages['contactnameexists'] = 'در حال حاضر مخاطبی با نام یکسان وجود دارد.';
+$messages['blockedimages'] = 'برای Ø­Ùاظت از حریم شخصی شما، عکس‌های خارجی در این پیغام مسدود شده‌اند.';
+$messages['encryptedmessage'] = 'این یک پیغام رمزنگاری شده است و قابل نمایش نیست. با عرض پوزش!';
+$messages['nocontactsfound'] = 'مخاطبی پیدا نشد.';
$messages['contactnotfound'] = 'مخاطب درخواست شده پیدا نشد.';
-$messages['contactsearchonly'] = 'برای یاÙتن مخاطب عبارتی را جستجو کنید';
+$messages['contactsearchonly'] = 'برای یاÙتن مخاطب‌ها، عبارت جستجو را وارد کنید';
$messages['sendingfailed'] = 'ارسال پیغام ناموÙÙ‚ بود.';
$messages['senttooquickly'] = 'لطÙا قبل از ارسال این پیغام $sec ثانیه صبر کنید.';
$messages['errorsavingsent'] = 'خطایی رخ داده است پیام ارسالی ذخیره می گردد.';
@@ -80,6 +83,8 @@ $messages['norecipientwarning'] = 'لطÙاً حداقل یک گیرنده واØ
$messages['nosubjectwarning'] = 'قسمت "موضوع" خالی است. می‌خواهید اکنون وارد کنید؟';
$messages['nobodywarning'] = 'این پیغام بدون متن ارسال شود؟';
$messages['notsentwarning'] = 'پیغام ارسال نشده است. آیا می‌خواهید پیغام را از بین ببرید؟';
+$messages['restoresavedcomposedata'] = 'نامه قبلا نوشته Ùˆ Ù†Ùرستاده یاÙت شد.\n\nموضوع: $subject\n
+ذخیره شده: $date\n\nآیا می‌خواهید این پیغام را بازیابی نمایید؟';
$messages['noldapserver'] = 'لطÙا یک سرور LDAP برای جست‌و‌جو انتخاب کنید.';
$messages['nosearchname'] = 'لطÙا نام یک مخاطب یا یک نشانی ایمیل وارد کنید.';
$messages['notuploadedwarning'] = 'همه پیوست ها هنوز بارگذاری نشده‌اند. لطÙا صبر کرده یا بارگذاری را لغو کنید.';
diff --git a/program/localization/fi_FI/labels.inc b/program/localization/fi_FI/labels.inc
index 2638bd093..f9d6e5481 100644
--- a/program/localization/fi_FI/labels.inc
+++ b/program/localization/fi_FI/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from - $to (yhteensä $count)';
$labels['copy'] = 'Kopioi';
$labels['move'] = 'Siirrä';
$labels['moveto'] = 'siirrä kansioon...';
+$labels['copyto'] = 'Kopioi...';
$labels['download'] = 'lataa';
$labels['open'] = 'Avaa';
$labels['showattachment'] = 'Näytä';
diff --git a/program/localization/fi_FI/messages.inc b/program/localization/fi_FI/messages.inc
index 25dc0dc0d..77a165860 100644
--- a/program/localization/fi_FI/messages.inc
+++ b/program/localization/fi_FI/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = 'Virheellinen pyyntö! Tietoa ei tallennettu.';
$messages['invalidhost'] = 'Virheellinen palvelinnimi.';
$messages['nomessagesfound'] = 'Kansiossa ei ole sähköpostiviestejä';
$messages['loggedout'] = 'Sinut on kirjattu ulos järjestelmästä.';
-$messages['mailboxempty'] = 'Kansio on tyhjä';
+$messages['mailboxempty'] = 'Postilaatikko on tyhjä';
+$messages['nomessages'] = 'Ei viestejä';
$messages['refreshing'] = 'Päivitetään...';
$messages['loading'] = 'Ladataan...';
$messages['uploading'] = 'Ladataan tiedostoa palvelimelle...';
diff --git a/program/localization/fo_FO/labels.inc b/program/localization/fo_FO/labels.inc
new file mode 100644
index 000000000..f44854a96
--- /dev/null
+++ b/program/localization/fo_FO/labels.inc
@@ -0,0 +1,497 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | localization/<lang>/labels.inc |
+ | |
+ | Localization file of the Roundcube Webmail client |
+ | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/labels/
+*/
+$labels['welcome'] = 'Vælkomin til $product';
+$labels['username'] = 'Brúkaranavn';
+$labels['password'] = 'Loyniorð';
+$labels['server'] = 'Ambætari';
+$labels['login'] = 'Rita inn';
+$labels['logout'] = 'Rita út';
+$labels['mail'] = 'Teldupostur';
+$labels['settings'] = 'Stillingar';
+$labels['addressbook'] = 'Búðstaðarsavn';
+$labels['inbox'] = 'Postur';
+$labels['drafts'] = 'Skitsur';
+$labels['sent'] = 'Sent';
+$labels['trash'] = 'Skrell';
+$labels['junk'] = 'Møsn';
+$labels['show_real_foldernames'] = 'Vís verulig nøvn til serligar mappur';
+$labels['subject'] = 'Evni';
+$labels['from'] = 'Frá';
+$labels['sender'] = 'Sendari';
+$labels['to'] = 'Til';
+$labels['cc'] = 'Cc';
+$labels['bcc'] = 'Bcc';
+$labels['replyto'] = 'Svara-til';
+$labels['followupto'] = 'Fylg við-til';
+$labels['date'] = 'Dato';
+$labels['size'] = 'Stødd';
+$labels['priority'] = 'Raðfesting';
+$labels['organization'] = 'Fyritøka';
+$labels['readstatus'] = 'Les støðu';
+$labels['listoptions'] = 'Lýs valmøguleikar...';
+$labels['mailboxlist'] = 'Mappur';
+$labels['messagesfromto'] = 'Boðini frá $from til $to ið eru $count';
+$labels['threadsfromto'] = 'Tráðirnir frá $from til $to ið eru $count';
+$labels['messagenrof'] = 'Boðini ið eru $count';
+$labels['fromtoshort'] = '$from - $to ið eru $count';
+$labels['copy'] = 'Avrita';
+$labels['move'] = 'Flyt';
+$labels['moveto'] = 'Flyt til...';
+$labels['copyto'] = 'Avrita til...';
+$labels['download'] = 'Heinta';
+$labels['open'] = 'Opna';
+$labels['showattachment'] = 'Vís';
+$labels['showanyway'] = 'Vís tað avlíkavæl';
+$labels['filename'] = 'Fílu navn';
+$labels['filesize'] = 'Fílu stødd';
+$labels['addtoaddressbook'] = 'Legg aftrat búðstaðar bók';
+$labels['sun'] = 'Sun';
+$labels['mon'] = 'Mán';
+$labels['tue'] = 'Týs';
+$labels['wed'] = 'Mik';
+$labels['thu'] = 'Hós';
+$labels['fri'] = 'Frí';
+$labels['sat'] = 'Ley';
+$labels['sunday'] = 'Sunnudagur';
+$labels['monday'] = 'Mánadagur';
+$labels['tuesday'] = 'Týsdagur';
+$labels['wednesday'] = 'Mikudagur';
+$labels['thursday'] = 'Hósdagur';
+$labels['friday'] = 'Fríggjardagur';
+$labels['saturday'] = 'Leygardagur';
+$labels['jan'] = 'Jan';
+$labels['feb'] = 'Feb';
+$labels['mar'] = 'Mar';
+$labels['apr'] = 'Apr';
+$labels['may'] = 'Maj';
+$labels['jun'] = 'Jun';
+$labels['jul'] = 'Jul';
+$labels['aug'] = 'Aug';
+$labels['sep'] = 'Sep';
+$labels['oct'] = 'Okt';
+$labels['nov'] = 'Nov';
+$labels['dec'] = 'Des';
+$labels['longjan'] = 'Januar';
+$labels['longfeb'] = 'Februar';
+$labels['longmar'] = 'Mars';
+$labels['longapr'] = 'Apríl';
+$labels['longmay'] = 'Maj';
+$labels['longjun'] = 'Juni';
+$labels['longjul'] = 'July';
+$labels['longaug'] = 'August';
+$labels['longsep'] = 'Septembur';
+$labels['longoct'] = 'Oktobur';
+$labels['longnov'] = 'Novembur';
+$labels['longdec'] = 'Desembur';
+$labels['today'] = 'Ã dag';
+$labels['refresh'] = 'Endur innles';
+$labels['checkmail'] = 'Kann fyri nýggj boð.';
+$labels['compose'] = 'Stovna';
+$labels['writenewmessage'] = 'Stovna nýggj boð';
+$labels['reply'] = 'Svara';
+$labels['replytomessage'] = 'Svara til sendara';
+$labels['replytoallmessage'] = 'Svara til listan ella til sendara og allir móttakarir';
+$labels['replyall'] = 'Svara øllum';
+$labels['replylist'] = 'Svara lista';
+$labels['forward'] = 'Send víðari';
+$labels['forwardinline'] = 'Svara víðari, við gomlum teksti';
+$labels['forwardattachment'] = 'Send víðari sum viðhefting';
+$labels['forwardmessage'] = 'Send hesi boð víðari';
+$labels['deletemessage'] = 'Strika boð';
+$labels['movemessagetotrash'] = 'Koyr boð í skrell';
+$labels['printmessage'] = 'Útskriva hesi boð';
+$labels['previousmessage'] = 'Vís seinastu boð';
+$labels['firstmessage'] = 'Vís fyrstu boð';
+$labels['nextmessage'] = 'Vís næstu boð';
+$labels['lastmessage'] = 'Vís seinastu boð';
+$labels['backtolist'] = 'Aftur til boð lista';
+$labels['viewsource'] = 'Vís keldu';
+$labels['mark'] = 'Merk';
+$labels['markmessages'] = 'Merk boð';
+$labels['markread'] = 'Sum lisin';
+$labels['markunread'] = 'Sum ólisin';
+$labels['markflagged'] = 'Sum viðmerkt';
+$labels['markunflagged'] = 'Sum óviðmerkt';
+$labels['moreactions'] = 'Fleiri gerir...';
+$labels['more'] = 'Meira';
+$labels['back'] = 'Aftur';
+$labels['options'] = 'Valmøguleikar';
+$labels['select'] = 'Vel';
+$labels['all'] = 'Alt';
+$labels['none'] = 'Einki';
+$labels['currpage'] = 'Hesa síðu';
+$labels['unread'] = 'Ólisið';
+$labels['flagged'] = 'Viðmerkt';
+$labels['unanswered'] = 'Ikki svara';
+$labels['withattachment'] = 'Við viðhefting';
+$labels['deleted'] = 'Strika';
+$labels['undeleted'] = 'Ikki strika';
+$labels['invert'] = 'Vend við';
+$labels['filter'] = 'Síla';
+$labels['list'] = 'Listið';
+$labels['threads'] = 'Tráðir';
+$labels['expand-all'] = 'Spreið alt';
+$labels['expand-unread'] = 'Spreið ólisið';
+$labels['collapse-all'] = 'Sett saman alt';
+$labels['threaded'] = 'Tráða';
+$labels['autoexpand_threads'] = 'Spreið boð tráðir';
+$labels['do_expand'] = 'Allir tráðir';
+$labels['expand_only_unread'] = 'einans við ólisin boð';
+$labels['fromto'] = 'Frá/Til';
+$labels['flag'] = 'Viðmerk';
+$labels['attachment'] = 'Viðhefting';
+$labels['nonesort'] = 'Einki';
+$labels['sentdate'] = 'Sent dato';
+$labels['arrival'] = 'Móttikið dato';
+$labels['asc'] = 'hækkandi';
+$labels['desc'] = 'lækkandi';
+$labels['listcolumns'] = 'List teigar';
+$labels['listsorting'] = 'Sorterar teiga';
+$labels['listorder'] = 'Sorterar rekkjufylgju';
+$labels['listmode'] = 'Lista vísing';
+$labels['folderactions'] = 'Mappu gerir...';
+$labels['compact'] = 'Trýst saman';
+$labels['empty'] = 'Tøm';
+$labels['importmessages'] = 'Innflyt boð';
+$labels['quota'] = 'Disk nýtsla';
+$labels['unknown'] = 'ókent';
+$labels['unlimited'] = 'óavmarka';
+$labels['quicksearch'] = 'Skjót leiting';
+$labels['resetsearch'] = 'Nulstilla leiting';
+$labels['searchmod'] = 'Leiti minkarir';
+$labels['msgtext'] = 'Øll boðini';
+$labels['body'] = 'Kroppur';
+$labels['type'] = 'Slag';
+$labels['namex'] = 'Navn';
+$labels['openinextwin'] = 'Opna í nýggjum vindeyga';
+$labels['emlsave'] = 'Heinta (.eml)';
+$labels['changeformattext'] = 'Vís í reinun teksti formati';
+$labels['changeformathtml'] = 'Vís í HTML formati';
+$labels['editasnew'] = 'Broyt sum nýtt';
+$labels['send'] = 'Send';
+$labels['sendmessage'] = 'Send boð';
+$labels['savemessage'] = 'Goym sum skitsa';
+$labels['addattachment'] = 'Viðheft fíl';
+$labels['charset'] = 'Stavusett';
+$labels['editortype'] = 'Útgevara slag';
+$labels['returnreceipt'] = 'Lat aftur kvittan';
+$labels['dsn'] = 'Útflýggja støðu kunngerð';
+$labels['mailreplyintro'] = 'Tann $date, skrivaði $sender:';
+$labels['originalmessage'] = 'Uppruna boð';
+$labels['editidents'] = 'Broyt samleikar';
+$labels['spellcheck'] = 'Stava';
+$labels['checkspelling'] = 'Kanna staving';
+$labels['resumeediting'] = 'Taka uppaftur skriving';
+$labels['revertto'] = 'Vend aftur til';
+$labels['restore'] = 'Endurstovna';
+$labels['restoremessage'] = 'Endurstovna boð?';
+$labels['responses'] = 'Svør';
+$labels['insertresponse'] = 'Innset eitt svar';
+$labels['manageresponses'] = 'Umsit svør';
+$labels['savenewresponse'] = 'Goym nýtt svar';
+$labels['editresponses'] = 'Broyt svør';
+$labels['editresponse'] = 'Broyt svar';
+$labels['responsename'] = 'Navn';
+$labels['responsetext'] = 'Svar tekstur';
+$labels['attach'] = 'Viðheft';
+$labels['attachments'] = 'Viðheftingar';
+$labels['upload'] = 'Uppsend';
+$labels['uploadprogress'] = '$percent ($currently av $total)';
+$labels['close'] = 'Lat aftur';
+$labels['messageoptions'] = 'Boð valmøguleikar...';
+$labels['low'] = 'Lágt';
+$labels['lowest'] = 'Lágst';
+$labels['normal'] = 'Vanligt';
+$labels['high'] = 'Høgt';
+$labels['highest'] = 'Hagst';
+$labels['nosubject'] = '(einki evni)';
+$labels['showimages'] = 'Vís myndir';
+$labels['alwaysshow'] = 'Vís altíð myndir frá $sender';
+$labels['isdraft'] = 'Hetta er eini skitsu boð.';
+$labels['andnmore'] = '$nr meir...';
+$labels['togglemoreheaders'] = 'Vís meiri boð teksthøvd ';
+$labels['togglefullheaders'] = 'Vel ráðan boð teksthøvd';
+$labels['htmltoggle'] = 'HTML';
+$labels['plaintoggle'] = 'Reiður tekstur';
+$labels['savesentmessagein'] = 'Goym boð í ';
+$labels['dontsave'] = 'goym ikki';
+$labels['maxuploadsize'] = 'Stórsta fílu stødd loyvd er $size';
+$labels['addcc'] = 'Legg aftrat Cc';
+$labels['addbcc'] = 'Legg aftrat Bcc';
+$labels['addreplyto'] = 'Legg aftrat Svara-til';
+$labels['addfollowupto'] = 'Legg aftrat Fylg við-til';
+$labels['mdnrequest'] = 'Sendarin av hesi boð biður um at verða kunngjørdur tá ið tú lesur hesið boð. Vilt tú kunngerða sendaran?';
+$labels['receiptread'] = 'Svara móttakara (les)';
+$labels['yourmessage'] = 'Hetta er ein afturvend kvittan av tíni boð';
+$labels['receiptnote'] = 'Gevið gætur: Hendan kvittan vísir einans á um boðini vóru sýnd á teldu mótakarans. Har er eingin trygging fyri at móttakarin hevur lisið ella skilt tað ið er í boðunum';
+$labels['name'] = 'Fult navn';
+$labels['firstname'] = 'Fornavn';
+$labels['surname'] = 'Eftirnavn';
+$labels['middlename'] = 'Millunnavn';
+$labels['nameprefix'] = 'Forskoyti';
+$labels['namesuffix'] = 'Eftirskoyti';
+$labels['nickname'] = 'Eyknevni';
+$labels['jobtitle'] = 'Starvsheiti';
+$labels['department'] = 'Deild';
+$labels['gender'] = 'Kyn';
+$labels['maidenname'] = 'Gentunavn';
+$labels['email'] = 'Teldupostur';
+$labels['phone'] = 'Telefon';
+$labels['address'] = 'Búðstaður';
+$labels['street'] = 'Gøta';
+$labels['locality'] = 'Býur';
+$labels['zipcode'] = 'Post kota';
+$labels['region'] = 'Kommuna';
+$labels['country'] = 'Land';
+$labels['birthday'] = 'Føðingardagur';
+$labels['anniversary'] = 'Ãrsdagur';
+$labels['website'] = 'Heimasíða';
+$labels['instantmessenger'] = 'IM';
+$labels['notes'] = 'Notatir';
+$labels['male'] = 'maður';
+$labels['female'] = 'kona';
+$labels['manager'] = 'Leiðari';
+$labels['assistant'] = 'Hjálparfólk';
+$labels['spouse'] = 'Hjúnafelagi';
+$labels['allfields'] = 'Allir teigar';
+$labels['search'] = 'Leita';
+$labels['advsearch'] = 'Framkomin leiting';
+$labels['advanced'] = 'Framkomin';
+$labels['other'] = 'Annað';
+$labels['typehome'] = 'Heim';
+$labels['typework'] = 'Arbeiði';
+$labels['typeother'] = 'Annað';
+$labels['typemobile'] = 'Fartelefon';
+$labels['typemain'] = 'Høvuðs';
+$labels['typehomefax'] = 'Heima faks';
+$labels['typeworkfax'] = 'Arbeiðis faks';
+$labels['typecar'] = 'Bilur';
+$labels['typepager'] = 'Persónleitari';
+$labels['typevideo'] = 'Sjónband';
+$labels['typeassistant'] = 'Hjálparfólk';
+$labels['typehomepage'] = 'Heimasíða';
+$labels['typeblog'] = 'Bloggur';
+$labels['typeprofile'] = 'Umhvarv ';
+$labels['addfield'] = 'Legg aftrat teiga...';
+$labels['addcontact'] = 'Legg aftrat nýggjan persón';
+$labels['editcontact'] = 'Broyt persón';
+$labels['contacts'] = 'Persónar';
+$labels['contactproperties'] = 'Persóna eginleikar';
+$labels['personalinfo'] = 'Persónligar upplýsingar';
+$labels['edit'] = 'Broyt';
+$labels['cancel'] = 'Ógilda';
+$labels['save'] = 'Goym';
+$labels['delete'] = 'Strika';
+$labels['rename'] = 'Umdoyp';
+$labels['addphoto'] = 'Legg aftrat';
+$labels['replacephoto'] = 'Skift út';
+$labels['uploadphoto'] = 'Uppsend mynd';
+$labels['newcontact'] = 'Ger nýtt persón kort';
+$labels['deletecontact'] = 'Strika valdir persónar';
+$labels['composeto'] = 'Skriva boð til';
+$labels['contactsfromto'] = 'Persónar frá $from til $to ið eru $count';
+$labels['print'] = 'Skriva út';
+$labels['export'] = 'Flyt út';
+$labels['exportall'] = 'Flyt út alt';
+$labels['exportsel'] = 'Flyt út valt';
+$labels['exportvcards'] = 'Út flyt persónar við vCard slagið';
+$labels['newcontactgroup'] = 'Ger nýggja persóns bólk';
+$labels['grouprename'] = 'Umdoyp bólk';
+$labels['groupdelete'] = 'Strika bólk';
+$labels['groupremoveselected'] = 'Strika valdar persónar frá bólki';
+$labels['previouspage'] = 'Vís fyrrverandi síðu';
+$labels['firstpage'] = 'Vís fyrstu síðu';
+$labels['nextpage'] = 'Vís næstu síðu';
+$labels['lastpage'] = 'Vís seinastu síðu';
+$labels['group'] = 'Bólkur';
+$labels['groups'] = 'Bólkar';
+$labels['listgroup'] = 'Vís bólka limir';
+$labels['personaladrbook'] = 'Persónligir búðstaðir';
+$labels['searchsave'] = 'Goym leiting';
+$labels['searchdelete'] = 'Strika leiting';
+$labels['import'] = 'Innflyt';
+$labels['importcontacts'] = 'Innflyt persónar';
+$labels['importfromfile'] = 'Innflyt frá fílu';
+$labels['importtarget'] = 'Legg persón til';
+$labels['importreplace'] = 'Skift út alt búðstaðarsavni';
+$labels['importgroups'] = 'Innflyt bólka ásetan';
+$labels['importgroupsall'] = 'Øll (stovna bólkar um neyðugt)';
+$labels['importgroupsexisting'] = 'Einans fyri bólkar ið longu eru til';
+$labels['importdesc'] = 'Tú kanst uppsenda persónar frá einari aðrari búðstaðar bók.<br/>Vit veita vit møguleika at innflyta búðstaðir frá<a href="http://en.wikipedia.org/wiki/VCard">vCard</a> ella CSV (komma uppdeilt) dáta slag.';
+$labels['done'] = 'Liðugt';
+$labels['settingsfor'] = 'Stillingar til';
+$labels['about'] = 'Um';
+$labels['preferences'] = 'Vælmøguleikar';
+$labels['userpreferences'] = 'Brúkara vælmøguleikar';
+$labels['editpreferences'] = 'Broyt brúkara framíhjárættindi';
+$labels['identities'] = 'Samleikar';
+$labels['manageidentities'] = 'Umsit samleikar fyri hesa kontu';
+$labels['newidentity'] = 'Nýtt samleiki';
+$labels['newitem'] = 'Nýtt ting';
+$labels['edititem'] = 'Broyt ting';
+$labels['preferhtml'] = 'Vís HTML';
+$labels['defaultcharset'] = 'Sjálvset tekin set';
+$labels['htmlmessage'] = 'HTML boð';
+$labels['messagepart'] = 'Deilur';
+$labels['digitalsig'] = 'Dalgylt Undirskrift';
+$labels['dateformat'] = 'Dato format';
+$labels['timeformat'] = 'Tíðs format';
+$labels['prettydate'] = 'Pen dato';
+$labels['setdefault'] = 'Set vanligt';
+$labels['autodetect'] = 'Sjálvirki';
+$labels['language'] = 'Mál';
+$labels['timezone'] = 'Tíðarsona';
+$labels['pagesize'] = 'Rekkjur per síðu';
+$labels['signature'] = 'Undirskrift';
+$labels['dstactive'] = 'Summartíð';
+$labels['showinextwin'] = 'Opna boðí nýggjun vindeyga';
+$labels['composeextwin'] = 'Stovna í nýggjum vindeyga';
+$labels['htmleditor'] = 'Stovna HTML boð';
+$labels['htmlonreply'] = 'til svar til HTML boð';
+$labels['htmlonreplyandforward'] = 'til víðari sending ella svar til HTML boð';
+$labels['htmlsignature'] = 'HTML undirskrift';
+$labels['showemail'] = 'Vís teldupostar búðstað við fullum navni';
+$labels['previewpane'] = 'Vís undansýningar rút';
+$labels['skin'] = 'Markamóts skinn';
+$labels['logoutclear'] = 'Strika Skrell tá ið tú út ritar';
+$labels['logoutcompact'] = 'Trýst saman postkassa tá ið tú ritar út';
+$labels['uisettings'] = 'Brúkaraøki';
+$labels['serversettings'] = 'Ambætara stillingar';
+$labels['mailboxview'] = 'Postkassa sjón';
+$labels['mdnrequests'] = 'Bið um kvittan';
+$labels['askuser'] = 'spyr me';
+$labels['autosend'] = 'send kvittan';
+$labels['autosendknown'] = 'send kvittan til mínir persónar, annars spyr me';
+$labels['autosendknownignore'] = 'send kvittan til mínir persónar, annars skúgv til vigs';
+$labels['ignore'] = 'skúgv til vigs';
+$labels['readwhendeleted'] = 'Merk boði sum lisið á striking';
+$labels['flagfordeletion'] = 'Viðmerk boði til strikingar ístaðin fyri at strika';
+$labels['skipdeleted'] = 'Vís ikki strika boð';
+$labels['deletealways'] = 'Um flyting av boðum til Skrell ikki riggar, strika tey so';
+$labels['deletejunk'] = 'Strika boð beinleiðis í Møsn';
+$labels['showremoteimages'] = 'Vís regluligar fjarmyndir';
+$labels['fromknownsenders'] = 'frá ókendum sendarum';
+$labels['always'] = 'altíð';
+$labels['showinlineimages'] = 'Vís viðheftar myndir niðanfyri boðini';
+$labels['autosavedraft'] = 'Goym skitsu sjálvirkandi';
+$labels['everynminutes'] = 'hvønn $n minutt(ir)';
+$labels['refreshinterval'] = 'Endur innles (kannað fyri nýggjum boðum, o.s.fv.)';
+$labels['never'] = 'aldrin';
+$labels['immediately'] = 'í stundini';
+$labels['messagesdisplaying'] = 'Vísir boð';
+$labels['messagescomposition'] = 'Stovnar boð';
+$labels['mimeparamfolding'] = 'Viðheftingar nøvn';
+$labels['2231folding'] = 'Fult RFC 2231 (Thunderbird)';
+$labels['miscfolding'] = 'RFC 2047/2231 (MS Outlook)';
+$labels['2047folding'] = 'Fult RFC 2047 (other)';
+$labels['force7bit'] = 'Nýt MIME kodingar til 8-bit tekin';
+$labels['advancedoptions'] = 'Víðkaðir valmøguleikar';
+$labels['focusonnewmessage'] = 'Legg dent á kaga vindeyga tá ið nýtt boð verður stovna';
+$labels['checkallfolders'] = 'Kannað allar mappur fyri nýggj boð';
+$labels['displaynext'] = 'Eftir striking/flyting av boði, vís so næsta boð';
+$labels['defaultfont'] = 'Vanligi stavsnið av HTML boði';
+$labels['mainoptions'] = 'Høvuðs Vælmøguleikar';
+$labels['browseroptions'] = 'Kaga Valmøguleikar';
+$labels['section'] = 'Partur';
+$labels['maintenance'] = 'Umsiting';
+$labels['newmessage'] = 'Nýggj boð';
+$labels['signatureoptions'] = 'Undirskrift vælmøguleikar';
+$labels['whenreplying'] = 'Tá ið skriving verður framd';
+$labels['replyempty'] = 'sitera ikki uppruna boðini';
+$labels['replytopposting'] = 'byrja eini nýggj boð uppiyvir sitatinum';
+$labels['replybottomposting'] = 'byrja eini nýggj boð undir sitatinum';
+$labels['replyremovesignature'] = 'Tá ið svaring verðurframd, strika so uppruna sitati frá boðinum';
+$labels['autoaddsignature'] = 'Legg undirskrift á sjálvirkandi';
+$labels['newmessageonly'] = 'Nýggj boð einans';
+$labels['replyandforwardonly'] = 'svar og víðarsendingar einans';
+$labels['insertsignature'] = 'Innset undirskrift';
+$labels['previewpanemarkread'] = 'Merk undansýnd boð sum lisin';
+$labels['afternseconds'] = 'eftir $n sekund';
+$labels['reqmdn'] = 'Bið altíð um eina kvittan';
+$labels['reqdsn'] = 'Bið altíð um status kunngerð';
+$labels['replysamefolder'] = 'Koyr svar í somu mappuna ið boðini komu frá';
+$labels['defaultabook'] = 'Sjálvset búðstaðar bók';
+$labels['autocompletesingle'] = 'Leyp um aðrar teldupost búðstaðar í sjálvirkandi skrivingini';
+$labels['listnamedisplay'] = 'Vís persónar sum ';
+$labels['spellcheckbeforesend'] = 'Kannað stavuvillur áðrenn boðini verða send';
+$labels['spellcheckoptions'] = 'Stavuvilli kanningar vælmøguleikar';
+$labels['spellcheckignoresyms'] = 'Leyp um orð við teknum';
+$labels['spellcheckignorenums'] = 'Leyp um orð við tølum';
+$labels['spellcheckignorecaps'] = 'Leyp um øll orð við øll bókstavum í stórum';
+$labels['addtodict'] = 'Legg aftrat orðabók';
+$labels['mailtoprotohandler'] = 'Skráset samskiftisreglur handfara til mailto: leinki';
+$labels['standardwindows'] = 'Handfar upplatingarvindeygu sum vanlig vindeygu';
+$labels['forwardmode'] = 'Víðarsending av boðum';
+$labels['inline'] = 'innanreglis';
+$labels['asattachment'] = 'sum viðhefting';
+$labels['replyallmode'] = 'Sjálvset gerð til [Reply all] knap';
+$labels['replyalldefault'] = 'Svara øllum';
+$labels['replyalllist'] = 'svara til teldupostalista einans (um funnin)';
+$labels['folder'] = 'Mappa';
+$labels['folders'] = 'Mappur';
+$labels['foldername'] = 'Mappu navn';
+$labels['subscribed'] = 'Teknaður til';
+$labels['messagecount'] = 'Boð';
+$labels['create'] = 'Stovna';
+$labels['createfolder'] = 'Stovna nýggja mappu';
+$labels['managefolders'] = 'Umsit mappur';
+$labels['specialfolders'] = 'Serligar Mappur';
+$labels['properties'] = 'Vælmøguleikar';
+$labels['folderproperties'] = 'Mappu vælmøguleikar';
+$labels['parentfolder'] = 'Foreldra mappu';
+$labels['location'] = 'Stað';
+$labels['info'] = 'Upplýsing';
+$labels['getfoldersize'] = 'Trýst fyri at seta mappu stødd';
+$labels['changesubscription'] = 'Trýst fyri at broyta tekning';
+$labels['foldertype'] = 'Mappu slag';
+$labels['personalfolder'] = 'Einskild Mappa';
+$labels['otherfolder'] = 'Mappur hjá ørðum brúkarum';
+$labels['sharedfolder'] = 'Almennar mappur';
+$labels['sortby'] = 'Sortera eftir';
+$labels['sortasc'] = 'Sortera hækkandi';
+$labels['sortdesc'] = 'Sortera lækkandi';
+$labels['undo'] = 'Angra';
+$labels['installedplugins'] = 'Innløgd ískoyti';
+$labels['plugin'] = 'Ãskoyti';
+$labels['version'] = 'Útgáva';
+$labels['source'] = 'Kelda';
+$labels['license'] = 'Heimildarskjal';
+$labels['support'] = 'Fá hjálp';
+$labels['B'] = 'B';
+$labels['KB'] = 'KB';
+$labels['MB'] = 'MB';
+$labels['GB'] = 'GB';
+$labels['unicode'] = 'Unicode';
+$labels['english'] = 'Eingilst';
+$labels['westerneuropean'] = 'Vestur Evoropeist';
+$labels['easterneuropean'] = 'Estur Everopeist';
+$labels['southeasterneuropean'] = 'Útsynnings Everopeist';
+$labels['baltic'] = 'Eystursjógvurin';
+$labels['cyrillic'] = 'Cyrillic';
+$labels['arabic'] = 'Arabist';
+$labels['greek'] = 'Grekst';
+$labels['hebrew'] = 'Hebraiskt';
+$labels['turkish'] = 'Turkist';
+$labels['nordic'] = 'Norðurlengst';
+$labels['thai'] = 'Tailenskt';
+$labels['celtic'] = 'Keltiskt';
+$labels['vietnamese'] = 'Vietmanesiskt';
+$labels['japanese'] = 'Japanskt';
+$labels['korean'] = 'Koreanskt';
+$labels['chinese'] = 'Kinesiskt';
+?>
diff --git a/program/localization/fo_FO/messages.inc b/program/localization/fo_FO/messages.inc
new file mode 100644
index 000000000..7bec7c974
--- /dev/null
+++ b/program/localization/fo_FO/messages.inc
@@ -0,0 +1,177 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | localization/<lang>/messages.inc |
+ | |
+ | Localization file of the Roundcube Webmail client |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/messages/
+*/
+$messages['errortitle'] = 'Ein feilur kom fyri!';
+$messages['loginfailed'] = 'Feilur í innriting.';
+$messages['cookiesdisabled'] = 'Kagi tín noktar cookies.';
+$messages['sessionerror'] = 'Seta tín er ógyldig ella útgingin.';
+$messages['storageerror'] = 'Feilur í samand til goymslu ambatara.';
+$messages['servererror'] = 'Ambatara Feilur!';
+$messages['servererrormsg'] = 'Ambatara Feilur: $msg';
+$messages['dberror'] = 'Dátugrun Feilur';
+$messages['requesttimedout'] = 'Umbøn gekk út';
+$messages['errorreadonly'] = 'Kann ikki fremja ger. Mappan kann einans lesast.';
+$messages['errornoperm'] = 'Kann ikki fremja ger. Atgongd nokta.';
+$messages['erroroverquota'] = 'Kann ikki fremja ger. Einki pláss á diski.';
+$messages['erroroverquotadelete'] = 'Einki pláss á diski. Brúka SHIFT+DEL fyri at strika boð.';
+$messages['invalidrequest'] = 'Ógyldig umbøn! Einki dáta varð goymt.';
+$messages['invalidhost'] = 'Ógyldigt ambatara navn.';
+$messages['nomessagesfound'] = 'Eingi boð í funnin hesum postkassa,';
+$messages['loggedout'] = 'Tú hevur strika tína setu. Farvæl!';
+$messages['mailboxempty'] = 'Postkassi er tómur';
+$messages['nomessages'] = 'Eingin boð';
+$messages['refreshing'] = 'Endur-innlesur...';
+$messages['loading'] = 'Innlesur...';
+$messages['uploading'] = 'Leggur fílu út...';
+$messages['uploadingmany'] = 'Leggur fílur út...';
+$messages['loadingdata'] = 'Innlesur dáta...';
+$messages['checkingmail'] = 'Kannar fyri nýggj boð...';
+$messages['sendingmessage'] = 'Sendur boð...';
+$messages['messagesent'] = 'Boðini vóru send.';
+$messages['savingmessage'] = 'Goymur boðini.';
+$messages['messagesaved'] = 'Boðini goymd til Skitsur';
+$messages['successfullysaved'] = 'Goymt.';
+$messages['savingresponse'] = 'Goymur svar tekst...';
+$messages['deleteresponseconfirm'] = 'Vilt tú veruliga strika hendan svar tekst?';
+$messages['addedsuccessfully'] = 'Persónur lagdur aftrat búðstaðar savn.';
+$messages['contactexists'] = 'Ein persónur við sama telduposti er longu til.';
+$messages['contactnameexists'] = 'Ein persónur við sama navn er longu til.';
+$messages['blockedimages'] = 'Fyri at verja tín privatlív so eru fjarmyndir sperraðar í hesum boði.';
+$messages['encryptedmessage'] = 'Hetta er eini brogla boð og kann ikki sýnast. Tíverri!';
+$messages['nocontactsfound'] = 'Eingir persónar funnir.';
+$messages['contactnotfound'] = 'Umbindni persónurin varð ikki funnin.';
+$messages['contactsearchonly'] = 'Skriva onkur leiti orð fyri at finna persónar';
+$messages['sendingfailed'] = 'Riggaði ikki at senda boð.';
+$messages['senttooquickly'] = 'Vinarliga bíða $sec sekund(ir) áðrenn tú sendur hetta boð.';
+$messages['errorsavingsent'] = 'Ein feilur kom fyri tá ið roynt var at goyma send boð.';
+$messages['errorsaving'] = 'Ein feilur kom fyri tá ið goymt var.';
+$messages['errormoving'] = 'Kundi ikki flyta boð(ini).';
+$messages['errorcopying'] = 'Kundi ikki avrita boð(ini).';
+$messages['errordeleting'] = 'Kundi ikki strika boð(ini).';
+$messages['errormarking'] = 'Kundi ikki merkja boð(ini).';
+$messages['deletecontactconfirm'] = 'Ert tú vísur í at tú vilt strika merkt(ar) persónar?';
+$messages['deletegroupconfirm'] = 'Ert tú vísur í at tú vilt strika valda bólk?';
+$messages['deletemessagesconfirm'] = 'Ert tú vísur í at tú vilt strika vald boð()?';
+$messages['deletefolderconfirm'] = 'Ert tú vísur í at tú vilt strika hesa mappu?';
+$messages['purgefolderconfirm'] = 'Ert tú vísur í at tú vilt strika øll boð í hesu mappu?';
+$messages['contactdeleting'] = 'Strikar persón(ar)...';
+$messages['groupdeleting'] = 'Strikar bólk...';
+$messages['folderdeleting'] = 'Strikar mappu...';
+$messages['foldermoving'] = 'Flytur mappu...';
+$messages['foldersubscribing'] = 'Tegnar til mappu...';
+$messages['folderunsubscribing'] = 'Ógyldar tekning til mappu...';
+$messages['formincomplete'] = 'Allir teigirnir vóru ikki fyltir út.';
+$messages['noemailwarning'] = 'Vinarliga skriva ein galdandi teldupost.';
+$messages['nonamewarning'] = 'Vinarliga skriva eitt navn.';
+$messages['nopagesizewarning'] = 'Vinarliga skriva síðu stødd.';
+$messages['nosenderwarning'] = 'Vinarliga skriva sendara teldupost búðstað.';
+$messages['norecipientwarning'] = 'Vinarliga skriva minst ein móttakara.';
+$messages['nosubjectwarning'] = 'Evna teigurin er tómur. Vilt tú skriva nakað í hann?';
+$messages['nobodywarning'] = 'Send hesi boð uttan tekst?';
+$messages['notsentwarning'] = 'Boðini vóru ikki send. Ynskir tú strika hetta boð?';
+$messages['restoresavedcomposedata'] = 'Eitt fyrrverandi skriva boð, men ósent, boð var funni.\n\nEvni: $subject\nGoymt: $date\n\nVilt tú endur stovna hetta boð?';
+$messages['noldapserver'] = 'Vinarliga vel ein ldap ambatara fyri at leita.';
+$messages['nosearchname'] = 'Vinarliga skriva eitt persón navn ella teldupost búðstað,';
+$messages['notuploadedwarning'] = 'Ikki allar viðheftingar eru uppsendar enn. Vinarliga bíða ella angra uppsendingina.';
+$messages['searchsuccessful'] = '$nr boð funnin.';
+$messages['contactsearchsuccessful'] = '$nr persónar funnir.';
+$messages['searchnomatch'] = 'Leiting gav eingin úrslit.';
+$messages['searching'] = 'Leitar...';
+$messages['checking'] = 'Kannar...';
+$messages['nospellerrors'] = 'Eingin stavifeilur funnin.';
+$messages['folderdeleted'] = 'Mappa sletta.';
+$messages['foldersubscribed'] = 'Mappa tekna til.';
+$messages['folderunsubscribed'] = 'Ógylt tekning til mappu.';
+$messages['folderpurged'] = 'Mappan er tómd.';
+$messages['folderexpunged'] = 'Mappan var samantrongd.';
+$messages['deletedsuccessfully'] = 'Strika uftan feilir.';
+$messages['converting'] = 'Tekur burt forsniðing...';
+$messages['messageopenerror'] = 'Kundi ikki lesa inn boð frá servara.';
+$messages['fileuploaderror'] = 'Fíla uppsending riggaði ikk.';
+$messages['filesizeerror'] = 'Uppsendi fílur er stórri enn grensan ið er $size.';
+$messages['copysuccess'] = 'Avrita $nr persónar.';
+$messages['movesuccess'] = 'Flutt $nr persónar.';
+$messages['copyerror'] = 'Kundi ikki avrita persónar.';
+$messages['moveerror'] = 'Kundi ikki flyta persónar.';
+$messages['sourceisreadonly'] = 'Hendan búðstaðar keldan er einans lesandi.';
+$messages['errorsavingcontact'] = 'Kann ikki goyma addressuna hjá persóni.';
+$messages['movingmessage'] = 'Flytur hetta(hesi) boð...';
+$messages['copyingmessage'] = 'Flytur hetta(hesi) boð...';
+$messages['copyingcontact'] = 'Avritar persón(ar)...';
+$messages['movingcontact'] = 'Flytur persón(ar)...';
+$messages['deletingmessage'] = 'Strikar boð(ini)...';
+$messages['markingmessage'] = 'Merkjur boð(ini)...';
+$messages['addingmember'] = 'Leggur persón(ar) aftrat bólk...';
+$messages['removingmember'] = 'Strikar persón(ar) frá bólkið...';
+$messages['receiptsent'] = 'Kvittan er sent.';
+$messages['errorsendingreceipt'] = 'Kundi ikki senda kvittan.';
+$messages['deleteidentityconfirm'] = 'Ert tú vísur í at tú vilt strika hendan samleika?';
+$messages['nodeletelastidentity'] = 'Tú kanst ikki strika hendan samleika, hetta er tann seinasti.';
+$messages['forbiddencharacter'] = 'Mappu navn inniheldur óloyvd tekin.';
+$messages['selectimportfile'] = 'Vinarliga vel eina fílu';
+$messages['addresswriterror'] = 'Valda búðstaðar bók kann ikki skrivast í.';
+$messages['contactaddedtogroup'] = 'Persónar vóru lagdir aftrat bólki.';
+$messages['contactremovedfromgroup'] = 'Persónar vóru strikaðir frá bólki';
+$messages['nogroupassignmentschanged'] = 'Eingin bólka tilluting broytt.';
+$messages['importwait'] = 'Flytur inn, vinarliga bíða...';
+$messages['importformaterror'] = 'Innflyting riggaði ikki! Tann uppsendi fílurin var ikki gyldigur dátu fílur.';
+$messages['importconfirm'] = '<b>$inserted Persónar innfluttir</b>';
+$messages['importconfirmskipped'] = '<b>Leyp um $skipped innsetanir</b>';
+$messages['importmessagesuccess'] = 'Innflutt $nr boð.';
+$messages['importmessageerror'] = 'Innflyting bar ikki til! Tann uppsendi fílurin er ikki gyldigur boð ella postkassa fílur';
+$messages['opnotpermitted'] = 'Ger ikki loyvd!';
+$messages['nofromaddress'] = 'Manglar teldupostur í valda samleika.';
+$messages['editorwarning'] = 'Um tú skiftur til reinan tekst verður øll forsniðing mist. Ynskir tú at halda fram?';
+$messages['httpreceivedencrypterror'] = 'Ein oyðandi samansetings feilur uppstóð. Vinarliga set teg í samband við umsitaran beinanvegin. <b>Tíni boð kundu ikki sendast.</b>';
+$messages['smtpconnerror'] = 'SMTP Feilur ($code): Samband til ambatara riggaði ikki.';
+$messages['smtpautherror'] = 'SMTP Feilur ($code): Atgongd nokta.';
+$messages['smtpfromerror'] = 'SMTP feilur ($code): Til bar ikki at seta sendarin til "$from" ($msg).';
+$messages['smtptoerror'] = 'SMTP feilur ($code): Til bar ikki at nýta móttakarin "$to" ($msg)';
+$messages['smtprecipientserror'] = 'SMTP feilur: Til bar ikki at greina móttakara listan.';
+$messages['smtperror'] = 'SMTP feilur: $msg';
+$messages['emailformaterror'] = 'Ógyldig teldupost búðstaður: $email';
+$messages['toomanyrecipients'] = 'Ov nógvir móttakarir. Minka um móttakarum til $max.';
+$messages['maxgroupmembersreached'] = 'Nummarið av limum í bólkinum gongur framvið hægsta mark ið er $max.';
+$messages['internalerror'] = 'Ein innanhýsis feilur kom fyri. Vinarliga royn aftur.';
+$messages['contactdelerror'] = 'Kann ikki strika persón(ar).';
+$messages['contactdeleted'] = 'Persón(ar) strikaðir.';
+$messages['contactrestoreerror'] = 'Kann ikki endurstovna persón(ar).';
+$messages['contactrestored'] = 'Persónur(ar) endurstovnaðir.';
+$messages['groupdeleted'] = 'Bólkur strikaður.';
+$messages['grouprenamed'] = 'Bólkur umdoyptur.';
+$messages['groupcreated'] = 'Bólkur stovnaður';
+$messages['savedsearchdeleted'] = 'Goymdar leitingar strikaðar';
+$messages['savedsearchdeleteerror'] = 'Kundi ikki strika goymdar leitingar.';
+$messages['savedsearchcreated'] = 'Goymdar leitingar stovnaðar.';
+$messages['savedsearchcreateerror'] = 'Kundi ikki stovna goymdar leitingar.';
+$messages['messagedeleted'] = 'Boð(ini) strika.';
+$messages['messagemoved'] = 'Boð(ini) flutt.';
+$messages['messagecopied'] = 'Boð(ini) avrita.';
+$messages['messagemarked'] = 'Boð(ini) merkt.';
+$messages['autocompletechars'] = 'Skriva minst $min tekin fyri sjálvvirkin útfylling riggar.';
+$messages['autocompletemore'] = 'Fleiri úrslit funnin. Vinarliga skriva fleiri tekin.';
+$messages['namecannotbeempty'] = 'Navn kann ikki verða tómt.';
+$messages['nametoolong'] = 'Navnið er ov langt.';
+$messages['folderupdated'] = 'Mappa dagført.';
+$messages['foldercreated'] = 'Mappa stovna.';
+$messages['invalidimageformat'] = 'Ikki eitt gyldigt mynda slag.';
+$messages['mispellingsfound'] = 'Stavuvillur funnar í tíni boð.';
+$messages['parentnotwritable'] = 'Kann ikki flyta/avrita mappu til valda mappu. Eingin atgongu-rættindi.';
+$messages['messagetoobig'] = 'Boðini eru ov stór til at handfara.';
+$messages['attachmentvalidationerror'] = 'ÃVARING! Hendan viðheftingin er undir illgruna av tí at viðheftingar slagið ikki samsvarar við slagið ið var nevnt í boðunum. Um tú ikki stólar uppá sendaran so burdi tú ikki opna viðheftingina í tínum kaga, tí at tað kann innihalda illviljað tilfar.<br/><br/><em>Væntað: $expected; Fann $detected</em>';
+$messages['noscriptwarning'] = 'Ãvaring: Hendan webmail tænastan krevur Javascript! Um tú vilt nýta hana, so vinarliga tendra Javascript í tínum kaga.';
+?>
diff --git a/program/localization/fr_FR/labels.inc b/program/localization/fr_FR/labels.inc
index f846471c2..41e642875 100644
--- a/program/localization/fr_FR/labels.inc
+++ b/program/localization/fr_FR/labels.inc
@@ -16,7 +16,7 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/labels/
*/
$labels['welcome'] = 'Bienvenue sur $product';
-$labels['username'] = 'Utilisateur';
+$labels['username'] = 'Nom d\'utilisateur';
$labels['password'] = 'Mot de passe';
$labels['server'] = 'Serveur';
$labels['login'] = 'Connexion';
@@ -24,12 +24,12 @@ $labels['logout'] = 'Déconnexion';
$labels['mail'] = 'Courriel';
$labels['settings'] = 'Paramètres';
$labels['addressbook'] = 'Carnet d\'adresses';
-$labels['inbox'] = 'Messages reçus';
+$labels['inbox'] = 'Boîte de réception';
$labels['drafts'] = 'Brouillons';
-$labels['sent'] = 'Messages envoyés';
+$labels['sent'] = 'Envoyés';
$labels['trash'] = 'Corbeille';
-$labels['junk'] = 'Indésirables';
-$labels['show_real_foldernames'] = 'Montrer les noms réels pour les dossiers spéciaux';
+$labels['junk'] = 'Pourriels';
+$labels['show_real_foldernames'] = 'Montrer les noms réels des dossiers spéciaux';
$labels['subject'] = 'Objet';
$labels['from'] = 'De';
$labels['sender'] = 'Expéditeur';
@@ -42,16 +42,17 @@ $labels['date'] = 'Date';
$labels['size'] = 'Taille';
$labels['priority'] = 'Priorité';
$labels['organization'] = 'Organisation';
-$labels['readstatus'] = 'Statut de lecture';
+$labels['readstatus'] = 'État de lecture';
$labels['listoptions'] = 'Lister les options...';
$labels['mailboxlist'] = 'Dossiers';
$labels['messagesfromto'] = 'Messages de $from à $to sur $count';
-$labels['threadsfromto'] = 'Fil de $from à $to sur $count';
+$labels['threadsfromto'] = 'Fils de $from à $to sur $count';
$labels['messagenrof'] = 'Message $nr sur $count';
$labels['fromtoshort'] = '$from – $to de $count';
$labels['copy'] = 'Copier';
$labels['move'] = 'Déplacer';
$labels['moveto'] = 'Déplacer vers...';
+$labels['copyto'] = 'Copier vers...';
$labels['download'] = 'Télécharger';
$labels['open'] = 'Ouvrir';
$labels['showattachment'] = 'Afficher';
@@ -98,154 +99,154 @@ $labels['longoct'] = 'Octobre';
$labels['longnov'] = 'Novembre';
$labels['longdec'] = 'Décembre';
$labels['today'] = 'Aujourd\'hui';
-$labels['refresh'] = 'Actualiser';
-$labels['checkmail'] = 'Vérification des nouveaux messages';
-$labels['compose'] = 'Composer un nouveau message';
-$labels['writenewmessage'] = 'Écrire un nouveau message';
+$labels['refresh'] = 'Rafraîchir';
+$labels['checkmail'] = 'Vérifier les nouveaux messages';
+$labels['compose'] = 'Rédiger';
+$labels['writenewmessage'] = 'Créer un nouveau message';
$labels['reply'] = 'Répondre';
$labels['replytomessage'] = 'Répondre à l\'expéditeur';
-$labels['replytoallmessage'] = 'Répondre à tous';
+$labels['replytoallmessage'] = 'Répondre à la liste, ou à l\'expéditeur et à tous les destinataires';
$labels['replyall'] = 'Répondre à tous';
$labels['replylist'] = 'Répondre à la liste';
$labels['forward'] = 'Transférer';
-$labels['forwardinline'] = 'Transférer dans le corps du message';
-$labels['forwardattachment'] = 'Transférer en pièce-jointe';
-$labels['forwardmessage'] = 'Transmettre le message';
+$labels['forwardinline'] = 'Transférer dans le message';
+$labels['forwardattachment'] = 'Transférer en fichier joint';
+$labels['forwardmessage'] = 'Transférer le message';
$labels['deletemessage'] = 'Supprimer le message';
$labels['movemessagetotrash'] = 'Déplacer le message dans la corbeille';
$labels['printmessage'] = 'Imprimer ce message';
-$labels['previousmessage'] = 'Voir le message précédent';
-$labels['firstmessage'] = 'Voir le premier message';
-$labels['nextmessage'] = 'Voir le message suivant';
-$labels['lastmessage'] = 'Voir le dernier message';
+$labels['previousmessage'] = 'Afficher le message précédent';
+$labels['firstmessage'] = 'Afficher le premier message';
+$labels['nextmessage'] = 'Afficher le message suivant';
+$labels['lastmessage'] = 'Afficher le dernier message';
$labels['backtolist'] = 'Retourner à la liste des messages';
-$labels['viewsource'] = 'Voir la source';
+$labels['viewsource'] = 'Afficher la source';
$labels['mark'] = 'Marquer';
$labels['markmessages'] = 'Marquer les messages';
-$labels['markread'] = 'Comme lu(s)';
-$labels['markunread'] = 'Comme non lu(s)';
-$labels['markflagged'] = 'Comme suivi(s)';
-$labels['markunflagged'] = 'Comme non-suivi(s)';
+$labels['markread'] = 'Comme lu';
+$labels['markunread'] = 'Comme non lu';
+$labels['markflagged'] = 'Comme signalé';
+$labels['markunflagged'] = 'Comme non signalé';
$labels['moreactions'] = 'Plus d\'actions...';
$labels['more'] = 'Plus';
$labels['back'] = 'Retour';
-$labels['options'] = 'Paramètres';
-$labels['select'] = 'Sélectionner';
+$labels['options'] = 'Options';
+$labels['select'] = 'Choisir';
$labels['all'] = 'Tous';
$labels['none'] = 'Aucun';
$labels['currpage'] = 'Page courante';
-$labels['unread'] = 'Non lu(s)';
-$labels['flagged'] = 'Marqué(s)';
-$labels['unanswered'] = 'Non répondu(s)';
-$labels['withattachment'] = 'Avec pièce jointe';
-$labels['deleted'] = 'Supprimé(s)';
-$labels['undeleted'] = 'Non supprimé(s)';
+$labels['unread'] = 'Non lu';
+$labels['flagged'] = 'Signalé';
+$labels['unanswered'] = 'Non répondu';
+$labels['withattachment'] = 'Avec fichier joint';
+$labels['deleted'] = 'Supprimé';
+$labels['undeleted'] = 'Non supprimé';
$labels['invert'] = 'Inverser';
-$labels['filter'] = 'Filtre';
+$labels['filter'] = 'Filtrer';
$labels['list'] = 'Lister';
$labels['threads'] = 'Sujets';
$labels['expand-all'] = 'Tout afficher';
$labels['expand-unread'] = 'Afficher non-lu(s)';
$labels['collapse-all'] = 'Fermer tous';
-$labels['threaded'] = 'Par sujet';
-$labels['autoexpand_threads'] = 'Développer les sujets';
-$labels['do_expand'] = 'Tous les sujets';
-$labels['expand_only_unread'] = 'uniquement avec des messages non-lus';
-$labels['fromto'] = 'Expéditeur/Destinataire';
-$labels['flag'] = 'Drapeau';
-$labels['attachment'] = 'Pièce jointe';
+$labels['threaded'] = 'Par fil';
+$labels['autoexpand_threads'] = 'Développer les fils de message';
+$labels['do_expand'] = 'Tous les fils';
+$labels['expand_only_unread'] = 'seulement avec des messages non lus';
+$labels['fromto'] = 'De/à';
+$labels['flag'] = 'Signaler';
+$labels['attachment'] = 'Fichier joint';
$labels['nonesort'] = 'Aucun';
$labels['sentdate'] = 'Date d\'envoi';
$labels['arrival'] = 'Date d\'arrivée';
-$labels['asc'] = 'Ascendant';
-$labels['desc'] = 'Descendant';
+$labels['asc'] = 'ascendant';
+$labels['desc'] = 'descendant';
$labels['listcolumns'] = 'Lister les colonnes';
$labels['listsorting'] = 'Colonne de tri';
$labels['listorder'] = 'Ordre de tri';
-$labels['listmode'] = 'Mode d\'affichage de la liste';
+$labels['listmode'] = 'Mode d\'affichage en liste';
$labels['folderactions'] = 'Actions du dossier...';
$labels['compact'] = 'Compacter';
$labels['empty'] = 'Vider';
$labels['importmessages'] = 'Importer des messages';
-$labels['quota'] = 'Occupation disque';
+$labels['quota'] = 'Utilisation du disque';
$labels['unknown'] = 'inconnue';
$labels['unlimited'] = 'illimitée';
$labels['quicksearch'] = 'Recherche rapide';
$labels['resetsearch'] = 'Réinitialiser la recherche';
-$labels['searchmod'] = 'Portée de la recherche';
+$labels['searchmod'] = 'Modificateurs de recherche';
$labels['msgtext'] = 'Message entier';
$labels['body'] = 'Corps';
$labels['type'] = 'Type';
$labels['namex'] = 'Nom';
$labels['openinextwin'] = 'Ouvrir dans une nouvelle fenêtre';
$labels['emlsave'] = 'Télécharger (.eml)';
-$labels['changeformattext'] = 'Afficher au format texte';
+$labels['changeformattext'] = 'Afficher au format texte en clair';
$labels['changeformathtml'] = 'Afficher au format HTML';
-$labels['editasnew'] = 'Éditer en tant que nouveau message';
+$labels['editasnew'] = 'Éditer comme nouveau';
$labels['send'] = 'Envoyer';
$labels['sendmessage'] = 'Envoyer un message';
-$labels['savemessage'] = 'Sauvegarder comme brouillon';
+$labels['savemessage'] = 'Enregistrer comme brouillon';
$labels['addattachment'] = 'Joindre un fichier';
-$labels['charset'] = 'Encodage';
+$labels['charset'] = 'Jeu de caractères';
$labels['editortype'] = 'Type d\'éditeur';
$labels['returnreceipt'] = 'Accusé de réception';
$labels['dsn'] = 'Notification d\'état de distribution';
$labels['mailreplyintro'] = 'Le $date, $sender a écrit :';
$labels['originalmessage'] = 'Message original';
-$labels['editidents'] = 'Modifier les identités';
+$labels['editidents'] = 'Éditer les identités';
$labels['spellcheck'] = 'Orthographe';
-$labels['checkspelling'] = 'Vérifier l\'orthographe';
+$labels['checkspelling'] = 'Vérification de l\'orthographe';
$labels['resumeediting'] = 'Retourner à l\'édition';
$labels['revertto'] = 'Revenir à';
$labels['restore'] = 'Restaurer';
-$labels['restoremessage'] = 'Restaurer le message ?';
+$labels['restoremessage'] = 'Restaurer le message?';
$labels['responses'] = 'Réponses';
$labels['insertresponse'] = 'Insérer une réponse';
$labels['manageresponses'] = 'Gérer les réponses';
-$labels['savenewresponse'] = 'Sauvegarder une nouvelle réponse';
-$labels['editresponses'] = 'Editer les réponses';
-$labels['editresponse'] = 'Editer la réponse';
+$labels['savenewresponse'] = 'Enregistrer une nouvelle réponse';
+$labels['editresponses'] = 'Éditer les réponses';
+$labels['editresponse'] = 'Éditer la réponse';
$labels['responsename'] = 'Nom';
$labels['responsetext'] = 'Texte de la réponse';
$labels['attach'] = 'Joindre';
$labels['attachments'] = 'Fichiers joints';
-$labels['upload'] = 'Transférer';
+$labels['upload'] = 'Téléverser';
$labels['uploadprogress'] = '$percent ($current sur $total)';
$labels['close'] = 'Fermer';
-$labels['messageoptions'] = 'Options du message';
+$labels['messageoptions'] = 'Options du message...';
$labels['low'] = 'Basse';
$labels['lowest'] = 'La plus basse';
$labels['normal'] = 'Normale';
$labels['high'] = 'Élevée';
$labels['highest'] = 'La plus élevée';
-$labels['nosubject'] = '(pas de sujet)';
+$labels['nosubject'] = '(pas d\'objet)';
$labels['showimages'] = 'Afficher les images';
$labels['alwaysshow'] = 'Toujours afficher les images de $sender';
$labels['isdraft'] = 'Ceci est un brouillon.';
-$labels['andnmore'] = 'Plus de $nr...';
-$labels['togglemoreheaders'] = 'Afficher plus d\'en-têtes du message';
-$labels['togglefullheaders'] = 'Afficher/Cacher l\'entête du message';
+$labels['andnmore'] = '$nr de plus...';
+$labels['togglemoreheaders'] = 'Afficher plus d\'en-têtes de messages';
+$labels['togglefullheaders'] = 'Afficher/masquer les en-têtes brutes de messages';
$labels['htmltoggle'] = 'HTML';
-$labels['plaintoggle'] = 'Texte brut';
+$labels['plaintoggle'] = 'Texte en clair';
$labels['savesentmessagein'] = 'Enregistrer le message envoyé dans';
$labels['dontsave'] = 'ne pas enregistrer';
-$labels['maxuploadsize'] = 'La taille maximum autorisée pour un fichier est $size';
+$labels['maxuploadsize'] = 'La taille de fichier maximum autorisée est $size';
$labels['addcc'] = 'Ajouter Cc';
$labels['addbcc'] = 'Ajouter Cci';
$labels['addreplyto'] = 'Ajouter Répondre à';
-$labels['addfollowupto'] = 'Ajouter Faire suivre à';
-$labels['mdnrequest'] = 'L\'expéditeur de ce message a demandé d\'être prévenu quand vous lirez ce message. Souhaitez-vous prévenir l\'expéditeur ?';
+$labels['addfollowupto'] = 'Ajouter Transférer à';
+$labels['mdnrequest'] = 'L\'expéditeur de ce message a demandé d\'être prévenu quand vous lirez ce message. Souhaitez-vous prévenir l\'expéditeur?';
$labels['receiptread'] = 'Accusé de réception (lu)';
$labels['yourmessage'] = 'Ceci est un accusé de réception pour votre message';
-$labels['receiptnote'] = 'Note : Cet accusé de réception indique seulement que le message a été affiché sur l\'ordinateur du destinataire. Il n\'y a aucune garantie que le destinataire ait lu ou compris le contenu du message.';
+$labels['receiptnote'] = 'Note : cet accusé indique seulement que le message a été affiché sur l\'ordinateur du destinataire. Il n\'y a aucune garantie que le destinataire ait lu ou compris le contenu du message.';
$labels['name'] = 'Nom à afficher';
$labels['firstname'] = 'Prénom';
-$labels['surname'] = 'Nom';
-$labels['middlename'] = 'Nom du milieu (US)';
+$labels['surname'] = 'Nom de famille';
+$labels['middlename'] = 'Second prénom';
$labels['nameprefix'] = 'Préfixe';
$labels['namesuffix'] = 'Suffixe';
$labels['nickname'] = 'Surnom';
-$labels['jobtitle'] = 'Fonction';
+$labels['jobtitle'] = 'Appellation d\'emploi';
$labels['department'] = 'Service';
$labels['gender'] = 'Sexe';
$labels['maidenname'] = 'Nom de jeune fille';
@@ -255,39 +256,39 @@ $labels['address'] = 'Adresse';
$labels['street'] = 'Rue';
$labels['locality'] = 'Ville';
$labels['zipcode'] = 'Code postal';
-$labels['region'] = 'Région';
+$labels['region'] = 'État/province/région';
$labels['country'] = 'Pays';
$labels['birthday'] = 'Date de naissance';
$labels['anniversary'] = 'Anniversaire';
$labels['website'] = 'Site Web';
-$labels['instantmessenger'] = 'Messagerie instantanée';
+$labels['instantmessenger'] = 'MI';
$labels['notes'] = 'Notes';
-$labels['male'] = 'Homme';
-$labels['female'] = 'Femme';
-$labels['manager'] = 'Manager';
-$labels['assistant'] = 'Assistante';
-$labels['spouse'] = 'Épouse';
+$labels['male'] = 'homme';
+$labels['female'] = 'femme';
+$labels['manager'] = 'Gestionnaire';
+$labels['assistant'] = 'Assistant';
+$labels['spouse'] = 'Époux/épouse';
$labels['allfields'] = 'Tous les champs';
-$labels['search'] = 'Rechercher';
+$labels['search'] = 'Recherche';
$labels['advsearch'] = 'Recherche avancée';
$labels['advanced'] = 'Détails';
$labels['other'] = 'Autre';
$labels['typehome'] = 'Domicile';
$labels['typework'] = 'Travail';
$labels['typeother'] = 'Autre';
-$labels['typemobile'] = 'Mobile';
+$labels['typemobile'] = 'Téléphone mobile';
$labels['typemain'] = 'Principale';
$labels['typehomefax'] = 'Fax personnel';
$labels['typeworkfax'] = 'Fax professionnel';
$labels['typecar'] = 'Voiture';
-$labels['typepager'] = 'Pager';
+$labels['typepager'] = 'Téléavertisseur';
$labels['typevideo'] = 'Vidéo';
-$labels['typeassistant'] = 'Assistante';
-$labels['typehomepage'] = 'Accueil';
-$labels['typeblog'] = 'Blog';
+$labels['typeassistant'] = 'Assistant';
+$labels['typehomepage'] = 'Page d\'accueil';
+$labels['typeblog'] = 'Blogue';
$labels['typeprofile'] = 'Profil';
$labels['addfield'] = 'Ajouter un champ...';
-$labels['addcontact'] = 'Ajouter le contact sélectionné à votre carnet d\'adresses';
+$labels['addcontact'] = 'Ajouter comme nouveau contact';
$labels['editcontact'] = 'Modifier le contact';
$labels['contacts'] = 'Contacts';
$labels['contactproperties'] = 'Propriétés du contact';
@@ -299,27 +300,27 @@ $labels['delete'] = 'Supprimer';
$labels['rename'] = 'Renommer';
$labels['addphoto'] = 'Ajouter';
$labels['replacephoto'] = 'Remplacer';
-$labels['uploadphoto'] = 'Transférer une photo';
-$labels['newcontact'] = 'Créer un nouveau contact';
+$labels['uploadphoto'] = 'Téléverser une photo';
+$labels['newcontact'] = 'Créer une nouvelle carte de contact';
$labels['deletecontact'] = 'Supprimer les contacts sélectionnés';
-$labels['composeto'] = 'Écrire un message à';
+$labels['composeto'] = 'Rédiger un message à';
$labels['contactsfromto'] = 'Contacts de $from à $to sur $count';
$labels['print'] = 'Imprimer';
$labels['export'] = 'Exporter';
-$labels['exportall'] = 'Exporter tout';
+$labels['exportall'] = 'Tout exporter';
$labels['exportsel'] = 'Exporter la sélection';
$labels['exportvcards'] = 'Exporter les contacts au format vCard';
$labels['newcontactgroup'] = 'Créer un nouveau groupe de contacts';
$labels['grouprename'] = 'Renommer le groupe';
$labels['groupdelete'] = 'Supprimer le groupe';
$labels['groupremoveselected'] = 'Retirer les contacts sélectionnés du groupe';
-$labels['previouspage'] = 'Montrer page précédente';
-$labels['firstpage'] = 'Voir la première page';
-$labels['nextpage'] = 'Montrer page suivante';
-$labels['lastpage'] = 'Voir la dernière page';
+$labels['previouspage'] = 'Afficher page précédente';
+$labels['firstpage'] = 'Afficher la première page';
+$labels['nextpage'] = 'Afficher la page suivante';
+$labels['lastpage'] = 'Afficher la dernière page';
$labels['group'] = 'Groupe';
$labels['groups'] = 'Groupes';
-$labels['listgroup'] = 'Liste des membres du groupe';
+$labels['listgroup'] = 'Lister les membres du groupe';
$labels['personaladrbook'] = 'Adresses personnelles';
$labels['searchsave'] = 'Enregistrer la recherche';
$labels['searchdelete'] = 'Supprimer la recherche';
@@ -328,13 +329,13 @@ $labels['importcontacts'] = 'Importer les contacts';
$labels['importfromfile'] = 'Importer depuis un fichier :';
$labels['importtarget'] = 'Ajouter les contacts à';
$labels['importreplace'] = 'Remplacer le carnet d\'adresses entier';
-$labels['importgroups'] = 'Importer les affectations de groupe';
+$labels['importgroups'] = 'Importer les affectations de groupes';
$labels['importgroupsall'] = 'Tous (créer les groupes si nécessaire)';
-$labels['importgroupsexisting'] = 'Uniquement pour les groupes existants';
-$labels['importdesc'] = 'Vous pouvez transférer des contacts à partir d\'un carnet d\'adresses existant.<br/>Nous supportons actuellement l\'importation d\'adresses à partir des format de données <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> ou CSV (champs séparés par une virgule).';
+$labels['importgroupsexisting'] = 'Seulement pour les groupes existants';
+$labels['importdesc'] = 'Vous pouvez téléverser des contacts à partir d\'un carnet d\'adresses existant.<br/>Nous prenons en charge présentement l\'importation d\'adresses à partir des format de données <a href="http://fr.wikipedia.org/wiki/VCard">vCard</a> ou CSV (séparé par une virgule).';
$labels['done'] = 'Terminé';
$labels['settingsfor'] = 'Paramètres pour';
-$labels['about'] = 'A propos';
+$labels['about'] = 'À propos de';
$labels['preferences'] = 'Préférences';
$labels['userpreferences'] = 'Préférences utilisateur';
$labels['editpreferences'] = 'Modifier les préférences utilisateur';
@@ -344,102 +345,103 @@ $labels['newidentity'] = 'Nouvelle identité';
$labels['newitem'] = 'Nouvel élément';
$labels['edititem'] = 'Modifier l\'élément';
$labels['preferhtml'] = 'Afficher en HTML';
-$labels['defaultcharset'] = 'Encodage par défaut';
+$labels['defaultcharset'] = 'Jeu de caractère par défaut';
$labels['htmlmessage'] = 'Message en HTML';
$labels['messagepart'] = 'Partie';
$labels['digitalsig'] = 'Signature numérique';
$labels['dateformat'] = 'Format de la date';
$labels['timeformat'] = 'Format de l\'heure';
$labels['prettydate'] = 'Affichage court des dates';
-$labels['setdefault'] = 'Paramètres par défaut';
+$labels['setdefault'] = 'Définir les paramètres par défaut';
$labels['autodetect'] = 'Automatique';
$labels['language'] = 'Langue';
$labels['timezone'] = 'Fuseau horaire';
-$labels['pagesize'] = 'Nombre de lignes par page';
+$labels['pagesize'] = 'Lignes par page';
$labels['signature'] = 'Signature';
-$labels['dstactive'] = 'Heure d\'été';
+$labels['dstactive'] = 'Heure avancée';
$labels['showinextwin'] = 'Ouvrir le message dans une nouvelle fenêtre';
-$labels['composeextwin'] = 'Écrire dans une nouvelle fenêtre';
-$labels['htmleditor'] = 'Composer un message au format HTML';
-$labels['htmlonreply'] = 'en réponse aux messages HTML uniquement';
-$labels['htmlonreplyandforward'] = 'Transférer ou répondre au message HTML';
+$labels['composeextwin'] = 'Rédiger dans une nouvelle fenêtre';
+$labels['htmleditor'] = 'Rédiger un message au format HTML';
+$labels['htmlonreply'] = 'en réponse à un message en HTML';
+$labels['htmlonreplyandforward'] = 'lors d\'un transfert ou en réponse à un message en HTML';
$labels['htmlsignature'] = 'Signature HTML';
-$labels['showemail'] = 'Montrer l\'adresse de courriel avec le nom complet';
+$labels['showemail'] = 'Montrer l\'adresse courriel avec le nom d\'affichage';
$labels['previewpane'] = 'Afficher le panneau d\'aperçu';
-$labels['skin'] = 'Thème de l\'interface';
+$labels['skin'] = 'Habillage de l\'interface';
$labels['logoutclear'] = 'Vider la corbeille à la déconnexion';
$labels['logoutcompact'] = 'Compacter la boite de réception à la déconnexion';
$labels['uisettings'] = 'Interface utilisateur';
$labels['serversettings'] = 'Paramètres du serveur';
-$labels['mailboxview'] = 'Vue du courrier';
-$labels['mdnrequests'] = 'Notifications à l\'expéditeur';
-$labels['askuser'] = 'demander à l\'utilisateur';
-$labels['autosend'] = 'envoyer automatiquement';
-$labels['autosendknown'] = 'Envoyer un avis de réception uniquement à mes contacts';
-$labels['autosendknownignore'] = 'envoie un accusé à mes contacts, sinon ignorer';
+$labels['mailboxview'] = 'Affichage de la boîte de courrier';
+$labels['mdnrequests'] = 'À la demande d\'un accusé de réception';
+$labels['askuser'] = 'me demander';
+$labels['autosend'] = 'envoyer l\'accusé';
+$labels['autosendknown'] = 'envoyer un accusé de réception à mes contacts, autrement me demander';
+$labels['autosendknownignore'] = 'envoyer un accusé à mes contacts, sinon ignorer';
$labels['ignore'] = 'ignorer';
$labels['readwhendeleted'] = 'Marquer le message comme lu à la suppression';
-$labels['flagfordeletion'] = 'Mettre le drapeau de suppression au lieu de supprimer';
+$labels['flagfordeletion'] = 'Signaler le message pour la suppression au lieu de le supprimer';
$labels['skipdeleted'] = 'Ne pas montrer les messages supprimés';
-$labels['deletealways'] = 'Lorsque le déplacement des messages à la corbeille échoue, supprimez-les';
+$labels['deletealways'] = 'Si le déplacement des messages à la corbeille échoue, les supprimer';
$labels['deletejunk'] = 'Supprimer directement les pourriels';
-$labels['showremoteimages'] = 'Afficher les images distantes';
-$labels['fromknownsenders'] = 'venant d\'expéditeurs connus';
+$labels['showremoteimages'] = 'Afficher les images distantes des messages';
+$labels['fromknownsenders'] = 'provenant d\'expéditeurs connus';
$labels['always'] = 'toujours';
-$labels['showinlineimages'] = 'Afficher les images attachées après le message';
-$labels['autosavedraft'] = 'Enregistrement automatique des brouillons';
+$labels['showinlineimages'] = 'Afficher les images jointes sous le message';
+$labels['autosavedraft'] = 'Enregistrer automatiquement le brouillon';
$labels['everynminutes'] = 'toutes les $n minute(s)';
-$labels['refreshinterval'] = 'Rafraîchir (Vérifier les nouveaux messages, etc.)';
+$labels['refreshinterval'] = 'Rafraîchir (vérifier les nouveaux messages, etc...)';
$labels['never'] = 'jamais';
$labels['immediately'] = 'Immédiatement';
$labels['messagesdisplaying'] = 'Affichage des messages';
-$labels['messagescomposition'] = 'Écriture des messages';
-$labels['mimeparamfolding'] = 'Nom du fichier attaché';
-$labels['2231folding'] = 'RFC 2231 complète (Thunderbird)';
+$labels['messagescomposition'] = 'Rédaction des messages';
+$labels['mimeparamfolding'] = 'Noms des fichiers joints';
+$labels['2231folding'] = 'RFC 2231 complet (Thunderbird)';
$labels['miscfolding'] = 'RFC 2047/2231 (MS Outlook)';
-$labels['2047folding'] = 'RFC 2047 complète (autre)';
-$labels['force7bit'] = 'Encoder les caractères 8 bits au format MIME';
+$labels['2047folding'] = 'RFC 2047 complet (autre)';
+$labels['force7bit'] = 'Utiliser l\'encodage MIME pour les caractères 8 bits';
$labels['advancedoptions'] = 'Options avancées';
-$labels['focusonnewmessage'] = 'Placer le focus sur la fenêtre quand un nouveau message arrive';
-$labels['checkallfolders'] = 'Vérifier tous les dossiers pour les nouveaux messages';
-$labels['displaynext'] = 'Après suppression/déplacement du message, afficher le message suivant';
+$labels['focusonnewmessage'] = 'Cibler la fenêtre du navigateur quand un nouveau message arrive';
+$labels['checkallfolders'] = 'Vérifier les nouveaux messages dans tous les dossiers';
+$labels['displaynext'] = 'Après avoir supprimé/déplacé un message, afficher le suivant';
$labels['defaultfont'] = 'Police par défaut des messages en HTML';
$labels['mainoptions'] = 'Options principales';
$labels['browseroptions'] = 'Options du navigateur';
$labels['section'] = 'Section';
$labels['maintenance'] = 'Maintenance';
-$labels['newmessage'] = 'Nouveau Message';
-$labels['signatureoptions'] = 'Options pour la signature';
-$labels['whenreplying'] = 'En répondant';
-$labels['replyempty'] = 'Ne pas citer le message original';
-$labels['replytopposting'] = 'commencer le nouveau message au-dessus de l\'original';
-$labels['replybottomposting'] = 'commencer le nouveau message en-dessous de l\'original';
-$labels['replyremovesignature'] = 'Supprimer la signature d\'origine du message lors de la réponse';
-$labels['autoaddsignature'] = 'Ajouter la signature automatiquement';
-$labels['newmessageonly'] = 'nouveau message uniquement';
-$labels['replyandforwardonly'] = 'réponses et transferts uniquement';
+$labels['newmessage'] = 'Nouveau message';
+$labels['signatureoptions'] = 'Options de signature';
+$labels['whenreplying'] = 'Lors d\'une réponse';
+$labels['replyempty'] = 'ne pas citer le message original';
+$labels['replytopposting'] = 'commencer le nouveau message au-dessus de la citation';
+$labels['replybottomposting'] = 'commencer le nouveau message en-dessous de la citation';
+$labels['replyremovesignature'] = 'Lors de la réponse, supprimer la signature originale du message ';
+$labels['autoaddsignature'] = 'Ajouter automatiquement la signature';
+$labels['newmessageonly'] = 'nouveau message seulement';
+$labels['replyandforwardonly'] = 'réponses et transferts seulement';
$labels['insertsignature'] = 'Insérer la signature';
$labels['previewpanemarkread'] = 'Marquer les messages prévisualisés comme lus';
$labels['afternseconds'] = 'après $n secondes';
-$labels['reqmdn'] = 'Toujours demander un avis de réception';
+$labels['reqmdn'] = 'Toujours demander un accusé de réception';
$labels['reqdsn'] = 'Toujours demander une notification d\'état de distribution';
$labels['replysamefolder'] = 'Placer les réponses dans le dossier du message auquel il est répondu';
$labels['defaultabook'] = 'Carnet d\'adresses par défaut';
-$labels['autocompletesingle'] = 'Ne pas tenir compte des adresses de courriel alternatives dans l\'autoremplissage';
+$labels['autocompletesingle'] = 'Ignorer les adresses de courriel alternatives du remplissage automatique';
$labels['listnamedisplay'] = 'Lister les contacts comme';
-$labels['spellcheckbeforesend'] = 'Vérifier l’orthographe avant l’envoi d’un message';
+$labels['spellcheckbeforesend'] = 'Vérifier l’orthographe avant d\'envoyer un message';
$labels['spellcheckoptions'] = 'Options du vérificateur d\'orthographe';
$labels['spellcheckignoresyms'] = 'Ignorer les mots avec des symboles';
$labels['spellcheckignorenums'] = 'Ignorer les mots avec des nombres';
$labels['spellcheckignorecaps'] = 'Ignorer les mots entièrement en majuscule';
$labels['addtodict'] = 'Ajouter au dictionnaire';
$labels['mailtoprotohandler'] = 'Enregistrer le gestionnaire de protocole pour les liens mailto:';
-$labels['standardwindows'] = 'Manipuler les menus surgissants comme des fenêtres standards';
+$labels['standardwindows'] = 'Considérer les fenêtres intempestives comme des fenêtres habituelles';
$labels['forwardmode'] = 'Transfert des messages';
-$labels['inline'] = 'dans le corps';
-$labels['asattachment'] = 'en pièce jointe';
-$labels['replyalldefault'] = 'Répondre à tous';
-$labels['replyalllist'] = 'Répondre uniquement à la liste de diffusion (si trouvée)';
+$labels['inline'] = 'dans le message';
+$labels['asattachment'] = 'en fichier joint';
+$labels['replyallmode'] = 'Action par défaut du bouton [Répondre à tous]';
+$labels['replyalldefault'] = 'répondre à tous';
+$labels['replyalllist'] = 'répondre seulement à la liste de diffusion (si trouvée)';
$labels['folder'] = 'Dossier';
$labels['folders'] = 'Dossiers';
$labels['foldername'] = 'Nom du dossier';
@@ -447,29 +449,29 @@ $labels['subscribed'] = 'Abonné';
$labels['messagecount'] = 'Messages';
$labels['create'] = 'Créer';
$labels['createfolder'] = 'Créer un nouveau dossier';
-$labels['managefolders'] = 'Organiser les dossiers';
+$labels['managefolders'] = 'Gérer les dossiers';
$labels['specialfolders'] = 'Dossiers spéciaux';
$labels['properties'] = 'Propriétés';
$labels['folderproperties'] = 'Propriétés du dossier';
$labels['parentfolder'] = 'Dossier parent';
-$labels['location'] = 'Localisation';
-$labels['info'] = 'Information';
+$labels['location'] = 'Emplacement';
+$labels['info'] = 'Informations';
$labels['getfoldersize'] = 'Cliquer pour obtenir la taille de dossier';
-$labels['changesubscription'] = 'Cliquer pour modifier l\'inscription';
-$labels['foldertype'] = 'Type de répertoire';
-$labels['personalfolder'] = 'Répertoire privé';
-$labels['otherfolder'] = 'Répertoire d\'autres utilisateurs';
-$labels['sharedfolder'] = 'Répertoire public';
+$labels['changesubscription'] = 'Cliquer pour modifier l\'abonnement';
+$labels['foldertype'] = 'Type de dossier';
+$labels['personalfolder'] = 'Dossier privé';
+$labels['otherfolder'] = 'Dossier d\'autres utilisateurs';
+$labels['sharedfolder'] = 'Dossier public';
$labels['sortby'] = 'Trier par';
$labels['sortasc'] = 'Tri ascendant';
$labels['sortdesc'] = 'Tri descendant';
$labels['undo'] = 'Annuler';
-$labels['installedplugins'] = 'Extensions installées';
-$labels['plugin'] = 'Plugin';
+$labels['installedplugins'] = 'Plugiciels installés';
+$labels['plugin'] = 'Plugiciel';
$labels['version'] = 'Version';
$labels['source'] = 'Source';
$labels['license'] = 'Licence';
-$labels['support'] = 'Obtenir un support technique';
+$labels['support'] = 'Obtenir du soutien';
$labels['B'] = 'o';
$labels['KB'] = 'ko';
$labels['MB'] = 'Mo';
@@ -478,15 +480,15 @@ $labels['unicode'] = 'Unicode';
$labels['english'] = 'Anglais';
$labels['westerneuropean'] = 'Europe de l\'Ouest';
$labels['easterneuropean'] = 'Europe de l\'Est';
-$labels['southeasterneuropean'] = 'Europe du Sud Est';
+$labels['southeasterneuropean'] = 'Europe du Sud-Est';
$labels['baltic'] = 'Baltique';
$labels['cyrillic'] = 'Cyrillique';
$labels['arabic'] = 'Arabe';
$labels['greek'] = 'Grec';
$labels['hebrew'] = 'Hébreu';
-$labels['turkish'] = 'Turque';
+$labels['turkish'] = 'Turc';
$labels['nordic'] = 'Nordique';
-$labels['thai'] = 'Thaïlandais';
+$labels['thai'] = 'Thaï';
$labels['celtic'] = 'Celtique';
$labels['vietnamese'] = 'Vietnamien';
$labels['japanese'] = 'Japonais';
diff --git a/program/localization/fr_FR/messages.inc b/program/localization/fr_FR/messages.inc
index fcf9eaf92..82d883c34 100644
--- a/program/localization/fr_FR/messages.inc
+++ b/program/localization/fr_FR/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -15,159 +15,163 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/messages/
*/
-$messages['errortitle'] = 'Une erreur est survenue !';
-$messages['loginfailed'] = 'L\'authentification a échoué.';
-$messages['cookiesdisabled'] = 'Votre navigateur n\'accepte pas les cookies.';
+$messages['errortitle'] = 'Une erreur est survenue!';
+$messages['loginfailed'] = 'La connexion a échoué.';
+$messages['cookiesdisabled'] = 'Votre navigateur n\'accepte pas les fichiers témoins.';
$messages['sessionerror'] = 'Votre session est invalide ou a expiré.';
-$messages['storageerror'] = 'Erreur de connexion au serveur IMAP.';
-$messages['servererror'] = 'Erreur Serveur !';
-$messages['servererrormsg'] = 'Erreur du serveur : $msg';
-$messages['dberror'] = 'Erreur avec la base de données !';
+$messages['storageerror'] = 'Erreur de connexion au serveur de stockage.';
+$messages['servererror'] = 'Erreur de serveur!';
+$messages['servererrormsg'] = 'Erreur de serveur : $msg';
+$messages['dberror'] = 'Erreur de base de données!';
$messages['requesttimedout'] = 'Délai de la requête expiré';
-$messages['errorreadonly'] = 'Impossible d\'effectuer cette opération. Le dossier est en lecture seule.';
-$messages['errornoperm'] = 'Impossible d\'effectuer cette opération. Permission refusée.';
-$messages['erroroverquota'] = 'Impossible d\'effectuer cette opération. Plus d\'espace libre.';
-$messages['erroroverquotadelete'] = 'Plus d\'espace libre. Utilisez SHIFT+DEL pour supprimer un message.';
-$messages['invalidrequest'] = 'Requête invalide ! Aucune donnée n\'a été sauvegardée.';
+$messages['errorreadonly'] = 'Impossible d\'effectuer l\'opération. Le dossier est en lecture seule.';
+$messages['errornoperm'] = 'Impossible d\'effectuer l\'opération. Permission refusée.';
+$messages['erroroverquota'] = 'Impossible d\'effectuer l\'opération. Aucun espace disque libre.';
+$messages['erroroverquotadelete'] = 'Aucun espace disque libre. Utiliser Maj+Suppr pour supprimer un message.';
+$messages['invalidrequest'] = 'Requête invalide! Aucune donnée n\'a été enregistrée.';
$messages['invalidhost'] = 'Nom du serveur invalide.';
-$messages['nomessagesfound'] = 'Cette boîte aux lettres ne contient aucun message.';
-$messages['loggedout'] = 'Vous vous êtes correctement déconnecté. Au revoir !';
-$messages['mailboxempty'] = 'La boîte aux lettres est vide.';
-$messages['refreshing'] = 'Rafraîchissement en cours...';
-$messages['loading'] = 'Chargement en cours...';
-$messages['uploading'] = 'Transfert du fichier en cours...';
-$messages['uploadingmany'] = 'Transfert des fichiers en cours...';
-$messages['loadingdata'] = 'Chargement des données en cours...';
+$messages['nomessagesfound'] = 'Aucun message trouvé dans cette boîte de coourriel';
+$messages['loggedout'] = 'Vous avez correctement terminé cette session. Au revoir!';
+$messages['mailboxempty'] = 'La boîte de courriel est vide';
+$messages['nomessages'] = 'Aucun message';
+$messages['refreshing'] = 'Rafraîchissement...';
+$messages['loading'] = 'Chargement...';
+$messages['uploading'] = 'Téléversement du fichier...';
+$messages['uploadingmany'] = 'Téléversement des fichiers...';
+$messages['loadingdata'] = 'Chargement des données...';
$messages['checkingmail'] = 'Vérification des nouveaux messages...';
-$messages['sendingmessage'] = 'Envoi du message en cours...';
-$messages['messagesent'] = 'Le message a bien été expédié.';
-$messages['savingmessage'] = 'Sauvegarde du message en cours...';
+$messages['sendingmessage'] = 'Envoi du message...';
+$messages['messagesent'] = 'Le message a été envoyé avec succès.';
+$messages['savingmessage'] = 'Enregistrement du message...';
$messages['messagesaved'] = 'Message sauvegardé dans Brouillons.';
-$messages['successfullysaved'] = 'La sauvegarde a bien été effectuée.';
-$messages['addedsuccessfully'] = 'Le contact a bien été ajouté dans le carnet d\'adresses.';
-$messages['contactexists'] = 'Cette adresse courriel est utilisée par un autre contact.';
-$messages['contactnameexists'] = 'Il existe déjà un contact nommé ainsi.';
-$messages['blockedimages'] = 'Les images distantes sont bloquées pour protéger votre vie privée.';
-$messages['encryptedmessage'] = 'Désolé, ce message est chiffré et ne peut être affiché.';
-$messages['nocontactsfound'] = 'Aucun contact n\'a pu être trouvé.';
+$messages['successfullysaved'] = 'Enregistré avec succès.';
+$messages['savingresponse'] = 'Enregistrement du texte de réponse...';
+$messages['deleteresponseconfirm'] = 'Voulez-vous vraiment supprimer ce texte de réponse?';
+$messages['addedsuccessfully'] = 'Le contact a été ajouté avec succès au carnet d\'adresses.';
+$messages['contactexists'] = 'Un contact avec la même adresse courriel existe déjà.';
+$messages['contactnameexists'] = 'Un contact avec le même nom existe déjà.';
+$messages['blockedimages'] = 'Pour protéger votre confidentialité, les images distantes sont bloquées dans ce message.';
+$messages['encryptedmessage'] = 'Ce message est chiffré et ne peut pas être affiché. Désolé!';
+$messages['nocontactsfound'] = 'Aucun contact n\'a été trouvé.';
$messages['contactnotfound'] = 'Le contact demandé n\'a pas été trouvé.';
-$messages['contactsearchonly'] = 'Entrez un ou plusieurs mots clés pour trouver des contacts.';
-$messages['sendingfailed'] = 'L\'envoi du message a échoué.';
-$messages['senttooquickly'] = 'Veuillez patienter $sec s. pour envoyer ce message.';
-$messages['errorsavingsent'] = 'Une erreur est apparue durant l\'enregistrement du message envoyé.';
-$messages['errorsaving'] = 'Une erreur est apparue durant l\'enregistrement.';
+$messages['contactsearchonly'] = 'Saisir des termes d\'interrogation pour trouver des contacts.';
+$messages['sendingfailed'] = 'Échec lors de l\'envoi du message.';
+$messages['senttooquickly'] = 'Veuillez patienter $sec s avant d\'envoyer ce message.';
+$messages['errorsavingsent'] = 'Une erreur est survenue durant l\'enregistrement du message envoyé.';
+$messages['errorsaving'] = 'Une erreur est survenue durant l\'enregistrement.';
$messages['errormoving'] = 'Impossible de déplacer le(s) message(s).';
$messages['errorcopying'] = 'Impossible de copier le(s) message(s).';
$messages['errordeleting'] = 'Impossible de supprimer le(s) message(s).';
$messages['errormarking'] = 'Impossible de marquer le(s) message(s).';
-$messages['deletecontactconfirm'] = 'Êtes-vous sûr de vouloir supprimer le(s) contact(s) sélectionné(s) ?';
-$messages['deletegroupconfirm'] = 'Êtes-vous sûr de vouloir supprimer le groupe sélectionné ?';
-$messages['deletemessagesconfirm'] = 'Êtes-vous sûr de vouloir supprimer le(s) message(s) sélectionné(s) ?';
-$messages['deletefolderconfirm'] = 'Êtes-vous sûr de vouloir supprimer ce dossier ?';
-$messages['purgefolderconfirm'] = 'Êtes-vous sûr de vouloir supprimer tous les messages de ce dossier ?';
-$messages['contactdeleting'] = 'Suppression de contact(s) en cours...';
+$messages['deletecontactconfirm'] = 'Vouiez-vous vraiment supprimer le(s) contact(s) sélectionné(s)?';
+$messages['deletegroupconfirm'] = 'Vouiez-vous vraiment supprimer le groupe sélectionné?';
+$messages['deletemessagesconfirm'] = 'Vouiez-vous vraiment supprimer le(s) message(s) sélectionné(s)?';
+$messages['deletefolderconfirm'] = 'Vouiez-vous vraiment supprimer ce dossier?';
+$messages['purgefolderconfirm'] = 'Vouiez-vous vraiment supprimer tous les messages dans ce dossier?';
+$messages['contactdeleting'] = 'Suppression des contacts...';
$messages['groupdeleting'] = 'Suppression du groupe...';
$messages['folderdeleting'] = 'Suppression du dossier...';
$messages['foldermoving'] = 'Déplacement du dossier...';
-$messages['foldersubscribing'] = 'Inscription du dossier...';
-$messages['folderunsubscribing'] = 'Désinscription du dossier...';
+$messages['foldersubscribing'] = 'Abonnement au dossier...';
+$messages['folderunsubscribing'] = 'Désabonnement au dossier...';
$messages['formincomplete'] = 'Le formulaire n\'a pas été entièrement rempli.';
-$messages['noemailwarning'] = 'Veuillez spécifier un courriel valide.';
-$messages['nonamewarning'] = 'Veuillez fournir un nom.';
-$messages['nopagesizewarning'] = 'Veuillez indiquer une taille de page.';
-$messages['nosenderwarning'] = 'Veuillez renseigner l\'adresse d\'expéditeur.';
-$messages['norecipientwarning'] = 'Veuillez ajouter au moins un destinataire.';
-$messages['nosubjectwarning'] = 'Le champ «Objet» est vide. Souhaitez-vous le renseigner maintenant ?';
-$messages['nobodywarning'] = 'Envoyer ce message sans texte ?';
-$messages['notsentwarning'] = 'Le message n\'a pas été envoyé. Voulez-vous abandonner ce message ?';
-$messages['noldapserver'] = 'Choisissez un serveur LDAP pour la recherche.';
-$messages['nosearchname'] = 'Entrez un nom de contact ou un courriel.';
-$messages['notuploadedwarning'] = 'Toutes les pièces jointes n\'ont pas encore été transférées. Veuillez patienter ou annuler cette opération.';
-$messages['searchsuccessful'] = '$nr message(s) trouvé(s).';
-$messages['contactsearchsuccessful'] = '$nr contact(s) trouvé(s).';
-$messages['searchnomatch'] = 'La recherche n\'a donné aucun résultat.';
-$messages['searching'] = 'Recherche en cours...';
-$messages['checking'] = 'Vérification en cours...';
+$messages['noemailwarning'] = 'Veuillez saisir une adresse courriel valide.';
+$messages['nonamewarning'] = 'Veuillez saisir un nom.';
+$messages['nopagesizewarning'] = 'Veuillez sasisir une taille de page.';
+$messages['nosenderwarning'] = 'Veuillez saisir l\'adresse courriel de l\'expéditeur.';
+$messages['norecipientwarning'] = 'Veuillez saisir au moins un destinataire.';
+$messages['nosubjectwarning'] = 'Le champ « Objet » est vide. Voudriez-vous le saisir maintenant?';
+$messages['nobodywarning'] = 'Envoyer ce message sans texte?';
+$messages['notsentwarning'] = 'Le message n\'a pas été envoyé. Voulez-vous abandonner ce message?';
+$messages['restoresavedcomposedata'] = 'Un message précédemment rédigé mais non envoyé a été trouvé.\n\nObjet : $subject\nEnregistré le : $date\n\nVoulez-vous restaurer ce message?';
+$messages['noldapserver'] = 'Veuillez choisir un serveur ldap à rechercher.';
+$messages['nosearchname'] = 'Veuillez saisir un nom de contact ou une adresse de courriel.';
+$messages['notuploadedwarning'] = 'Toutes les fichiers joints n\'ont pas encore été téléversés. Veuillez patienter ou annuler le téléversement.';
+$messages['searchsuccessful'] = '$nr messages trouvés.';
+$messages['contactsearchsuccessful'] = '$nr contacts trouvés.';
+$messages['searchnomatch'] = 'La recherche n\'a retourné aucune concordance.';
+$messages['searching'] = 'Recherche...';
+$messages['checking'] = 'Vérification...';
$messages['nospellerrors'] = 'Aucune faute d\'orthographe trouvée.';
-$messages['folderdeleted'] = 'Le dossier a bien été effacé.';
-$messages['foldersubscribed'] = 'Le dossier a bien été inscrit.';
-$messages['folderunsubscribed'] = 'Le dossier a bien été désinscrit.';
-$messages['folderpurged'] = 'Le dossier a bien été vidé.';
-$messages['folderexpunged'] = 'Le dossier a bien été compacté.';
-$messages['deletedsuccessfully'] = 'Correctement supprimé(s).';
+$messages['folderdeleted'] = 'Le dossier a été effacé avec succès.';
+$messages['foldersubscribed'] = 'L\'abonnement au dossier a réussi.';
+$messages['folderunsubscribed'] = 'Le désabonnement au dossier a réussi.';
+$messages['folderpurged'] = 'Le dossier a été vidé avec succès.';
+$messages['folderexpunged'] = 'Le dossier a été compacté avec succès.';
+$messages['deletedsuccessfully'] = 'Supprimé avec succès.';
$messages['converting'] = 'Suppression de la mise en forme...';
-$messages['messageopenerror'] = 'Impossible de charger le message depuis serveur.';
-$messages['fileuploaderror'] = 'Transfert du fichier échoué';
-$messages['filesizeerror'] = 'Le fichier transféré dépasse la taille maximale de $size.';
-$messages['copysuccess'] = '$nr contacts correctement copiés.';
-$messages['movesuccess'] = '$nr contacts correctement déplacés.';
+$messages['messageopenerror'] = 'Impossible de charger le message depuis le serveur.';
+$messages['fileuploaderror'] = 'Échec lors du téléversement du fichier';
+$messages['filesizeerror'] = 'Le fichier téléversé dépasse la taille maximale de $size.';
+$messages['copysuccess'] = '$nr contacts copiés avec succès.';
+$messages['movesuccess'] = '$nr contacts déplacés avec succès.';
$messages['copyerror'] = 'Aucun contact n\'a pu être copié.';
$messages['moveerror'] = 'Aucun contact n\'a pu être déplacé.';
$messages['sourceisreadonly'] = 'Cette source d\'adresse est en lecture seule.';
-$messages['errorsavingcontact'] = 'Impossible de sauvegarder l\'adresse du contact.';
-$messages['movingmessage'] = 'Message(s) en cours de déplacement...';
-$messages['copyingmessage'] = 'Message(s) en cours de copie...';
-$messages['copyingcontact'] = 'Contact(s) en cours de copie...';
-$messages['movingcontact'] = 'Contact(s) en cours de déplacement...';
-$messages['deletingmessage'] = 'Message(s) en cours de suppression...';
-$messages['markingmessage'] = 'Message(s) en cours de marquage...';
-$messages['addingmember'] = 'Contact(s) en cours d\'ajout dans le groupe...';
-$messages['removingmember'] = 'Contact(s) en cours de suppression du groupe...';
-$messages['receiptsent'] = 'L\'accusé de réception a bien été envoyé.';
-$messages['errorsendingreceipt'] = 'Impossible d\'envoyer l\'accusé de réception.';
-$messages['deleteidentityconfirm'] = 'Voulez vous vraiment supprimer cette identité ?';
-$messages['nodeletelastidentity'] = 'Vous ne pouvez pas effacer votre seule identité.';
+$messages['errorsavingcontact'] = 'Impossible de enregistrer l\'adresse du contact.';
+$messages['movingmessage'] = 'Déplacement des messages...';
+$messages['copyingmessage'] = 'Copie des messages...';
+$messages['copyingcontact'] = 'Copie des contacts...';
+$messages['movingcontact'] = 'Déplacement des contacts...';
+$messages['deletingmessage'] = 'Suppression des messages...';
+$messages['markingmessage'] = 'Marquage des messages...';
+$messages['addingmember'] = 'Ajout des contacts au groupe...';
+$messages['removingmember'] = 'Suppression des contacts du groupe...';
+$messages['receiptsent'] = 'L\'accusé de lecture a été avec succès.';
+$messages['errorsendingreceipt'] = 'Impossible d\'envoyer l\'accusé de lecture.';
+$messages['deleteidentityconfirm'] = 'Voulez-vous vraiment supprimer cette identité?';
+$messages['nodeletelastidentity'] = 'Vous ne pouvez pas effacer cette identité, c\'est votre dernière.';
$messages['forbiddencharacter'] = 'Le nom du dossier contient un caractère interdit.';
-$messages['selectimportfile'] = 'Veuillez sélectionner un fichier à transférer.';
-$messages['addresswriterror'] = 'Impossible d\'écrire dans le carnet d\'adresse sélectionné.';
-$messages['contactaddedtogroup'] = 'Les contacts ont bien été ajoutés à ce groupe.';
-$messages['contactremovedfromgroup'] = 'Les contacts ont bien été supprimés de ce groupe.';
-$messages['nogroupassignmentschanged'] = 'Appartenance aux groupes inchangée.';
-$messages['importwait'] = 'Import en cours, veuillez patienter...';
-$messages['importformaterror'] = 'L\'import a échoué ! Le fichier transféré n\'est pas un fichier d\'import de données valide.';
-$messages['importconfirm'] = '<b>Les $inserted contacts ont bien été importés</b>';
-$messages['importconfirmskipped'] = '<b>$skipped entrée(s) déjà existante(s)</b>';
-$messages['importmessagesuccess'] = 'Importation de $nr messages avec succès';
-$messages['importmessageerror'] = 'L\'importation a échoué! Le fichier envoyé n\'est pas un message valide ou un fichier au format mailbox';
-$messages['opnotpermitted'] = 'Cette opération n\'est pas permise !';
-$messages['nofromaddress'] = 'Courriel manquant dans l\'identité sélectionnée.';
-$messages['editorwarning'] = 'Passer à l\'éditeur de texte brut causera la perte du formatage du texte. Souhaitez-vous continuer ?';
-$messages['httpreceivedencrypterror'] = 'Une erreur fatale de configuration est survenue. Veuillez contacter votre administrateur immédiatement. <b>Votre message n\'a pas pu être envoyé.</b>';
-$messages['smtpconnerror'] = 'Erreur SMTP ($code) : Échec de la connexion au serveur.';
-$messages['smtpautherror'] = 'Erreur SMTP ($code) : Échec de l\'authentification.';
-$messages['smtpfromerror'] = 'Erreur SMTP ($code) : Impossible de définir l\'expéditeur "$from" ($msg)';
-$messages['smtptoerror'] = 'Erreur SMTP ($code) : Impossible d\'ajouter le destinataire "$to" ($msg)';
-$messages['smtprecipientserror'] = 'Erreur SMTP : Impossible de lire la liste des destinataires.';
+$messages['selectimportfile'] = 'Veuillez choisir un fichier à téléverser.';
+$messages['addresswriterror'] = 'Impossible d\'écrire dans le carnet d\'adresse choisi.';
+$messages['contactaddedtogroup'] = 'Les contacts ont été ajoutés à ce groupe avec succès.';
+$messages['contactremovedfromgroup'] = 'Les contacts ont été supprimés de ce groupe avec succès.';
+$messages['nogroupassignmentschanged'] = 'Aucune affection de groupes n\'a été changée.';
+$messages['importwait'] = 'Importation, veuillez patienter...';
+$messages['importformaterror'] = 'Échec lors de l\'importation! Le fichier téléversé n\'est pas un fichier d\'importation de données valide.';
+$messages['importconfirm'] = '<b>Les $inserted contacts ont été importés avec succès</b>';
+$messages['importconfirmskipped'] = '<b>Les $skipped entrées existantes ont été ignorées</b>';
+$messages['importmessagesuccess'] = '$nr messages importés avec succès';
+$messages['importmessageerror'] = 'L\'importation a échoué! Le fichier téléversé n\'est pas un message valide ou un fichier de boîte de courriel.';
+$messages['opnotpermitted'] = 'Opération non permise!';
+$messages['nofromaddress'] = 'Adresse courriel manquante dans l\'identité choisie.';
+$messages['editorwarning'] = 'Passer à l\'éditeur de texte en clair causera la perte de toute la mise en forme du texte. Souhaitez-vous continuer?';
+$messages['httpreceivedencrypterror'] = 'Une erreur fatale de configuration est survenue. Contactez votre administrateur immédiatement. <b>Votre message ne peut pas être envoyé.</b>';
+$messages['smtpconnerror'] = 'Erreur SMTP ($code) : échec lors de la connexion au serveur.';
+$messages['smtpautherror'] = 'Erreur SMTP ($code) : échec lors de l\'authentification.';
+$messages['smtpfromerror'] = 'Erreur SMTP ($code) : impossible de définir l\'expéditeur « $from » ($msg)';
+$messages['smtptoerror'] = 'Erreur SMTP ($code) : échec lors de l\'ajout du destinataire « $to » ($msg)';
+$messages['smtprecipientserror'] = 'Erreur SMTP : impossible d\'analyser la liste des destinataires.';
$messages['smtperror'] = 'Erreur SMTP : $msg';
-$messages['emailformaterror'] = 'Courriel incorrect : $email';
-$messages['toomanyrecipients'] = 'Trop de destinataires. Réduisez leur nombre à $max maximum.';
+$messages['emailformaterror'] = 'Adresse courriel invalide : $email';
+$messages['toomanyrecipients'] = 'Trop de destinataires. Réduire leur nombre à $max.';
$messages['maxgroupmembersreached'] = 'Le nombre de membres du groupe dépasse le maximum de $max.';
-$messages['internalerror'] = 'Une erreur interne est apparue. Merci de ré-essayer.';
-$messages['contactdelerror'] = 'Impossible de supprimer le(s) contact(s).';
-$messages['contactdeleted'] = 'Contact(s) correctement supprimé(s).';
-$messages['contactrestoreerror'] = 'Impossible de restaurer le(s) contact(s) supprimé(s).';
-$messages['contactrestored'] = 'Contact(s) correctement restauré(s).';
-$messages['groupdeleted'] = 'Le groupe a bien été supprimé.';
-$messages['grouprenamed'] = 'Le groupe a bien été renommé.';
-$messages['groupcreated'] = 'Le groupe a bien été créé.';
-$messages['savedsearchdeleted'] = 'La recherche enregistrée a bien été supprimée.';
+$messages['internalerror'] = 'Une erreur interne est survenue. Veuillez ressayer.';
+$messages['contactdelerror'] = 'Impossible de supprimer les contacts.';
+$messages['contactdeleted'] = 'Contacts supprimés avec succès.';
+$messages['contactrestoreerror'] = 'Impossible de restaurer les contacts supprimés.';
+$messages['contactrestored'] = 'Contacts restaurés avec succès.';
+$messages['groupdeleted'] = 'Groupe supprimé avec succès.';
+$messages['grouprenamed'] = 'Groupe renommé avec succès.';
+$messages['groupcreated'] = 'Groupe créé avec succès.';
+$messages['savedsearchdeleted'] = 'Recherche enregistrée supprimée avec succès.';
$messages['savedsearchdeleteerror'] = 'Impossible de supprimer la recherche enregistrée.';
-$messages['savedsearchcreated'] = 'La recherche enregistrée a bien été créée.';
+$messages['savedsearchcreated'] = 'Recherche enregistrée créée avec succès.';
$messages['savedsearchcreateerror'] = 'Impossible de créer la recherche enregistrée.';
-$messages['messagedeleted'] = 'Message(s) correctement supprimé(s).';
-$messages['messagemoved'] = 'Message(s) correctement déplacé(s).';
-$messages['messagecopied'] = 'Message(s) correctement copié(s).';
-$messages['messagemarked'] = 'Message(s) correctement marqué(s).';
-$messages['autocompletechars'] = 'Entrez au moins $min caractères pour l\'auto-complétion.';
-$messages['autocompletemore'] = 'Plusieurs entrées trouvées. Veuillez taper plus de caractères.';
+$messages['messagedeleted'] = 'Messages supprimés avec succès.';
+$messages['messagemoved'] = 'Messages déplacés avec succès.';
+$messages['messagecopied'] = 'Messages copiés avec succès.';
+$messages['messagemarked'] = 'Messages marqués avec succès.';
+$messages['autocompletechars'] = 'Saisir au moins $min caractères pour le remplissage automatique.';
+$messages['autocompletemore'] = 'Plusieurs entrées concordantes trouvées. Veuillez taper plus de caractères.';
$messages['namecannotbeempty'] = 'Le nom ne peut pas être vide.';
$messages['nametoolong'] = 'Le nom est trop long.';
-$messages['folderupdated'] = 'Le dossier a bien été mis à jour.';
-$messages['foldercreated'] = 'Le dossier a bien été créé.';
-$messages['invalidimageformat'] = 'Format d\'image invalide.';
-$messages['mispellingsfound'] = 'Des fautes d\'orthographe ont été détectées dans le message.';
-$messages['parentnotwritable'] = 'Impossible de créer/déplacer le dossier dans le dossier parent sélectionné. Aucun droit d\'accès.';
-$messages['messagetoobig'] = 'Le message est trop gros pour être traité.';
-$messages['attachmentvalidationerror'] = 'ATTENTION ! Cette pièce jointe est suspecte car son type ne correspond pas au type déclaré dans ce message. Si vous ne faites pas confiance à l\'expéditeur, vous ne devriez pas l\'ouvrir dans le navigateur, car il peut contenir des contenus malveillants.<br/><br/><em>Attendu : $expected; trouvé : $detected</em>';
-$messages['noscriptwarning'] = 'Atention : Ce service de webmail nécessite Javascript ! Pour pouvoir l\'utiliser, merci d\'activer Javascript dans les préférences de votre navigateur.';
+$messages['folderupdated'] = 'Dossier mis à jour avec succès.';
+$messages['foldercreated'] = 'Dossier créé avec succès.';
+$messages['invalidimageformat'] = 'N\'est pas un format d\'image valide.';
+$messages['mispellingsfound'] = 'Fautes d\'orthographe détectées dans le message.';
+$messages['parentnotwritable'] = 'Impossible de créer/déplacer le dossier dans le dossier parent choisi. Aucun droit d\'accès.';
+$messages['messagetoobig'] = 'La partie message est trop grosse pour être traité.';
+$messages['attachmentvalidationerror'] = 'AVERTISSEMENT! Ce fichier joint est suspect parce que son type ne correspond pas au type déclaré dans le message. Si vous ne faites pas confiance à l\'expéditeur, vous ne devriez pas l\'ouvrir dans le navigateur, car son contenu peut être malveillant.<br/><br/><em>Attendu : $expected; trouvé : $detected</em>';
+$messages['noscriptwarning'] = 'Avertissement : Ce service de courriel Web exige Javascript! Afin de l\'utiliser, veuillez activer Javascript dans les paramètres de votre navigateur.';
?>
diff --git a/program/localization/ga_IE/messages.inc b/program/localization/ga_IE/messages.inc
index b52fbe657..3ae5cae57 100644
--- a/program/localization/ga_IE/messages.inc
+++ b/program/localization/ga_IE/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -21,7 +21,6 @@ $messages['sessionerror'] = 'Tá an seisiúin neamhbhailí nó as feidhm';
$messages['storageerror'] = 'Theip an iarraidh chun nasc go dtí an freastalaí Prótacal Rochtana Teachtaireachtaí Idirlín (IMAP)';
$messages['nomessagesfound'] = 'Ní bhfuair mé aon teachtaireacht i bosca postas seo';
$messages['loggedout'] = 'D\'éirigh tú logáil amach. Slán Leat!';
-$messages['mailboxempty'] = 'Tá an bosca postas folamh';
$messages['loading'] = 'Fan nóiméad, ag lódáil...';
$messages['loadingdata'] = 'Ag lódáil sonraí...';
$messages['checkingmail'] = 'Ag seiceáil chun teachtaireacht nua...';
diff --git a/program/localization/gl_ES/messages.inc b/program/localization/gl_ES/messages.inc
index 069ff5d42..2e9fc338d 100644
--- a/program/localization/gl_ES/messages.inc
+++ b/program/localization/gl_ES/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,6 @@ $messages['invalidrequest'] = 'Petición non válida! Non se gardou ningún dato
$messages['invalidhost'] = 'O nome do servidor non é válido.';
$messages['nomessagesfound'] = 'Non se atoparon mensaxes nesta caixa de correo.';
$messages['loggedout'] = 'Rematou correctamente a tú sesión. Até logo!';
-$messages['mailboxempty'] = 'A caixa de correo está baleira.';
$messages['refreshing'] = 'A refrescar...';
$messages['loading'] = 'Cargando...';
$messages['uploading'] = 'Cargando ficheiro...';
diff --git a/program/localization/he_IL/labels.inc b/program/localization/he_IL/labels.inc
index ad9a91adc..66c4a26b3 100644
--- a/program/localization/he_IL/labels.inc
+++ b/program/localization/he_IL/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to מתוך $count';
$labels['copy'] = 'העתק';
$labels['move'] = 'העבר';
$labels['moveto'] = 'תיוק ב...';
+$labels['copyto'] = 'העתקה ×ל...';
$labels['download'] = 'הורדה';
$labels['open'] = 'לפתוח';
$labels['showattachment'] = 'הצגה';
@@ -197,6 +198,16 @@ $labels['spellcheck'] = '×יות';
$labels['checkspelling'] = 'בדיקת ×יות';
$labels['resumeediting'] = 'המשך עריכה';
$labels['revertto'] = 'חזור למצב קוד×';
+$labels['restore'] = 'שיחזור';
+$labels['restoremessage'] = 'לשחזר הודעה?';
+$labels['responses'] = 'תגובות';
+$labels['insertresponse'] = 'הכנסת תגובה';
+$labels['manageresponses'] = 'ניהול תגובות';
+$labels['savenewresponse'] = 'שמירת תגובה חדשה';
+$labels['editresponses'] = 'עריכת תגובות';
+$labels['editresponse'] = 'עריכת תגובה';
+$labels['responsename'] = 'ש×';
+$labels['responsetext'] = 'גוף התגובה';
$labels['attach'] = 'צירוף';
$labels['attachments'] = 'צרופות';
$labels['upload'] = 'העל××”';
@@ -316,7 +327,11 @@ $labels['searchdelete'] = 'מחיקת החיפוש';
$labels['import'] = 'ייבו×';
$labels['importcontacts'] = '×™×™×‘×•× ×נשי קשר';
$labels['importfromfile'] = '×™×™×‘×•× ×ž×§×•×‘×¥';
+$labels['importtarget'] = 'הוספת ×נשי קשר ×ל ';
$labels['importreplace'] = 'החלפת כל פנקס הכתובות';
+$labels['importgroups'] = '×™×™×‘×•× ×”×’×“×¨×•×ª קבוצה';
+$labels['importgroupsall'] = 'הכל (יש ×œ×”×§×™× ×§×‘×•×¦×•×ª ×× ×¦×¨×™×š)';
+$labels['importgroupsexisting'] = 'רק עבור קבוצות קיימות';
$labels['importdesc'] = 'ניתן לטעון ×נשי קשר מקובץ חיצוני. ×נו ×ª×•×ž×›×™× ×‘×§×‘×¦×™× ×”×¢×¨×•×›×™× ×‘×¦×•×¨×” של
<a href="http://en.wikipedia.org/wiki/VCard">vCard</a> ×ו
CSV המופרד על ידי פסיקי×.';
@@ -426,6 +441,9 @@ $labels['standardwindows'] = 'חלונות ×§×•×¤×¦×™× ×™×˜×•×¤×œ×• כחלונ×
$labels['forwardmode'] = 'הפנית הודעות';
$labels['inline'] = 'חלק מההודעה';
$labels['asattachment'] = 'כצרופה';
+$labels['replyallmode'] = 'ברירת המחדל של כפתור [מענה לכול×]';
+$labels['replyalldefault'] = 'מענה לכול×';
+$labels['replyalllist'] = 'מענה לרשימת תפוצה בלבד (×× ×§×™×™×ž×ª)';
$labels['folder'] = 'תיק';
$labels['folders'] = 'תיקיות';
$labels['foldername'] = '×©× ×ª×™×§';
diff --git a/program/localization/he_IL/messages.inc b/program/localization/he_IL/messages.inc
index b7e7d1ae8..e6d95aa6d 100644
--- a/program/localization/he_IL/messages.inc
+++ b/program/localization/he_IL/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -33,6 +33,7 @@ $messages['invalidhost'] = '×©× ×©×¨×ª ×œ× ×—×•×§×™';
$messages['nomessagesfound'] = '×œ× × ×ž×¦×ו הודעות בתיבה זו';
$messages['loggedout'] = 'הקשר הסתיי×. להתר×ות!';
$messages['mailboxempty'] = 'רשימת ההודעות ריקה';
+$messages['nomessages'] = '×ין הודעות';
$messages['refreshing'] = 'מרענן...';
$messages['loading'] = 'טעינה...';
$messages['uploading'] = 'קובץ עולה...';
@@ -44,6 +45,8 @@ $messages['messagesent'] = 'ההודעה נמסרה בהצלחה';
$messages['savingmessage'] = 'שמירת הודעה...';
$messages['messagesaved'] = 'ההודעה נשמרה כטיוטה';
$messages['successfullysaved'] = 'נשמרה בהצלחה';
+$messages['savingresponse'] = 'שמירת תגובה...';
+$messages['deleteresponseconfirm'] = '×”×× ×œ×ž×—×•×§ ×ת התגובה?';
$messages['addedsuccessfully'] = '×יש הקשר נוסף לפנקס בהצלחה';
$messages['contactexists'] = '×§×™×™× ×›×‘×¨ ×יש קשר ×¢× ×›×ª×•×‘×ª דו×"ל זו';
$messages['contactnameexists'] = '×§×™×™× ×›×‘×¨ ×יש קשר בעל ×ותו ש×';
@@ -54,6 +57,8 @@ $messages['contactnotfound'] = '×יש הקשר המבוקש ×œ× × ×ž×¦×';
$messages['contactsearchonly'] = 'יש להקיש מפתחות חיפוש כדי ×œ×ž×¦×•× ×נשי קשר';
$messages['sendingfailed'] = 'שליחת ההודעה נכשלה';
$messages['senttooquickly'] = '× × ×œ×”×ž×ª×™×Ÿ $sec שניות לפני מסירת הודעה זו';
+$messages['errorsavingsent'] = '×ירעה שגי××” בזמן שמירת ההודעה שנשלחה';
+$messages['errorsaving'] = '×ירעה שגי××” בזמן השמירה';
$messages['errormoving'] = '×œ× × ×™×ª×Ÿ לתייק ×ת ההודעה';
$messages['errorcopying'] = 'העתקת ההודעות נכשלה';
$messages['errordeleting'] = '×œ× × ×™×ª×Ÿ למחוק ×ת ההודעה';
@@ -78,6 +83,7 @@ $messages['norecipientwarning'] = '× × ×œ×”×•×¡×™×£ לפחות נמען ×חד'
$messages['nosubjectwarning'] = 'שורת ×”× ×•×©× ×¨×™×§×”. ×”×× ×‘×¨×¦×•× ×š להוסיף × ×•×©× ×›×¢×ª?';
$messages['nobodywarning'] = '×”×× ×œ×©×œ×•×— הודעה ×œ×œ× ×ª×•×›×Ÿ?';
$messages['notsentwarning'] = 'ההודעה ×œ× × ×©×œ×—×”. ×”×× ×œ×‘×˜×œ?';
+$messages['restoresavedcomposedata'] = 'נמצ××” הודעה שנערכה ×ך ×œ× × ×©×œ×—×”. \n\nSubject: $subject\nנשמרה: $date\n\n×”×× ×œ×©×—×–×¨ ×ת ההודעה?';
$messages['noldapserver'] = '× × ×œ×‘×—×•×¨ שרת כתובות לחיפוש';
$messages['nosearchname'] = '× × ×œ×”×•×¡×™×£ ×יש קשר ×ו כתובת דו×"ל';
$messages['notuploadedwarning'] = 'עדיין ×œ× ×”×•×¢×œ×• כל הקבצי×. × × ×œ×—×›×•×ª ×ו לבטל הפעולה.';
@@ -140,6 +146,7 @@ $messages['smtperror'] = 'SMTP: $msg';
$messages['emailformaterror'] = '$email כתובת דו×"ל שגויה';
$messages['toomanyrecipients'] = 'יותר מדי נמעני×. יש להקטין ×ž×¡×¤×¨× ×œ - $max';
$messages['maxgroupmembersreached'] = '×ž×¡×¤×¨× ×©×œ חברי הקבוצה ×ינו יכול לעבור $max';
+$messages['internalerror'] = 'שגי×ת מערכת. × × ×œ× ×¡×•×ª שנית.';
$messages['contactdelerror'] = '×œ× × ×™×ª×Ÿ למחוק ×יש קשר';
$messages['contactdeleted'] = '×יש הקשר נמחק';
$messages['contactrestoreerror'] = '×œ× × ×™×ª×Ÿ לשחזר ×יש קשר שנמחק';
diff --git a/program/localization/hi_IN/messages.inc b/program/localization/hi_IN/messages.inc
index 9cf02696a..801909b06 100644
--- a/program/localization/hi_IN/messages.inc
+++ b/program/localization/hi_IN/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -21,7 +21,6 @@ $messages['sessionerror'] = 'सतà¥à¤° समापà¥à¤¤ या अवैद
$messages['storageerror'] = 'आईमैप (IMAP) सरà¥à¤µà¤° से समà¥à¤ªà¤°à¥à¤• नहीं हो पाया';
$messages['nomessagesfound'] = 'इस मेलबॉकà¥à¤¸ में कोई मेल नहीं है';
$messages['loggedout'] = 'सतà¥à¤° समापà¥à¤¤. टा टा!';
-$messages['mailboxempty'] = 'मेलबॉकà¥à¤¸ खाली है';
$messages['loading'] = 'लोड हो रहा है';
$messages['loadingdata'] = 'डाटा लोड हो रहा है...';
$messages['checkingmail'] = 'कà¥à¤¯à¤¾ नया मेल है?...';
diff --git a/program/localization/hr_HR/labels.inc b/program/localization/hr_HR/labels.inc
index 70d1c1316..cfa0ff8dd 100644
--- a/program/localization/hr_HR/labels.inc
+++ b/program/localization/hr_HR/labels.inc
@@ -29,8 +29,10 @@ $labels['drafts'] = 'Predlošci';
$labels['sent'] = 'Poslano';
$labels['trash'] = 'Smeće';
$labels['junk'] = 'Spam';
+$labels['show_real_foldernames'] = 'Prikaži prava imena specijalnih mapa';
$labels['subject'] = 'Naslov';
$labels['from'] = 'Od';
+$labels['sender'] = 'Pošiljatelj';
$labels['to'] = 'Za';
$labels['cc'] = 'Cc';
$labels['bcc'] = 'Bcc';
@@ -41,6 +43,7 @@ $labels['size'] = 'VeliÄina';
$labels['priority'] = 'Prioritet';
$labels['organization'] = 'Organizacija';
$labels['readstatus'] = 'ProÄitano';
+$labels['listoptions'] = 'Opcije lista...';
$labels['mailboxlist'] = 'Mape';
$labels['messagesfromto'] = 'Poruke od $from do $to od ukupno $count';
$labels['threadsfromto'] = 'Teme od $from do $to od ukupno $count';
@@ -50,6 +53,9 @@ $labels['copy'] = 'Kopiraj';
$labels['move'] = 'Premjesti';
$labels['moveto'] = 'Premjesti u...';
$labels['download'] = 'Preuzmi (download)';
+$labels['open'] = 'Otvori';
+$labels['showattachment'] = 'Prikaži';
+$labels['showanyway'] = 'Prikaži svejedno';
$labels['filename'] = 'Ime datoteke';
$labels['filesize'] = 'VeliÄina datoteke';
$labels['addtoaddressbook'] = 'Dodaj u imenik';
@@ -97,14 +103,14 @@ $labels['checkmail'] = 'Provjera novih poruka';
$labels['compose'] = 'Nova poruka';
$labels['writenewmessage'] = 'Stvori novu poruku';
$labels['reply'] = 'Odgovori';
-$labels['replytomessage'] = 'Odgovori na poruku';
-$labels['replytoallmessage'] = 'Odgovori pošiljaocu i svim primateljima';
+$labels['replytomessage'] = 'Odgovori pošiljatelju';
+$labels['replytoallmessage'] = 'Odgovori listi ili pošiljatelju i svim primateljima';
$labels['replyall'] = 'Odgovori svima';
$labels['replylist'] = 'Odgovori listi';
$labels['forward'] = 'Proslijedi';
-$labels['forwardinline'] = 'Proslijedi citirano';
+$labels['forwardinline'] = 'Proslijedi umetnuto';
$labels['forwardattachment'] = 'Proslijedi kao privitak';
-$labels['forwardmessage'] = 'Prosljedi poruku';
+$labels['forwardmessage'] = 'Proslijedi poruku';
$labels['deletemessage'] = 'Obriši poruku';
$labels['movemessagetotrash'] = 'Preseli poruke u smeće';
$labels['printmessage'] = 'Ispiši ovu poruku';
@@ -118,9 +124,9 @@ $labels['mark'] = 'OznaÄi';
$labels['markmessages'] = 'OznaÄi poruke';
$labels['markread'] = 'Kao proÄitano';
$labels['markunread'] = 'Kao neproÄitano';
-$labels['markflagged'] = 'Kao oznaÄenu';
-$labels['markunflagged'] = 'Kao neoznaÄenu';
-$labels['moreactions'] = 'Više akcija';
+$labels['markflagged'] = 'Kao oznaÄeno';
+$labels['markunflagged'] = 'Kao neoznaÄeno';
+$labels['moreactions'] = 'Više akcija...';
$labels['more'] = 'Više';
$labels['back'] = 'Natrag';
$labels['options'] = 'Postavke';
@@ -128,66 +134,85 @@ $labels['select'] = 'Odaberi';
$labels['all'] = 'Sve';
$labels['none'] = 'Ništa';
$labels['currpage'] = 'Trenutna stranica';
-$labels['unread'] = 'NeproÄitane';
-$labels['flagged'] = 'OznaÄene';
-$labels['unanswered'] = 'Neodgovrene';
+$labels['unread'] = 'NeproÄitano';
+$labels['flagged'] = 'OznaÄeno';
+$labels['unanswered'] = 'Neodgovoreno';
+$labels['withattachment'] = 'S privitkom';
$labels['deleted'] = 'Obrisano';
+$labels['undeleted'] = 'Neobrisano';
$labels['invert'] = 'Obrni';
$labels['filter'] = 'Filtriraj';
$labels['list'] = 'Lista';
$labels['threads'] = 'Teme';
$labels['expand-all'] = 'Proširi sve';
-$labels['expand-unread'] = 'ProÅ¡iri neproÄitane';
+$labels['expand-unread'] = 'ProÅ¡iri neproÄitano';
$labels['collapse-all'] = 'Zatvori sve';
$labels['threaded'] = 'Tematski prikaz';
$labels['autoexpand_threads'] = 'Proširi teme poruka';
-$labels['do_expand'] = 'Sve teme';
+$labels['do_expand'] = 'sve teme';
$labels['expand_only_unread'] = 'samo s neproÄitanim porukama';
$labels['fromto'] = 'Pošiljatelj/Primatelj';
$labels['flag'] = 'Oznaka';
$labels['attachment'] = 'Privitak';
$labels['nonesort'] = 'Ništa';
$labels['sentdate'] = 'Datum slanja';
-$labels['arrival'] = 'Datum primanja';
+$labels['arrival'] = 'Datum primitka';
$labels['asc'] = 'uzlazno';
$labels['desc'] = 'silazno';
-$labels['listcolumns'] = 'Kolone';
-$labels['listsorting'] = 'Sortirajuća kolona';
-$labels['listorder'] = 'Sortirajući redoslijed';
+$labels['listcolumns'] = 'Stupci';
+$labels['listsorting'] = 'Sortirajući stupac';
+$labels['listorder'] = 'Redoslijed sortiranja';
$labels['listmode'] = 'Model pregleda listi';
-$labels['folderactions'] = 'Akcije mapa';
-$labels['compact'] = 'Kompresiranje';
+$labels['folderactions'] = 'Akcije mapa...';
+$labels['compact'] = 'Kompresiraj (sažmi)';
$labels['empty'] = 'Isprazni';
-$labels['quota'] = 'Kvota';
+$labels['importmessages'] = 'Uvoz poruka';
+$labels['quota'] = 'Iskorištenost diska';
$labels['unknown'] = 'nepoznato';
-$labels['unlimited'] = 'beskonaÄna';
+$labels['unlimited'] = 'neograniÄeno';
$labels['quicksearch'] = 'Brza pretraga';
-$labels['resetsearch'] = 'Prikaži sve poruke';
+$labels['resetsearch'] = 'Vrati pretragu u poÄetno stanje';
$labels['searchmod'] = 'Postavke pretrage';
$labels['msgtext'] = 'Cijela poruka';
+$labels['body'] = 'Tijelo poruke';
+$labels['type'] = 'Tip';
+$labels['namex'] = 'Ime';
$labels['openinextwin'] = 'Otvori u novom prozoru';
-$labels['emlsave'] = 'Download (.eml)';
+$labels['emlsave'] = 'Preuzmi (.eml)';
+$labels['changeformattext'] = 'Prikaži kao obiÄan tekst';
+$labels['changeformathtml'] = 'Prikaži kao HTML';
$labels['editasnew'] = 'Uredi kao novo';
+$labels['send'] = 'Pošalji';
$labels['sendmessage'] = 'Pošalji poruku';
-$labels['savemessage'] = 'Spremi u \'Predlošci\'';
+$labels['savemessage'] = 'Spremi kao predložak';
$labels['addattachment'] = 'Priloži datoteku';
-$labels['charset'] = 'Charset';
-$labels['editortype'] = 'Tip editora';
+$labels['charset'] = 'Kodna stranica';
+$labels['editortype'] = 'Tip ureÄ‘ivaÄa teksta';
$labels['returnreceipt'] = 'Potvrda o primitku poruke';
-$labels['dsn'] = 'Potvrda o poslanoj poruci';
+$labels['dsn'] = 'Obavijest o statusu isporuke';
$labels['mailreplyintro'] = 'Dana $date, $sender je napisao(la):';
-$labels['originalmessage'] = 'Izvorna Poruka';
-$labels['editidents'] = 'Promijeni identitete';
-$labels['spellcheck'] = 'Piši';
+$labels['originalmessage'] = 'Izvorna poruka';
+$labels['editidents'] = 'Uredi identitete';
+$labels['spellcheck'] = 'Pravopis';
$labels['checkspelling'] = 'Provjera pravopisa';
-$labels['resumeediting'] = 'Povratak u pisanje';
+$labels['resumeediting'] = 'Nastavi uređivanje';
$labels['revertto'] = 'Vrati na';
+$labels['restore'] = 'Povrat';
+$labels['restoremessage'] = 'Povrat poruke?';
+$labels['responses'] = 'Odgovori';
+$labels['insertresponse'] = 'Umetni odgovor';
+$labels['manageresponses'] = 'Upravljanje odgovorima';
+$labels['savenewresponse'] = 'Pohrani novi odgovor';
+$labels['editresponses'] = 'Uredi odgovore';
+$labels['editresponse'] = 'Uredi odgovor';
+$labels['responsename'] = 'Naziv';
+$labels['responsetext'] = 'Tekst odgovora';
$labels['attach'] = 'Priloži';
$labels['attachments'] = 'Privitci (Attachments)';
$labels['upload'] = 'Dodaj';
$labels['uploadprogress'] = '$percent ($current od $total)';
$labels['close'] = 'Zatvori';
-$labels['messageoptions'] = 'Opcije poruka...';
+$labels['messageoptions'] = 'Postavke poruka...';
$labels['low'] = 'Nizak';
$labels['lowest'] = 'Najniži';
$labels['normal'] = 'Srednji';
@@ -196,20 +221,23 @@ $labels['highest'] = 'Najviši';
$labels['nosubject'] = '(bez naslova)';
$labels['showimages'] = 'Prikaži slike';
$labels['alwaysshow'] = 'Uvijek prikaži slike od $sender';
-$labels['isdraft'] = 'Ova poruka je skica (draft)';
+$labels['isdraft'] = 'Ova poruka je predložak.';
+$labels['andnmore'] = '$nr više...';
+$labels['togglemoreheaders'] = 'Prikaži još zaglavlja poruke';
+$labels['togglefullheaders'] = 'Prikaži neuređena zaglavlja poruke';
$labels['htmltoggle'] = 'HTML';
$labels['plaintoggle'] = 'Samo tekst';
$labels['savesentmessagein'] = 'Spremi poslane poruke u';
$labels['dontsave'] = 'ne spremaj';
-$labels['maxuploadsize'] = 'Maksimalna dozvoljena velicina datoteke je $size';
+$labels['maxuploadsize'] = 'Maksimalna dozvoljena veliÄina datoteke je $size';
$labels['addcc'] = 'Dodaj Cc';
$labels['addbcc'] = 'Dodaj Bcc';
$labels['addreplyto'] = 'Dodaj Odgovori-na';
$labels['addfollowupto'] = 'Dodaj Nastavak-na';
-$labels['mdnrequest'] = 'Pošiljaoc ove poruke je tražio da bude obaviješten o njenom primitku. Želite li obavijestiti pošiljaoca?';
-$labels['receiptread'] = 'Vrati potvrdu (proÄitano)';
-$labels['yourmessage'] = 'Ovo je vraćena potvrda vaše poruke';
-$labels['receiptnote'] = 'Info: Ova poruka samo potvrÄ‘uje da se poruka prikazala na raÄunalu primaoca. Nema garancije da je primaoc proÄitao ili razumio sadržaj poruke.';
+$labels['mdnrequest'] = 'Pošiljatelj ove poruke je tražio da bude obaviješten o njenom primitku. Želite li obavijestiti pošiljatelja?';
+$labels['receiptread'] = 'Potvrda o primitku (proÄitano)';
+$labels['yourmessage'] = 'Ovo je potvrda o primitku vaše poruke';
+$labels['receiptnote'] = 'Info: Ova poruka o primitku samo potvrÄ‘uje da se poruka prikazala na raÄunalu primatelja. Nema garancije da je primatelj proÄitao ili razumio sadržaj poruke.';
$labels['name'] = 'Puno ime';
$labels['firstname'] = 'Ime';
$labels['surname'] = 'Prezime';
@@ -219,18 +247,18 @@ $labels['namesuffix'] = 'Sufiks';
$labels['nickname'] = 'Nadimak';
$labels['jobtitle'] = 'Titula';
$labels['department'] = 'Odjel';
-$labels['gender'] = 'Rod';
-$labels['maidenname'] = 'DjevojaÄko ime';
-$labels['email'] = 'E-Mail';
+$labels['gender'] = 'Spol';
+$labels['maidenname'] = 'DjevojaÄko prezime';
+$labels['email'] = 'E-mail';
$labels['phone'] = 'Telefon';
$labels['address'] = 'Adresa';
$labels['street'] = 'Ulica';
$labels['locality'] = 'Grad';
$labels['zipcode'] = 'Poštanski broj';
$labels['region'] = 'Oblast';
-$labels['country'] = 'Zemlja';
+$labels['country'] = 'Država';
$labels['birthday'] = 'Rođendan';
-$labels['anniversary'] = 'Jubilej';
+$labels['anniversary'] = 'Godišnjica';
$labels['website'] = 'Web stranica';
$labels['instantmessenger'] = 'IM';
$labels['notes'] = 'Bilješke';
@@ -241,14 +269,14 @@ $labels['assistant'] = 'Asistent';
$labels['spouse'] = 'Suprug/a';
$labels['allfields'] = 'Sva polja';
$labels['search'] = 'Pretraga';
-$labels['advsearch'] = 'Napredna Pretraga';
+$labels['advsearch'] = 'Napredna pretraga';
$labels['advanced'] = 'Napredno';
$labels['other'] = 'Ostalo';
-$labels['typehome'] = 'Kućni broj';
-$labels['typework'] = 'Poslovni broj';
+$labels['typehome'] = 'Kuća';
+$labels['typework'] = 'Posao';
$labels['typeother'] = 'Ostalo';
$labels['typemobile'] = 'Mobitel';
-$labels['typemain'] = 'Glavni broj';
+$labels['typemain'] = 'Glavni';
$labels['typehomefax'] = 'Fax kuća';
$labels['typeworkfax'] = 'Fax posao';
$labels['typecar'] = 'Auto';
@@ -260,156 +288,187 @@ $labels['typeblog'] = 'Blog';
$labels['typeprofile'] = 'Profil';
$labels['addfield'] = 'Dodaj polje...';
$labels['addcontact'] = 'Dodaj novi kontakt';
-$labels['editcontact'] = 'Izmjeni kontakt';
+$labels['editcontact'] = 'Uredi kontakt';
$labels['contacts'] = 'Kontakti';
$labels['contactproperties'] = 'Svojstva kontakta';
$labels['personalinfo'] = 'Osobni podaci';
-$labels['edit'] = 'Izmjeni';
+$labels['edit'] = 'Uredi';
$labels['cancel'] = 'Odustani';
$labels['save'] = 'Spremi';
$labels['delete'] = 'Obriši';
$labels['rename'] = 'Preimenuj';
$labels['addphoto'] = 'Dodaj';
-$labels['replacephoto'] = 'Smijeniti';
-$labels['newcontact'] = 'Dodaj novi kontakt';
+$labels['replacephoto'] = 'Zamijeni';
+$labels['uploadphoto'] = 'Postavi fotografiju';
+$labels['newcontact'] = 'Dodaj novu karticu kontakta';
$labels['deletecontact'] = 'Obriši odabrane kontakte';
-$labels['composeto'] = 'Napiši mail...';
+$labels['composeto'] = 'Napiši mail za';
$labels['contactsfromto'] = 'Kontakti od $from do $to od ukupno $count';
-$labels['print'] = 'Print';
-$labels['export'] = 'Export';
+$labels['print'] = 'Ispis';
+$labels['export'] = 'Izvoz';
+$labels['exportall'] = 'Izvezi sve';
+$labels['exportsel'] = 'Izvezi odabrano';
$labels['exportvcards'] = 'Izvezi kontakte u vCard formatu';
-$labels['newcontactgroup'] = 'Napravi novu kontaktnu grupu';
-$labels['grouprename'] = 'Promijeni ime grupe';
-$labels['groupdelete'] = 'Izbriši grupu';
+$labels['newcontactgroup'] = 'Napravi novu grupu kontakata';
+$labels['grouprename'] = 'Preimenuj grupu';
+$labels['groupdelete'] = 'Obriši grupu';
+$labels['groupremoveselected'] = 'Obriši odabrane kontakte iz grupe ';
$labels['previouspage'] = 'Prethodna strana';
$labels['firstpage'] = 'Prva strana';
$labels['nextpage'] = 'Slijedeća strana';
$labels['lastpage'] = 'Zadnja strana';
$labels['group'] = 'Grupa';
$labels['groups'] = 'Grupe';
+$labels['listgroup'] = 'Prikaži Älanove grupe';
$labels['personaladrbook'] = 'Privatna adresa';
-$labels['searchsave'] = 'Pohrani pretragu';
+$labels['searchsave'] = 'Spremi pretragu';
$labels['searchdelete'] = 'Obriši pretragu';
$labels['import'] = 'Uvoz';
$labels['importcontacts'] = 'Uvoz kontakta';
$labels['importfromfile'] = 'Uvezi iz datoteke:';
-$labels['importreplace'] = 'Prepiši cijeli adresar';
+$labels['importtarget'] = 'Dodaj kontakte u';
+$labels['importreplace'] = 'Prepiši cijeli imenik';
+$labels['importgroups'] = 'Uvezi zadatke grupe';
+$labels['importgroupsall'] = 'Sve (stvori grupe ako je potrebno)';
+$labels['importgroupsexisting'] = 'Samo za postojeće grupe';
+$labels['importdesc'] = 'Možete poslati kontakte iz postojećeg imenika.<br/>Trenutno je podržan uvoz adresa iz <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> ili CSV (comma-separated) formata.';
$labels['done'] = 'Završeno';
$labels['settingsfor'] = 'Postavke za';
$labels['about'] = 'O programu';
$labels['preferences'] = 'Postavke';
$labels['userpreferences'] = 'KorisniÄke postavke';
-$labels['editpreferences'] = 'Izmjena postavki';
+$labels['editpreferences'] = 'Uredi korisniÄke postavke';
$labels['identities'] = 'Identiteti';
-$labels['manageidentities'] = 'Podesi identitete za ovaj nalog';
-$labels['newidentity'] = 'Dodaj identitet';
-$labels['newitem'] = 'Novo';
-$labels['edititem'] = 'Uredi';
-$labels['preferhtml'] = 'HTML format u prednosti';
-$labels['defaultcharset'] = 'Zadani skup znakova';
+$labels['manageidentities'] = 'Upravljanje identitetima za ovaj korisniÄki raÄun';
+$labels['newidentity'] = 'Novi identitet';
+$labels['newitem'] = 'Nova stavka';
+$labels['edititem'] = 'Uredi stavku';
+$labels['preferhtml'] = 'Prikaži HTML';
+$labels['defaultcharset'] = 'Zadana kodna stranica';
$labels['htmlmessage'] = 'HTML format poruke';
+$labels['messagepart'] = 'Dio';
+$labels['digitalsig'] = 'Digitalni potpis';
$labels['dateformat'] = 'Format datuma';
$labels['timeformat'] = 'Format vremena';
-$labels['prettydate'] = 'Formatiran datum';
-$labels['setdefault'] = 'Postavi predodređeno';
+$labels['prettydate'] = 'Formatirani datum';
+$labels['setdefault'] = 'Postavi zadano';
$labels['autodetect'] = 'Auto';
$labels['language'] = 'Jezik';
$labels['timezone'] = 'Vremenska zona';
-$labels['pagesize'] = 'Redova po stranici';
+$labels['pagesize'] = 'Redaka po stranici';
$labels['signature'] = 'Potpis';
-$labels['dstactive'] = 'Automatska promjena vremena';
-$labels['htmleditor'] = 'Sastavi HTML poruke';
-$labels['htmlonreply'] = 'odgovor samo na HTML poruke';
+$labels['dstactive'] = 'Ljetno/zimsko raÄunanje vremena';
+$labels['showinextwin'] = 'Otvori poruku u novom prozoru';
+$labels['composeextwin'] = 'Sastavi poruku u novom prozoru';
+$labels['htmleditor'] = 'Sastavi poruke u HTML formatu';
+$labels['htmlonreply'] = 'pri odgovaranju na HTML poruku';
+$labels['htmlonreplyandforward'] = 'pri prosljeđivanju ili odgovaranju na HTML poruku';
$labels['htmlsignature'] = 'HTML potpis';
+$labels['showemail'] = 'Prikaži e-mail adresu s imenom';
$labels['previewpane'] = 'Prikaži podruÄje pregleda';
-$labels['skin'] = 'Tema izgleda';
-$labels['logoutclear'] = 'OÄisti smeće pri izlazu';
-$labels['logoutcompact'] = 'Komprimiraj Inbox pri izlazu';
-$labels['uisettings'] = 'KorisniÄki interfejs';
-$labels['serversettings'] = 'Postavke servera';
-$labels['mailboxview'] = 'Pregled Mailboxa';
-$labels['mdnrequests'] = 'Obavijest pošiljatelja';
-$labels['askuser'] = 'pitaj korisnika';
-$labels['autosend'] = 'Å¡alji automatski';
-$labels['autosendknown'] = 'Dodaj primatelja u moje kontakte, u suprotnom me pitaj';
-$labels['autosendknownignore'] = 'Dodaj primatelja u moje kontakte, u suprotnom zanemari';
+$labels['skin'] = 'Tema suÄelja';
+$labels['logoutclear'] = 'OÄisti smeće pri odjavi';
+$labels['logoutcompact'] = 'Sažmi Inbox pri odjavi';
+$labels['uisettings'] = 'KorisniÄko suÄelje';
+$labels['serversettings'] = 'Postavke poslužitelja';
+$labels['mailboxview'] = 'Pregled sanduÄića';
+$labels['mdnrequests'] = 'na zahtjev za potvrdom primitka';
+$labels['askuser'] = 'pitaj me';
+$labels['autosend'] = 'pošalji potvrdu';
+$labels['autosendknown'] = 'pošalji potvrdu ako je pošiljatelj u mom imeniku, u suprotnom me pitaj';
+$labels['autosendknownignore'] = 'pošalji potvrdu ako je pošiljatelj u mom imeniku, u suprotnom zanemari';
$labels['ignore'] = 'zanemari';
$labels['readwhendeleted'] = 'OznaÄi poruku kao proÄitanu pri brisanju';
$labels['flagfordeletion'] = 'OznaÄi poruku za brisanje umjesto brisanja';
-$labels['skipdeleted'] = 'Ne prikazivaj pobrisane poruke';
-$labels['deletealways'] = 'Ukoliko premještanje poruka u mapu otpad ne uspije, izbrši poruku';
-$labels['showremoteimages'] = 'Prikaži slike s interneta';
+$labels['skipdeleted'] = 'Ne prikazuj obrisane poruke';
+$labels['deletealways'] = 'Ukoliko premještanje poruka u mapu smeće ne uspije, izbriši poruku';
+$labels['deletejunk'] = 'Odmah obriši poruke u mapi Smeće';
+$labels['showremoteimages'] = 'Prikaži umetnute slike s interneta';
$labels['fromknownsenders'] = 'od poznatih pošiljatelja';
$labels['always'] = 'uvijek';
-$labels['showinlineimages'] = 'Prikaži slike ispod poruke';
-$labels['autosavedraft'] = 'Automatski spremi draft';
+$labels['showinlineimages'] = 'Prikaži slike iz privitka ispod poruke';
+$labels['autosavedraft'] = 'Automatski spremi predložak';
$labels['everynminutes'] = 'svakih $n minuta';
-$labels['never'] = 'nikada';
+$labels['refreshinterval'] = 'Osvježi (provjeri nove poruke, itd.)';
+$labels['never'] = 'nikad';
$labels['immediately'] = 'odmah';
-$labels['messagesdisplaying'] = 'Prikazujem poruke';
-$labels['messagescomposition'] = 'Komponiram poruke';
+$labels['messagesdisplaying'] = 'Prikaz poruka';
+$labels['messagescomposition'] = 'Sastavljanje poruka';
$labels['mimeparamfolding'] = 'Nazivi privitaka';
-$labels['2231folding'] = 'Full RFC 2231 (Thunderbird)';
+$labels['2231folding'] = 'Prema RFC 2231 (Thunderbird)';
$labels['miscfolding'] = 'RFC 2047/2231 (MS Outlook)';
-$labels['2047folding'] = 'Full RFC 2047 (ostali)';
-$labels['force7bit'] = 'Koristi MIME postavke za 8-bitne znakove';
+$labels['2047folding'] = 'Prema RFC 2047 (ostali)';
+$labels['force7bit'] = 'Koristi MIME kodiranje za 8-bitne znakove';
$labels['advancedoptions'] = 'Napredne postavke';
-$labels['focusonnewmessage'] = 'Fokusiraj browser pri novoj poruci';
+$labels['focusonnewmessage'] = 'Fokusiraj prozor preglednika pri primitku nove poruke';
$labels['checkallfolders'] = 'Provjeri nove poruke u svim mapama';
$labels['displaynext'] = 'Nakon brisanja/micanja poruke, prikaži slijedeću';
-$labels['defaultfont'] = 'Predodređeni font HTML poruke';
+$labels['defaultfont'] = 'Zadani font HTML poruke';
$labels['mainoptions'] = 'Glavne postavke';
-$labels['section'] = 'Sekcija';
+$labels['browseroptions'] = 'Postavke preglednika';
+$labels['section'] = 'Odjeljak';
$labels['maintenance'] = 'Održavanje';
$labels['newmessage'] = 'Nova poruka';
$labels['signatureoptions'] = 'Postavke potpisa';
$labels['whenreplying'] = 'Prilikom odgovora';
-$labels['replytopposting'] = 'zapoÄni novu poruku iznad originala';
-$labels['replybottomposting'] = 'zapoÄni novu poruku ispod originala';
+$labels['replyempty'] = 'ne citiraj originalnu poruku';
+$labels['replytopposting'] = 'zapoÄni novu poruku iznad originalne';
+$labels['replybottomposting'] = 'zapoÄni novu poruku ispod originalne';
$labels['replyremovesignature'] = 'Kod odgovaranja, makni originalni potpis iz poruke';
$labels['autoaddsignature'] = 'Automatski dodaj potpis';
-$labels['newmessageonly'] = 'samo nova poruka';
-$labels['replyandforwardonly'] = 'samo odgovori i proslijeđivanja';
+$labels['newmessageonly'] = 'samo za nove poruke';
+$labels['replyandforwardonly'] = 'samo pri odgovaranju i proslijeđivanju';
$labels['insertsignature'] = 'Umetni potpis';
$labels['previewpanemarkread'] = 'Obilježi pregledane poruke kao proÄitane';
$labels['afternseconds'] = 'nakon $n sekundi';
-$labels['reqmdn'] = 'Uvijek zatraži potvrdu o primitku poruke';
-$labels['reqdsn'] = 'Uvijek zatraži potvrdu o slanju poruke';
-$labels['replysamefolder'] = 'Spremi odgovore u mapu gdje se nalazi poruka';
+$labels['reqmdn'] = 'Uvijek zatraži potvrdu o primitku';
+$labels['reqdsn'] = 'Uvijek zatraži obavijest o stanju isporuke';
+$labels['replysamefolder'] = 'Spremi odgovore u mapu gdje se nalazi originalna poruka';
+$labels['defaultabook'] = 'Zadani imenik';
$labels['autocompletesingle'] = 'PreskoÄi alternativne email adrese u autocomplete prijedlozima';
+$labels['listnamedisplay'] = 'Prikaži kontakte kao';
$labels['spellcheckbeforesend'] = 'Provjeri pravopis prije slanja poruke';
$labels['spellcheckoptions'] = 'Postavke provjere pravopisa';
-$labels['spellcheckignoresyms'] = 'Ignoriraj rijeÄi koje sadrže simbole';
-$labels['spellcheckignorenums'] = 'Ignoriraj rijeÄi koje sadrže brojeve';
-$labels['spellcheckignorecaps'] = 'Ignoriraj rijeÄi sa sa svim velikim slovima';
+$labels['spellcheckignoresyms'] = 'Zanemari rijeÄi koje sadrže simbole';
+$labels['spellcheckignorenums'] = 'Zanemari rijeÄi koje sadrže brojeve';
+$labels['spellcheckignorecaps'] = 'Zanemari rijeÄi sa svim velikim slovima';
$labels['addtodict'] = 'Dodaj u rjeÄnik';
+$labels['mailtoprotohandler'] = 'Registriraj upravitelj protokola za mailto: linkove';
+$labels['standardwindows'] = 'Tretiraj skoÄne prozore kao standardne';
+$labels['forwardmode'] = 'Prosljeđivanje poruka';
+$labels['inline'] = 'umetnuto';
+$labels['asattachment'] = 'kao privitak';
+$labels['replyallmode'] = 'Zadana akcija [Reply all] gumba';
+$labels['replyalldefault'] = 'odgovori svima';
+$labels['replyalllist'] = 'odgovori samo listi (ako postoji)';
$labels['folder'] = 'Mapa';
$labels['folders'] = 'Mape';
-$labels['foldername'] = 'Ime mape';
-$labels['subscribed'] = 'Pretplata';
+$labels['foldername'] = 'Naziv mape';
+$labels['subscribed'] = 'Pretplaćen';
$labels['messagecount'] = 'Poruke';
-$labels['create'] = 'Napravi';
-$labels['createfolder'] = 'Napravi novu mapu';
-$labels['managefolders'] = 'Podesi mapu';
-$labels['specialfolders'] = 'Specijalna mapa';
+$labels['create'] = 'Stvori';
+$labels['createfolder'] = 'Stvori novu mapu';
+$labels['managefolders'] = 'Upravljanje mapama';
+$labels['specialfolders'] = 'Specijalne mape';
$labels['properties'] = 'Svojstva';
$labels['folderproperties'] = 'Svojstva mape';
-$labels['parentfolder'] = 'Glavna fascikla';
+$labels['parentfolder'] = 'Glavna mapa';
$labels['location'] = 'Lokacija';
-$labels['info'] = 'Informacija';
-$labels['getfoldersize'] = 'Kliknite da biste dobili veliÄinu mape';
-$labels['changesubscription'] = 'Kliknite da biste promjenili pretplatu';
+$labels['info'] = 'Informacije';
+$labels['getfoldersize'] = 'Kliknite za prikaz veliÄine mape';
+$labels['changesubscription'] = 'Kliknite da biste promijenili pretplatu';
$labels['foldertype'] = 'Vrsta mape';
$labels['personalfolder'] = 'Privatna mapa';
-$labels['otherfolder'] = 'Mapa drugih korisnika';
+$labels['otherfolder'] = 'Mapa drugog korisnika';
$labels['sharedfolder'] = 'Javna mapa';
$labels['sortby'] = 'Sortiraj po';
-$labels['sortasc'] = 'Sortiraj rastućim nizom';
-$labels['sortdesc'] = 'Sortiraj opadajućim nizom';
+$labels['sortasc'] = 'Sortiraj uzlaznim nizom';
+$labels['sortdesc'] = 'Sortiraj silaznim nizom';
$labels['undo'] = 'Poništi';
-$labels['plugin'] = 'Plugin';
+$labels['installedplugins'] = 'Instalirani dodaci';
+$labels['plugin'] = 'Dodatak';
$labels['version'] = 'InaÄica';
-$labels['source'] = 'Izvor';
+$labels['source'] = 'Izvorni kod';
$labels['license'] = 'Licenca';
$labels['support'] = 'Podrška';
$labels['B'] = 'B';
@@ -418,16 +477,16 @@ $labels['MB'] = 'MB';
$labels['GB'] = 'GB';
$labels['unicode'] = 'Unicode';
$labels['english'] = 'Engleski';
-$labels['westerneuropean'] = 'Zapadno Evropski';
-$labels['easterneuropean'] = 'IstoÄno Evropski';
-$labels['southeasterneuropean'] = 'Južno-IstoÄni Evropski';
-$labels['baltic'] = 'BalitÄki';
-$labels['cyrillic'] = 'ÄŒirilÄni';
+$labels['westerneuropean'] = 'Zapadnoeuropski';
+$labels['easterneuropean'] = 'IstoÄnoeuropski';
+$labels['southeasterneuropean'] = 'JugoistoÄnoeuropski';
+$labels['baltic'] = 'BaltiÄki';
+$labels['cyrillic'] = 'Čirilićni';
$labels['arabic'] = 'Arapski';
$labels['greek'] = 'GrÄki';
-$labels['hebrew'] = 'Hibru';
+$labels['hebrew'] = 'Hebrejski';
$labels['turkish'] = 'Turski';
-$labels['nordic'] = 'Nordski';
+$labels['nordic'] = 'Nordijski';
$labels['thai'] = 'Tajlandski';
$labels['celtic'] = 'Keltski';
$labels['vietnamese'] = 'Vijetnamski';
diff --git a/program/localization/hr_HR/messages.inc b/program/localization/hr_HR/messages.inc
index 2e51848eb..0baeb2908 100644
--- a/program/localization/hr_HR/messages.inc
+++ b/program/localization/hr_HR/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -15,139 +15,161 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/messages/
*/
-$messages['loginfailed'] = 'Prijava neuspješna';
-$messages['cookiesdisabled'] = 'VaÅ¡ Web preglednik ne podržava kolaÄiće (cookies)';
-$messages['sessionerror'] = 'Morate se ponovno ulogirati';
-$messages['storageerror'] = 'Neuspješna veza na IMAP server';
-$messages['servererror'] = 'Greška poslužitelja';
-$messages['servererrormsg'] = 'Greška na serveru: $msg';
+$messages['errortitle'] = 'Dogodila se greška!';
+$messages['loginfailed'] = 'Prijava neuspješna.';
+$messages['cookiesdisabled'] = 'VaÅ¡ preglednik ne prihvaća kolaÄiće.';
+$messages['sessionerror'] = 'Vaša sesija je nevaljala ili istekla.';
+$messages['storageerror'] = 'Neuspješno povezivanje na IMAP poslužitelj.';
+$messages['servererror'] = 'Greška poslužitelja!';
+$messages['servererrormsg'] = 'Greška poslužitelja: $msg';
$messages['dberror'] = 'Greška baze podataka!';
-$messages['errorreadonly'] = 'Nemoguća izvedba operacije. Mapa je samo za Äitanje.';
-$messages['errornoperm'] = 'Nemoguća izvedba operacije. Dozvola odbijena.';
-$messages['invalidrequest'] = 'Nepravilan zahtijev! Podaci nisu spremljeni.';
-$messages['nomessagesfound'] = 'Nema poruka u sanduÄiću';
-$messages['loggedout'] = 'Uspješno ste se odjavili. Zbogom!';
-$messages['mailboxempty'] = 'SanduÄuć je prazan';
+$messages['requesttimedout'] = 'Zahtjev istekao';
+$messages['errorreadonly'] = 'Nemoguće izvrÅ¡iti operaciju. Mapa je samo za Äitanje.';
+$messages['errornoperm'] = 'Nemoguće izvršiti operaciju. Nije dozvoljen pristup.';
+$messages['erroroverquota'] = 'Nemoguće izvršiti operaciju. Nema prostora na disku.';
+$messages['erroroverquotadelete'] = 'Nema prostora na disku. Upotrijebite SHIFT+DEL za brisanje poruka.';
+$messages['invalidrequest'] = 'Neispravan zahtjev! Podaci nisu spremljeni.';
+$messages['invalidhost'] = 'Neispravno ime poslužitelja.';
+$messages['nomessagesfound'] = 'Nema poruka u ovom sanduÄiću.';
+$messages['loggedout'] = 'Uspješno ste se odjavili. Doviđenja!';
+$messages['refreshing'] = 'Osvježavanje...';
$messages['loading'] = 'UÄitavanje...';
-$messages['uploading'] = 'Prenosim datoteku...';
-$messages['uploadingmany'] = 'Prenosim datoteke...';
+$messages['uploading'] = 'Postavljanje datoteke...';
+$messages['uploadingmany'] = 'Postavljanje datoteka...';
$messages['loadingdata'] = 'UÄitavanje podataka...';
$messages['checkingmail'] = 'Provjera novih poruka u tijeku...';
-$messages['sendingmessage'] = 'Poruka se Å¡alje...';
-$messages['messagesent'] = 'Poruka je uspješno poslana';
-$messages['savingmessage'] = 'Poruka se sprema...';
-$messages['messagesaved'] = 'Poruka uspješno spremljena u \'Predlošci\'';
-$messages['successfullysaved'] = 'Spremanje uspješno obavljeno';
-$messages['addedsuccessfully'] = 'Kontakt uspješno dodan u imenik';
-$messages['contactexists'] = 'Kontakt sa ovom e-mail adresom već postoji u imeniku';
-$messages['contactnameexists'] = 'Kontak s istim imenom već postoji.';
-$messages['blockedimages'] = 'Zbog zaštite privatnosti, slike sa udaljenih servera su blokirane.';
-$messages['encryptedmessage'] = 'Ova poruka je zaštićena pa se ne može prikazati';
-$messages['nocontactsfound'] = 'Imenik je prazan';
-$messages['contactnotfound'] = 'Traženi kontakt nije pronađen';
-$messages['contactsearchonly'] = 'Upišite nekoliko pojmova za pretragu imenika';
-$messages['sendingfailed'] = 'Greška pri slanju poruke';
-$messages['senttooquickly'] = 'Molimo saÄekajte $sec sek. prije slanja ove poruke';
-$messages['errormoving'] = 'Greška pri premještanju poruke';
-$messages['errorcopying'] = 'Greška pri kopiranju poruke';
-$messages['errordeleting'] = 'Greška pri brisanju poruke';
-$messages['errormarking'] = 'Nije moguće oznaÄiti poruku';
-$messages['deletecontactconfirm'] = 'Želite li obrisati izabrane kontakte?';
+$messages['sendingmessage'] = 'Slanje poruke...';
+$messages['messagesent'] = 'Poruka uspješno poslana.';
+$messages['savingmessage'] = 'Spremanje poruke...';
+$messages['messagesaved'] = 'Poruka spremljena u mapu Predlošci.';
+$messages['successfullysaved'] = 'Uspješno spremljeno.';
+$messages['savingresponse'] = 'Spremanje teksta odgovora...';
+$messages['deleteresponseconfirm'] = 'Jeste li sigurni da želite obrisati tekst ovog odgovora?';
+$messages['addedsuccessfully'] = 'Kontakt uspješno dodan u imenik.';
+$messages['contactexists'] = 'Kontakt sa istom e-mail adresom već postoji.';
+$messages['contactnameexists'] = 'Kontakt istog imena već postoji.';
+$messages['blockedimages'] = 'Zbog zaštite privatnosti, slike sa interneta su blokirane u ovoj poruci.';
+$messages['encryptedmessage'] = 'Ova poruka je šifrirana i ne može se prikazati.';
+$messages['nocontactsfound'] = 'Imenik je prazan.';
+$messages['contactnotfound'] = 'Traženi kontakt nije pronađen.';
+$messages['contactsearchonly'] = 'Upišite neke pojmove za pretragu imenika';
+$messages['sendingfailed'] = 'Slanje poruke nije uspjelo.';
+$messages['senttooquickly'] = 'Molimo saÄekajte $sec sek. prije slanja ove poruke.';
+$messages['errorsavingsent'] = 'Greška pri spremanju poslane poruke.';
+$messages['errorsaving'] = 'Greška pri spremanju.';
+$messages['errormoving'] = 'Greška pri premještanju poruke(a).';
+$messages['errorcopying'] = 'Greška pri kopiranju poruke(a).';
+$messages['errordeleting'] = 'Greška pri brisanju poruke(a).';
+$messages['errormarking'] = 'GreÅ¡ka pri oznaÄavanju poruke(a).';
+$messages['deletecontactconfirm'] = 'Jeste li sigurni da želite obrisati odabrani kontakt(e)?';
$messages['deletegroupconfirm'] = 'Jeste li sigurni da želite obrisati odabranu grupu?';
-$messages['deletemessagesconfirm'] = 'Sigurno želite obrisati odabrane poruke?';
-$messages['deletefolderconfirm'] = 'Želite li obrisati ovu mapu?';
-$messages['purgefolderconfirm'] = 'Želite li obrisati sve poruke u mapi?';
-$messages['contactdeleting'] = 'Brišem kontakt(e)...';
-$messages['groupdeleting'] = 'Brišem grupu...';
-$messages['folderdeleting'] = 'Brišem mapu...';
-$messages['foldermoving'] = 'Premještam mapu...';
-$messages['foldersubscribing'] = 'Pretplata na mapu...';
+$messages['deletemessagesconfirm'] = 'Jeste li sigurni da želite obrisati odabranu poruku(e)?';
+$messages['deletefolderconfirm'] = 'Jeste li sigurni da želite obrisati mapu?';
+$messages['purgefolderconfirm'] = 'Jeste li sigurni da želite obrisati sve poruke u mapi?';
+$messages['contactdeleting'] = 'Brisanje kontak(a)ta...';
+$messages['groupdeleting'] = 'Brisanje grupe...';
+$messages['folderdeleting'] = 'Brisanje mape...';
+$messages['foldermoving'] = 'Premještanje mape...';
+$messages['foldersubscribing'] = 'Pretplaćivanje na mapu...';
$messages['folderunsubscribing'] = 'Poništavanje pretplate na mapu...';
-$messages['formincomplete'] = 'Obrazac nije u cjelosti popunjen';
-$messages['noemailwarning'] = 'Unesite valjanu e-mail adresu';
-$messages['nonamewarning'] = 'Unesite ime';
-$messages['nopagesizewarning'] = 'Unesite veliÄinu stranice';
-$messages['nosenderwarning'] = 'Unesite e-mail adresu pošiljatelja';
-$messages['norecipientwarning'] = 'Unesite primatelja (ZA)';
+$messages['formincomplete'] = 'Obrazac nije u cjelosti popunjen.';
+$messages['noemailwarning'] = 'Unesite ispravnu e-mail adresu.';
+$messages['nonamewarning'] = 'Unesite ime.';
+$messages['nopagesizewarning'] = 'Unesite veliÄinu stranice.';
+$messages['nosenderwarning'] = 'Unesite e-mail adresu pošiljatelja.';
+$messages['norecipientwarning'] = 'Unesite barem jednog primatelja.';
$messages['nosubjectwarning'] = 'Polje \'Naslov\' je prazno. Želite li unijeti naslov?';
$messages['nobodywarning'] = 'Želite li poslati poruku bez teksta?';
$messages['notsentwarning'] = 'Poruka nije poslana. Želite li odbaciti ovu poruku?';
-$messages['noldapserver'] = 'Unesite LDAP poslužitelj za pretragu';
-$messages['nosearchname'] = 'Unesite ime ili e-mail adresu';
-$messages['notuploadedwarning'] = 'Svi prilozi joÅ¡ nisu presnimljeni na poslužitelj. Molim priÄekajte ili zaustavite prsnimavanje.';
-$messages['searchsuccessful'] = 'Broj pronađenih poruka: $nr';
-$messages['contactsearchsuccessful'] = '$nr kontakata pronađeno.';
-$messages['searchnomatch'] = 'Traženi termin nije pronađen ni u jednoj poruci';
-$messages['searching'] = 'Pretraga u tijeku...';
+$messages['restoresavedcomposedata'] = 'PronaÄ‘ena je zapoÄeta, ali neposlana poruka .\n\nNaslov: $subject\nSnimljeno: $date\n\nŽelite li je prikazati?';
+$messages['noldapserver'] = 'Odaberite LDAP poslužitelj za pretragu.';
+$messages['nosearchname'] = 'Unesite ime ili e-mail adresu.';
+$messages['notuploadedwarning'] = 'Svi privitci joÅ¡ nisu postavljeni na poslužitelj. Molim priÄekajte ili zaustavite postavljanje.';
+$messages['searchsuccessful'] = 'Pronađeno $nr poruka.';
+$messages['contactsearchsuccessful'] = 'Pronađeno $nr kontakata.';
+$messages['searchnomatch'] = 'Pretraga nije vratila nijedan rezultat.';
+$messages['searching'] = 'Pretraživanje u tijeku...';
$messages['checking'] = 'Provjera u tijeku...';
-$messages['nospellerrors'] = 'Nije pronađena niti jedna pravopisna greška';
-$messages['folderdeleted'] = 'Mapa uspješno obrisana';
-$messages['foldersubscribed'] = 'Mapa uspješno pretplaćena';
-$messages['folderunsubscribed'] = 'Pretplata na mapu uspješno poništena';
-$messages['folderpurged'] = 'Mapa uspješno ispražnjena';
-$messages['folderexpunged'] = 'Mapa uspješno zbijena';
-$messages['deletedsuccessfully'] = 'Uspješno obrisano';
-$messages['converting'] = 'Formatiranje poruke';
-$messages['messageopenerror'] = 'UÄitavanje poruke nije uspjelo';
-$messages['fileuploaderror'] = 'Prijenos datoteke nije uspio';
-$messages['filesizeerror'] = 'Datoteka je prevelika. Maksimalna veliÄina je $size';
-$messages['sourceisreadonly'] = 'Ovaj resurs adresa je samo za Äitanje';
-$messages['errorsavingcontact'] = 'Nije uspjelo spremanje adrese kontakta';
-$messages['movingmessage'] = 'Premještanje poruke...';
-$messages['copyingmessage'] = 'Kopiranje poruke...';
-$messages['copyingcontact'] = 'Kopiram kontakt(e)...';
-$messages['deletingmessage'] = 'Brisanje poruke...';
-$messages['markingmessage'] = 'OznaÄavanje poruke...';
-$messages['addingmember'] = 'Dodajem kontakt(e) u grupu...';
-$messages['removingmember'] = 'Izbacujem kontakt(e) iz groupe...';
-$messages['receiptsent'] = 'UspjeÅ¡no poslana potvrda (proÄitano)';
-$messages['errorsendingreceipt'] = 'Ne može poslati potvrdu';
-$messages['deleteidentityconfirm'] = 'Jeste li sigurni da želite obrisati profil?';
-$messages['nodeletelastidentity'] = 'Ne možete izbrisati zadnji identitet.';
-$messages['forbiddencharacter'] = 'Naziv mape sadrži zabranjene znakove';
-$messages['selectimportfile'] = 'Odaberite datoteku za prijenos';
-$messages['addresswriterror'] = 'U odabrani adresar nije moguće zapisivat...';
-$messages['contactaddedtogroup'] = 'Kontakti uspješno dodani ovoj grupi';
-$messages['contactremovedfromgroup'] = 'Kontakti uspješno izbrisani iz ove grupe';
-$messages['importwait'] = 'Uvozim, molimo saÄekajte...';
-$messages['importconfirm'] = '<b>UspjeÅ¡no je uvezeno $inserted kontakt(a), preskoÄeno $skipped već postojećih</b>:<p><em>$names</em></p>';
+$messages['nospellerrors'] = 'Nije pronađena nijedna pravopisna greška.';
+$messages['folderdeleted'] = 'Mapa uspješno obrisana.';
+$messages['foldersubscribed'] = 'Mapa uspješno pretplaćena.';
+$messages['folderunsubscribed'] = 'Pretplata na mapu uspješno poništena.';
+$messages['folderpurged'] = 'Mapa uspješno ispražnjena.';
+$messages['folderexpunged'] = 'Mapa uspješno sažeta.';
+$messages['deletedsuccessfully'] = 'Uspješno obrisano.';
+$messages['converting'] = 'Uklanjanje formatiranja poruke...';
+$messages['messageopenerror'] = 'UÄitavanje poruke s poslužitelja nije uspjelo.';
+$messages['fileuploaderror'] = 'Postavljanje datoteke nije uspjelo.';
+$messages['filesizeerror'] = 'Postavljena datoteka prelazi maksimalna veliÄinu od $size.';
+$messages['copysuccess'] = 'Uspješno kopirano $n kontakata.';
+$messages['movesuccess'] = 'Uspješno premješteno $n kontakata.';
+$messages['copyerror'] = 'Kopiranje kontakata nije uspjelo.';
+$messages['moveerror'] = 'Premještanje kontakata nije uspjelo.';
+$messages['sourceisreadonly'] = 'Ovaj izvor adresa je samo za Äitanje.';
+$messages['errorsavingcontact'] = 'Spremanje adrese kontakta nije uspjelo.';
+$messages['movingmessage'] = 'Premještanje poruke(a)...';
+$messages['copyingmessage'] = 'Kopiranje poruke(a)...';
+$messages['copyingcontact'] = 'Kopiranje kontak(a)ta...';
+$messages['movingcontact'] = 'Premještanje kontakata...';
+$messages['deletingmessage'] = 'Brisanje poruke(a)...';
+$messages['markingmessage'] = 'OznaÄavanje poruke(a)...';
+$messages['addingmember'] = 'Dodavanje kontak(a)ta u grupu...';
+$messages['removingmember'] = 'Brisanje kontak(a)ta iz grupe...';
+$messages['receiptsent'] = 'Potvrda o primitku uspješno poslana.';
+$messages['errorsendingreceipt'] = 'Slanje potvrde o primitku nije uspjelo.';
+$messages['deleteidentityconfirm'] = 'Jeste li sigurni da želite obrisati ovaj identitet?';
+$messages['nodeletelastidentity'] = 'Jedini preostali identitet nije moguće obrisati.';
+$messages['forbiddencharacter'] = 'Naziv mape sadrži zabranjene znakove.';
+$messages['selectimportfile'] = 'Odaberite datoteku za postavljanje.';
+$messages['addresswriterror'] = 'U odabrani imenik nije omogućeno pisanje.';
+$messages['contactaddedtogroup'] = 'Kontakti uspješno dodani u grupu.';
+$messages['contactremovedfromgroup'] = 'Kontakti uspješno obrisani iz grupe.';
+$messages['nogroupassignmentschanged'] = 'Nema promjene u zadacima grupa.';
+$messages['importwait'] = 'Uvoz, molim priÄekajte...';
+$messages['importformaterror'] = 'Uvoz nije uspio! Postavljena datoteka nije ispravnog formata za uvoz.';
+$messages['importconfirm'] = '<b>Uspješno uvezeno $inserted kontakta</b>';
$messages['importconfirmskipped'] = '<b>PreskoÄeno $skipped postojećih unosa</b>';
+$messages['importmessagesuccess'] = 'Uspješno uvezeno $nr poruka';
+$messages['importmessageerror'] = 'Uvoz neuspjeÅ¡an! Datoteka nije u formatu poruke ili sanduÄića';
$messages['opnotpermitted'] = 'Operacija nije dozvoljena!';
-$messages['nofromaddress'] = 'Nije upisana e-mail adresa u odabrani identitet';
-$messages['editorwarning'] = 'Prebacivanje u Äisti tekstualni ureÄ‘ivaÄ Ä‡e prouzrokovati gubljenje formatiranje teksta. Želite li nastaviti?';
-$messages['httpreceivedencrypterror'] = 'Dogodila se fatalna greška u konfiguraciji. Odmah kontaktirajte administratora. <b>Vaša poruka se nemože poslati.</b>';
-$messages['smtpconnerror'] = 'SMTP Greška ($code): Veza na server nije uspjela';
-$messages['smtpautherror'] = 'SMTP Greška ($code): Autentikacija nije uspjela';
-$messages['smtpfromerror'] = 'SMTP Greška ($code): Nije uspjelo postavljanje pošiljatelja "$from" ($msg)';
-$messages['smtptoerror'] = 'SMTP Greška ($code): Nije uspjelo dodavanje primatelja "$to" ($msg)';
-$messages['smtprecipientserror'] = 'SMTP GreÅ¡ka: Nije moguće proÄitati listu primatelja';
-$messages['smtperror'] = 'SMTP Greška: $msg';
-$messages['emailformaterror'] = 'Nepravilna e-mail adresa: $email';
+$messages['nofromaddress'] = 'Nije upisana e-mail adresa u odabrani identitet.';
+$messages['editorwarning'] = 'Prebacivanje u Äisti tekstualni ureÄ‘ivaÄ Ä‡e uzrokovati gubljenje formatiranja teksta. Želite li nastaviti?';
+$messages['httpreceivedencrypterror'] = 'Dogodila se fatalna greška u konfiguraciji. Odmah kontaktirajte administratora. <b>Vaša poruka se ne može poslati.</b>';
+$messages['smtpconnerror'] = 'SMTP greška ($code): Povezivanje na poslužitelj nije uspjelo.';
+$messages['smtpautherror'] = 'SMTP greška ($code): Autentikacija nije uspjela.';
+$messages['smtpfromerror'] = 'SMTP greška ($code): Postavljanje pošiljatelja "$from" ($msg) nije uspjelo.';
+$messages['smtptoerror'] = 'SMTP greška ($code): Dodavanje primatelja "$to" ($msg) nije uspjelo.';
+$messages['smtprecipientserror'] = 'SMTP greÅ¡ka: Nije moguće proÄitati listu primatelja.';
+$messages['smtperror'] = 'SMTP greška: $msg';
+$messages['emailformaterror'] = 'Neispravna e-mail adresa: $email';
$messages['toomanyrecipients'] = 'Previše primatelja. Smanjite broj primatelja na $max.';
-$messages['maxgroupmembersreached'] = 'Broj Älanova grupe prelazi preko maximuma od $max';
+$messages['maxgroupmembersreached'] = 'Broj Älanova grupe prelazi maksimalni broj od $max.';
+$messages['internalerror'] = 'Dogodila se interna greška. Molimo pokušajte ponovno.';
$messages['contactdelerror'] = 'Kontakti ne mogu biti obrisani.';
$messages['contactdeleted'] = 'Kontakti uspješno obrisani.';
$messages['contactrestoreerror'] = 'Ne mogu vratiti obrisan(e) kontakt(e).';
-$messages['contactrestored'] = 'Kontakt(i) uspješno vraćeni .';
+$messages['contactrestored'] = 'Kontakt(i) uspješno vraćeni.';
$messages['groupdeleted'] = 'Grupa uspješno obrisana.';
$messages['grouprenamed'] = 'Grupa uspješno preimenovana.';
-$messages['groupcreated'] = 'Grupa uspješno kreirana.';
+$messages['groupcreated'] = 'Grupa uspješno stvorena.';
$messages['savedsearchdeleted'] = 'Pohranjena pretraga uspješno obrisana.';
-$messages['savedsearchdeleteerror'] = 'Ne mogu obrisati pohranjenu pretragu';
+$messages['savedsearchdeleteerror'] = 'Ne mogu obrisati pohranjenu pretragu.';
$messages['savedsearchcreated'] = 'Pohranjena pretraga uspješno stvorena.';
$messages['savedsearchcreateerror'] = 'Ne mogu stvoriti pohranjenu pretragu.';
$messages['messagedeleted'] = 'Poruke uspješno obrisane.';
-$messages['messagemoved'] = 'Poruke uspješno pomjerene.';
+$messages['messagemoved'] = 'Poruke uspješno premještene.';
$messages['messagecopied'] = 'Poruke uspješno kopirane.';
$messages['messagemarked'] = 'Poruke uspjeÅ¡no oznaÄene.';
$messages['autocompletechars'] = 'Unesite barem $min znakova za auto-dopunjavanje.';
$messages['autocompletemore'] = 'Više podudarajućih zapisa pronađeno. Molim upišite još znakova.';
-$messages['namecannotbeempty'] = 'Polje za ime ne može biti prazno.';
-$messages['nametoolong'] = 'Ime predugo.';
-$messages['folderupdated'] = 'Ažuriranje mape uspješno.';
-$messages['foldercreated'] = 'Kreiranje mape uspješno.';
+$messages['namecannotbeempty'] = 'Ime ne može biti prazno.';
+$messages['nametoolong'] = 'Ime je predugaÄko.';
+$messages['folderupdated'] = 'Mapa uspješno ažurirana.';
+$messages['foldercreated'] = 'Mapa uspješno stvorena.';
$messages['invalidimageformat'] = 'Format slike nije ispravan.';
-$messages['mispellingsfound'] = 'Greške pravopisa su pronađene u poruci.';
-$messages['parentnotwritable'] = 'Nije moguće stvoriti/pomaknuti mapu u odabranu mapu. Nemate prava pristupa.';
-$messages['messagetoobig'] = 'Dio poruke je prevelik za procesiranje.';
+$messages['mispellingsfound'] = 'Poruka sadrži pravopisne greške.';
+$messages['parentnotwritable'] = 'Nije moguće stvoriti/pomaknuti mapu u odabranoj mapi. Nemate pravo pristupa.';
+$messages['messagetoobig'] = 'Dio poruke je prevelik za obradu.';
+$messages['attachmentvalidationerror'] = 'UPOZORENJE! Ovaj privitak je sumnjiv jer vrsta privitka ne odgovara vrsti deklariranoj u poruci. Ako ne vjerujete poÅ¡iljatelju, ne biste trebali otvarati privitak u pregledniku jer može isti može sadržavati zloćudni kod.<br/><br/><em>OÄekivano: $expected; pronaÄ‘eno: $detected</em>';
+$messages['noscriptwarning'] = 'UPOZORENJE: Ovaj webmail servis zahtijeva Javascript! Kako biste ga mogli koristiti, molimo omogućite Javascript u postavkama svog preglednika.';
?>
diff --git a/program/localization/hu_HU/labels.inc b/program/localization/hu_HU/labels.inc
index 1a2135433..fdd43effe 100644
--- a/program/localization/hu_HU/labels.inc
+++ b/program/localization/hu_HU/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to / $count';
$labels['copy'] = 'Másolás';
$labels['move'] = 'Ãthelyezés';
$labels['moveto'] = 'Ãthelyezés...';
+$labels['copyto'] = 'Másold oda..';
$labels['download'] = 'letöltés';
$labels['open'] = 'Megnyítás';
$labels['showattachment'] = 'Megjelenítés';
diff --git a/program/localization/hu_HU/messages.inc b/program/localization/hu_HU/messages.inc
index f7eaa1394..859f3c6ea 100644
--- a/program/localization/hu_HU/messages.inc
+++ b/program/localization/hu_HU/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = 'Érvénytelen kérés! Az adatok nem lettek elmen
$messages['invalidhost'] = 'Hibás szerver hoszt név';
$messages['nomessagesfound'] = 'A fiók nem tartalmaz leveleket';
$messages['loggedout'] = 'Sikeres kijelentkezés. Viszontlátásra!';
-$messages['mailboxempty'] = 'A fiók üres';
+$messages['mailboxempty'] = 'A postafiók üres';
+$messages['nomessages'] = 'Nincsenek üzenetek';
$messages['refreshing'] = 'Frissítés...';
$messages['loading'] = 'Betöltés...';
$messages['uploading'] = 'Fájl feltöltése...';
diff --git a/program/localization/hy_AM/labels.inc b/program/localization/hy_AM/labels.inc
index fec95f3cd..fa5a2bec6 100644
--- a/program/localization/hy_AM/labels.inc
+++ b/program/localization/hy_AM/labels.inc
@@ -31,6 +31,7 @@ $labels['trash'] = 'Ô±Õ²Õ¢Õ¡Ö€Õ¯Õ²';
$labels['junk'] = 'Ô¹Õ¡ÖƒÕ¸Õ¶';
$labels['subject'] = 'ÕŽÕ¥Ö€Õ¶Õ¡Õ£Õ«Ö€';
$labels['from'] = 'ÕˆÖ‚Õ²Õ¡Ö€Õ¯Õ¸Õ²';
+$labels['sender'] = 'ÕˆÖ‚Õ²Õ¡Ö€Õ¯Õ¸Õ²';
$labels['to'] = 'ÕÕ¿Õ¡ÖÕ¸Õ²';
$labels['cc'] = 'Cc';
$labels['bcc'] = 'Bcc';
@@ -51,6 +52,9 @@ $labels['copy'] = 'Cc';
$labels['move'] = 'ÕÕ¥Õ²Õ¡ÖƒÕ¸Õ­Õ¥Õ¬';
$labels['moveto'] = 'ÕÕ¥Õ²Õ¡ÖƒÕ¸Õ­Õ¥Õ¬...';
$labels['download'] = 'Õ”Õ¡Õ·Õ¥Õ¬';
+$labels['open'] = 'Ô²Õ¡Ö';
+$labels['showattachment'] = 'Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬';
+$labels['showanyway'] = 'Ô±Õ´Õ¥Õ¶ Õ¤Õ¥ÕºÖ„Õ¸Ö‚Õ´ ÖÕ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬';
$labels['filename'] = 'Õ–Õ¡ÕµÕ¬Õ« Õ¡Õ¶Õ¸Ö‚Õ¶';
$labels['filesize'] = 'Õ–Õ¡ÕµÕ¬Õ« Õ¹Õ¡Öƒ';
$labels['addtoaddressbook'] = 'Õ€Õ«Õ·Õ¥Õ¬ Õ°Õ¡Õ½ÖÕ¥Õ¶';
@@ -133,6 +137,7 @@ $labels['unread'] = 'Õ‰Õ¯Õ¡Ö€Õ¤Õ¡ÖÕ¡Õ®Õ¨';
$labels['flagged'] = 'Õ†Õ·Õ¾Õ¡Õ®';
$labels['unanswered'] = 'Ô±Õ¶ÕºÕ¡Õ¿Õ¡Õ½Õ­Õ¡Õ¶';
$labels['deleted'] = 'Õ‹Õ¶Õ»Õ¾Õ¡Õ®';
+$labels['undeleted'] = 'Õ‹Õ¶Õ»Õ¾Õ¡Õ® Õ¹Õ§';
$labels['invert'] = 'Õ“Õ¸Õ­Õ¡Õ¿Õ¥Õ²Õ¥Õ¬';
$labels['filter'] = 'Ô¶Õ¿Õ«Õ¹';
$labels['list'] = 'Õ‘Õ¸Ö‚ÖÕ¡Õ¯';
@@ -166,9 +171,13 @@ $labels['quicksearch'] = 'Ô±Ö€Õ¡Õ£ Õ¸Ö€Õ¸Õ¶Õ¸Ö‚Õ´';
$labels['resetsearch'] = 'ÕŽÕ¥Ö€Õ½Õ¯Õ½Õ¥Õ¬ Õ¸Ö€Õ¸Õ¶Õ¸Ö‚Õ´Õ¨';
$labels['searchmod'] = 'ÕˆÖ€Õ¸Õ¶Õ´Õ¡Õ¶ ÖƒÕ¸ÖƒÕ¸Õ­Õ«Õ¹Õ¶Õ¥Ö€';
$labels['msgtext'] = 'ÕˆÕ²Õ» Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨';
+$labels['body'] = 'Õ„Õ¡Ö€Õ´Õ«Õ¶';
+$labels['type'] = 'ÕÖ‡';
+$labels['namex'] = 'Ô±Õ¶Õ¾Õ¡Õ¶Õ¸Ö‚Õ´';
$labels['openinextwin'] = 'Ô²Õ¡ÖÕ¥Õ¬ Õ¶Õ¸Ö€ ÕºÕ¡Õ¿Õ¸Ö‚Õ°Õ¡Õ¶Õ¸Ö‚Õ´';
$labels['emlsave'] = 'Õ†Õ¥Ö€Õ¢Õ¥Õ¼Õ¶Õ¥Õ¬ (.eml)';
$labels['editasnew'] = 'Ô½Õ´Õ¢Õ¡Õ£Ö€Õ¥Õ¬ Õ¸Ö€ÕºÕ¥Õ½ Õ¶Õ¸Ö€';
+$labels['send'] = 'ÕˆÖ‚Õ²Õ¡Ö€Õ¯Õ¥Õ¬';
$labels['sendmessage'] = 'ÕˆÖ‚Õ²Õ¡Ö€Õ¯Õ¥Õ¬';
$labels['savemessage'] = 'Õ€Õ«Õ·Õ¥Õ¬ Õ¸Ö€ÕºÕ¥Õ½ Õ½Ö‡Õ¡Õ£Õ«Ö€';
$labels['addattachment'] = 'Ô¿ÖÕ¥Õ¬ Ö†Õ¡ÕµÕ¬';
@@ -198,6 +207,9 @@ $labels['nosubject'] = '(Õ¡Õ¼Õ¡Õ¶Ö Õ¾Õ¥Ö€Õ¶Õ¡Õ£Ö€Õ«)';
$labels['showimages'] = 'Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ¶Õ¯Õ¡Ö€Õ¶Õ¥Ö€Õ¨';
$labels['alwaysshow'] = 'Õ„Õ«Õ·Õ¿ ÖÕ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¶Õ¥Ö€Õ¨ $sender–իÖ';
$labels['isdraft'] = 'ÕÕ¡ Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¡Õ¶ Õ½Ö‡Õ¡Õ£Õ«Ö€ Õ§';
+$labels['andnmore'] = '$nr Õ¡ÕµÕ¬...';
+$labels['togglemoreheaders'] = 'Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ¢Õ¸Õ¬Õ¸Ö€ Õ£Õ¬Õ­Õ¡Õ£Ö€Õ¥Ö€Õ¨';
+$labels['togglefullheaders'] = 'Õ“Õ¸Õ­Õ¥Õ¬ Õ£Õ¬Õ­Õ¡Õ£Ö€Õ¥Ö€Õ¨';
$labels['htmltoggle'] = 'HTML';
$labels['plaintoggle'] = 'ÕŠÕ¡Ö€Õ¦ Õ¿Õ¥Ö„Õ½Õ¿';
$labels['savesentmessagein'] = 'Ô³Ö€Õ¡Õ¶ÖÕ¥Õ¬ Õ¸Ö‚Õ²Õ¡Ö€Õ¯Õ¾Õ¡Õ® Õ¶Õ¡Õ´Õ¡Õ¯Õ¨';
@@ -279,6 +291,8 @@ $labels['composeto'] = 'Ô³Ö€Õ¥Õ¬ Õ¶Õ¡Õ´Õ¡Õ¯';
$labels['contactsfromto'] = 'Õ€Õ¡Õ½ÖÕ¥Õ¶Õ¥Ö€ $fromâ€“Õ«Ö $to–ը Õ¥Õ²Õ¡Õ® $count–իÖ';
$labels['print'] = 'ÕÕºÕ¥Õ¬';
$labels['export'] = 'Ô±Ö€Õ¿Õ¡Õ°Õ¡Õ¶Õ¥Õ¬';
+$labels['exportall'] = 'Ô±Ö€Õ¿Õ¡Õ°Õ¡Õ¶Õ¥Õ¬ Õ¢Õ¸Õ¬Õ¸Ö€Õ¨';
+$labels['exportsel'] = 'Ô±Ö€Õ¿Õ¡Õ°Õ¡Õ¶Õ¥Õ¬ Õ¶Õ·Õ¾Õ¡Õ®Õ¶Õ¥Ö€Õ¨';
$labels['exportvcards'] = 'Ô±Ö€Õ¿Õ¡Õ°Õ¡Õ¶Õ¥Õ¬ Õ°Õ¡Õ½ÖÕ¥Õ¶Õ¥Ö€Õ¨ vCard Õ¹Õ¡ÖƒÕ¡Õ±Ö‡Õ¸Õ¾';
$labels['newcontactgroup'] = 'ÕÕ¿Õ¥Õ²Õ®Õ¥Õ¬ Õ¯Õ¡ÕºÕ¸Ö€Õ¤Õ¶Õ¥Ö€Õ« Õ¶Õ¸Ö€ Õ­Õ¸Ö‚Õ´Õ¢';
$labels['grouprename'] = 'ÕŽÕ¥Ö€Õ¡Õ¶Õ¾Õ¡Õ¶Õ¥Õ¬ Õ­Õ¸Ö‚Õ´Õ¢Õ¨';
@@ -290,13 +304,16 @@ $labels['nextpage'] = 'Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ°Õ¡Õ»Õ¸Ö€Õ¤ Õ§Õ»Õ¨';
$labels['lastpage'] = 'Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ¾Õ¥Ö€Õ»Õ«Õ¶ Õ§Õ»Õ¨';
$labels['group'] = 'Ô½Õ¸Ö‚Õ´Õ¢';
$labels['groups'] = 'Ô½Õ´Õ¢Õ¥Ö€';
+$labels['listgroup'] = 'Ô½Õ´Õ¢Õ« Õ¡Õ¶Õ¤Õ¡Õ´Õ¶Õ¥Ö€Õ« ÖÕ¡Õ¶Õ¯';
$labels['personaladrbook'] = 'Ô±Õ¶Õ±Õ¶Õ¡Õ¯Õ¡Õ¶ Õ°Õ¡Õ½ÖÕ¥Õ¶Õ¥Ö€';
$labels['searchsave'] = 'ÕŠÕ¡Õ°ÕºÕ¡Õ¶Õ¥Õ¬ Õ¸Ö€Õ¸Õ¶Õ¸Ö‚Õ´Õ¨';
$labels['searchdelete'] = 'Õ‹Õ¶Õ»Õ¥Õ¬ Õ¸Ö€Õ¸Õ¶Õ¸Ö‚Õ´Õ¨';
$labels['import'] = 'Õ†Õ¥Ö€Õ¯Ö€Õ¥Õ¬';
$labels['importcontacts'] = 'Õ†Õ¥Ö€Õ¯Ö€Õ¥Õ¬ Õ°Õ¡Õ½ÖÕ¥Õ¶Õ¥Ö€';
$labels['importfromfile'] = 'Õ†Õ¥Ö€Õ¯Ö€Õ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ«Ö';
+$labels['importtarget'] = 'Ô±Õ¾Õ¥Õ¬Õ¡ÖÕ¶Õ¥Õ¬ Õ¯Õ¡ÕºÕ¸Ö€Õ¤Õ¶Õ¥Ö€Õ¨';
$labels['importreplace'] = 'Õ“Õ¸Õ­Õ¥Õ¬ Õ¸Õ²Õ» Õ°Õ¡Õ½ÖÕ¥Õ¡Õ£Õ«Ö€Ö„Õ¨';
+$labels['importdesc'] = 'Ô´Õ¸Ö‚Ö„ Õ¯Õ¡Ö€Õ¸Õ² Õ¥Ö„ Õ¾Õ¥Ö€Õ¢Õ¥Õ¼Õ¶Õ¥Õ¬ Õ¯Õ¡ÕºÕ¸ÖÕ¶Õ¥Ö€Õ¶ Õ¡Ö€Õ¤Õ¥Õ¶ Õ£Õ¸ÕµÕ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶ Õ¸Ö‚Õ¶Õ¥ÖÕ¸Õ² Õ°Õ¡Õ½ÖÕ¥Õ¡Õ£Ö€Ö„Õ«Ö:<br/>Ô±ÕµÕªÕ´ Õ´Õ¥Õ¶Ö„ Ö…Õ£Õ¶Õ¸Ö‚Õ´ Õ¥Õ¶Ö„ Õ¶Õ¥Ö€Õ´Õ¸Ö‚Õ®Õ¥Õ¬ <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> Õ¯Õ¡Õ´ CSV (comma-separated) Õ¿Õ¾ÕµÕ¡Õ¬Õ¶Õ¥Ö€Õ« Õ±Ö‡Õ¡Õ¹Õ¡ÖƒÕ¥Ö€Õ«Ö:';
$labels['done'] = 'Ô±Õ¾Õ¡Ö€Õ¿Õ¾Õ¡Õ® Õ§';
$labels['settingsfor'] = 'Õ†Õ¡Õ­Õ¡Õ½Õ«Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€';
$labels['about'] = 'Õ†Õ¯Õ¡Ö€Õ¡Õ£Õ«Ö€';
@@ -311,6 +328,8 @@ $labels['edititem'] = 'Ô½Õ´Õ¢Õ¡Õ£Ö€Õ¥Õ¬ Õ«Ö€Õ¨';
$labels['preferhtml'] = 'Ô³Õ¥Ö€Õ¡Õ¤Õ¡Õ½Õ¥Õ¬ HTML';
$labels['defaultcharset'] = 'Ô¼Õ¼Õ¥Õ¬ÕµÕ¡Õ¬ Õ¿Õ¡Õ¼Õ¡Õ·Õ¡Ö€';
$labels['htmlmessage'] = 'HTML Õ¶Õ¡Õ´Õ¡Õ¯';
+$labels['messagepart'] = 'Õ´Õ¡Õ½';
+$labels['digitalsig'] = 'Ô¹Õ¾Õ¡ÕµÕ«Õ¶ Õ½Õ¿Õ¸Ö€Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶';
$labels['dateformat'] = 'Ô±Õ´Õ½Õ¡Õ©Õ¾Õ« Õ±Ö‡Õ¡Õ¹Õ¡Öƒ';
$labels['timeformat'] = 'ÔºÕ¡Õ´Õ¡Õ¶Õ¡Õ¯Õ« Õ±Ö‡Õ¡Õ¹Õ¡Öƒ';
$labels['prettydate'] = 'ÕŠÕ¡Ö€Õ¦ Õ¡Õ´Õ½Õ¡Õ©Õ¾Õ¥Ö€';
@@ -321,8 +340,11 @@ $labels['timezone'] = 'ÔºÕ¡Õ´Õ¡ÕµÕ«Õ¶ Õ£Õ¸Õ¿Õ«';
$labels['pagesize'] = 'ÕÕ¸Õ²Õ¥Ö€ Õ¡Õ¼ Õ§Õ»';
$labels['signature'] = 'ÕÕ¿Õ¸Ö€Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶';
$labels['dstactive'] = 'Ô±Õ´Õ¡Õ¼Õ¡ÕµÕ«Õ¶ ÕªÕ¡Õ´Õ¡Õ¶Õ¡Õ¯';
+$labels['showinextwin'] = 'Ô²Õ¡ÖÕ¥Õ¬ Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ Õ¶Õ¸Ö€ ÕºÕ¡Õ¿Õ¸Ö‚Õ°Õ¡Õ¶Õ¸Ö‚Õ´';
+$labels['composeextwin'] = 'Ô¿Õ¡Õ¦Õ´Õ¥Õ¬ Õ¶Õ¸Ö€ ÕºÕ¡Õ¿Õ¸Ö‚Õ°Õ¡Õ¶Õ¸Ö‚Õ´';
$labels['htmleditor'] = 'ÕÕ¿Õ¥Õ²Õ®Õ¥Õ¬ HTML Õ¶Õ¡Õ´Õ¡Õ¯Õ¶Õ¥Ö€';
$labels['htmlonreply'] = 'Õ´Õ«Õ¡ÕµÕ¶ HTML Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¡Õ¶Õ¨ ÕºÕ¡Õ¿Õ¡Õ½Õ­Õ¡Õ¶Õ¥Õ¬Õ«Õ½';
+$labels['htmlonreplyandforward'] = 'Õ´Õ«Õ¡ÕµÕ¶ HTML Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¡Õ¶Õ¨ ÕºÕ¡Õ¿Õ¡Õ½Õ­Õ¡Õ¶Õ¥Õ¬Õ«Õ½ Õ¯Õ¡Õ´ Õ¾Õ¥Ö€Õ¡Õ°Õ¡Õ½ÖÕ¥Õ¡Õ¾Õ¸Ö€Õ¥Õ¬Õ«Õ½';
$labels['htmlsignature'] = 'HTML Õ½Õ¿Õ¸Ö€Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶';
$labels['previewpane'] = 'Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ ÕºÕ¡Õ¿Õ¸Ö‚Õ°Õ¡Õ¶Õ¨';
$labels['skin'] = 'ÕÕ¥Õ½Ö„Õ« Õ¿Õ¡Ö€Õ¢Õ¥Ö€Õ¡Õ¯';
@@ -348,6 +370,7 @@ $labels['always'] = 'Õ´Õ«Õ·Õ¿';
$labels['showinlineimages'] = 'Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ¯ÖÕ¾Õ¡Õ® ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¶Õ¥Ö€Õ¨ Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¡Õ¶ Õ¿Õ¡Õ¯';
$labels['autosavedraft'] = 'ÕÖ‡Õ¡Õ£Ö€Õ« Õ¡Õ¾Õ¿Õ¸Õ´Õ¡Õ¿ Õ£Ö€Õ¡Õ¶ÖÕ¸Ö‚Õ´';
$labels['everynminutes'] = 'Õ¡Õ´Õ¥Õ¶ $n Ö€Õ¸ÕºÕ¥Õ¶';
+$labels['refreshinterval'] = 'Ô¹Õ¡Ö€Õ´Õ¡ÖÕ¶Õ¥Õ¬ (Õ½Õ¿Õ¸Ö‚Õ£Õ¥Õ¬ Õ¶Õ¸Ö€ Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€Õ¨ Ö‡ Õ¡ÕµÕ¬Õ¶)';
$labels['never'] = 'Õ¥Ö€Õ¢Õ¥Ö„';
$labels['immediately'] = 'Õ¡Õ¶Õ´Õ«Õ»Õ¡ÕºÕ¥Õ½';
$labels['messagesdisplaying'] = 'Õ¶Õ¡Õ´Õ¡Õ¯Õ¶Õ¥Ö€Õ¨ ÖÕ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬Õ«Õ½';
@@ -369,6 +392,7 @@ $labels['maintenance'] = 'ÕÕºÕ¡Õ½Õ¡Ö€Õ¯Õ¸Ö‚Õ´';
$labels['newmessage'] = 'Õ†Õ¸Ö€ Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶';
$labels['signatureoptions'] = 'ÕÕ¿Õ¸Ö€Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¡Õ¶ Õ¨Õ¶Õ¿Ö€Õ¡Õ¶Ö„Õ¶Õ¥Ö€';
$labels['whenreplying'] = 'ÕŠÕ¡Õ¿Õ¡Õ½Õ­Õ¡Õ¶Õ¥Õ¬Õ«Õ½';
+$labels['replyempty'] = 'Õ´Õ« Ö„Õ¡Õ²Õ¾Õ¡Õ®Õ¥Ö„Õ¡Õ¼Õ¡Õ»Õ«Õ¶ Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨';
$labels['replytopposting'] = 'Õ½Õ¯Õ½Õ¥Õ¬ Õ¶Õ¸Ö€ Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ Õ¾Õ¥Ö€Ö‡Õ«Ö';
$labels['replybottomposting'] = 'Õ½Õ¯Õ½Õ¥Õ¬ Õ¶Õ¸Ö€ Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ Õ¶Õ¥Ö€Ö„Ö‡Õ«Ö';
$labels['replyremovesignature'] = 'ÕŠÕ¡Õ¿Õ¡Õ½Õ­Õ¡Õ¶Õ¥Õ¬Õ«Õ½ Õ°Õ¥Õ¼Õ¡ÖÕ¶Õ¥Õ¬ Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ«Ö Õ¶Õ¡Õ­Õ¸Ö€Õ¤ Õ½Õ¿Õ¸Ö€Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨';
@@ -381,6 +405,7 @@ $labels['afternseconds'] = '$n Õ¾Õ¡Ö€Õ¯ÕµÕ¡Õ¶ Õ°Õ¥Õ¿Õ¸';
$labels['reqmdn'] = 'Õ„Õ«Õ·Õ¿ ÕºÕ¡Õ¿Õ¾Õ«Ö€Õ¥Õ¬ Õ½Õ¿Õ¡ÖÕ¡Õ¯Õ¡Õ¶';
$labels['reqdsn'] = 'Õ„Õ«Õ·Õ¿ ÕºÕ¡Õ¿Õ¾Õ«Ö€Õ¥Õ¬ Õ¡Õ¼Õ¡Ö„Õ´Õ¡Õ¶ Õ¯Õ¡Ö€Õ£Õ¡Õ¾Õ«Õ³Õ¡Õ¯Õ« Õ®Õ¡Õ¶Õ¸Ö‚ÖÕ¸Ö‚Õ´';
$labels['replysamefolder'] = 'Õ€Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¡Õ¶ ÕºÕ¡Õ¿Õ¡Õ½Õ­Õ¡Õ¶Õ¶Õ¥Ö€Õ¨ ÕºÕ¡Õ°Õ¥Õ¬ Õ¶Õ¸Ö‚ÕµÕ¶ ÕºÕ¡Õ¶Õ¡Õ¯Õ¸Ö‚Õ´';
+$labels['defaultabook'] = 'Õ€Õ«Õ´Õ¶Õ¡Õ¯Õ¡Õ¶ Õ°Õ¡Õ½ÖÕ¥Õ¡Õ£Õ«Ö€Ö„Õ¨';
$labels['autocompletesingle'] = 'Ô±Õ¾Õ¿Õ¸Õ¬Ö€Õ¡ÖÕ´Õ¡Õ¶ ÕªÕ¡Õ´Õ¡Õ¶Õ¡Õ¯ Õ¢Õ¡ÖÕ¡Õ¼Õ¥Õ¬ Õ¡ÕµÕ¬Õ¨Õ¶Õ¿Ö€Õ¡Õ¶Ö„Õ¡ÕµÕ«Õ¶ Õ§Õ¬ÖƒÕ¸Õ½Õ¿Õ« Õ°Õ¡Õ½ÖÕ¥Õ¶Õ¥Ö€Õ¨';
$labels['listnamedisplay'] = 'Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ¯Õ¡ÕºÕ¸Ö€Õ¤Õ¶Õ¥Ö€Õ¨ Õ¸Ö€ÕºÕ¥Õ½';
$labels['spellcheckbeforesend'] = 'ÕÕ¿Õ¸Ö‚Õ£Õ¥Õ¬ Õ¿Õ¡Õ¼Õ¡Õ½Õ­Õ¡Õ¬Õ¶Õ¥Ö€Õ¨ Õ°Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ Õ¸Ö‚Õ²Õ¡Ö€Õ¯Õ¥Õ¬Õ¸Ö‚Ö Õ¡Õ¼Õ¡Õ»';
@@ -390,6 +415,9 @@ $labels['spellcheckignorenums'] = 'Ô±Õ¶Õ¿Õ¥Õ½Õ¥Õ¬ Õ©Õ¾Õ¥Ö€Õ¸Õ¾ Õ¢Õ¡Õ¼Õ¥Ö€Õ¨';
$labels['spellcheckignorecaps'] = 'Ô±Õ¶Õ¿Õ¥Õ½Õ¥Õ¬ Õ¬Ö€Õ«Õ¾ Õ´Õ¥Õ®Õ¡Õ¿Õ¡Õ¼ Õ¢Õ¡Õ¼Õ¥Ö€Õ¨';
$labels['addtodict'] = 'Ô±Õ¾Õ¥Õ¬Õ¡ÖÕ¶Õ¥Õ¬ Õ¢Õ¡Õ¼Õ¡Ö€Õ¡Õ¶Õ¸Ö‚Õ´';
$labels['mailtoprotohandler'] = 'mailto: Õ°Õ²Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ« Õ½ÕºÕ¡Õ½Õ¡Ö€Õ¯Õ¸Õ²';
+$labels['forwardmode'] = 'Õ€Õ¡Õ²Õ¸Ö€Õ¤Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€Õ« Õ¾Õ¥Ö€Õ¡Õ°Õ¡Õ½ÖÕ¥Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´';
+$labels['inline'] = 'Õ´Õ¥Õ»Õ¨';
+$labels['asattachment'] = 'Õ¸Ö€ÕºÕ¥Õ½ Õ¯ÖÕ¸Ö€Õ¤';
$labels['folder'] = 'Ô´Õ¡Ö€Õ¡Õ¯';
$labels['folders'] = 'Ô´Õ¡Ö€Õ¡Õ¯Õ¶Õ¥Ö€';
$labels['foldername'] = 'Ô´Õ¡Ö€Õ¡Õ¯Õ« Õ¡Õ¶Õ¸Ö‚Õ¶';
@@ -414,6 +442,7 @@ $labels['sortby'] = 'Ô´Õ¡Õ½Õ¡Õ¾Õ¸Ö€Õ¥Õ¬';
$labels['sortasc'] = 'Õ¨Õ½Õ¿ Õ¡Õ³Õ´Õ¡Õ¶';
$labels['sortdesc'] = 'Õ¨Õ½Õ¿ Õ¶Õ¾Õ¡Õ¦Õ´Õ¡Õ¶';
$labels['undo'] = 'ÔµÕ¿Õ¡Ö€Õ¯Õ¥Õ¬';
+$labels['installedplugins'] = 'ÕÕ¥Õ²Õ¡Õ¯Õ¡ÕµÕ¾Õ¡Õ® Õ°Õ¡Õ¾Õ¥Õ¬Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨';
$labels['plugin'] = 'Ô½Ö€Õ«Õ¹';
$labels['version'] = 'ÕÕ¡Ö€Õ¢Õ¥Ö€Õ¡Õ¯';
$labels['source'] = 'Ô±Õ²Õ¢ÕµÕ¸Ö‚Ö€';
diff --git a/program/localization/hy_AM/messages.inc b/program/localization/hy_AM/messages.inc
index c5d167acf..ba851c5d2 100644
--- a/program/localization/hy_AM/messages.inc
+++ b/program/localization/hy_AM/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -29,7 +29,6 @@ $messages['errornoperm'] = 'Ô³Õ¸Ö€Õ®Õ¸Õ²Õ¸Ö‚Õ©ÕµÕ¡Õ¶ Õ¯Õ¡Õ¿Õ¡Ö€Õ´Õ¡Õ¶ Õ«Ö€Õ¡Õ¾Õ¸
$messages['invalidrequest'] = 'ÕÕ­Õ¡Õ¬ Õ°Õ¡Ö€ÖÕ¸Ö‚Õ´, Õ¡ÕºÕ¡Ö€Õ¤ÕµÕ¸Ö‚Õ¶Ö‰';
$messages['nomessagesfound'] = 'Ô±ÕµÕ½ ÖƒÕ¸Õ½Õ¿Õ¡Ö€Õ¯Õ²Õ¸Ö‚Õ´ Õ¶Õ¡Õ´Õ¡Õ¯Õ¶Õ¥Ö€ Õ¹Õ¯Õ¡Õ¶';
$messages['loggedout'] = 'Ô´Õ¸Ö‚Ö„ Õ¢Õ¡Ö€Õ¥Õ°Õ¡Õ»Õ¸Õ² Õ¡Õ¾Õ¡Ö€Õ¿Õ¥ÖÕ«Ö„ Õ¡Õ·Õ­Õ¡Õ¿Õ¡Õ¶Ö„Õ¨Ö‰ Ցտեսություն…';
-$messages['mailboxempty'] = 'Õ“Õ¸Õ½Õ¿Õ¡Ö€Õ¯Õ²Õ¨ Õ¤Õ¡Õ¿Õ¡Ö€Õ¯ Õ§';
$messages['loading'] = 'Ô²Õ¥Õ¼Õ¶Õ¸Ö‚Õ´...';
$messages['uploading'] = 'Ֆայլի վերբեռնում…';
$messages['uploadingmany'] = 'Վերբեռնվում են ֆայլերը…';
diff --git a/program/localization/ia/messages.inc b/program/localization/ia/messages.inc
index 50ef68145..32733f21d 100644
--- a/program/localization/ia/messages.inc
+++ b/program/localization/ia/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
diff --git a/program/localization/id_ID/messages.inc b/program/localization/id_ID/messages.inc
index 020b03f8a..a78054a20 100644
--- a/program/localization/id_ID/messages.inc
+++ b/program/localization/id_ID/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,6 @@ $messages['invalidrequest'] = 'Permintaan tidak valid! Tidak ada data yang tersi
$messages['invalidhost'] = 'Nama server invalid.';
$messages['nomessagesfound'] = 'Surat tidak ditemukan di kotak masuk ini';
$messages['loggedout'] = 'Anda berhasil mengakhiri session. Selamat Tinggal!';
-$messages['mailboxempty'] = 'Kotak masuk kosong.';
$messages['refreshing'] = 'Menyegarkan...';
$messages['loading'] = 'Memuat...';
$messages['uploading'] = 'Menggungah berkas ...';
diff --git a/program/localization/index.inc b/program/localization/index.inc
index 4496b056a..38edb7367 100644
--- a/program/localization/index.inc
+++ b/program/localization/index.inc
@@ -5,7 +5,7 @@
| program/localization/index.inc |
| |
| This file is part of the Roundcube Webmail client |
- | Copyright (C) 2005-2012, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -26,7 +26,8 @@
$rcube_languages = array(
'sq_AL' => 'Albanian (Shqip)',
- 'ar_SA' => 'Arabic (العربية)',
+ 'ar' => 'Arabic (العربية)',
+ 'ar_SA' => 'Arabic (Saudi Arabia)',
'hy_AM' => 'Armenian (Õ€Õ¡ÕµÕ¥Ö€Õ¥Õ¶)',
'ast' => 'Asturiana (Asturianu)',
'az_AZ' => 'Azerbaijani (Azərbaycanca)',
@@ -51,6 +52,7 @@ $rcube_languages = array(
'en_US' => 'English (US)',
'eo' => 'Esperanto',
'et_EE' => 'Estonian (Eesti)',
+ 'fo_FO' => 'Faroese (Føroyskt)',
'fi_FI' => 'Finnish (Suomi)',
'nl_BE' => 'Flemish (Vlaams)',
'fr_FR' => 'French (Français)',
@@ -96,6 +98,7 @@ $rcube_languages = array(
'es_419' => 'Spanish (Latin America)',
'sv_SE' => 'Swedish (Svenska)',
'ta_IN' => 'Tamil (தமிழà¯)',
+ 'ti' => 'Tigrinya (ትáŒáˆ­áŠ›)',
'th_TH' => 'Thai (ไทย)',
'tr_TR' => 'Turkish (Türkçe)',
'uk_UA' => 'Ukrainian (УкраїнÑька)',
@@ -107,7 +110,6 @@ $rcube_languages = array(
$rcube_language_aliases = array(
'am' => 'hy_AM',
- 'ar' => 'ar_SA',
'az' => 'az_AZ',
'bg' => 'bg_BG',
'bs' => 'bs_BA',
@@ -137,6 +139,7 @@ $rcube_language_aliases = array(
'kr' => 'ko_KR',
'kh' => 'km_KH',
'kh_KH' => 'km_KH',
+ 'kn' => 'kn_IN',
'km' => 'km_KH',
'lb' => 'lb_LU',
'ne' => 'ne_NP',
diff --git a/program/localization/is_IS/messages.inc b/program/localization/is_IS/messages.inc
index 06b707389..6e5c7a8b0 100644
--- a/program/localization/is_IS/messages.inc
+++ b/program/localization/is_IS/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -21,7 +21,6 @@ $messages['sessionerror'] = 'Innskráningin þín ógild eða útrunnin';
$messages['storageerror'] = 'Tengin við IMAP-miðlara mistókst';
$messages['nomessagesfound'] = 'Engin skeyti eru í þessu pósthólfi';
$messages['loggedout'] = 'Þú hefur útskráðst. Bless!';
-$messages['mailboxempty'] = 'Pósthólfið er tómt';
$messages['loading'] = 'Hleð...';
$messages['loadingdata'] = 'Hleð gögn...';
$messages['checkingmail'] = 'Gái að nýjum skeytum...';
diff --git a/program/localization/it_IT/labels.inc b/program/localization/it_IT/labels.inc
index c9f23c64d..f0f660d3d 100644
--- a/program/localization/it_IT/labels.inc
+++ b/program/localization/it_IT/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to di $count';
$labels['copy'] = 'Copia';
$labels['move'] = 'Sposta';
$labels['moveto'] = 'Sposta in...';
+$labels['copyto'] = 'Copia su...';
$labels['download'] = 'Download';
$labels['open'] = 'Apri';
$labels['showattachment'] = 'Visualizza';
diff --git a/program/localization/it_IT/messages.inc b/program/localization/it_IT/messages.inc
index 47db415b4..5d964697b 100644
--- a/program/localization/it_IT/messages.inc
+++ b/program/localization/it_IT/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = 'Richiesta non valida! Nessun dato salvato.';
$messages['invalidhost'] = 'Nome del server non valido.';
$messages['nomessagesfound'] = 'Nessun messaggio trovato in questa cartella';
$messages['loggedout'] = 'Sessione chiusa correttamente. Arrivederci!';
-$messages['mailboxempty'] = 'La casella è vuota';
+$messages['mailboxempty'] = 'La Mailbox è vuota';
+$messages['nomessages'] = 'Non ci sono messaggi';
$messages['refreshing'] = 'Aggiornamento...';
$messages['loading'] = 'Caricamento...';
$messages['uploading'] = 'Caricamento file...';
diff --git a/program/localization/ja_JP/labels.inc b/program/localization/ja_JP/labels.inc
index 600a40088..e58582e73 100644
--- a/program/localization/ja_JP/labels.inc
+++ b/program/localization/ja_JP/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$count通ã®$from通目ã‹ã‚‰$to通目';
$labels['copy'] = 'コピー';
$labels['move'] = '移動';
$labels['moveto'] = 'フォルダーã«ç§»å‹•';
+$labels['copyto'] = 'コピー...';
$labels['download'] = 'ダウンロード';
$labels['open'] = 'é–‹ã';
$labels['showattachment'] = '表示';
diff --git a/program/localization/ja_JP/messages.inc b/program/localization/ja_JP/messages.inc
index 8b4296ba4..1babab7a3 100644
--- a/program/localization/ja_JP/messages.inc
+++ b/program/localization/ja_JP/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -33,6 +33,7 @@ $messages['invalidhost'] = 'æ­£ã—ããªã„サーãƒãƒ¼åã§ã™ã€‚';
$messages['nomessagesfound'] = 'ã“ã®ãƒ•ã‚©ãƒ«ãƒ€ãƒ¼ã«ã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ã‚ã‚Šã¾ã›ã‚“。';
$messages['loggedout'] = 'ログアウトã—ã¾ã—ãŸã€‚ã•ã‚ˆã†ãªã‚‰!';
$messages['mailboxempty'] = 'メールボックスã¯ç©ºã§ã™ã€‚';
+$messages['nomessages'] = 'メッセージãªã—';
$messages['refreshing'] = 'å†è¡¨ç¤ºä¸­...';
$messages['loading'] = '読ã¿è¾¼ã¿ä¸­...';
$messages['uploading'] = 'ファイルをアップロード中...';
diff --git a/program/localization/ka_GE/messages.inc b/program/localization/ka_GE/messages.inc
index 2c544e17d..b0ef05373 100644
--- a/program/localization/ka_GE/messages.inc
+++ b/program/localization/ka_GE/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -26,7 +26,6 @@ $messages['errornoperm'] = 'მáƒáƒ¥áƒ›áƒ”დების შესრულე
$messages['invalidrequest'] = 'áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ მáƒáƒ—ხáƒáƒ•áƒœáƒ! მáƒáƒœáƒáƒªáƒ”მების შენáƒáƒ®áƒ•áƒ áƒáƒ  მáƒáƒ®áƒ”რხდáƒ.';
$messages['nomessagesfound'] = 'áƒáƒ  áƒáƒ áƒ˜áƒ¡ áƒáƒ®áƒáƒšáƒ˜ შეტყáƒáƒ‘ინებáƒ';
$messages['loggedout'] = 'წáƒáƒ áƒ›áƒáƒ¢áƒ”ბით დáƒáƒ˜áƒ®áƒ£áƒ áƒ თქვენი სესიáƒ';
-$messages['mailboxempty'] = 'სáƒáƒ¤áƒáƒ¡áƒ¢áƒ ყუთი ცáƒáƒ áƒ˜áƒ”ლიáƒ';
$messages['loading'] = 'იტვირთებáƒ...';
$messages['uploading'] = 'ფáƒáƒ˜áƒšáƒ˜ იტვირთებáƒ...';
$messages['uploadingmany'] = 'ფáƒáƒ˜áƒšáƒ”ბის áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვáƒ...';
diff --git a/program/localization/km_KH/labels.inc b/program/localization/km_KH/labels.inc
index 9a2799922..c94133b5d 100644
--- a/program/localization/km_KH/labels.inc
+++ b/program/localization/km_KH/labels.inc
@@ -31,6 +31,7 @@ $labels['trash'] = 'ធុងសំរាម';
$labels['junk'] = 'សំបុážáŸ’រមិនល្អ';
$labels['subject'] = 'ចំណងជើង';
$labels['from'] = 'អ្នកផ្ញើ';
+$labels['sender'] = 'អ្នក​ផ្ញើ​';
$labels['to'] = 'អ្នកទទួល';
$labels['cc'] = 'Cc';
$labels['bcc'] = 'Bcc';
@@ -41,14 +42,18 @@ $labels['size'] = 'ទំហំ';
$labels['priority'] = 'អទិភាព';
$labels['organization'] = 'អង្គភាព';
$labels['readstatus'] = 'ស្ážáž¶áž“ភាពនៃការអាន';
+$labels['listoptions'] = 'ជម្រើស​បញ្ជី...';
$labels['mailboxlist'] = 'ážážáž‘ាំងអស់';
$labels['messagesfromto'] = 'សំបុážáŸ’រពី $from ទៅដល់ $toក្នុងចំណោម $count សំបុážáŸ’ážš';
$labels['threadsfromto'] = 'បន្ážáž»áŸ†ážŸáŸ†áž”áž»ážáŸ’រពី $from ទៅដល់ $toក្នុងចំណោម $count សំបុážáŸ’ážš';
$labels['messagenrof'] = 'សំបុážáŸ’ážš $nr នៃ $count';
+$labels['fromtoshort'] = '$from – $to នៃ $count';
$labels['copy'] = 'ចំលង';
$labels['move'] = 'ផ្ទáŸážš';
$labels['moveto'] = 'ផ្ទáŸážšáž‘ៅ';
$labels['download'] = 'ទាញយក';
+$labels['showattachment'] = 'បង្ហាញ';
+$labels['showanyway'] = 'បង្ហាញ​វា​យ៉ាង​ណា​កáŸâ€‹áž”ាន';
$labels['filename'] = 'ឈ្មោះឯកសារ';
$labels['filesize'] = 'ទំហំឯកសារ';
$labels['addtoaddressbook'] = 'រក្សាទុកក្នុងសៀវភៅអាសយដ្ឋាន';
@@ -91,43 +96,54 @@ $labels['longoct'] = 'ážáž»áž›áž¶';
$labels['longnov'] = 'វិច្ឆិកា';
$labels['longdec'] = 'ធ្នូ';
$labels['today'] = 'ážáŸ’ងៃនáŸáŸ‡';
+$labels['refresh'] = 'ធ្វើ​ឲ្យ​ស្រស់';
$labels['checkmail'] = 'áž–áž·áž“áž·ážáŸ’យសំបុážáŸ’ážšážáŸ’មី';
$labels['compose'] = 'សរសáŸážšážŸáŸ†áž”áž»ážáŸ’ážšážáŸ’មី';
$labels['writenewmessage'] = 'សរសáŸážšážŸáŸ†áž”áž»ážáŸ’ážšážáŸ’មី';
+$labels['reply'] = 'ឆ្លើយ';
$labels['replytomessage'] = 'ឆ្លើយážáž”ទៅអ្នកផ្ញើ';
$labels['replytoallmessage'] = 'ឆ្លើយážáž”ទៅ អ្នកទទួលទាំងអស់និង ក្រុម ឬ អ្នកផ្ញើ';
$labels['replyall'] = 'ឆ្លើយážáž”ទៅទាំងអស់គ្នា';
-$labels['replylist'] = 'ឆ្លើយážáž”ទៅក្រុម';
-$labels['forwardmessage'] = 'ផ្ញើសំបុážáŸ’របន្ážážš';
-$labels['deletemessage'] = 'លុបសំបុážáŸ’រចោល';
-$labels['movemessagetotrash'] = 'ផ្ទáŸážšážŸáŸ†áž”áž»ážáŸ’រទៅក្នុងធុងសំរាម';
-$labels['printmessage'] = 'បោះពុម្ភសំបុážáŸ’ážš';
-$labels['previousmessage'] = 'បង្ហាញសំបុážáŸ’រចាស់';
-$labels['firstmessage'] = 'បង្ហាញសំបុážáŸ’រដំបូង';
-$labels['nextmessage'] = 'បង្ហាញសំបុážáŸ’របន្ទាប់';
-$labels['lastmessage'] = 'បង្ហាញសំបុážáŸ’រចុងក្រោយ';
-$labels['backtolist'] = 'ážáŸ’រលប់ទៅកាន់ក្រុមសំបុážáŸ’ážš';
-$labels['viewsource'] = 'បង្ហាញ Source របស់សំបុážáŸ’ážš';
-$labels['markmessages'] = 'កំណážáŸ‹ážŸáŸ†áž‚ាល់សំបុážáŸ’ážš';
-$labels['markread'] = 'កំណážáŸ‹ážáž¶áž”ានអានរួច';
-$labels['markunread'] = 'កំណážáŸ‹ážáž¶áž˜áž·áž“ទាន់បានអាន';
-$labels['markflagged'] = 'កំណážáŸ‹ážŸáŸ†áž‚ាល់ដោយផ្កាយ';
-$labels['markunflagged'] = 'លុបកំណážáŸ‹ážŸáŸ†áž‚ាល់ដោយផ្កាយ';
+$labels['replylist'] = 'បញ្ជី​ឆ្លើយážáž”';
+$labels['forward'] = 'បញ្ជូន​បន្áž';
+$labels['forwardinline'] = 'បញ្ចូល​បន្ážâ€‹áž€áŸ’នុង​បន្ទាážáŸ‹';
+$labels['forwardattachment'] = 'បញ្ជូន​បន្ážâ€‹áž‡áž¶â€‹áž¯áž€ážŸáž¶ážšâ€‹áž—្ជាប់';
+$labels['forwardmessage'] = 'បញ្ជូន​បន្ážâ€‹ážŸáž¶ážš';
+$labels['deletemessage'] = 'លុប​សារ';
+$labels['movemessagetotrash'] = 'ផ្លាស់ទី​សារ​ទៅ​ធុង​សំរាម';
+$labels['printmessage'] = 'បោះពុម្ព​សារ​នáŸáŸ‡';
+$labels['previousmessage'] = 'បង្ហាញ​សារ​មុន';
+$labels['firstmessage'] = 'បង្ហាញ​សារ​ដំបូង';
+$labels['nextmessage'] = 'បង្ហាញ​សារ​បន្ទាប់';
+$labels['lastmessage'] = 'បង្ហាញ​សារ​ចុងក្រោយ';
+$labels['backtolist'] = 'ážáŸ’រឡប់​ទៅ​កាន់​បញ្ជី​សារ';
+$labels['viewsource'] = 'បង្ហាញ​ប្រភព';
+$labels['mark'] = 'សម្គាល់';
+$labels['markmessages'] = 'សម្គាល់​សារ';
+$labels['markread'] = 'អាន​រួច';
+$labels['markunread'] = 'មិន​ទាន់​អាន';
+$labels['markflagged'] = 'ដាក់​ទង់';
+$labels['markunflagged'] = 'ដោះ​ទង់';
+$labels['moreactions'] = 'សកម្មភាព​ច្រើន​ទៀáž...';
+$labels['more'] = 'ច្រើន​ទៀáž';
+$labels['back'] = 'ážáŸ’រឡប់​ក្រោយ';
+$labels['options'] = 'ជម្រើស';
$labels['select'] = 'ជ្រើសរើស';
$labels['all'] = 'ទាំងអស់';
$labels['none'] = 'មិនážáŸ†ážšáŸ€áž”';
-$labels['currpage'] = 'ទំពáŸážšáž“áŸáŸ‡';
-$labels['unread'] = 'មិនទាន់អាន';
+$labels['currpage'] = 'ទំពáŸážšâ€‹áž”ច្ចុប្បន្ន';
+$labels['unread'] = 'មិន​ទាន់​អាន';
$labels['flagged'] = 'មានកំណážáŸ‹ážŸáŸ†áž‚ាល់ដោយផ្កាយ';
$labels['unanswered'] = 'មិនទាន់ឆ្លើយážáž”';
-$labels['deleted'] = 'បានលុបរួច';
+$labels['deleted'] = 'បាន​លុប';
+$labels['undeleted'] = 'មិន​ទាន់​លុប';
$labels['invert'] = 'បញ្ច្រស់';
$labels['filter'] = 'លក្ážážáŸážŽáŸ’ឌ';
-$labels['list'] = 'ážáž¶ážšáž¶áž„';
+$labels['list'] = 'បញ្ជី';
$labels['threads'] = 'បណ្ážáž»áŸ†ážŸáŸ†áž”áž»ážáŸ’ážš';
-$labels['expand-all'] = 'បង្ហាញសំបុážáŸ’រទាំងអស់';
+$labels['expand-all'] = 'បង្ហាញ​ទាំងអស់';
$labels['expand-unread'] = 'បង្ហាញសំបុážáŸ’រមិនទាន់អាន';
-$labels['collapse-all'] = 'បិទសំបុážáŸ’រទាំងអស់';
+$labels['collapse-all'] = 'បង្រួញ​ទាំងអស់';
$labels['threaded'] = 'បានបែកចែកជាក្រុមរួច';
$labels['autoexpand_threads'] = 'បង្ហាញបណ្ážáž»áŸ†ážŸáŸ†áž”áž»ážáŸ’ážš';
$labels['do_expand'] = 'បណ្ážáž»áŸ†áž‘ាំងអស់';
@@ -157,6 +173,7 @@ $labels['msgtext'] = 'សំបុážáŸ’រទាំងមូល';
$labels['openinextwin'] = 'បើកក្នុងវីនដូវážáŸ’មី';
$labels['emlsave'] = 'រក្សាទុកទិន្ននáŸáž™áž‡áž¶áž¯áž€ážŸáž¶ážšáž”្រភáŸáž‘(.eml)';
$labels['editasnew'] = 'កែហើយរក្សាទុកដូចជាសំបុážáŸ’ážšážáŸ’មី';
+$labels['send'] = 'ផ្ញើ';
$labels['sendmessage'] = 'ផ្ញើសំបុážáŸ’ážšáž“áŸáŸ‡';
$labels['savemessage'] = 'រក្សាទុកសំបុážáŸ’រពង្រៀង';
$labels['addattachment'] = 'ឯកសារភ្ជាប់';
@@ -164,12 +181,17 @@ $labels['charset'] = 'ប្រភáŸáž‘អក្សរ';
$labels['editortype'] = 'ប្រភáŸáž‘ Editor';
$labels['returnreceipt'] = 'អážáŸ’ážáž”ទបញ្ជាក់ពីការážáŸ’រឡប់';
$labels['dsn'] = 'ប្រាប់អំពីស្ážáž¶áž“ភាពផ្ញើ';
+$labels['mailreplyintro'] = 'កាលពី​ážáŸ’ងៃ $date, $sender បាន​សរសáŸážšáŸ–';
+$labels['originalmessage'] = 'សារ​ដើម';
$labels['editidents'] = 'ផ្លាស់ប្ážáž¼ážšáž¢ážáŸ’ážážŸáž‰áŸ’ញាណ';
+$labels['spellcheck'] = 'អក្ážážšáž¶ážœáž·ážšáž»áž‘្ធ';
$labels['checkspelling'] = 'áž–áž·áž“áž·ážáŸ’យអក្ážážšáž¶ážœáž·ážšáž»áž‘្ធ';
$labels['resumeediting'] = 'បន្ážážšáž€áž¶ážšáž€áŸ‚ážáŸ†ážšáž¼ážœ';
$labels['revertto'] = 'ážáŸ’រលប់ទៅ';
+$labels['attach'] = 'ភ្ជាប់';
$labels['attachments'] = 'ឯកសារភ្ជាប់';
$labels['upload'] = 'ភ្ជាប់ឯកសារ';
+$labels['uploadprogress'] = '$percent ($current ពី $total)';
$labels['close'] = 'បិទ';
$labels['messageoptions'] = 'កំណážáŸ‹áž‡áŸ†ážšáž¾ážŸážšáž”ស់សំបុážáŸ’ážš';
$labels['low'] = 'ទាប';
@@ -180,6 +202,10 @@ $labels['highest'] = 'ážáŸ’ពស់បំផុáž';
$labels['nosubject'] = '(គ្មានចំណងជើង)';
$labels['showimages'] = 'បង្ហាញរូបភាព';
$labels['alwaysshow'] = 'បង្ហាញជានិច្ចរាល់រូបភាពបញ្ជូនពី$sender';
+$labels['isdraft'] = 'áž“áŸáŸ‡â€‹áž‡áž¶â€‹ážŸáž¶ážšâ€‹áž–្រាង។';
+$labels['andnmore'] = '$nr ច្រើន​ទៀáž...';
+$labels['togglemoreheaders'] = 'បង្ហាញ​បឋមកážáž¶â€‹ážŸáž¶ážšâ€‹áž…្រើន​ទៀáž';
+$labels['togglefullheaders'] = 'បិទ/បើក​បឋមកážáž¶â€‹ážŸáž¶ážšâ€‹â€‹ážŠáž¾áž˜';
$labels['htmltoggle'] = 'អážáŸ’ážáž”áž‘ HTML';
$labels['plaintoggle'] = 'អážáŸ’ážáž”ទធម្មážáž¶';
$labels['savesentmessagein'] = 'រក្សាសំបុážáŸ’រដែលបានផ្ញើក្នុង';
diff --git a/program/localization/km_KH/messages.inc b/program/localization/km_KH/messages.inc
index a2c4bab20..682c733fd 100644
--- a/program/localization/km_KH/messages.inc
+++ b/program/localization/km_KH/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -15,20 +15,25 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/messages/
*/
-$messages['loginfailed'] = 'ការពិនិážáŸ’យចូលមិនបានសំរáŸáž…ព្រោះមានបញ្ហាកើážáž¡áž¾áž„';
-$messages['cookiesdisabled'] = 'កម្មវិធីមើលគáŸáž áž‘ំពáŸážšáž“áŸáŸ‡áž˜áž·áž“ទទួលយកCookies';
-$messages['sessionerror'] = 'Session មិនážáŸ’រឹមážáŸ’រូវ ឬហួសកំណážáŸ‹';
-$messages['storageerror'] = 'មិនអាចភ្ជាប់ទៅកាន់ម៉ាស៊ីនIMAP';
-$messages['servererror'] = 'មានបញ្ហានៅម៉ាស៊ីនមáŸ';
+$messages['errortitle'] = 'មាន​បញ្ហា​បាន​កើážâ€‹áž¡áž¾áž„!';
+$messages['loginfailed'] = 'បាន​បរាជáŸáž™â€‹áž€áŸ’នុង​ការ​ចូល។';
+$messages['cookiesdisabled'] = 'កម្មវិធី​អ៊ីនធឺណិážâ€‹ážšáž”ស់​អ្នក​មិន​ទទួល​ážáž¼áž‚ី​ទáŸáŸ”';
+$messages['sessionerror'] = 'សមáŸáž™â€‹ážšáž”ស់​អ្នក​មិន​ážáŸ’រឹម​ážáŸ’រូវ ឬ​ផុážâ€‹áž€áŸ†ážŽážáŸ‹áŸ”';
+$messages['storageerror'] = 'មិន​អាច​ážáž—្ជាប់​ទៅ​ម៉ាស៊ីន​ឃ្លាំង​ផ្ទុក។';
+$messages['servererror'] = 'ម៉ាស៊ីន​មáŸâ€‹áž˜áž¶áž“​បញ្ហា!';
$messages['servererrormsg'] = 'បញ្ហា: $msg';
+$messages['dberror'] = 'កំហុស​មូលដ្ឋាន​ទិន្ននáŸáž™!';
+$messages['requesttimedout'] = 'សំណើ​អស់​ពáŸáž›';
$messages['errorreadonly'] = 'មិនអាចប្រážáž·áž”ážáŸ’ážáž·áž”ានពីព្រោះážážáž“áŸáŸ‡ážáŸ’រូវបានគáŸáž€áŸ†ážŽážáŸ‹ážŸáŸ†ážšáž¶áž”់ážáŸ‚មើល';
$messages['errornoperm'] = 'មិនអាចប្រážáž·áž”ážáŸ’ážáž·áž”ានពីព្រោះមិនមានសិទ្ទគ្រប់គ្រាន់';
$messages['invalidrequest'] = 'មិនអាចរក្សាទុកទិន្ននáŸáž™áž”ានពីព្រោះមានបញ្ហានៅពáŸáž›áž”ញ្ជូនទិន្ននáŸáž™';
+$messages['invalidhost'] = 'ឈ្មោះ​ម៉ាស៊ីន​មáŸâ€‹áž˜áž·áž“​ážáŸ’រឹមážáŸ’រូវ។';
$messages['nomessagesfound'] = 'ពុំមានសំបុážáŸ’រក្នុងប្រអប់សំបុážáŸ’ážšáž“áŸáŸ‡áž‘áŸ';
$messages['loggedout'] = 'អ្នកបានពិនិážáŸ’យចáŸáž‰ážŠáŸ„យជោគជáŸáž™áŸ”';
-$messages['mailboxempty'] = 'ប្រអប់សំបុážáŸ’ážšáž‘áž‘áŸ';
+$messages['refreshing'] = 'កំពុង​ផ្ទុកឡើងវិញ...';
$messages['loading'] = 'កំពុងដំណើរការ...';
$messages['uploading'] = 'កំពុងបញ្ជូនឯកសារ...';
+$messages['uploadingmany'] = 'កំពុង​ផ្ទុកឯកសារ​ឡើង...';
$messages['loadingdata'] = 'កំពុងបើកឯកសារ...';
$messages['checkingmail'] = 'កំពុងស្វែងរកមើលសំបុážáŸ’ážšážáŸ’មីáŸ...';
$messages['sendingmessage'] = 'កំពុងផ្ញើសំបុážáŸ’ážš...';
@@ -38,10 +43,12 @@ $messages['messagesaved'] = 'សំបុážáŸ’ážšážáŸ’រូវបានរក
$messages['successfullysaved'] = 'រក្សាទុកដោយជោគជáŸáž™';
$messages['addedsuccessfully'] = 'អាសយដ្ឋានážáŸ’រូវបានរក្សាទុកដោយជោគជáŸáž™';
$messages['contactexists'] = 'áž–áŸážáŸŒáž˜áž¶áž“ទាក់ទងដែលមានអ៊ីមែលនáŸáŸ‡áž˜áž¶áž“ក្នុងសៀវភៅអាសយដ្ឋានរួចហើយ';
+$messages['contactnameexists'] = 'មាន​ទំនាក់ទំនង​ដែលមាន​ឈ្មោះ​ដូច​គ្នា​នáŸáŸ‡â€‹ážšáž½áž…​ហើយ។';
$messages['blockedimages'] = 'រូបភាពដែលមានក្នុងសំបុážáŸ’ážšáž“áŸáŸ‡ážáŸ’រូវបានបិទដើម្បីរក្សាសុវážáŸ’ážáž—ាព';
$messages['encryptedmessage'] = 'លោកអ្នកមិនអាចមើលសំបុážáŸ’ážšáž“áŸáŸ‡áž”ានទáŸáž–ីព្រោះសំបុážáŸ’ážšáž“áŸáŸ‡áž‡áž¶ážŸáŸ†áž”áž»ážáŸ’រសំងាážáŸ‹';
$messages['nocontactsfound'] = 'ពុំមានអាសយដ្ឋានទាក់ទងទáŸ';
$messages['contactnotfound'] = 'អាសយដ្ឋានទាក់ទងដែលលោកអ្នកចង់រកពុំមានឡើយ';
+$messages['contactsearchonly'] = 'បញ្ចូល​ពាក្យ​ស្វែងរក​មួយ​ចំនួន ដើម្បី​រក​ទំនាក់ទំនង';
$messages['sendingfailed'] = 'មិនអាចផ្ញើសំបុážáŸ’របាន';
$messages['senttooquickly'] = 'សូមរងចាំ $sec វិនាទីមុននឹងផ្ញើសំបុážáŸ’ážšáž“áŸáŸ‡';
$messages['errormoving'] = 'មិនអាចផ្ទáŸážšážŸáŸ†áž”áž»ážáŸ’របាន';
@@ -49,9 +56,12 @@ $messages['errorcopying'] = 'មិនអាចចំលងសំបុážáŸ’ážš
$messages['errordeleting'] = 'មិនអាចលុបសំបុážáŸ’រចោលបាន';
$messages['errormarking'] = 'មិនអាចកំណážáŸ‹áž…ំណាំលើសំបុážáŸ’របាន';
$messages['deletecontactconfirm'] = 'ážáž¾áž›áŸ„កអ្នកពិážáž‡áž¶áž…ង់លុបពáŸážáŸŒáž˜áž¶áž“ទំនាក់ទំនងនáŸáŸ‡áž˜áŸ‚áž“áž‘áŸ?';
+$messages['deletegroupconfirm'] = 'ážáž¾áž¢áŸ’នកពិážâ€‹áž‡áž¶â€‹áž…ង់លុប​ក្រុម​បានជ្រើស?';
$messages['deletemessagesconfirm'] = 'ážáž¾áž›áŸ„កអ្នកពិážáž‡áž¶áž…ង់លុបសំបុážáŸ’ážšáž“áŸáŸ‡áž˜áŸ‚áž“áž‘áŸ?';
$messages['deletefolderconfirm'] = 'ážáž¾áž›áŸ„កអ្នកពិážáž‡áž¶áž…ង់លុបážážáž“áŸáŸ‡áž˜áŸ‚áž“áž‘áŸ?';
$messages['purgefolderconfirm'] = 'ážáž¾áž›áŸ„កអ្នកពិážáž‡áž¶áž…ង់លុបសំបុážáŸ’រទាំងអស់នៅក្នុងážážáž“áŸáŸ‡áž˜áŸ‚áž“áž‘áŸ?';
+$messages['contactdeleting'] = 'កំពុង​លុប​ទំនាក់ទំនង...';
+$messages['groupdeleting'] = 'កំពុង​លុប​ក្រុម...';
$messages['folderdeleting'] = 'កំពុងលុបážážážŸáŸ†ážšáž¶áž”់ទុកឯកសារ...';
$messages['foldermoving'] = 'កំពុងផ្ទáŸážšážážážŸáŸ†ážšáž¶áž”់ទុកឯកសារ...';
$messages['foldersubscribing'] = 'កំពុងកំណážáŸ‹áž”្រើážážážŸáŸ†ážšáž¶áž”់ទុកឯកសារ...';
@@ -67,7 +77,9 @@ $messages['nobodywarning'] = 'ážáž¾áž›áŸ„កអ្នកចង់ផ្ញើáž
$messages['notsentwarning'] = 'សំបុážáŸ’ážšáž“áŸáŸ‡áž˜áž·áž“ទាន់បានផ្ញើទáŸáŸ” ážáž¾áž›áŸ„កអ្នកចង់លុបចោលទáŸ?';
$messages['noldapserver'] = 'សូមកំណážáŸ‹áž˜áŸ‰áž¶ážŸáŸŠáž¸áž“ LDAPដើម្បីស្វែងរក';
$messages['nosearchname'] = 'សូមបំពáŸáž‰ážˆáŸ’មោះទំនាក់ទំនង ឬអាសយដ្ឋានអ៊ីមែល';
+$messages['notuploadedwarning'] = 'ឯកសារ​ភ្ជាប់​ទាំង​អស់​មិន​ážáŸ’រូវ​បាន​ផ្ទុក​ឡើង​នៅឡើយ​ទáŸáŸ” សូម​រង់ចាំ​ ឬ​បោះបង់​ការ​​ផ្ទុក​ឡើង។';
$messages['searchsuccessful'] = 'រកឃើញសំបុážáŸ’រចំនួន $nr';
+$messages['contactsearchsuccessful'] = 'រក​ឃើញ​ទំនាក់ទំនង $nr ។';
$messages['searchnomatch'] = 'រកមិនឃើញអ្វីទាំងអស់';
$messages['searching'] = 'កំពុងស្វែងរក...';
$messages['checking'] = 'កំពុងពិនិážáŸ’យរក...';
@@ -86,16 +98,21 @@ $messages['sourceisreadonly'] = 'លោកអ្នកមានសិទ្ធáž
$messages['errorsavingcontact'] = 'មិនអាចរក្សាអាសយដ្ឋានបានទáŸ';
$messages['movingmessage'] = 'កំពុកផ្ážáŸážšážŸáŸ†áž”áž»ážáŸ’ážš...';
$messages['copyingmessage'] = 'កំពុងចំលងសំបុážáŸ’ážš...';
+$messages['copyingcontact'] = 'កំពុង​ចម្លង​ទំនាក់ទំនង...';
$messages['deletingmessage'] = 'កំពុងលុបសំបុážáŸ’ážš...';
$messages['markingmessage'] = 'កំពុងកំណážáŸ‹ážŸáŸ†áž‚ាល់សំបុážáŸ’ážš...';
+$messages['addingmember'] = 'កំពុង​បន្ážáŸ‚ម​ទំនាក់ទំនង​ទៅ​ក្រុម...';
+$messages['removingmember'] = 'កំពុង​លុបទំនាក់ទំនង​ពី​ក្រុម...';
$messages['receiptsent'] = 'បានបញ្ជូនអážáŸ’ážáž”ទបញ្ជាក់ážáž¶áž”ានអានបានសំរáŸáž…';
$messages['errorsendingreceipt'] = 'មិនអាចបញ្ជូនអážáŸ’ážáž”ទបញ្ជាក់ážáž¶áž”ានអាន áž‘áŸ';
+$messages['deleteidentityconfirm'] = 'ážáž¾áž¢áŸ’នក​ពិážâ€‹áž‡áž¶â€‹áž…ង់​លុប​អážáŸ’ážážŸáž‰áŸ’ញាណ​នáŸáŸ‡?';
$messages['nodeletelastidentity'] = 'លោកអ្នកមិនអាចលុបអážáŸ’ážážŸáž‰áŸ’ញាណនáŸáŸ‡áž‘áŸáž–្រោះវានៅសល់ចុងក្រោយគáŸ';
$messages['forbiddencharacter'] = 'ឈ្មោះážážáž“áŸáŸ‡áž˜áž¶áž“អក្សរដែលážáŸ’រូវហាមឃាážáŸ‹';
$messages['selectimportfile'] = 'សូមជ្រើសរើសឯកសារដើម្បីបញ្ជូនភ្ជាប់';
$messages['addresswriterror'] = 'សៀវភៅអាសយដ្ឋាននោះមិនអាចសរសáŸážšáž…ូលបានទáŸ';
$messages['contactaddedtogroup'] = 'បានដាក់ពážáŸŒáž˜áž¶áž“ទំនាក់ទំនងចូលក្នុងក្រុមនáŸáŸ‡ážŠáŸ„យជោគជáŸáž™';
$messages['contactremovedfromgroup'] = 'បានលុបពážáŸŒáž˜áž¶áž“ទំនាក់ទំនងចáŸáž‰áž–ីក្រុមនáŸáŸ‡ážŠáŸ„យជោគជáŸáž™';
+$messages['nogroupassignmentschanged'] = 'គ្មាន​ការ​ផ្ដល់​ក្រុម​បាន​ប្ដូរ។';
$messages['importwait'] = 'សូមមáŸážáŸ’ážáž¶ážšáž„់ចាំកំពុងទាញទិន្ននáŸáž™áž…ូល ...';
$messages['importconfirm'] = '<b>áž–áŸážáŸŒáž˜áž¶áž“ទំនាក់ទំនង $insertedបានបញ្ចូលដោយជោគជáŸáž™,ហើយបានរំលងចោលពážáŸŒáž˜áž¶áž“ដែលមានស្រាប់$skipped </b>:<p><em>$names</em></p>';
$messages['opnotpermitted'] = 'ប្រážáž·áŸ’ážáž”ážáŸ’ážáž·áž€áž¶ážšážáŸ’រូវបានគáŸáž áž¶áž˜ážƒáž¶ážáŸ‹!';
diff --git a/program/localization/kn_IN/labels.inc b/program/localization/kn_IN/labels.inc
new file mode 100644
index 000000000..bff989285
--- /dev/null
+++ b/program/localization/kn_IN/labels.inc
@@ -0,0 +1,166 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | localization/<lang>/labels.inc |
+ | |
+ | Localization file of the Roundcube Webmail client |
+ | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/labels/
+*/
+$labels['welcome'] = '$product ಗೆ ಸà³à²µà²¾à²—ತ ';
+$labels['password'] = 'ರಹಸà³à²¯ ಪದ';
+$labels['addressbook'] = 'ವಿಳಾಸ ಪà³à²¸à³à²¤à²•';
+$labels['subject'] = 'ವಿಷಯ';
+$labels['from'] = 'ಇಂದ';
+$labels['to'] = 'ಗೆ';
+$labels['date'] = 'ದಿನಾಂಕ ';
+$labels['size'] = 'ಗಾತà³à²°';
+$labels['priority'] = 'ಆದà³à²¯à²¤à³†';
+$labels['organization'] = 'ಸಂಘಟನೆ';
+$labels['showattachment'] = 'ತೋರಿಸà³';
+$labels['filename'] = 'ಫೈಲೠಹೆಸರà³';
+$labels['filesize'] = 'ಫೈಲೠಗಾತà³à²°';
+$labels['addtoaddressbook'] = 'ಪà³à²¸à³à²¤à²• ವಿಳಾಸ ಸೇರಿಸೠ';
+$labels['sun'] = 'ಭಾನೠ';
+$labels['mon'] = 'ಸೋಮ';
+$labels['tue'] = 'ಮಂಗಳ';
+$labels['wed'] = 'ಬà³à²§';
+$labels['thu'] = 'ಗà³à²°à³';
+$labels['fri'] = 'ಶà³à²•à³à²°';
+$labels['sat'] = 'ಶನಿ';
+$labels['sunday'] = 'ಭಾನà³à²µà²¾à²°';
+$labels['monday'] = 'ಸೋಮವಾರ';
+$labels['tuesday'] = 'ಮಂಗಳವಾರ';
+$labels['wednesday'] = 'ಬà³à²§à²µà²¾à²°';
+$labels['thursday'] = 'ಗà³à²°à³à²µà²¾à²°';
+$labels['friday'] = 'ಶà³à²•à³à²°à²µà²¾à²°';
+$labels['saturday'] = 'ಶನಿವಾರ';
+$labels['longjan'] = 'ಜನವರಿ';
+$labels['longfeb'] = 'ಫೆಬà³à²°à³à²µà²°à²¿';
+$labels['longmar'] = 'ಮಾರà³à²šà³';
+$labels['longapr'] = 'à²à²ªà³à²°à²¿à²²à³';
+$labels['longmay'] = 'ಮೇ';
+$labels['longjun'] = 'ಜೂನà³';
+$labels['longjul'] = 'ಜೂಲೈ';
+$labels['longaug'] = 'ಆಗಸà³à²Ÿà³ ';
+$labels['longsep'] = 'ಸೆಪà³à²Ÿà³†à²‚ಬರ';
+$labels['longoct'] = 'ಅಕà³à²Ÿà³‹à²¬à²°';
+$labels['longnov'] = 'ನವೆಂಬರ';
+$labels['longdec'] = 'ಡಿಸೆಂಬರ';
+$labels['today'] = 'ಇಂದà³';
+$labels['checkmail'] = 'ಹೊಸ ಸಂದೇಶಗಳಿಗಾಗಿ ಪರಿಶೀಲಿಸà³';
+$labels['writenewmessage'] = 'ಒಂದೠಹೊಸ ಸಂದೇಶವನà³à²¨à³ ರಚಿಸà³';
+$labels['reply'] = 'ಉತà³à²¤à²°à²•à³†à³‚ಡà³';
+$labels['deletemessage'] = 'ಸಂದೇಶ ಅಳಿಸà³';
+$labels['printmessage'] = 'ಈ ಸಂದೇಶವನà³à²¨à³ ಮà³à²¦à³à²°à²¿à²¸à³';
+$labels['previousmessage'] = 'ಹಿಂದಿನ ಸಂದೇಶವನà³à²¨à³ ತೋರಿಸà³';
+$labels['firstmessage'] = 'ಮೊದಲ ಸಂದೇಶವನà³à²¨à³ ತೋರಿಸà³';
+$labels['nextmessage'] = 'ಮà³à²‚ದಿನ ಸಂದೇಶವನà³à²¨à³ ತೋರಿಸà³';
+$labels['lastmessage'] = 'ಕೊನೆಯ ಸಂದೇಶವನà³à²¨à³ ತೋರಿಸà³';
+$labels['unlimited'] = 'ಅನಿಯಮಿತ';
+$labels['namex'] = 'ಹೆಸರà³';
+$labels['send'] = 'ಕಳà³à²¹à²¿à²¸à³';
+$labels['sendmessage'] = 'ಸಂದೇಶ ಕಳà³à²¹à²¿à²¸à³';
+$labels['savemessage'] = 'ಡà³à²°à²¾à²«à³à²Ÿà³ ಆಗಿ ಉಳಿಸಿ';
+$labels['originalmessage'] = 'ಮೂಲ ಸಂದೇಶ';
+$labels['responsename'] = 'ಹೆಸರà³';
+$labels['close'] = 'ಮà³à²šà³à²šà³';
+$labels['messageoptions'] = 'ಸಂದೇಶ ಆಯà³à²•à³†à²—ಳà³';
+$labels['low'] = 'ಕಡಿಮೆ';
+$labels['lowest'] = 'ಅತಿ ಕಡಿಮೆ';
+$labels['normal'] = 'ಸಾಧಾರಣ';
+$labels['high'] = 'ಜಾಸà³à²¤à²¿';
+$labels['highest'] = 'ಅತಿ ಜಾಸà³à²¤à²¿ ';
+$labels['nosubject'] = '(ವಿಷಯ ಇಲà³à²²)';
+$labels['showimages'] = 'ಚಿತà³à²°à²—ಳನà³à²¨à³ ತೋರಿಸà³';
+$labels['alwaysshow'] = '$sender ಇಂದ ಯಾವಾಗಲೂ ಚಿತà³à²°à²—ಳನà³à²¨à³ ತೋರಿಸà³';
+$labels['htmltoggle'] = 'HTML';
+$labels['dontsave'] = 'ಉಳಿಸಬೇಡ';
+$labels['department'] = 'ವಿಭಾಗ';
+$labels['gender'] = 'ಲಿಂಗ';
+$labels['email'] = 'ಇಮೇಲà³';
+$labels['phone'] = 'ದೂರವಾಣಿ';
+$labels['address'] = 'ವಿಳಾಸ';
+$labels['street'] = 'ರಸà³à²¤à³†';
+$labels['locality'] = 'ನಗರ';
+$labels['country'] = 'ದೇಶ';
+$labels['birthday'] = 'ಜನà³à²®à²¦à²¿à²¨';
+$labels['manager'] = 'ವà³à²¯à²µà²¸à³à²¥à²¾à²ªà²•';
+$labels['assistant'] = 'ಸಹಾಯಕ';
+$labels['search'] = 'ಹà³à²¡à³à²•à³';
+$labels['typehome'] = 'ಮನೆ';
+$labels['typework'] = 'ಕೆಲಸ';
+$labels['typecar'] = 'ಕಾರà³';
+$labels['addcontact'] = 'ಹೊಸ ಸಂಪರà³à²• ಸೇರಿಸಿ';
+$labels['editcontact'] = 'ಸಂಪರà³à²• ತಿದà³à²¦à³';
+$labels['contacts'] = 'ಸಂಪರà³à²•à²—ಳà³';
+$labels['edit'] = 'ತಿದà³à²¦à³';
+$labels['addphoto'] = 'ಸೇರಿಸà³';
+$labels['replacephoto'] = 'ಬದಲಾಯಿಸà³';
+$labels['uploadphoto'] = 'ಫೋಟೋ ಅಪà³à²²à³†à³‚ೕಡೠಮಾಡà³';
+$labels['deletecontact'] = 'ಆಯà³à²•à³†à²®à²¾à²¡à²¿à²¦ ಸಂಪರà³à²•à²—ಳನà³à²¨à³ ಅಳಿಸà³';
+$labels['print'] = 'ಮà³à²¦à³à²°à²¿à²¸à³';
+$labels['previouspage'] = 'ಹಿಂದಿನ ಪà³à²Ÿà²µà²¨à³à²¨à³ ತೋರಿಸà³';
+$labels['firstpage'] = 'ಮೊದಲ ಪà³à²Ÿ ತೋರಿಸà³';
+$labels['nextpage'] = 'ಮà³à²‚ದಿನ ಪà³à²Ÿ ತೋರಿಸà³';
+$labels['lastpage'] = 'ಕೊನೆಯ ಪà³à²Ÿ ತೋರಿಸà³';
+$labels['group'] = 'ಗà³à²‚ಪà³';
+$labels['groups'] = 'ಗà³à²‚ಪà³à²—ಳà³';
+$labels['preferences'] = 'ಆಯà³à²•à³†à²—ಳà³';
+$labels['userpreferences'] = 'ಬಳಕೆದಾರ ಆಯà³à²•à³†à²—ಳà³';
+$labels['editpreferences'] = 'ಬಳಕೆದಾರನ ಆಯà³à²•à³†à²—ಳನನà³à²¨à³ ತಿದà³à²¦à²¿';
+$labels['preferhtml'] = 'HTML ತೋರಿಸà³';
+$labels['htmlmessage'] = 'HTML ಸಂದೇಶ';
+$labels['digitalsig'] = 'ಡಿಜಿಟಲೠಸಹಿ';
+$labels['dateformat'] = 'ದಿನಾಂಕ ಸà³à²µà²°à³‚ಪ';
+$labels['timeformat'] = 'ಸಮಯ ಸà³à²µà²°à³‚ಪ';
+$labels['language'] = 'ಭಾಷೆ';
+$labels['timezone'] = 'ಸಮಯ ವಲಯ';
+$labels['pagesize'] = 'ಪà³à²°à²¤à²¿ ಪà³à²Ÿà²•à³à²•à³† ಸಾಲà³à²—ಳà³';
+$labels['signature'] = 'ಸಹಿ';
+$labels['showinextwin'] = 'ಹೊಸ ವಿಂಡೋದಲà³à²²à²¿ ಸಂದೇಶ ತೆರೆಯಿರಿ';
+$labels['composeextwin'] = 'ಹೊಸ ವಿಂಡೋದಲà³à²²à²¿ ರಚಿಸà³';
+$labels['htmleditor'] = 'HTML ಸಂದೇಶಗಳನà³à²¨à³ ರಚಿಸà³';
+$labels['htmlsignature'] = 'HTML ಸಹಿ';
+$labels['showemail'] = ' ಇಮೇಲೠವಿಳಾಸವನà³à²¨à³ ಹೆಸರಿನೊಂದಿಗೆ ತೋರಿಸà³';
+$labels['askuser'] = 'ನನನà³à²¨à³ ಕೇಳà³';
+$labels['autosend'] = 'ರಸಿಟನà³à²¨à³ ಕಳಿಸà³';
+$labels['ignore'] = 'ನಿರà³à²²à²•à³à²·à²¿à²¸à³';
+$labels['skipdeleted'] = 'ಅಳಿಸಲಾಗಿರà³à²µ ಸಂದೇಶಗಳನà³à²¨à³ ತೋರಿಸಬೇಡ';
+$labels['always'] = 'ಯಾವಾಗಲೂ';
+$labels['everynminutes'] = 'ಪà³à²°à²¤à²¿ $n ನಿಮಿಷ (ಗಳà³)';
+$labels['refreshinterval'] = 'ರಿಫà³à²°à³†à²¶à³ (ಹೊಸ ಸಂದೇಶಗಳನà³à²¨à³, ಇತà³à²¯à²¾à²¦à²¿à²—ಳನà³à²¨à³ ಪರಿಶೀಲಿಸà³)';
+$labels['immediately'] = 'ತತà³à²•à³à²·à²£ ';
+$labels['mainoptions'] = 'ಮà³à²–à³à²¯ ಆಯà³à²•à³†à²—ಳà³';
+$labels['section'] = 'ವಿಭಾಗ';
+$labels['newmessage'] = 'ಹೊಸ ಸಂದೇಶ';
+$labels['signatureoptions'] = 'ಸಹಿ ಆಯà³à²•à³†à²—ಳà³';
+$labels['whenreplying'] = 'ಪà³à²°à²¤à³à²¯à³à²¤à³à²¤à²° ನೀಡà³à²µà²¾à²—';
+$labels['replyempty'] = 'ಮೂಲ ಸಂದೇಶವನà³à²¨à³ ಉಲà³à²²à³†à³•à²–ಿಸಬೇಡ';
+$labels['replyremovesignature'] = ' ಪà³à²°à²¤à³à²¯à³à²¤à³à²¤à²° ನೀಡà³à²µà²¾à²— ಸಂದೇಶದಿಂದ ಮೂಲಸಹಿಯನà³à²¨à³ ತೆಗೆದೠಹಾಕà³';
+$labels['newmessageonly'] = 'ಹೊಸ ಸಂದೇಶ ಮಾತà³à²° ';
+$labels['insertsignature'] = 'ಸಹಿ ಸೇರಿಸà³';
+$labels['afternseconds'] = '$n ಸೆಕೆಂಡà³à²—ಳ ನಂತರ';
+$labels['addtodict'] = 'ನಿಘಂಟಿಗೆ ಸೇರಿಸà³';
+$labels['messagecount'] = 'ಸಂದೇಶಗಳà³';
+$labels['create'] = 'ರಚಿಸà³';
+$labels['properties'] = 'ಗà³à²£à²²à²•à³à²·à²£à²—ಳà³';
+$labels['location'] = 'ಸà³à²¥à²³';
+$labels['info'] = 'ಮಾಹಿತಿ';
+$labels['source'] = 'ಮೂಲ';
+$labels['B'] = 'B';
+$labels['KB'] = 'KB';
+$labels['MB'] = 'MB';
+$labels['GB'] = 'GB';
+$labels['english'] = 'ಇಂಗà³à²²à²¿à³•à²·à³';
+$labels['westerneuropean'] = 'ಪಾಶà³à²šà²¾à²¤à³à²¯ ಯà³à²°à³†à³‚ೕಪಿಯನà³';
+$labels['easterneuropean'] = 'ಪೂರà³à²µ ಯà³à²°à³†à³‚ೕಪಿಯನà³';
+?>
diff --git a/program/localization/kn_IN/messages.inc b/program/localization/kn_IN/messages.inc
new file mode 100644
index 000000000..7f4edf2fa
--- /dev/null
+++ b/program/localization/kn_IN/messages.inc
@@ -0,0 +1,54 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | localization/<lang>/messages.inc |
+ | |
+ | Localization file of the Roundcube Webmail client |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/messages/
+*/
+$messages['requesttimedout'] = 'ವಿನಂತಿ ಸಮಯ ಮೀರಿತà³';
+$messages['checkingmail'] = 'ಹೊಸ ಸಂದೇಶಗಳನà³à²¨à³ ಪರಿಶೀಲಿಸಲಾಗà³à²¤à³à²¤à²¿à²¦à³†...';
+$messages['sendingmessage'] = 'ಸಂದೇಶ ಕಳà³à²¹à²¿à²¸à²²à²¾à²—à³à²¤à³à²¤à²¿à²¦à³†...';
+$messages['messagesent'] = 'ಸಂದೇಶ ಯಶಸà³à²µà²¿à²¯à²¾à²—ಿ ಕಳà³à²¹à²¿à²¸à²²à²¾à²—ಿದೆ.';
+$messages['savingmessage'] = 'ಸಂದೇಶ ಉಳಿಸಲಾಗà³à²¤à³à²¤à²¿à²¦à³†...';
+$messages['successfullysaved'] = 'ಯಶಸà³à²µà²¿à²¯à²¾à²—ಿ ಉಳಿಸಲಾಗಿದೆ.';
+$messages['contactexists'] = 'ಅದೇ ಇಮೇಲೠವಿಳಾಸದೊಂದಿಗೆ ಸಂಪರà³à²• ಈಗಾಗಲೇ ಅಸà³à²¤à²¿à²¤à³à²µà²¦à²²à³à²²à²¿à²¦à³†.';
+$messages['contactnameexists'] = 'ಅದೇ ಹೆಸರಿನ ಸಂಪರà³à²• ಈಗಾಗಲೇ ಅಸà³à²¤à²¿à²¤à³à²µà²¦à²²à³à²²à²¿à²¦à³†.';
+$messages['nocontactsfound'] = 'ಯಾವà³à²¦à³†à³• ಸಂಪರà³à²•à²—ಳೠಕಂಡà³à²¬à²‚ದಿಲà³à²².';
+$messages['contactnotfound'] = 'ವಿನಂತಿಸಿದ ಸಂಪರà³à²• ಕಂಡà³à²¬à²‚ದಿಲà³à²².';
+$messages['contactsearchonly'] = 'ಸಂಪರà³à²•à²—ಳನà³à²¨à³ ಹà³à²¡à³à²•à²²à³ ಕೆಲವೠಹà³à²¡à³à²•à²¾à²Ÿ ಪದಗಳನà³à²¨à³ ನಮೂದಿಸಿ';
+$messages['sendingfailed'] = 'ಸಂದೇಶವನà³à²¨à³ ಕಳà³à²¹à²¿à²¸à²²à³ ವಿಫಲವಾಗಿದೆ.';
+$messages['senttooquickly'] = 'ಈ ಸಂದೇಶವನà³à²¨à³ ಕಳà³à²¹à²¿à²¸à³à²µ ಮೊದಲà³, $sec ಸೆಕೆಂಡೠ(ಗಳà³) ನಿರೀಕà³à²·à²¿à²¸à²¿';
+$messages['deletecontactconfirm'] = 'ನೀವೠನಿಜವಾಗಿಯೂ ಆಯà³à²•à³† ಸಂಪರà³à²• (ಗಳನà³à²¨à³) ಅಳಿಸಲೠಬಯಸà³à²¤à³à²¤à²¿à³•à²°à²¾?';
+$messages['deletegroupconfirm'] = 'ನೀವೠನಿಜವಾಗಿಯೂ ಆಯà³à²•à³† ಗà³à²‚ಪೠಅಳಿಸಲೠಬಯಸà³à²¤à³à²¤à²¿à³•à²°à²¾?';
+$messages['deletemessagesconfirm'] = 'ನೀವೠನಿಜವಾಗಿಯೂ ಆಯà³à²¦ ಸಂದೇಶ (ಗಳೠ) ಅಳಿಸಲೠಬಯಸà³à²¤à³à²¤à²¿à³•à²°à²¾?';
+$messages['contactdeleting'] = 'ಸಂಪರà³à²•(ಗಳೠ) ಅಳಿಸಲಾಗà³à²¤à³à²¤à²¿à²¦à³† ...';
+$messages['nonamewarning'] = 'ದಯವಿಟà³à²Ÿà³ ಒಂದೠಹೆಸರನà³à²¨à³ ನಮೂದಿಸಿ.';
+$messages['nopagesizewarning'] = 'ದಯವಿಟà³à²Ÿà³ ಒಂದೠಪà³à²Ÿà²¦ ಗಾತà³à²° ನಮೂದಿಸಿ.';
+$messages['norecipientwarning'] = 'ದಯವಿಟà³à²Ÿà³ ಕನಿಷà³à²  ಒಬà³à²¬ ಸà³à²µà²¿à³•à²•à²°à²¿à²¸à³à²µà²µà²°à²¨à³à²¨à³ ನಮೂದಿಸಿ.';
+$messages['nosubjectwarning'] = '"ವಿಷಯ" ಕà³à²·à³†à³•à²¤à³à²° ಖಾಲಿಯಾಗಿದೆ. ನೀವೠಈಗ ಒಂದೠದಾಖಲಿಸಲೠಇಚà³à²›à²¿à²¸à³à²µà²¿à²°?';
+$messages['nosearchname'] = 'ದಯವಿಟà³à²Ÿà³ ಸಂಪರà³à²• ಹೆಸರೠಅಥವಾ ಇಮೇಲೠವಿಳಾಸವನà³à²¨à³ ನಮೂದಿಸಿ.';
+$messages['contactsearchsuccessful'] = '$nr ಸಂಪರà³à²•à²—ಳೠಸಿಕà³à²•à²¿à²µà³†.';
+$messages['searching'] = 'ಹà³à²¡à³à²•à²²à²¾à²—à³à²¤à³à²¤à²¿à²¦à³†...';
+$messages['checking'] = 'ಪರಿಶೀಲಿಸಲಾಗà³à²¤à³à²¤à²¿à²¦à³†...';
+$messages['nospellerrors'] = 'ಕಾಗà³à²£à²¿à²¤ ದೋಷಗಳನà³à²¨à³ ಕಂಡà³à²¬à²‚ದಿಲà³à²².';
+$messages['deletedsuccessfully'] = 'ಯಶಸà³à²µà²¿à²¯à²¾à²—ಿ ಅಳಿಸಲಾಗಿದೆ.';
+$messages['fileuploaderror'] = 'ಫೈಲೠಅಪà³à²²à³†à³‚ೕಡೠವಿಫಲವಾಗಿದೆ.';
+$messages['filesizeerror'] = 'ಅಪà³à²²à³†à³‚ೕಡೠಮಾಡಿದ ಫೈಲೠ$size ಗರಿಷà³à²  ಗಾತà³à²°à²µà²¨à³à²¨à³ ಮೀರಿದೆ';
+$messages['errorsavingcontact'] = 'ಸಂಪರà³à²• ವಿಳಾಸ ಉಳಿಸಲಾಗಲಿಲà³à²².';
+$messages['selectimportfile'] = 'ಅಪà³à²²à³†à³‚ೕಡೠಮಾಡಲೠಫೈಲೠಆಯà³à²•à³† ಮಾಡಿ.';
+$messages['emailformaterror'] = 'ಅಮಾನà³à²¯à²µà²¾à²¦ ಇಮೇಲೠವಿಳಾಸ: $email';
+$messages['autocompletechars'] = 'ಸà³à²µà²¯à²‚ಪೂರà³à²£à²—ೊಳಿಸà³à²µà²¿à²•à³† ಕನಿಷà³à²  $min ಅಕà³à²·à²°à²—ಳನà³à²¨à³ ನಮೂದಿಸಿ.';
+$messages['namecannotbeempty'] = 'ಹೆಸರೠಖಾಲಿ ಇರà³à²µà²‚ತಿಲà³à²².';
+$messages['nametoolong'] = 'ಹೆಸರೠತà³à²‚ಬಾ ಉದà³à²¦à²µà²¾à²—ಿದೆ.';
+$messages['mispellingsfound'] = 'ಸಂದೇಶದಲà³à²²à²¿ ಕಾಗà³à²£à²¿à²¤ ದೋಷಗಳೠಪತà³à²¤à³†à²¯à²¾à²—ಿವೆ.';
+?>
diff --git a/program/localization/ko_KR/labels.inc b/program/localization/ko_KR/labels.inc
index bccd42163..fdb43166d 100644
--- a/program/localization/ko_KR/labels.inc
+++ b/program/localization/ko_KR/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = 'ì´ $countê°œ 중 $from 번째 - $to 번째';
$labels['copy'] = '복사';
$labels['move'] = 'ì´ë™';
$labels['moveto'] = 'ì´ë™í•  위치...';
+$labels['copyto'] = '복사 위치...';
$labels['download'] = '다운로드';
$labels['open'] = '열기';
$labels['showattachment'] = '보기';
@@ -104,7 +105,7 @@ $labels['compose'] = '메시지 작성';
$labels['writenewmessage'] = '새 메시지 ìƒì„±';
$labels['reply'] = '회신';
$labels['replytomessage'] = '발신ì¸ì—게 회신';
-$labels['replytoallmessage'] = '보낸 사람과 모든 수신ì¸ì—게 회신';
+$labels['replytoallmessage'] = 'ëª©ë¡ ë˜ëŠ” ë°œì‹ ì¸ ë° ëª¨ë“  수신ì¸ì—게 회신';
$labels['replyall'] = '전체 회신';
$labels['replylist'] = '회신 목ë¡';
$labels['forward'] = '전달';
@@ -197,6 +198,16 @@ $labels['spellcheck'] = '맞춤법';
$labels['checkspelling'] = '맞춤법 검사하기';
$labels['resumeediting'] = '편집 계ì†í•˜ê¸°';
$labels['revertto'] = 'ëŒì•„가기';
+$labels['restore'] = '복구';
+$labels['restoremessage'] = '메시지를 복구할까요?';
+$labels['responses'] = 'ì‘답';
+$labels['insertresponse'] = 'ì‘답 삽입';
+$labels['manageresponses'] = 'ì‘답 관리';
+$labels['savenewresponse'] = '새로운 ì‘답 저장';
+$labels['editresponses'] = 'ì‘답 편집';
+$labels['editresponse'] = 'ì‘답 편집';
+$labels['responsename'] = 'ì´ë¦„';
+$labels['responsetext'] = 'ì‘답 í…스트';
$labels['attach'] = '첨부';
$labels['attachments'] = '첨부파ì¼';
$labels['upload'] = '업로드';
@@ -224,10 +235,10 @@ $labels['addcc'] = '참조 추가';
$labels['addbcc'] = 'ìˆ¨ì€ ì°¸ì¡° 추가';
$labels['addreplyto'] = '회신 주소 추가';
$labels['addfollowupto'] = '전달 추가';
-$labels['mdnrequest'] = 'ì´ ë©”ì‹œì§€ë¥¼ 보낸 ì‚¬ëžŒì´ ì‚¬ìš©ìžê°€ ì´ ë©”ì‹œì§€ë¥¼ ì½ì—ˆì„ ë•Œ ì½ìŒ 확ì¸ì„ 요청했습니다. 보낸 사람ì—게 알리시겠습니까?';
-$labels['receiptread'] = '수신 í™•ì¸ (ì½ìŒ)';
+$labels['mdnrequest'] = 'ì´ ë©”ì‹œì§€ì˜ ë°œì‹ ì¸ì´ 사용ìžê°€ ì´ ë©”ì‹œì§€ë¥¼ ì½ì—ˆì„ ë•Œ ì½ìŒ 확ì¸ì„ 요청했습니다. 발신ì¸ì—게 알리시겠습니까?';
+$labels['receiptread'] = '수신 확ì¸(ì½ìŒ)';
$labels['yourmessage'] = 'ì´ê²ƒì€ 사용ìžì˜ ë©”ì‹œì§€ì— ëŒ€í•œ 수신 확ì¸ìž…니다.';
-$labels['receiptnote'] = '참고: ì´ ìˆ˜ì‹  확ì¸ì€ ì´ ë©”ì‹œì§€ê°€ 받는 ì‚¬ëžŒì˜ ì»´í“¨í„°ì— í‘œì‹œë˜ì—ˆë‹¤ëŠ” ê²ƒë§Œì„ ì˜ë¯¸í•©ë‹ˆë‹¤. 받는 ì‚¬ëžŒì´ ë©”ì‹œì§€ ë‚´ìš©ì„ ì½ê±°ë‚˜ ì´í•´í–ˆë‹¤ëŠ” ë³´ìž¥ì€ ì—†ìŠµë‹ˆë‹¤.';
+$labels['receiptnote'] = '참고: ì´ ìˆ˜ì‹  확ì¸ì€ ì´ ë©”ì‹œì§€ê°€ 수신ì¸ì˜ ì»´í“¨í„°ì— í‘œì‹œë˜ì—ˆë‹¤ëŠ” ê²ƒë§Œì„ ì˜ë¯¸í•©ë‹ˆë‹¤. 수신ì¸ì´ 메시지 ë‚´ìš©ì„ ì½ì—ˆê±°ë‚˜ ì´í•´í–ˆë‹¤ëŠ” ë³´ìž¥ì€ ì—†ìŠµë‹ˆë‹¤.';
$labels['name'] = '표시명';
$labels['firstname'] = 'ì´ë¦„';
$labels['surname'] = '성';
@@ -361,7 +372,7 @@ $labels['logoutclear'] = '로그아웃할 때 휴지통 비우기';
$labels['logoutcompact'] = '로그아웃할 ë•Œ ë°›ì€ íŽ¸ì§€í•¨ 압축하기';
$labels['uisettings'] = 'ì‚¬ìš©ìž ì¸í„°íŽ˜ì´ìŠ¤';
$labels['serversettings'] = '서버 설정';
-$labels['mailboxview'] = 'ë©”ì¼í•¨ 화면';
+$labels['mailboxview'] = '편지함 화면';
$labels['mdnrequests'] = '수신 í™•ì¸ ìš”ì²­ ì‹œ';
$labels['askuser'] = '사용ìžì—게 물어봄';
$labels['autosend'] = '수신 í™•ì¸ ë³´ë‚´ê¸°';
@@ -428,6 +439,9 @@ $labels['standardwindows'] = 'íŒì—…ì„ ì¼ë°˜ ì°½ê°™ì´ ì·¨ê¸‰';
$labels['forwardmode'] = '메시지 전달';
$labels['inline'] = '본문 내용으로';
$labels['asattachment'] = '첨부파ì¼ë¡œ';
+$labels['replyallmode'] = '[ì „ì²´ 회신] ë²„íŠ¼ì˜ ê¸°ë³¸ ë™ìž‘';
+$labels['replyalldefault'] = '전체 회신';
+$labels['replyalllist'] = '발송목ë¡ì—만 회신(ì°¾ì•˜ì„ ê²½ìš°)';
$labels['folder'] = 'í´ë”';
$labels['folders'] = 'í´ë”';
$labels['foldername'] = 'í´ë”명';
diff --git a/program/localization/ko_KR/messages.inc b/program/localization/ko_KR/messages.inc
index f6f274c43..3c7060c59 100644
--- a/program/localization/ko_KR/messages.inc
+++ b/program/localization/ko_KR/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -15,7 +15,7 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/messages/
*/
-$messages['errortitle'] = '오류 ë°œìƒ!';
+$messages['errortitle'] = '오류가 ë°œìƒí•˜ì˜€ìŒ!';
$messages['loginfailed'] = '로그ì¸ì´ 실패하였습니다.';
$messages['cookiesdisabled'] = '브ë¼ìš°ì €ê°€ 쿠키를 지ì›í•˜ì§€ 않습니다.';
$messages['sessionerror'] = 'ì„¸ì…˜ì´ ìœ íš¨í•˜ì§€ 않거나 종료ë˜ì—ˆìŠµë‹ˆë‹¤.';
@@ -26,13 +26,14 @@ $messages['dberror'] = 'ë°ì´í„°ë² ì´ìŠ¤ 오류!';
$messages['requesttimedout'] = '요청 시간 초과';
$messages['errorreadonly'] = 'ëª…ë ¹ì„ ìˆ˜í–‰í•  수 없습니다. ì½ê¸° ì „ìš© í´ë”ìž„.';
$messages['errornoperm'] = 'ëª…ë ¹ì„ ìˆ˜í–‰í•  수 없습니다. ê¶Œí•œì´ ê±°ë¶€ë¨.';
-$messages['erroroverquota'] = 'ìž‘ì—…ì„ ìˆ˜í–‰í•  수 ì—†ìŒ. 여유 ê³µê°„ì´ ì—†ìŒ.';
-$messages['erroroverquotadelete'] = '여유 ê³µê°„ì´ ì—†ìŒ. SHIFT-DELì„ ì´ìš©í•˜ì—¬ 메시지를 삭제하세요.';
+$messages['erroroverquota'] = 'ìž‘ì—…ì„ ìˆ˜í–‰í•  수 ì—†ìŒ. 여유 ë””ìŠ¤í¬ ê³µê°„ì´ ì—†ìŒ.';
+$messages['erroroverquotadelete'] = '여유 ë””ìŠ¤í¬ ê³µê°„ì´ ì—†ìŒ. SHIFT-DELì„ ì´ìš©í•˜ì—¬ 메시지를 삭제하십시오.';
$messages['invalidrequest'] = 'ìž˜ëª»ëœ ìš”ì²­! ë°ì´í„°ê°€ 저장ë˜ì§€ 않았ìŒ.';
$messages['invalidhost'] = 'ìž˜ëª»ëœ ì„œë²„ ì´ë¦„입니다.';
-$messages['nomessagesfound'] = 'ì´ ë©”ì¼í•¨ì— ë©”ì¼ì´ 없습니다.';
+$messages['nomessagesfound'] = 'ì´ ë©”ì¼í•¨ì—ì„œ ë©”ì¼ì„ 찾지 못했ìŒ.';
$messages['loggedout'] = 'ì„¸ì…˜ì„ ì„±ê³µì ìœ¼ë¡œ 종료하였습니다. 안녕히 가세요!';
-$messages['mailboxempty'] = 'ë©”ì¼í•¨ì´ 비어있습니다.';
+$messages['mailboxempty'] = 'ë©”ì¼í•¨ì´ 비어있ìŒ';
+$messages['nomessages'] = '메시지가 ì—†ìŒ';
$messages['refreshing'] = '새로 고치는 중 ...';
$messages['loading'] = '불러오는 중...';
$messages['uploading'] = '파ì¼ì„ 업로드하는 중...';
@@ -44,16 +45,20 @@ $messages['messagesent'] = '메시지를 성공ì ìœ¼ë¡œ 보냈습니다.';
$messages['savingmessage'] = '메시지를 저장하는 중...';
$messages['messagesaved'] = '메시지가 ìž„ì‹œ ë³´ê´€í•¨ì— ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤.';
$messages['successfullysaved'] = '성공ì ìœ¼ë¡œ 저장ë¨.';
+$messages['savingresponse'] = 'ì‘답 문구를 저장하는 중...';
+$messages['deleteresponseconfirm'] = 'ì •ë§ë¡œ ì´ ì‘답 문구를 삭제하시겠습니까?';
$messages['addedsuccessfully'] = 'ì—°ë½ì²˜ê°€ 주소ë¡ì— 성공ì ìœ¼ë¡œ 추가ë˜ì—ˆìŠµë‹ˆë‹¤.';
$messages['contactexists'] = 'ì—°ë½ì²˜ì— ë™ì¼í•œ ì´ë©”ì¼ ì£¼ì†Œê°€ ì´ë¯¸ 존재합니다.';
$messages['contactnameexists'] = 'ì—°ë½ì²˜ì— ë™ì¼í•œ ì´ë¦„ì´ ì´ë¯¸ 존재합니다.';
$messages['blockedimages'] = 'ë³´ì•ˆì„ ìœ„í•´, ì´ ë©”ì‹œì§€ì˜ ì™¸ë¶€ ì´ë¯¸ì§€ë¥¼ 차단하였습니다.';
$messages['encryptedmessage'] = 'ì´ê²ƒì€ ì•”í˜¸í™”ëœ ë©”ì‹œì§€ë©° 표시할 수 없습니다. 죄송합니다!';
-$messages['nocontactsfound'] = 'ì—°ë½ì²˜ë¥¼ ì°¾ì„ ìˆ˜ ì—†ìŒ.';
+$messages['nocontactsfound'] = 'ì—°ë½ì²˜ë¥¼ ì°¾ì„ ìˆ˜ 없었ìŒ.';
$messages['contactnotfound'] = '요청한 ì—°ë½ì²˜ë¥¼ ì°¾ì„ ìˆ˜ 없었습니다.';
$messages['contactsearchonly'] = 'ì—°ë½ì²˜ë¥¼ 찾기 위해 ì¼ë¶€ 검색용어를 입력하세요.';
$messages['sendingfailed'] = '메시지 보내기를 실패하였ìŒ.';
$messages['senttooquickly'] = 'ì´ ë©”ì‹œì§€ë¥¼ 보내기 ì „ì— $secì´ˆ ë™ì•ˆ 기다리세요.';
+$messages['errorsavingsent'] = '보낸 메시지를 저장하는 중 오류가 ë°œìƒí•˜ì˜€ìŒ.';
+$messages['errorsaving'] = '저장하는 중 오류가 ë°œìƒí•˜ì˜€ìŒ.';
$messages['errormoving'] = '메시지를 ì´ë™í•  수 없었ìŒ.';
$messages['errorcopying'] = '메시지를 복사할 수 없었ìŒ.';
$messages['errordeleting'] = '메시지를 삭제할 수 없었ìŒ.';
@@ -74,19 +79,20 @@ $messages['noemailwarning'] = '유효한 ì´ë©”ì¼ ì£¼ì†Œë¥¼ 입력하시기 ë°”
$messages['nonamewarning'] = 'ì´ë¦„ì„ ìž…ë ¥í•˜ì‹œê¸° ë°”ëžë‹ˆë‹¤.';
$messages['nopagesizewarning'] = '페ì´ì§€ í¬ê¸°ë¥¼ 입력하시기 ë°”ëžë‹ˆë‹¤.';
$messages['nosenderwarning'] = 'ë°œì‹ ì¸ ì´ë©”ì¼ ì£¼ì†Œë¥¼ 입력하시기 ë°”ëžë‹ˆë‹¤.';
-$messages['norecipientwarning'] = 'ì ì–´ë„ í•œ ê°œ ì´ìƒì˜ ìˆ˜ì‹ ì¸ ì£¼ì†Œë¥¼ 입력하시기 ë°”ëžë‹ˆë‹¤.';
+$messages['norecipientwarning'] = '최소 í•œ 명 ì´ìƒì˜ 수신ì¸ì„ 입력하시기 ë°”ëžë‹ˆë‹¤.';
$messages['nosubjectwarning'] = '"제목" 필드가 비어있습니다. 지금 입력하시겠습니까?';
$messages['nobodywarning'] = 'í…스트가 없는 메시지를 보내시겠습니까?';
$messages['notsentwarning'] = '메시지를 보내지 못했습니다. 메시지를 í기하시겠습니까?';
+$messages['restoresavedcomposedata'] = 'ì´ì „ì— ìž‘ì„±í–ˆì§€ë§Œ 보내지 ì•Šì€ ë©”ì‹œì§€ë¥¼ 찾았습니다.\n\nSubject: $subject\nSaved: $date\n\nì´ ë©”ì‹œì§€ë¥¼ 복구하시겠습니까?';
$messages['noldapserver'] = '검색할 LDAP 서버를 ì„ íƒí•˜ì‹œê¸° ë°”ëžë‹ˆë‹¤.';
$messages['nosearchname'] = 'ì—°ë½ì²˜ëª…ì´ë‚˜ ì´ë©”ì¼ ì£¼ì†Œë¥¼ 입력하시기 ë°”ëžë‹ˆë‹¤.';
$messages['notuploadedwarning'] = 'ì•„ì§ ëª¨ë“  첨부가 업로드ë˜ì§€ 않았습니다. 기다리거나 업로드를 취소하시기 ë°”ëžë‹ˆë‹¤.';
-$messages['searchsuccessful'] = '$nrê°œì˜ ë©”ì‹œì§€ë¥¼ ì°¾ìŒ.';
-$messages['contactsearchsuccessful'] = '$nrê°œì˜ ì—°ë½ì²˜ë¥¼ ì°¾ìŒ.';
+$messages['searchsuccessful'] = '$nrê°œì˜ ë©”ì‹œì§€ë¥¼ 찾았ìŒ.';
+$messages['contactsearchsuccessful'] = '$nrê°œì˜ ì—°ë½ì²˜ë¥¼ 찾았ìŒ.';
$messages['searchnomatch'] = 'ê²€ìƒ‰ì´ ì¼ì¹˜ í•­ëª©ì„ ì°¾ì§€ 못함.';
$messages['searching'] = '검색 중...';
$messages['checking'] = 'í™•ì¸ ì¤‘...';
-$messages['nospellerrors'] = '맞춤법 오류를 찾지 못함.';
+$messages['nospellerrors'] = '맞춤법 오류를 찾지 못했ìŒ.';
$messages['folderdeleted'] = 'í´ë”를 성공ì ìœ¼ë¡œ 삭제함.';
$messages['foldersubscribed'] = 'í´ë”를 성공ì ìœ¼ë¡œ 구ë…함.';
$messages['folderunsubscribed'] = 'í´ë”를 성공ì ìœ¼ë¡œ êµ¬ë… ì·¨ì†Œí•¨.';
@@ -94,15 +100,15 @@ $messages['folderpurged'] = 'í´ë”를 성공ì ìœ¼ë¡œ 비웠습니다.';
$messages['folderexpunged'] = 'í´ë”를 성공ì ìœ¼ë¡œ 압축하였습니다.';
$messages['deletedsuccessfully'] = '성공ì ìœ¼ë¡œ 삭제함.';
$messages['converting'] = 'ì„œì‹ ì„¤ì • ì‚­ì œ 중...';
-$messages['messageopenerror'] = '서버ì—ì„œ 메시지를 불러올 수 ì—†ìŒ.';
+$messages['messageopenerror'] = '서버ì—ì„œ 메시지를 불러올 수 없었ìŒ.';
$messages['fileuploaderror'] = 'íŒŒì¼ ì—…ë¡œë“œë¥¼ 실패함.';
$messages['filesizeerror'] = 'ì—…ë¡œë“œëœ íŒŒì¼ì´ 최대 í¬ê¸°ì¸ $size를 초과하였습니다.';
$messages['copysuccess'] = '$nrê°œì˜ ì—°ë½ì²˜ë¥¼ 성공ì ìœ¼ë¡œ 복사함';
$messages['movesuccess'] = '$nrê°œì˜ ì—°ë½ì²˜ë¥¼ 성공ì ìœ¼ë¡œ ì´ë™í•¨';
$messages['copyerror'] = 'ì „ì²´ ì—°ë½ì²˜ë¥¼ 복사할 수 없없ìŒ';
-$messages['moveerror'] = 'ì „ì²´ ì—°ë½ì²˜ë¥¼ ì´ë™í•  수 없없ìŒ';
+$messages['moveerror'] = 'ì „ì²´ ì—°ë½ì²˜ë¥¼ ì´ë™í•  수 없었ìŒ';
$messages['sourceisreadonly'] = 'ì´ ì£¼ì†Œì˜ ì†ŒìŠ¤ëŠ” ì½ê¸° 전용입니다.';
-$messages['errorsavingcontact'] = 'ì—°ë½ì²˜ì˜ 주소를 저장할 수 ì—†ìŒ.';
+$messages['errorsavingcontact'] = 'ì—°ë½ì²˜ì˜ 주소를 저장할 수 없었ìŒ.';
$messages['movingmessage'] = '메시지를 ì´ë™í•˜ëŠ” 중...';
$messages['copyingmessage'] = '메시지 복사하는 중...';
$messages['copyingcontact'] = 'ì—°ë½ì²˜ 복사하는 중...';
@@ -111,8 +117,8 @@ $messages['deletingmessage'] = '메시지 삭제하는 중...';
$messages['markingmessage'] = 'ë©”ì‹œì§€ì— í‘œì‹œí•˜ëŠ” 중...';
$messages['addingmember'] = 'ê·¸ë£¹ì— ì—°ë½ì²˜ë¥¼ 추가하는 중...';
$messages['removingmember'] = '그룹ì—ì„œ ì—°ë½ì²˜ë¥¼ 삭제하는 중...';
-$messages['receiptsent'] = 'ì½ìŒ 확ì¸ì„ 보냄.';
-$messages['errorsendingreceipt'] = 'ì½ìŒ 확ì¸ì„ 보낼 수 ì—†ìŒ.';
+$messages['receiptsent'] = 'ì½ìŒ 확ì¸ì„ 성공ì ìœ¼ë¡œ 보냈ìŒ.';
+$messages['errorsendingreceipt'] = 'ì½ìŒ 확ì¸ì„ 보낼 수 없었ìŒ.';
$messages['deleteidentityconfirm'] = 'ì´ í•­ëª©ì„ ì •ë§ë¡œ ì‚­ì œ 하시겠습니까?';
$messages['nodeletelastidentity'] = 'ì´ ì‹ ì›ì€ 마지막 하나ì´ë¯€ë¡œ 삭제할 수 없습니다.';
$messages['forbiddencharacter'] = 'í´ë”ëª…ì— ê¸ˆì§€ëœ ë¬¸ìžê°€ í¬í•¨ë˜ì–´ 있습니다.';
@@ -120,14 +126,14 @@ $messages['selectimportfile'] = '업로드할 파ì¼ì„ ì„ íƒí•´ì£¼ì‹œê¸° ë°”ëž
$messages['addresswriterror'] = 'ì„ íƒëœ 주소ë¡ì€ 쓰기가 불가능합니다.';
$messages['contactaddedtogroup'] = 'ì´ ê·¸ë£¹ì— ì—°ë½ì²˜ë¥¼ 성공ì ìœ¼ë¡œ 추가함.';
$messages['contactremovedfromgroup'] = 'ì´ ê·¸ë£¹ì—ì„œ ì—°ë½ì²˜ë¥¼ 성공ì ìœ¼ë¡œ 제거함.';
-$messages['nogroupassignmentschanged'] = '그룹 í• ë‹¹ì´ ë³€ê²½ë˜ì§€ ì•ŠìŒ.';
+$messages['nogroupassignmentschanged'] = '그룹 í• ë‹¹ì´ ë³€ê²½ë˜ì§€ 않았ìŒ.';
$messages['importwait'] = '가져오는 중, 기다려주시기 ë°”ëžë‹ˆë‹¤...';
$messages['importformaterror'] = '가져오기를 실패함! ì—…ë¡œë“œëœ íŒŒì¼ì€ 유효하지 ì•Šì€ ê°€ì ¸ì˜¤ê¸° ë°ì´í„° 파ì¼ìž…니다.';
$messages['importconfirm'] = '<b>$inserted ì—°ë½ì²˜ë¥¼ 성공ì ìœ¼ë¡œ 가져옴<b>';
$messages['importconfirmskipped'] = '<b>기존 ê¸°ìž¬ì‚¬í•­ì¸ $skippedì„(를) 건너뜀</b>';
$messages['importmessagesuccess'] = '$nrê°œì˜ ë©”ì‹œì§€ë¥¼ 성공ì ìœ¼ë¡œ 가져옴';
$messages['importmessageerror'] = '가져오기 실패! ì—…ë¡œë“œëœ íŒŒì¼ì€ 유효하지 ì•Šì€ ë©”ì‹œì§€ ë˜ëŠ” ë©”ì¼í•¨ 파ì¼ìž„';
-$messages['opnotpermitted'] = 'ìž‘ì—…ì´ í—ˆê°€ë˜ì§€ ì•ŠìŒ!';
+$messages['opnotpermitted'] = 'ìž‘ì—…ì´ í—ˆê°€ë˜ì§€ 않았ìŒ!';
$messages['nofromaddress'] = 'ì„ íƒëœ ì‹ ì›ì— ì´ë©”ì¼ ì£¼ì†Œ ê°€ 누ë½ë¨.';
$messages['editorwarning'] = 'ì¼ë°˜ í…스트 편집기로 바꾸면 모든 í…스트 ì„œì‹ì´ 사ë¼ì§‘니다. 계ì†í•˜ì‹œê² ìŠµë‹ˆê¹Œ?';
$messages['httpreceivedencrypterror'] = '치명ì ì¸ 구성 오류가 ë°œìƒí•˜ì˜€ìŠµë‹ˆë‹¤. 즉시 관리ìžì—게 ì—°ë½í•˜ì„¸ìš”.
@@ -139,17 +145,18 @@ $messages['smtptoerror'] = 'SMTP 오류 ($code): 수신ì¸ì„ "$to" ($msg)ì— ì¶
$messages['smtprecipientserror'] = 'SMTP 오류: ìˆ˜ì‹ ì¸ ëª©ë¡ì„ 분ì„(parse)í•  수 ì—†ìŒ.';
$messages['smtperror'] = 'SMTP 오류: $msg';
$messages['emailformaterror'] = '유효하지 ì•Šì€ ì´ë©”ì¼ ì£¼ì†Œ: $email';
-$messages['toomanyrecipients'] = '수신ì¸ì´ 너무 많ìŒ. ìˆ˜ì‹ ì¸ ìˆ˜ë¥¼ $max명으로 줄ì´ì„¸ìš”.';
+$messages['toomanyrecipients'] = '수신ì¸ì´ 너무 많ìŒ. ìˆ˜ì‹ ì¸ ìˆ˜ë¥¼ $max명으로 줄ì´ì‹­ì‹œì˜¤.';
$messages['maxgroupmembersreached'] = '그룹 구성ì›ì˜ 수가 최대 ì¸ì›ì¸ $maxëª…ì„ ì´ˆê³¼í•©ë‹ˆë‹¤.';
-$messages['contactdelerror'] = 'ì—°ë½ì²˜ë¥¼ 삭제할 수 ì—†ìŒ.';
+$messages['internalerror'] = '내부 오류가 ë°œìƒí•˜ì˜€ìŒ. 다시 ì‹œë„하십시오.';
+$messages['contactdelerror'] = 'ì—°ë½ì²˜ë¥¼ 삭제할 수 없었ìŒ.';
$messages['contactdeleted'] = 'ì—°ë½ì²˜ê°€ 성공ì ìœ¼ë¡œ ì‚­ì œë¨.';
-$messages['contactrestoreerror'] = 'ì‚­ì œëœ ì—°ë½ì²˜ë¥¼ 복구할 수 ì—†ìŒ.';
+$messages['contactrestoreerror'] = 'ì‚­ì œëœ ì—°ë½ì²˜ë¥¼ 복구할 수 없었ìŒ.';
$messages['contactrestored'] = 'ì—°ë½ì²˜ê°€ 성공ì ìœ¼ë¡œ 복구ë¨.';
$messages['groupdeleted'] = 'ê·¸ë£¹ì´ ì„±ê³µì ìœ¼ë¡œ ì‚­ì œë¨.';
$messages['grouprenamed'] = 'ê·¸ë£¹ëª…ì´ ì„±ê³µì ìœ¼ë¡œ 변경ë¨.';
$messages['groupcreated'] = 'ê·¸ë£¹ì´ ì„±ê³µì ìœ¼ë¡œ ìƒì„±ë¨.';
$messages['savedsearchdeleted'] = 'ì €ìž¥ëœ ê²€ìƒ‰ì´ ì„±ê³µì ìœ¼ë¡œ ì‚­ì œë¨.';
-$messages['savedsearchdeleteerror'] = 'ì €ìž¥ëœ ì •ë³´ë¥¼ 삭제할 수 없었ìŒ.';
+$messages['savedsearchdeleteerror'] = 'ì €ìž¥ëœ ê²€ìƒ‰ì„ ì‚­ì œí•  수 없었ìŒ.';
$messages['savedsearchcreated'] = 'ì €ìž¥ëœ ê²€ìƒ‰ì´ ì„±ê³µì ìœ¼ë¡œ ìƒì„±ë¨.';
$messages['savedsearchcreateerror'] = 'ì €ìž¥ëœ ê²€ìƒ‰ì„ ìƒì„±í•  수 없었ìŒ.';
$messages['messagedeleted'] = '메시지가 성공ì ìœ¼ë¡œ ì‚­ì œë¨.';
@@ -157,7 +164,7 @@ $messages['messagemoved'] = '메시지가 성공ì ìœ¼ë¡œ ì´ë™ë¨.';
$messages['messagecopied'] = '메시지가 성공ì ìœ¼ë¡œ 복사ë¨.';
$messages['messagemarked'] = 'ë©”ì‹œì§€ì— ì„±ê³µì ìœ¼ë¡œ 표시ë¨.';
$messages['autocompletechars'] = 'ìžë™ ì™„ì„±ì„ ìœ„í•´ì„œ ì ì–´ë„ $minê°œì˜ ë¬¸ìžë¥¼ 입력하세요.';
-$messages['autocompletemore'] = 'ë” ë§Žì€ ì¼ì¹˜ í•­ëª©ì´ ë°œê²¬ë¨. ë” ë§Žì€ ë¬¸ìžë¥¼ 입력해주시기 ë°”ëžë‹ˆë‹¤.';
+$messages['autocompletemore'] = 'ë” ë§Žì€ ì¼ì¹˜í•˜ëŠ” í•­ëª©ì„ ì°¾ì•˜ìŒ. ë” ë§Žì€ ë¬¸ìžë¥¼ 입력해주십시오.';
$messages['namecannotbeempty'] = 'ì´ë¦„ì„ ë¹„ì›Œë‘˜ 수 없습니다.';
$messages['nametoolong'] = 'ì´ë¦„ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤.';
$messages['folderupdated'] = 'í´ë”ê°€ 성공ì ìœ¼ë¡œ ì—…ë°ì´íŠ¸ë¨.';
diff --git a/program/localization/ku/messages.inc b/program/localization/ku/messages.inc
index 6000aacb0..95d33d78f 100644
--- a/program/localization/ku/messages.inc
+++ b/program/localization/ku/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -21,7 +21,6 @@ $messages['sessionerror'] = 'Danişîna te çewt e an jî bi dawî bûye';
$messages['storageerror'] = 'Girêdana pêşkêşkara IMAP têk çû';
$messages['nomessagesfound'] = 'Di vê peyamdankê de tu peyam nehat dîtin';
$messages['loggedout'] = 'Te danişînî bi dawî anî. Oxir be!';
-$messages['mailboxempty'] = 'Peyamdank vala ye';
$messages['loading'] = 'Tê barkirin...';
$messages['loadingdata'] = 'Dane tên barkirin...';
$messages['checkingmail'] = 'Li peyamên nû vedinihêre...';
diff --git a/program/localization/lb_LU/labels.inc b/program/localization/lb_LU/labels.inc
index 00a133af3..edfa6e5d1 100644
--- a/program/localization/lb_LU/labels.inc
+++ b/program/localization/lb_LU/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from bis $to vun $count';
$labels['copy'] = 'Kopéieren';
$labels['move'] = 'Réckelen';
$labels['moveto'] = 'Réckelen an...';
+$labels['copyto'] = 'Kopéieren op...';
$labels['download'] = 'Eroflueden';
$labels['open'] = 'Opmaachen';
$labels['showattachment'] = 'Weisen';
@@ -62,10 +63,10 @@ $labels['addtoaddressbook'] = 'An d\'Adressbuch setzen';
$labels['sun'] = 'Son';
$labels['mon'] = 'Méi';
$labels['tue'] = 'Dën';
-$labels['wed'] = 'Don';
-$labels['thu'] = 'Fre';
-$labels['fri'] = 'Sam';
-$labels['sat'] = 'Son';
+$labels['wed'] = 'Mët';
+$labels['thu'] = 'Don';
+$labels['fri'] = 'Fre';
+$labels['sat'] = 'Sam';
$labels['sunday'] = 'Sonndeg';
$labels['monday'] = 'Méindeg';
$labels['tuesday'] = 'Dënschdeg';
@@ -197,6 +198,8 @@ $labels['spellcheck'] = 'Orthographie';
$labels['checkspelling'] = 'Orthographie kontrolléieren';
$labels['resumeediting'] = 'Weider editéieren';
$labels['revertto'] = 'Zréck bei';
+$labels['restore'] = 'Erëmhirstellen';
+$labels['restoremessage'] = 'Message erëmhirstellen';
$labels['responses'] = 'Äntwerten';
$labels['insertresponse'] = 'Äntwert afügen';
$labels['manageresponses'] = 'Äntwerte geréieren';
diff --git a/program/localization/lb_LU/messages.inc b/program/localization/lb_LU/messages.inc
index fc053b59e..41dada829 100644
--- a/program/localization/lb_LU/messages.inc
+++ b/program/localization/lb_LU/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = 'Ongëlteg Ufro! Et goufe keng Date gespäichert.'
$messages['invalidhost'] = 'Ongëltege Server-Numm.';
$messages['nomessagesfound'] = 'Keng Messagen an der Mailbox fonnt.';
$messages['loggedout'] = 'Du hues dech erfollegräich ofgemellt. Äddi!';
-$messages['mailboxempty'] = 'D\'Mailbox ass eidel.';
+$messages['mailboxempty'] = 'D\'Mailbox ass eidel';
+$messages['nomessages'] = 'Keng Messagen';
$messages['refreshing'] = 'Lueden nei...';
$messages['loading'] = 'Lueden...';
$messages['uploading'] = 'Fichier gëtt eropgelueden...';
@@ -82,6 +83,7 @@ $messages['norecipientwarning'] = 'Gëff w.e.gl op mannst een Empfänger an.';
$messages['nosubjectwarning'] = 'D\'Feld "Sujet" ass eidel. Wëlls du elo eent uginn?';
$messages['nobodywarning'] = 'Soll dëse Message ouni Text verschéckt ginn?';
$messages['notsentwarning'] = 'De Message gouf net verschéckt. Wëlls du e verwerfen?';
+$messages['restoresavedcomposedata'] = 'Et gouf e Message fonnt dee scho geschriwwen awer nach net verschéckt ginn ass.\n\nSujet: $subject\nGespäichert: $date\n\nSoll de Message recuperéiert ginn?';
$messages['noldapserver'] = 'Wiel w.e.gl en LDAP-Server fir d\'Sich aus.';
$messages['nosearchname'] = 'Gëff w.e.gl en Numm oder eng E-Mail-Adress fir de Kontakt an.';
$messages['notuploadedwarning'] = 'Net all d\'Unhäng goufen eropgelueden. Waart w.e.gl e Moment oder briech den Upload of.';
diff --git a/program/localization/lt_LT/messages.inc b/program/localization/lt_LT/messages.inc
index d9c83f873..d45bdeb5e 100644
--- a/program/localization/lt_LT/messages.inc
+++ b/program/localization/lt_LT/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,6 @@ $messages['invalidrequest'] = 'Netinkama užklausa! Duomenys neišsaugoti.';
$messages['invalidhost'] = 'Negalimas serverio vardas.';
$messages['nomessagesfound'] = 'Šioje pašto dėžutėje laiškų nėra.';
$messages['loggedout'] = 'JÅ«s sÄ—kmingai atsijungÄ—te. Iki kito karto!';
-$messages['mailboxempty'] = 'PaÅ¡to dėžutÄ— tuÅ¡Äia.';
$messages['refreshing'] = 'Atnaujinama…';
$messages['loading'] = 'Įkeliama…';
$messages['uploading'] = 'Įkeliamas failas…';
diff --git a/program/localization/lv_LV/labels.inc b/program/localization/lv_LV/labels.inc
index 0f80350bb..185d75180 100644
--- a/program/localization/lv_LV/labels.inc
+++ b/program/localization/lv_LV/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to no $count';
$labels['copy'] = 'Kopēt';
$labels['move'] = 'PÄrvietot';
$labels['moveto'] = 'PÄrvietot uz...';
+$labels['copyto'] = 'Kopēt uz ...';
$labels['download'] = 'lejupielÄdÄ“t';
$labels['open'] = 'Atvērt';
$labels['showattachment'] = 'RÄdÄ«t';
@@ -197,6 +198,8 @@ $labels['spellcheck'] = 'IzrunÄt';
$labels['checkspelling'] = 'PÄrbaudÄ«t pareizrakstÄ«bu';
$labels['resumeediting'] = 'TurpinÄt rediģēšanu';
$labels['revertto'] = 'Atgriezt uz';
+$labels['restore'] = 'Atjaunot';
+$labels['restoremessage'] = 'Atjaunot vēstuli?';
$labels['responses'] = 'Atbildes';
$labels['insertresponse'] = 'Ievietot atbildi';
$labels['manageresponses'] = 'PÄrvaldÄ«t atbildes';
@@ -436,6 +439,9 @@ $labels['standardwindows'] = 'IzlÄ“coÅ¡ie logi kÄ parasti logi';
$labels['forwardmode'] = 'VÄ“stuļu pÄrsÅ«tÄ«Å¡ana';
$labels['inline'] = 'iekļaujot';
$labels['asattachment'] = 'kÄ pielikumu';
+$labels['replyallmode'] = '[AtbildÄ“t visiem] pogas noklusÄ“tÄ darbÄ«ba';
+$labels['replyalldefault'] = 'atbildēt visiem';
+$labels['replyalllist'] = 'atbildÄ“t tikai sarakstei (ja tÄda tiek atrasta)';
$labels['folder'] = 'Mapi';
$labels['folders'] = 'Mapes';
$labels['foldername'] = 'Mapes nosaukums';
diff --git a/program/localization/lv_LV/messages.inc b/program/localization/lv_LV/messages.inc
index 55cff4134..6f1622c16 100644
--- a/program/localization/lv_LV/messages.inc
+++ b/program/localization/lv_LV/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,6 @@ $messages['invalidrequest'] = 'NederÄ«gs pieprasÄ«jums! Dati netika saglabÄti .
$messages['invalidhost'] = 'Nederīgs servera nosaukums';
$messages['nomessagesfound'] = 'Å ajÄ pastkastÄ“ nav vÄ“stuļu';
$messages['loggedout'] = 'Jūs esat veiksmīgi atslēdzies no sistēmas. Uz redzēšanos!';
-$messages['mailboxempty'] = 'Pastkaste ir tukša';
$messages['refreshing'] = 'Atjauno...';
$messages['loading'] = 'Notiek ielÄde...';
$messages['uploading'] = 'AugÅ¡upielÄde failu...';
@@ -82,6 +81,7 @@ $messages['norecipientwarning'] = 'Lūdzu ievadiet vismaz vienu saņēmēju';
$messages['nosubjectwarning'] = 'Lauks "temats" ir tukšs. Vai vēlaties to aizpildīt tagad?';
$messages['nobodywarning'] = 'Sūtīt vēstuli bez teksta?';
$messages['notsentwarning'] = 'VÄ“stule netika nosÅ«tÄ«ta. Vai tieÅ¡Äm vÄ“laties atcelt vÄ“stules rakstÄ«Å¡anu?';
+$messages['restoresavedcomposedata'] = 'Ir atrasta pirms kÄda laika uzrakstÄ«ta, bet nenosÅ«tÄ«ta vÄ“stule.\n\nTÄ“ma: $subject\nSaglabÄta:$date\n\nVai atjaunot Å¡o vÄ“stuli?';
$messages['noldapserver'] = 'Lai meklētu, lūdzu izvēlaties LDAP serveri';
$messages['nosearchname'] = 'LÅ«dzu ievadiet kontaktpersonas vÄrdu vai e-pasta adresi';
$messages['notuploadedwarning'] = 'Visi pielikumi vÄ“l nav augÅ¡upielÄdÄ“ti - lÅ«dzu uzgaidiet vai atceļiet augÅ¡upielÄdi';
diff --git a/program/localization/mk_MK/messages.inc b/program/localization/mk_MK/messages.inc
index d123bada9..c8e29dfe9 100644
--- a/program/localization/mk_MK/messages.inc
+++ b/program/localization/mk_MK/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -23,7 +23,6 @@ $messages['servererror'] = 'Грешка во Ñерверот!';
$messages['invalidrequest'] = 'Ðеважечко барање! Податоците не Ñе зачувани.';
$messages['nomessagesfound'] = 'Ðемате пиÑма во ова Ñандаче';
$messages['loggedout'] = 'УÑпешно Ñе одјавивте. Ви благодариме и довидување!';
-$messages['mailboxempty'] = 'ПоштенÑкото Ñандаче е празно.';
$messages['loading'] = 'Вчитувам...';
$messages['uploading'] = 'Ја подигам податотеката...';
$messages['loadingdata'] = 'Ги вчитувам податоците...';
diff --git a/program/localization/ml_IN/messages.inc b/program/localization/ml_IN/messages.inc
index 9abaeda99..5d6d9f011 100644
--- a/program/localization/ml_IN/messages.inc
+++ b/program/localization/ml_IN/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
diff --git a/program/localization/mr_IN/messages.inc b/program/localization/mr_IN/messages.inc
index 36eb8dc04..2685f4826 100644
--- a/program/localization/mr_IN/messages.inc
+++ b/program/localization/mr_IN/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -28,7 +28,6 @@ $messages['errornoperm'] = 'कृती करणà¥à¤¯à¤¾à¤¸ असमरà¥à¤
$messages['invalidrequest'] = 'अवैध विनंती! माहिती साठवलेली नाही.';
$messages['nomessagesfound'] = 'या खातà¥à¤¯à¤¾à¤®à¤§à¥‡ कोणताही संदेश आलेला नाही';
$messages['loggedout'] = 'तà¥à¤®à¥à¤¹à¥€ यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ खाते बंद केले आहे . राम राम !';
-$messages['mailboxempty'] = 'खातà¥à¤¯à¤¾à¤¤ कोणताही संदेश नाही';
$messages['loading'] = 'संदेश आणत आहे';
$messages['uploading'] = 'फाईल चढवली जात आहे...';
$messages['loadingdata'] = 'माहिती आणत आहे';
diff --git a/program/localization/ms_MY/messages.inc b/program/localization/ms_MY/messages.inc
index c2140e216..99b35310a 100644
--- a/program/localization/ms_MY/messages.inc
+++ b/program/localization/ms_MY/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -21,7 +21,6 @@ $messages['sessionerror'] = 'Sesi anda tidak sah atau telah tamat';
$messages['storageerror'] = 'Sambungan ke pelayan IMAP gagal';
$messages['nomessagesfound'] = 'Tiada mesej dijumpai dalam kotak mel ini';
$messages['loggedout'] = 'Sesi anda telah tamat. Selamat tinggal!';
-$messages['mailboxempty'] = 'Kotak mail kosong';
$messages['loading'] = 'Memuat...';
$messages['loadingdata'] = 'Memuat data...';
$messages['checkingmail'] = 'Menyemak mesej baru...';
diff --git a/program/localization/nb_NO/labels.inc b/program/localization/nb_NO/labels.inc
index 20bbd1383..4590e516e 100644
--- a/program/localization/nb_NO/labels.inc
+++ b/program/localization/nb_NO/labels.inc
@@ -29,6 +29,7 @@ $labels['drafts'] = 'Kladd';
$labels['sent'] = 'Sendt';
$labels['trash'] = 'Slettet';
$labels['junk'] = 'Spam';
+$labels['show_real_foldernames'] = 'Vis orginale navn for spesielle mapper';
$labels['subject'] = 'Emne';
$labels['from'] = 'Avsender';
$labels['sender'] = 'Avsender';
@@ -51,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to av $count';
$labels['copy'] = 'Kopier';
$labels['move'] = 'Flytt';
$labels['moveto'] = 'flytt til...';
+$labels['copyto'] = 'Kopier til...';
$labels['download'] = 'last ned';
$labels['open'] = 'Ã…pen';
$labels['showattachment'] = 'Vis';
@@ -165,6 +167,7 @@ $labels['listmode'] = 'Listevisningsmodus';
$labels['folderactions'] = 'Mappehandlinger...';
$labels['compact'] = 'Rydd opp';
$labels['empty'] = 'Tøm';
+$labels['importmessages'] = 'Importer meldinger';
$labels['quota'] = 'Plassforbruk';
$labels['unknown'] = 'ukjent';
$labels['unlimited'] = 'ubegrenset';
@@ -173,6 +176,8 @@ $labels['resetsearch'] = 'Nullstill søk';
$labels['searchmod'] = 'Søke felt';
$labels['msgtext'] = 'Hele meldingen';
$labels['body'] = 'Meldingstekst';
+$labels['type'] = 'Type';
+$labels['namex'] = 'Navn';
$labels['openinextwin'] = 'Ã…pne i nytt vindu';
$labels['emlsave'] = 'Last ned (.eml)';
$labels['changeformattext'] = 'Vis i ren tekst';
@@ -185,7 +190,7 @@ $labels['addattachment'] = 'Vedlegg';
$labels['charset'] = 'Tegnsett';
$labels['editortype'] = 'Format';
$labels['returnreceipt'] = 'Be om kvittering';
-$labels['dsn'] = 'Leveringsstatus notifikasjon';
+$labels['dsn'] = 'Leveringsstatus varsling';
$labels['mailreplyintro'] = 'Den $date, skrev $sender:';
$labels['originalmessage'] = 'Opprinnelig melding';
$labels['editidents'] = 'Endre identiteter';
@@ -193,6 +198,16 @@ $labels['spellcheck'] = 'Stavekontroll';
$labels['checkspelling'] = 'Stavekontroll';
$labels['resumeediting'] = 'Fortsett redigering';
$labels['revertto'] = 'Tilbake til';
+$labels['restore'] = 'Gjenopprett';
+$labels['restoremessage'] = 'Gjenopprett melding?';
+$labels['responses'] = 'Svar';
+$labels['insertresponse'] = 'Sett inn et svar';
+$labels['manageresponses'] = 'Rediger svar';
+$labels['savenewresponse'] = 'Lagre nytt svar';
+$labels['editresponses'] = 'Rediger svar';
+$labels['editresponse'] = 'Rediger svar';
+$labels['responsename'] = 'Navn';
+$labels['responsetext'] = 'Svar tekst';
$labels['attach'] = 'Legg ved';
$labels['attachments'] = 'Vedlegg';
$labels['upload'] = 'Last opp';
@@ -305,13 +320,18 @@ $labels['nextpage'] = 'Vis neste sett';
$labels['lastpage'] = 'Vis siste sett';
$labels['group'] = 'Gruppe';
$labels['groups'] = 'Grupper';
+$labels['listgroup'] = 'Vis gruppemedlemmer';
$labels['personaladrbook'] = 'Egne adresser';
$labels['searchsave'] = 'Lagre søk';
$labels['searchdelete'] = 'Slett søk';
$labels['import'] = 'Importer';
$labels['importcontacts'] = 'Importer kontakter';
$labels['importfromfile'] = 'Importer fra fil:';
+$labels['importtarget'] = 'Legg kontakter til';
$labels['importreplace'] = 'Erstatt hele adresseboken';
+$labels['importgroups'] = 'Importer gruppetilordninger';
+$labels['importgroupsall'] = 'Alle (opprett grupper hvis nødvendig)';
+$labels['importgroupsexisting'] = 'Bare for eksisterende grupper';
$labels['importdesc'] = 'Du kan laste opp kontakter fra en eksisterende adressebok.<br/>Vi støtter adressebøker i <a href="http://no.wikipedia.org/wiki/VCard">vCard</a> eller CSV (kommaseparert) .';
$labels['done'] = 'Fullført';
$labels['settingsfor'] = 'Innstillinger for';
@@ -415,9 +435,13 @@ $labels['spellcheckignorenums'] = 'Ignorer ord med tall';
$labels['spellcheckignorecaps'] = 'Ignorer ord med kun store bokstaver';
$labels['addtodict'] = 'Legg til i ordbok';
$labels['mailtoprotohandler'] = 'Registrer protokollhåndtering for mailto-lenker';
+$labels['standardwindows'] = 'HÃ¥ndter sprettoppvinduer som vanlige vinduer';
$labels['forwardmode'] = 'Meldinger videresendes';
$labels['inline'] = 'i teksten';
$labels['asattachment'] = 'som vedlegg';
+$labels['replyallmode'] = 'Standard valg for [Svar alle] knapp';
+$labels['replyalldefault'] = 'svar til alle';
+$labels['replyalllist'] = 'svar kun til epostliste (hvis funnet)';
$labels['folder'] = 'Mappe';
$labels['folders'] = 'Mapper';
$labels['foldername'] = 'Mappenavn';
diff --git a/program/localization/nb_NO/messages.inc b/program/localization/nb_NO/messages.inc
index 1d51017fb..c2a489714 100644
--- a/program/localization/nb_NO/messages.inc
+++ b/program/localization/nb_NO/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = 'Ugyldig forespørsel! Ingen data ble lagret.';
$messages['invalidhost'] = 'Ugyldig servernavn.';
$messages['nomessagesfound'] = 'Det ble ikke funnet noen meldinger i denne mappen';
$messages['loggedout'] = 'Du er logget av webmail. Ha det bra!';
-$messages['mailboxempty'] = 'Mappen er tom!';
+$messages['mailboxempty'] = 'Mappen er tom';
+$messages['nomessages'] = 'Ingen meldinger';
$messages['refreshing'] = 'Oppdaterer …';
$messages['loading'] = 'Laster...';
$messages['uploading'] = 'Laster opp fil...';
@@ -44,6 +45,8 @@ $messages['messagesent'] = 'Meldingen ble sendt';
$messages['savingmessage'] = 'Lagrer melding...';
$messages['messagesaved'] = 'Melding er lagret som kladd';
$messages['successfullysaved'] = 'Lagret';
+$messages['savingresponse'] = 'Lagrer svartekst...';
+$messages['deleteresponseconfirm'] = 'Vil du virkelig å slette denne svarteksten?';
$messages['addedsuccessfully'] = 'Kontakten ble lagt til i adresseboken';
$messages['contactexists'] = 'Det finnes allerede en kontakt med denne e-postadressen';
$messages['contactnameexists'] = 'Det finnes allerede en kontakt med dette navnet';
@@ -54,6 +57,8 @@ $messages['contactnotfound'] = 'Den ønskede kontakten ble ikke funnet';
$messages['contactsearchonly'] = 'Skriv inn noen søkeord for å finne kontakter.';
$messages['sendingfailed'] = 'Kunne ikke sende e-posten';
$messages['senttooquickly'] = 'Vennligst vent $sec sekund(er) før du sender denne meldingen';
+$messages['errorsavingsent'] = 'En feil oppsto under lagring av sendt melding.';
+$messages['errorsaving'] = 'En feil oppsto under lagring.';
$messages['errormoving'] = 'Kunne ikke flytte meldingen(e)';
$messages['errorcopying'] = 'Kunne ikke kopiere meldingen(e)';
$messages['errordeleting'] = 'Kunne ikke slette meldingen(e)';
@@ -78,6 +83,7 @@ $messages['norecipientwarning'] = 'Skriv inn minst én mottaker';
$messages['nosubjectwarning'] = 'Emnefeltet er tomt. Vil du skrive det inn nå?';
$messages['nobodywarning'] = 'Send denne meldingen uten tekst?';
$messages['notsentwarning'] = 'E-posten er ikke sendt. Er du sikker på at du vil avbryte skrivingen?';
+$messages['restoresavedcomposedata'] = 'Et tidligere usendt svar ble funnet.\n\nEmne: $subject\nLagret: $date\n\nVil du gjenopprette denne meldingen?';
$messages['noldapserver'] = 'Velg LDAP-tjener å søke i';
$messages['nosearchname'] = 'Venligst skriv inn kontaktens navn eller e-postadresse';
$messages['notuploadedwarning'] = 'Ikke alle vedlegg er ferdig opplastet. Vennligst vent eller avbryt opplastingen.';
@@ -97,11 +103,16 @@ $messages['converting'] = 'Fjerner formatering fra meldingen ...';
$messages['messageopenerror'] = 'Kunne ikke hente meldingen fra server';
$messages['fileuploaderror'] = 'Feil under opplastning.';
$messages['filesizeerror'] = 'Filen overstiger maksimum tillatt filstørrelse ($size)';
+$messages['copysuccess'] = 'Kopierte $nr kontakter.';
+$messages['movesuccess'] = 'Flyttet $nr kontakter.';
+$messages['copyerror'] = 'Kunne ikke kopiere noen kontakter.';
+$messages['moveerror'] = 'Kunne ikke flytte noen kontakter.';
$messages['sourceisreadonly'] = 'Denne adressekilden er skrivebeskyttet';
$messages['errorsavingcontact'] = 'Kunne ikke lagre kontaktadressen.';
$messages['movingmessage'] = 'Flytter e-post ...';
$messages['copyingmessage'] = 'Kopierer e-post...';
$messages['copyingcontact'] = 'Kopierer kontakt(er) …';
+$messages['movingcontact'] = 'Flytter kontakt(er)...';
$messages['deletingmessage'] = 'Sletter melding(er) …';
$messages['markingmessage'] = 'Markerer melding(er) ...';
$messages['addingmember'] = 'Legger til kontakt(er) i gruppa ...';
@@ -135,6 +146,7 @@ $messages['smtperror'] = 'SMTP-feil ($code): $msg';
$messages['emailformaterror'] = 'Ukorrekt e-postadresse: $email';
$messages['toomanyrecipients'] = 'For mange mottakere. Reduser antall mottakere til $max.';
$messages['maxgroupmembersreached'] = 'Antall gruppemedlemmer overskrider maksgrensen på $max';
+$messages['internalerror'] = 'En intern feil har oppstått, prøv igjen senere.';
$messages['contactdelerror'] = 'Kunne ikke slette kontakt(er)';
$messages['contactdeleted'] = 'Kontakt(er) slettet uten feil.';
$messages['contactrestoreerror'] = 'Kunne ikke gjenopprette kontakt(er).';
diff --git a/program/localization/ne_NP/messages.inc b/program/localization/ne_NP/messages.inc
index 7873f5715..e8dcd091a 100644
--- a/program/localization/ne_NP/messages.inc
+++ b/program/localization/ne_NP/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -21,7 +21,6 @@ $messages['sessionerror'] = 'सतà¥à¤° समापà¥à¤¤ वा अवैद
$messages['storageerror'] = 'सरà¥à¤µà¤° संग समà¥à¤ªà¤°à¥à¤• हà¥à¤¨ पाà¤à¤¨';
$messages['nomessagesfound'] = 'यो मेलबकà¥à¤¸ मा कà¥à¤¨à¥ˆ मेल छैन';
$messages['loggedout'] = 'सतà¥à¤° समापà¥à¤¤ । नमासà¥à¤•à¤¾à¤°!';
-$messages['mailboxempty'] = 'मेल बकà¥à¤¸ खाली छ';
$messages['loading'] = 'लोड भईरहेको छ...';
$messages['loadingdata'] = 'डाटा लोड भईरहेको छै...';
$messages['checkingmail'] = 'नया मेलको खोजी भईरहेको छ...';
diff --git a/program/localization/nl_BE/messages.inc b/program/localization/nl_BE/messages.inc
index a90e250d9..ac6c17b6e 100644
--- a/program/localization/nl_BE/messages.inc
+++ b/program/localization/nl_BE/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -30,7 +30,6 @@ $messages['invalidrequest'] = 'Ongeldige aanvraag! Er zijn geen gegevens opgesla
$messages['invalidhost'] = 'Ongeldige server.';
$messages['nomessagesfound'] = 'Er zijn geen berichten in deze map...';
$messages['loggedout'] = 'U bent nu afgemeld. Tot ziens!';
-$messages['mailboxempty'] = 'Mailbox is leeg...';
$messages['refreshing'] = 'Bezig met vernieuwen...';
$messages['loading'] = 'Bezig met ophalen gegevens...';
$messages['uploading'] = 'Bezig met uploaden...';
diff --git a/program/localization/nl_NL/labels.inc b/program/localization/nl_NL/labels.inc
index 58179eda5..e4f4794b6 100644
--- a/program/localization/nl_NL/labels.inc
+++ b/program/localization/nl_NL/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to van $count';
$labels['copy'] = 'Kopiëren';
$labels['move'] = 'Verplaats';
$labels['moveto'] = 'Verplaats naar...';
+$labels['copyto'] = 'Kopiëren naar...';
$labels['download'] = 'Download';
$labels['open'] = 'Openen';
$labels['showattachment'] = 'Toon';
diff --git a/program/localization/nl_NL/messages.inc b/program/localization/nl_NL/messages.inc
index bf8c41472..2595c2259 100644
--- a/program/localization/nl_NL/messages.inc
+++ b/program/localization/nl_NL/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = 'Ongeldige aanvraag! Er zijn geen gegevens opgesla
$messages['invalidhost'] = 'Ongeldige servernaam.';
$messages['nomessagesfound'] = 'Geen berichten gevonden in deze mailbox.';
$messages['loggedout'] = 'Succesvol uitgelogd. Tot ziens!';
-$messages['mailboxempty'] = 'Mailbox is leeg.';
+$messages['mailboxempty'] = 'Mailbox is leeg';
+$messages['nomessages'] = 'Geen berichten';
$messages['refreshing'] = 'Vernieuwen...';
$messages['loading'] = 'Laden...';
$messages['uploading'] = 'Bestand wordt geüpload...';
diff --git a/program/localization/nn_NO/messages.inc b/program/localization/nn_NO/messages.inc
index 5c8386c64..867c73887 100644
--- a/program/localization/nn_NO/messages.inc
+++ b/program/localization/nn_NO/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -30,7 +30,6 @@ $messages['invalidrequest'] = 'Eg forstår ingen ting! Ingen data lagra.';
$messages['invalidhost'] = 'Ugyldig tenarnamn.';
$messages['nomessagesfound'] = 'Ingen meldingar i denne postkassa.';
$messages['loggedout'] = 'Du har avslutta økta. Ha det bra!';
-$messages['mailboxempty'] = 'Postkassa er tom.';
$messages['refreshing'] = 'Oppdaterer …';
$messages['loading'] = 'Hentar …';
$messages['uploading'] = 'Lastar opp fil …';
diff --git a/program/localization/pl_PL/labels.inc b/program/localization/pl_PL/labels.inc
index 4c13fb7c6..741306b5c 100644
--- a/program/localization/pl_PL/labels.inc
+++ b/program/localization/pl_PL/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from - $to z $count';
$labels['copy'] = 'Kopiuj';
$labels['move'] = 'PrzenieÅ›';
$labels['moveto'] = 'PrzenieÅ› do...';
+$labels['copyto'] = 'Kopiuj do...';
$labels['download'] = 'Pobierz';
$labels['open'] = 'Otwórz';
$labels['showattachment'] = 'Pokaż';
@@ -197,6 +198,16 @@ $labels['spellcheck'] = 'Pisownia';
$labels['checkspelling'] = 'Sprawdź pisownię';
$labels['resumeediting'] = 'Zakończ sprawdzanie pisowni';
$labels['revertto'] = 'Powróć do';
+$labels['restore'] = 'Przywróć';
+$labels['restoremessage'] = 'Przyrócić wiadomość?';
+$labels['responses'] = 'Odpowiedzi';
+$labels['insertresponse'] = 'Wstaw odpowiedź';
+$labels['manageresponses'] = 'ZarzÄ…dzaj odpowiedziami';
+$labels['savenewresponse'] = 'Zapisz nową odpowiedź';
+$labels['editresponses'] = 'Edytuj odpowiedzi';
+$labels['editresponse'] = 'Edytuj odpowiedź';
+$labels['responsename'] = 'Nazwa';
+$labels['responsetext'] = 'Tekst odpowiedzi';
$labels['attach'] = 'Załącz';
$labels['attachments'] = 'Załączniki';
$labels['upload'] = 'Prześlij';
@@ -428,6 +439,9 @@ $labels['standardwindows'] = 'Traktuj okna wyskakujÄ…ce jako standardowe okna';
$labels['forwardmode'] = 'Przekazywanie wiadomości';
$labels['inline'] = 'w treści';
$labels['asattachment'] = 'jako załącznik';
+$labels['replyallmode'] = 'Domyśla akcja przycisku [Odpowiedz wszystkim]';
+$labels['replyalldefault'] = 'odpowiedz wszystkim';
+$labels['replyalllist'] = 'odpowiedz tylko do listy mailingowej (jeśli wykryto)';
$labels['folder'] = 'Folder';
$labels['folders'] = 'Foldery';
$labels['foldername'] = 'Nazwa folderu';
diff --git a/program/localization/pl_PL/messages.inc b/program/localization/pl_PL/messages.inc
index 0ad357b69..fd4583c83 100644
--- a/program/localization/pl_PL/messages.inc
+++ b/program/localization/pl_PL/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = 'Błędne żądanie! Nie zapisano danych.';
$messages['invalidhost'] = 'Błędna nazwa serwera.';
$messages['nomessagesfound'] = 'Brak wiadomości w skrzynce.';
$messages['loggedout'] = 'Użytkownik wylogował się poprawnie.';
-$messages['mailboxempty'] = 'Skrzynka jest pusta!';
+$messages['mailboxempty'] = 'Folder jest pusty';
+$messages['nomessages'] = 'Brak wiadomości';
$messages['refreshing'] = 'Odświeżanie...';
$messages['loading'] = 'Åadowanie...';
$messages['uploading'] = 'Zapisywanie pliku...';
@@ -44,6 +45,8 @@ $messages['messagesent'] = 'Wiadomość została wysłana.';
$messages['savingmessage'] = 'Zapisywanie wiadomości...';
$messages['messagesaved'] = 'Wiadomość została zapisana w folderze Kopie robocze.';
$messages['successfullysaved'] = 'Zapisano pomyślnie.';
+$messages['savingresponse'] = 'Zapisywanie tekstu odpowiedzi...';
+$messages['deleteresponseconfirm'] = 'Czy na pewno chcesz usunąć tą odpowiedź?';
$messages['addedsuccessfully'] = 'Kontakt został dodany.';
$messages['contactexists'] = 'Kontakt o podanym adresie e-mail już istnieje!';
$messages['contactnameexists'] = 'Kontakt z podaną nazwą już istnieje!';
@@ -80,6 +83,7 @@ $messages['norecipientwarning'] = 'Podaj co najmniej jednego odbiorcÄ™!';
$messages['nosubjectwarning'] = 'Nie podano tematu wiadomości. Czy chcesz go teraz uzupełnić?';
$messages['nobodywarning'] = 'Ta wiadomość jest pusta, czy mimo to chcesz ją wysłać?';
$messages['notsentwarning'] = 'Wiadomość nie została wysłana. Czy chcesz usunąć tę wiadomość?';
+$messages['restoresavedcomposedata'] = 'Wykryto poprzednio tworzoną ale nie wysłaną wiadomość.\n\nTemat: $subject\nZapisano: $date\n\nCzy przywrócić tą wiadomość?';
$messages['noldapserver'] = 'Wybierz serwer LDAP!';
$messages['nosearchname'] = 'Podaj nazwÄ™ kontaktu lub jego adres e-mail.';
$messages['notuploadedwarning'] = 'Nie wszystkie załączniki zostały pobrane. Poczekaj lub anuluj pobieranie.';
diff --git a/program/localization/ps/messages.inc b/program/localization/ps/messages.inc
index a900d328f..606e59c0f 100644
--- a/program/localization/ps/messages.inc
+++ b/program/localization/ps/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -21,7 +21,6 @@ $messages['sessionerror'] = 'Ø³ØªØ§Ø³Û Ù†Ø§Ø³ØªÙ‡ ناباوري يا له مي
$messages['storageerror'] = 'له ای ميپ سرور سره پيوستون په بري سره ترسره نه شو';
$messages['nomessagesfound'] = 'ليکبکس Ú©Û Ù‡ÛÚ… استوزي ونه مونده';
$messages['loggedout'] = 'ØªØ§Ø³Û Ù„Ù‡ Ù†Ø§Ø³ØªÛ Ú…Ø®Ù‡ په بشپړه توګه وويستل شوئ الله په امان';
-$messages['mailboxempty'] = 'ليکبکس تش دی';
$messages['loading'] = 'د کار په حال Ú©Û';
$messages['loadingdata'] = 'اومتوک د کار په حال Ú©Û';
$messages['checkingmail'] = 'نوي استوزي ګوري';
diff --git a/program/localization/pt_BR/labels.inc b/program/localization/pt_BR/labels.inc
index e1df5854a..e5aececc9 100644
--- a/program/localization/pt_BR/labels.inc
+++ b/program/localization/pt_BR/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from - $to de $count';
$labels['copy'] = 'Copiar';
$labels['move'] = 'Mover';
$labels['moveto'] = 'Mover para...';
+$labels['copyto'] = 'Copiar para...';
$labels['download'] = 'Baixar';
$labels['open'] = 'Abrir';
$labels['showattachment'] = 'Exibir';
diff --git a/program/localization/pt_BR/messages.inc b/program/localization/pt_BR/messages.inc
index 4546ceea9..0fcb27ff7 100644
--- a/program/localization/pt_BR/messages.inc
+++ b/program/localization/pt_BR/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -33,6 +33,7 @@ $messages['invalidhost'] = 'Endereço de servidor inválido.';
$messages['nomessagesfound'] = 'Nenhuma mensagem encontrada nessa caixa de mensagens';
$messages['loggedout'] = 'Sua sessão foi finalizada com sucesso. Até logo!';
$messages['mailboxempty'] = 'A caixa de mensagens está vazia';
+$messages['nomessages'] = 'Sem mensagens';
$messages['refreshing'] = 'Atualizando...';
$messages['loading'] = 'Carregando...';
$messages['uploading'] = 'Enviando arquivo...';
diff --git a/program/localization/pt_PT/labels.inc b/program/localization/pt_PT/labels.inc
index a4b419d21..457a308f2 100644
--- a/program/localization/pt_PT/labels.inc
+++ b/program/localization/pt_PT/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to de $count';
$labels['copy'] = 'Copiar';
$labels['move'] = 'Mover';
$labels['moveto'] = 'mover para...';
+$labels['copyto'] = 'Copiar para...';
$labels['download'] = 'descarregar';
$labels['open'] = 'Abrir';
$labels['showattachment'] = 'Mostrar';
diff --git a/program/localization/pt_PT/messages.inc b/program/localization/pt_PT/messages.inc
index f1206b589..a6618d33e 100644
--- a/program/localization/pt_PT/messages.inc
+++ b/program/localization/pt_PT/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -33,6 +33,7 @@ $messages['invalidhost'] = 'Nome do servidor inválido.';
$messages['nomessagesfound'] = 'Não existem mensagens nesta pasta.';
$messages['loggedout'] = 'A sua sessão foi encerrada com sucesso. Até breve!';
$messages['mailboxempty'] = 'A caixa de entrada está vazia';
+$messages['nomessages'] = 'Não existem mensagens';
$messages['refreshing'] = 'A actualizar...';
$messages['loading'] = 'A carregar...';
$messages['uploading'] = 'A enviar ficheiro...';
diff --git a/program/localization/ro_RO/labels.inc b/program/localization/ro_RO/labels.inc
index 953cfe8da..af85c358c 100644
--- a/program/localization/ro_RO/labels.inc
+++ b/program/localization/ro_RO/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from - $to din $count';
$labels['copy'] = 'Copiază';
$labels['move'] = 'Mută';
$labels['moveto'] = 'Mută in...';
+$labels['copyto'] = 'Copiază în...';
$labels['download'] = 'Descarcă';
$labels['open'] = 'Deschide';
$labels['showattachment'] = 'Arată';
@@ -197,6 +198,16 @@ $labels['spellcheck'] = 'Ortografie';
$labels['checkspelling'] = 'Verifică ortografie';
$labels['resumeediting'] = 'Reia editarea';
$labels['revertto'] = 'Revino la';
+$labels['restore'] = 'Restaurează';
+$labels['restoremessage'] = 'Restaurezi mesajul?';
+$labels['responses'] = 'Răspunsuri';
+$labels['insertresponse'] = 'Adaugă un răspuns';
+$labels['manageresponses'] = 'Administrează răspunsurile';
+$labels['savenewresponse'] = 'Salvează noul răspuns';
+$labels['editresponses'] = 'Modifică răspunsurile';
+$labels['editresponse'] = 'Modifică răspunsul';
+$labels['responsename'] = 'Nume';
+$labels['responsetext'] = 'Textul răspunsului';
$labels['attach'] = 'Ataşează';
$labels['attachments'] = 'AtaÅŸamente';
$labels['upload'] = 'Încarcă';
@@ -428,6 +439,9 @@ $labels['standardwindows'] = 'Trateaza popupsurile ca ferestre standard';
$labels['forwardmode'] = 'Trimitere mai departe mesaj';
$labels['inline'] = 'într-e linii';
$labels['asattachment'] = 'ca atașament';
+$labels['replyallmode'] = 'Acțiunea implicită pentru butonul [Răspunde la toți]';
+$labels['replyalldefault'] = 'răspunde la toți';
+$labels['replyalllist'] = 'răspunde listei (dacă este găsită)';
$labels['folder'] = 'Dosar';
$labels['folders'] = 'Dosare';
$labels['foldername'] = 'Nume dosar';
diff --git a/program/localization/ro_RO/messages.inc b/program/localization/ro_RO/messages.inc
index fb555ad47..d17364d95 100644
--- a/program/localization/ro_RO/messages.inc
+++ b/program/localization/ro_RO/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -33,6 +33,7 @@ $messages['invalidhost'] = 'Nume server invalid.';
$messages['nomessagesfound'] = 'Nu a fost găsit nici un mesaj în această căsuţă poştală';
$messages['loggedout'] = 'Sesiune încheiată cu succes. La revedere!';
$messages['mailboxempty'] = 'Căsuţa poştală este goală';
+$messages['nomessages'] = 'Nici un mesaj';
$messages['refreshing'] = 'Reîmprospătare...';
$messages['loading'] = 'Se încarcă...';
$messages['uploading'] = 'Fişierul se încarcă...';
@@ -82,6 +83,7 @@ $messages['norecipientwarning'] = 'Vă rugăm să introduceţi cel puţin un des
$messages['nosubjectwarning'] = 'Mesajul nu are subiect. Vreţi să introduceţi unul acum?';
$messages['nobodywarning'] = 'Trimiteţi acest mesaj fără text?';
$messages['notsentwarning'] = 'Mesajul nu a fost trimis. Vreţi să renunţaţi la el?';
+$messages['restoresavedcomposedata'] = 'Un mesaj compus anterior a fost găsit.\n\nSubiect:$subject\nSalvat: $date\n\nDoriţi restaurarea acestuia ?';
$messages['noldapserver'] = 'Vă rugăm să alegeţi un server ldap pentru căutare';
$messages['nosearchname'] = 'Vă rugăm să introduceţi un nume de contact sau adresă de e-mail';
$messages['notuploadedwarning'] = 'Nu toate fişierele au fost ataşate. Vă rugăm să aşteptaţi sau să anulaţi încărcarea acestora.';
diff --git a/program/localization/ru_RU/labels.inc b/program/localization/ru_RU/labels.inc
index aa83eb9df..6df06a56b 100644
--- a/program/localization/ru_RU/labels.inc
+++ b/program/localization/ru_RU/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to из $count';
$labels['copy'] = 'Копировать';
$labels['move'] = 'ПеремеÑтить';
$labels['moveto'] = 'ПеремеÑтить в...';
+$labels['copyto'] = 'Копировать в...';
$labels['download'] = 'Загрузить';
$labels['open'] = 'Открыть';
$labels['showattachment'] = 'Показать';
diff --git a/program/localization/ru_RU/messages.inc b/program/localization/ru_RU/messages.inc
index 6d679f699..8dfbe3df8 100644
--- a/program/localization/ru_RU/messages.inc
+++ b/program/localization/ru_RU/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,8 @@ $messages['invalidrequest'] = 'Ðеверный запроÑ! Информаци
$messages['invalidhost'] = 'Ðеверное Ð¸Ð¼Ñ Ñервера.';
$messages['nomessagesfound'] = 'Сообщений не найдено';
$messages['loggedout'] = 'Ваша ÑеÑÑÐ¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð°. Ð’Ñего доброго!';
-$messages['mailboxempty'] = 'Почтовый Ñщик пуÑÑ‚.';
+$messages['mailboxempty'] = 'Почтовый Ñщик пуÑÑ‚';
+$messages['nomessages'] = 'Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚ÑутÑтвуют';
$messages['refreshing'] = 'Обновление...';
$messages['loading'] = 'Загрузка...';
$messages['uploading'] = 'Файл загружаетÑÑ…';
diff --git a/program/localization/si_LK/messages.inc b/program/localization/si_LK/messages.inc
index 0c6fa1156..9a49e17f7 100644
--- a/program/localization/si_LK/messages.inc
+++ b/program/localization/si_LK/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -22,7 +22,6 @@ $messages['sessionerror'] = 'ඔබේ à·€à·à¶»à¶º අවලංගු à·„à· à¶
$messages['dberror'] = 'දත්ත ගබඩà·à·€à·š දà·à·‚ය!';
$messages['nomessagesfound'] = 'ලියුම් පෙට්ටියේ පනිවුඩ නà·à¶­';
$messages['loggedout'] = 'ඔබගේ à·€à·à¶»à¶º à·ƒà·à¶»à·Šà¶®à¶šà·€ අවසන් විය. අයුබොවන්!';
-$messages['mailboxempty'] = 'ලියුම් පෙට්ටිය හිස්';
$messages['loading'] = 'පූරනය...';
$messages['loadingdata'] = 'දත්ත පූරනය...';
$messages['checkingmail'] = 'අලුත් පණිවිඩ පරීක්ෂ෠කරමින්...';
diff --git a/program/localization/sk_SK/csv2vcard.inc b/program/localization/sk_SK/csv2vcard.inc
index 724ed7438..c53273af5 100644
--- a/program/localization/sk_SK/csv2vcard.inc
+++ b/program/localization/sk_SK/csv2vcard.inc
@@ -15,14 +15,7 @@
| Author: Marek MeÄiar <mmmeciar@gmail.com> |
+-----------------------------------------------------------------------+
*/
-
-// This is a list of CSV column names specified in CSV file header
-// These must be original texts used in Outlook/Thunderbird exported csv files
-// Encoding UTF-8
-
$map = array();
-
-// MS Outlook 2010
$map['anniversary'] = "VýroÄie";
$map['assistants_name'] = "Meno asistenta";
$map['assistants_phone'] = "Telefón asistenta";
@@ -69,8 +62,6 @@ $map['spouse'] = "Manžel(ka)";
$map['suffix'] = "Prípona";
$map['title'] = "Titul";
$map['web_page'] = "Webová stránka";
-
-// Thunderbird
$map['birth_day'] = "Deň narodenia";
$map['birth_month'] = "Mesiac narodenia";
$map['birth_year'] = "Rok narodenia";
diff --git a/program/localization/sk_SK/labels.inc b/program/localization/sk_SK/labels.inc
index dee79f1bf..630869bea 100644
--- a/program/localization/sk_SK/labels.inc
+++ b/program/localization/sk_SK/labels.inc
@@ -29,7 +29,7 @@ $labels['drafts'] = 'Koncepty';
$labels['sent'] = 'Odoslané';
$labels['trash'] = 'Kôš';
$labels['junk'] = 'Nevyžiadaná pošta';
-$labels['show_real_foldernames'] = 'Pri osobitných prieÄinkoch zobrazovaÅ¥ reálne názvy';
+$labels['show_real_foldernames'] = 'Pri osobitných prieÄinkoch zobrazovaÅ¥ skutoÄné názvy';
$labels['subject'] = 'Predmet';
$labels['from'] = 'Od';
$labels['sender'] = 'Odosielateľ';
@@ -45,13 +45,14 @@ $labels['organization'] = 'Organizácia';
$labels['readstatus'] = 'PreÄítaÅ¥ stav';
$labels['listoptions'] = 'Nastavenia zoznamu...';
$labels['mailboxlist'] = 'PrieÄinky';
-$labels['messagesfromto'] = 'Správy od $from, komu $to, z $count';
-$labels['threadsfromto'] = 'Konverzácie od $from, komu $to, z $count';
+$labels['messagesfromto'] = 'Správy: $from – $to, z $count';
+$labels['threadsfromto'] = 'Konverzácie: $from – $to, z $count';
$labels['messagenrof'] = 'Správa Ä. $nr z $count';
$labels['fromtoshort'] = '$from – $to z $count';
$labels['copy'] = 'Kopírovať';
$labels['move'] = 'Presunúť';
$labels['moveto'] = 'Presunúť do...';
+$labels['copyto'] = 'Kopírovať do...';
$labels['download'] = 'Stiahnuť';
$labels['open'] = 'Otvoriť';
$labels['showattachment'] = 'Zobraziť';
@@ -103,12 +104,12 @@ $labels['checkmail'] = 'Skontrolovať nové správy';
$labels['compose'] = 'Vytvoriť správu';
$labels['writenewmessage'] = 'Vytvoriť novú správu';
$labels['reply'] = 'Odpovedať';
-$labels['replytomessage'] = 'Odpovedať odosielateľovi';
+$labels['replytomessage'] = 'Odpovedať na správu';
$labels['replytoallmessage'] = 'Odpovedať do zoznamu alebo odosielateľovi a všetkým príjemcom';
$labels['replyall'] = 'Odpovedať všetkým';
$labels['replylist'] = 'Zoznam pre odpovedanie';
-$labels['forward'] = 'Dopredu';
-$labels['forwardinline'] = 'PoslaÅ¥ Äalej';
+$labels['forward'] = 'PoslaÅ¥ Äalej';
+$labels['forwardinline'] = 'PoslaÅ¥ Äalej v správe';
$labels['forwardattachment'] = 'PoslaÅ¥ Äalej ako prílohu';
$labels['forwardmessage'] = 'PoslaÅ¥ správu Äalej';
$labels['deletemessage'] = 'Vymazať správu';
@@ -118,24 +119,24 @@ $labels['previousmessage'] = 'Zobraziť predchádzajúcu správu';
$labels['firstmessage'] = 'Zobraziť prvú správu';
$labels['nextmessage'] = 'ZobraziÅ¥ ÄalÅ¡iu správu';
$labels['lastmessage'] = 'Zobraziť poslednú správu';
-$labels['backtolist'] = 'Späť na zoznam správ';
-$labels['viewsource'] = 'Zobraziť zdroj';
+$labels['backtolist'] = 'Naspäť na zoznam správ';
+$labels['viewsource'] = 'Zobraziť zdrojový text';
$labels['mark'] = 'OznaÄiÅ¥';
$labels['markmessages'] = 'OznaÄiÅ¥ správy';
$labels['markread'] = 'Ako preÄítané';
$labels['markunread'] = 'Ako nepreÄítané';
-$labels['markflagged'] = 'Ako oznaÄené príznakom';
-$labels['markunflagged'] = 'Ako neoznaÄené príznakom';
+$labels['markflagged'] = 'Ako oznaÄené znaÄkou';
+$labels['markunflagged'] = 'Ako neoznaÄené znaÄkou';
$labels['moreactions'] = 'Viac akcií...';
$labels['more'] = 'Viac';
$labels['back'] = 'Dozadu';
$labels['options'] = 'Možnosti';
$labels['select'] = 'Výber';
-$labels['all'] = 'VÅ¡etky';
+$labels['all'] = 'VÅ¡etko';
$labels['none'] = 'NiÄ';
$labels['currpage'] = 'Aktuálna stránka';
$labels['unread'] = 'NepreÄítané';
-$labels['flagged'] = 'OznaÄené príznakom';
+$labels['flagged'] = 'OznaÄené znaÄkou';
$labels['unanswered'] = 'Bez odpovede';
$labels['withattachment'] = 'S prílohou';
$labels['deleted'] = 'Vymazané';
@@ -148,51 +149,51 @@ $labels['expand-all'] = 'Rozbaliť všetko';
$labels['expand-unread'] = 'RozbaliÅ¥ nepreÄítané';
$labels['collapse-all'] = 'Zbaliť všetko';
$labels['threaded'] = 'Spojené do konverzácií';
-$labels['autoexpand_threads'] = 'Rozbaliť konverzácie správy';
-$labels['do_expand'] = 'všetky konverzácie';
+$labels['autoexpand_threads'] = 'Rozbaliť konverzácie';
+$labels['do_expand'] = 'všetky';
$labels['expand_only_unread'] = 'len s nepreÄítanými správami';
$labels['fromto'] = 'Od/Komu';
-$labels['flag'] = 'Príznak';
+$labels['flag'] = 'ZnaÄka';
$labels['attachment'] = 'Príloha';
-$labels['nonesort'] = 'NiÄ';
+$labels['nonesort'] = 'Žiadne';
$labels['sentdate'] = 'Dátum odoslania';
$labels['arrival'] = 'Dátum prijatia';
$labels['asc'] = 'vzostupne';
$labels['desc'] = 'zostupne';
-$labels['listcolumns'] = 'Stĺpce v zozname';
-$labels['listsorting'] = 'ZoraÄovanie v stĺpci';
+$labels['listcolumns'] = 'Stĺpce';
+$labels['listsorting'] = 'ZoraÄovanie';
$labels['listorder'] = 'Systém zoraÄovania';
$labels['listmode'] = 'Režim zobrazenia zoznamu';
$labels['folderactions'] = 'Akcie pre prieÄinky...';
$labels['compact'] = 'Zhustiť';
$labels['empty'] = 'Vyprázdniť';
$labels['importmessages'] = 'Importovať správy';
-$labels['quota'] = 'Zaplnenie disku';
+$labels['quota'] = 'Úložné miesto';
$labels['unknown'] = 'neznáme';
$labels['unlimited'] = 'neobmedzené';
$labels['quicksearch'] = 'Rýchle vyhľadávanie';
-$labels['resetsearch'] = 'VyÄistiÅ¥ vyhľadávanie';
-$labels['searchmod'] = 'Modifikátory pri hľadaní';
+$labels['resetsearch'] = 'Reset vyhľadávania';
+$labels['searchmod'] = 'Zmeniť kritériá vyhľadávania';
$labels['msgtext'] = 'Celá správa';
-$labels['body'] = 'Telo';
+$labels['body'] = 'Telo (obsah)';
$labels['type'] = 'Typ';
$labels['namex'] = 'Meno';
$labels['openinextwin'] = 'Otvoriť v novom okne';
$labels['emlsave'] = 'Stiahnuť (.eml)';
$labels['changeformattext'] = 'ZobraziÅ¥ vo formáte Äistého textu';
$labels['changeformathtml'] = 'Zobraziť vo formáte HTML';
-$labels['editasnew'] = 'Upraviť ako novú';
+$labels['editasnew'] = 'Upraviť ako novú správu';
$labels['send'] = 'Odoslať';
$labels['sendmessage'] = 'Odoslať správu';
-$labels['savemessage'] = 'Uložiť ako koncept';
-$labels['addattachment'] = 'Pripojiť súbor';
+$labels['savemessage'] = 'Uložiť správu ako koncept';
+$labels['addattachment'] = 'Priložiť súbor';
$labels['charset'] = 'Znaková sada';
$labels['editortype'] = 'Typ editora';
$labels['returnreceipt'] = 'Potvrdenie o doruÄení';
$labels['dsn'] = 'Oznámenie o stave doruÄenia';
$labels['mailreplyintro'] = 'Dňa $date $sender napísal(a):';
$labels['originalmessage'] = 'Pôvodná správa';
-$labels['editidents'] = 'Upraviť identity';
+$labels['editidents'] = 'Upraviť identitu odosielateľa';
$labels['spellcheck'] = 'Pravopis';
$labels['checkspelling'] = 'Skontrolovať pravopis';
$labels['resumeediting'] = 'PokraÄovaÅ¥ v úpravách';
@@ -221,10 +222,10 @@ $labels['highest'] = 'Najvyššia';
$labels['nosubject'] = '(bez predmetu)';
$labels['showimages'] = 'Zobraziť obrázky';
$labels['alwaysshow'] = 'Vždy zobraziť obrázky od odosielateľa $sender';
-$labels['isdraft'] = 'Toto je koncept.';
-$labels['andnmore'] = '$nr viac...';
-$labels['togglemoreheaders'] = 'Zobraziť viac záhlaví správ';
-$labels['togglefullheaders'] = 'Prepnúť zobrazenie nespracovaných záhlaví správ';
+$labels['isdraft'] = 'Toto je koncept';
+$labels['andnmore'] = 'PoÄet Äalších: $nr...';
+$labels['togglemoreheaders'] = 'ZobraziÅ¥ viac hlaviÄiek správ';
+$labels['togglefullheaders'] = 'Prepnúť zobrazenie úplných hlaviÄiek správ';
$labels['htmltoggle'] = 'HTML';
$labels['plaintoggle'] = 'Čistý text';
$labels['savesentmessagein'] = 'Uložiť odoslanú správu do';
@@ -233,20 +234,20 @@ $labels['maxuploadsize'] = 'Maximálna povolená veľkosť súboru je $size';
$labels['addcc'] = 'Pridať kópiu';
$labels['addbcc'] = 'Pridať skrytú kopiu';
$labels['addreplyto'] = 'Pridať pole Odpovedať na';
-$labels['addfollowupto'] = 'Pridať pole preposlať na';
+$labels['addfollowupto'] = 'Pridať pole Preposlať na';
$labels['mdnrequest'] = 'Odosielateľ tejto správy chce byÅ¥ informovaný o tom, že ste túto správu Äítali. Chcete mu potvrdiÅ¥ prijatie správy?';
-$labels['receiptread'] = 'Potvrdenie o prijatí (a preÄítaní) správy';
-$labels['yourmessage'] = 'Toto je potvrdenie o prijatí vašej správy';
-$labels['receiptnote'] = 'Poznámka: Toto potvrdenie znamená len to, že správa sa zobrazila na poÄítaÄi príjemcu. Nie je vÅ¡ak zaruÄené, že klient správu Äítal a porozumel jej obsahu.';
-$labels['name'] = 'Zobraziť meno';
+$labels['receiptread'] = 'Potvrdenie o doruÄení (a preÄítaní) správy';
+$labels['yourmessage'] = 'Toto je potvrdenie o doruÄení vaÅ¡ej správy';
+$labels['receiptnote'] = 'Poznámka: Toto potvrdenie znamená len to, že správa sa zobrazila na poÄítaÄi príjemcu. Nie je vÅ¡ak zaruÄené, že príjemca správu Äítal a porozumel jej obsahu.';
+$labels['name'] = 'Zobrazované meno';
$labels['firstname'] = 'Meno';
$labels['surname'] = 'Priezvisko';
$labels['middlename'] = 'Stredná ÄasÅ¥ mena';
$labels['nameprefix'] = 'Titul';
-$labels['namesuffix'] = 'Prípona';
+$labels['namesuffix'] = 'Dodatok za menom';
$labels['nickname'] = 'Prezývka';
-$labels['jobtitle'] = 'Názov pozície';
-$labels['department'] = 'Oddelenie';
+$labels['jobtitle'] = 'OznaÄenie povolania';
+$labels['department'] = 'Oddelenie/firma/zastúpenie';
$labels['gender'] = 'Pohlavie';
$labels['maidenname'] = 'Rodné priezvisko';
$labels['email'] = 'E-mail';
@@ -254,8 +255,8 @@ $labels['phone'] = 'Telefón';
$labels['address'] = 'Adresa';
$labels['street'] = 'Ulica';
$labels['locality'] = 'Mesto';
-$labels['zipcode'] = 'Smerovacie Äíslo';
-$labels['region'] = 'Štát/Provincia/Kraj';
+$labels['zipcode'] = 'PSČ';
+$labels['region'] = 'Región';
$labels['country'] = 'Krajina';
$labels['birthday'] = 'Narodeniny';
$labels['anniversary'] = 'VýroÄie';
@@ -266,7 +267,7 @@ $labels['male'] = 'muž';
$labels['female'] = 'žena';
$labels['manager'] = 'Manažér';
$labels['assistant'] = 'Asistent';
-$labels['spouse'] = 'Partner';
+$labels['spouse'] = 'Partner/ka';
$labels['allfields'] = 'VÅ¡etky polia';
$labels['search'] = 'Hľadať';
$labels['advsearch'] = 'Rozšírené vyhľadávanie';
@@ -276,7 +277,7 @@ $labels['typehome'] = 'Domov';
$labels['typework'] = 'Práca';
$labels['typeother'] = 'Iné';
$labels['typemobile'] = 'Mobilný telefón';
-$labels['typemain'] = 'Hlavný';
+$labels['typemain'] = 'Hlavné Äíslo';
$labels['typehomefax'] = 'Fax - domov';
$labels['typeworkfax'] = 'Fax - práca';
$labels['typecar'] = 'Auto';
@@ -291,21 +292,21 @@ $labels['addcontact'] = 'Pridať nový kontakt';
$labels['editcontact'] = 'Upraviť kontakt';
$labels['contacts'] = 'Kontakty';
$labels['contactproperties'] = 'Vlastnosti kontaktu';
-$labels['personalinfo'] = 'Osobná informácia';
+$labels['personalinfo'] = 'Osobné informácie';
$labels['edit'] = 'Upraviť';
$labels['cancel'] = 'Zrušiť';
$labels['save'] = 'Uložiť';
$labels['delete'] = 'Vymazať';
$labels['rename'] = 'Premenovať';
-$labels['addphoto'] = 'Pridať';
-$labels['replacephoto'] = 'Nahradiť';
+$labels['addphoto'] = 'Pridať fotografiu';
+$labels['replacephoto'] = 'Nahradiť fotografiu';
$labels['uploadphoto'] = 'Nahrať fotografiu';
-$labels['newcontact'] = 'Vytvoriť novú vizitku kontaktu';
+$labels['newcontact'] = 'Vytvoriť nový kontakt';
$labels['deletecontact'] = 'Vymazať vybrané kontakty';
$labels['composeto'] = 'Vytvoriť správu pre';
-$labels['contactsfromto'] = 'Kontakty od $from do $to z $count';
+$labels['contactsfromto'] = 'Kontakty: $from – $to, z $count';
$labels['print'] = 'TlaÄ';
-$labels['export'] = 'Export';
+$labels['export'] = 'Exportovať';
$labels['exportall'] = 'Exportovať všetko';
$labels['exportsel'] = 'Exportovať vybrané';
$labels['exportvcards'] = 'Exportovať kontakty vo formáte vCard';
@@ -321,15 +322,15 @@ $labels['group'] = 'Skupina';
$labels['groups'] = 'Skupiny';
$labels['listgroup'] = 'Zoznam Älenov skupiny';
$labels['personaladrbook'] = 'Osobné adresy';
-$labels['searchsave'] = 'Uložiť vyhľadávanie';
-$labels['searchdelete'] = 'Vymazať vyhľadávanie';
+$labels['searchsave'] = 'Uložiť výsledky vyhľadávania';
+$labels['searchdelete'] = 'Vymazať výsledky vyhľadávania';
$labels['import'] = 'Import';
$labels['importcontacts'] = 'Importovať kontakty';
$labels['importfromfile'] = 'Importovať zo súboru:';
$labels['importtarget'] = 'Pridať kontakty do';
$labels['importreplace'] = 'Nahradiť celý adresár kontaktov';
$labels['importgroups'] = 'Importovať priradenia do skupín';
-$labels['importgroupsall'] = 'Všetky (vytvoriť skupiny, ak je to potrebné)';
+$labels['importgroupsall'] = 'Všetky (vytvoriť skupiny ak je to potrebné)';
$labels['importgroupsexisting'] = 'Len pre existujúce skupiny';
$labels['importdesc'] = 'Môžete vložiÅ¥ kontakty zo svojho existujúceho adresára.<br/>Momentálne je možné importovanie adries z formátu <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> alebo CSV (údaje oddeľované Äiarkou).';
$labels['done'] = 'Hotovo';
@@ -350,43 +351,43 @@ $labels['messagepart'] = 'Časť';
$labels['digitalsig'] = 'Digitálny podpis';
$labels['dateformat'] = 'Formát dátumu';
$labels['timeformat'] = 'Formát Äasu';
-$labels['prettydate'] = 'Pekné formáty dátumov';
-$labels['setdefault'] = 'Nastaviť pôvodné';
+$labels['prettydate'] = 'Krátke formáty dátumov';
+$labels['setdefault'] = 'Nastaviť ako štandardné';
$labels['autodetect'] = 'Automaticky';
$labels['language'] = 'Jazyk';
$labels['timezone'] = 'Časová zóna';
-$labels['pagesize'] = 'Riadky na stránku';
+$labels['pagesize'] = 'PoÄet záznamov na stránku';
$labels['signature'] = 'Podpis';
$labels['dstactive'] = 'Letný Äas';
$labels['showinextwin'] = 'Otvoriť správu v novom okne';
$labels['composeextwin'] = 'Písať v novom okne';
-$labels['htmleditor'] = 'Vytvoriť HTML správy';
+$labels['htmleditor'] = 'Vytvárať HTML správy';
$labels['htmlonreply'] = 'len v odpovedi na HTML správu';
-$labels['htmlonreplyandforward'] = 'pri preposielaní alebo odpovedi na HTML správu';
+$labels['htmlonreplyandforward'] = 'pri odosielaní Äalej alebo pri odpovedi na HTML správu';
$labels['htmlsignature'] = 'HTML podpis';
-$labels['showemail'] = 'Zobrazovať e-mailovú adresu so zobrazeným menom';
-$labels['previewpane'] = 'Zobraziť panel s náhľadom';
+$labels['showemail'] = 'Zobrazovať e-mailovú adresu so zobrazovaným menom';
+$labels['previewpane'] = 'Zobraziť panel s náhľadom na správu';
$labels['skin'] = 'Vzhľad rozhrania';
$labels['logoutclear'] = 'Vyprázdniť kôš pri odhlásení';
$labels['logoutcompact'] = 'ZhustiÅ¥ prieÄinok DoruÄená poÅ¡ta pri odhlásení';
$labels['uisettings'] = 'Používateľské rozhranie';
$labels['serversettings'] = 'Nastavenia servera';
$labels['mailboxview'] = 'Zobrazenie schránky';
-$labels['mdnrequests'] = 'Pri požiadaní o potvrdenie o doruÄení';
+$labels['mdnrequests'] = 'Pri žiadosti o potvrdenie o doruÄení';
$labels['askuser'] = 'opýtať sa používateľa';
$labels['autosend'] = 'odoslať potvrdenie';
-$labels['autosendknown'] = 'odoslať potvrdenie iba mojím kontaktom, inokedy sa opýtať';
-$labels['autosendknownignore'] = 'odoslať potvrdenie mojím kontaktom, inokedy ignorovať';
+$labels['autosendknown'] = 'odoslať potvrdenie iba mojim kontaktom';
+$labels['autosendknownignore'] = 'odoslať potvrdenie známym odosielateľom, inak ignorovať';
$labels['ignore'] = 'ignorovať';
$labels['readwhendeleted'] = 'OznaÄiÅ¥ správu ako preÄítanú pri jej vymazávaní';
-$labels['flagfordeletion'] = 'Namiesto vymazania správy ju iba oznaÄiÅ¥ ako odstránenú';
+$labels['flagfordeletion'] = 'Namiesto vymazania správy ju iba oznaÄiÅ¥ ako vymazanú';
$labels['skipdeleted'] = 'Nezobrazovať vymazané správy';
-$labels['deletealways'] = 'Odstrániť správy, ak zlyhá ich presun do koša';
-$labels['deletejunk'] = 'HneÄ vymazávaÅ¥ správy v prieÄinku s Nevyžiadanou poÅ¡tou';
+$labels['deletealways'] = 'Vymazať správy, ak zlyhá ich presun do koša';
+$labels['deletejunk'] = 'HneÄ vymazávaÅ¥ správy v prieÄinku Nevyžiadaná poÅ¡ta (spam)';
$labels['showremoteimages'] = 'Zobrazovať obrázky uložené mimo správy';
-$labels['fromknownsenders'] = 'od známych odosielateľov';
+$labels['fromknownsenders'] = 'pri známych odosielateľoch';
$labels['always'] = 'vždy';
-$labels['showinlineimages'] = 'Zobrazovať pripojené obrázky pod správou';
+$labels['showinlineimages'] = 'Zobrazovať priložené obrázky pod správou';
$labels['autosavedraft'] = 'Automaticky uložiť koncept';
$labels['everynminutes'] = 'každých $n minút';
$labels['refreshinterval'] = 'ObnoviÅ¥ (skontrolovaÅ¥ nové správy atÄ.)';
@@ -395,47 +396,47 @@ $labels['immediately'] = 'ihneÄ';
$labels['messagesdisplaying'] = 'Zobrazovanie správ';
$labels['messagescomposition'] = 'Vytváranie správ';
$labels['mimeparamfolding'] = 'Názvy príloh';
-$labels['2231folding'] = 'Full RFC 2231 (Thunderbird)';
+$labels['2231folding'] = 'Úplné RFC 2231 (Thunderbird)';
$labels['miscfolding'] = 'RFC 2047/2231 (MS Outlook)';
-$labels['2047folding'] = 'Full RFC 2047 (iné)';
+$labels['2047folding'] = 'Úplné RFC 2047 (iné)';
$labels['force7bit'] = 'Použiť kódovanie MIME pre 8-bitové znaky';
$labels['advancedoptions'] = 'Rozšírené nastavenia';
$labels['focusonnewmessage'] = 'AktivovaÅ¥ okno prehliadaÄa pri novej správe';
$labels['checkallfolders'] = 'KontrolovaÅ¥ nové správy vo vÅ¡etkých prieÄinkoch';
-$labels['displaynext'] = 'ZobraziÅ¥ ÄalÅ¡iu správu po vymazaní/prenose správy';
-$labels['defaultfont'] = 'Prednastavené písmo pre HTML správu';
+$labels['displaynext'] = 'ZobraziÅ¥ ÄalÅ¡iu správu po vymazaní/presunutí správy';
+$labels['defaultfont'] = 'Predvolené písmo pre HTML správu';
$labels['mainoptions'] = 'Hlavné nastavenia';
$labels['browseroptions'] = 'Nastavenia prehliadania';
$labels['section'] = 'Sekcia';
$labels['maintenance'] = 'Údržba';
$labels['newmessage'] = 'Nová správa';
$labels['signatureoptions'] = 'Nastavenia podpísania';
-$labels['whenreplying'] = 'Pri odpovedaní';
+$labels['whenreplying'] = 'Pri odpovedi';
$labels['replyempty'] = 'necitovať pôvodnú správu';
-$labels['replytopposting'] = 'zaÄaÅ¥ novú správu nad citovanou správou';
-$labels['replybottomposting'] = 'zaÄaÅ¥ novú správu pod citovanou správou';
+$labels['replytopposting'] = 'zaÄaÅ¥ odpoveÄ nad citovanou správou';
+$labels['replybottomposting'] = 'zaÄaÅ¥ odpoveÄ pod citovanou správou';
$labels['replyremovesignature'] = 'Pri odpovedaní odstrániť zo správy pôvodný podpis';
$labels['autoaddsignature'] = 'Automaticky pridať podpis';
$labels['newmessageonly'] = 'iba k novým správam';
-$labels['replyandforwardonly'] = 'len k odpovediam a preposielaným správam';
+$labels['replyandforwardonly'] = 'iba k odpovediam a preposielaným správam';
$labels['insertsignature'] = 'Vložiť podpis';
-$labels['previewpanemarkread'] = 'OznaÄiÅ¥ zobrazenú správu ako preÄítanú';
+$labels['previewpanemarkread'] = 'OznaÄiÅ¥ správu v náhľade ako preÄítanú';
$labels['afternseconds'] = 'po $n sekundách';
-$labels['reqmdn'] = 'Vždy požadovaÅ¥ potvrdenie o doruÄení';
-$labels['reqdsn'] = 'Vždy vyžadovaÅ¥ potvrdenie o doruÄení správy';
-$labels['replysamefolder'] = 'UmiestňovaÅ¥ odpovede do rovnakého prieÄinka ako správu, na ktorú sa odpovedalo';
+$labels['reqmdn'] = 'Vždy vyžadovaÅ¥ potvrdenie o doruÄení';
+$labels['reqdsn'] = 'Vždy vyžadovaÅ¥ oznámenie o stave doruÄenia';
+$labels['replysamefolder'] = 'UmiestňovaÅ¥ odpovede do rovnakého prieÄinka ako pôvodnú správu';
$labels['defaultabook'] = 'Predvolený adresár kontaktov';
-$labels['autocompletesingle'] = 'Vynechať alternatívne emailové adresy pri automatickom dopĺňaní';
+$labels['autocompletesingle'] = 'Vynechať alternatívne e-mailové adresy pri automatickom dopĺňaní';
$labels['listnamedisplay'] = 'Zobraziť kontakty ako';
$labels['spellcheckbeforesend'] = 'Skontrolovať pravopis pred odoslaním správy';
$labels['spellcheckoptions'] = 'Nastavenia kontroly pravopisu';
$labels['spellcheckignoresyms'] = 'Ignorovať slová so symbolmi';
$labels['spellcheckignorenums'] = 'IgnorovaÅ¥ slová s Äíslami';
-$labels['spellcheckignorecaps'] = 'Ignorovať slová písané veľkými písmenami';
+$labels['spellcheckignorecaps'] = 'Ignorovať slová písané iba veľkými písmenami';
$labels['addtodict'] = 'Pridať do slovníka';
-$labels['mailtoprotohandler'] = 'Zaregistrovať handler pre odkazy typu „mailto:“';
+$labels['mailtoprotohandler'] = 'Zaregistrovať priradenie pre odkazy typu „mailto:“';
$labels['standardwindows'] = 'S vyskakovacími oknami pracovať ako so štandardnými oknami';
-$labels['forwardmode'] = 'Preposielanie správ';
+$labels['forwardmode'] = 'Odosielanie správ Äalej';
$labels['inline'] = 'vo vnútri správy';
$labels['asattachment'] = 'ako príloha';
$labels['replyallmode'] = 'Predvolená akcia pre tlaÄidlo [OdpovedaÅ¥ vÅ¡etkým]';
@@ -444,7 +445,7 @@ $labels['replyalllist'] = 'odpovedať len do mailing-listu (ak bol nájdený)';
$labels['folder'] = 'PrieÄinok';
$labels['folders'] = 'PrieÄinky';
$labels['foldername'] = 'Názov prieÄinka';
-$labels['subscribed'] = 'Prihlásený k odberu';
+$labels['subscribed'] = 'Odber aktívny';
$labels['messagecount'] = 'Správy';
$labels['create'] = 'Vytvoriť';
$labels['createfolder'] = 'VytvoriÅ¥ nový prieÄinok';
@@ -455,8 +456,8 @@ $labels['folderproperties'] = 'Vlastnosti prieÄinka';
$labels['parentfolder'] = 'RodiÄovský prieÄinok';
$labels['location'] = 'Umiestnenie';
$labels['info'] = 'Informácia';
-$labels['getfoldersize'] = 'Kliknúť pre zistenie veľkosti prieÄinka';
-$labels['changesubscription'] = 'Kliknúť pre zmenu prihlásení';
+$labels['getfoldersize'] = 'Na zistenie veľkosti prieÄinka kliknite sem';
+$labels['changesubscription'] = 'Na zmenu odberu kliknite sem';
$labels['foldertype'] = 'Typ prieÄinka';
$labels['personalfolder'] = 'Súkromný prieÄinok';
$labels['otherfolder'] = 'Iné prieÄinky používateľa';
@@ -465,12 +466,12 @@ $labels['sortby'] = 'Zoradiť podľa';
$labels['sortasc'] = 'Zoradiť vzostupne';
$labels['sortdesc'] = 'Zoradiť zostupne';
$labels['undo'] = 'Späť';
-$labels['installedplugins'] = 'Nainštalované zásuvné moduly';
+$labels['installedplugins'] = 'Nainštalované prídavné moduly';
$labels['plugin'] = 'Zásuvný modul';
$labels['version'] = 'Verzia';
-$labels['source'] = 'Zdroj';
+$labels['source'] = 'Zdrojový kód';
$labels['license'] = 'Licencia';
-$labels['support'] = 'Získať podporu';
+$labels['support'] = 'Podpora';
$labels['B'] = 'B';
$labels['KB'] = 'KB';
$labels['MB'] = 'MB';
@@ -489,7 +490,7 @@ $labels['turkish'] = 'Turecky';
$labels['nordic'] = 'Nórsky';
$labels['thai'] = 'Thajsky';
$labels['celtic'] = 'Keltština';
-$labels['vietnamese'] = 'Vietnamsky';
+$labels['vietnamese'] = 'VietnamÄina';
$labels['japanese'] = 'Japonsky';
$labels['korean'] = 'Kórejsky';
$labels['chinese'] = 'Čínsky';
diff --git a/program/localization/sk_SK/messages.inc b/program/localization/sk_SK/messages.inc
index ece954d48..d5cf323db 100644
--- a/program/localization/sk_SK/messages.inc
+++ b/program/localization/sk_SK/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -24,15 +24,16 @@ $messages['servererror'] = 'Chyba servera!';
$messages['servererrormsg'] = 'Chyba servera: $msg';
$messages['dberror'] = 'Chyba databázy!';
$messages['requesttimedout'] = 'Čas na vykonanie požiadavky uplynul';
-$messages['errorreadonly'] = 'Nemožno vykonaÅ¥ operáciu. PrieÄinok je urÄený len na Äítanie.';
-$messages['errornoperm'] = 'Nemožno vykonať operáciu. Prístup bol odmietnutý.';
-$messages['erroroverquota'] = 'Nemožno vykonať operáciu. Na disku nie je dostatok voľného miesta.';
-$messages['erroroverquotadelete'] = 'Na disku nie je dostatok voľného miesta. Vymažte nejakú správu pomocou klávesov SHIFT+DEL.';
+$messages['errorreadonly'] = 'Akciu nemožno vykonaÅ¥. PrieÄinok je urÄený len na Äítanie.';
+$messages['errornoperm'] = 'Akciu nemožno vykonať. Prístup bol odmietnutý.';
+$messages['erroroverquota'] = 'Akciu nemožno vykonať. Nie je dostatok voľného miesta.';
+$messages['erroroverquotadelete'] = 'Nie je dostatok voľného miesta. Vymažte nejakú správu pomocou klávesov SHIFT+DEL.';
$messages['invalidrequest'] = 'Neplatná požiadavka! Neuložili sa žiadne údaje.';
$messages['invalidhost'] = 'Neplatný názov servera.';
-$messages['nomessagesfound'] = 'Vo tejto schránke nie je žiadna správa.';
-$messages['loggedout'] = 'Odhlásenie prebehlo úspešne. Dovidenia!';
-$messages['mailboxempty'] = 'Schránka je prázdna.';
+$messages['nomessagesfound'] = 'V tomto prieÄinku nie je žiadna správa.';
+$messages['loggedout'] = 'Odhlásenie prebehlo úspešne. Dovidenia.';
+$messages['mailboxempty'] = 'Schránka je prázdna';
+$messages['nomessages'] = 'Žiadne správy';
$messages['refreshing'] = 'Obnovuje sa...';
$messages['loading'] = 'NaÄítava sa...';
$messages['uploading'] = 'Nahráva sa súbor...';
@@ -42,13 +43,13 @@ $messages['checkingmail'] = 'Kontrolujú sa nové správy...';
$messages['sendingmessage'] = 'Správa sa odosiela...';
$messages['messagesent'] = 'Správa bola úspešne odoslaná.';
$messages['savingmessage'] = 'Správa sa ukladá...';
-$messages['messagesaved'] = 'Správa bola uložená medzi koncepty.';
+$messages['messagesaved'] = 'Správa bola uložená ako koncept.';
$messages['successfullysaved'] = 'Ukladanie bolo úspeÅ¡ne dokonÄené.';
$messages['savingresponse'] = 'Ukladanie textu odpovede...';
$messages['deleteresponseconfirm'] = 'Naozaj chcete vymazať text odpovede?';
$messages['addedsuccessfully'] = 'Kontakt bol pridaný do adresára.';
$messages['contactexists'] = 'Kontakt s touto e-mailovou adresou už existuje.';
-$messages['contactnameexists'] = 'Kontakt s týmto menom už existuje.';
+$messages['contactnameexists'] = 'Kontakt s takýmto menom už existuje.';
$messages['blockedimages'] = 'Kvôli ochrane vášho súkromia boli v tejto správe zablokované vzdialené obrázky.';
$messages['encryptedmessage'] = 'Táto správa je zaÅ¡ifrovaná, a nie je možné ju zobraziÅ¥. PrepáÄte!';
$messages['nocontactsfound'] = 'Nenašli sa žiadne kontakty.';
@@ -58,15 +59,15 @@ $messages['sendingfailed'] = 'Nepodarilo sa odoslať správu.';
$messages['senttooquickly'] = 'PoÄkajte $sec sekúnd pred odoslaním tejto správy.';
$messages['errorsavingsent'] = 'PoÄas ukladania odoslanej správy sa vyskytla chyba.';
$messages['errorsaving'] = 'PoÄas ukladania sa vyskytla chyba.';
-$messages['errormoving'] = 'Správy nemožno presunúť.';
-$messages['errorcopying'] = 'Správy nemožno skopírovať,';
-$messages['errordeleting'] = 'Správy nemožno vymazať.';
+$messages['errormoving'] = 'Správu/správy nemožno presunúť.';
+$messages['errorcopying'] = 'Správu/správy nemožno skopírovať,';
+$messages['errordeleting'] = 'Správu/správy nemožno vymazať.';
$messages['errormarking'] = 'Nemožno oznaÄiÅ¥ správu/správy.';
$messages['deletecontactconfirm'] = 'Naozaj chcete vymazať vybrané kontakty?';
$messages['deletegroupconfirm'] = 'Naozaj chcete vymazať vybranú skupinu?';
$messages['deletemessagesconfirm'] = 'Naozaj chcete vymazať vybrané správy?';
$messages['deletefolderconfirm'] = 'Naozaj chcete vymazaÅ¥ tento prieÄinok?';
-$messages['purgefolderconfirm'] = 'Naozaj chcete vymazaÅ¥ vÅ¡etky správy v tomto prieÄinku?';
+$messages['purgefolderconfirm'] = 'Naozaj chcete vyprázdniÅ¥ tento prieÄinok?';
$messages['contactdeleting'] = 'Vymazávajú sa kontakty...';
$messages['groupdeleting'] = 'Vymazáva sa skupina...';
$messages['folderdeleting'] = 'Vymazáva sa prieÄinok ...';
@@ -74,9 +75,9 @@ $messages['foldermoving'] = 'Presúva sa prieÄinok...';
$messages['foldersubscribing'] = 'Prebieha prihlasovanie k prieÄinku...';
$messages['folderunsubscribing'] = 'Prebieha odhlasovanie z prieÄinka...';
$messages['formincomplete'] = 'Formulár nie je kompletne vyplnený.';
-$messages['noemailwarning'] = 'Prosím zadajte platnú emailovú adresu.';
+$messages['noemailwarning'] = 'Prosím zadajte platnú e-mailovú adresu.';
$messages['nonamewarning'] = 'Prosím zadajte meno.';
-$messages['nopagesizewarning'] = 'Prosím zadajte veľkosť strany.';
+$messages['nopagesizewarning'] = 'Prosím zadajte poÄet záznamov na stranu.';
$messages['nosenderwarning'] = 'Prosím zadajte adresu odosielateľa.';
$messages['norecipientwarning'] = 'Prosím zadajte aspoň jedného príjemcu.';
$messages['nosubjectwarning'] = '"Predmet" správy je prázdny. Chcete ho teraz zadať?';
@@ -84,10 +85,10 @@ $messages['nobodywarning'] = 'Chcete odoslať správu bez textu?';
$messages['notsentwarning'] = 'Správa nebola odoslaná, chcete ju zrušiť?';
$messages['restoresavedcomposedata'] = 'Našla sa staršia správa, ktorú ste napísali ale neodoslali.\n\nPredmet: $subject\nUložené: $date\n\nChcete túto správu obnoviť?';
$messages['noldapserver'] = 'Prosím vyberte server LDAP pre vyhľadávanie.';
-$messages['nosearchname'] = 'Prosím zadajte meno alebo emailovú adresu kontaktu.';
-$messages['notuploadedwarning'] = 'EÅ¡te neboli nahrané vÅ¡etky prílohy. Prosím Äakajte alebo nahrávanie zruÅ¡te.';
-$messages['searchsuccessful'] = 'nájdené správy: $nr.';
-$messages['contactsearchsuccessful'] = 'nájdené kontakty: $nr.';
+$messages['nosearchname'] = 'Prosím zadajte meno alebo e-mailovú adresu kontaktu.';
+$messages['notuploadedwarning'] = 'EÅ¡te neboli nahrané vÅ¡etky súbory. Prosím Äakajte alebo nahrávanie zruÅ¡te.';
+$messages['searchsuccessful'] = 'Nájdené správy: $nr.';
+$messages['contactsearchsuccessful'] = 'Nájdené kontakty: $nr.';
$messages['searchnomatch'] = 'Hľadaný výraz sa nenašiel.';
$messages['searching'] = 'Vyhľadáva sa...';
$messages['checking'] = 'Kontroluje sa...';
@@ -104,10 +105,10 @@ $messages['fileuploaderror'] = 'Nahrávanie súboru bolo neúspešné.';
$messages['filesizeerror'] = 'Nahraný súbor prekroÄil maximálnu veľkosÅ¥ $size.';
$messages['copysuccess'] = 'PoÄet úspeÅ¡ne skopírovaných kontaktov: $nr.';
$messages['movesuccess'] = 'PoÄet úspeÅ¡ne presunutých kontaktov: $nr.';
-$messages['copyerror'] = 'Kontakty nie je možné kopírovať.';
+$messages['copyerror'] = 'Kontakty nemožno kopírovať.';
$messages['moveerror'] = 'Kontakty nemožno presúvať.';
-$messages['sourceisreadonly'] = 'Tento zdroj adries je len na Äítanie.';
-$messages['errorsavingcontact'] = 'Nemožno uložiť adresu kontaktu.';
+$messages['sourceisreadonly'] = 'Tento zdroj adries je urÄený len na Äítanie.';
+$messages['errorsavingcontact'] = 'Zmeny nebolo možné uložiť.';
$messages['movingmessage'] = 'Prebieha presúvanie správ(y)...';
$messages['copyingmessage'] = 'Prebieha kopírovanie správ(y)...';
$messages['copyingcontact'] = 'Prebieha kopírovanie kontaktov...';
@@ -119,9 +120,9 @@ $messages['removingmember'] = 'Prebieha odstraňovanie kontaktov zo skupiny...';
$messages['receiptsent'] = 'Potvrdenie o preÄítaní bolo odoslané.';
$messages['errorsendingreceipt'] = 'Potvrdenie nemožno odoslať.';
$messages['deleteidentityconfirm'] = 'Naozaj chcete vymazať túto identitu?';
-$messages['nodeletelastidentity'] = 'Túto identitu nemožno odstrániť, pretože je posledná.';
+$messages['nodeletelastidentity'] = 'Túto identitu nemožno vymazať, pretože je posledná.';
$messages['forbiddencharacter'] = 'Názov prieÄinka obsahuje nepovolený znak.';
-$messages['selectimportfile'] = 'Zvoľte súbor, ktorý chcete nahrať na server.';
+$messages['selectimportfile'] = 'Zvoľte súbor, ktorý chcete importovať na server.';
$messages['addresswriterror'] = 'Do vybraného adresára nie je možné zapisovať údaje.';
$messages['contactaddedtogroup'] = 'Kontakty boli úspešne pridané do tejto skupiny.';
$messages['contactremovedfromgroup'] = 'Kontakty boli úspešne odstránené z tejto skupiny.';
@@ -131,7 +132,7 @@ $messages['importformaterror'] = 'Importovanie nebolo úspešné! Nahraný súbo
$messages['importconfirm'] = '<b>PoÄet úspeÅ¡ne naimportovaných kontaktov: $inserted</b>';
$messages['importconfirmskipped'] = '<b>PoÄet preskoÄených existujúcich záznamov: $skipped</b>';
$messages['importmessagesuccess'] = 'PoÄet úspeÅ¡ne naimportovaných správ: $nr';
-$messages['importmessageerror'] = 'Importovanie bolo neúspeÅ¡né! Odoslaný súbor nie je platným súborom pre správu alebo poÅ¡tový prieÄinok';
+$messages['importmessageerror'] = 'Importovanie bolo neúspešné! Odoslaný súbor nie je platným súborom pre importovanie';
$messages['opnotpermitted'] = 'Táto operácia nie je povolená!';
$messages['nofromaddress'] = 'Pri vybranej identite chýba e-mailová adresa.';
$messages['editorwarning'] = 'Prepnutie na editor Äistého textu spôsobí stratu formátovania. Naozaj chcete pokraÄovaÅ¥?';
@@ -153,10 +154,10 @@ $messages['contactrestored'] = 'Kontakty boli úspešne obnovené.';
$messages['groupdeleted'] = 'Skupina bola úspešne vymazaná.';
$messages['grouprenamed'] = 'Skupina bola úspešne premenovaná.';
$messages['groupcreated'] = 'Skupina bola úspešne vytvorená.';
-$messages['savedsearchdeleted'] = 'Uložené vyhľadávanie bolo úspešne vymazané.';
-$messages['savedsearchdeleteerror'] = 'Nemožno vymazať uložené vyhľadávanie.';
-$messages['savedsearchcreated'] = 'Uložené vyhľadávanie bolo úspešne vytvorené.';
-$messages['savedsearchcreateerror'] = 'Nemožno vytvoriť uložené vyhľadávanie.';
+$messages['savedsearchdeleted'] = 'Uložené výsledky vyhľadávania boli úspešne vymazané.';
+$messages['savedsearchdeleteerror'] = 'Nemožno vymazať uložené výsledky vyhľadávania.';
+$messages['savedsearchcreated'] = 'Uložené výsledky vyhľadávania boli úspešne vytvorené.';
+$messages['savedsearchcreateerror'] = 'Nemožno vytvoriť uložené výsledky vyhľadávania.';
$messages['messagedeleted'] = 'Vymazanie správ(y) bolo úspešné.';
$messages['messagemoved'] = 'Presunutie správ(y) bolo úspešné.';
$messages['messagecopied'] = 'Kopírovanie správ(y) bolo úspešné.';
@@ -165,9 +166,9 @@ $messages['autocompletechars'] = 'Zadajte najmenej $min znakov pre automatické
$messages['autocompletemore'] = 'Našlo sa viacero záznamov. Zadajte prosím viac znakov.';
$messages['namecannotbeempty'] = 'Meno nemôže byť prázdne.';
$messages['nametoolong'] = 'Meno je príliš dlhé.';
-$messages['folderupdated'] = 'PrieÄinok bol úspeÅ¡n aktualizovaný.';
+$messages['folderupdated'] = 'PrieÄinok bol úspeÅ¡ne aktualizovaný.';
$messages['foldercreated'] = 'PrieÄinok bol úspeÅ¡ne vytvorený.';
-$messages['invalidimageformat'] = 'Neplatný formát obrázku';
+$messages['invalidimageformat'] = 'Neplatný formát obrázka';
$messages['mispellingsfound'] = 'V správe boli nájdené pravopisné chyby.';
$messages['parentnotwritable'] = 'Nemožno vytvoriÅ¥/presunúť prieÄinok do vybraného rodiÄovského prieÄinka. Nemáte prístupové oprávnenia.';
$messages['messagetoobig'] = 'Časť správy je príliš veľká na spracovanie.';
diff --git a/program/localization/sl_SI/labels.inc b/program/localization/sl_SI/labels.inc
index f1e9010d4..b8d9d98ee 100644
--- a/program/localization/sl_SI/labels.inc
+++ b/program/localization/sl_SI/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from – $to od $count';
$labels['copy'] = 'Kopiraj';
$labels['move'] = 'Premakni';
$labels['moveto'] = 'Premakni v...';
+$labels['copyto'] = 'Kopiraj v...';
$labels['download'] = 'Prenesi';
$labels['open'] = 'Odpri';
$labels['showattachment'] = 'Prikaži';
@@ -197,6 +198,8 @@ $labels['spellcheck'] = 'ÄŒrkovanje';
$labels['checkspelling'] = 'Preglej pravopis';
$labels['resumeediting'] = 'Nadaljuj z urejanjem';
$labels['revertto'] = 'Razveljavi';
+$labels['restore'] = 'Obnovi';
+$labels['restoremessage'] = 'Obnovi sporoÄilo';
$labels['responses'] = 'Odgovori';
$labels['insertresponse'] = 'Vnesi odgovor';
$labels['manageresponses'] = 'Uredi odgovore';
@@ -431,11 +434,14 @@ $labels['spellcheckignoresyms'] = 'Ne upoštevaj besed, ki vsebujejo simbole';
$labels['spellcheckignorenums'] = 'Ne upoštevaj besed, ki vsebujejo številke';
$labels['spellcheckignorecaps'] = 'Ne upoÅ¡tevaj besed, ki vsebujejo samo velike Ärke';
$labels['addtodict'] = 'Dodaj v slovar';
-$labels['mailtoprotohandler'] = 'Registriraj upravljavca protokola za e-naslov: povezave';
+$labels['mailtoprotohandler'] = 'DoloÄi Arnes Spletno poÅ¡to kot privzeti poÅ¡tni odjemalec.';
$labels['standardwindows'] = 'Prikaži pojavna okna kot obiÄajna';
$labels['forwardmode'] = 'Posredovanje sporoÄil';
$labels['inline'] = 'medvrstiÄno';
$labels['asattachment'] = 'Kot priponka';
+$labels['replyallmode'] = 'Privzete možnosti gumba [Odgovori vsem]';
+$labels['replyalldefault'] = 'odgovori vsem';
+$labels['replyalllist'] = 'odgovori na dopisni seznam (v kolikor ta obstaja)';
$labels['folder'] = 'Mapa';
$labels['folders'] = 'Mape';
$labels['foldername'] = 'Ime mape';
diff --git a/program/localization/sl_SI/messages.inc b/program/localization/sl_SI/messages.inc
index 3d1ea677c..9b4370922 100644
--- a/program/localization/sl_SI/messages.inc
+++ b/program/localization/sl_SI/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -33,6 +33,7 @@ $messages['invalidhost'] = 'Nepravilno ime strežnika';
$messages['nomessagesfound'] = 'V poÅ¡tnem predalu ni sporoÄil.';
$messages['loggedout'] = 'Odjava je bila uspešna.';
$messages['mailboxempty'] = 'Poštni predal je prazen.';
+$messages['nomessages'] = 'Ni sporoÄil';
$messages['refreshing'] = 'Osvežujem...';
$messages['loading'] = 'Nalaganje...';
$messages['uploading'] = 'Prenos dokumenta na strežnik...';
@@ -82,6 +83,7 @@ $messages['norecipientwarning'] = 'Vnesite vsaj enega prejemnika sporoÄila';
$messages['nosubjectwarning'] = 'Polje "Zadeva" je prazno. Želite dodati tekst v to polje?';
$messages['nobodywarning'] = 'Želite poslati sporoÄilo brez vsebine?';
$messages['notsentwarning'] = 'SporoÄilo ni bilo poslano. Želite zavreÄi to sporoÄilo?';
+$messages['restoresavedcomposedata'] = 'Ali želite nadaljevati z urejanjem še neodposlanega osnutka:\n\nZadeva: $subject\nShranjeno dne: $date\n\n ';
$messages['noldapserver'] = 'Izberite LDAP strežnik, v katerem želite iskati?';
$messages['nosearchname'] = 'Vnesite ime ali elektronski naslov stika';
$messages['notuploadedwarning'] = 'Priponke se Å¡e nalagajo na strežnik. PoÄakajte ali prekinite prenos.';
diff --git a/program/localization/sq_AL/messages.inc b/program/localization/sq_AL/messages.inc
index d4b981318..f14e42e52 100644
--- a/program/localization/sq_AL/messages.inc
+++ b/program/localization/sq_AL/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -21,7 +21,6 @@ $messages['sessionerror'] = 'Sesioni juaj është i pavlefshëm ose i ka kaluar
$messages['storageerror'] = 'Lidhja me serverin IMAP dështoi';
$messages['nomessagesfound'] = 'Nuk ka mesazhe në këtë kuti postare';
$messages['loggedout'] = 'Sesionin e mbyllët me sukses. Mirupafshim!';
-$messages['mailboxempty'] = 'Kutia postare është bosh';
$messages['loading'] = 'Po ngarkohet...';
$messages['loadingdata'] = 'Po ngarkohen të dhëna...';
$messages['checkingmail'] = 'Po shoh për mesazhe të reja...';
diff --git a/program/localization/sr_CS/messages.inc b/program/localization/sr_CS/messages.inc
index 7a4c89356..2d4efc408 100644
--- a/program/localization/sr_CS/messages.inc
+++ b/program/localization/sr_CS/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -30,7 +30,6 @@ $messages['invalidrequest'] = 'Погрешан захтев! Подаци ниÑ
$messages['invalidhost'] = 'Погрешно име Ñервера.';
$messages['nomessagesfound'] = 'Ðемате порука у Ñандучету.';
$messages['loggedout'] = 'УÑпешно Ñте Ñе одјавили.';
-$messages['mailboxempty'] = 'Сандуче је празно.';
$messages['refreshing'] = 'ОÑвежавам...';
$messages['loading'] = 'Учитавам...';
$messages['uploading'] = 'Шаљем датотеку...';
diff --git a/program/localization/sv_SE/labels.inc b/program/localization/sv_SE/labels.inc
index 3a8af75d8..6b7765269 100644
--- a/program/localization/sv_SE/labels.inc
+++ b/program/localization/sv_SE/labels.inc
@@ -51,7 +51,8 @@ $labels['messagenrof'] = 'Meddelande $nr av $count';
$labels['fromtoshort'] = '$from – $to av $count';
$labels['copy'] = 'Kopiera';
$labels['move'] = 'Flytta';
-$labels['moveto'] = 'Flytta till:';
+$labels['moveto'] = 'Flytta till...';
+$labels['copyto'] = 'Kopiera till...';
$labels['download'] = 'Ladda ner';
$labels['open'] = 'Öppna';
$labels['showattachment'] = 'Visa';
@@ -100,8 +101,8 @@ $labels['longdec'] = 'december';
$labels['today'] = 'idag';
$labels['refresh'] = 'Uppdatera';
$labels['checkmail'] = 'Hämta nya meddelanden';
-$labels['compose'] = 'Nytt meddelande';
-$labels['writenewmessage'] = 'Nytt meddelande';
+$labels['compose'] = 'Meddelande';
+$labels['writenewmessage'] = 'Skriv nytt meddelande';
$labels['reply'] = 'Svara';
$labels['replytomessage'] = 'Svara avsändaren';
$labels['replytoallmessage'] = 'Svara avsändaren och alla mottagare';
@@ -112,7 +113,7 @@ $labels['forwardinline'] = 'Vidarebefordra infogat';
$labels['forwardattachment'] = 'Vidarebefordra som bilaga';
$labels['forwardmessage'] = 'Vidarebefordra meddelande';
$labels['deletemessage'] = 'Ta bort meddelande';
-$labels['movemessagetotrash'] = 'Flytta meddelande till papperskorgen';
+$labels['movemessagetotrash'] = 'Flytta meddelande till Papperskorg';
$labels['printmessage'] = 'Skriv ut';
$labels['previousmessage'] = 'Visa föregående meddelande';
$labels['firstmessage'] = 'Visa första meddelandet';
@@ -126,7 +127,7 @@ $labels['markread'] = 'Läst';
$labels['markunread'] = 'Oläst';
$labels['markflagged'] = 'Flaggat';
$labels['markunflagged'] = 'Oflaggat';
-$labels['moreactions'] = 'Fler åtgärder';
+$labels['moreactions'] = 'Fler åtgärder...';
$labels['more'] = 'Fler';
$labels['back'] = 'Tillbaka';
$labels['options'] = 'Alternativ';
@@ -139,7 +140,7 @@ $labels['flagged'] = 'Flaggade';
$labels['unanswered'] = 'Obesvarade';
$labels['withattachment'] = 'Med bilaga';
$labels['deleted'] = 'Borttagna';
-$labels['undeleted'] = 'Inte borttaget';
+$labels['undeleted'] = 'Inte borttagna';
$labels['invert'] = 'Invertera';
$labels['filter'] = 'Filter';
$labels['list'] = 'Lista';
@@ -163,7 +164,7 @@ $labels['listcolumns'] = 'Kolumner';
$labels['listsorting'] = 'Sortering';
$labels['listorder'] = 'Ordning';
$labels['listmode'] = 'Visningsläge';
-$labels['folderactions'] = 'Hantera kataloger';
+$labels['folderactions'] = 'Hantera kataloger...';
$labels['compact'] = 'Packa';
$labels['empty'] = 'Töm';
$labels['importmessages'] = 'Importera meddelanden';
@@ -212,7 +213,7 @@ $labels['attachments'] = 'Bilagor';
$labels['upload'] = 'Bifoga';
$labels['uploadprogress'] = '$percent ($current av $total)';
$labels['close'] = 'Stäng';
-$labels['messageoptions'] = 'Meddelandealternativ';
+$labels['messageoptions'] = 'Meddelandealternativ...';
$labels['low'] = 'LÃ¥g';
$labels['lowest'] = 'Lägst';
$labels['normal'] = 'Normal';
@@ -223,8 +224,8 @@ $labels['showimages'] = 'Visa bilder';
$labels['alwaysshow'] = 'Visa alltid bilder från $sender';
$labels['isdraft'] = 'Detta meddelande är ett utkast.';
$labels['andnmore'] = '$nr fler...';
-$labels['togglemoreheaders'] = 'Visa fler meddelandehuvuden';
-$labels['togglefullheaders'] = 'Växla meddelandehuvuden';
+$labels['togglemoreheaders'] = 'Växla ytterligare meddelandeinformation';
+$labels['togglefullheaders'] = 'Växla teknisk meddelandeinformation';
$labels['htmltoggle'] = 'HTML';
$labels['plaintoggle'] = 'Text';
$labels['savesentmessagein'] = 'Spara kopia i';
@@ -249,9 +250,9 @@ $labels['jobtitle'] = 'Titel';
$labels['department'] = 'Avdelning';
$labels['gender'] = 'Kön';
$labels['maidenname'] = 'Flicknamn';
-$labels['email'] = 'E-post';
+$labels['email'] = 'Mailadress';
$labels['phone'] = 'Telefon';
-$labels['address'] = 'Adress';
+$labels['address'] = 'Postadress';
$labels['street'] = 'Gata';
$labels['locality'] = 'Ort';
$labels['zipcode'] = 'Postnummer';
@@ -321,7 +322,7 @@ $labels['group'] = 'Grupp';
$labels['groups'] = 'Kontaktgrupper';
$labels['listgroup'] = 'Visa gruppmedlemmar';
$labels['personaladrbook'] = 'Personliga adresser';
-$labels['searchsave'] = 'Lägg till sökning';
+$labels['searchsave'] = 'Spara sökning';
$labels['searchdelete'] = 'Ta bort sökning';
$labels['import'] = 'Importera';
$labels['importcontacts'] = 'Importera kontakter';
@@ -367,8 +368,8 @@ $labels['htmlsignature'] = 'HTML-signatur';
$labels['showemail'] = 'Visa namn och adress';
$labels['previewpane'] = 'Visa meddelandefältet';
$labels['skin'] = 'Stilmall för användargränssnitt';
-$labels['logoutclear'] = 'Töm papperskorgen vid utloggning';
-$labels['logoutcompact'] = 'Packa inkorgen vid utloggning';
+$labels['logoutclear'] = 'Töm Papperskorg vid utloggning';
+$labels['logoutcompact'] = 'Packa Inkorg vid utloggning';
$labels['uisettings'] = 'Användargränssnitt';
$labels['serversettings'] = 'Serverinställningar';
$labels['mailboxview'] = 'Hantering av meddelanden';
@@ -410,10 +411,10 @@ $labels['section'] = 'Avdelning';
$labels['maintenance'] = 'Underhåll';
$labels['newmessage'] = 'Nytt meddelande';
$labels['signatureoptions'] = 'Signaturalternativ';
-$labels['whenreplying'] = 'Vid svar fortsätt skriv';
+$labels['whenreplying'] = 'Vid svar';
$labels['replyempty'] = 'Inkludera inte ursprungligt meddelande';
-$labels['replytopposting'] = 'Ovanför befintligt meddelande';
-$labels['replybottomposting'] = 'Nedanför befintligt meddelande';
+$labels['replytopposting'] = 'Skriv nytt meddelande ovanför befintligt';
+$labels['replybottomposting'] = 'Skriv nytt meddelande nedanför befintligt';
$labels['replyremovesignature'] = 'Ta bort befintlig signatur från meddelandet vid svar';
$labels['autoaddsignature'] = 'Infoga signatur automatiskt';
$labels['newmessageonly'] = 'Vid nytt meddelande';
@@ -438,7 +439,7 @@ $labels['standardwindows'] = 'Hantera popup-rutor som standardfönster';
$labels['forwardmode'] = 'Vidarebefordra meddelande';
$labels['inline'] = 'Infogat';
$labels['asattachment'] = 'Bilaga';
-$labels['replyallmode'] = 'Standardfunktion för knappen [Svara alla]';
+$labels['replyallmode'] = 'Standardfunktion för knappen Svara alla';
$labels['replyalldefault'] = 'Svara alla';
$labels['replyalllist'] = 'Svara endast lista (i förekommande fall)';
$labels['folder'] = 'Katalog';
diff --git a/program/localization/sv_SE/messages.inc b/program/localization/sv_SE/messages.inc
index a61b7ccc4..7efc08013 100644
--- a/program/localization/sv_SE/messages.inc
+++ b/program/localization/sv_SE/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -24,15 +24,16 @@ $messages['servererror'] = 'Serverfel!';
$messages['servererrormsg'] = 'Serverfel: $msg';
$messages['dberror'] = 'Databasfel!';
$messages['requesttimedout'] = 'Begäran tog för lång tid';
-$messages['errorreadonly'] = 'Åtgärden kunde inte utföras. Katalogen är skrivskyddad';
-$messages['errornoperm'] = 'Åtgärden kunde inte utföras. Otillräcklig befogenhet';
+$messages['errorreadonly'] = 'Åtgärden kunde inte utföras. Katalogen är skrivskyddad.';
+$messages['errornoperm'] = 'Åtgärden kunde inte utföras. Otillräcklig befogenhet.';
$messages['erroroverquota'] = 'Åtgärden kunde inte utföras. Otillräckligt lagringsutrymme.';
$messages['erroroverquotadelete'] = 'Otillräckligt lagringsutrymme. Tryck på SHIFT och DEL för att ta bort ett meddelande.';
$messages['invalidrequest'] = 'Ogiltig begäran! Informationen sparades inte.';
$messages['invalidhost'] = 'Ogiltigt servernamn.';
-$messages['nomessagesfound'] = 'Inga meddelanden';
+$messages['nomessagesfound'] = 'Inga meddelanden.';
$messages['loggedout'] = 'Du är utloggad. Välkommen åter!';
$messages['mailboxempty'] = 'Katalogen är tom';
+$messages['nomessages'] = 'Inga meddelanden';
$messages['refreshing'] = 'Uppdaterar...';
$messages['loading'] = 'Laddar...';
$messages['uploading'] = 'Överför fil...';
@@ -43,25 +44,25 @@ $messages['sendingmessage'] = 'Skickar meddelande...';
$messages['messagesent'] = 'Meddelandet har skickats.';
$messages['savingmessage'] = 'Sparar meddelande...';
$messages['messagesaved'] = 'Meddelandet har sparats i Utkast';
-$messages['successfullysaved'] = 'Informationen har sparats.';
+$messages['successfullysaved'] = 'Sparat.';
$messages['savingresponse'] = 'Sparar responstext...';
$messages['deleteresponseconfirm'] = 'Vill du verkligen ta bort denna responstext?';
$messages['addedsuccessfully'] = 'Kontakten har lagts till i adressboken.';
-$messages['contactexists'] = 'En kontakt med den här adressen finns redan';
-$messages['contactnameexists'] = 'En kontakt med det här namnet finns redan';
+$messages['contactexists'] = 'En kontakt med den här adressen finns redan.';
+$messages['contactnameexists'] = 'En kontakt med det här namnet finns redan.';
$messages['blockedimages'] = 'Externt länkade bilder i meddelandet har blockerats.';
$messages['encryptedmessage'] = 'Meddelandet är krypterat och kan tyvärr inte visas.';
-$messages['nocontactsfound'] = 'Inga kontakter hittades';
-$messages['contactnotfound'] = 'Efterfrågad kontakt hittades inte';
+$messages['nocontactsfound'] = 'Inga kontakter hittades.';
+$messages['contactnotfound'] = 'Efterfrågad kontakt hittades inte.';
$messages['contactsearchonly'] = 'Ange sökord för att hitta kontakter';
-$messages['sendingfailed'] = 'Meddelandet kunde inte skickas';
-$messages['senttooquickly'] = 'Vänta ytterligare $sec sekunder med att skicka meddelandet';
-$messages['errorsavingsent'] = 'Ett fel inträffade när det skickade meddelandet skulle sparas';
-$messages['errorsaving'] = 'Meddelandet kunde inte sparas';
-$messages['errormoving'] = 'Meddelandet kunde inte flyttas';
-$messages['errorcopying'] = 'Meddelandet kunde inte kopieras';
-$messages['errordeleting'] = 'Meddelandet kunde inte tas bort';
-$messages['errormarking'] = 'Meddelandet kunde inte markeras';
+$messages['sendingfailed'] = 'Meddelandet kunde inte skickas.';
+$messages['senttooquickly'] = 'Vänta ytterligare $sec sekunder med att skicka meddelandet.';
+$messages['errorsavingsent'] = 'Det skickade meddelandet kunde inte sparas.';
+$messages['errorsaving'] = 'Meddelandet kunde inte sparas.';
+$messages['errormoving'] = 'Meddelandet kunde inte flyttas.';
+$messages['errorcopying'] = 'Meddelandet kunde inte kopieras.';
+$messages['errordeleting'] = 'Meddelandet kunde inte tas bort.';
+$messages['errormarking'] = 'Meddelandet kunde inte markeras.';
$messages['deletecontactconfirm'] = 'Vill du verkligen ta bort valda kontakter?';
$messages['deletegroupconfirm'] = 'Vill du verkligen ta bort den valda gruppen?';
$messages['deletemessagesconfirm'] = 'Vill du verkligen ta bort valda meddelanden?';
@@ -73,41 +74,41 @@ $messages['folderdeleting'] = 'Tar bort katalog...';
$messages['foldermoving'] = 'Flyttar katalog...';
$messages['foldersubscribing'] = 'Startar prenumeration på katalog...';
$messages['folderunsubscribing'] = 'Avslutar prenumeration på katalog...';
-$messages['formincomplete'] = 'Formuläret var inte komplett ifyllt';
-$messages['noemailwarning'] = 'Ange en giltig adress';
-$messages['nonamewarning'] = 'Ange ett namn';
-$messages['nopagesizewarning'] = 'Ange en sidstorlek';
-$messages['nosenderwarning'] = 'Ange en avsändaradress';
-$messages['norecipientwarning'] = 'Ange minst en mottagare';
-$messages['nosubjectwarning'] = 'Ämnesraden är tom. Vill du ange ämne nu?';
+$messages['formincomplete'] = 'Formuläret var inte komplett ifyllt.';
+$messages['noemailwarning'] = 'Ange en giltig adress.';
+$messages['nonamewarning'] = 'Ange ett namn.';
+$messages['nopagesizewarning'] = 'Ange en sidstorlek.';
+$messages['nosenderwarning'] = 'Ange en avsändaradress.';
+$messages['norecipientwarning'] = 'Ange minst en mottagare.';
+$messages['nosubjectwarning'] = 'Ämnesraden är tom. Vill du ange ett ämne nu?';
$messages['nobodywarning'] = 'Skicka det här meddelandet utan text?';
$messages['notsentwarning'] = 'Meddelandet har inte skickats. Vill du avbryta meddelandet?';
$messages['restoresavedcomposedata'] = 'Ett tidigare skrivet men inte skickat meddelande upptäcktes.\n\nÄmne: $subject\nSparat: $date\n\nVill du återskapa meddelandet?';
-$messages['noldapserver'] = 'Ange en LDAP-server för att söka';
-$messages['nosearchname'] = 'Ange ett kontaktnamn eller en adress';
+$messages['noldapserver'] = 'Ange en LDAP-server för att söka.';
+$messages['nosearchname'] = 'Ange ett kontaktnamn eller en adress.';
$messages['notuploadedwarning'] = 'Alla bilagor har inte överförts ännu. Vänta eller avbryt överföringen.';
$messages['searchsuccessful'] = '$nr meddelanden hittades.';
$messages['contactsearchsuccessful'] = '$nr kontakter hittades.';
-$messages['searchnomatch'] = 'Sökningen gav inget resultat';
+$messages['searchnomatch'] = 'Sökningen gav inget resultat.';
$messages['searching'] = 'Söker...';
$messages['checking'] = 'Kontrollerar...';
-$messages['nospellerrors'] = 'Inget stavfel hittades';
+$messages['nospellerrors'] = 'Inget stavfel hittades.';
$messages['folderdeleted'] = 'Katalogen togs bort.';
$messages['foldersubscribed'] = 'Prenumeration på katalog startad.';
$messages['folderunsubscribed'] = 'Prenumeration på katalog avslutad.';
-$messages['folderpurged'] = 'Katalog rensad.';
-$messages['folderexpunged'] = 'Katalog tömd.';
-$messages['deletedsuccessfully'] = 'Lyckad borttagning.';
-$messages['converting'] = 'Tar bort formatering från meddelande...';
-$messages['messageopenerror'] = 'Meddelandet kunde inte hämtas från servern';
-$messages['fileuploaderror'] = 'Filuppladdning misslyckades';
-$messages['filesizeerror'] = 'Den uppladdade filens storlek överstiger högsta tillåtna $size';
+$messages['folderpurged'] = 'Katalog tömd.';
+$messages['folderexpunged'] = 'Katalog rensad.';
+$messages['deletedsuccessfully'] = 'Borttaget.';
+$messages['converting'] = 'Tar bort formatering...';
+$messages['messageopenerror'] = 'Meddelandet kunde inte hämtas från servern.';
+$messages['fileuploaderror'] = 'Filuppladdning misslyckades.';
+$messages['filesizeerror'] = 'Den uppladdade filens storlek överstiger högsta tillåtna $size.';
$messages['copysuccess'] = '$nr kontakter har kopierats.';
$messages['movesuccess'] = '$nr kontakter har flyttats.';
$messages['copyerror'] = 'NÃ¥gra kontakter kunde inte kopieras.';
$messages['moveerror'] = 'NÃ¥gra kontakter kunde inte flyttas.';
-$messages['sourceisreadonly'] = 'Denna adresskälla är skrivskyddad';
-$messages['errorsavingcontact'] = 'Kontaktadressen kunde inte sparas';
+$messages['sourceisreadonly'] = 'Denna adresskälla är skrivskyddad.';
+$messages['errorsavingcontact'] = 'Kontaktadressen kunde inte sparas.';
$messages['movingmessage'] = 'Flyttar meddelande...';
$messages['copyingmessage'] = 'Kopierar meddelande...';
$messages['copyingcontact'] = 'Kopierar kontakter...';
@@ -117,12 +118,12 @@ $messages['markingmessage'] = 'Markerar meddelande...';
$messages['addingmember'] = 'Lägger till kontakter i gruppen...';
$messages['removingmember'] = 'Tar bort kontakter från gruppen...';
$messages['receiptsent'] = 'Mottagarkvitto har skickats.';
-$messages['errorsendingreceipt'] = 'Mottagarkvitto kunde inte skickas';
+$messages['errorsendingreceipt'] = 'Mottagarkvitto kunde inte skickas.';
$messages['deleteidentityconfirm'] = 'Vill du verkligen ta bort denna identitet?';
$messages['nodeletelastidentity'] = 'Du kan inte ta bort identiteten, den är din sista.';
-$messages['forbiddencharacter'] = 'Katalognamnet innehåller otillåtna tecken';
-$messages['selectimportfile'] = 'Välj en fil att ladda upp';
-$messages['addresswriterror'] = 'Angiven adressbok är skrivskyddad';
+$messages['forbiddencharacter'] = 'Katalognamnet innehåller otillåtna tecken.';
+$messages['selectimportfile'] = 'Välj en fil att ladda upp.';
+$messages['addresswriterror'] = 'Markerad adressbok är skrivskyddad.';
$messages['contactaddedtogroup'] = 'Kontakterna har lagts till i gruppen.';
$messages['contactremovedfromgroup'] = 'Kontakterna har tagits bort från gruppen.';
$messages['nogroupassignmentschanged'] = 'Ingen grupptillhörighet ändrades.';
@@ -130,47 +131,47 @@ $messages['importwait'] = 'Importerar, var god vänta...';
$messages['importformaterror'] = 'Importen misslyckades! Filen har inte korrekt dataformat.';
$messages['importconfirm'] = '<b>Lyckad import av $inserted kontakter</b>';
$messages['importconfirmskipped'] = '<b>Hoppade över $skipped befintliga poster</b>';
-$messages['importmessagesuccess'] = '$nr meddelanden har importerats.';
-$messages['importmessageerror'] = 'Importen misslyckades! Filen innehåller inte något meddelande eller någon brevlåda';
+$messages['importmessagesuccess'] = '$nr meddelanden har importerats';
+$messages['importmessageerror'] = 'Importen misslyckades! Filen är inte ett giltigt meddelande eller en brevlåda';
$messages['opnotpermitted'] = 'Otillåten operation!';
-$messages['nofromaddress'] = 'Adress saknas i den valda identiteten';
+$messages['nofromaddress'] = 'Adress saknas i den valda identiteten.';
$messages['editorwarning'] = 'Genom att växla till text-läge går formateringen förlorad. Vill du fortsätta?';
$messages['httpreceivedencrypterror'] = 'Ett irreparabelt fel har uppstått. Kontakta administratören omgående. <b>Meddelandet kan inte skickas.</b>';
-$messages['smtpconnerror'] = 'SMTP-fel ($code): Anslutning till servern misslyckades';
-$messages['smtpautherror'] = 'SMTP-fel ($code): Inloggningen misslyckades';
-$messages['smtpfromerror'] = 'SMTP-fel ($code): Kan inte sätta avsändaradress till "$from" ($msg)';
-$messages['smtptoerror'] = 'SMTP-fel ($code): Kan inte lägga till mottagaradress "$to" ($msg)';
-$messages['smtprecipientserror'] = 'SMTP-fel: Felaktigt formaterad lista med mottagaradresser';
+$messages['smtpconnerror'] = 'SMTP-fel ($code): Anslutning till servern misslyckades.';
+$messages['smtpautherror'] = 'SMTP-fel ($code): Inloggningen misslyckades.';
+$messages['smtpfromerror'] = 'SMTP-fel ($code): Kan inte sätta avsändaradress till "$from" ($msg).';
+$messages['smtptoerror'] = 'SMTP-fel ($code): Kan inte lägga till mottagaradress "$to" ($msg).';
+$messages['smtprecipientserror'] = 'SMTP-fel: Felaktigt formaterad lista med mottagaradresser.';
$messages['smtperror'] = 'SMTP-fel: $msg';
$messages['emailformaterror'] = 'Felaktig adress: $email';
-$messages['toomanyrecipients'] = 'Förmånga mottagare. Minska antalet till högst $max';
-$messages['maxgroupmembersreached'] = 'Antalet gruppmedlemmar får inte överstiga $max';
+$messages['toomanyrecipients'] = 'Förmånga mottagare. Minska antalet till högst $max.';
+$messages['maxgroupmembersreached'] = 'Antalet gruppmedlemmar får inte överstiga $max.';
$messages['internalerror'] = 'Ett internt fel uppstod. Försök igen.';
-$messages['contactdelerror'] = 'Kontakt kunde inte tas bort';
+$messages['contactdelerror'] = 'Kontakt kunde inte tas bort.';
$messages['contactdeleted'] = 'Kontakt borttagen.';
-$messages['contactrestoreerror'] = 'Borttagna kontakter kunde inte återskapas';
+$messages['contactrestoreerror'] = 'Borttagna kontakter kunde inte återskapas.';
$messages['contactrestored'] = 'Kontakter återskapade.';
$messages['groupdeleted'] = 'Grupp borttagen.';
$messages['grouprenamed'] = 'Gruppnamn ändrat.';
$messages['groupcreated'] = 'Grupp skapad.';
$messages['savedsearchdeleted'] = 'Sparad sökning borttagen.';
-$messages['savedsearchdeleteerror'] = 'Kunde inte ta bort sparad sökning';
+$messages['savedsearchdeleteerror'] = 'Kunde inte ta bort sparad sökning.';
$messages['savedsearchcreated'] = 'Sparad sökning tillagd.';
-$messages['savedsearchcreateerror'] = 'Kunde inte lägga till sparad sökning';
+$messages['savedsearchcreateerror'] = 'Kunde inte lägga till sparad sökning.';
$messages['messagedeleted'] = 'Meddelande borttaget.';
$messages['messagemoved'] = 'Meddelande flyttat.';
$messages['messagecopied'] = 'Meddelande kopierat.';
$messages['messagemarked'] = 'Meddelande markerat.';
-$messages['autocompletechars'] = 'Ange minst $min tecken för automatisk komplettering';
-$messages['autocompletemore'] = 'Flera passande informationsposter funna. Skriv fler tecken.';
-$messages['namecannotbeempty'] = 'Namnet får inte vara tomt';
-$messages['nametoolong'] = 'Namnet är för långt';
+$messages['autocompletechars'] = 'Ange minst $min tecken för automatisk komplettering.';
+$messages['autocompletemore'] = 'Ytterligare passande poster funna. Skriv fler tecken.';
+$messages['namecannotbeempty'] = 'Namnet får inte vara tomt.';
+$messages['nametoolong'] = 'Namnet är för långt.';
$messages['folderupdated'] = 'Katalog uppdaterad.';
$messages['foldercreated'] = 'Katalog skapad.';
-$messages['invalidimageformat'] = 'Ogiltigt bildfilsformat';
-$messages['mispellingsfound'] = 'Stavfel hittades i meddelandet';
+$messages['invalidimageformat'] = 'Ogiltigt bildfilsformat.';
+$messages['mispellingsfound'] = 'Stavfel hittades i meddelandet.';
$messages['parentnotwritable'] = 'Katalogen kunde inte skapas eller flyttas. Åtkomsträttighet saknas.';
-$messages['messagetoobig'] = 'Denna del av meddelandet är alltför stor för att hantera.';
+$messages['messagetoobig'] = 'Meddelandet är alltför stort att behandla.';
$messages['attachmentvalidationerror'] = 'VARNING! Bilagan misstänks vara av annan typ än vad som anges i meddelandet. Om du inte litar på avsändaren ska du inte öppna bilagan.<br/><br/><em>Angiven typ: $expected; funnen typ: $detected</em>';
$messages['noscriptwarning'] = 'Varning: Denna webbmailtjänst fungerar inte utan Javascript! Aktivera Javascript i webbläsarens inställningar.';
?>
diff --git a/program/localization/ta_IN/messages.inc b/program/localization/ta_IN/messages.inc
index d496b3836..0da63d2af 100644
--- a/program/localization/ta_IN/messages.inc
+++ b/program/localization/ta_IN/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -23,7 +23,6 @@ $messages['servererror'] = 'சேவையக பிழை!';
$messages['invalidrequest'] = 'செலà¯à®²à®¾à®¤ வேணà¯à®Ÿà¯à®•à¯‹à®³à¯! எநà¯à®¤ தரவà¯à®®à¯ சேமிகà¯à®•à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.';
$messages['nomessagesfound'] = 'இநà¯à®¤ தபால௠பெடà¯à®Ÿà®¿à®¯à®¿à®²à¯ எநà¯à®¤ தரவà¯à®®à¯ சேமிகà¯à®•à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ';
$messages['loggedout'] = 'நீஙà¯à®•à®³à¯ அமரà¯à®µà¯ˆ வெறà¯à®±à®¿à®•à®°à®®à®¾à®• à®®à¯à®Ÿà®¿à®¤à¯à®¤à¯€à®°à¯à®•à®³à¯. வணகà¯à®•à®®à¯';
-$messages['mailboxempty'] = 'தபால௠பெடà¯à®Ÿà®¿ காலியாக உளà¯à®³à®¤à¯';
$messages['loading'] = 'à®à®±à¯à®±à¯à®•à®¿à®±à®¤à¯...';
$messages['uploading'] = 'கோபà¯à®ªà¯ˆ à®à®±à¯à®±à¯à®•à®¿à®±à®¤à¯...';
$messages['loadingdata'] = 'தரவை à®à®±à¯à®±à¯à®•à®¿à®±à®¤à¯...';
diff --git a/program/localization/th_TH/messages.inc b/program/localization/th_TH/messages.inc
index 46d960aff..2ad95fc94 100644
--- a/program/localization/th_TH/messages.inc
+++ b/program/localization/th_TH/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -25,7 +25,6 @@ $messages['dberror'] = 'เà¸à¸´à¸”ข้อผิดพลาดเà¸à¸µà¹ˆà¸
$messages['invalidhost'] = 'ชื่อเซิร์ฟเวอร์ไม่ถูà¸à¸•à¹‰à¸­à¸‡';
$messages['nomessagesfound'] = 'ไม่มีจดหมายในà¸à¸¥à¹ˆà¸­à¸‡à¸ˆà¸”หมายนี้';
$messages['loggedout'] = 'ทำà¸à¸²à¸£à¸­à¸­à¸à¸ˆà¸²à¸à¸£à¸°à¸šà¸šà¹€à¸£à¸µà¸¢à¸šà¸£à¹‰à¸­à¸¢';
-$messages['mailboxempty'] = 'à¸à¸¥à¹ˆà¸­à¸‡à¸ˆà¸”หมายนี้ว่างเปล่า';
$messages['refreshing'] = 'à¸à¸³à¸¥à¸±à¸‡à¸£à¸µà¹€à¸Ÿà¸£à¸Š...';
$messages['loading'] = 'Loading...';
$messages['uploading'] = 'à¸à¸³à¸¥à¸±à¸‡à¸­à¸±à¸žà¹‚หลดไฟล์...';
diff --git a/program/localization/ti/labels.inc b/program/localization/ti/labels.inc
new file mode 100644
index 000000000..2919f47c0
--- /dev/null
+++ b/program/localization/ti/labels.inc
@@ -0,0 +1,62 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | localization/<lang>/labels.inc |
+ | |
+ | Localization file of the Roundcube Webmail client |
+ | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/labels/
+*/
+$labels['welcome'] = 'ሰናይ áˆáˆáŒ»áŠ¥ ናብ $product';
+$labels['username'] = 'ሽáˆá‹“ሙና';
+$labels['password'] = 'መáˆáˆˆáŠ ቃáˆ';
+$labels['server'] = 'á‹áˆƒá‰¢ áŒáˆáŒ‹áˆŽá‰µ';
+$labels['login'] = 'ክኣቱ';
+$labels['logout'] = 'ክá‹áŒ½áŠ¥';
+$labels['mail'] = 'ደብዳበ';
+$labels['settings'] = 'ከመንታይ';
+$labels['addressbook'] = 'መጽሓá አድራሻ';
+$labels['inbox'] = 'ሳጹን አታዊ';
+$labels['drafts'] = 'ወጡን ጽሑá';
+$labels['sent'] = 'á‹á‰°áˆˆáŠ£áŠ¸';
+$labels['trash'] = 'እንዳጉሓá';
+$labels['junk'] = 'እንዳቅንጠመንጢ';
+$labels['subject'] = 'ዋኒን';
+$labels['from'] = 'ካብ';
+$labels['sender'] = 'áˆáŠ£áŠº(ት)';
+$labels['to'] = 'ናብ';
+$labels['cc'] = 'ካኮ';
+$labels['bcc'] = 'ሕካኮ';
+$labels['replyto'] = 'ተመላሲ ናብ';
+$labels['followupto'] = 'ናብ...á‹áˆµá‹“በ';
+$labels['date'] = 'ዕለት';
+$labels['size'] = 'መጠን';
+$labels['priority'] = 'ህጹጽáŠá‰µ';
+$labels['organization'] = 'á‹á‹µá‰¥';
+$labels['readstatus'] = 'áˆáŠ•á‰£á‰¡';
+$labels['listoptions'] = 'መማርጽታት á‹áˆ­á‹áˆ­';
+$labels['mailboxlist'] = 'ማህዸራት';
+$labels['messagesfromto'] = '$countá‹­ መáˆáŠ¥áŠ½á‰² ካብ $from ናብ $to ';
+$labels['sun'] = 'ሰንበ';
+$labels['mon'] = 'ሰኑይ';
+$labels['tue'] = 'ሰሉስ';
+$labels['wed'] = 'ረቡዕ';
+$labels['thu'] = 'ሓሙስ';
+$labels['fri'] = 'ዓርቢ';
+$labels['sat'] = 'ቀዳáˆ';
+$labels['sunday'] = 'ሰንበት';
+$labels['monday'] = 'ሰኑይ';
+$labels['tuesday'] = 'ሰሉስ';
+$labels['wednesday'] = 'ረቡዕ';
+$labels['thursday'] = 'ሓሙስ';
+$labels['friday'] = 'ዓርቢ ';
+$labels['saturday'] = 'ቀዳáˆ';
+?>
diff --git a/program/localization/ti/messages.inc b/program/localization/ti/messages.inc
new file mode 100644
index 000000000..278a0897a
--- /dev/null
+++ b/program/localization/ti/messages.inc
@@ -0,0 +1,24 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | localization/<lang>/messages.inc |
+ | |
+ | Localization file of the Roundcube Webmail client |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
+ | |
+ | Licensed under the GNU General Public License version 3 or |
+ | any later version with exceptions for skins & plugins. |
+ | See the README file for a full license statement. |
+ | |
+ +-----------------------------------------------------------------------+
+
+ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/messages/
+*/
+$messages['errortitle'] = 'ተጓንᎠጋዶ';
+$messages['loginfailed'] = 'ከይዲ áˆáŠ¥á‰³á‹Ž áˆáˆºáˆ‰';
+$messages['cookiesdisabled'] = 'ጎስጓሲ ኢንተርኔት ዛላማላ አይቕበáˆáŠ•';
+$messages['sessionerror'] = 'እዋኑ á‹áˆ“ለᎠወይ ዋጋ ዘይብሉ ካርአáˆáŒ¥á‰ƒáˆ ክáˆáŠ­áˆ እዩ::';
+$messages['storageerror'] = 'ናብ á‹áˆƒá‰¢ áŒáˆáŒ‹áˆ‰á‰µ ቆᎠረኽቢ አይተኻለን::';
+$messages['servererror'] = 'ጋዶ á‹áˆƒá‰¢á‰µ áŒáˆáŒ‹áˆ‰á‰µ';
+?>
diff --git a/program/localization/tr_TR/labels.inc b/program/localization/tr_TR/labels.inc
index 1f20a22bc..99122ccad 100644
--- a/program/localization/tr_TR/labels.inc
+++ b/program/localization/tr_TR/labels.inc
@@ -52,6 +52,7 @@ $labels['fromtoshort'] = '$from - $to , Toplam: $count';
$labels['copy'] = 'Kopyala';
$labels['move'] = 'Taşı';
$labels['moveto'] = 'Şuraya taşı...';
+$labels['copyto'] = 'Åžuraya kopyala...';
$labels['download'] = 'Ä°ndir';
$labels['open'] = 'Aç';
$labels['showattachment'] = 'Göster';
diff --git a/program/localization/tr_TR/messages.inc b/program/localization/tr_TR/messages.inc
index ede900d01..cf3607498 100644
--- a/program/localization/tr_TR/messages.inc
+++ b/program/localization/tr_TR/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -30,9 +30,10 @@ $messages['erroroverquota'] = 'İşlem gerçekleştirilemedi. Boş alan yok.';
$messages['erroroverquotadelete'] = 'Boş alan yok. SHIFT+DEL tuş kombinasyonunu kullanarak mesajı silin.';
$messages['invalidrequest'] = 'Geçersiz İstek! Veri kaydedilmedi';
$messages['invalidhost'] = 'Geçersiz sunucu adı.';
-$messages['nomessagesfound'] = 'Posta kutusunda ileti bulunamadı';
+$messages['nomessagesfound'] = 'Posta kutusunda ileti bulunamadı.';
$messages['loggedout'] = 'Oturumu başarılı bir şekilde kapattınız. Güle güle!';
$messages['mailboxempty'] = 'Posta kutusu boÅŸ';
+$messages['nomessages'] = 'Mesaj yok';
$messages['refreshing'] = 'Yenileniyor...';
$messages['loading'] = 'Yükleniyor...';
$messages['uploading'] = 'Dosya yükleniyor...';
@@ -67,7 +68,7 @@ $messages['deletegroupconfirm'] = 'Seçili grupları silmek istediğinizden emi
$messages['deletemessagesconfirm'] = 'Seçili postaları silmek istediğinizden emin misiniz?';
$messages['deletefolderconfirm'] = 'Bu klasörü silmek istediğinizden emin misiniz?';
$messages['purgefolderconfirm'] = 'Bu klasördeki tüm postaları silmek istediğinizden emin misiniz?';
-$messages['contactdeleting'] = 'KiÅŸi(er) siliniyor...';
+$messages['contactdeleting'] = 'KiÅŸi(ler) siliniyor...';
$messages['groupdeleting'] = 'Grup siliniyor...';
$messages['folderdeleting'] = 'Klasör siliniyor...';
$messages['foldermoving'] = 'Klasör taşınıyor...';
@@ -87,27 +88,27 @@ $messages['noldapserver'] = 'Lütfen arama için bir LDAP sunucu seçin';
$messages['nosearchname'] = 'Lütfen bir kişi ismi veya e-posta adresi girin';
$messages['notuploadedwarning'] = 'Henüz tüm ekli dosyalar yüklenmedi. Lütfen bekleyin ya da yüklemeyi iptal edin.';
$messages['searchsuccessful'] = '$nr posta bulundu';
-$messages['contactsearchsuccessful'] = '$nr kiÅŸi bulundu';
-$messages['searchnomatch'] = 'Aramanıza uygun hiçbir sonuç bulunamadı';
+$messages['contactsearchsuccessful'] = '$nr kiÅŸi bulundu.';
+$messages['searchnomatch'] = 'Aramanıza uygun hiçbir sonuç bulunamadı.';
$messages['searching'] = 'Aranıyor...';
$messages['checking'] = 'Denetleniyor...';
-$messages['nospellerrors'] = 'Yazım hatası bulunamadı';
-$messages['folderdeleted'] = 'Klasör silindi';
-$messages['foldersubscribed'] = 'Klasöre abone olundu';
-$messages['folderunsubscribed'] = 'Klasör aboneliği kaldırıldı';
-$messages['folderpurged'] = 'Klasör sıklaştırıldı';
-$messages['folderexpunged'] = 'Klasör boşaltıldı';
-$messages['deletedsuccessfully'] = 'Silindi';
+$messages['nospellerrors'] = 'Yazım hatası bulunamadı.';
+$messages['folderdeleted'] = 'Klasör başarıyla silindi.';
+$messages['foldersubscribed'] = 'Klasöre başarıyla abone olundu.';
+$messages['folderunsubscribed'] = 'Klasör aboneliği başarıyla kaldırıldı.';
+$messages['folderpurged'] = 'Klasör başarıyla sıklaştırıldı.';
+$messages['folderexpunged'] = 'Klasör başarıyla boşaltıldı.';
+$messages['deletedsuccessfully'] = 'Başarıyla silindi.';
$messages['converting'] = 'Postanın biçimlendirmesi kaldırılıyor...';
-$messages['messageopenerror'] = 'Sunucudan posta yüklenemedi';
-$messages['fileuploaderror'] = 'Dosya yükleme başarısız';
-$messages['filesizeerror'] = 'Yüklenen dosya en büyük dosya boyunu ($size) aşıyor';
+$messages['messageopenerror'] = 'Sunucudan posta yüklenemedi.';
+$messages['fileuploaderror'] = 'Dosya yükleme başarısız.';
+$messages['filesizeerror'] = 'Yüklenen dosya en büyük dosya boyunu ($size) aşıyor.';
$messages['copysuccess'] = '$nr adet kişi başarıyla kopyalandı.';
$messages['movesuccess'] = '$nr adet kişi başarıyla taşındı.';
$messages['copyerror'] = 'Kişiler kopyalanamadı.';
$messages['moveerror'] = 'Kişiler taşınamadı.';
-$messages['sourceisreadonly'] = 'Adres kaynağı salt okunur durumda';
-$messages['errorsavingcontact'] = 'KiÅŸinin adresi kaydedilemedi';
+$messages['sourceisreadonly'] = 'Adres kaynağı salt okunur durumda.';
+$messages['errorsavingcontact'] = 'KiÅŸi adresi kaydedilemedi.';
$messages['movingmessage'] = 'Posta(lar) taşınıyor...';
$messages['copyingmessage'] = 'Posta(lar) kopyalanıyor...';
$messages['copyingcontact'] = 'Kişile(ler) kopyalanıyor...';
@@ -116,19 +117,19 @@ $messages['deletingmessage'] = 'Posta(lar) siliniyor...';
$messages['markingmessage'] = 'Posta(lar) iÅŸaretleniyor...';
$messages['addingmember'] = 'Gruba kiÅŸi(ler) ekleniyor...';
$messages['removingmember'] = 'Gruptan kiÅŸi(ler) siliniyor...';
-$messages['receiptsent'] = 'Okundu onayı gönderildi';
-$messages['errorsendingreceipt'] = 'Okundu onayı gönderilemedi';
+$messages['receiptsent'] = 'Okundu onayı başarıyla gönderildi.';
+$messages['errorsendingreceipt'] = 'Okundu onayı gönderilemedi.';
$messages['deleteidentityconfirm'] = 'Bu kimliÄŸi silmek istediÄŸinizden emin misiniz?';
-$messages['nodeletelastidentity'] = 'Son kimliğiniz olduğu için bu kimliği silemezsiniz';
-$messages['forbiddencharacter'] = 'Klasör ismi yasaklanmış bir karakter içeriyor';
-$messages['selectimportfile'] = 'Lütfen yüklenecek dosyayı seçin';
-$messages['addresswriterror'] = 'Seçili adres defterine yazılamaz';
-$messages['contactaddedtogroup'] = 'KiÅŸiler bu gruba eklendi';
+$messages['nodeletelastidentity'] = 'Son kimliğiniz olduğu için bu kimliği silemezsiniz.';
+$messages['forbiddencharacter'] = 'Klasör ismi yasaklanmış bir karakter içeriyor.';
+$messages['selectimportfile'] = 'Lütfen yüklenecek dosyayı seçin.';
+$messages['addresswriterror'] = 'Seçili adres defteri yazılabilir durumda değil.';
+$messages['contactaddedtogroup'] = 'Kişiler bu başarıyla gruba eklendi.';
$messages['contactremovedfromgroup'] = 'Kişiler bu gruptan çıkarıldı';
$messages['nogroupassignmentschanged'] = 'Grup atamalarında bir değişiklik yapılmadı';
$messages['importwait'] = 'Aktarılıyor, lütfen bekleyin...';
$messages['importformaterror'] = 'İçe aktarım başarısız. Yüklenen dosya geçerli bir içe aktarım dosyası değil.';
-$messages['importconfirm'] = '<b>$inserted kişi başarıyla aktarıldı</b>';
+$messages['importconfirm'] = '<b>$inserted kişiler başarıyla aktarıldı</b>';
$messages['importconfirmskipped'] = '<b>Var olan $skipped girdi atlandı</b>';
$messages['importmessagesuccess'] = '$nr adet mesaj başarıyla içe aktarıldı';
$messages['importmessageerror'] = 'İçe aktarım başarısız. Yüklenen dosya geçerli bir içe aktarım dosyası değil.';
diff --git a/program/localization/uk_UA/messages.inc b/program/localization/uk_UA/messages.inc
index fb3539467..5e4e6c631 100644
--- a/program/localization/uk_UA/messages.inc
+++ b/program/localization/uk_UA/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,6 @@ $messages['invalidrequest'] = 'Ðевірний запит! Дані не збе
$messages['invalidhost'] = 'Ðевірне ім\'Ñ Ñерверу.';
$messages['nomessagesfound'] = 'ЛиÑтів не знайдено';
$messages['loggedout'] = 'Вашу ÑеÑÑ–ÑŽ завершено. Ð’Ñього найкращого!';
-$messages['mailboxempty'] = 'Поштова Ñкринька порожнÑ';
$messages['refreshing'] = 'ОновленнÑ...';
$messages['loading'] = 'ЗавантаженнÑ...';
$messages['uploading'] = 'Файл відправлÑєтьÑÑ...';
@@ -44,6 +43,8 @@ $messages['messagesent'] = 'ЛиÑÑ‚ уÑпішно відправлено';
$messages['savingmessage'] = 'Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð»Ð¸Ñта...';
$messages['messagesaved'] = 'Збережено в Чернетках';
$messages['successfullysaved'] = 'Збережено';
+$messages['savingresponse'] = 'Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‚ÐµÐºÑту відповіді...';
+$messages['deleteresponseconfirm'] = 'Справді бажаєте видалити цей текÑÑ‚ відповіді?';
$messages['addedsuccessfully'] = 'Контакт уÑпішно доданий до ÑпиÑку контактів';
$messages['contactexists'] = 'Контакт з такою електронною адреÑою вже Ñ–Ñнує';
$messages['contactnameexists'] = 'Контакт з таким Ñамим іменем вже Ñ–Ñнує.';
diff --git a/program/localization/vi_VN/labels.inc b/program/localization/vi_VN/labels.inc
index 6bd6d4402..d0a63ead2 100644
--- a/program/localization/vi_VN/labels.inc
+++ b/program/localization/vi_VN/labels.inc
@@ -15,26 +15,27 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/labels/
*/
-$labels['welcome'] = 'Chào bạn đã đến với $product';
+$labels['welcome'] = 'Chào mừng bạn đã sử dụng $product';
$labels['username'] = 'Tên đăng nhập';
$labels['password'] = 'Mật khẩu';
$labels['server'] = 'Máy chủ';
$labels['login'] = 'Äăng nhập';
$labels['logout'] = 'Thoát';
$labels['mail'] = 'ThÆ°';
-$labels['settings'] = 'Tùy chá»n';
+$labels['settings'] = 'Thiết lập cấu hình';
$labels['addressbook'] = 'Sổ địa chỉ';
$labels['inbox'] = 'Há»™p thÆ°';
$labels['drafts'] = 'Thư nháp';
$labels['sent'] = 'Äã gá»­i';
-$labels['trash'] = 'Sá»t rác';
+$labels['trash'] = 'Thùng rác';
$labels['junk'] = 'Thư rác';
+$labels['show_real_foldernames'] = 'Hiển thị tên thật cho các thư mục đặc biệt';
$labels['subject'] = 'Tiêu Ä‘á»';
-$labels['from'] = 'NgÆ°á»i gá»­i';
+$labels['from'] = 'Gửi từ';
$labels['sender'] = 'NgÆ°á»i gá»­i';
$labels['to'] = 'NgÆ°á»i nhận';
$labels['cc'] = 'Äồng kính gá»­i';
-$labels['bcc'] = 'NgÆ°á»i đồng nhận (ngừoi nhận không thấy email của ngÆ°á»i khác cùng được nhận thÆ°)';
+$labels['bcc'] = 'NgÆ°á»i đồng nhận (ngÆ°á»i nhận không thấy email của ngÆ°á»i khác cùng được nhận thÆ°)';
$labels['replyto'] = 'Trả lá»i cho';
$labels['followupto'] = 'Äánh dấu thÆ° cần theo dõi';
$labels['date'] = 'Ngày';
@@ -51,7 +52,9 @@ $labels['fromtoshort'] = '$from - $to của $count';
$labels['copy'] = 'Sao chép';
$labels['move'] = 'Di Chuyển';
$labels['moveto'] = 'Di chuyển tới...';
+$labels['copyto'] = 'Sao dữ liệu đến...';
$labels['download'] = 'Tải vá»';
+$labels['open'] = 'Mở';
$labels['showattachment'] = 'Hiển thị';
$labels['showanyway'] = 'Tiếp tục hiển thị';
$labels['filename'] = 'Tên tập tin';
@@ -164,6 +167,7 @@ $labels['listmode'] = 'Xem dạng danh sách';
$labels['folderactions'] = 'Thao tác với thư mục';
$labels['compact'] = 'Nén';
$labels['empty'] = 'Trống';
+$labels['importmessages'] = 'Nhập thư';
$labels['quota'] = 'Lượng đĩa sử dụng';
$labels['unknown'] = 'Không rõ';
$labels['unlimited'] = 'không giới hạn';
@@ -194,6 +198,16 @@ $labels['spellcheck'] = 'Äánh vần';
$labels['checkspelling'] = 'Kiểm tra chính tả';
$labels['resumeediting'] = 'Tiếp tục soạn thảo';
$labels['revertto'] = 'Trở lại với';
+$labels['restore'] = 'Khôi phục';
+$labels['restoremessage'] = 'Khôi phục thư?';
+$labels['responses'] = 'Các phản hồi';
+$labels['insertresponse'] = 'Thêm một phản hồi';
+$labels['manageresponses'] = 'Quản lý các phản hồi';
+$labels['savenewresponse'] = 'Lưu một phản hồi mới';
+$labels['editresponses'] = 'Sửa các phản hồi';
+$labels['editresponse'] = 'Sửa phản hồi';
+$labels['responsename'] = 'Tên';
+$labels['responsetext'] = 'Thông tin phản hồi';
$labels['attach'] = 'Äính kèm';
$labels['attachments'] = 'Các đính kèm';
$labels['upload'] = 'Tải lên';
@@ -313,7 +327,11 @@ $labels['searchdelete'] = 'Xóa tìm kiếm';
$labels['import'] = 'Nhập';
$labels['importcontacts'] = 'Nhập liên lạc';
$labels['importfromfile'] = 'Nhập từ tập tin:';
+$labels['importtarget'] = 'Thêm các địa chỉ liên hệ vào';
$labels['importreplace'] = 'Thay thế toàn bộ sổ địa chỉ';
+$labels['importgroups'] = 'Nhập nhóm';
+$labels['importgroupsall'] = 'Tất cả (tạo nhóm nếu cần thiết)';
+$labels['importgroupsexisting'] = 'Chỉ dành cho các nhóm đang tồn tại';
$labels['importdesc'] = 'Bạn có thể cập nhật các liên hệ từ một sổ địa chỉ có sẵn.<br />Hiện tại, chúng tôi hỗ trợ nhập địa chỉ từ dạng dữ liệu <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> hoặc CSV (dạng thức dữ liệu ngăn cách bằng dấu phẩy)';
$labels['done'] = 'Hoàn tất';
$labels['settingsfor'] = 'Thiết lập cho';
@@ -347,6 +365,7 @@ $labels['htmleditor'] = 'Soạn thư dạng HTML';
$labels['htmlonreply'] = 'Chỉ trả lá»i lại bằng thÆ° HTML';
$labels['htmlonreplyandforward'] = 'Khi chuyển tiếp hoặc trả lá»i thÆ° theo định dạng HTML';
$labels['htmlsignature'] = 'Chữ ký HTML';
+$labels['showemail'] = 'Hiển thị địa chỉ email kèm theo tên ';
$labels['previewpane'] = 'Hiển thị ô Xem thử';
$labels['skin'] = 'BỠmặt giao diện';
$labels['logoutclear'] = 'Xóa sạch rác khi thoát';
@@ -416,9 +435,13 @@ $labels['spellcheckignorenums'] = 'BỠqua các từ kèm số';
$labels['spellcheckignorecaps'] = 'BỠqua các từ được viết hoa';
$labels['addtodict'] = 'Thêm vào từ điển';
$labels['mailtoprotohandler'] = 'Xác định cách xử lý giao thức mailto: liên kết';
+$labels['standardwindows'] = 'Mở các popup nhÆ° là các cá»­a sổ thông thÆ°á»ng';
$labels['forwardmode'] = 'Chuyển tiếp thư';
$labels['inline'] = 'nội tuyến';
$labels['asattachment'] = 'dạng gửi kèm';
+$labels['replyallmode'] = 'Thao tác mặc định cho nút [Trả lá»i tất cả]';
+$labels['replyalldefault'] = 'Trả lá»i tất cả';
+$labels['replyalllist'] = 'Chỉ gá»­i trả lá»i đến danh sách thÆ° (nếu có tồn tại)';
$labels['folder'] = 'Thư mục';
$labels['folders'] = 'Các thư mục';
$labels['foldername'] = 'Tên thư mục';
diff --git a/program/localization/vi_VN/messages.inc b/program/localization/vi_VN/messages.inc
index b2d7c71ff..5c9983e33 100644
--- a/program/localization/vi_VN/messages.inc
+++ b/program/localization/vi_VN/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -15,7 +15,7 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/messages/
*/
-$messages['errortitle'] = 'Xuất hiện 1 lỗi';
+$messages['errortitle'] = 'Có lỗi xảy ra.';
$messages['loginfailed'] = 'Không đăng nhập được';
$messages['cookiesdisabled'] = 'Trình duyệt không hỗ trợ cookies';
$messages['sessionerror'] = 'Phiên làm việc không hợp lệ hoặc đã hết hạn';
@@ -26,11 +26,12 @@ $messages['dberror'] = 'Lỗi cơ sở dữ liệu';
$messages['requesttimedout'] = 'Yêu cầu hết hạn';
$messages['errorreadonly'] = 'Không thể thá»±c hiện thao tác. ThÆ° mục chỉ cho phép Ä‘á»c.';
$messages['errornoperm'] = 'Bạn không đủ quyá»n hạn để thá»±c hiện thao tác này.';
+$messages['erroroverquota'] = 'Không thể thực hiện thao tác do không còn đủ chỗ trống trên ổ đĩa.';
+$messages['erroroverquotadelete'] = 'Không còn dư chỗ trống trên ổ đĩa. Sử dụng tổ hợp phím SHIFT+DEL để xoá thư.';
$messages['invalidrequest'] = 'Yêu cầu không hợp lệ! Không có dữ liệu nào được lưu.';
$messages['invalidhost'] = 'Sai thông tin máy chủ';
$messages['nomessagesfound'] = 'Không thấy có thư nào trong hộp thư này.';
$messages['loggedout'] = 'Phiên làm việc đã kết thúc thành công. Hẹn gặp lại!';
-$messages['mailboxempty'] = 'Há»™p thÆ° rá»—ng';
$messages['refreshing'] = 'Äang tải xuống bản cập nhật má»›i...';
$messages['loading'] = 'Äang tải...';
$messages['uploading'] = 'Äang tải lên tập tin...';
@@ -42,6 +43,8 @@ $messages['messagesent'] = 'Thư đã được gửi thành công.';
$messages['savingmessage'] = 'Äang lÆ°u thÆ°...';
$messages['messagesaved'] = 'Thư đã được lưu lại vào hộp thư Nháp.';
$messages['successfullysaved'] = 'Äã lÆ°u thành công';
+$messages['savingresponse'] = 'Äang lÆ°u thông tin...';
+$messages['deleteresponseconfirm'] = 'Bạn có thực sự muốn xoá thông tin này?';
$messages['addedsuccessfully'] = 'Liên hệ đã được thêm vào sổ địa chỉ thành công.';
$messages['contactexists'] = 'Liên hệ trùng địa chỉ email đã tồn tại';
$messages['contactnameexists'] = 'Liên hệ trùng tên đã tồn tại.';
@@ -52,6 +55,8 @@ $messages['contactnotfound'] = 'Không tìm thấy liên lạc được yêu cáº
$messages['contactsearchonly'] = 'Gõ một vài từ tìm kiếm để tìm liên hệ';
$messages['sendingfailed'] = 'Không gửi được thư';
$messages['senttooquickly'] = 'Xin đợi vài giây trước khi gửi thư này';
+$messages['errorsavingsent'] = 'Có lỗi xảy ra khi lưu lại thư đã gửi.';
+$messages['errorsaving'] = 'Lỗi trong quá trình lưu.';
$messages['errormoving'] = 'Không thể chuyển được thư';
$messages['errorcopying'] = 'Không thể sao chép thư';
$messages['errordeleting'] = 'Không thể xóa được thư';
@@ -76,6 +81,7 @@ $messages['norecipientwarning'] = 'Xin nhập it nhất 1 ngÆ°á»i nhận.';
$messages['nosubjectwarning'] = 'Mục "Tiêu Ä‘á»" vẫn còn trống. Bạn có muốn nhập tiêu Ä‘á» bây giá» không?';
$messages['nobodywarning'] = 'Gửi thư không có nội dung?';
$messages['notsentwarning'] = 'Thư chưa được gửi. BỠqua thư đang soạn?';
+$messages['restoresavedcomposedata'] = 'Tìm thấy má»™t thÆ° đã được soạn trÆ°á»›c nhÆ°ng chÆ°a gá»­i.\n\nTiêu Ä‘á»: $subject\nLÆ°u ngày: $date\n\nBạn có muốn khôi phục lại thÆ° này?';
$messages['noldapserver'] = 'Chá»n máy chủ ldap server để tìm';
$messages['nosearchname'] = 'Nhập liên hệ hoặc địa chỉ email.';
$messages['notuploadedwarning'] = 'Tất cả các đính kèm vẫn chưa được tải lên hết. Xin đợi hoặc hủy việc tải lên.';
@@ -95,11 +101,16 @@ $messages['converting'] = 'Loại bỠđịnh dạng...';
$messages['messageopenerror'] = 'Không thể tải thư từ máy chủ';
$messages['fileuploaderror'] = 'Tải tập tin lên thất bại';
$messages['filesizeerror'] = 'Tập tin được tải lên vượt quá dung lượng tối đa....';
+$messages['copysuccess'] = 'Sao chép thành công $nr địa chỉ.';
+$messages['movesuccess'] = 'Äã chuyển thành công $nr địa chỉ liên hệ.';
+$messages['copyerror'] = 'Không thể sao chép địa chỉ liên hệ nào.';
+$messages['moveerror'] = 'Không thể chuyển địa chỉ liên hệ nào.';
$messages['sourceisreadonly'] = 'Nguồn địa chỉ này chỉ cho Ä‘á»c';
$messages['errorsavingcontact'] = 'Không thể lưu địa chỉ liên lạc';
$messages['movingmessage'] = 'Äang chuyển thÆ°...';
$messages['copyingmessage'] = 'Äang sao chép thÆ°...';
$messages['copyingcontact'] = 'Äang sao chép liên lạc...';
+$messages['movingcontact'] = 'Äang chuyển (các) địa chỉ liên hệ...';
$messages['deletingmessage'] = 'Äang xóa thÆ°...';
$messages['markingmessage'] = 'Äánh dấu thÆ°...';
$messages['addingmember'] = 'Äang thêm liên lạc vào nhóm...';
@@ -118,6 +129,8 @@ $messages['importwait'] = 'Äang nhập, xin chá»...';
$messages['importformaterror'] = 'Nhập dữ liệu lỗi. Tệp tin vừa tải lên không phải tệp dữ liệu chính xác.';
$messages['importconfirm'] = 'Äã nhập $inserted liên hệ đã chèn vào thành công.';
$messages['importconfirmskipped'] = 'Äã bá» qua được $skipped mục tồn tại.';
+$messages['importmessagesuccess'] = 'Äã nhập thành công $nr thÆ°.';
+$messages['importmessageerror'] = 'Nhập dữ liệu bị lỗi. Tệp tin vừa tải lên không có định dạng chính xác của tệp cấu hình hòm thư hoặc một thư đơn lẻ.';
$messages['opnotpermitted'] = 'Thao tác không được cho phép!';
$messages['nofromaddress'] = 'Äịa chỉ email mất ở trong nhận dạng đã chá»n';
$messages['editorwarning'] = 'Việc chuyển soạn thảo text gốc sẽ gây ra toàn bộ định dạng text đã có bị mất. Bạn có muốn tiếp tục không?';
@@ -131,6 +144,7 @@ $messages['smtperror'] = 'Lá»—i SMTP: $msg';
$messages['emailformaterror'] = 'Äịa chỉ email không hợp lệ';
$messages['toomanyrecipients'] = 'Quá nhiá»u ngÆ°á»i nhận. Hãy giảm số lượng ngÆ°á»i nhận xuống tối Ä‘a là $max.';
$messages['maxgroupmembersreached'] = 'Số lượng thành viên trong nhóm vượt quá mức tối đa là $max.';
+$messages['internalerror'] = 'Xuất hiện một lỗi nội bộ. Xin hãy thử lại';
$messages['contactdelerror'] = 'Không thể xóa liên lạc';
$messages['contactdeleted'] = 'Liên lạc được xóa thành công';
$messages['contactrestoreerror'] = 'Không thể khôi phục liên lạc đã xóa';
diff --git a/program/localization/zh_CN/labels.inc b/program/localization/zh_CN/labels.inc
index 1d9c04733..c3b14396c 100644
--- a/program/localization/zh_CN/labels.inc
+++ b/program/localization/zh_CN/labels.inc
@@ -29,6 +29,7 @@ $labels['drafts'] = 'è‰ç¨¿ç®±';
$labels['sent'] = 'å·²å‘é€é‚®ä»¶';
$labels['trash'] = '已删除邮件';
$labels['junk'] = '垃圾邮件';
+$labels['show_real_foldernames'] = '显示特殊文件夹的åå­—';
$labels['subject'] = '主题';
$labels['from'] = 'å‘件人';
$labels['sender'] = 'å‘件人';
@@ -165,6 +166,7 @@ $labels['listmode'] = '列表视图样å¼';
$labels['folderactions'] = '文件夹æ“作...';
$labels['compact'] = '压缩';
$labels['empty'] = '清空';
+$labels['importmessages'] = '导入邮件';
$labels['quota'] = '邮箱容é‡';
$labels['unknown'] = '未知';
$labels['unlimited'] = 'æ— é™åˆ¶';
@@ -173,6 +175,8 @@ $labels['resetsearch'] = '清空';
$labels['searchmod'] = '修改æœç´¢';
$labels['msgtext'] = 'æ•´å°é‚®ä»¶';
$labels['body'] = '正文';
+$labels['type'] = '类型:';
+$labels['namex'] = '姓å';
$labels['openinextwin'] = '在新窗å£ä¸­æ‰“å¼€';
$labels['emlsave'] = '下载(.eml)';
$labels['changeformattext'] = '以文本格å¼æ˜¾ç¤º';
@@ -193,6 +197,16 @@ $labels['spellcheck'] = '拼写';
$labels['checkspelling'] = '拼写检查';
$labels['resumeediting'] = '继续编辑';
$labels['revertto'] = 'æ¢å¤è‡³';
+$labels['restore'] = 'æ¢å¤ä¿¡æ¯';
+$labels['restoremessage'] = '是å¦æ¢å¤ä¿¡æ¯ï¼Ÿ';
+$labels['responses'] = '回å¤';
+$labels['insertresponse'] = 'æ’入回å¤';
+$labels['manageresponses'] = '管ç†å›žå¤';
+$labels['savenewresponse'] = 'ä¿å­˜æ–°å›žå¤';
+$labels['editresponses'] = '编辑回å¤';
+$labels['editresponse'] = '编辑回å¤';
+$labels['responsename'] = '姓å';
+$labels['responsetext'] = '以文本形å¼å›žå¤';
$labels['attach'] = '附加';
$labels['attachments'] = '附件';
$labels['upload'] = '上传';
@@ -305,13 +319,18 @@ $labels['nextpage'] = '下一页';
$labels['lastpage'] = '末页';
$labels['group'] = '分组';
$labels['groups'] = '分组';
+$labels['listgroup'] = '列出è”系人åå•';
$labels['personaladrbook'] = '个人通讯录';
$labels['searchsave'] = 'ä¿å­˜æœç´¢';
$labels['searchdelete'] = '删除æœç´¢';
$labels['import'] = '导入';
$labels['importcontacts'] = '导入通讯录';
$labels['importfromfile'] = '从文件导入';
+$labels['importtarget'] = '添加è”系人至';
$labels['importreplace'] = '替æ¢å…¨éƒ¨é€šè®¯å½•';
+$labels['importgroups'] = '导入群组任务';
+$labels['importgroupsall'] = '全部(如果需è¦åˆ™åˆ›å»ºæ–°çš„群组)';
+$labels['importgroupsexisting'] = 'ä»…é™äºŽå·²æœ‰ç¾¤ç»„';
$labels['importdesc'] = '您å¯ä»¥ä»Žé€šè®¯å½•æ–‡ä»¶ä¸Šä¼ è”系人,目å‰å·²æ”¯æŒ <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> å’Œ CSV(逗å·åˆ†éš”)æ ¼å¼';
$labels['done'] = '完æˆ';
$labels['settingsfor'] = '设置';
@@ -415,9 +434,13 @@ $labels['spellcheckignorenums'] = '忽略带数字的å•è¯';
$labels['spellcheckignorecaps'] = '忽略所有大写字æ¯çš„å•è¯';
$labels['addtodict'] = '添加到字典中';
$labels['mailtoprotohandler'] = 'æ³¨å†Œä¸ºå¤„ç† mailto 链接的程åº';
+$labels['standardwindows'] = '以标准窗å£çš„å½¢å¼å¼¹å‡ºçª—å£';
$labels['forwardmode'] = '邮件转å‘æ–¹å¼';
$labels['inline'] = '内嵌';
$labels['asattachment'] = '作为附件';
+$labels['replyallmode'] = '[回å¤æ‰€æœ‰]按钮的默认动作';
+$labels['replyalldefault'] = '回å¤å…¨éƒ¨';
+$labels['replyalllist'] = 'åªå›žå¤é‚®ä»¶åˆ—表中的è”系人(找到的)';
$labels['folder'] = '文件夹管ç†';
$labels['folders'] = '文件夹管ç†';
$labels['foldername'] = '邮件夹å称';
diff --git a/program/localization/zh_CN/messages.inc b/program/localization/zh_CN/messages.inc
index bf6e8cf2f..4adebcc74 100644
--- a/program/localization/zh_CN/messages.inc
+++ b/program/localization/zh_CN/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -32,7 +32,6 @@ $messages['invalidrequest'] = '请求无效ï¼æœªä¿å­˜æ•°æ®ã€‚';
$messages['invalidhost'] = '无效的主机å。';
$messages['nomessagesfound'] = '此邮件夹内无邮件。';
$messages['loggedout'] = '您已æˆåŠŸæ³¨é”€ï¼Œå†è§ï¼';
-$messages['mailboxempty'] = '邮件夹为空。';
$messages['refreshing'] = '正在刷新...';
$messages['loading'] = '正在载入...';
$messages['uploading'] = '正在上传文件...';
@@ -44,6 +43,8 @@ $messages['messagesent'] = '邮件已å‘é€ã€‚';
$messages['savingmessage'] = '正在ä¿å­˜é‚®ä»¶...';
$messages['messagesaved'] = '邮件已暂存至è‰ç¨¿ç®±ã€‚';
$messages['successfullysaved'] = 'ä¿å­˜æˆåŠŸã€‚';
+$messages['savingresponse'] = '正在ä¿å­˜å“应文本...';
+$messages['deleteresponseconfirm'] = '是å¦ç¡®è®¤åˆ é™¤å“应文本?';
$messages['addedsuccessfully'] = 'è”系人已添加。';
$messages['contactexists'] = '当å‰è”系人的电å­é‚®ä»¶åœ°å€å·²å­˜åœ¨ã€‚';
$messages['contactnameexists'] = '已存在åŒåè”系人。';
@@ -54,6 +55,8 @@ $messages['contactnotfound'] = '未找到指定的è”系人。';
$messages['contactsearchonly'] = '请输入è”系人的æœç´¢æ¡ä»¶';
$messages['sendingfailed'] = 'å‘é€å¤±è´¥ã€‚';
$messages['senttooquickly'] = '您需è¦ç­‰å¾…$sec秒æ‰èƒ½å‘é€é‚®ä»¶ã€‚';
+$messages['errorsavingsent'] = 'ä¿å­˜å·²å‘é€é‚®ä»¶æ—¶å‘生错误。';
+$messages['errorsaving'] = 'ä¿å­˜æ—¶å‘生错误。';
$messages['errormoving'] = '无法移动邮件。';
$messages['errorcopying'] = '无法å¤åˆ¶é‚®ä»¶ã€‚';
$messages['errordeleting'] = '无法删除邮件。';
@@ -78,6 +81,7 @@ $messages['norecipientwarning'] = '至少输入一个收件人。';
$messages['nosubjectwarning'] = '主题为空。您è¦è¾“入一个主题å—?';
$messages['nobodywarning'] = 'è¦å‘é€æ²¡æœ‰æ­£æ–‡çš„邮件å—?';
$messages['notsentwarning'] = '邮件未å‘é€ã€‚您确定è¦ç¦»å¼€å¹¶èˆå¼ƒå½“å‰é‚®ä»¶å—?';
+$messages['restoresavedcomposedata'] = '您有一å°é‚®ä»¶å°šæœªå‘é€.\n\nSubject: $subject\nSaved: $date\n\n您是å¦è¦æ¢å¤è¿™å°é‚®ä»¶ï¼Ÿ';
$messages['noldapserver'] = '请选择一个用æ¥æŸ¥æ‰¾çš„ LDAP æœåŠ¡å™¨ã€‚';
$messages['nosearchname'] = '请输入è”系人姓å或电å­é‚®ä»¶åœ°å€ã€‚';
$messages['notuploadedwarning'] = '附件尚未全部上传,请è€å¿ƒç­‰å¾…或者å–消上传。';
@@ -140,6 +144,7 @@ $messages['smtperror'] = 'SMTP 错误: $msg';
$messages['emailformaterror'] = '无效的邮件地å€ï¼š$email';
$messages['toomanyrecipients'] = '收件人太多,请å‡å°‘人数至 $max。';
$messages['maxgroupmembersreached'] = '组员数é‡è¶…过最大值 $max。';
+$messages['internalerror'] = 'é‡åˆ°ä¸€ä¸ªå†…部错误,请é‡è¯•ã€‚';
$messages['contactdelerror'] = '无法删除è”系人。';
$messages['contactdeleted'] = '删除è”系人æˆåŠŸã€‚';
$messages['contactrestoreerror'] = '无法æ¢å¤å·²åˆ é™¤çš„è”系人。';
diff --git a/program/localization/zh_TW/labels.inc b/program/localization/zh_TW/labels.inc
index ca7debdea..e913f7117 100644
--- a/program/localization/zh_TW/labels.inc
+++ b/program/localization/zh_TW/labels.inc
@@ -37,7 +37,7 @@ $labels['to'] = '收件者';
$labels['cc'] = '副本';
$labels['bcc'] = '密件副本';
$labels['replyto'] = '回覆至';
-$labels['followupto'] = '信件跟隨至';
+$labels['followupto'] = '郵件列表回覆地å€';
$labels['date'] = '日期';
$labels['size'] = '大å°';
$labels['priority'] = '優先順åº';
@@ -45,13 +45,14 @@ $labels['organization'] = '組織';
$labels['readstatus'] = '讀信狀態';
$labels['listoptions'] = '列表é¸é …...';
$labels['mailboxlist'] = '資料夾';
-$labels['messagesfromto'] = '郵件 $from 至 $to,共有 $count å°éƒµä»¶';
-$labels['threadsfromto'] = '郵件串 $from 至 $to,共有 $count 個';
+$labels['messagesfromto'] = '郵件 $from 至 $to,共 $count å°';
+$labels['threadsfromto'] = '郵件串 $from 至 $to,共 $count 個';
$labels['messagenrof'] = '第 $nr å°éƒµä»¶ï¼Œå…±æœ‰ $count å°';
-$labels['fromtoshort'] = '自 $from – $to 統計 $count';
+$labels['fromtoshort'] = '$from – $to 共 $count 個';
$labels['copy'] = '複製';
$labels['move'] = '移動';
$labels['moveto'] = '移至...';
+$labels['copyto'] = '複製到...';
$labels['download'] = '下載';
$labels['open'] = 'é–‹å•Ÿ';
$labels['showattachment'] = '顯示';
@@ -148,7 +149,7 @@ $labels['expand-all'] = '全部展開';
$labels['expand-unread'] = '展開未讀å–';
$labels['collapse-all'] = '全部收起';
$labels['threaded'] = '郵件串';
-$labels['autoexpand_threads'] = 'åªå±•é–‹éƒµä»¶ä¸²';
+$labels['autoexpand_threads'] = '展開郵件串';
$labels['do_expand'] = '所有郵件串';
$labels['expand_only_unread'] = 'åªå±•é–‹æœªè®€è¨Šæ¯';
$labels['fromto'] = '寄件者/收件者';
@@ -175,6 +176,7 @@ $labels['resetsearch'] = 'é‡è¨­æœå°‹';
$labels['searchmod'] = '修改æœå°‹';
$labels['msgtext'] = 'æ•´å°éƒµä»¶';
$labels['body'] = '內文';
+$labels['type'] = 'é¡žåž‹';
$labels['namex'] = 'å稱';
$labels['openinextwin'] = '在新視窗開啟';
$labels['emlsave'] = '下載(.eml)';
@@ -184,7 +186,7 @@ $labels['editasnew'] = '以新郵件編輯';
$labels['send'] = '寄出';
$labels['sendmessage'] = 'ç«‹å³å¯„出';
$labels['savemessage'] = '儲存æˆè‰ç¨¿';
-$labels['addattachment'] = '增加附件檔案';
+$labels['addattachment'] = '加入附件檔案';
$labels['charset'] = '郵件編碼';
$labels['editortype'] = '編輯器類型';
$labels['returnreceipt'] = 'è¦æ±‚讀å–回æ¢';
@@ -196,6 +198,16 @@ $labels['spellcheck'] = '拼字';
$labels['checkspelling'] = '拼字檢查';
$labels['resumeediting'] = '繼續編輯';
$labels['revertto'] = 'æ¢å¾©è‡³';
+$labels['restore'] = '回復';
+$labels['restoremessage'] = '回復郵件?';
+$labels['responses'] = 'é è¨­å›žæ‡‰';
+$labels['insertresponse'] = 'æ’å…¥é è¨­å›žæ‡‰';
+$labels['manageresponses'] = '管ç†é è¨­å›žæ‡‰';
+$labels['savenewresponse'] = '新增é è¨­å›žæ‡‰';
+$labels['editresponses'] = '編輯é è¨­å›žæ‡‰';
+$labels['editresponse'] = 'é è¨­å›žæ‡‰';
+$labels['responsename'] = 'å稱';
+$labels['responsetext'] = 'é è¨­å›žæ‡‰å…§å®¹';
$labels['attach'] = '附件';
$labels['attachments'] = '附加檔案';
$labels['upload'] = '上傳';
@@ -222,7 +234,7 @@ $labels['maxuploadsize'] = '上傳檔案大å°é™åˆ¶ç‚º $size';
$labels['addcc'] = '新增副本';
$labels['addbcc'] = '新增密件副本';
$labels['addreplyto'] = '新增回覆地å€';
-$labels['addfollowupto'] = '新增 信件跟隨至';
+$labels['addfollowupto'] = '新增郵件列表回覆地å€';
$labels['mdnrequest'] = '此郵件的寄件者希望在你閱讀此郵件時å—到通知。你想è¦é€šçŸ¥å¯„件者嗎?';
$labels['receiptread'] = '郵件回æ¢ï¼ˆå·²é–±è®€ï¼‰';
$labels['yourmessage'] = '這是你郵件的郵件回æ¢';
@@ -259,7 +271,7 @@ $labels['spouse'] = 'é…å¶';
$labels['allfields'] = '所有欄ä½';
$labels['search'] = 'æœå°‹';
$labels['advsearch'] = '進階æœå°‹';
-$labels['advanced'] = '進階設定';
+$labels['advanced'] = '進階';
$labels['other'] = '其他';
$labels['typehome'] = 'ä½å®¶';
$labels['typework'] = '工作';
@@ -292,7 +304,7 @@ $labels['uploadphoto'] = '上傳相片';
$labels['newcontact'] = '建立新è¯çµ¡äººè³‡æ–™';
$labels['deletecontact'] = '刪除所é¸æ“‡çš„è¯çµ¡äºº';
$labels['composeto'] = '寄信至所é¸æ“‡çš„è¯çµ¡äºº';
-$labels['contactsfromto'] = 'è¯çµ¡äºº $from 至 $to,共有 $count 人';
+$labels['contactsfromto'] = 'è¯çµ¡äºº $from 至 $to,共 $count 人';
$labels['print'] = '列å°';
$labels['export'] = '匯出通訊錄';
$labels['exportall'] = '匯出全部';
@@ -308,16 +320,19 @@ $labels['nextpage'] = '顯示下一é ';
$labels['lastpage'] = '顯示最後一é ';
$labels['group'] = '群組';
$labels['groups'] = '群組';
+$labels['listgroup'] = '列出群組æˆå“¡';
$labels['personaladrbook'] = '個人通訊錄';
$labels['searchsave'] = '儲存æœå°‹çµæžœ';
$labels['searchdelete'] = '刪除æœå°‹çµæžœ';
$labels['import'] = '匯入通訊錄';
-$labels['importcontacts'] = '由檔案匯入通訊錄';
+$labels['importcontacts'] = '匯入通訊錄';
$labels['importfromfile'] = 'é¸æ“‡ä½ è¦åŒ¯å…¥çš„檔案:';
-$labels['importreplace'] = '以匯入的資料å–代已存在的é‡è¤‡è³‡æ–™';
-$labels['importgroupsall'] = '全部(如有必è¦,新增群組)';
+$labels['importtarget'] = '新增è¯çµ¡äººåˆ°';
+$labels['importreplace'] = 'å–代整個';
+$labels['importgroups'] = '匯入群組';
+$labels['importgroupsall'] = '全部(å¿…è¦æ™‚新增群組)';
$labels['importgroupsexisting'] = '僅é™æ–¼æ—¢æœ‰ç¾¤çµ„';
-$labels['importdesc'] = '您å¯ä»¥å°‡å·²å­˜åœ¨çš„資料匯入通訊錄,目å‰æ”¯æ´åŒ¯å…¥ <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> 與 CSV (逗點分隔)æ ¼å¼è³‡æ–™';
+$labels['importdesc'] = '您å¯ä»¥å°‡ç¾æœ‰çš„è¯çµ¡äººåŒ¯å…¥é€šè¨ŠéŒ„。<br/>ç›®å‰æ”¯æ´åŒ¯å…¥ <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> 與 CSV (逗點分隔)æ ¼å¼ã€‚';
$labels['done'] = '完æˆ';
$labels['settingsfor'] = '設定';
$labels['about'] = '關於';
@@ -341,7 +356,7 @@ $labels['setdefault'] = '設æˆé è¨­å€¼';
$labels['autodetect'] = '自動é¸æ“‡';
$labels['language'] = '語言';
$labels['timezone'] = '時å€';
-$labels['pagesize'] = 'æ¯é éƒµä»¶æ•¸';
+$labels['pagesize'] = 'æ¯é é¡¯ç¤ºåˆ—數';
$labels['signature'] = 'ç°½å檔';
$labels['dstactive'] = '日光節約時間';
$labels['showinextwin'] = '在新視窗中顯示郵件';
@@ -359,23 +374,23 @@ $labels['uisettings'] = '使用者介é¢';
$labels['serversettings'] = '伺æœå™¨è¨­å®š';
$labels['mailboxview'] = '信箱顯示';
$labels['mdnrequests'] = '讀å–回æ¢å›žæ‡‰';
-$labels['askuser'] = 'è©¢å•ä½¿ç”¨è€…';
+$labels['askuser'] = 'è©¢å•æˆ‘';
$labels['autosend'] = '自動é€å‡º';
-$labels['autosendknown'] = 'åªå°æˆ‘çš„è¯çµ¡äººå‚³é€å›žæ¢ï¼Œå…¶ä»–è©¢å•ä½¿ç”¨è€…';
-$labels['autosendknownignore'] = 'åªå°æˆ‘çš„è¯çµ¡äººå‚³é€å›žæ¢ï¼Œå…¶ä»–忽略';
+$labels['autosendknown'] = '傳é€å›žæ¢çµ¦æˆ‘çš„è¯çµ¡äººï¼Œå…¶ä»–則詢å•æˆ‘';
+$labels['autosendknownignore'] = '傳é€å›žæ¢çµ¦æˆ‘çš„è¯çµ¡äººï¼Œå…¶ä»–則忽略';
$labels['ignore'] = '完全忽略';
$labels['readwhendeleted'] = '將刪除的郵件標示為已讀å–';
-$labels['flagfordeletion'] = '刪除郵件時將原始郵件標示為已刪除';
+$labels['flagfordeletion'] = '刪除郵件時åªå°‡éƒµä»¶æ¨™ç¤ºç‚ºå·²åˆªé™¤';
$labels['skipdeleted'] = 'ä¸è¦é¡¯ç¤ºå·²åˆªé™¤çš„郵件';
-$labels['deletealways'] = '如果移到垃圾桶失敗,就直接刪除';
-$labels['deletejunk'] = '直接從垃圾郵件刪除';
+$labels['deletealways'] = '如果移動郵件到垃圾桶失敗,就直接刪除';
+$labels['deletejunk'] = '直接刪除垃圾郵件中的郵件';
$labels['showremoteimages'] = '顯示é ç«¯éƒµä»¶å…§æ–‡ä¸­çš„圖片';
$labels['fromknownsenders'] = '從已知的寄件者';
$labels['always'] = '是';
$labels['showinlineimages'] = '將附加檔案的圖片顯示於郵件最後';
$labels['autosavedraft'] = '自動儲存è‰ç¨¿';
$labels['everynminutes'] = 'æ¯ $n 分é˜';
-$labels['refreshinterval'] = 'é‡æ–°æ•´ç† (確èªæ˜¯å¦æ–°éƒµä»¶)';
+$labels['refreshinterval'] = 'é‡æ–°æ•´ç† (檢查新郵件等)';
$labels['never'] = 'æ°¸ä¸';
$labels['immediately'] = '馬上';
$labels['messagesdisplaying'] = '郵件顯示';
@@ -385,10 +400,10 @@ $labels['2231folding'] = '完全 RFC 2231 模å¼ï¼ˆThunderbird)';
$labels['miscfolding'] = 'RFC 2047/2231 æ··åˆæ¨¡å¼ï¼ˆMS Outlook)';
$labels['2047folding'] = '完全 RFC 2047 模å¼ï¼ˆå…¶ä»–)';
$labels['force7bit'] = 'å° 8 ä½å…ƒå­—元使用 MIME 編碼';
-$labels['advancedoptions'] = '顯示進階設定é¸é …';
+$labels['advancedoptions'] = '進階é¸é …';
$labels['focusonnewmessage'] = '收到新郵件時使ç€è¦½å™¨ç²å¾—焦點';
$labels['checkallfolders'] = '檢查所有資料夾中的新郵件';
-$labels['displaynext'] = '郵件刪除ï¼ç§»å‹•æ™‚顯示下一個郵件';
+$labels['displaynext'] = '郵件刪除/移動時顯示下一å°éƒµä»¶';
$labels['defaultfont'] = 'HTMLæ ¼å¼é è¨­å­—åž‹';
$labels['mainoptions'] = '主è¦é¸é …';
$labels['browseroptions'] = 'ç€è¦½é¸é …';
@@ -398,8 +413,8 @@ $labels['newmessage'] = '新郵件';
$labels['signatureoptions'] = 'ç°½å檔é¸é …';
$labels['whenreplying'] = '回覆時';
$labels['replyempty'] = 'ä¸è¦åŒ…å«åŽŸä¾†çš„信件內容';
-$labels['replytopposting'] = '在原來的上方開始新訊æ¯';
-$labels['replybottomposting'] = '在原來的下方開始新訊æ¯';
+$labels['replytopposting'] = '在原文的上方開始新訊æ¯';
+$labels['replybottomposting'] = '在原文的下方開始新訊æ¯';
$labels['replyremovesignature'] = '回覆時移除原有簽å檔';
$labels['autoaddsignature'] = '自動附加簽å';
$labels['newmessageonly'] = 'åªæœ‰æ–°è¨Šæ¯';
@@ -411,15 +426,16 @@ $labels['reqmdn'] = 'æ°¸é ç´¢å–讀å–回æ¢';
$labels['reqdsn'] = '總是è¦æ±‚傳é€ç‹€æ…‹é€šçŸ¥';
$labels['replysamefolder'] = '將回信放在與原信件相åŒçš„資料夾';
$labels['defaultabook'] = 'é è¨­é€šè¨ŠéŒ„';
-$labels['autocompletesingle'] = '在自動完æˆä¸­ç•¥éŽå¦ä¸€å€‹email';
-$labels['listnamedisplay'] = '標記è¯çµ¡äººç‚º';
+$labels['autocompletesingle'] = '在自動完æˆæ™‚ç•¥éŽå…¶ä»–電郵地å€';
+$labels['listnamedisplay'] = 'è¯çµ¡äººé¡¯ç¤ºæ–¹å¼';
$labels['spellcheckbeforesend'] = '寄é€å‰åŸ·è¡Œæ‹¼å­—檢查';
$labels['spellcheckoptions'] = '拼字檢查é¸é …';
$labels['spellcheckignoresyms'] = '忽略符號';
$labels['spellcheckignorenums'] = '忽略數字';
$labels['spellcheckignorecaps'] = '忽略大寫字æ¯';
$labels['addtodict'] = '加入詞典';
-$labels['mailtoprotohandler'] = '註冊mailto:å”定處ç†ç¨‹å¼';
+$labels['mailtoprotohandler'] = '註冊為 mailto: 連çµçš„é è¨­è™•ç†å¸¸å¼';
+$labels['standardwindows'] = '以新視窗顯示彈出å¼å°è©±æ¡†';
$labels['forwardmode'] = '郵件轉寄方å¼';
$labels['inline'] = '放入內文';
$labels['asattachment'] = '當æˆé™„件';
diff --git a/program/localization/zh_TW/messages.inc b/program/localization/zh_TW/messages.inc
index c52116a55..23c951a8b 100644
--- a/program/localization/zh_TW/messages.inc
+++ b/program/localization/zh_TW/messages.inc
@@ -5,7 +5,7 @@
| localization/<lang>/messages.inc |
| |
| Localization file of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -33,6 +33,7 @@ $messages['invalidhost'] = '無效的伺æœå™¨å稱';
$messages['nomessagesfound'] = '此郵件匣沒有任何郵件';
$messages['loggedout'] = 'ä½ å·²æˆåŠŸåœ°ç™»å‡ºä¸¦çµæŸå·¥ä½œéšŽæ®µäº†ã€‚å†è¦‹ï¼';
$messages['mailboxempty'] = '郵件匣是空的';
+$messages['nomessages'] = '沒有郵件';
$messages['refreshing'] = 'é‡æ–°æ•´ç†ä¸­...';
$messages['loading'] = '載入中...';
$messages['uploading'] = '上傳檔案中...';
@@ -44,6 +45,8 @@ $messages['messagesent'] = '郵件寄出æˆåŠŸ';
$messages['savingmessage'] = '儲存郵件中...';
$messages['messagesaved'] = '郵件已經儲存至è‰ç¨¿åŒ£';
$messages['successfullysaved'] = '儲存æˆåŠŸ';
+$messages['savingresponse'] = '儲存é è¨­å›žæ‡‰ä¸­...';
+$messages['deleteresponseconfirm'] = '你確定è¦åˆªé™¤é€™å€‹é è¨­å›žæ‡‰å—Žï¼Ÿ';
$messages['addedsuccessfully'] = 'è¯çµ¡äººå·²ç¶“æˆåŠŸåœ°æ–°å¢žè‡³é€šè¨ŠéŒ„';
$messages['contactexists'] = 'æ­¤è¯çµ¡äººçš„é›»å­éƒµä»¶ä½å€å·²å­˜åœ¨';
$messages['contactnameexists'] = '已存在相åŒå稱的連絡人';
@@ -54,6 +57,8 @@ $messages['contactnotfound'] = '找ä¸åˆ°è¦æ±‚çš„è¯çµ¡äºº';
$messages['contactsearchonly'] = '輸入關éµå­—找尋連絡人';
$messages['sendingfailed'] = '郵件寄出失敗';
$messages['senttooquickly'] = '你寄出的郵件太éŽæ–¼é »ç¹ï¼Œè«‹ç¨å€™ $sec 秒後å†è©¦ä¸€æ¬¡ã€‚';
+$messages['errorsavingsent'] = '儲存郵件到寄件備份時發生錯誤。';
+$messages['errorsaving'] = '儲存時發生錯誤。';
$messages['errormoving'] = '無法移動此郵件';
$messages['errorcopying'] = '無法訊æ¯';
$messages['errordeleting'] = '無法刪除此郵件';
@@ -78,6 +83,7 @@ $messages['norecipientwarning'] = '請輸入至少一ä½æ”¶ä¿¡è€…';
$messages['nosubjectwarning'] = '「主旨ã€æ¬„是空的。你è¦è¼¸å…¥ä¸€å€‹ä¸»æ—¨å—Žï¼Ÿ';
$messages['nobodywarning'] = 'è¦å‚³é€æ²’有內文的郵件嗎?';
$messages['notsentwarning'] = '郵件尚未寄出。你確定è¦é›¢é–‹ä¸¦ä¸”æ¨æ£„此郵件?';
+$messages['restoresavedcomposedata'] = '發ç¾ä¸€å°ä¸Šæ¬¡ç·¨å¯«ä½†å°šæœªå¯„出的郵件。\n\n主旨: $subject\n日期: $date\n\nä½ è¦å›žå¾©é€™å°éƒµä»¶å—Žï¼Ÿ';
$messages['noldapserver'] = 'è«‹é¸æ“‡ä¸€å€‹ LDAP 伺æœå™¨é€²è¡Œæœå°‹';
$messages['nosearchname'] = '請輸入一個è¯çµ¡äººå§“å或電å­éƒµä»¶ä½å€';
$messages['notuploadedwarning'] = '尚有附加檔案未上傳完畢,請等待或å–消上傳';
@@ -95,8 +101,8 @@ $messages['folderexpunged'] = '資料夾æˆåŠŸå£“縮';
$messages['deletedsuccessfully'] = '刪除æˆåŠŸ';
$messages['converting'] = '移除郵件格å¼ä¸­...';
$messages['messageopenerror'] = '無法從伺æœå™¨è¼‰å…¥éƒµä»¶';
-$messages['fileuploaderror'] = '檔案上傳失敗';
-$messages['filesizeerror'] = '上傳的檔案超éŽäº† $size 的大å°é™åˆ¶';
+$messages['fileuploaderror'] = '檔案上傳失敗。';
+$messages['filesizeerror'] = '上傳的檔案超éŽäº† $size 的大å°é™åˆ¶ã€‚';
$messages['copysuccess'] = 'æˆåŠŸè¤‡è£½ $nr 個è¯çµ¡äººã€‚';
$messages['movesuccess'] = 'æˆåŠŸç§»å‹• $nr 個è¯çµ¡äººã€‚';
$messages['copyerror'] = '無法複製任何è¯çµ¡äººã€‚';
@@ -116,17 +122,17 @@ $messages['errorsendingreceipt'] = '無法傳é€å›žæ¢';
$messages['deleteidentityconfirm'] = '您確定è¦åˆªé™¤é€™ä½é€£çµ¡äººå—Ž?';
$messages['nodeletelastidentity'] = 'ä½ ä¸èƒ½åˆªé™¤æ­¤èº«ä»½ï¼Œå› ç‚ºåªå‰©ä¸€å€‹èº«ä»½ã€‚';
$messages['forbiddencharacter'] = '資料夾å稱中包å«éžæ³•çš„å­—å…ƒ';
-$messages['selectimportfile'] = 'è«‹é¸æ“‡ä¸€å€‹ä¸Šå‚³çš„檔案';
+$messages['selectimportfile'] = 'è«‹é¸æ“‡ä¸€å€‹è¦ä¸Šå‚³çš„檔案。';
$messages['addresswriterror'] = '無法寫入é¸æ“‡çš„通訊錄';
$messages['contactaddedtogroup'] = 'æˆåŠŸæŠŠè¯çµ¡äººåŠ å…¥æ­¤ç¾¤çµ„';
$messages['contactremovedfromgroup'] = 'æˆåŠŸæŠŠç§»é™¤æ­¤ç¾¤çµ„中的è¯çµ¡äºº';
$messages['nogroupassignmentschanged'] = '群組資料沒有異動';
$messages['importwait'] = '匯入中,請ç¨å€™...';
-$messages['importformaterror'] = '匯入失敗ï¼ä¸Šè¼‰çš„檔案格å¼ä¸æ”¯æ´';
+$messages['importformaterror'] = '匯入失敗ï¼ä¸æ”¯æ´ä¸Šè¼‰çš„檔案格å¼ã€‚';
$messages['importconfirm'] = '<b>æˆåŠŸåŒ¯å…¥ $inserted ç­†è³‡æ–™ï¼Œç•¥éŽ $skipped 筆已存在的資料</b>:<p><em>$names</em></p>';
$messages['importconfirmskipped'] = '<b>ç•¥éŽ $skipped 個已存在的項目</b>';
$messages['importmessagesuccess'] = 'æˆåŠŸåŒ¯å…¥ $nr å°éƒµä»¶';
-$messages['importmessageerror'] = '匯入失敗ï¼ä¸Šè¼‰çš„檔案ä¸æ˜¯æœ‰æ•ˆçš„郵件或資料夾檔案';
+$messages['importmessageerror'] = '匯入失敗ï¼ä¸Šè¼‰çš„檔案ä¸æ˜¯æœ‰æ•ˆçš„郵件或資料夾檔案。';
$messages['opnotpermitted'] = 'ä¸å…許的æ“作';
$messages['nofromaddress'] = '在é¸æ“‡çš„身分中éºå¤±äº†é›»å­éƒµä»¶ä½å€';
$messages['editorwarning'] = '切æ›åˆ°ç´”文字編輯模å¼å°‡æœƒéºå¤±æ‰€æœ‰è¨­å®šçš„樣å¼ã€‚您確定è¦ç¹¼çºŒå—Žï¼Ÿ';
@@ -140,6 +146,7 @@ $messages['smtperror'] = 'SMTP 錯誤:$msg';
$messages['emailformaterror'] = '錯誤電å­éƒµä»¶ï¼š$email';
$messages['toomanyrecipients'] = '太多收件人。請減少至 $max 人';
$messages['maxgroupmembersreached'] = '太多群組æˆå“¡ï¼Œè¶…éŽæœ€å¤§äººæ•¸ $max 人';
+$messages['internalerror'] = '發生內部錯誤。請å†æ¬¡å˜—試。';
$messages['contactdelerror'] = '無法刪除è¯çµ¡äºº';
$messages['contactdeleted'] = 'è¯çµ¡äººæˆåŠŸåˆªé™¤';
$messages['contactrestoreerror'] = '無法復原刪除的連絡人';
diff --git a/program/steps/addressbook/func.inc b/program/steps/addressbook/func.inc
index b33396baf..be0dd2a33 100644
--- a/program/steps/addressbook/func.inc
+++ b/program/steps/addressbook/func.inc
@@ -160,7 +160,7 @@ function rcmail_contact_source($source=null, $init_env=false, $writable=false)
return $CONTACTS;
$OUTPUT->set_env('readonly', $CONTACTS->readonly);
- $OUTPUT->set_env('source', $source);
+ $OUTPUT->set_env('source', (string) $source);
// reduce/extend $CONTACT_COLTYPES with specification from the current $CONTACT object
if (is_array($CONTACTS->coltypes)) {
diff --git a/program/steps/addressbook/import.inc b/program/steps/addressbook/import.inc
index 33e473242..5dee5c06a 100644
--- a/program/steps/addressbook/import.inc
+++ b/program/steps/addressbook/import.inc
@@ -308,10 +308,11 @@ function rcmail_import_buttons($attrib)
$out = $OUTPUT->button(array('command' => 'list', 'prop' => $target, 'label' => 'done') + $attrib);
}
else {
- $out = $OUTPUT->button(array('command' => 'list', 'label' => 'cancel') + $attrib);
- $out .= '&nbsp;';
+ $cancel = $OUTPUT->button(array('command' => 'list', 'label' => 'cancel') + $attrib);
$attrib['class'] = trim($attrib['class'] . ' mainaction');
- $out .= $OUTPUT->button(array('command' => 'import', 'label' => 'import') + $attrib);
+ $out = $OUTPUT->button(array('command' => 'import', 'label' => 'import') + $attrib);
+ $out .= '&nbsp;';
+ $out .= $cancel;
}
return $out;
diff --git a/program/steps/mail/autocomplete.inc b/program/steps/mail/autocomplete.inc
index 5b8b49dba..71b337a53 100644
--- a/program/steps/mail/autocomplete.inc
+++ b/program/steps/mail/autocomplete.inc
@@ -90,7 +90,7 @@ if (!empty($book_types) && strlen($search)) {
// skip duplicates
if (!in_array($contact, $contacts)) {
- $contacts[] = $contact;
+ $contacts[] = array('name' => $contact, 'type' => $sql_arr['_type']);
$sort_keys[] = sprintf('%s %03d', $sql_arr['name'] , $idx++);
if (count($contacts) >= $MAXNUM) {
@@ -118,7 +118,7 @@ if (!empty($book_types) && strlen($search)) {
if ($group_prop['email']) {
$idx = 0;
foreach ((array)$group_prop['email'] as $email) {
- $contacts[] = format_email_recipient($email, $group['name']);
+ $contacts[] = array('name' => format_email_recipient($email, $group['name']), 'type' => 'group');
$sort_keys[] = sprintf('%s %03d', $group['name'] , $idx++);
if (count($contacts) >= $MAXNUM) {
@@ -131,6 +131,7 @@ if (!empty($book_types) && strlen($search)) {
$sort_keys[] = $group['name'];
$contacts[] = array(
'name' => $group['name'] . ' (' . intval($result->count) . ')',
+ 'type' => 'group',
'id' => $group['ID'],
'source' => $id
);
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index db001d54e..040d81689 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -62,36 +62,6 @@ if (!is_array($COMPOSE)) {
rcmail_process_compose_params($COMPOSE);
- // add attachments listed by message_compose hook
- if (is_array($plugin['attachments'])) {
- foreach ($plugin['attachments'] as $attach) {
- // we have structured data
- if (is_array($attach)) {
- $attachment = $attach;
- }
- // only a file path is given
- else {
- $filename = basename($attach);
- $attachment = array(
- 'group' => $COMPOSE_ID,
- 'name' => $filename,
- 'mimetype' => rcube_mime::file_content_type($attach, $filename),
- 'path' => $attach,
- );
- }
-
- // save attachment if valid
- if (($attachment['data'] && $attachment['name']) || ($attachment['path'] && file_exists($attachment['path']))) {
- $attachment = rcmail::get_instance()->plugins->exec_hook('attachment_save', $attachment);
- }
-
- if ($attachment['status'] && !$attachment['abort']) {
- unset($attachment['data'], $attachment['status'], $attachment['abort']);
- $COMPOSE['attachments'][$attachment['id']] = $attachment;
- }
- }
- }
-
// check if folder for saving sent messages exists and is subscribed (#1486802)
if ($sent_folder = $COMPOSE['param']['sent_mbox']) {
rcmail_check_sent_folder($sent_folder, true);
@@ -111,7 +81,8 @@ $OUTPUT->add_label('nosubject', 'nosenderwarning', 'norecipientwarning', 'nosubj
'nobodywarning', 'notsentwarning', 'notuploadedwarning', 'savingmessage', 'sendingmessage',
'messagesaved', 'converting', 'editorwarning', 'searching', 'uploading', 'uploadingmany',
'fileuploaderror', 'sendmessage', 'savenewresponse', 'responsename', 'responsetext', 'save',
- 'savingresponse', 'restoresavedcomposedata', 'restoremessage', 'delete', 'restore', 'ignore');
+ 'savingresponse', 'restoresavedcomposedata', 'restoremessage', 'delete', 'restore', 'ignore',
+ 'selectimportfile');
$OUTPUT->set_pagetitle($RCMAIL->gettext('compose'));
@@ -208,14 +179,20 @@ if (!empty($msg_uid) && empty($COMPOSE['as_attachment'])) {
if (!$MESSAGE->headers) {
// error
}
- else if ($compose_mode == RCUBE_COMPOSE_REPLY) {
- $COMPOSE['reply_uid'] = $msg_uid;
- $COMPOSE['reply_msgid'] = $MESSAGE->headers->messageID;
- $COMPOSE['references'] = trim($MESSAGE->headers->references . " " . $MESSAGE->headers->messageID);
+ else if ($compose_mode == RCUBE_COMPOSE_FORWARD || $compose_mode == RCUBE_COMPOSE_REPLY) {
+ if ($compose_mode == RCUBE_COMPOSE_REPLY) {
+ $COMPOSE['reply_uid'] = $msg_uid;
- if (!empty($COMPOSE['param']['all'])) {
- $MESSAGE->reply_all = $COMPOSE['param']['all'];
+ if (!empty($COMPOSE['param']['all'])) {
+ $MESSAGE->reply_all = $COMPOSE['param']['all'];
+ }
}
+ else {
+ $COMPOSE['forward_uid'] = $msg_uid;
+ }
+
+ $COMPOSE['reply_msgid'] = $MESSAGE->headers->messageID;
+ $COMPOSE['references'] = trim($MESSAGE->headers->references . " " . $MESSAGE->headers->messageID);
// Save the sent message in the same folder of the message being replied to
if ($RCMAIL->config->get('reply_same_folder') && ($sent_folder = $COMPOSE['mailbox'])
@@ -271,6 +248,10 @@ else {
}
}
+if (!empty($COMPOSE['reply_msgid'])) {
+ $OUTPUT->set_env('reply_msgid', $COMPOSE['reply_msgid']);
+}
+
$MESSAGE->compose = array();
// get user's identities
@@ -495,6 +476,36 @@ function rcmail_process_compose_params(&$COMPOSE)
// pipe compose parameters thru plugins
$plugin = $RCMAIL->plugins->exec_hook('message_compose', $COMPOSE);
$COMPOSE['param'] = array_merge($COMPOSE['param'], $plugin['param']);
+
+ // add attachments listed by message_compose hook
+ if (is_array($plugin['attachments'])) {
+ foreach ($plugin['attachments'] as $attach) {
+ // we have structured data
+ if (is_array($attach)) {
+ $attachment = $attach;
+ }
+ // only a file path is given
+ else {
+ $filename = basename($attach);
+ $attachment = array(
+ 'group' => $COMPOSE_ID,
+ 'name' => $filename,
+ 'mimetype' => rcube_mime::file_content_type($attach, $filename),
+ 'path' => $attach,
+ );
+ }
+
+ // save attachment if valid
+ if (($attachment['data'] && $attachment['name']) || ($attachment['path'] && file_exists($attachment['path']))) {
+ $attachment = rcmail::get_instance()->plugins->exec_hook('attachment_save', $attachment);
+ }
+
+ if ($attachment['status'] && !$attachment['abort']) {
+ unset($attachment['data'], $attachment['status'], $attachment['abort']);
+ $COMPOSE['attachments'][$attachment['id']] = $attachment;
+ }
+ }
+ }
}
function rcmail_compose_headers($attrib)
@@ -1237,6 +1248,7 @@ function rcmail_write_forward_attachments()
$storage = $RCMAIL->get_storage();
$names = array();
+ $refs = array();
$loaded_attachments = array();
foreach ((array)$COMPOSE['attachments'] as $attachment) {
@@ -1247,6 +1259,9 @@ function rcmail_write_forward_attachments()
$index = $storage->index(null, rcmail_sort_column(), rcmail_sort_order());
$COMPOSE['forward_uid'] = $index->get();
}
+ else if (strpos($COMPOSE['forward_uid'], ':')) {
+ $COMPOSE['forward_uid'] = rcube_imap_generic::uncompressMessageSet($COMPOSE['forward_uid']);
+ }
else {
$COMPOSE['forward_uid'] = explode(',', $COMPOSE['forward_uid']);
}
@@ -1316,6 +1331,18 @@ function rcmail_write_forward_attachments()
else if ($path) {
@unlink($path);
}
+
+ if ($message->headers->messageID) {
+ $refs[] = $message->headers->messageID;
+ }
+ }
+
+ // set In-Reply-To and References headers
+ if (count($refs) == 1) {
+ $COMPOSE['reply_msgid'] = $refs[0];
+ }
+ if (!empty($refs)) {
+ $COMPOSE['references'] = implode(' ', $refs);
}
}
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index 3487ec73f..066d38151 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -5,7 +5,7 @@
| program/steps/mail/func.inc |
| |
| This file is part of the Roundcube Webmail client |
- | Copyright (C) 2005-2013, The Roundcube Dev Team |
+ | Copyright (C) 2005-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -37,7 +37,7 @@ if (!empty($_GET['_page'])) {
$a_threading = $RCMAIL->config->get('message_threading', array());
$message_sort_col = $RCMAIL->config->get('message_sort_col');
-$message_sort_order = $RCMAIL->config->get('message_sort_col');
+$message_sort_order = $RCMAIL->config->get('message_sort_order');
// set default sort col/order to session
if (!isset($_SESSION['sort_col'])) {
@@ -144,7 +144,7 @@ if (empty($RCMAIL->action) || $RCMAIL->action == 'list') {
if (!$OUTPUT->ajax_call) {
$OUTPUT->add_label('checkingmail', 'deletemessage', 'movemessagetotrash',
'movingmessage', 'copyingmessage', 'deletingmessage', 'markingmessage',
- 'copy', 'move', 'quota', 'replyall', 'replylist', 'importwait');
+ 'copy', 'move', 'quota', 'replyall', 'replylist');
}
$pagetitle = $RCMAIL->localize_foldername($RCMAIL->storage->mod_folder($mbox_name), true);
@@ -651,7 +651,7 @@ function rcmail_get_messagecount_text($count = null, $page = null)
$max = $RCMAIL->storage->count(NULL, $RCMAIL->storage->get_threading() ? 'THREADS' : 'ALL');
if ($max == 0)
- $out = $RCMAIL->gettext('mailboxempty');
+ $out = $RCMAIL->storage->get_search_set() ? $RCMAIL->gettext('nomessages') : $RCMAIL->gettext('mailboxempty');
else
$out = $RCMAIL->gettext(array('name' => $RCMAIL->storage->get_threading() ? 'threadsfromto' : 'messagesfromto',
'vars' => array('from' => $start_msg,
@@ -2138,6 +2138,58 @@ function rcmail_message_import_form($attrib = array())
$content);
$RCMAIL->output->add_gui_object('importform', $attrib['id'].'Frm');
+ $RCMAIL->output->add_label('selectimportfile','importwait');
return html::div($attrib, $out);
}
+
+/**
+ * Add groups from the given address source to the address book widget
+ */
+function rcmail_compose_contact_groups($abook, $source_id, $search = null, $search_mode = 0)
+{
+ global $RCMAIL, $OUTPUT;
+
+ $jsresult = array();
+ foreach ($abook->list_groups($search, $search_mode) as $group) {
+ $abook->reset();
+ $abook->set_group($group['ID']);
+ $group_prop = $abook->get_group($group['ID']);
+
+ // group (distribution list) with email address(es)
+ if ($group_prop['email']) {
+ foreach ((array)$group_prop['email'] as $email) {
+ $row_id = 'G'.$group['ID'];
+ $jsresult[$row_id] = format_email_recipient($email, $group['name']);
+ $OUTPUT->command('add_contact_row', $row_id, array(
+ 'contactgroup' => html::span(array('title' => $email), rcube::Q($group['name']))), 'group');
+ }
+ }
+ // make virtual groups clickable to list their members
+ else if ($group_prop['virtual']) {
+ $row_id = 'G'.$group['ID'];
+ $OUTPUT->command('add_contact_row', $row_id, array(
+ 'contactgroup' => html::a(array(
+ 'href' => '#list',
+ 'rel' => $group['ID'],
+ 'title' => $RCMAIL->gettext('listgroup'),
+ 'onclick' => sprintf("return %s.command('pushgroup',{'source':'%s','id':'%s'},this,event)",
+ rcmail_output::JS_OBJECT_NAME, $source_id, $group['ID']),
+ ), rcube::Q($group['name']) . '&nbsp;' . html::span('action', '&raquo;'))),
+ 'group',
+ array('ID' => $group['ID'], 'name' => $group['name'], 'virtual' => true));
+ }
+ // show group with count
+ else if (($result = $abook->count()) && $result->count) {
+ $row_id = 'E'.$group['ID'];
+ $jsresult[$row_id] = $group['name'];
+ $OUTPUT->command('add_contact_row', $row_id, array(
+ 'contactgroup' => rcube::Q($group['name'] . ' (' . intval($result->count) . ')')), 'group');
+ }
+ }
+
+ $abook->reset();
+ $abook->set_group(0);
+
+ return $jsresult;
+}
diff --git a/program/steps/mail/import.inc b/program/steps/mail/import.inc
index 4f822e0e4..217927537 100644
--- a/program/steps/mail/import.inc
+++ b/program/steps/mail/import.inc
@@ -34,7 +34,6 @@ if (is_array($_FILES['_file'])) {
list($mtype_primary,) = explode('/', rcube_mime::file_content_type($filepath, $_FILES['_file']['name'][$i], $_FILES['_file']['type'][$i]));
if (!in_array($mtype_primary, array('text','message'))) {
- $OUTPUT->show_message('importmessageerror', 'error');
continue;
}
@@ -46,7 +45,6 @@ if (is_array($_FILES['_file'])) {
while ($line !== false && trim($line) == '');
if (!preg_match('/^From\s+-/', $line) && !preg_match('/^[a-z-_]+:\s+.+/i', $line)) {
- $OUTPUT->show_message('importmessageerror', 'error');
continue;
}
@@ -54,7 +52,7 @@ if (is_array($_FILES['_file'])) {
fseek($fp, 0);
while (($line = fgets($fp)) !== false) {
// importing mbox file, split by From - lines
- if (preg_match('/^From\s+-/', $line) && $lastline == '') {
+ if (preg_match('/^From\s+-/', $line) && ($lastline == '' || substr($lastline, -2) == '--')) {
if (!empty($message)) {
if ($RCMAIL->storage->save_message(null, rtrim($message))) {
$imported++;
diff --git a/program/steps/mail/list_contacts.inc b/program/steps/mail/list_contacts.inc
index 46f81353a..0ee81135b 100644
--- a/program/steps/mail/list_contacts.inc
+++ b/program/steps/mail/list_contacts.inc
@@ -5,7 +5,7 @@
| program/steps/mail/list_contacts.inc |
| |
| This file is part of the Roundcube Webmail client |
- | Copyright (C) 2012-2013, The Roundcube Dev Team |
+ | Copyright (C) 2012-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -23,15 +23,22 @@ $afields = $RCMAIL->config->get('contactlist_fields');
$addr_sort_col = $RCMAIL->config->get('addressbook_sort_col', 'name');
$page_size = $RCMAIL->config->get('addressbook_pagesize', $RCMAIL->config->get('pagesize', 50));
$list_page = max(1, intval($_GET['_page']));
+$jsresult = array();
// Use search result
if (!empty($_REQUEST['_search']) && isset($_SESSION['search'][$_REQUEST['_search']])) {
$search = (array)$_SESSION['search'][$_REQUEST['_search']];
+ $sparam = $_SESSION['search_params']['id'] == $_REQUEST['_search'] ? $_SESSION['search_params']['data'] : array();
// get records from all sources
foreach ($search as $s => $set) {
$CONTACTS = $RCMAIL->get_address_book($s);
+ // list matching groups of this source (on page one)
+ if ($sparam[1] && $CONTACTS->groups && $list_page == 1) {
+ $jsresult += rcmail_compose_contact_groups($CONTACTS, $s, $sparam[1], (int)$RCMAIL->config->get('addressbook_search_mode'));
+ }
+
// reset page
$CONTACTS->set_page(1);
$CONTACTS->set_pagesize(9999);
@@ -78,44 +85,7 @@ else {
}
// list groups of this source (on page one)
else if ($CONTACTS->groups && $CONTACTS->list_page == 1) {
- foreach ($CONTACTS->list_groups() as $group) {
- $CONTACTS->reset();
- $CONTACTS->set_group($group['ID']);
- $group_prop = $CONTACTS->get_group($group['ID']);
-
- // group (distribution list) with email address(es)
- if ($group_prop['email']) {
- foreach ((array)$group_prop['email'] as $email) {
- $row_id = 'G'.$group['ID'];
- $jsresult[$row_id] = format_email_recipient($email, $group['name']);
- $OUTPUT->command('add_contact_row', $row_id, array(
- 'contactgroup' => html::span(array('title' => $email), rcube::Q($group['name']))), 'group');
- }
- }
- // make virtual groups clickable to list their members
- else if ($group_prop['virtual']) {
- $row_id = 'G'.$group['ID'];
- $OUTPUT->command('add_contact_row', $row_id, array(
- 'contactgroup' => html::a(array(
- 'href' => '#list',
- 'rel' => $row['ID'],
- 'title' => $RCMAIL->gettext('listgroup'),
- 'onclick' => sprintf("return %s.command('pushgroup',{'source':'%s','id':'%s'},this,event)", rcmail_output::JS_OBJECT_NAME, $source, $group['ID']),
- ), rcube::Q($group['name']) . '&nbsp;' . html::span('action', '&raquo;'))),
- 'group',
- array('ID' => $group['ID'], 'name' => $group['name'], 'virtual' => true));
- }
- // show group with count
- else if (($result = $CONTACTS->count()) && $result->count) {
- $row_id = 'E'.$group['ID'];
- $jsresult[$row_id] = $group['name'];
- $OUTPUT->command('add_contact_row', $row_id, array(
- 'contactgroup' => rcube::Q($group['name'] . ' (' . intval($result->count) . ')')), 'group');
- }
- }
-
- $CONTACTS->reset();
- $CONTACTS->set_group(0);
+ $jsresult = rcmail_compose_contact_groups($CONTACTS, $source);
}
// get contacts for this user
diff --git a/program/steps/mail/search.inc b/program/steps/mail/search.inc
index e17552f7d..941e68bd9 100644
--- a/program/steps/mail/search.inc
+++ b/program/steps/mail/search.inc
@@ -40,6 +40,7 @@ $headers = rcube_utils::get_input_value('_headers', rcube_utils::INPUT_GET);
$scope = rcube_utils::get_input_value('_scope', rcube_utils::INPUT_GET);
$subject = array();
+$filter = trim($filter);
$search_request = md5($mbox.$filter.$str);
// add list filter string
diff --git a/program/steps/mail/search_contacts.inc b/program/steps/mail/search_contacts.inc
index 4d5abf9ef..d56581695 100644
--- a/program/steps/mail/search_contacts.inc
+++ b/program/steps/mail/search_contacts.inc
@@ -5,7 +5,7 @@
| program/steps/mail/search_contacts.inc |
| |
| This file is part of the Roundcube Webmail client |
- | Copyright (C) 2013, The Roundcube Dev Team |
+ | Copyright (C) 2013-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -27,12 +27,18 @@ $afields = $RCMAIL->config->get('contactlist_fields');
$page_size = $RCMAIL->config->get('addressbook_pagesize', $RCMAIL->config->get('pagesize', 50));
$records = array();
$search_set = array();
+$jsresult = array();
foreach ($sources as $s) {
$source = $RCMAIL->get_address_book($s['id']);
$source->set_page(1);
$source->set_pagesize(9999);
+ // list matching groups of this source
+ if ($source->groups) {
+ $jsresult += rcmail_compose_contact_groups($source, $s['id'], $search, $search_mode);
+ }
+
// get contacts count
$result = $source->search($afields, $search, $search_mode, true, true, 'email');
@@ -53,6 +59,8 @@ foreach ($sources as $s) {
unset($result);
}
+$group_count = count($jsresult);
+
// sort the records
ksort($records, SORT_LOCALE_STRING);
@@ -98,7 +106,7 @@ if (!empty($result) && $result->count > 0) {
$OUTPUT->command('set_env', 'source', '');
$OUTPUT->command('unselect_directory');
}
-else {
+else if (!$group_count) {
$OUTPUT->show_message('nocontactsfound', 'notice');
}
diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc
index 0619d630b..2cd897e46 100644
--- a/program/steps/mail/sendmail.inc
+++ b/program/steps/mail/sendmail.inc
@@ -209,7 +209,7 @@ if (!empty($COMPOSE['reply_uid']) && $savedraft) {
$headers['X-Draft-Info'] = array('type' => 'reply', 'uid' => $COMPOSE['reply_uid']);
}
else if (!empty($COMPOSE['forward_uid']) && $savedraft) {
- $headers['X-Draft-Info'] = array('type' => 'forward', 'uid' => $COMPOSE['forward_uid']);
+ $headers['X-Draft-Info'] = array('type' => 'forward', 'uid' => rcube_imap_generic::compressMessageSet($COMPOSE['forward_uid']));
}
if (!empty($COMPOSE['reply_msgid'])) {
diff --git a/program/steps/settings/edit_folder.inc b/program/steps/settings/edit_folder.inc
index fc6b2cd16..6b7bd08d2 100644
--- a/program/steps/settings/edit_folder.inc
+++ b/program/steps/settings/edit_folder.inc
@@ -139,6 +139,7 @@ function rcmail_folder_form($attrib)
'unsubscribed' => true,
'skip_noinferiors' => true,
'exceptions' => $exceptions,
+ 'additional' => strlen($selected) ? array($selected) : null,
));
$form['props']['fieldsets']['location']['content']['path'] = array(
diff --git a/program/steps/settings/edit_response.inc b/program/steps/settings/edit_response.inc
index 760f28290..6d3c3dc41 100644
--- a/program/steps/settings/edit_response.inc
+++ b/program/steps/settings/edit_response.inc
@@ -35,7 +35,7 @@ if (($key = rcube_utils::get_input_value('_key', rcube_utils::INPUT_GPC))) {
// save response
if ($RCMAIL->action == 'save-response' && isset($_POST['_name']) && !$RESPONSE_RECORD['static']) {
$name = trim(rcube_utils::get_input_value('_name', rcube_utils::INPUT_POST));
- $text = trim(rcube_utils::get_input_value('_text', rcube_utils::INPUT_POST));
+ $text = trim(rcube_utils::get_input_value('_text', rcube_utils::INPUT_POST, true));
if (!empty($name) && !empty($text)) {
$dupes = 0;
diff --git a/program/steps/settings/folders.inc b/program/steps/settings/folders.inc
index b09ea03ce..1bcfb4cfc 100644
--- a/program/steps/settings/folders.inc
+++ b/program/steps/settings/folders.inc
@@ -45,7 +45,7 @@ if ($RCMAIL->action == 'subscribe') {
if ($result) {
// Handle subscription of protected folder (#1487656)
if ($RCMAIL->config->get('protect_default_folders')
- && in_array($mbox, (array)$RCMAIL->config->get('default_folders'))
+ && $STORAGE->is_special_folder($mbox)
) {
$OUTPUT->command('disable_subscription', $mbox);
}
@@ -221,16 +221,15 @@ function rcube_subscription_form($attrib)
// get folders from server
$STORAGE->clear_cache('mailboxes', true);
- $a_unsubscribed = $STORAGE->list_folders();
- $a_subscribed = $STORAGE->list_folders_subscribed('', '*', null, null, true); // unsorted
- $delimiter = $STORAGE->get_hierarchy_delimiter();
- $namespace = $STORAGE->get_namespace();
- $a_js_folders = array();
- $seen = array();
- $list_folders = array();
-
- $default_folders = (array) $RCMAIL->config->get('default_folders');
+ $a_unsubscribed = $STORAGE->list_folders();
+ $a_subscribed = $STORAGE->list_folders_subscribed('', '*', null, null, true); // unsorted
+ $delimiter = $STORAGE->get_hierarchy_delimiter();
+ $namespace = $STORAGE->get_namespace();
+ $special_folders = array_flip(array_merge(array('inbox' => 'INBOX'), $STORAGE->get_special_folders()));
$protect_default = $RCMAIL->config->get('protect_default_folders');
+ $a_js_folders = array();
+ $seen = array();
+ $list_folders = array();
// pre-process folders list
foreach ($a_unsubscribed as $i => $folder) {
@@ -291,7 +290,7 @@ function rcube_subscription_form($attrib)
$idx = $i + 1;
$sub_key = array_search($folder['id'], $a_subscribed);
$subscribed = $sub_key !== false;
- $protected = $protect_default && in_array($folder['id'], $default_folders);
+ $protected = $protect_default && isset($special_folders[$folder['id']]);
$noselect = false;
$classes = array($i%2 ? 'even' : 'odd');
@@ -368,7 +367,7 @@ function rcube_subscription_form($attrib)
$OUTPUT->add_gui_object('subscriptionlist', $attrib['id']);
$OUTPUT->set_env('subscriptionrows', $a_js_folders);
- $OUTPUT->set_env('defaultfolders', $default_folders);
+ $OUTPUT->set_env('defaultfolders', array_keys($special_folders));
$OUTPUT->set_env('delimiter', $delimiter);
return $form_start . $table->show($attrib) . $form_end;
diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc
index 7c36df3b1..47efa5a70 100644
--- a/program/steps/settings/func.inc
+++ b/program/steps/settings/func.inc
@@ -376,13 +376,16 @@ function rcmail_user_prefs($current = null)
if ($current) {
$product_name = $RCMAIL->config->get('product_name', 'Roundcube Webmail');
$RCMAIL->output->add_script(sprintf("%s.check_protocol_handler('%s', '#mailtoprotohandler');",
- rcmail_output::JS_OBJECT_NAME, rcube::JQ($product_name)), 'foot');
+ rcmail_output::JS_OBJECT_NAME, rcube::JQ($product_name)), 'docready');
}
$blocks['browser']['options']['mailtoprotohandler'] = array(
'content' => html::a(array(
- 'href' => '#',
- 'id' => 'mailtoprotohandler'), rcube::Q($RCMAIL->gettext('mailtoprotohandler'))),
+ 'href' => '#',
+ 'id' => 'mailtoprotohandler'
+ ),
+ rcube::Q($RCMAIL->gettext('mailtoprotohandler'))) .
+ html::span('mailtoprotohandler-status', ''),
);
break;
@@ -1032,7 +1035,8 @@ function rcmail_user_prefs($current = null)
}
// Configure special folders
- if (!isset($no_override['default_folders']) && $current) {
+ $set = array('drafts_mbox', 'sent_mbox', 'junk_mbox', 'trash_mbox');
+ if ($current && count(array_intersect($no_override, $set)) < 4) {
$select = $RCMAIL->folder_selector(array(
'noselection' => '---',
'realnames' => true,
@@ -1040,10 +1044,10 @@ function rcmail_user_prefs($current = null)
'folder_filter' => 'mail',
'folder_rights' => 'w',
));
- }
- // #1486114, #1488279, #1489219
- $onchange = "if ($(this).val() == 'INBOX') $(this).val('')";
+ // #1486114, #1488279, #1489219
+ $onchange = "if ($(this).val() == 'INBOX') $(this).val('')";
+ }
if (!isset($no_override['drafts_mbox'])) {
if (!$current) {
@@ -1284,13 +1288,11 @@ function rcmail_update_folder_row($name, $oldname=null, $subscribe=false, $class
{
global $RCMAIL, $OUTPUT;
- $default_folders = (array) $RCMAIL->config->get('default_folders');
$protect_folders = $RCMAIL->config->get('protect_default_folders');
-
- $storage = $RCMAIL->get_storage();
- $delimiter = $storage->get_hierarchy_delimiter();
- $name_utf8 = rcube_charset::convert($name, 'UTF7-IMAP');
- $protected = $protect_folders && in_array($name, $default_folders);
+ $storage = $RCMAIL->get_storage();
+ $delimiter = $storage->get_hierarchy_delimiter();
+ $name_utf8 = rcube_charset::convert($name, 'UTF7-IMAP');
+ $protected = $protect_folders && $storage->is_special_folder($name);
$foldersplit = explode($delimiter, $storage->mod_folder($name));
$level = count($foldersplit) - 1;
diff --git a/program/steps/settings/responses.inc b/program/steps/settings/responses.inc
index 35a2a1b64..06093b3b8 100644
--- a/program/steps/settings/responses.inc
+++ b/program/steps/settings/responses.inc
@@ -22,7 +22,7 @@
if (!empty($_POST['_insert'])) {
$name = trim(rcube_utils::get_input_value('_name', rcube_utils::INPUT_POST));
- $text = trim(rcube_utils::get_input_value('_text', rcube_utils::INPUT_POST));
+ $text = trim(rcube_utils::get_input_value('_text', rcube_utils::INPUT_POST, true));
if (!empty($name) && !empty($text)) {
$dupes = 0;
diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc
index f71eee39a..7a17f21f4 100644
--- a/program/steps/settings/save_prefs.inc
+++ b/program/steps/settings/save_prefs.inc
@@ -121,12 +121,12 @@ case 'server':
case 'folders':
$a_user_prefs = array(
'show_real_foldernames' => isset($_POST['_show_real_foldernames']) ? true : false,
- 'drafts_mbox' => rcube_utils::get_input_value('_drafts_mbox', rcube_utils::INPUT_POST, true),
- 'sent_mbox' => rcube_utils::get_input_value('_sent_mbox', rcube_utils::INPUT_POST, true),
- 'junk_mbox' => rcube_utils::get_input_value('_junk_mbox', rcube_utils::INPUT_POST, true),
- 'trash_mbox' => rcube_utils::get_input_value('_trash_mbox', rcube_utils::INPUT_POST, true),
);
+ foreach (rcube_storage::$folder_types as $type) {
+ $a_user_prefs[$type . '_mbox'] = rcube_utils::get_input_value('_' . $type . '_mbox', rcube_utils::INPUT_POST, true);
+ };
+
break;
}
@@ -191,21 +191,15 @@ case 'addressbook':
break;
case 'folders':
- // special handling for 'default_folders'
- if (in_array('default_folders', (array)$CONFIG['dont_override'])) {
- foreach (array('drafts_mbox','sent_mbox','junk_mbox','trash_mbox') as $p) {
- $a_user_prefs[$p] = $CONFIG[$p];
- }
- }
- else {
- $a_user_prefs['default_folders'] = array('INBOX');
- foreach (array('drafts_mbox','sent_mbox','junk_mbox','trash_mbox') as $p) {
- if ($a_user_prefs[$p]) {
- $a_user_prefs['default_folders'][] = $a_user_prefs[$p];
- }
- }
+ $storage = $RCMAIL->get_storage();
+ $specials = array();
+
+ foreach (rcube_storage::$folder_types as $type) {
+ $specials[$type] = $a_user_prefs[$type . '_mbox'];
}
+ $storage->set_special_folders($specials);
+
break;
}
diff --git a/program/steps/utils/modcss.inc b/program/steps/utils/modcss.inc
index c8a7cb524..f3d8d897a 100644
--- a/program/steps/utils/modcss.inc
+++ b/program/steps/utils/modcss.inc
@@ -5,7 +5,7 @@
| program/steps/utils/modcss.inc |
| |
| This file is part of the Roundcube Webmail client |
- | Copyright (C) 2007-2012, The Roundcube Dev Team |
+ | Copyright (C) 2007-2014, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
@@ -33,27 +33,47 @@ if (!preg_match('~^(https?)://~i', $realurl, $matches)) {
exit("Invalid URL");
}
-if (!ini_get('allow_url_fopen')) {
+if (ini_get('allow_url_fopen')) {
+ $scheme = strtolower($matches[1]);
+ $options = array(
+ $scheme => array(
+ 'method' => 'GET',
+ 'timeout' => 15,
+ )
+ );
+
+ $context = stream_context_create($options);
+ $source = @file_get_contents($realurl, false, $context);
+
+ // php.net/manual/en/reserved.variables.httpresponseheader.php
+ $headers = implode("\n", (array) $http_response_header);
+}
+else if (function_exists('curl_init')) {
+ $curl = curl_init($realurl);
+ curl_setopt($curl, CURLOPT_TIMEOUT, 15);
+ curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 15);
+ curl_setopt($curl, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);
+ curl_setopt($curl, CURLOPT_ENCODING, '');
+ curl_setopt($curl, CURLOPT_HEADER, true);
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
+ $data = curl_exec($curl);
+
+ if ($data !== false) {
+ list($headers, $source) = explode("\r\n\r\n", $data, 2);
+ }
+ else {
+ $headers = false;
+ $source = false;
+ }
+}
+else {
header('HTTP/1.1 403 Forbidden');
exit("HTTP connections disabled");
}
-$scheme = strtolower($matches[1]);
-$options = array(
- $scheme => array(
- 'method' => 'GET',
- 'timeout' => 15,
- )
-);
-
-$context = stream_context_create($options);
-$source = @file_get_contents($realurl, false, $context);
-
-// php.net/manual/en/reserved.variables.httpresponseheader.php
-$headers = implode("\n", (array)$http_response_header);
-$ctype = '~Content-Type:\s+text/(css|plain)~i';
+$ctype_regexp = '~Content-Type:\s+text/(css|plain)~i';
-if ($source !== false && preg_match($ctype, $headers)) {
+if ($source !== false && preg_match($ctype_regexp, $headers)) {
header('Content-Type: text/css');
echo rcube_utils::mod_css_styles($source, preg_replace('/[^a-z0-9]/i', '', $_GET['_c']));
exit;
diff --git a/skins/classic/addressbook.css b/skins/classic/addressbook.css
index 2fcb1715a..ebf9ab9d9 100644
--- a/skins/classic/addressbook.css
+++ b/skins/classic/addressbook.css
@@ -144,28 +144,6 @@
width: 280px;
}
-#directorylist,
-#directorylist li ul
-{
- list-style: none;
- margin: 0;
- padding: 0;
- background-color: #FFFFFF;
-}
-
-#directorylist li ul
-{
- border-top: 1px solid #EBEBEB;
-}
-
-#directorylist li
-{
- display: block;
- font-size: 11px;
- border-bottom: 1px solid #EBEBEB;
- white-space: nowrap;
-}
-
#directorylist li a
{
cursor: default;
@@ -176,7 +154,9 @@
height: 16px;
text-decoration: none;
white-space: nowrap;
- background: url(images/icons/folders.png) 5px -108px no-repeat;
+ background-image: url(images/icons/folders.png);
+ background-position: 5px -108px;
+ background-repeat: no-repeat;
}
#directorylist li ul li a
@@ -184,11 +164,6 @@
padding-left: 45px;
}
-#directorylist li ul li:last-child
-{
- border-bottom: 0;
-}
-
#directorylist li.contactgroup a
{
background-position: 22px -143px;
@@ -199,18 +174,6 @@
background-position: 6px -162px;
}
-#directorylist li.selected > a
-{
- color: #FFF;
- font-weight: bold;
- background-color: #929292;
-}
-
-#directorylist li.droptarget
-{
- background-color: #FFFFA6;
-}
-
#contacts-table
{
width: 100%;
diff --git a/skins/classic/common.css b/skins/classic/common.css
index 10bc91c09..0de8a2f7f 100644
--- a/skins/classic/common.css
+++ b/skins/classic/common.css
@@ -55,6 +55,13 @@ a.tab
text-align: center;
}
+a.disabled
+{
+ color: #999;
+ text-decoration: none;
+ cursor: default;
+}
+
hr
{
height: 1px;
@@ -495,6 +502,7 @@ body.iframe .boxtitle
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
+ box-shadow: 1px 1px 12px #999;
-moz-box-shadow: 1px 1px 12px #999;
-webkit-box-shadow: #999 1px 1px 12px;
}
@@ -659,6 +667,12 @@ ul.treelist li div.treetoggle
cursor: pointer;
}
+ul.treelist li ul li div.treetoggle
+{
+ left: 28px !important;
+ left: 4px;
+}
+
ul.treelist li div.collapsed
{
background: url(images/icons/collapsed.png) bottom right no-repeat;
@@ -670,6 +684,73 @@ ul.treelist li div.expanded
}
+ul.treelist,
+ul.treelist li ul
+{
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ background-color: #FFFFFF;
+}
+
+ul.treelist li ul
+{
+ border-top: 1px solid #EBEBEB;
+}
+
+ul.treelist li
+{
+ display: block;
+ font-size: 11px;
+ border-bottom: 1px solid #EBEBEB;
+ white-space: nowrap;
+}
+
+ul.treelist li a
+{
+ cursor: default;
+ display: block;
+ padding-left: 25px;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ height: 16px;
+ text-decoration: none;
+ white-space: nowrap;
+}
+
+ul.treelist li ul li a
+{
+ padding-left: 45px;
+}
+
+ul.treelist ul ul li a
+{
+ padding-left: 65px;
+}
+
+ul.treelist ul ul ul li
+{
+ margin-left: 20px;
+}
+
+ul.treelist li ul li:last-child
+{
+ border-bottom: 0;
+}
+
+ul.treelist li.selected > a
+{
+ color: #FFF;
+ font-weight: bold;
+ background-color: #929292;
+}
+
+ul.treelist li.droptarget
+{
+ background-color: #FFFFA6;
+}
+
+
/***** mac-style quicksearch field *****/
#quicksearchbar
@@ -764,6 +845,7 @@ ul.treelist li div.expanded
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
+ box-shadow: 1px 1px 12px #999;
-moz-box-shadow: 1px 1px 12px #999;
-webkit-box-shadow: #999 1px 1px 12px;
}
@@ -880,6 +962,10 @@ font.bold
font-weight: bold;
}
+.formbuttons
+{
+ text-align: center;
+}
/***** onclick menu list *****/
diff --git a/skins/classic/images/mail_toolbar.png b/skins/classic/images/mail_toolbar.png
index 3ef003f23..357357795 100644
--- a/skins/classic/images/mail_toolbar.png
+++ b/skins/classic/images/mail_toolbar.png
Binary files differ
diff --git a/skins/classic/images/messageactions.gif b/skins/classic/images/messageactions.gif
index b73fbb354..3bdd0d735 100644
--- a/skins/classic/images/messageactions.gif
+++ b/skins/classic/images/messageactions.gif
Binary files differ
diff --git a/skins/classic/images/messageactions.png b/skins/classic/images/messageactions.png
index 2ea7b4f54..0dc655487 100644
--- a/skins/classic/images/messageactions.png
+++ b/skins/classic/images/messageactions.png
Binary files differ
diff --git a/skins/classic/includes/messagetoolbar.html b/skins/classic/includes/messagetoolbar.html
index 8d98c7e42..b6b16d635 100644
--- a/skins/classic/includes/messagetoolbar.html
+++ b/skins/classic/includes/messagetoolbar.html
@@ -17,6 +17,10 @@
<span id="forwardmenulink" onclick="rcmail_ui.show_popup('forwardmenu');return false"></span>
</span>
<roundcube:button command="delete" type="link" class="buttonPas delete" classAct="button delete" classSel="button deleteSel" title="deletemessage" content=" " />
+<roundcube:if condition="template:name == 'message'" />
+ <roundcube:button command="move" type="link" class="buttonPas move" classAct="button move" classSel="button moveSel" label="move" title="moveto" content=" " data-menu-pos="bottom" />
+ <roundcube:button command="print" type="link" class="buttonPas print" classAct="button print" classSel="button printSel" label="print" title="printmessage" content=" " />
+<roundcube:endif />
<roundcube:container name="toolbar" id="messagetoolbar" />
<roundcube:button name="markmenulink" id="markmenulink" type="link" class="button markmessage" title="markmessages" onclick="rcmail_ui.show_popup('markmenu');return false" content=" " />
<roundcube:button name="messagemenulink" id="messagemenulink" type="link" class="button messagemenu" title="moreactions" onclick="rcmail_ui.show_popup('messagemenu');return false" content=" " />
@@ -43,8 +47,8 @@
<li><roundcube:button class="printlink" command="print" label="printmessage" classAct="printlink active" /></li>
<li><roundcube:button class="downloadlink" command="download" label="emlsave" classAct="downloadlink active" /></li>
<li><roundcube:button class="editlink" command="edit" prop="new" label="editasnew" classAct="editlink active" /></li>
- <li><roundcube:button class="movelink" command="move" label="moveto" classAct="copylink active" innerclass="folder-selector-link" /></li>
- <li><roundcube:button class="copylink" command="copy" label="copyto" classAct="movelink active" innerclass="folder-selector-link" /></li>
+ <li><roundcube:button class="movelink" command="move" label="moveto" classAct="movelink active" innerclass="folder-selector-link" /></li>
+ <li><roundcube:button class="copylink" command="copy" label="copyto" classAct="copylink active" innerclass="folder-selector-link" /></li>
<li class="separator_below"><roundcube:button class="sourcelink" command="viewsource" label="viewsource" classAct="sourcelink active" /></li>
<li><roundcube:button class="openlink" command="open" label="openinextwin" target="_blank" classAct="openlink active" /></li>
<roundcube:container name="messagemenu" id="messagemenu" />
diff --git a/skins/classic/mail.css b/skins/classic/mail.css
index f5406b591..b1c8a0ea9 100644
--- a/skins/classic/mail.css
+++ b/skins/classic/mail.css
@@ -108,59 +108,68 @@
}
#messagetoolbar a.print {
- background-position: -224px 0;
+ background-position: -256px 0;
}
#messagetoolbar a.printSel {
- background-position: -224px -32px;
+ background-position: -256px -32px;
}
#messagetoolbar a.markmessage {
- background-position: -256px 0;
+ background-position: -288px 0;
}
#messagetoolbar a.messagemenu {
- background-position: -288px 0;
+ background-position: -320px 0;
+ width: 34px;
}
#messagetoolbar a.spellcheck {
- background-position: -384px 0;
+ background-position: -418px 0;
}
#messagetoolbar a.spellcheckSel {
- background-position: -384px -32px;
+ background-position: -418px -32px;
}
#messagetoolbar a.attach {
- background-position: -352px 0;
+ background-position: -386px 0;
}
#messagetoolbar a.attachSel {
- background-position: -352px -32px;
+ background-position: -386px -32px;
}
#messagetoolbar a.insertsig {
- background-position: -448px 0;
+ background-position: -482px 0;
}
#messagetoolbar a.insertsigSel {
- background-position: -448px -32px;
+ background-position: -482px -32px;
}
#messagetoolbar a.savedraft {
- background-position: -322px 0;
+ background-position: -354px 0;
}
#messagetoolbar a.savedraftSel {
- background-position: -322px -32px;
+ background-position: -354px -32px;
}
#messagetoolbar a.send {
- background-position: -416px 0;
+ background-position: -450px 0;
}
#messagetoolbar a.sendSel {
- background-position: -416px -32px;
+ background-position: -450px -32px;
+}
+
+#messagetoolbar a.move {
+ background-position: -580px 0;
+}
+
+#messagetoolbar a.moveSel {
+ background-position: -580px -32px;
}
#messagetoolbar a.download {
@@ -172,7 +181,7 @@
}
#messagetoolbar a.responses {
- background-position: -512px 0;
+ background-position: -548px 0;
}
#messagemenu li a.active:hover,
@@ -209,12 +218,22 @@
#messagemenu li a.openlink,
#attachmentmenu li a.openlink
{
- background-position: 7px -53px;
+ background-position: 7px -52px;
}
#messagemenu li a.editlink
{
- background-position: 7px -71px;
+ background-position: 6px -70px;
+}
+
+#messagemenu li a.movelink
+{
+ background-position: 6px -161px;
+}
+
+#messagemenu li a.copylink
+{
+ background-position: 6px -143px;
}
#markmessagemenu li a,
@@ -529,6 +548,31 @@
left: 87px !important;
}
+#mailboxlist li.mailbox ul li.drafts a
+{
+ background-position: 21px -37px;
+}
+
+#mailboxlist li.mailbox ul li.sent a
+{
+ background-position: 21px -54px;
+}
+
+#mailboxlist li.mailbox ul li.junk a
+{
+ background-position: 21px -73px;
+}
+
+#mailboxlist li.mailbox ul li.trash a
+{
+ background-position: 21px -180px;
+}
+
+#mailboxlist li.mailbox ul li.trash.empty a
+{
+ background-position: 21px -90px;
+}
+
#listcontrols
{
position: relative;
diff --git a/skins/classic/templates/login.html b/skins/classic/templates/login.html
index 2dacd48ff..8b549df0d 100644
--- a/skins/classic/templates/login.html
+++ b/skins/classic/templates/login.html
@@ -16,11 +16,9 @@
<div class="boxcontent">
<roundcube:form name="form" method="post">
-<roundcube:object name="loginform" form="form" />
-
-<p style="text-align:center;"><input type="submit" class="button mainaction" value="<roundcube:label name='login' />" /></p>
-
+<roundcube:object name="loginform" form="form" submit=true />
</form>
+
</div>
</div>
diff --git a/skins/larry/addressbook.css b/skins/larry/addressbook.css
index 54a14da0b..bfdd68127 100644
--- a/skins/larry/addressbook.css
+++ b/skins/larry/addressbook.css
@@ -39,7 +39,7 @@
#directorylistbox {
position: absolute;
- top: 42px;
+ top: 0;
left: 0;
width: 100%;
bottom: 0;
@@ -47,7 +47,7 @@
#addresslist {
position: absolute;
- top: 42px;
+ top: 0;
left: 0;
width: 280px;
bottom: 0;
@@ -55,7 +55,7 @@
#contacts-box {
position: absolute;
- top: 42px;
+ top: 0;
left: 292px;
right: 0;
bottom: 0;
@@ -71,7 +71,6 @@
background-position: -100px 0;
background-repeat: no-repeat;
overflow: hidden;
- padding-left: 36px;
text-overflow: ellipsis;
}
@@ -83,21 +82,11 @@
background-position: 6px -791px;
}
-#directorylist li.addressbook ul li:last-child {
- border-bottom: 0;
-}
-
-#directorylist li.addressbook ul.groups {
- margin: 0;
- padding: 0;
-}
-
#directorylist li.addressbook ul.groups li {
width: 100%;
}
#directorylist li.contactgroup a {
- padding-left: 62px;
background-position: 32px -1555px;
}
diff --git a/skins/larry/images/buttons.png b/skins/larry/images/buttons.png
index 8e2560198..e64931278 100644
--- a/skins/larry/images/buttons.png
+++ b/skins/larry/images/buttons.png
Binary files differ
diff --git a/skins/larry/images/listicons.png b/skins/larry/images/listicons.png
index 5abbbb229..551639876 100644
--- a/skins/larry/images/listicons.png
+++ b/skins/larry/images/listicons.png
Binary files differ
diff --git a/skins/larry/includes/mailtoolbar.html b/skins/larry/includes/mailtoolbar.html
index 5708a94f1..ac08a3200 100644
--- a/skins/larry/includes/mailtoolbar.html
+++ b/skins/larry/includes/mailtoolbar.html
@@ -11,6 +11,7 @@
</span>
<roundcube:button command="delete" type="link" class="button delete disabled" classAct="button delete" classSel="button delete pressed" label="delete" title="deletemessage" />
<roundcube:if condition="template:name == 'message'" />
+<roundcube:button command="move" type="link" class="button move disabled" classAct="button move" classSel="button move pressed" label="move" title="moveto" data-menu-pos="bottom" />
<roundcube:button command="print" type="link" class="button print disabled" classAct="button print" classSel="button print pressed" label="print" title="printmessage" />
<roundcube:endif />
<roundcube:container name="toolbar" id="mailtoolbar" />
diff --git a/skins/larry/mail.css b/skins/larry/mail.css
index 35d79d184..34ce789d0 100644
--- a/skins/larry/mail.css
+++ b/skins/larry/mail.css
@@ -34,10 +34,11 @@
#mailview-top {
position: absolute;
- top: 42px;
+ top: 0;
left: 0;
right: 0;
bottom: 0px;
+ overflow: visible; /* fixes display issues of fixed list header in IE */
}
#mailview-bottom {
@@ -58,7 +59,7 @@
#mailboxcontainer,
#messagelistcontainer {
position: absolute;
- top: 42px;
+ top: 0;
left: 0;
width: 100%;
bottom: 0;
@@ -201,6 +202,14 @@ a.iconbutton.threadmode.selected {
background-position: 6px -406px;
}
+#mailboxlist li.mailbox.trash.empty > a {
+ background-position: 6px -1924px;
+}
+
+#mailboxlist li.mailbox.trash.empty.selected > a {
+ background-position: 6px -1948px;
+}
+
#mailboxlist li.mailbox.archive > a {
background-position: 6px -1699px;
}
@@ -241,6 +250,14 @@ a.iconbutton.threadmode.selected {
background-position: 23px -406px;
}
+#mailboxlist li.mailbox ul li.trash.empty > a {
+ background-position: 23px -1924px;
+}
+
+#mailboxlist li.mailbox ul li.trash.empty.selected > a {
+ background-position: 23px -1948px;
+}
+
#mailboxlist li.mailbox ul li.archive > a {
background-position: 23px -1699px;
}
@@ -1061,20 +1078,20 @@ div.hide-headers {
margin: 8px;
}
-#message-objects div.notice,
-#message-buttons div.notice {
+#message-objects div.notice {
display: block;
color: #960;
border: 1px solid #ffdf0e;
background-color: #fef893;
background-position: 5px -83px;
- padding: 6px 12px 4px 30px;
+ padding: 6px 12px 6px 30px;
white-space: normal;
}
#message-objects div a.button,
#messagebody span.part-notice a.button {
margin-left: 10px;
+ margin-top: -1px;
}
div.message-part,
@@ -1198,7 +1215,7 @@ div.message-partheaders .headers-table td.header {
#messagepartcontainer {
position: absolute;
- top: 42px;
+ top: 0;
left: 232px;
right: 0;
bottom: 0;
@@ -1212,7 +1229,7 @@ div.message-partheaders .headers-table td.header {
#messagepartheader {
position: absolute;
- top: 42px;
+ top: 0;
left: 0;
width: 220px;
bottom: 0;
@@ -1254,7 +1271,7 @@ div.message-partheaders .headers-table td.header {
#compose-contacts {
position: absolute;
- top: 42px;
+ top: 0;
left: 0;
width: 100%;
bottom: 0;
@@ -1357,7 +1374,7 @@ div.message-partheaders .headers-table td.header {
#compose-content {
position: absolute;
- top: 42px;
+ top: 0;
left: 0;
right: 0;
bottom: 0px;
@@ -1447,7 +1464,6 @@ div.message-partheaders .headers-table td.header {
-o-box-shadow: inset 0 1px 0 0 #fff;
-webkit-box-shadow: inset 0 1px 0 0 #fff;
-moz-box-shadow: inset 0 1px 0 0 #fff;
-
}
.composeoption {
diff --git a/skins/larry/settings.css b/skins/larry/settings.css
index af667b9e7..675ef9973 100644
--- a/skins/larry/settings.css
+++ b/skins/larry/settings.css
@@ -319,3 +319,8 @@ img.skinthumbnail {
#rcmfd_signature_toolbar2 td {
width: auto;
}
+
+.mailtoprotohandler-status {
+ padding-left: 1em;
+ font-style: italic;
+}
diff --git a/skins/larry/styles.css b/skins/larry/styles.css
index 21d93c106..518ac725a 100644
--- a/skins/larry/styles.css
+++ b/skins/larry/styles.css
@@ -964,6 +964,14 @@ a.iconlink.upload {
bottom: 20px;
}
+#mainscreencontent {
+ position: absolute;
+ top: 42px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+}
+
.minimal #mainscreen {
top: 62px;
}
@@ -996,11 +1004,6 @@ a.iconlink.upload {
}
.minwidth {
- position: absolute;
- top: 0;
- left: 0;
- bottom: 0;
- width: 100%;
min-width: 1024px;
}
@@ -1175,16 +1178,61 @@ ul.treelist li {
position: relative;
}
+ul.treelist li ul {
+ margin: 0;
+ padding: 0;
+}
+
+ul.treelist li ul li:last-child {
+ border-bottom: 0;
+}
+
+ul.treelist li a {
+ display: block;
+ padding-left: 20px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+ul.treelist ul li a {
+ padding-left: 38px;
+}
+
+ul.treelist ul ul li a {
+ padding-left: 54px;
+}
+
+ul.treelist.iconized li a {
+ padding-left: 36px;
+}
+
+ul.treelist.iconized li ul li a {
+ padding-left: 62px;
+}
+
ul.treelist li div.treetoggle {
position: absolute;
- top: 13px;
- left: 19px;
+ top: 7px;
+ left: 4px;
width: 13px;
height: 13px;
background: url(images/listicons.png) -3px -144px no-repeat;
cursor: pointer;
}
+ul.treelist li ul li div.treetoggle {
+ left: 22px;
+}
+
+ul.treelist.iconized li div.treetoggle {
+ top: 13px;
+ left: 19px;
+}
+
+ul.treelist.iconized li ul li div.treetoggle {
+ left: 35px;
+}
+
ul.treelist li div.treetoggle.expanded {
background-position: -3px -168px;
}
@@ -1424,7 +1472,7 @@ table.records-table {
.records-table tr.unfocused td {
color: #fff !important;
- background: #4db0d2 !important;
+ background-color: #4db0d2 !important;
}
.records-table tr.unfocused td a,
@@ -1564,6 +1612,12 @@ body.iframe .footerleft.floating:before,
width: 95%;
}
+.propform a.disabled {
+ color: #999;
+ text-decoration: none;
+ cursor: default;
+}
+
fieldset.floating {
float: left;
margin-right: 10px;
@@ -1895,6 +1949,10 @@ ul.proplist li {
background-position: center -1094px;
}
+.toolbar a.button.move {
+ background-position: center -1971px;
+}
+
.toolbar a.button.more {
background-position: center -850px;
}
@@ -2217,6 +2275,14 @@ ul.toolbarmenu li span.conversation {
background-position: 0 -1532px;
}
+ul.toolbarmenu li span.move {
+ background-position: 0 -2126px;
+}
+
+ul.toolbarmenu li span.copy {
+ background-position: 0 -2150px;
+}
+
#snippetslist {
max-width: 200px;
}
@@ -2331,6 +2397,10 @@ ul.toolbarmenu li span.conversation {
/*** folder selector ***/
+#folder-selector {
+ z-index: 1000;
+}
+
#folder-selector li a span {
background: url("images/listicons.png") 4px -2021px no-repeat;
display: block;
diff --git a/skins/larry/templates/addressbook.html b/skins/larry/templates/addressbook.html
index 9f83853b2..97efdc6f3 100644
--- a/skins/larry/templates/addressbook.html
+++ b/skins/larry/templates/addressbook.html
@@ -24,13 +24,22 @@
<roundcube:container name="toolbar" id="addressbooktoolbar" />
</div>
+<!-- search box -->
+<div id="quicksearchbar" class="searchbox">
+<roundcube:object name="searchform" id="quicksearchbox" />
+<roundcube:button name="searchmenulink" id="searchmenulink" class="iconbutton searchoptions" onclick="UI.show_popup('searchmenu');return false" title="searchmod" content=" " />
+<roundcube:button command="reset-search" id="searchreset" class="iconbutton reset" title="resetsearch" content=" " />
+</div>
+
+<div id="mainscreencontent">
+
<div id="addressview-left">
<!-- sources/groups list -->
<div id="directorylistbox" class="uibox listbox">
<h2 id="directorylist-header" class="boxtitle"><roundcube:label name="groups" /></h2>
<div id="directorylist-content" class="scroller withfooter">
- <roundcube:object name="directorylist" id="directorylist" class="treelist listing" />
+ <roundcube:object name="directorylist" id="directorylist" class="treelist listing iconized" />
</div>
<div id="directorylist-footer" class="boxfooter">
<roundcube:button command="group-create" type="link" title="newcontactgroup" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="groupoptions" id="groupoptionslink" type="link" title="moreactions" class="listbutton groupactions" onclick="UI.show_popup('groupoptions');return false" innerClass="inner" content="&#9881;" />
@@ -41,13 +50,6 @@
<div id="addressview-right">
-<!-- search box -->
-<div id="quicksearchbar" class="searchbox">
-<roundcube:object name="searchform" id="quicksearchbox" />
-<roundcube:button name="searchmenulink" id="searchmenulink" class="iconbutton searchoptions" onclick="UI.show_popup('searchmenu');return false" title="searchmod" content=" " />
-<roundcube:button command="reset-search" id="searchreset" class="iconbutton reset" title="resetsearch" content=" " />
-</div>
-
<!-- contacts list -->
<div id="addresslist" class="uibox listbox">
<roundcube:object name="addresslisttitle" label="contacts" tag="h2" class="boxtitle" />
@@ -73,9 +75,10 @@
</div>
</div>
-
</div><!-- end addressview-right -->
+</div><!-- end mainscreencontent -->
+
</div><!-- end mainscreen -->
<div id="exportmenu" class="popupmenu">
diff --git a/skins/larry/templates/compose.html b/skins/larry/templates/compose.html
index 11662d185..a7f2e7e2f 100644
--- a/skins/larry/templates/compose.html
+++ b/skins/larry/templates/compose.html
@@ -35,6 +35,8 @@
</div>
</div>
+<div id="mainscreencontent">
+
<div id="composeview-left">
<!-- inline address book -->
@@ -181,6 +183,8 @@
</div><!-- end mailview-right -->
+</div><!-- end mainscreencontent -->
+
</div><!-- end mainscreen -->
<div id="upload-dialog" class="propform popupdialog" title="<roundcube:label name='addattachment' />">
diff --git a/skins/larry/templates/login.html b/skins/larry/templates/login.html
index 8da941189..64ff6be92 100644
--- a/skins/larry/templates/login.html
+++ b/skins/larry/templates/login.html
@@ -12,11 +12,9 @@
<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" />
<roundcube:form name="form" method="post">
-<roundcube:object name="loginform" form="form" size="40" />
-
-<p class="formbuttons"><input type="submit" class="button mainaction" value="<roundcube:label name='login' />" /></p>
-
+<roundcube:object name="loginform" form="form" size="40" submit=true />
</form>
+
</div>
<div class="box-bottom">
diff --git a/skins/larry/templates/mail.html b/skins/larry/templates/mail.html
index e2bf8901c..2f6fbe28c 100644
--- a/skins/larry/templates/mail.html
+++ b/skins/larry/templates/mail.html
@@ -11,9 +11,8 @@
<roundcube:endif />
</style>
</head>
-<body>
+<body class="minwidth">
-<div class="minwidth">
<roundcube:include file="/includes/header.html" />
<div id="mainscreen">
@@ -24,6 +23,23 @@
<roundcube:include file="/includes/mailtoolbar.html" />
</div>
+<div id="messagesearchtools">
+
+<!-- search filter -->
+<div id="searchfilter">
+ <roundcube:object name="searchfilter" class="searchfilter decorated" />
+</div>
+
+<!-- search box -->
+<div id="quicksearchbar" class="searchbox">
+<roundcube:object name="searchform" id="quicksearchbox" />
+<roundcube:button name="searchmenulink" id="searchmenulink" class="iconbutton searchoptions" onclick="UI.show_popup('searchmenu');return false" title="searchmod" content=" " />
+<roundcube:button command="reset-search" id="searchreset" class="iconbutton reset" title="resetsearch" content=" " />
+</div>
+
+</div>
+
+<div id="mainscreencontent">
<div id="mailview-left">
<!-- folders list -->
@@ -43,22 +59,6 @@
<div id="mailview-right">
-<div id="messagesearchtools">
-
-<!-- search filter -->
-<div id="searchfilter">
- <roundcube:object name="searchfilter" class="searchfilter decorated" />
-</div>
-
-<!-- search box -->
-<div id="quicksearchbar" class="searchbox">
-<roundcube:object name="searchform" id="quicksearchbox" />
-<roundcube:button name="searchmenulink" id="searchmenulink" class="iconbutton searchoptions" onclick="UI.show_popup('searchmenu');return false" title="searchmod" content=" " />
-<roundcube:button command="reset-search" id="searchreset" class="iconbutton reset" title="resetsearch" content=" " />
-</div>
-
-</div>
-
<roundcube:if condition="config:preview_pane == true" />
<div id="mailview-top" class="uibox">
<roundcube:else />
@@ -114,9 +114,9 @@
</div><!-- end mailview-right -->
-</div><!-- end mainscreen -->
+</div><!-- end mainscreencontent -->
-</div><!-- end minwidth -->
+</div><!-- end mainscreen -->
<div id="searchmenu" class="popupmenu">
<ul class="toolbarmenu">
diff --git a/skins/larry/templates/message.html b/skins/larry/templates/message.html
index df92b7511..0343004f6 100644
--- a/skins/larry/templates/message.html
+++ b/skins/larry/templates/message.html
@@ -20,6 +20,8 @@
<roundcube:if condition="!env:extwin" />
+<div id="mainscreencontent">
+
<div id="mailview-left">
<!-- folders list -->
@@ -31,7 +33,7 @@
</div>
-<div id="mailview-right" class="offset uibox">
+<div id="mailview-right" class="uibox">
<roundcube:else />
<roundcube:object name="mailboxlist" folder_filter="mail" type="js" />
@@ -84,6 +86,10 @@
</div><!-- end mailview-right -->
+<roundcube:if condition="!env:extwin" />
+</div><!-- end mainscreencontent -->
+<roundcube:endif />
+
</div><!-- end mainscreen -->
<div id="attachmentmenu" class="popupmenu">
diff --git a/skins/larry/templates/messageerror.html b/skins/larry/templates/messageerror.html
index dbe373a12..d509ce804 100644
--- a/skins/larry/templates/messageerror.html
+++ b/skins/larry/templates/messageerror.html
@@ -23,6 +23,8 @@
</div>
</div>
+<div id="mainscreencontent">
+
<div id="mailview-left">
<!-- folders list -->
@@ -40,6 +42,8 @@
</div><!-- end mailview-right -->
+</div><!-- end mainscreencontent -->
+
</div><!-- end mainscreen -->
<roundcube:include file="/includes/footer.html" />
diff --git a/skins/larry/templates/messagepart.html b/skins/larry/templates/messagepart.html
index 0ec935873..3b878c9d7 100644
--- a/skins/larry/templates/messagepart.html
+++ b/skins/larry/templates/messagepart.html
@@ -16,6 +16,8 @@
<roundcube:container name="toolbar" id="messagetoolbar" />
</div>
+<div id="mainscreencontent">
+
<div id="messagepartheader" class="uibox listbox">
<h2 class="boxtitle"><roundcube:label name="properties" /></h2>
<div class="scroller">
@@ -30,6 +32,7 @@
</div>
</div>
+</div>
<roundcube:include file="/includes/footer.html" />
diff --git a/skins/larry/ui.js b/skins/larry/ui.js
index b95e1f1c6..74aef8d8e 100644
--- a/skins/larry/ui.js
+++ b/skins/larry/ui.js
@@ -331,7 +331,7 @@ function rcube_mail_ui()
});
// set min-width to show all toolbar buttons
- var screen = $('body > div.minwidth');
+ var screen = $('body.minwidth');
if (screen.length) {
screen.css('min-width', $('.toolbar').width() + $('#quicksearchbar').width() + $('#searchfilter').width() + 30);
}
@@ -1224,6 +1224,7 @@ function rcube_splitter(p)
{
this.p1 = $(this.p.p1);
this.p2 = $(this.p.p2);
+ this.parent = this.p1.parent();
// check if referenced elements exist, otherwise abort
if (!this.p1.length || !this.p2.length)
@@ -1236,7 +1237,7 @@ function rcube_splitter(p)
.attr('id', this.id)
.attr('unselectable', 'on')
.addClass('splitter ' + (this.horizontal ? 'splitter-h' : 'splitter-v'))
- .appendTo(this.p1.parent())
+ .appendTo(this.parent)
.bind('mousedown', onDragStart);
if (this.horizontal) {
@@ -1275,7 +1276,7 @@ function rcube_splitter(p)
this.p2.css('top', Math.ceil(this.pos + this.halfsize + 2) + 'px');
this.handle.css('top', Math.round(this.pos - this.halfsize + this.offset)+'px');
if (bw.ie) {
- var new_height = parseInt(this.p2.parent().outerHeight(), 10) - parseInt(this.p2.css('top'), 10) - (bw.ie8 ? 2 : 0);
+ var new_height = parseInt(this.parent.outerHeight(), 10) - parseInt(this.p2.css('top'), 10) - (bw.ie8 ? 2 : 0);
this.p2.css('height', (new_height > 0 ? new_height : 0) + 'px');
}
}
@@ -1284,7 +1285,7 @@ function rcube_splitter(p)
this.p2.css('left', Math.ceil(this.pos + this.halfsize) + 'px');
this.handle.css('left', Math.round(this.pos - this.halfsize + this.offset + 3)+'px');
if (bw.ie) {
- var new_width = parseInt(this.p2.parent().outerWidth(), 10) - parseInt(this.p2.css('left'), 10) ;
+ var new_width = parseInt(this.parent.outerWidth(), 10) - parseInt(this.p2.css('left'), 10) ;
this.p2.css('width', (new_width > 0 ? new_width : 0) + 'px');
}
}
@@ -1357,7 +1358,7 @@ function rcube_splitter(p)
var pos = rcube_event.get_mouse_pos(e);
if (me.relative) {
- var parent = me.p1.parent().offset();
+ var parent = me.parent.offset();
pos.x -= parent.left;
pos.y -= parent.top;
}
@@ -1365,12 +1366,18 @@ function rcube_splitter(p)
if (me.horizontal) {
if (((pos.y - me.halfsize) > me.p1pos.top) && ((pos.y + me.halfsize) < (me.p2pos.top + me.p2.outerHeight()))) {
me.pos = Math.max(me.min, pos.y - me.offset);
+ if (me.pos > me.min)
+ me.pos = Math.min(me.pos, me.parent.height() - me.min);
+
me.resize();
}
}
else {
if (((pos.x - me.halfsize) > me.p1pos.left) && ((pos.x + me.halfsize) < (me.p2pos.left + me.p2.outerWidth()))) {
me.pos = Math.max(me.min, pos.x - me.offset);
+ if (me.pos > me.min)
+ me.pos = Math.min(me.pos, me.parent.width() - me.min);
+
me.resize();
}
}
@@ -1409,11 +1416,11 @@ function rcube_splitter(p)
function onResize(e)
{
if (me.horizontal) {
- var new_height = parseInt(me.p2.parent().outerHeight(), 10) - parseInt(me.p2[0].style.top, 10) - (bw.ie8 ? 2 : 0);
+ var new_height = parseInt(me.parent.outerHeight(), 10) - parseInt(me.p2[0].style.top, 10) - (bw.ie8 ? 2 : 0);
me.p2.css('height', (new_height > 0 ? new_height : 0) +'px');
}
else {
- var new_width = parseInt(me.p2.parent().outerWidth(), 10) - parseInt(me.p2[0].style.left, 10);
+ var new_width = parseInt(me.parent.outerWidth(), 10) - parseInt(me.p2[0].style.left, 10);
me.p2.css('width', (new_width > 0 ? new_width : 0) + 'px');
}
};
diff --git a/tests/Framework/Browser.php b/tests/Framework/Browser.php
index a042572a8..6afd2144c 100644
--- a/tests/Framework/Browser.php
+++ b/tests/Framework/Browser.php
@@ -210,6 +210,25 @@ class Framework_Browser extends PHPUnit_Framework_TestCase
'canPNGALPHA' => true, //canPNGALPHA
'canIMGDATA' => false, //canIMGDATA
),
+
+ 'Opera 15' => array(
+ 'useragent' => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.29 Safari/537.36 OPR/15.0.1147.24',
+ 'version' => '15.0', //Version
+ 'isWin' => true, //isWindows
+ 'isLinux' => false,
+ 'isMac' => false, //isMac
+ 'isUnix' => false, //isUnix
+ 'isOpera' => true, //isOpera
+ 'isChrome' => false, //isChrome
+ 'isIE' => false, //isIE
+ 'isNS' => false, //isNS
+ 'isSafari' => false, //isSafari
+ 'isMZ' => false, //isMZ
+ 'lang' => '', //lang
+ 'hasDOM' => true, //hasDOM
+ 'canPNGALPHA' => true, //canPNGALPHA
+ 'canIMGDATA' => true, //canIMGDATA
+ ),
);
}
diff --git a/tests/Framework/CacheShared.php b/tests/Framework/CacheShared.php
new file mode 100644
index 000000000..9ddcafc7f
--- /dev/null
+++ b/tests/Framework/CacheShared.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * Test class to test rcube_cache_shared class
+ *
+ * @package Tests
+ */
+class Framework_CacheShared extends PHPUnit_Framework_TestCase
+{
+
+ /**
+ * Class constructor
+ */
+ function test_class()
+ {
+ $object = new rcube_cache_shared('db');
+
+ $this->assertInstanceOf('rcube_cache_shared', $object, "Class constructor");
+ }
+}
diff --git a/tests/Framework/Contacts.php b/tests/Framework/Contacts.php
new file mode 100644
index 000000000..0167ea366
--- /dev/null
+++ b/tests/Framework/Contacts.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * Test class to test rcube_contacts class
+ *
+ * @package Tests
+ */
+class Framework_Contacts extends PHPUnit_Framework_TestCase
+{
+
+ /**
+ * Class constructor
+ */
+ function test_class()
+ {
+ $object = new rcube_contacts(null, null);
+
+ $this->assertInstanceOf('rcube_contacts', $object, "Class constructor");
+ }
+}
diff --git a/tests/Framework/DB.php b/tests/Framework/DB.php
new file mode 100644
index 000000000..b7a063841
--- /dev/null
+++ b/tests/Framework/DB.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * Test class to test rcube_db class
+ *
+ * @package Tests
+ */
+class Framework_DB extends PHPUnit_Framework_TestCase
+{
+
+ /**
+ * Class constructor
+ */
+ function test_class()
+ {
+ $object = new rcube_db('test');
+
+ $this->assertInstanceOf('rcube_db', $object, "Class constructor");
+ }
+}
diff --git a/tests/Framework/Html.php b/tests/Framework/Html.php
index 60284deef..d9466e601 100644
--- a/tests/Framework/Html.php
+++ b/tests/Framework/Html.php
@@ -19,6 +19,63 @@ class Framework_Html extends PHPUnit_Framework_TestCase
}
/**
+ * Data for test_attrib_string()
+ */
+ function data_attrib_string()
+ {
+ return array(
+ array(
+ array(), null, '',
+ ),
+ array(
+ array('test' => 'test'), null, ' test="test"',
+ ),
+ array(
+ array('test' => 'test'), array('test'), ' test="test"',
+ ),
+ array(
+ array('test' => 'test'), array('other'), '',
+ ),
+ array(
+ array('checked' => true), null, ' checked="checked"',
+ ),
+ array(
+ array('checked' => ''), null, '',
+ ),
+ array(
+ array('onclick' => ''), null, '',
+ ),
+ array(
+ array('size' => 5), null, ' size="5"',
+ ),
+ array(
+ array('size' => 'test'), null, '',
+ ),
+ array(
+ array('data-test' => 'test'), null, ' data-test="test"',
+ ),
+ array(
+ array('data-test' => 'test'), array('other'), '',
+ ),
+ array(
+ array('data-test' => 'test'), array('data-test'), ' data-test="test"',
+ ),
+ array(
+ array('data-test' => 'test'), array('data-*'), ' data-test="test"',
+ ),
+ );
+ }
+
+ /**
+ * Test for attrib_string()
+ * @dataProvider data_attrib_string
+ */
+ function test_attrib_string($arg1, $arg2, $result)
+ {
+ $this->assertEquals(html::attrib_string($arg1, $arg2), $result);
+ }
+
+ /**
* Data for test_quote()
*/
function data_quote()
diff --git a/tests/Framework/ImapCache.php b/tests/Framework/ImapCache.php
new file mode 100644
index 000000000..83612c549
--- /dev/null
+++ b/tests/Framework/ImapCache.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * Test class to test rcube_imap_cache class
+ *
+ * @package Tests
+ */
+class Framework_ImapCache extends PHPUnit_Framework_TestCase
+{
+
+ /**
+ * Class constructor
+ */
+ function test_class()
+ {
+ $object = new rcube_imap_cache(null, null, null, null);
+
+ $this->assertInstanceOf('rcube_imap_cache', $object, "Class constructor");
+ }
+}
diff --git a/tests/Framework/LdapGeneric.php b/tests/Framework/LdapGeneric.php
new file mode 100644
index 000000000..8cb1a2ce5
--- /dev/null
+++ b/tests/Framework/LdapGeneric.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * Test class to test rcube_ldap_generic class
+ *
+ * @package Tests
+ */
+class Framework_LdapGeneric extends PHPUnit_Framework_TestCase
+{
+
+ /**
+ * Class constructor
+ */
+ function test_class()
+ {
+ $object = new rcube_ldap_generic(array());
+
+ $this->assertInstanceOf('rcube_ldap_generic', $object, "Class constructor");
+ }
+}
diff --git a/tests/Framework/Mime.php b/tests/Framework/Mime.php
index 1450b4f90..d47eba896 100644
--- a/tests/Framework/Mime.php
+++ b/tests/Framework/Mime.php
@@ -41,6 +41,9 @@ class Framework_Mime extends PHPUnit_Framework_TestCase
21 => '"test test"@domain.tld',
// invalid (#1489092)
22 => '"John Doe @ SomeBusinessName" <MAILER-DAEMON>',
+ 23 => '=?UTF-8?B?IlRlc3QsVGVzdCI=?= <test@domain.tld>',
+ // invalid, but we do our best to parse correctly
+ 24 => '"email@test.com" <>',
);
$results = array(
@@ -68,6 +71,8 @@ class Framework_Mime extends PHPUnit_Framework_TestCase
21 => array(1, '', '"test test"@domain.tld'),
// invalid (#1489092)
22 => array(1, 'John Doe @ SomeBusinessName', 'MAILER-DAEMON'),
+ 23 => array(1, 'Test,Test', 'test@domain.tld'),
+ 24 => array(1, '', 'email@test.com'),
);
foreach ($headers as $idx => $header) {
diff --git a/tests/Framework/ResultIndex.php b/tests/Framework/ResultIndex.php
index efbba6da7..da1cc628f 100644
--- a/tests/Framework/ResultIndex.php
+++ b/tests/Framework/ResultIndex.php
@@ -17,4 +17,51 @@ class Framework_ResultIndex extends PHPUnit_Framework_TestCase
$this->assertInstanceOf('rcube_result_index', $object, "Class constructor");
}
+
+ /**
+ * thread parser test
+ */
+ function test_parse()
+ {
+ $text = "* SORT 2001 2002 2035 2036 2037 2038 2044 2046 2043 2045 2226 2225 2224 2223";
+ $object = new rcube_result_index('INBOX', $text);
+
+ $this->assertSame(false, $object->is_empty(), "Object is empty");
+ $this->assertSame(false, $object->is_error(), "Object is error");
+ $this->assertSame(2226, $object->max(), "Max message UID");
+ $this->assertSame(2001, $object->min(), "Min message UID");
+ $this->assertSame(14, $object->count_messages(), "Messages count");
+ $this->assertSame(14, $object->count(), "Messages count");
+ $this->assertSame(1, $object->exists(2002, true), "Message exists");
+ $this->assertSame(true, $object->exists(2002), "Message exists (bool)");
+ $this->assertSame(2001, $object->get_element('FIRST'), "Get first element");
+ $this->assertSame(2223, $object->get_element('LAST'), "Get last element");
+ $this->assertSame(2035, (int) $object->get_element(2), "Get specified element");
+ $this->assertSame("2001:2002,2035:2038,2043:2046,2223:2226", $object->get_compressed(), "Get compressed index");
+ $this->assertSame('INBOX', $object->get_parameters('MAILBOX'), "Get parameter");
+
+ $clone = clone $object;
+ $clone->filter(array(2035, 2002));
+
+ $this->assertSame(2, $clone->count(), "Messages count (filtered)");
+ $this->assertSame(2002, $clone->get_element('FIRST'), "Get first element (filtered)");
+
+ $clone = clone $object;
+ $clone->revert();
+
+ $this->assertSame(14, $clone->count(), "Messages count (reverted)");
+ $this->assertSame(12, $clone->exists(2002, true), "Message exists (reverted)");
+ $this->assertSame(true, $clone->exists(2002), "Message exists (bool) (reverted)");
+ $this->assertSame(2223, $clone->get_element('FIRST'), "Get first element (reverted)");
+ $this->assertSame(2001, $clone->get_element('LAST'), "Get last element (reverted)");
+ $this->assertSame(2225, (int) $clone->get_element(2), "Get specified element (reverted)");
+
+ $clone = clone $object;
+ $clone->slice(2, 3);
+
+ $this->assertSame(3, $clone->count(), "Messages count (sliced)");
+ $this->assertSame(2035, $clone->get_element('FIRST'), "Get first element (sliced)");
+ $this->assertSame(2037, $clone->get_element('LAST'), "Get last element (sliced)");
+ }
+
}
diff --git a/tests/Framework/ResultThread.php b/tests/Framework/ResultThread.php
index 8f5c5092f..55fca4c6a 100644
--- a/tests/Framework/ResultThread.php
+++ b/tests/Framework/ResultThread.php
@@ -55,7 +55,5 @@ class Framework_ResultThread extends PHPUnit_Framework_TestCase
$object->filter(array(784));
$this->assertSame(118, $object->count_messages(), "Messages filter");
$this->assertSame(1, $object->count(), "Messages filter (count)");
-
-//echo $object->get_compressed();
}
}
diff --git a/tests/Framework/SpellcheckAtd.php b/tests/Framework/SpellcheckAtd.php
new file mode 100644
index 000000000..cc828240f
--- /dev/null
+++ b/tests/Framework/SpellcheckAtd.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * Test class to test rcube_spellcheck_atd class
+ *
+ * @package Tests
+ */
+class Framework_SpellcheckAtd extends PHPUnit_Framework_TestCase
+{
+
+ /**
+ * Class constructor
+ */
+ function test_class()
+ {
+ $object = new rcube_spellcheck_atd(null, 'en');
+
+ $this->assertInstanceOf('rcube_spellcheck_atd', $object, "Class constructor");
+ $this->assertInstanceOf('rcube_spellcheck_engine', $object, "Class constructor");
+ }
+}
diff --git a/tests/Framework/SpellcheckEnchant.php b/tests/Framework/SpellcheckEnchant.php
new file mode 100644
index 000000000..85393e76c
--- /dev/null
+++ b/tests/Framework/SpellcheckEnchant.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * Test class to test rcube_spellcheck_enchant class
+ *
+ * @package Tests
+ */
+class Framework_SpellcheckEnchant extends PHPUnit_Framework_TestCase
+{
+
+ /**
+ * Class constructor
+ */
+ function test_class()
+ {
+ $object = new rcube_spellcheck_enchant(null, 'en');
+
+ $this->assertInstanceOf('rcube_spellcheck_enchant', $object, "Class constructor");
+ $this->assertInstanceOf('rcube_spellcheck_engine', $object, "Class constructor");
+ }
+}
diff --git a/tests/Framework/SpellcheckGoogie.php b/tests/Framework/SpellcheckGoogie.php
new file mode 100644
index 000000000..dc7d70dcc
--- /dev/null
+++ b/tests/Framework/SpellcheckGoogie.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * Test class to test rcube_spellcheck_googie class
+ *
+ * @package Tests
+ */
+class Framework_SpellcheckGoogie extends PHPUnit_Framework_TestCase
+{
+
+ /**
+ * Class constructor
+ */
+ function test_class()
+ {
+ $object = new rcube_spellcheck_googie(null, 'en');
+
+ $this->assertInstanceOf('rcube_spellcheck_googie', $object, "Class constructor");
+ $this->assertInstanceOf('rcube_spellcheck_engine', $object, "Class constructor");
+ }
+}
diff --git a/tests/Framework/SpellcheckPspell.php b/tests/Framework/SpellcheckPspell.php
new file mode 100644
index 000000000..bd622b206
--- /dev/null
+++ b/tests/Framework/SpellcheckPspell.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * Test class to test rcube_spellcheck_pspell class
+ *
+ * @package Tests
+ */
+class Framework_SpellcheckPspell extends PHPUnit_Framework_TestCase
+{
+
+ /**
+ * Class constructor
+ */
+ function test_class()
+ {
+ $object = new rcube_spellcheck_pspell(null, 'en');
+
+ $this->assertInstanceOf('rcube_spellcheck_pspell', $object, "Class constructor");
+ $this->assertInstanceOf('rcube_spellcheck_engine', $object, "Class constructor");
+ }
+}
diff --git a/tests/Framework/Utils.php b/tests/Framework/Utils.php
index 1f1e57b0e..082aaea3b 100644
--- a/tests/Framework/Utils.php
+++ b/tests/Framework/Utils.php
@@ -320,7 +320,7 @@ class Framework_Utils extends PHPUnit_Framework_TestCase
}
/**
- * rcube:utils::normalize _string()
+ * rcube:utils::normalize_string()
*/
function test_normalize_string()
{
@@ -334,4 +334,30 @@ class Framework_Utils extends PHPUnit_Framework_TestCase
$this->assertSame($output, $result);
}
}
+
+ /**
+ * rcube:utils::is_absolute_path()
+ */
+ function test_is_absolute_path()
+ {
+ if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
+ $test = array(
+ '' => false,
+ "C:\\" => true,
+ 'some/path' => false,
+ );
+ }
+ else {
+ $test = array(
+ '' => false,
+ '/path' => true,
+ 'some/path' => false,
+ );
+ }
+
+ foreach ($test as $input => $output) {
+ $result = rcube_utils::is_absolute_path($input);
+ $this->assertSame($output, $result);
+ }
+ }
}
diff --git a/tests/Framework/Washtml.php b/tests/Framework/Washtml.php
index 7485d4383..08cf147c8 100644
--- a/tests/Framework/Washtml.php
+++ b/tests/Framework/Washtml.php
@@ -124,4 +124,18 @@ class Framework_Washtml extends PHPUnit_Framework_TestCase
}
}
+ /**
+ * Test color style handling (#1489697)
+ */
+ function test_color_style()
+ {
+ $html = "<p style=\"font-size: 10px; color: rgb(241, 245, 218)\">a</p>";
+
+ $washer = new rcube_washtml;
+ $washed = $washer->wash($html);
+
+ $this->assertRegExp('|color: rgb\(241, 245, 218\)|', $washed, "Color style (#1489697)");
+ $this->assertRegExp('|font-size: 10px|', $washed, "Font-size style");
+ }
+
}
diff --git a/tests/phpunit.xml b/tests/phpunit.xml
index a5942c433..bd92e585a 100644
--- a/tests/phpunit.xml
+++ b/tests/phpunit.xml
@@ -7,15 +7,20 @@
<file>Framework/Bootstrap.php</file>
<file>Framework/Browser.php</file>
<file>Framework/Cache.php</file>
+ <file>Framework/CacheShared.php</file>
<file>Framework/Charset.php</file>
+ <file>Framework/Contacts.php</file>
<file>Framework/ContentFilter.php</file>
<file>Framework/Csv2vcard.php</file>
+ <file>Framework/DB.php</file>
<file>Framework/Enriched.php</file>
<file>Framework/Html.php</file>
<file>Framework/Html2text.php</file>
<file>Framework/Imap.php</file>
+ <file>Framework/ImapCache.php</file>
<file>Framework/ImapGeneric.php</file>
<file>Framework/Image.php</file>
+ <file>Framework/LdapGeneric.php</file>
<file>Framework/MessageHeader.php</file>
<file>Framework/MessagePart.php</file>
<file>Framework/Mime.php</file>
@@ -24,6 +29,10 @@
<file>Framework/ResultSet.php</file>
<file>Framework/ResultThread.php</file>
<file>Framework/Smtp.php</file>
+ <file>Framework/SpellcheckAtd.php</file>
+ <file>Framework/SpellcheckEnchant.php</file>
+ <file>Framework/SpellcheckGoogie.php</file>
+ <file>Framework/SpellcheckPspell.php</file>
<file>Framework/Spellchecker.php</file>
<file>Framework/StringReplacer.php</file>
<file>Framework/User.php</file>