diff options
Diffstat (limited to 'plugins')
247 files changed, 3588 insertions, 1525 deletions
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"> </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 a840bcd58..681ef0ee9 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/br.inc b/plugins/acl/localization/br.inc new file mode 100644 index 000000000..bd2f0cbc0 --- /dev/null +++ b/plugins/acl/localization/br.inc @@ -0,0 +1,31 @@ +<?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['advanced'] = 'Doare araokaet'; +$labels['anyone'] = 'An holl implijerien (neb hini)'; +$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ñ'; +?> diff --git a/plugins/acl/localization/ca_ES.inc b/plugins/acl/localization/ca_ES.inc index d238524b3..56012f457 100644 --- a/plugins/acl/localization/ca_ES.inc +++ b/plugins/acl/localization/ca_ES.inc @@ -18,17 +18,17 @@ $labels['sharing'] = 'Comparteix'; $labels['myrights'] = 'Permisos d\'accés'; $labels['username'] = 'Usuari:'; -$labels['advanced'] = 'Mode avançat'; +$labels['advanced'] = 'mode avançat'; $labels['newuser'] = 'Afegeix una entrada'; -$labels['actions'] = 'Accions dels permisos d\'accés'; -$labels['anyone'] = 'Tots els usuaris'; -$labels['anonymous'] = 'Convidats'; +$labels['actions'] = 'Accions dels permisos d\'accés...'; +$labels['anyone'] = 'Tots els usuaris (qualsevol)'; +$labels['anonymous'] = 'Convidats (anònim)'; $labels['identifier'] = 'Identificador'; $labels['acll'] = 'Cerca'; $labels['aclr'] = 'Llegeix missatges'; $labels['acls'] = 'Conserva\'l com a llegit'; -$labels['aclw'] = 'Escriu marques'; -$labels['acli'] = 'Insereix (copia dins)'; +$labels['aclw'] = 'Marques d\'escriptura'; +$labels['acli'] = 'Insereix (Copia dins)'; $labels['aclp'] = 'Envia l\'entrada'; $labels['aclc'] = 'Crea subcarpetes'; $labels['aclk'] = 'Crea subcarpetes'; @@ -67,8 +67,8 @@ $labels['longacli'] = 'Els missatges poden ser escrits i copiats a la carpeta'; $labels['longaclp'] = 'Els missatges poden ser enviats a aquesta carpeta'; $labels['longaclc'] = 'Es poden crear (or reanomenar) carpetes directament sota aquesta carpeta'; $labels['longaclk'] = 'Es poden crear (or reanomenar) carpetes directament sota aquesta carpeta'; -$labels['longacld'] = 'Poden ser canviats els missatges amb l\'indicador Suprimit'; -$labels['longaclt'] = 'Poden ser canviats els missatges amb l\'indicador Suprimit'; +$labels['longacld'] = 'Els missatges amb l\'indicador Suprimit poden ser canviats'; +$labels['longaclt'] = 'Els missatges amb l\'indicador Suprimit poden ser canviats'; $labels['longacle'] = 'Els missatges poden ser purgats'; $labels['longaclx'] = 'La carpeta pot ser suprimida o reanomenada'; $labels['longacla'] = 'Els permisos d\'accés a la carpeta poden ser canviats'; @@ -76,14 +76,14 @@ $labels['longaclfull'] = 'Control total fins i tot la gestió de carpetes'; $labels['longaclread'] = 'La carpeta pot ser oberta per llegir'; $labels['longaclwrite'] = 'Els missatges poden ser marcats, escrits o copiats a la carpeta'; $labels['longacldelete'] = 'Els missatges poden ser suprimits'; -$messages['deleting'] = 'Suprimint els permisos d\'accés...'; -$messages['saving'] = 'Desant els permisos d\'accés...'; +$messages['deleting'] = 'S\'estan suprimint els permisos d\'accés...'; +$messages['saving'] = 'S\'estan desant els permisos d\'accés...'; $messages['updatesuccess'] = 'Els permisos d\'accés han estat canviats correctament'; $messages['deletesuccess'] = 'Els permisos d\'accés han estat suprimits correctament'; -$messages['createsuccess'] = 'Els permisos d\'accés han afegits suprimits correctament'; -$messages['updateerror'] = 'No s\'ha pogut actualitzar els permisos d\'accés'; -$messages['deleteerror'] = 'No s\'ha pogut suprimir els permisos d\'accés'; -$messages['createerror'] = 'No s\'ha pogut afegir els permisos d\'accés'; +$messages['createsuccess'] = 'Els permisos d\'accés han estat afegits correctament'; +$messages['updateerror'] = 'No s\'han pogut actualitzar els permisos d\'accés'; +$messages['deleteerror'] = 'No s\'han pogut suprimir els permisos d\'accés'; +$messages['createerror'] = 'No s\'han pogut afegir els permisos d\'accés'; $messages['deleteconfirm'] = 'Esteu segurs que voleu suprimir els permisos d\'accés de l\'usuari o usuaris seleccionats?'; $messages['norights'] = 'No s\'ha especificat cap permís'; $messages['nouser'] = 'No s\'ha especificat cap nom d\'usuari'; diff --git a/plugins/acl/localization/en_CA.inc b/plugins/acl/localization/en_CA.inc new file mode 100644 index 000000000..2dd7e4ec0 --- /dev/null +++ b/plugins/acl/localization/en_CA.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'] = '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)'; +$labels['anonymous'] = 'Guests (anonymous)'; +$labels['identifier'] = 'Identifier'; +$labels['acll'] = 'Lookup'; +$labels['aclr'] = 'Read messages'; +$labels['acls'] = 'Keep Seen state'; +$labels['aclw'] = 'Write flags'; +$labels['acli'] = 'Insert (Copy into)'; +$labels['aclp'] = 'Post'; +$labels['aclc'] = 'Create subfolders'; +$labels['aclk'] = 'Create subfolders'; +$labels['acld'] = 'Delete messages'; +$labels['aclt'] = 'Delete messages'; +$labels['acle'] = 'Expunge'; +$labels['aclx'] = 'Delete folder'; +$labels['acla'] = 'Administer'; +$labels['aclfull'] = 'Full control'; +$labels['aclother'] = 'Other'; +$labels['aclread'] = 'Read'; +$labels['aclwrite'] = 'Write'; +$labels['acldelete'] = 'Delete'; +$labels['shortacll'] = 'Lookup'; +$labels['shortaclr'] = 'Read'; +$labels['shortacls'] = 'Keep'; +$labels['shortaclw'] = 'Write'; +$labels['shortacli'] = 'Insert'; +$labels['shortaclp'] = 'Post'; +$labels['shortaclc'] = 'Create'; +$labels['shortaclk'] = 'Create'; +$labels['shortacld'] = 'Delete'; +$labels['shortaclt'] = 'Delete'; +$labels['shortacle'] = 'Expunge'; +$labels['shortaclx'] = 'Folder delete'; +$labels['shortacla'] = 'Administer'; +$labels['shortaclother'] = 'Other'; +$labels['shortaclread'] = 'Read'; +$labels['shortaclwrite'] = 'Write'; +$labels['shortacldelete'] = 'Delete'; +$labels['longacll'] = 'The folder is visible on lists and can be subscribed to'; +$labels['longaclr'] = 'The folder can be opened for reading'; +$labels['longacls'] = 'Messages Seen flag can be changed'; +$labels['longaclw'] = 'Messages flags and keywords can be changed, except Seen and Deleted'; +$labels['longacli'] = 'Messages can be written or copied to the folder'; +$labels['longaclp'] = 'Messages can be posted to this folder'; +$labels['longaclc'] = 'Folders can be created (or renamed) directly under this folder'; +$labels['longaclk'] = 'Folders can be created (or renamed) directly under this folder'; +$labels['longacld'] = 'Messages Delete flag can be changed'; +$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['longaclfull'] = 'Full control including folder administration'; +$labels['longaclread'] = 'The folder can be opened for reading'; +$labels['longaclwrite'] = 'Messages can be marked, written or copied to the folder'; +$labels['longacldelete'] = 'Messages can be deleted'; +$messages['deleting'] = 'Deleting access rights...'; +$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)?'; +$messages['norights'] = 'No rights has been specified!'; +$messages['nouser'] = 'No username has been specified!'; +?> 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..ce665768a 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)'; diff --git a/plugins/acl/localization/es_419.inc b/plugins/acl/localization/es_419.inc new file mode 100644 index 000000000..f83196175 --- /dev/null +++ b/plugins/acl/localization/es_419.inc @@ -0,0 +1,50 @@ +<?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['username'] = 'Usuario:'; +$labels['advanced'] = 'modo avanzado'; +$labels['newuser'] = 'Agregar entrada'; +$labels['anyone'] = 'Todos los usuarios '; +$labels['anonymous'] = 'Invitados (anonimos)'; +$labels['identifier'] = 'Identificador'; +$labels['acll'] = 'Busqueda'; +$labels['aclr'] = 'Leer mensajes'; +$labels['acli'] = 'Insertar (copiar a)'; +$labels['aclc'] = 'Crear subcarpetas'; +$labels['aclk'] = 'crear subcarpetas'; +$labels['acld'] = 'Eliminar mensaje'; +$labels['aclt'] = 'Eliminar mensajes'; +$labels['aclx'] = 'Eliminar carpeta'; +$labels['aclother'] = 'Otro'; +$labels['aclread'] = 'Leer'; +$labels['aclwrite'] = 'Escribir'; +$labels['acldelete'] = 'Eliminar'; +$labels['shortacll'] = 'Busqueda'; +$labels['shortaclr'] = 'Leer'; +$labels['shortaclw'] = 'Escribir'; +$labels['shortacli'] = 'Insertar'; +$labels['shortaclc'] = 'Crear'; +$labels['shortaclk'] = 'Crear'; +$labels['shortacld'] = 'Eliminar'; +$labels['shortaclt'] = 'Eliminar'; +$labels['shortaclother'] = 'Otro'; +$labels['shortaclread'] = 'Leer'; +$labels['shortaclwrite'] = 'Escribir'; +$labels['shortacldelete'] = 'Eliminar'; +$labels['longaclr'] = 'La carpeta puede ser abierta para lectura'; +$labels['longacli'] = 'Se pueden escribir o copiar mensajes a la carpeta'; +?> 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/gl_ES.inc b/plugins/acl/localization/gl_ES.inc index 17aaf2599..cd8f9a47a 100644 --- a/plugins/acl/localization/gl_ES.inc +++ b/plugins/acl/localization/gl_ES.inc @@ -16,17 +16,17 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/ */ $labels['sharing'] = 'Compartindo'; -$labels['myrights'] = 'Dereitos de acceso'; -$labels['username'] = 'Usuario:'; +$labels['myrights'] = 'Permisos de acceso'; +$labels['username'] = 'Utente:'; $labels['advanced'] = 'Modo avanzado'; $labels['newuser'] = 'Engadir entrada'; -$labels['actions'] = 'Accións sobre os dereitos de acceso...'; -$labels['anyone'] = 'Tódolos usuarios (calquera)'; -$labels['anonymous'] = 'Invitados (anónimo)'; +$labels['actions'] = 'Accións sobre os Permisos de acceso...'; +$labels['anyone'] = 'Todas as persoas usuarias (calquera)'; +$labels['anonymous'] = 'Persoas convidadas (anónimo)'; $labels['identifier'] = 'Identificador'; $labels['acll'] = 'Bloquear'; $labels['aclr'] = 'Ler mensaxes'; -$labels['acls'] = 'Manter o estado coma visto'; +$labels['acls'] = 'Manter estado actividade'; $labels['aclw'] = 'Marcas de lectura'; $labels['acli'] = 'Engadir (Copiar en)'; $labels['aclp'] = 'Envío'; @@ -35,56 +35,56 @@ $labels['aclk'] = 'Crear subcartafoles'; $labels['acld'] = 'Borrar mensaxes'; $labels['aclt'] = 'Borrar mensaxes'; $labels['acle'] = 'Expurga'; -$labels['aclx'] = 'Eliminar carpeta'; +$labels['aclx'] = 'Eliminar cartafol'; $labels['acla'] = 'Administrar'; $labels['aclfull'] = 'Control total'; $labels['aclother'] = 'Outros'; $labels['aclread'] = 'Lectura'; $labels['aclwrite'] = 'Escritura'; $labels['acldelete'] = 'Borrado'; -$labels['shortacll'] = 'Busca'; +$labels['shortacll'] = 'Buscar'; $labels['shortaclr'] = 'Ler'; $labels['shortacls'] = 'Manter'; $labels['shortaclw'] = 'Escribir'; -$labels['shortacli'] = 'Insertar'; -$labels['shortaclp'] = 'Envío'; +$labels['shortacli'] = 'Inserir'; +$labels['shortaclp'] = 'Publicar'; $labels['shortaclc'] = 'Crear'; $labels['shortaclk'] = 'Crear'; -$labels['shortacld'] = 'Borrar'; -$labels['shortaclt'] = 'Borrar'; +$labels['shortacld'] = 'Eliminar'; +$labels['shortaclt'] = 'Eliminar'; $labels['shortacle'] = 'Expurga'; -$labels['shortaclx'] = 'Borrar cartafol'; +$labels['shortaclx'] = 'Eliminar cartafol'; $labels['shortacla'] = 'Administrar'; $labels['shortaclother'] = 'Outros'; $labels['shortaclread'] = 'Lectura'; $labels['shortaclwrite'] = 'Escritura'; -$labels['shortacldelete'] = 'Borrado'; -$labels['longacll'] = 'O cartafol é visible e pode ser suscrito'; +$labels['shortacldelete'] = 'Eliminar'; +$labels['longacll'] = 'O cartafol é visíbel e pode ser subscrito'; $labels['longaclr'] = 'Pódese abrir o cartafol para lectura'; $labels['longacls'] = 'Pódese mudar o marcador de Mensaxes Enviadas'; -$labels['longaclw'] = 'Pódense mudar marcadores e palabras chave agás Olladas e Borradas'; +$labels['longaclw'] = 'Pódense mudar marcadores e palabras chave agás Vistas e Borradas'; $labels['longacli'] = 'Pódense escreber ou copiar as mensaxes a este cartafol'; $labels['longaclp'] = 'Pódense enviar as mensaxes a este cartafol'; -$labels['longaclc'] = 'Pódense crear (ou renomear) os cartafois directamente baixo deste cartafol'; -$labels['longaclk'] = 'Pódense crear (ou renomear) os cartafois directamente baixo deste cartafol'; -$labels['longacld'] = 'Pódense mudar as mensaxes coa marca de Borrado'; -$labels['longaclt'] = 'Pódense mudar as mensaxes coa marca de Borrado'; -$labels['longacle'] = 'Pódense eliminar as mensaxes'; +$labels['longaclc'] = 'Pódense crear (ou renomear) os cartafoles directamente baixo deste cartafol'; +$labels['longaclk'] = 'Pódense crear (ou renomear) os cartafoles directamente baixo deste cartafol'; +$labels['longacld'] = 'Pódense mudar as mensaxes coa marca Eliminar'; +$labels['longaclt'] = 'Pódense mudar as mensaxes coa marca Eliminar'; +$labels['longacle'] = 'As mensaxes poden ser expurgadas'; $labels['longaclx'] = 'Pódese borrar ou renomear o cartafol'; -$labels['longacla'] = 'Pódense mudar os dereitos de acceso ao cartafol'; -$labels['longaclfull'] = 'Control total inclúe administración de cartafois'; +$labels['longacla'] = 'Pódense mudar os permisos de acceso ao cartafol'; +$labels['longaclfull'] = 'Control total inclúe administración de cartafoles'; $labels['longaclread'] = 'Pódese abrir o cartafol para lectura'; $labels['longaclwrite'] = 'Pódense marcar, escribir ou copiar as mensaxes no cartafol'; $labels['longacldelete'] = 'Pódense borrar as mensaxes'; -$messages['deleting'] = 'Borrando dereitos de acceso...'; -$messages['saving'] = 'Gardando dereitos de acceso...'; -$messages['updatesuccess'] = 'Mudados con éxito os dereitos de acceso'; -$messages['deletesuccess'] = 'Borrados con éxito os dereitos de acceso'; -$messages['createsuccess'] = 'Engadidos con éxito os dereitos de acceso'; -$messages['updateerror'] = 'Non se poden actualizar os dereitos de acceso'; -$messages['deleteerror'] = 'Non se poden borrar os dereitos de acceso'; -$messages['createerror'] = 'Non se poden engadir dereitos de acceso'; -$messages['deleteconfirm'] = 'De certo quere eliminar os dereitos de acceso do usuario(s) escollido?'; +$messages['deleting'] = 'Borrando permisos de acceso...'; +$messages['saving'] = 'Gardando permisos de acceso...'; +$messages['updatesuccess'] = 'Mudados con éxito os permisos de acceso'; +$messages['deletesuccess'] = 'Borrados con éxito os permisos de acceso'; +$messages['createsuccess'] = 'Engadidos con éxito os permisos de acceso'; +$messages['updateerror'] = 'Non se poden actualizar os permisos de acceso'; +$messages['deleteerror'] = 'Non se poden borrar os permisos de acceso'; +$messages['createerror'] = 'Non se poden engadir permisos de acceso'; +$messages['deleteconfirm'] = 'De certo que queres eliminar os permisos de acceso da(s) persoa(s) usuaria(s) escollida(s)?'; $messages['norights'] = 'Non se especificaron permisos!'; -$messages['nouser'] = 'Non se especificou o nome de usuario!'; +$messages['nouser'] = 'Non se especificou o nome da persoa usuaria!'; ?> 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/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/lv_LV.inc b/plugins/acl/localization/lv_LV.inc index 83ceec5eb..cadb34ae2 100644 --- a/plugins/acl/localization/lv_LV.inc +++ b/plugins/acl/localization/lv_LV.inc @@ -15,6 +15,7 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/ */ +$labels['sharing'] = 'Dalīšanās'; $labels['myrights'] = 'Piekļuves tiesības'; $labels['username'] = 'Lietotājs:'; $labels['advanced'] = 'paplašinātais režīms'; @@ -25,10 +26,15 @@ $labels['anonymous'] = 'Viesi (anonīmie)'; $labels['identifier'] = 'Identifikators'; $labels['acll'] = 'Atrast'; $labels['aclr'] = 'Lasīt ziņojumus'; +$labels['acls'] = 'Paturēt "Redzētā" statusu'; +$labels['aclw'] = 'Saglabāt atzīmes'; +$labels['acli'] = 'Ievietot (Iekopēt)'; +$labels['aclp'] = 'Nosūtīt'; $labels['aclc'] = 'Izveidot apakšmapes'; $labels['aclk'] = 'Izveidot apakšmapes'; $labels['acld'] = 'Dzēst ziņojumus'; $labels['aclt'] = 'Dzēst ziņojumus'; +$labels['acle'] = 'Izdzēst'; $labels['aclx'] = 'Dzēst mapi'; $labels['acla'] = 'Pārvaldīt'; $labels['aclfull'] = 'Pilna kontrole'; @@ -41,17 +47,29 @@ $labels['shortaclr'] = 'Lasīt'; $labels['shortacls'] = 'Paturēt'; $labels['shortaclw'] = 'Rakstīt'; $labels['shortacli'] = 'Ievietot'; +$labels['shortaclp'] = 'Nosūtīt'; $labels['shortaclc'] = 'Izveidot'; $labels['shortaclk'] = 'Izveidot'; $labels['shortacld'] = 'Dzēst'; $labels['shortaclt'] = 'Dzēst'; +$labels['shortacle'] = 'Izdzēst'; $labels['shortaclx'] = 'Mapju dzēšana'; $labels['shortacla'] = 'Pārvaldīt'; $labels['shortaclother'] = 'Cits'; $labels['shortaclread'] = 'Lasīt'; $labels['shortaclwrite'] = 'Rakstīt'; $labels['shortacldelete'] = 'Dzēst'; +$labels['longacll'] = 'Mape ir redzama kopējā mapju sarakstā un var tikt abonēta'; $labels['longaclr'] = 'Ši mape var tikt atvērta lasīšanai'; +$labels['longacls'] = 'Ziņojumu "Redzēts" atzīme var tik mainīta'; +$labels['longaclw'] = 'Ziņojumu atzīmes, izņemot "Redzēts" un "Dzēsts", un atslēgvārdi var tik mainīti'; +$labels['longacli'] = 'Ziņojumi var tikt ierakstīti vai pārkopēti uz šo mapi'; +$labels['longaclp'] = 'Vēstules var tikt ievietotas šajā mapē'; +$labels['longaclc'] = 'Zem šīs mapes pa tiešo var tikt izveidotas (vai pārsauktas) citas mapes'; +$labels['longaclk'] = 'Zem šīs mapes pa tiešo var tikt izveidotas (vai pārsauktas) citas mapes'; +$labels['longacld'] = 'Ziņojumu "Dzēst" atzīme var tikt mainīta'; +$labels['longaclt'] = 'Ziņojumu "Dzēst" atzīme var tikt mainīta'; +$labels['longacle'] = 'Vēstules var tikt izdzēstas'; $labels['longaclx'] = 'Mape var tikt gan dzēsta, gan pārdēvēta'; $labels['longacla'] = 'Mapes pieejas tiesības var tikt izmainītas'; $labels['longaclfull'] = 'Pilna kontrole, iekļaujot arī mapju administrēšanu'; diff --git a/plugins/acl/localization/sk_SK.inc b/plugins/acl/localization/sk_SK.inc index eb410f119..c4ea0e53c 100644 --- a/plugins/acl/localization/sk_SK.inc +++ b/plugins/acl/localization/sk_SK.inc @@ -16,32 +16,32 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-acl/ */ $labels['sharing'] = 'Zdieľanie'; -$labels['myrights'] = 'Prístupové práva'; +$labels['myrights'] = 'Prístupové oprávnenia'; $labels['username'] = 'Používateľ:'; -$labels['advanced'] = 'režim pre pokročilých'; -$labels['newuser'] = 'Pridať údaj'; -$labels['actions'] = 'Prístupové práva činností...'; +$labels['advanced'] = 'pokročilý režim'; +$labels['newuser'] = 'Pridať záznam'; +$labels['actions'] = 'Prístupové práva pre akcie...'; $labels['anyone'] = 'Všetci užívatelia (ktokoľvek)'; -$labels['anonymous'] = 'Hostia (anonymne)'; +$labels['anonymous'] = 'Hostia (anonymní)'; $labels['identifier'] = 'Identifikátor'; $labels['acll'] = 'Vyhľadať'; $labels['aclr'] = 'Čítať správy'; $labels['acls'] = 'Ponechať ako prečítané'; -$labels['aclw'] = 'Príznaky na zapisovanie'; +$labels['aclw'] = 'Príznaky pre zápis'; $labels['acli'] = 'Vložiť (Skopírovať do)'; $labels['aclp'] = 'Odoslať na'; $labels['aclc'] = 'Vytvoriť podpriečinky'; $labels['aclk'] = 'Vytvoriť podpriečinky'; -$labels['acld'] = 'Zmazať správy'; -$labels['aclt'] = 'Zmazať správy'; +$labels['acld'] = 'Vymazať správy'; +$labels['aclt'] = 'Vymazať správy'; $labels['acle'] = 'Vyčistiť'; -$labels['aclx'] = 'Zmazať priečinok'; +$labels['aclx'] = 'Vymazať priečinok'; $labels['acla'] = 'Spravovať'; -$labels['aclfull'] = 'Plný prístup'; -$labels['aclother'] = 'Ostatné'; +$labels['aclfull'] = 'Úplný prístup'; +$labels['aclother'] = 'Iné'; $labels['aclread'] = 'Čítanie'; $labels['aclwrite'] = 'Zápis'; -$labels['acldelete'] = 'Odstrániť'; +$labels['acldelete'] = 'Odstránenie'; $labels['shortacll'] = 'Vyhľadať'; $labels['shortaclr'] = 'Čítanie'; $labels['shortacls'] = 'Ponechať'; @@ -50,41 +50,41 @@ $labels['shortacli'] = 'Vložiť'; $labels['shortaclp'] = 'Odoslať na'; $labels['shortaclc'] = 'Vytvoriť'; $labels['shortaclk'] = 'Vytvoriť'; -$labels['shortacld'] = 'Odstrániť'; -$labels['shortaclt'] = 'Odstrániť'; +$labels['shortacld'] = 'Vymazať'; +$labels['shortaclt'] = 'Vymazať'; $labels['shortacle'] = 'Vyčistiť'; -$labels['shortaclx'] = 'Odstrániť priečinok'; +$labels['shortaclx'] = 'Vymazať priečinok'; $labels['shortacla'] = 'Spravovať'; -$labels['shortaclother'] = 'Ostatné'; +$labels['shortaclother'] = 'Iné'; $labels['shortaclread'] = 'Čítanie'; $labels['shortaclwrite'] = 'Zápis'; -$labels['shortacldelete'] = 'Odstrániť'; -$labels['longacll'] = 'Priečinok je v zoznamoch viditeľný a dá sa doň zapísať'; +$labels['shortacldelete'] = 'Odstránenie'; +$labels['longacll'] = 'Priečinok je v zoznamoch viditeľný a dá sa k nemu prihlásiť'; $labels['longaclr'] = 'Prečinok je možné otvoriť na čítanie'; $labels['longacls'] = 'Príznak "Prečítané" je možné zmeniť'; -$labels['longaclw'] = 'Príznaky správ a kľúčové slová je možné zmeniť, okrem "Prečítané" a "Vymazané'; +$labels['longaclw'] = 'Príznaky správ a kľúčové slová je možné zmeniť, okrem "Prečítané" a "Vymazané"'; $labels['longacli'] = 'Do tohto priečinka je možné zapisovať alebo kopírovať správy'; $labels['longaclp'] = 'Do tohto priečinka je možné publikovať správy'; -$labels['longaclc'] = 'Priečinky je možné vytvárať (alebo premenúvať) priamo v tomto priečinku'; -$labels['longaclk'] = 'Priečinky je možné vytvárať (alebo premenúvať) priamo v tomto priečinku'; +$labels['longaclc'] = 'Priečinky je možné vytvárať (alebo premenovávať) priamo v tomto priečinku'; +$labels['longaclk'] = 'Priečinky je možné vytvárať (alebo premenovávať) priamo v tomto priečinku'; $labels['longacld'] = 'Príznak správ "Vymazané" je možné zmeniť'; $labels['longaclt'] = 'Príznak správ "Vymazané" je možné zmeniť'; -$labels['longacle'] = 'Správy je možné vymazať'; +$labels['longacle'] = 'Správy je možné vyčistiť'; $labels['longaclx'] = 'Priečinok je možné vymazať alebo premenovať'; -$labels['longacla'] = 'Je možné zmeniť prístupové práva k priečinku'; +$labels['longacla'] = 'Prístupové oprávnenia k tomuto priečinku je možné zmeniť'; $labels['longaclfull'] = 'Úplný prístup, vrátane správy priečinka'; $labels['longaclread'] = 'Prečinok je možné otvoriť na čítanie'; $labels['longaclwrite'] = 'Správy je možné označiť, zapísať alebo skopírovať do prečinka'; $labels['longacldelete'] = 'Správy je možné vymazať'; -$messages['deleting'] = 'Odstraňovanie prístupových práv...'; -$messages['saving'] = 'Ukladanie prístupových práv...'; -$messages['updatesuccess'] = 'Prístupové práva boli úspešne zmenené'; -$messages['deletesuccess'] = 'Prístupové práva boli úspešne vymazané'; -$messages['createsuccess'] = 'Prístupové práva boli úspešne pridané'; -$messages['updateerror'] = 'Nemožno aktualizovať prístupové práva'; -$messages['deleteerror'] = 'Prístupové práva sa nepodarilo vymazať'; -$messages['createerror'] = 'Prístupové práva sa nepodarilo pridať'; -$messages['deleteconfirm'] = 'Ste si istý, že chcete odstrániť prístupové práva vybranému používateľovi/používateľom?'; -$messages['norights'] = 'Neboli určené žiadne práva!'; +$messages['deleting'] = 'Odstraňovanie prístupových oprávnení...'; +$messages['saving'] = 'Ukladanie prístupových oprávnení...'; +$messages['updatesuccess'] = 'Prístupové oprávnenia boli úspešne zmenené'; +$messages['deletesuccess'] = 'Prístupové oprávnenia boli úspešne vymazané'; +$messages['createsuccess'] = 'Prístupové oprávnenia boli úspešne pridané'; +$messages['updateerror'] = 'Nemožno aktualizovať prístupové oprávnenia'; +$messages['deleteerror'] = 'Prístupové oprávnenia sa nepodarilo vymazať'; +$messages['createerror'] = 'Prístupové oprávnenia sa nepodarilo pridať'; +$messages['deleteconfirm'] = 'Naozaj chcete odstrániť prístupové oprávnenia vybraného používateľa?'; +$messages['norights'] = 'Neboli určené žiadne oprávnenia!'; $messages['nouser'] = 'Nebolo určené žiadne meno používateľa!'; ?> 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 3500b9fe4..813033401 100644 --- a/plugins/archive/archive.js +++ b/plugins/archive/archive.js @@ -1,6 +1,6 @@ -/* +/** * Archive plugin script - * @version 2.0 + * @version 2.1 */ function rcmail_archive(prop) @@ -8,29 +8,38 @@ function rcmail_archive(prop) if (!rcmail.env.uid && (!rcmail.message_list || !rcmail.message_list.get_selection().length)) return; - if (rcmail.env.mailbox.indexOf(rcmail.env.archive_folder) != 0) { + if (!rcmail_is_archive()) { if (!rcmail.env.archive_type) { // simply move to archive folder (if no partition type is set) rcmail.command('move', rcmail.env.archive_folder); } else { // let the server sort the messages to the according subfolders - var post_data = { _uid: rcmail.message_list.get_selection().join(','), _mbox: rcmail.env.mailbox }; - rcmail.http_post('plugin.move2archive', post_data); + rcmail.http_post('plugin.move2archive', rcmail.selection_post_data()); } } } +function rcmail_is_archive() +{ + // check if current folder is an archive folder or one of its children + if (rcmail.env.mailbox == rcmail.env.archive_folder + || rcmail.env.mailbox.startsWith(rcmail.env.archive_folder + rcmail.env.delimiter) + ) { + return true; + } +} + // callback for app-onload event if (window.rcmail) { rcmail.addEventListener('init', function(evt) { // register command (directly enable in message view mode) - rcmail.register_command('plugin.archive', rcmail_archive, (rcmail.env.uid && rcmail.env.mailbox != rcmail.env.archive_folder)); + rcmail.register_command('plugin.archive', rcmail_archive, rcmail.env.uid && !rcmail_is_archive()); // add event-listener to message list if (rcmail.message_list) rcmail.message_list.addEventListener('select', function(list) { - rcmail.enable_command('plugin.archive', (list.get_selection().length > 0 && rcmail.env.mailbox != rcmail.env.archive_folder)); + rcmail.enable_command('plugin.archive', list.get_selection().length > 0 && !rcmail_is_archive()); }); // set css style for archive folder @@ -41,7 +50,7 @@ if (window.rcmail) { // callback for server response rcmail.addEventListener('plugin.move2archive_response', function(result) { if (result.update) - rcmail.command('checkmail'); // refresh list + rcmail.command('list'); // refresh list }); }) } diff --git a/plugins/archive/archive.php b/plugins/archive/archive.php index 7a81606ab..a0fd2efa9 100644 --- a/plugins/archive/archive.php +++ b/plugins/archive/archive.php @@ -6,9 +6,9 @@ * Plugin that adds a new button to the mailbox toolbar * to move messages to a (user selectable) archive folder. * - * @version 2.0 + * @version 2.1 * @license GNU GPLv3+ - * @author Andre Rodier, Thomas Bruederli + * @author Andre Rodier, Thomas Bruederli, Aleksander Machniak */ class archive extends rcube_plugin { @@ -110,19 +110,29 @@ class archive extends rcube_plugin */ function move_messages() { - $rcmail = rcmail::get_instance(); $this->add_texts('localization'); - $storage = $rcmail->get_storage(); + $rcmail = rcmail::get_instance(); + $storage = $rcmail->get_storage(); + $delimiter = $storage->get_hierarchy_delimiter(); + $archive_folder = $rcmail->config->get('archive_mbox'); + $archive_type = $rcmail->config->get('archive_type', ''); + $storage->set_folder(($current_mbox = rcube_utils::get_input_value('_mbox', RCUBE_INPUT_POST))); - $delimiter = $storage->get_hierarchy_delimiter(); - $archive_folder = $rcmail->config->get('archive_mbox'); - $archive_type = $rcmail->config->get('archive_type', ''); + $result = array('reload' => false, 'update' => false, 'errors' => array()); + $folders = array(); + $uids = rcube_utils::get_input_value('_uid', RCUBE_INPUT_POST); + $search_request = get_input_value('_search', RCUBE_INPUT_GPC); - $result = array('reload' => false, 'update' => false, 'errors' => array()); + if ($uids == '*') { + $index = $storage->index(null, rcmail_sort_column(), rcmail_sort_order()); + $uids = $index->get(); + } + else { + $uids = explode(',', $uids); + } - $uids = explode(',', rcube_utils::get_input_value('_uid', RCUBE_INPUT_POST)); foreach ($uids as $uid) { if (!$archive_folder || !($message = $rcmail->storage->get_message($uid))) { continue; @@ -164,12 +174,27 @@ class archive extends rcube_plugin } // compose full folder path - $folder = $archive_folder . ($subfolder ? $delimiter . $subfolder : ''); + $folder = $archive_folder . ($subfolder ? $delimiter . $subfolder : ''); // create archive subfolder if it doesn't yet exist - if (!$storage->folder_exists($folder, false)) { - if ($storage->create_folder($folder, true)) - $result['reload'] = true; + // we'll create all folders in the path + if (!in_array($folder, $folders)) { + if (empty($list)) { + $list = $storage->list_folders('', $archive_folder . '*', 'mail', null, true); + } + $path = explode($delimiter, $folder); + + for ($i=0; $i<count($path); $i++) { + $_folder = implode($delimiter, array_slice($path, 0, $i+1)); + if (!in_array($_folder, $list)) { + if ($storage->create_folder($_folder, true)) { + $result['reload'] = true; + $list[] = $_folder; + } + } + } + + $folders[] = $folder; } // move message to target folder @@ -192,7 +217,22 @@ class archive extends rcube_plugin $rcmail->output->show_message($this->gettext('archived'), 'confirmation'); } - $rcmail->output->command('plugin.move2archive_response', $result); + // refresh saved search set after moving some messages + if ($search_request && $rcmail->storage->get_search_set()) { + $_SESSION['search'] = $rcmail->storage->refresh_search(); + } + + if ($_POST['_from'] == 'show' && !empty($result['update'])) { + if ($next = get_input_value('_next_uid', RCUBE_INPUT_GPC)) { + $rcmail->output->command('show_message', $next); + } + else { + $rcmail->output->command('command', 'list'); + } + } + else { + $rcmail->output->command('plugin.move2archive_response', $result); + } } /** @@ -228,7 +268,7 @@ class archive extends rcube_plugin $archive_type->add($this->gettext('archivetypefolder'), 'folder'); $args['blocks']['archive'] = array( - 'name' => Q(rcube_label('settingstitle', 'archive')), + 'name' => Q($this->gettext('settingstitle')), 'options' => array('archive_type' => array( 'title' => $this->gettext('archivetype'), 'content' => $archive_type->show($rcmail->config->get('archive_type')) diff --git a/plugins/archive/composer.json b/plugins/archive/composer.json index 7826545b8..8a585ad09 100644 --- a/plugins/archive/composer.json +++ b/plugins/archive/composer.json @@ -3,12 +3,17 @@ "type": "roundcube-plugin", "description": "This adds a button to move the selected messages to an archive folder. The folder (and the optional structure of subfolders) can be selected in the settings panel.", "license": "GNU GPLv3+", - "version": "2.0", + "version": "2.1", "authors": [ { "name": "Thomas Bruederli", "email": "roundcube@gmail.com", "role": "Lead" + }, + { + "name": "Aleksander Machniak", + "email": "alec@alec.pl", + "role": "Developer" } ], "repositories": [ diff --git a/plugins/archive/localization/ca_ES.inc b/plugins/archive/localization/ca_ES.inc index bce2c202a..2fc7e5dbe 100644 --- a/plugins/archive/localization/ca_ES.inc +++ b/plugins/archive/localization/ca_ES.inc @@ -19,10 +19,10 @@ $labels['buttontext'] = 'Arxiva'; $labels['buttontitle'] = 'Arxiva aquest missatge'; $labels['archived'] = 'Arxivat correctament'; $labels['archivedreload'] = 'Arxivat correctament. Recarregueu la pàgina per veure les noves carpetes de l\'arxiu.'; -$labels['archiveerror'] = 'Alguns missatges no han pogut ser arxivats'; -$labels['archivefolder'] = 'Arxiva'; +$labels['archiveerror'] = 'Alguns missatges no s\'han pogut arxivar'; +$labels['archivefolder'] = 'Arxiu'; $labels['settingstitle'] = 'Arxiu'; -$labels['archivetype'] = 'Dividir arxiu per'; +$labels['archivetype'] = 'Divideix arxiu per'; $labels['archivetypeyear'] = 'Any (p.ex. Arxiu/2012)'; $labels['archivetypemonth'] = 'Mes (p.ex. Arxiu/2012/06)'; $labels['archivetypefolder'] = 'Carpeta original'; diff --git a/plugins/archive/localization/en_CA.inc b/plugins/archive/localization/en_CA.inc new file mode 100644 index 000000000..58cb7f439 --- /dev/null +++ b/plugins/archive/localization/en_CA.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'] = '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/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/es_419.inc b/plugins/archive/localization/es_419.inc new file mode 100644 index 000000000..3f26a018e --- /dev/null +++ b/plugins/archive/localization/es_419.inc @@ -0,0 +1,29 @@ +<?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'] = 'Archivo'; +$labels['buttontitle'] = 'Archivar este mensaje'; +$labels['archived'] = 'Archivado exitosamente'; +$labels['archivedreload'] = 'Achivado exitosamente. '; +$labels['archiveerror'] = 'Algunos mensajes no pudieron ser archivados'; +$labels['archivefolder'] = 'Archivo'; +$labels['archivetype'] = 'Dividir archivo por'; +$labels['archivetypeyear'] = 'Año (ej. Archivo/2012)'; +$labels['archivetypemonth'] = 'Mes (ej. Archivo/2012/06)'; +$labels['archivetypefolder'] = 'Carpeta original'; +$labels['unkownsender'] = 'desconocido'; +?> 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/gl_ES.inc b/plugins/archive/localization/gl_ES.inc index 1eda2542b..7ce96a0df 100644 --- a/plugins/archive/localization/gl_ES.inc +++ b/plugins/archive/localization/gl_ES.inc @@ -18,7 +18,7 @@ $labels['buttontext'] = 'Arquivo'; $labels['buttontitle'] = 'Arquivar esta mensaxe'; $labels['archived'] = 'Aquivouse a mensaxe'; -$labels['archivedreload'] = 'Arquivado correctamente. Recargue a páxina para ver os novos cartafoles de arquivado.'; +$labels['archivedreload'] = 'Arquivado correctamente. Recargua a páxina para ver os novos cartafoles de arquivado.'; $labels['archiveerror'] = 'Non se puideron arquivar algunhas mensaxes'; $labels['archivefolder'] = 'Arquivo'; $labels['settingstitle'] = 'Arquivar'; @@ -26,6 +26,6 @@ $labels['archivetype'] = 'Dividir o arquivo por'; $labels['archivetypeyear'] = 'Ano (p.ex. Arquivo/2012)'; $labels['archivetypemonth'] = 'Mes (p.ex. Arquivo/2012/06)'; $labels['archivetypefolder'] = 'Cartafol orixe'; -$labels['archivetypesender'] = 'Enderezo do remitente'; +$labels['archivetypesender'] = 'Enderezo da persoa remitente'; $labels['unkownsender'] = 'descoñecido'; ?> 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/mn_MN.inc b/plugins/archive/localization/mn_MN.inc deleted file mode 100644 index 8e95162d5..000000000 --- a/plugins/archive/localization/mn_MN.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/archive/localization/ms_MY.inc b/plugins/archive/localization/ms_MY.inc deleted file mode 100644 index 8e95162d5..000000000 --- a/plugins/archive/localization/ms_MY.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/archive/localization/my_MM.inc b/plugins/archive/localization/my_MM.inc deleted file mode 100644 index 8e95162d5..000000000 --- a/plugins/archive/localization/my_MM.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/archive/localization/nl_BE.inc b/plugins/archive/localization/nl_BE.inc deleted file mode 100644 index 8e95162d5..000000000 --- a/plugins/archive/localization/nl_BE.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/archive/localization/nqo.inc b/plugins/archive/localization/nqo.inc deleted file mode 100644 index 8e95162d5..000000000 --- a/plugins/archive/localization/nqo.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/archive/localization/om.inc b/plugins/archive/localization/om.inc deleted file mode 100644 index 8e95162d5..000000000 --- a/plugins/archive/localization/om.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/archive/localization/sk_SK.inc b/plugins/archive/localization/sk_SK.inc index f3f447b90..79506f650 100644 --- a/plugins/archive/localization/sk_SK.inc +++ b/plugins/archive/localization/sk_SK.inc @@ -17,14 +17,14 @@ */ $labels['buttontext'] = 'Archivovať'; $labels['buttontitle'] = 'Archivovať túto správu'; -$labels['archived'] = 'Úspešne archivované'; +$labels['archived'] = 'Úspešne uložené do archívu'; $labels['archivedreload'] = 'Archivovanie bolo úspešne dokončené. Ak si chcete prezrieť nové archívne priečinky, obnovte stránku.'; $labels['archiveerror'] = 'Niektoré správy nebolo možné archivovať'; $labels['archivefolder'] = 'Archivovať'; $labels['settingstitle'] = 'Archív'; $labels['archivetype'] = 'Rozdeliť archív po'; -$labels['archivetypeyear'] = 'Rok (napríklad Archív/2012)'; -$labels['archivetypemonth'] = 'Mesiac (napríklad Archív/2012/06)'; +$labels['archivetypeyear'] = 'rokoch (napríklad Archív/2012)'; +$labels['archivetypemonth'] = 'mesiacoch (napríklad Archív/2012/06)'; $labels['archivetypefolder'] = 'Pôvodný priečinok'; $labels['archivetypesender'] = 'E-mailová adresa odosielateľa'; $labels['unkownsender'] = 'neznámy'; diff --git a/plugins/archive/localization/te_IN.inc b/plugins/archive/localization/te_IN.inc deleted file mode 100644 index 8e95162d5..000000000 --- a/plugins/archive/localization/te_IN.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/archive/localization/th_TH.inc b/plugins/archive/localization/th_TH.inc deleted file mode 100644 index 8e95162d5..000000000 --- a/plugins/archive/localization/th_TH.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/archive/localization/ti.inc b/plugins/archive/localization/ti.inc deleted file mode 100644 index 8e95162d5..000000000 --- a/plugins/archive/localization/ti.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/archive/localization/tzm.inc b/plugins/archive/localization/tzm.inc deleted file mode 100644 index 8e95162d5..000000000 --- a/plugins/archive/localization/tzm.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/archive/localization/uk_UA.inc b/plugins/archive/localization/uk_UA.inc index d2b461fca..92fbc79ea 100644 --- a/plugins/archive/localization/uk_UA.inc +++ b/plugins/archive/localization/uk_UA.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'] = 'Відправник email'; +$labels['unkownsender'] = 'невідомо'; ?> diff --git a/plugins/archive/localization/ur_PK.inc b/plugins/archive/localization/ur_PK.inc deleted file mode 100644 index 8e95162d5..000000000 --- a/plugins/archive/localization/ur_PK.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> 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/archive/package.xml b/plugins/archive/package.xml index 62a009a99..ec3323e4b 100644 --- a/plugins/archive/package.xml +++ b/plugins/archive/package.xml @@ -13,9 +13,15 @@ <email>roundcube@gmail.com</email> <active>yes</active> </lead> - <date>2013-01-20</date> + <lead> + <name>Aleksander Machniak</name> + <user>alec</user> + <email>alec@alec.pl</email> + <active>yes</active> + </lead> + <date>2013-10-30</date> <version> - <release>2.0</release> + <release>2.1</release> <api>2.0</api> </version> <stability> diff --git a/plugins/archive/skins/classic/archive.css b/plugins/archive/skins/classic/archive.css index 3880fe3da..fc5984b39 100644 --- a/plugins/archive/skins/classic/archive.css +++ b/plugins/archive/skins/classic/archive.css @@ -4,7 +4,7 @@ background: url(archive_act.png) 0 0 no-repeat; } -#mailboxlist li.mailbox.archive { +#mailboxlist li.mailbox.archive > a { background-image: url(foldericon.png); background-position: 5px 1px; } diff --git a/plugins/attachment_reminder/localization/ca_ES.inc b/plugins/attachment_reminder/localization/ca_ES.inc index 957548bfb..ca22fbd41 100644 --- a/plugins/attachment_reminder/localization/ca_ES.inc +++ b/plugins/attachment_reminder/localization/ca_ES.inc @@ -15,6 +15,6 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/ */ -$messages['forgotattachment'] = "Heu oblidat afegir un fitxer?"; -$messages['reminderoption'] = "Avís de fitxers adjunts oblidats"; +$messages['forgotattachment'] = "Us heu oblidat afegir un fitxer?"; +$messages['reminderoption'] = "Recordatori de fitxers adjunts oblidats"; $messages['keywords'] = "adjunt,fitxer,adjuntar,adjuntat,adjuntant,CV,carta"; 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/archive/localization/ia.inc b/plugins/attachment_reminder/localization/en_CA.inc index 8e95162d5..730e206f7 100644 --- a/plugins/archive/localization/ia.inc +++ b/plugins/attachment_reminder/localization/en_CA.inc @@ -2,7 +2,7 @@ /* +-----------------------------------------------------------------------+ - | plugins/archive/localization/<lang>.inc | + | plugins/attachment_reminder/localization/<lang>.inc | | | | Localization file of the Roundcube Webmail Archive plugin | | Copyright (C) 2013, The Roundcube Dev Team | @@ -13,6 +13,8 @@ | | +-----------------------------------------------------------------------+ - For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/ + 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/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_419.inc b/plugins/attachment_reminder/localization/es_419.inc new file mode 100644 index 000000000..0c9a33bfe --- /dev/null +++ b/plugins/attachment_reminder/localization/es_419.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'] = "¿Has olvidado adjuntar un archivo?"; +$messages['reminderoption'] = "Recordar si olvido adjuntar archivos"; +$messages['keywords'] = "attachment,file,attach,attached,attaching,enclosed,CV,cover letter"; diff --git a/plugins/archive/localization/ar.inc b/plugins/attachment_reminder/localization/es_MX.inc index 8e95162d5..c3b4aaa02 100644 --- a/plugins/archive/localization/ar.inc +++ b/plugins/attachment_reminder/localization/es_MX.inc @@ -2,7 +2,7 @@ /* +-----------------------------------------------------------------------+ - | plugins/archive/localization/<lang>.inc | + | plugins/attachment_reminder/localization/<lang>.inc | | | | Localization file of the Roundcube Webmail Archive plugin | | Copyright (C) 2013, The Roundcube Dev Team | @@ -13,6 +13,8 @@ | | +-----------------------------------------------------------------------+ - For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/ + 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/fi_FI.inc b/plugins/attachment_reminder/localization/fi_FI.inc index 53d2a9abb..a39d8b28d 100644 --- a/plugins/attachment_reminder/localization/fi_FI.inc +++ b/plugins/attachment_reminder/localization/fi_FI.inc @@ -17,4 +17,4 @@ */ $messages['forgotattachment'] = "Unohditko liittää tiedoston?"; $messages['reminderoption'] = "Muistuta mahdollisesti unohtuneista liitteistä"; -$messages['keywords'] = "attachment,file,attach,attached,attaching,enclosed,CV,cover letter,liite,tiedosto,liitteenä,liitetiedosto"; +$messages['keywords'] = "attachment,file,attach,attached,attaching,enclosed,CV,cover letter,liite,tiedosto,liitteenä,liitetiedosto,ansioluettelo"; diff --git a/plugins/archive/localization/hi_IN.inc b/plugins/attachment_reminder/localization/fo_FO.inc index 8e95162d5..260ec0361 100644 --- a/plugins/archive/localization/hi_IN.inc +++ b/plugins/attachment_reminder/localization/fo_FO.inc @@ -2,7 +2,7 @@ /* +-----------------------------------------------------------------------+ - | plugins/archive/localization/<lang>.inc | + | plugins/attachment_reminder/localization/<lang>.inc | | | | Localization file of the Roundcube Webmail Archive plugin | | Copyright (C) 2013, The Roundcube Dev Team | @@ -13,6 +13,8 @@ | | +-----------------------------------------------------------------------+ - For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/ + 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/gl_ES.inc b/plugins/attachment_reminder/localization/gl_ES.inc index bd126b2af..a45f63bd1 100644 --- a/plugins/attachment_reminder/localization/gl_ES.inc +++ b/plugins/attachment_reminder/localization/gl_ES.inc @@ -17,4 +17,4 @@ */ $messages['forgotattachment'] = "Esqueceches adxuntar un ficheiro?"; $messages['reminderoption'] = "Lembrete de adxuntos esquecidos"; -$messages['keywords'] = "adxunto,ficheiro,engádega, engadido,engadindo,anexo,CV,cuberta,carta"; +$messages['keywords'] = "anexo, arquivo, engadir, anexo, anexando, pechado, CV, carta de presentación"; 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/archive/localization/bn_BD.inc b/plugins/attachment_reminder/localization/kn_IN.inc index 8e95162d5..9783afa97 100644 --- a/plugins/archive/localization/bn_BD.inc +++ b/plugins/attachment_reminder/localization/kn_IN.inc @@ -2,7 +2,7 @@ /* +-----------------------------------------------------------------------+ - | plugins/archive/localization/<lang>.inc | + | plugins/attachment_reminder/localization/<lang>.inc | | | | Localization file of the Roundcube Webmail Archive plugin | | Copyright (C) 2013, The Roundcube Dev Team | @@ -13,6 +13,8 @@ | | +-----------------------------------------------------------------------+ - For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-archive/ + 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/pt_BR.inc b/plugins/attachment_reminder/localization/pt_BR.inc index b06e8923e..4b61e951c 100644 --- a/plugins/attachment_reminder/localization/pt_BR.inc +++ b/plugins/attachment_reminder/localization/pt_BR.inc @@ -16,5 +16,5 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/ */ $messages['forgotattachment'] = "Você esqueceu-se de anexar um arquivo?"; -$messages['reminderoption'] = "Alertar quando os anexos forem esquecidos"; +$messages['reminderoption'] = "Alertar sobre o possível esquecimento de anexos"; $messages['keywords'] = "anexo,arquivo,anexar,anexado,anexando,incluso,CV,currículo"; diff --git a/plugins/attachment_reminder/localization/uk_UA.inc b/plugins/attachment_reminder/localization/uk_UA.inc index c3b4aaa02..122fb2bee 100644 --- a/plugins/attachment_reminder/localization/uk_UA.inc +++ b/plugins/attachment_reminder/localization/uk_UA.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['forgotattachment'] = "Ви забули прикріпити файл?"; +$messages['reminderoption'] = "Нагадати про забуте вкладення"; $messages['keywords'] = ""; 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/enigma/README b/plugins/enigma/README index 22d6e513a..c4e474be2 100644 --- a/plugins/enigma/README +++ b/plugins/enigma/README @@ -12,6 +12,7 @@ Enigma Plugin Status: - Handling of PGP keys files attached to incoming messages - PGP encrypted messages decryption (started) - PGP keys management UI (started) +- S/MIME signatures verification (started) * TODO (must have): diff --git a/plugins/enigma/enigma.php b/plugins/enigma/enigma.php index 25520a27d..870b923b6 100644 --- a/plugins/enigma/enigma.php +++ b/plugins/enigma/enigma.php @@ -179,10 +179,11 @@ class enigma extends rcube_plugin { // add labels $this->add_texts('localization/'); - +/* $p['list']['enigmasettings'] = array( 'id' => 'enigmasettings', 'section' => $this->gettext('enigmasettings'), ); +*/ $p['list']['enigmacerts'] = array( 'id' => 'enigmacerts', 'section' => $this->gettext('enigmacerts'), ); @@ -203,11 +204,13 @@ class enigma extends rcube_plugin */ function preferences_list($p) { +/* if ($p['section'] == 'enigmasettings') { // This makes that section is not removed from the list $p['blocks']['dummy']['options']['dummy'] = array(); } - else if ($p['section'] == 'enigmacerts') { + else */ + if ($p['section'] == 'enigmacerts') { // This makes that section is not removed from the list $p['blocks']['dummy']['options']['dummy'] = array(); } @@ -313,18 +316,24 @@ class enigma extends rcube_plugin $attrib['id'] = 'enigma-message'; if ($sig instanceof enigma_signature) { - if ($sig->valid) { + $sender = ($sig->name ? $sig->name . ' ' : '') . '<' . $sig->email . '>'; + + if ($sig->valid === enigma_error::E_UNVERIFIED) { + $attrib['class'] = 'enigmawarning'; + $msg = str_replace('$sender', $sender, $this->gettext('sigunverified')); + $msg = str_replace('$keyid', $sig->id, $msg); + $msg = rcube::Q($msg); + } + else if ($sig->valid) { $attrib['class'] = 'enigmanotice'; - $sender = ($sig->name ? $sig->name . ' ' : '') . '<' . $sig->email . '>'; $msg = rcube::Q(str_replace('$sender', $sender, $this->gettext('sigvalid'))); } else { $attrib['class'] = 'enigmawarning'; - $sender = ($sig->name ? $sig->name . ' ' : '') . '<' . $sig->email . '>'; $msg = rcube::Q(str_replace('$sender', $sender, $this->gettext('siginvalid'))); } } - else if ($sig->getCode() == enigma_error::E_KEYNOTFOUND) { + else if ($sig && $sig->getCode() == enigma_error::E_KEYNOTFOUND) { $attrib['class'] = 'enigmawarning'; $msg = rcube::Q(str_replace('$keyid', enigma_key::format_id($sig->getData('id')), $this->gettext('signokey'))); diff --git a/plugins/enigma/lib/enigma_driver_gnupg.php b/plugins/enigma/lib/enigma_driver_gnupg.php index 5aa32217e..c4280a089 100644 --- a/plugins/enigma/lib/enigma_driver_gnupg.php +++ b/plugins/enigma/lib/enigma_driver_gnupg.php @@ -76,7 +76,7 @@ class enigma_driver_gnupg extends enigma_driver // Create Crypt_GPG object try { - $this->gpg = new Crypt_GPG(array( + $this->gpg = new Crypt_GPG(array( 'homedir' => $this->homedir, // 'debug' => true, )); @@ -89,20 +89,20 @@ class enigma_driver_gnupg extends enigma_driver function encrypt($text, $keys) { /* - foreach ($keys as $key) { - $this->gpg->addEncryptKey($key); - } - $enc = $this->gpg->encrypt($text); - return $enc; + foreach ($keys as $key) { + $this->gpg->addEncryptKey($key); + } + $enc = $this->gpg->encrypt($text); + return $enc; */ } function decrypt($text, $key, $passwd) { -// $this->gpg->addDecryptKey($key, $passwd); +// $this->gpg->addDecryptKey($key, $passwd); try { - $dec = $this->gpg->decrypt($text); - return $dec; + $dec = $this->gpg->decrypt($text); + return $dec; } catch (Exception $e) { return $this->get_error_from_exception($e); @@ -112,17 +112,17 @@ class enigma_driver_gnupg extends enigma_driver function sign($text, $key, $passwd) { /* - $this->gpg->addSignKey($key, $passwd); - $signed = $this->gpg->sign($text, Crypt_GPG::SIGN_MODE_DETACHED); - return $signed; + $this->gpg->addSignKey($key, $passwd); + $signed = $this->gpg->sign($text, Crypt_GPG::SIGN_MODE_DETACHED); + return $signed; */ } function verify($text, $signature) { try { - $verified = $this->gpg->verify($text, $signature); - return $this->parse_signature($verified[0]); + $verified = $this->gpg->verify($text, $signature); + return $this->parse_signature($verified[0]); } catch (Exception $e) { return $this->get_error_from_exception($e); @@ -141,11 +141,11 @@ class enigma_driver_gnupg extends enigma_driver return $this->get_error_from_exception($e); } } - + public function list_keys($pattern='') { try { - $keys = $this->gpg->getKeys($pattern); + $keys = $this->gpg->getKeys($pattern); $result = array(); //print_r($keys); foreach ($keys as $idx => $key) { @@ -153,13 +153,13 @@ class enigma_driver_gnupg extends enigma_driver unset($keys[$idx]); } //print_r($result); - return $result; + return $result; } catch (Exception $e) { return $this->get_error_from_exception($e); } } - + public function get_key($keyid) { $list = $this->list_keys($keyid); @@ -167,7 +167,7 @@ class enigma_driver_gnupg extends enigma_driver if (is_array($list)) return array_shift($list); - // error + // error return $list; } @@ -178,14 +178,12 @@ class enigma_driver_gnupg extends enigma_driver public function del_key($keyid) { // $this->get_key($keyid); - - } - + public function del_privkey($keyid) { try { - $this->gpg->deletePrivateKey($keyid); + $this->gpg->deletePrivateKey($keyid); return true; } catch (Exception $e) { @@ -196,14 +194,14 @@ class enigma_driver_gnupg extends enigma_driver public function del_pubkey($keyid) { try { - $this->gpg->deletePublicKey($keyid); + $this->gpg->deletePublicKey($keyid); return true; } catch (Exception $e) { return $this->get_error_from_exception($e); } } - + /** * Converts Crypt_GPG exception into Enigma's error object * @@ -281,7 +279,7 @@ class enigma_driver_gnupg extends enigma_driver $ekey->users[$idx] = $id; } - + $ekey->name = trim($ekey->users[0]->name . ' <' . $ekey->users[0]->email . '>'); foreach ($key->getSubKeys() as $idx => $subkey) { @@ -297,9 +295,9 @@ class enigma_driver_gnupg extends enigma_driver $ekey->subkeys[$idx] = $skey; }; - + $ekey->id = $ekey->subkeys[0]->id; - + return $ekey; } } diff --git a/plugins/enigma/lib/enigma_driver_phpssl.php b/plugins/enigma/lib/enigma_driver_phpssl.php new file mode 100644 index 000000000..50af44762 --- /dev/null +++ b/plugins/enigma/lib/enigma_driver_phpssl.php @@ -0,0 +1,238 @@ +<?php +/* + +-------------------------------------------------------------------------+ + | S/MIME driver for the Enigma Plugin | + | | + | This program is free software; you can redistribute it and/or modify | + | it under the terms of the GNU General Public License version 2 | + | as published by the Free Software Foundation. | + | | + | This program is distributed in the hope that it will be useful, | + | but WITHOUT ANY WARRANTY; without even the implied warranty of | + | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | + | GNU General Public License for more details. | + | | + | You should have received a copy of the GNU General Public License along | + | with this program; if not, write to the Free Software Foundation, Inc., | + | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | + | | + +-------------------------------------------------------------------------+ + | Author: Aleksander Machniak <alec@alec.pl> | + +-------------------------------------------------------------------------+ +*/ + +class enigma_driver_phpssl extends enigma_driver +{ + private $rc; + //private $gpg; + private $homedir; + private $user; + + function __construct($user) + { + $rcmail = rcmail::get_instance(); + $this->rc = $rcmail; + $this->user = $user; + } + + /** + * Driver initialization and environment checking. + * Should only return critical errors. + * + * @return mixed NULL on success, enigma_error on failure + */ + function init() + { + $homedir = $this->rc->config->get('enigma_smime_homedir', INSTALL_PATH . '/plugins/enigma/home'); + + if (!$homedir) + return new enigma_error(enigma_error::E_INTERNAL, + "Option 'enigma_smime_homedir' not specified"); + + // check if homedir exists (create it if not) and is readable + if (!file_exists($homedir)) + return new enigma_error(enigma_error::E_INTERNAL, + "Keys directory doesn't exists: $homedir"); + if (!is_writable($homedir)) + return new enigma_error(enigma_error::E_INTERNAL, + "Keys directory isn't writeable: $homedir"); + + $homedir = $homedir . '/' . $this->user; + + // check if user's homedir exists (create it if not) and is readable + if (!file_exists($homedir)) + mkdir($homedir, 0700); + + if (!file_exists($homedir)) + return new enigma_error(enigma_error::E_INTERNAL, + "Unable to create keys directory: $homedir"); + if (!is_writable($homedir)) + return new enigma_error(enigma_error::E_INTERNAL, + "Unable to write to keys directory: $homedir"); + + $this->homedir = $homedir; + + } + + function encrypt($text, $keys) + { + } + + function decrypt($text, $key, $passwd) + { + } + + function sign($text, $key, $passwd) + { + } + + function verify($struct, $message) + { + // use common temp dir + $temp_dir = $this->rc->config->get('temp_dir'); + $msg_file = tempnam($temp_dir, 'rcmMsg'); + $cert_file = tempnam($temp_dir, 'rcmCert'); + + $fh = fopen($msg_file, "w"); + if ($struct->mime_id) { + $message->get_part_content($struct->mime_id, $fh, true, 0, false); + } + else { + $this->rc->storage->get_raw_body($message->uid, $fh); + } + fclose($fh); + + // @TODO: use stored certificates + + // try with certificate verification + $sig = openssl_pkcs7_verify($msg_file, 0, $cert_file); + $validity = true; + + if ($sig !== true) { + // try without certificate verification + $sig = openssl_pkcs7_verify($msg_file, PKCS7_NOVERIFY, $cert_file); + $validity = enigma_error::E_UNVERIFIED; + } + + if ($sig === true) { + $sig = $this->parse_sig_cert($cert_file, $validity); + } + else { + $errorstr = $this->get_openssl_error(); + $sig = new enigma_error(enigma_error::E_INTERNAL, $errorstr); + } + + // remove temp files + @unlink($msg_file); + @unlink($cert_file); + + return $sig; + } + + public function import($content, $isfile=false) + { + } + + public function list_keys($pattern='') + { + } + + public function get_key($keyid) + { + } + + public function gen_key($data) + { + } + + public function del_key($keyid) + { + } + + public function del_privkey($keyid) + { + } + + public function del_pubkey($keyid) + { + } + + /** + * Converts Crypt_GPG_Key object into Enigma's key object + * + * @param Crypt_GPG_Key Key object + * + * @return enigma_key Key object + */ + private function parse_key($key) + { +/* + $ekey = new enigma_key(); + + foreach ($key->getUserIds() as $idx => $user) { + $id = new enigma_userid(); + $id->name = $user->getName(); + $id->comment = $user->getComment(); + $id->email = $user->getEmail(); + $id->valid = $user->isValid(); + $id->revoked = $user->isRevoked(); + + $ekey->users[$idx] = $id; + } + + $ekey->name = trim($ekey->users[0]->name . ' <' . $ekey->users[0]->email . '>'); + + foreach ($key->getSubKeys() as $idx => $subkey) { + $skey = new enigma_subkey(); + $skey->id = $subkey->getId(); + $skey->revoked = $subkey->isRevoked(); + $skey->created = $subkey->getCreationDate(); + $skey->expires = $subkey->getExpirationDate(); + $skey->fingerprint = $subkey->getFingerprint(); + $skey->has_private = $subkey->hasPrivate(); + $skey->can_sign = $subkey->canSign(); + $skey->can_encrypt = $subkey->canEncrypt(); + + $ekey->subkeys[$idx] = $skey; + }; + + $ekey->id = $ekey->subkeys[0]->id; + + return $ekey; +*/ + } + + private function get_openssl_error() + { + $tmp = array(); + while ($errorstr = openssl_error_string()) { + $tmp[] = $errorstr; + } + + return join("\n", array_values($tmp)); + } + + private function parse_sig_cert($file, $validity) + { + $cert = openssl_x509_parse(file_get_contents($file)); + + if (empty($cert) || empty($cert['subject'])) { + $errorstr = $this->get_openssl_error(); + return new enigma_error(enigm_error::E_INTERNAL, $errorstr); + } + + $data = new enigma_signature(); + + $data->id = $cert['hash']; //? + $data->valid = $validity; + $data->fingerprint = $cert['serialNumber']; + $data->created = $cert['validFrom_time_t']; + $data->expires = $cert['validTo_time_t']; + $data->name = $cert['subject']['CN']; +// $data->comment = ''; + $data->email = $cert['subject']['emailAddress']; + + return $data; + } + +} diff --git a/plugins/enigma/lib/enigma_engine.php b/plugins/enigma/lib/enigma_engine.php index 8a64c07ff..e4972c6a9 100644 --- a/plugins/enigma/lib/enigma_engine.php +++ b/plugins/enigma/lib/enigma_engine.php @@ -92,9 +92,6 @@ class enigma_engine if ($this->smime_driver) return; - // NOT IMPLEMENTED! - return; - $driver = 'enigma_driver_' . $this->rc->config->get('enigma_smime_driver', 'phpssl'); $username = $this->rc->user->get_username(); @@ -246,7 +243,7 @@ class enigma_engine fclose($fh); } - + /** * Handler for PGP/MIME signed message. * Verifies signature. @@ -255,14 +252,14 @@ class enigma_engine */ private function parse_pgp_signed(&$p) { - $this->load_pgp_driver(); - $struct = $p['structure']; - // Verify signature if ($this->rc->action == 'show' || $this->rc->action == 'preview') { + $this->load_pgp_driver(); + $struct = $p['structure']; + $msg_part = $struct->parts[0]; $sig_part = $struct->parts[1]; - + // Get bodies $this->set_part_body($msg_part, $p['object']->uid); $this->set_part_body($sig_part, $p['object']->uid); @@ -294,7 +291,31 @@ class enigma_engine */ private function parse_smime_signed(&$p) { - $this->load_smime_driver(); + // Verify signature + if ($this->rc->action == 'show' || $this->rc->action == 'preview') { + $this->load_smime_driver(); + + $struct = $p['structure']; + $msg_part = $struct->parts[0]; + + // Verify + $sig = $this->smime_driver->verify($struct, $p['object']); + + // Store signature data for display + $this->signatures[$struct->mime_id] = $sig; + + // Message can be multipart (assign signature to each subpart) + if (!empty($msg_part->parts)) { + foreach ($msg_part->parts as $part) + $this->signed_parts[$part->mime_id] = $struct->mime_id; + } + else { + $this->signed_parts[$msg_part->mime_id] = $struct->mime_id; + } + + // Remove signature file from attachments list + unset($struct->parts[1]); + } } /** @@ -306,22 +327,22 @@ class enigma_engine { $this->load_pgp_driver(); $part = $p['structure']; - + // Get body $this->set_part_body($part, $p['object']->uid); - // Decrypt + // Decrypt $result = $this->pgp_decrypt($part->body); - + // Store decryption status $this->decryptions[$part->mime_id] = $result; - + // Parse decrypted message if ($result === true) { // @TODO } } - + /** * Handler for PGP/MIME encrypted message. * @@ -359,7 +380,7 @@ class enigma_engine */ private function parse_smime_encrypted(&$p) { - $this->load_smime_driver(); +// $this->load_smime_driver(); } /** diff --git a/plugins/enigma/lib/enigma_error.php b/plugins/enigma/lib/enigma_error.php index 9f424dc2b..ab8d01557 100644 --- a/plugins/enigma/lib/enigma_error.php +++ b/plugins/enigma/lib/enigma_error.php @@ -34,7 +34,9 @@ class enigma_error const E_KEYNOTFOUND = 3; const E_DELKEY = 4; const E_BADPASS = 5; - + const E_EXPIRED = 6; + const E_UNVERIFIED = 7; + function __construct($code = null, $message = '', $data = array()) { $this->code = $code; diff --git a/plugins/enigma/lib/enigma_ui.php b/plugins/enigma/lib/enigma_ui.php index adb619d0c..2e95938f2 100644 --- a/plugins/enigma/lib/enigma_ui.php +++ b/plugins/enigma/lib/enigma_ui.php @@ -91,7 +91,7 @@ class enigma_ui 'searchform' => array($this->rc->output, 'search_form'), )); $this->rc->output->set_pagetitle($this->enigma->gettext('enigmakeys')); - $this->rc->output->send('enigma.keys'); + $this->rc->output->send('enigma.keys'); } } } @@ -104,11 +104,11 @@ class enigma_ui if ($this->css_loaded) return; - $skin = $this->rc->config->get('skin'); - if (!file_exists($this->home . "/skins/$skin/enigma.css")) - $skin = 'default'; + $skin_path = $this->enigma->local_skin_path(); + if (is_file($this->home . "/$skin_path/enigma.css")) { + $this->enigma->include_stylesheet("$skin_path/enigma.css"); + } - $this->enigma->include_stylesheet("skins/$skin/enigma.css"); $this->css_added = true; } @@ -415,8 +415,8 @@ class enigma_ui // @TODO: make this work with non-default skins $this->enigma->add_button(array( 'name' => 'enigmamenu', - 'imagepas' => 'skins/default/enigma.png', - 'imageact' => 'skins/default/enigma.png', + 'imagepas' => 'skins/classic/enigma.png', + 'imageact' => 'skins/classic/enigma.png', 'onclick' => "rcmail_ui.show_popup('enigmamenu', true); return false", 'title' => 'securityoptions', 'domain' => 'enigma', diff --git a/plugins/enigma/localization/en_US.inc b/plugins/enigma/localization/en_US.inc index e0f03d9a0..f1ff8d1fb 100644 --- a/plugins/enigma/localization/en_US.inc +++ b/plugins/enigma/localization/en_US.inc @@ -1,9 +1,9 @@ <?php $labels = array(); -$labels['enigmasettings'] = 'Enigma: Settings'; -$labels['enigmacerts'] = 'Enigma: Certificates (S/MIME)'; -$labels['enigmakeys'] = 'Enigma: Keys (PGP)'; +$labels['enigmasettings'] = 'Enigma Settings'; +$labels['enigmacerts'] = 'S/MIME Certificates'; +$labels['enigmakeys'] = 'PGP Keys'; $labels['keysfromto'] = 'Keys $from to $to of $count'; $labels['keyname'] = 'Name'; $labels['keyid'] = 'Key ID'; @@ -36,6 +36,7 @@ $labels['signmsg'] = 'Digitally sign this message'; $messages = array(); $messages['sigvalid'] = 'Verified signature from $sender.'; $messages['siginvalid'] = 'Invalid signature from $sender.'; +$messages['sigunverified'] = 'Unverified signature. Certificate not verified. Certificate ID: $keyid.'; $messages['signokey'] = 'Unverified signature. Public key not found. Key ID: $keyid.'; $messages['sigerror'] = 'Unverified signature. Internal error.'; $messages['decryptok'] = 'Message decrypted.'; 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/help.js b/plugins/help/help.js index 59a93c537..03edb7ab2 100644 --- a/plugins/help/help.js +++ b/plugins/help/help.js @@ -1,4 +1,4 @@ -/* +/** * Help plugin client script * @version 1.4 */ diff --git a/plugins/help/help.php b/plugins/help/help.php index 37fd908a3..df08caf71 100644 --- a/plugins/help/help.php +++ b/plugins/help/help.php @@ -33,6 +33,11 @@ class help extends rcube_plugin $this->register_action('about', array($this, 'action')); $this->register_action('license', array($this, 'action')); + $this->add_hook('startup', array($this, 'startup')); + } + + function startup($args) + { $rcmail = rcmail::get_instance(); // add taskbar button diff --git a/plugins/help/localization/ber.inc b/plugins/help/localization/ber.inc deleted file mode 100644 index 046e45733..000000000 --- a/plugins/help/localization/ber.inc +++ /dev/null @@ -1,16 +0,0 @@ -<?php - -/* - +-----------------------------------------------------------------------+ - | localization//labels.inc | - | | - | Language file of the Roundcube Webmail client | - | Copyright (C) 2012, The Roundcube Dev Team | - | Licensed under the GNU General Public License | - | | - +-----------------------------------------------------------------------+ - | Author: FULL NAME <EMAIL@ADDRESS> | - +-----------------------------------------------------------------------+ -*/ - - 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/plugins/help/localization/bn_BD.inc b/plugins/help/localization/en_CA.inc index 46160477e..11a282f10 100644 --- a/plugins/help/localization/bn_BD.inc +++ b/plugins/help/localization/en_CA.inc @@ -15,4 +15,7 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-help/ */ +$labels['help'] = 'Help'; +$labels['about'] = 'About'; +$labels['license'] = 'License'; ?> diff --git a/plugins/help/localization/hi_IN.inc b/plugins/help/localization/es_419.inc index 46160477e..5567c924a 100644 --- a/plugins/help/localization/hi_IN.inc +++ b/plugins/help/localization/es_419.inc @@ -15,4 +15,7 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-help/ */ +$labels['help'] = 'Ayuda'; +$labels['about'] = 'Sobre'; +$labels['license'] = 'Licencia'; ?> diff --git a/plugins/help/localization/ia.inc b/plugins/help/localization/fo_FO.inc index 46160477e..05d7a8652 100644 --- a/plugins/help/localization/ia.inc +++ b/plugins/help/localization/fo_FO.inc @@ -15,4 +15,7 @@ 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/help/localization/ar.inc b/plugins/help/localization/kn_IN.inc index 46160477e..ce852d7e8 100644 --- a/plugins/help/localization/ar.inc +++ b/plugins/help/localization/kn_IN.inc @@ -15,4 +15,6 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-help/ */ +$labels['help'] = 'ಸಹಾಯ'; +$labels['license'] = 'ಪರವಾನಗಿ'; ?> diff --git a/plugins/help/localization/ml_IN.inc b/plugins/help/localization/ml_IN.inc deleted file mode 100644 index 46160477e..000000000 --- a/plugins/help/localization/ml_IN.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/help/localization/mn_MN.inc b/plugins/help/localization/mn_MN.inc deleted file mode 100644 index 46160477e..000000000 --- a/plugins/help/localization/mn_MN.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/help/localization/ms_MY.inc b/plugins/help/localization/ms_MY.inc deleted file mode 100644 index 46160477e..000000000 --- a/plugins/help/localization/ms_MY.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/help/localization/my_MM.inc b/plugins/help/localization/my_MM.inc deleted file mode 100644 index 46160477e..000000000 --- a/plugins/help/localization/my_MM.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/help/localization/nl_BE.inc b/plugins/help/localization/nl_BE.inc deleted file mode 100644 index 46160477e..000000000 --- a/plugins/help/localization/nl_BE.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/help/localization/nqo.inc b/plugins/help/localization/nqo.inc deleted file mode 100644 index 46160477e..000000000 --- a/plugins/help/localization/nqo.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/help/localization/om.inc b/plugins/help/localization/om.inc deleted file mode 100644 index 46160477e..000000000 --- a/plugins/help/localization/om.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/help/localization/sk_SK.inc b/plugins/help/localization/sk_SK.inc index ca88dbbe0..cead6f58a 100644 --- a/plugins/help/localization/sk_SK.inc +++ b/plugins/help/localization/sk_SK.inc @@ -15,7 +15,7 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-help/ */ -$labels['help'] = 'Nápoveda'; +$labels['help'] = 'Pomocník'; $labels['about'] = 'O aplikácii'; $labels['license'] = 'Licencia'; ?> diff --git a/plugins/help/localization/te_IN.inc b/plugins/help/localization/te_IN.inc deleted file mode 100644 index 46160477e..000000000 --- a/plugins/help/localization/te_IN.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/help/localization/th_TH.inc b/plugins/help/localization/th_TH.inc deleted file mode 100644 index 46160477e..000000000 --- a/plugins/help/localization/th_TH.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/help/localization/tzm.inc b/plugins/help/localization/tzm.inc deleted file mode 100644 index 46160477e..000000000 --- a/plugins/help/localization/tzm.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/help/localization/ur_PK.inc b/plugins/help/localization/ur_PK.inc deleted file mode 100644 index 46160477e..000000000 --- a/plugins/help/localization/ur_PK.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/help/skins/larry/templates/help.html b/plugins/help/skins/larry/templates/help.html index bfd3f1141..f1d1f232e 100644 --- a/plugins/help/skins/larry/templates/help.html +++ b/plugins/help/skins/larry/templates/help.html @@ -21,7 +21,6 @@ <div class="iframebox help_<roundcube:var name='env:action' />"> <roundcube:object name="helpcontent" id="helpcontentframe" style="width:100%; height:100%" frameborder="0" src="/watermark.html" /> </div> - <roundcube:object name="message" id="message" class="statusbar" /> </div> </div> diff --git a/plugins/hide_blockquote/localization/az_AZ.inc b/plugins/hide_blockquote/localization/az_AZ.inc index b4ae17129..6fdd4410b 100644 --- a/plugins/hide_blockquote/localization/az_AZ.inc +++ b/plugins/hide_blockquote/localization/az_AZ.inc @@ -17,5 +17,5 @@ */ $labels['hide'] = 'Gizlət'; $labels['show'] = 'Göstər'; -$labels['quotelimit'] = 'Sətr saytı göstəriləndən çoxdursa sitatı gizlə:'; +$labels['quotelimit'] = 'Sayğac xətti çoxdursa sitatı gizlə'; ?> diff --git a/plugins/hide_blockquote/localization/bn_BD.inc b/plugins/hide_blockquote/localization/en_CA.inc index 83c0e3cb6..0256e712a 100644 --- a/plugins/hide_blockquote/localization/bn_BD.inc +++ b/plugins/hide_blockquote/localization/en_CA.inc @@ -15,4 +15,7 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-hide_blockquote/ */ +$labels['hide'] = 'Hide'; +$labels['show'] = 'Show'; +$labels['quotelimit'] = 'Hide citation when lines count is greater than'; ?> diff --git a/plugins/hide_blockquote/localization/hi_IN.inc b/plugins/hide_blockquote/localization/es_419.inc index 83c0e3cb6..8a6f06cd8 100644 --- a/plugins/hide_blockquote/localization/hi_IN.inc +++ b/plugins/hide_blockquote/localization/es_419.inc @@ -15,4 +15,7 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-hide_blockquote/ */ +$labels['hide'] = 'Ocultar'; +$labels['show'] = 'Mostrar'; +$labels['quotelimit'] = 'Ocultar la cita cuando el número de lineas sea mayor a '; ?> diff --git a/plugins/hide_blockquote/localization/fa_AF.inc b/plugins/hide_blockquote/localization/fo_FO.inc index 83c0e3cb6..fe962f65b 100644 --- a/plugins/hide_blockquote/localization/fa_AF.inc +++ b/plugins/hide_blockquote/localization/fo_FO.inc @@ -15,4 +15,7 @@ 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/ar.inc b/plugins/hide_blockquote/localization/hr_HR.inc index 83c0e3cb6..d5cc4f3b5 100644 --- a/plugins/hide_blockquote/localization/ar.inc +++ b/plugins/hide_blockquote/localization/hr_HR.inc @@ -15,4 +15,7 @@ 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/ia.inc b/plugins/hide_blockquote/localization/ia.inc deleted file mode 100644 index 83c0e3cb6..000000000 --- a/plugins/hide_blockquote/localization/ia.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> 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/hide_blockquote/localization/ml_IN.inc b/plugins/hide_blockquote/localization/ml_IN.inc deleted file mode 100644 index 83c0e3cb6..000000000 --- a/plugins/hide_blockquote/localization/ml_IN.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/hide_blockquote/localization/mn_MN.inc b/plugins/hide_blockquote/localization/mn_MN.inc deleted file mode 100644 index 83c0e3cb6..000000000 --- a/plugins/hide_blockquote/localization/mn_MN.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/hide_blockquote/localization/ms_MY.inc b/plugins/hide_blockquote/localization/ms_MY.inc deleted file mode 100644 index 83c0e3cb6..000000000 --- a/plugins/hide_blockquote/localization/ms_MY.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/hide_blockquote/localization/my_MM.inc b/plugins/hide_blockquote/localization/my_MM.inc deleted file mode 100644 index 83c0e3cb6..000000000 --- a/plugins/hide_blockquote/localization/my_MM.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/hide_blockquote/localization/nl_BE.inc b/plugins/hide_blockquote/localization/nl_BE.inc deleted file mode 100644 index 83c0e3cb6..000000000 --- a/plugins/hide_blockquote/localization/nl_BE.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/hide_blockquote/localization/nqo.inc b/plugins/hide_blockquote/localization/nqo.inc deleted file mode 100644 index 83c0e3cb6..000000000 --- a/plugins/hide_blockquote/localization/nqo.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/hide_blockquote/localization/om.inc b/plugins/hide_blockquote/localization/om.inc deleted file mode 100644 index 83c0e3cb6..000000000 --- a/plugins/hide_blockquote/localization/om.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/hide_blockquote/localization/sk_SK.inc b/plugins/hide_blockquote/localization/sk_SK.inc index 2a41c1ec6..c5fe73f9a 100644 --- a/plugins/hide_blockquote/localization/sk_SK.inc +++ b/plugins/hide_blockquote/localization/sk_SK.inc @@ -17,5 +17,5 @@ */ $labels['hide'] = 'Skryť'; $labels['show'] = 'Zobraziť'; -$labels['quotelimit'] = 'Skryť citáciu pokiaľ je počet riadkov väčší než'; +$labels['quotelimit'] = 'Skryť citovaný text, ak je počet riadkov väčší než'; ?> diff --git a/plugins/hide_blockquote/localization/te_IN.inc b/plugins/hide_blockquote/localization/te_IN.inc deleted file mode 100644 index 83c0e3cb6..000000000 --- a/plugins/hide_blockquote/localization/te_IN.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/hide_blockquote/localization/th_TH.inc b/plugins/hide_blockquote/localization/th_TH.inc deleted file mode 100644 index 83c0e3cb6..000000000 --- a/plugins/hide_blockquote/localization/th_TH.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/hide_blockquote/localization/ti.inc b/plugins/hide_blockquote/localization/ti.inc deleted file mode 100644 index 83c0e3cb6..000000000 --- a/plugins/hide_blockquote/localization/ti.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/hide_blockquote/localization/tzm.inc b/plugins/hide_blockquote/localization/tzm.inc deleted file mode 100644 index 83c0e3cb6..000000000 --- a/plugins/hide_blockquote/localization/tzm.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/hide_blockquote/localization/ur_PK.inc b/plugins/hide_blockquote/localization/ur_PK.inc deleted file mode 100644 index 83c0e3cb6..000000000 --- a/plugins/hide_blockquote/localization/ur_PK.inc +++ /dev/null @@ -1,18 +0,0 @@ -<?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/ -*/ -?> diff --git a/plugins/http_authentication/http_authentication.php b/plugins/http_authentication/http_authentication.php index d86e1791c..83f29c84f 100644 --- a/plugins/http_authentication/http_authentication.php +++ b/plugins/http_authentication/http_authentication.php @@ -29,7 +29,7 @@ class http_authentication extends rcube_plugin function startup($args) { - if (!empty($_SERVER['PHP_AUTH_USER']) && !empty($_SERVER['PHP_AUTH_PW'])) { + if (!empty($_SERVER['PHP_AUTH_USER'])) { $rcmail = rcmail::get_instance(); $rcmail->add_shutdown_function(array('http_authentication', 'shutdown')); @@ -38,7 +38,8 @@ class http_authentication extends rcube_plugin $args['action'] = 'login'; } // Set user password in session (see shutdown() method for more info) - else if (!empty($_SESSION['user_id']) && empty($_SESSION['password'])) { + else if (!empty($_SESSION['user_id']) && empty($_SESSION['password']) + && !empty($_SERVER['PHP_AUTH_PW'])) { $_SESSION['password'] = $rcmail->encrypt($_SERVER['PHP_AUTH_PW']); } } @@ -61,9 +62,10 @@ class http_authentication extends rcube_plugin return $args; } - if (!empty($_SERVER['PHP_AUTH_USER']) && !empty($_SERVER['PHP_AUTH_PW'])) { + if (!empty($_SERVER['PHP_AUTH_USER'])) { $args['user'] = $_SERVER['PHP_AUTH_USER']; - $args['pass'] = $_SERVER['PHP_AUTH_PW']; + if (!empty($_SERVER['PHP_AUTH_PW'])) + $args['pass'] = $_SERVER['PHP_AUTH_PW']; } $args['cookiecheck'] = false; 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&&!_?" ":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?" ":""));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?" ":"")+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||" ",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||" "))}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+"'>▲</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>▼</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…</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?" ":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?"":" ")),!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?"":" ")+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||" ";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||" "))}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+"'>▲</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>▼</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…</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..1002a95fe 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 diff --git a/plugins/jqueryui/themes/larry/images/ui-icons-datepicker.png b/plugins/jqueryui/themes/larry/images/ui-icons-datepicker.png Binary files differindex 1c036f3de..144ecfe77 100644 --- a/plugins/jqueryui/themes/larry/images/ui-icons-datepicker.png +++ b/plugins/jqueryui/themes/larry/images/ui-icons-datepicker.png 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 01afcac0d..3062bbb62 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 @@ -598,7 +598,34 @@ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra pad .ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } .ui-datepicker select.ui-datepicker-month-year {width: 100%;} .ui-datepicker select.ui-datepicker-month, -.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker select.ui-datepicker-year { + border: 0; + background: #3a3a3a; + outline: none; + color: #fff; + font-weight: bold; + width: auto; + margin-right: 4px; + padding-right: 4px; +} +.ui-datepicker .ui-datepicker-title select::-ms-expand { display: none; } +.ie10 .ui-datepicker .ui-datepicker-title select, +.webkit .ui-datepicker .ui-datepicker-title select, +.mozilla .ui-datepicker .ui-datepicker-title select { + background-image: url(images/ui-icons-datepicker.png); + background-position: right -18px; + background-repeat: no-repeat; + padding-right: 14px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.mozilla .ui-datepicker .ui-datepicker-title select { + background-position: right -17px; + text-indent: 0.01px; + text-overflow: ''; + padding-right: 0; +} .ui-datepicker table { width: 100%; border-collapse: collapse; margin:0; border-spacing: 0; } .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; color: #666; } .ui-datepicker td { border: 1px solid #bbb; padding: 0; } @@ -611,6 +638,8 @@ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra pad .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + + /* with multiple calendars */ .ui-datepicker.ui-datepicker-multi { width:auto; } .ui-datepicker-multi .ui-datepicker-group { float:left; } 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 115aec14f..8d40f1931 100644 --- a/plugins/managesieve/Changelog +++ b/plugins/managesieve/Changelog @@ -1,8 +1,16 @@ -- lib/Net Sieve.php moved to Roundcube /lib directory +- 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) + +* version 7.1 [2013-11-22] +----------------------------------------------------------- +- 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 - Fix date/currentdate related form issues and comparators handling (#1489346) +- Fix a bug where deleted filter was not removed from the list * version 7.0 [2013-09-09] ----------------------------------------------------------- diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php b/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php index 6c9f8048a..22268942c 100644 --- a/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php +++ b/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php @@ -53,7 +53,7 @@ class rcube_sieve_engine "x-beenthere", ); - const VERSION = '7.0'; + const VERSION = '7.1'; const PROGNAME = 'Roundcube (Managesieve)'; const PORT = 4190; @@ -132,6 +132,11 @@ class rcube_sieve_engine // Get list of scripts $list = $this->list_scripts(); + // reset current script when entering filters UI (#1489412) + if ($this->rc->action == 'plugin.managesieve') { + $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); } @@ -179,15 +184,20 @@ class rcube_sieve_engine case SIEVE_ERROR_CONNECTION: case SIEVE_ERROR_LOGIN: $this->rc->output->show_message('managesieve.filterconnerror', 'error'); + rcube::raise_error(array('code' => 403, 'type' => 'php', + 'file' => __FILE__, 'line' => __LINE__, + 'message' => "Unable to connect to managesieve on $host:$port"), true, false); break; + default: $this->rc->output->show_message('managesieve.filterunknownerror', 'error'); break; } - rcube::raise_error(array('code' => 403, 'type' => 'php', - 'file' => __FILE__, 'line' => __LINE__, - 'message' => "Unable to connect to managesieve on $host:$port"), true, false); + // reload interface in case of possible error when specified script wasn't found (#1489412) + if ($script_name !== null && !empty($list) && !in_array($script_name, $list)) { + $this->rc->output->command('reload', 500); + } // to disable 'Add filter' button set env variable $this->rc->output->set_env('filterconnerror', true); @@ -1778,7 +1788,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>'; diff --git a/plugins/managesieve/localization/az_AZ.inc b/plugins/managesieve/localization/az_AZ.inc index e9c60e493..d692b9620 100644 --- a/plugins/managesieve/localization/az_AZ.inc +++ b/plugins/managesieve/localization/az_AZ.inc @@ -47,12 +47,14 @@ $labels['messagesendcopy'] = 'Məktubun kopyasını göndər'; $labels['messagereply'] = 'Məktubla cavab ver'; $labels['messagedelete'] = 'Sil'; $labels['messagediscard'] = 'Məktubla rədd et'; +$labels['messagekeep'] = 'Məktubu gələnlərdə saxla'; $labels['messagesrules'] = 'Daxil olan məktub üçün:'; $labels['messagesactions'] = '...növbəti hərəkəti yerinə yetir:'; $labels['add'] = 'Əlavə et'; $labels['del'] = 'Sil'; $labels['sender'] = 'Göndərən'; $labels['recipient'] = 'Qəbul edən'; +$labels['vacationaddr'] = 'Mənim əlavə e-poçt ünvan(lar)ım: '; $labels['vacationdays'] = 'Məktub neçə müddətdən bir göndərilsin (gündə):'; $labels['vacationinterval'] = 'Məktublar nə qədər sıx göndərilsin:'; $labels['days'] = 'günlər'; @@ -80,11 +82,13 @@ $labels['countisgreaterthanequal'] = 'say çox və ya bərabərdir'; $labels['countislessthan'] = 'say buradan azdır'; $labels['countislessthanequal'] = 'say azdır və ya bərabərdir'; $labels['countequals'] = 'say bərabərdir'; +$labels['countnotequals'] = 'say bərabər deyil'; $labels['valueisgreaterthan'] = 'dəyər buradan daha böyükdür'; $labels['valueisgreaterthanequal'] = 'dəyər çoxdur və ya bərabərdir'; $labels['valueislessthan'] = 'dəyər buradan azdır'; $labels['valueislessthanequal'] = 'dəyər azdır və ya bərabərdir'; $labels['valueequals'] = 'dəyər bərabərdir'; +$labels['valuenotequals'] = 'dəyər bərabər deyil'; $labels['setflags'] = 'Məktublara flaq quraşdır'; $labels['addflags'] = 'Məktuba flaq əlavə et'; $labels['removeflags'] = 'Məktubdan flaqları sil'; @@ -116,6 +120,22 @@ $labels['filtercreate'] = 'Süzgəc yarat'; $labels['usedata'] = 'Süzgəcdə bu məlumatları istifadə et:'; $labels['nextstep'] = 'Sonrakı'; $labels['...'] = '...'; +$labels['currdate'] = 'İndiki tarix'; +$labels['datetest'] = 'Tarix'; +$labels['dateheader'] = 'başlıq:'; +$labels['year'] = 'il'; +$labels['month'] = 'ay'; +$labels['day'] = 'gün'; +$labels['date'] = 'tarix (iiii-aa-gg)'; +$labels['julian'] = 'tarix (yulian)'; +$labels['hour'] = 'saat'; +$labels['minute'] = 'dəqiqə'; +$labels['second'] = 'saniyə'; +$labels['time'] = 'saat (sa:dd:sn)'; +$labels['iso8601'] = 'tarix (ISO8601)'; +$labels['std11'] = 'tarix (RFC2822)'; +$labels['zone'] = 'saat-zona'; +$labels['weekday'] = 'həftənin günü (0-6)'; $labels['advancedopts'] = 'Əlavə ayarlar'; $labels['body'] = 'Məzmun'; $labels['address'] = 'ünvan'; @@ -135,26 +155,38 @@ $labels['default'] = 'ön qurğulu'; $labels['octet'] = 'ciddi (oktet)'; $labels['asciicasemap'] = 'qeydiyyat üzrə müstəqil (ascii-casemap)'; $labels['asciinumeric'] = 'ədədi (ascii-numeric)'; +$labels['index'] = 'indeks:'; +$labels['indexlast'] = 'arxaya'; $messages['filterunknownerror'] = 'Serverin naməlum xətası.'; $messages['filterconnerror'] = 'Serverə qoşulmaq alınmır'; +$messages['filterdeleteerror'] = 'Süzgəci silmək mümkün deyil. Server xətası.'; $messages['filterdeleted'] = 'Süzgəc uğurla silindi.'; $messages['filtersaved'] = 'Süzgəc uğurla saxlanıldı.'; +$messages['filtersaveerror'] = 'Süzgəci saxlamaq mümkün deyil. Server xətası.'; $messages['filterdeleteconfirm'] = 'Siz həqiqətən süzgəci silmək istəyirsiniz?'; $messages['ruledeleteconfirm'] = 'Bu qaydanı silməkdə əminsiniz?'; $messages['actiondeleteconfirm'] = 'Bu hərəkəti silməkdə əminsiniz?'; $messages['forbiddenchars'] = 'Sahədə qadağan edilən işarələr.'; $messages['cannotbeempty'] = 'Sahə boş ola bilməz.'; $messages['ruleexist'] = 'Bu adla süzgəc artıq mövcuddur.'; +$messages['setactivateerror'] = 'Seçilmiş süzgəcləri aktiv etmək mümkün deyil. Server xətası.'; +$messages['setdeactivateerror'] = 'Seçilmiş süzgəcləri deaktiv mümkün deyil. Server xətası.'; +$messages['setdeleteerror'] = 'Seçilmiş süzgəcləri silmək mümkün deyil. Server xətası.'; $messages['setactivated'] = 'Süzgəc dəsti yandırıldı.'; $messages['setdeactivated'] = 'Süzgəc dəsti söndürüldü.'; $messages['setdeleted'] = 'Süzgəc dəsti silindi.'; $messages['setdeleteconfirm'] = 'Bu süzgəc dəstini silməkdə əminsiniz?'; +$messages['setcreateerror'] = 'Süzgəcləri yaratmaq mümkün deyil. Server xətası.'; $messages['setcreated'] = 'Süzgəc dəsti uğurla yaradıldı.'; +$messages['activateerror'] = 'Seçilmiş süzgəc(lər)i yandırmaq mümkün deyil. Server xətası.'; +$messages['deactivateerror'] = 'Seçilmiş süzgəc(lər)i söndürmək mümkün deyil. Server xətası.'; $messages['deactivated'] = 'Süzgəc(lər) uğurla yandırıldı.'; $messages['activated'] = 'Süzgəc(lər) uğurla söndürüldü.'; $messages['moved'] = 'Süzgəc uğurla köçürüldü.'; +$messages['moveerror'] = 'Süzgəci köçürmək mümkün deyil. Server xətası.'; $messages['nametoolong'] = 'Süzgəc dəstini yaratmaq mümkün deyil. Ad çox uzundur.'; $messages['namereserved'] = 'Rezerv edilmiş ad.'; $messages['setexist'] = 'Dəst artıq mövcuddur.'; $messages['nodata'] = 'Heç olmasa bir mövqe tutmaq lazımdır!'; +$messages['invaliddateformat'] = 'Tarix və ya tarix formatının bir hissəsi səhvdir'; ?> diff --git a/plugins/managesieve/localization/bg_BG.inc b/plugins/managesieve/localization/bg_BG.inc index a9a77d5df..c9d06d2fd 100644 --- a/plugins/managesieve/localization/bg_BG.inc +++ b/plugins/managesieve/localization/bg_BG.inc @@ -159,22 +159,31 @@ $labels['index'] = 'индекс:'; $labels['indexlast'] = 'наобратно'; $messages['filterunknownerror'] = 'Неизвестна сървърна грешка.'; $messages['filterconnerror'] = 'Неуспешно свързване с managesieve сървъра.'; +$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/bs_BA.inc b/plugins/managesieve/localization/bs_BA.inc index f4b5ebb22..0667db33c 100644 --- a/plugins/managesieve/localization/bs_BA.inc +++ b/plugins/managesieve/localization/bs_BA.inc @@ -159,22 +159,31 @@ $labels['index'] = 'indeks:'; $labels['indexlast'] = 'unazad'; $messages['filterunknownerror'] = 'Nepoznata serverska greška.'; $messages['filterconnerror'] = 'Nije se moguće povezati na server.'; +$messages['filterdeleteerror'] = 'Nije moguće obrisati filter. Desila se serverska greška.'; $messages['filterdeleted'] = 'Filter je uspješno obrisan.'; $messages['filtersaved'] = 'Filter je uspješno sačuvan.'; +$messages['filtersaveerror'] = 'Nije moguće sačuvati filter. Desila se serverska greška.'; $messages['filterdeleteconfirm'] = 'Da li zaista želite obrisati označeni filter?'; $messages['ruledeleteconfirm'] = 'Jeste li sigurni da želite obrisati označeno pravilo?'; $messages['actiondeleteconfirm'] = 'Jeste li sigurni da želite obrisati označenu akciju?'; $messages['forbiddenchars'] = 'U polje su uneseni nedozvoljeni znakovi.'; $messages['cannotbeempty'] = 'Polje ne može biti prazno.'; $messages['ruleexist'] = 'Filter s tim imenom već postoji.'; +$messages['setactivateerror'] = 'Nije moguće aktivirati označeni set filtera. Desila se serverska greška.'; +$messages['setdeactivateerror'] = 'Nije moguće deaktivirati označeni set filtera. Desila se serverska greška.'; +$messages['setdeleteerror'] = 'Nije moguće obrisati označeni set filtera. Desila se serverska greška.'; $messages['setactivated'] = 'Set filtera je uspješno aktiviran.'; $messages['setdeactivated'] = 'Set filtera je uspješno deaktiviran.'; $messages['setdeleted'] = 'Set filtera je uspješno obrisan.'; $messages['setdeleteconfirm'] = 'Jeste li sigurni da želite obrisati označeni set filtera?'; +$messages['setcreateerror'] = 'Nije moguće kreirati set filtera. Desila se serverska greška.'; $messages['setcreated'] = 'Set filtera je uspješno kreiran.'; +$messages['activateerror'] = 'Nije moguće omogućiti označene filtere. Desila se serverska greška.'; +$messages['deactivateerror'] = 'Nije moguće onemogućiti označene filtere. Desila se serverska greška.'; $messages['deactivated'] = 'Filteri su uspješno omogućeni.'; $messages['activated'] = 'Filteri su uspješno onemogućeni.'; $messages['moved'] = 'Filteri su uspješno premješteni.'; +$messages['moveerror'] = 'Nije moguće premjestiti označeni filter. Desila se serverska greška.'; $messages['nametoolong'] = 'Ime je predugo.'; $messages['namereserved'] = 'Ime je rezervisano.'; $messages['setexist'] = 'Set već postoji.'; diff --git a/plugins/managesieve/localization/ca_ES.inc b/plugins/managesieve/localization/ca_ES.inc index cf5117f6a..5e54c6a7b 100644 --- a/plugins/managesieve/localization/ca_ES.inc +++ b/plugins/managesieve/localization/ca_ES.inc @@ -39,7 +39,7 @@ $labels['filternotregex'] = 'no coincideix amb l\'expressió regular'; $labels['filterunder'] = 'sota'; $labels['filterover'] = 'sobre'; $labels['addrule'] = 'Afegeix una regla'; -$labels['delrule'] = 'Suprimeix regla'; +$labels['delrule'] = 'Suprimeix una regla'; $labels['messagemoveto'] = 'Mou el missatge a'; $labels['messageredirect'] = 'Redirigeix el missatge cap a'; $labels['messagecopyto'] = 'Copia el missatge a'; @@ -53,18 +53,19 @@ $labels['messagesactions'] = '..executa les següents accions:'; $labels['add'] = 'Afegeix'; $labels['del'] = 'Suprimeix'; $labels['sender'] = 'Remitent'; -$labels['recipient'] = 'Destinatari/a'; +$labels['recipient'] = 'Destinatari'; +$labels['vacationaddr'] = 'Les meves adreces de correu addicionals:'; $labels['vacationdays'] = 'Cada quan enviar un missatge (en dies):'; -$labels['vacationinterval'] = 'Amb quina freqüència enviar missatges:'; +$labels['vacationinterval'] = 'Amb quina freqüència s\'han d\'enviar els missatges:'; $labels['days'] = 'dies'; $labels['seconds'] = 'segons'; -$labels['vacationreason'] = 'Cos del missatge (raó de les vacances):'; +$labels['vacationreason'] = 'Cos del missatge (raó de l\'absència):'; $labels['vacationsubject'] = 'Assumpte del missatge:'; $labels['rulestop'] = 'Deixa d\'avaluar regles'; -$labels['enable'] = 'Habilita/deshabilita'; +$labels['enable'] = 'Habilita/Deshabilita'; $labels['filterset'] = 'Conjunt de filtres'; $labels['filtersets'] = 'Conjunts de filtres'; -$labels['filtersetadd'] = 'Afegeix conjunts de filtres'; +$labels['filtersetadd'] = 'Afegeix un conjunt de filtres'; $labels['filtersetdel'] = 'Suprimeix el conjunt de filtres actual'; $labels['filtersetact'] = 'Activa el conjunt de filtres actual'; $labels['filtersetdeact'] = 'Desactiva el conjunt de filtres actual'; @@ -76,17 +77,17 @@ $labels['none'] = 'cap'; $labels['fromset'] = 'des del conjunt'; $labels['fromfile'] = 'des del fitxer'; $labels['filterdisabled'] = 'Filtre deshabilitat'; -$labels['countisgreaterthan'] = 'el recompte és major que'; -$labels['countisgreaterthanequal'] = 'el recompte és major o igual que'; -$labels['countislessthan'] = 'el recompte és menor que'; -$labels['countislessthanequal'] = 'el recompte és menor o igual que'; +$labels['countisgreaterthan'] = 'el recompte és més gran de'; +$labels['countisgreaterthanequal'] = 'el recompte és més gran o igual a'; +$labels['countislessthan'] = 'el recompte és menor de'; +$labels['countislessthanequal'] = 'el recompte és menor o igual a'; $labels['countequals'] = 'el recompte és igual que'; $labels['countnotequals'] = 'el recompte és diferent de'; -$labels['valueisgreaterthan'] = 'el valor és major que'; +$labels['valueisgreaterthan'] = 'el valor és més gran de'; $labels['valueisgreaterthanequal'] = 'el valor és major o igual que'; $labels['valueislessthan'] = 'el valor és menor que'; -$labels['valueislessthanequal'] = 'el valor és menor o igual que'; -$labels['valueequals'] = 'el valor és igual que'; +$labels['valueislessthanequal'] = 'el valor és menor o igual de'; +$labels['valueequals'] = 'el valor és igual a'; $labels['valuenotequals'] = 'el valor és diferent de'; $labels['setflags'] = 'Posa indicadors al missatge'; $labels['addflags'] = 'Afegeix indicadors al missatge'; @@ -102,16 +103,16 @@ $labels['setvarvalue'] = 'Valor de la variable:'; $labels['setvarmodifiers'] = 'Modificadors:'; $labels['varlower'] = 'minúscules'; $labels['varupper'] = 'majúscules'; -$labels['varlowerfirst'] = 'el primer caràcter és minúscul'; -$labels['varupperfirst'] = 'el primer caràcter és majúscul'; +$labels['varlowerfirst'] = 'el primer caràcter en minúscula'; +$labels['varupperfirst'] = 'el primer caràcter en majúscula'; $labels['varquotewildcard'] = 'engloba els caràcters especials amb cometes'; $labels['varlength'] = 'llargada'; $labels['notify'] = 'Envia notificació'; -$labels['notifyaddress'] = 'Per a adreça de correu electrònic:'; -$labels['notifybody'] = 'Cos de la notificació'; -$labels['notifysubject'] = 'Tema de la notificació:'; +$labels['notifyaddress'] = 'A l\'adreça de correu electrònic:'; +$labels['notifybody'] = 'Cos de la notificació:'; +$labels['notifysubject'] = 'Assumpte de la notificació:'; $labels['notifyfrom'] = 'Remitent de la notificació:'; -$labels['notifyimportance'] = 'Importànica:'; +$labels['notifyimportance'] = 'Importància:'; $labels['notifyimportancelow'] = 'baixa'; $labels['notifyimportancenormal'] = 'normal'; $labels['notifyimportancehigh'] = 'alta'; @@ -133,7 +134,7 @@ $labels['second'] = 'segon'; $labels['time'] = 'hora (hh:mm:ss)'; $labels['iso8601'] = 'data (ISO8601)'; $labels['std11'] = 'data (RFC2822)'; -$labels['zone'] = 'Fus horari'; +$labels['zone'] = 'fus horari'; $labels['weekday'] = 'dia de la setmana (0-6)'; $labels['advancedopts'] = 'Opcions avançades'; $labels['body'] = 'Cos'; @@ -142,15 +143,15 @@ $labels['envelope'] = 'sobre'; $labels['modifier'] = 'modificador:'; $labels['text'] = 'text'; $labels['undecoded'] = 'descodificat (en brut)'; -$labels['contenttype'] = 'tipus de contigut'; +$labels['contenttype'] = 'tipus de contingut'; $labels['modtype'] = 'tipus:'; $labels['allparts'] = 'tots'; $labels['domain'] = 'domini'; $labels['localpart'] = 'part local'; -$labels['user'] = 'usuari/a'; +$labels['user'] = 'usuari'; $labels['detail'] = 'detall'; $labels['comparator'] = 'comparador:'; -$labels['default'] = 'per omissió'; +$labels['default'] = 'per defecte'; $labels['octet'] = 'estricte (octet)'; $labels['asciicasemap'] = 'No distingeix entre majúscules i minúscules (ascii-casemap)'; $labels['asciinumeric'] = 'numèric (ascii-numeric)'; @@ -158,22 +159,31 @@ $labels['index'] = 'índex:'; $labels['indexlast'] = 'cap enrere'; $messages['filterunknownerror'] = 'Error desconegut al servidor.'; $messages['filterconnerror'] = 'No s\'ha pogut connectar al servidor.'; +$messages['filterdeleteerror'] = 'No s\'ha pogut suprimir el filtre. Hi ha hagut un error al servidor.'; $messages['filterdeleted'] = 'El filtre s\'ha suprimit correctament.'; -$messages['filtersaved'] = 'Filtre desat correctament.'; -$messages['filterdeleteconfirm'] = 'Realment voleu suprimit el filtre seleccionat?'; -$messages['ruledeleteconfirm'] = 'Esteu segur que voleu suprimir la norma seleccionada?'; -$messages['actiondeleteconfirm'] = 'Esteu segur que voleu suprimir l\'acció seleccionada?'; +$messages['filtersaved'] = 'El filtre s\'ha desat correctament.'; +$messages['filtersaveerror'] = 'No s\'ha pogut desar el filtre. Hi ha hagut un error al servidor.'; +$messages['filterdeleteconfirm'] = 'Esteu segurs de voler suprimir el filtre seleccionat?'; +$messages['ruledeleteconfirm'] = 'Esteu segurs que voleu suprimir la regla seleccionada?'; +$messages['actiondeleteconfirm'] = 'Esteu segurs que voleu suprimir l\'acció seleccionada?'; $messages['forbiddenchars'] = 'El camp conté caràcters prohibits.'; $messages['cannotbeempty'] = 'El camp no pot estar buit.'; -$messages['ruleexist'] = 'Ja existeix un filtre amb aquest nom'; +$messages['ruleexist'] = 'Ja existeix un filtre amb aquest nom.'; +$messages['setactivateerror'] = 'No s\'ha pogut activar el conjunt de filtres seleccionat. Hi ha hagut un error al servidor.'; +$messages['setdeactivateerror'] = 'No s\'ha pogut desactivar el conjunt de filtres seleccionat. Hi ha hagut un error al servidor.'; +$messages['setdeleteerror'] = 'No s\'ha pogut suprimir el conjunt de filtres seleccionat. Hi ha hagut un error al servidor.'; $messages['setactivated'] = 'El conjunt de filtres s\'ha activat correctament.'; $messages['setdeactivated'] = 'El conjunt de filtres s\'ha desactivat correctament.'; $messages['setdeleted'] = 'El conjunt de filtres s\'ha suprimit correctament.'; $messages['setdeleteconfirm'] = 'Esteu segurs que voleu suprimir el conjunt de filtres seleccionats?'; +$messages['setcreateerror'] = 'No s\'ha pogut crear el conjunt de filtres. Hi ha hagut un error al servidor.'; $messages['setcreated'] = 'S\'ha creat correctament el conjunt de filtres.'; -$messages['deactivated'] = 'Filtre(s) habilitat(s) correctament.'; -$messages['activated'] = 'Filtre(s) deshabilitat(s) correctament.'; +$messages['activateerror'] = 'No s\'ha pogut habilitar el(s) filtre(s) seleccionat(s). Hi ha hagut un error al servidor.'; +$messages['deactivateerror'] = 'No s\'ha pogut deshabilitar el(s) filtre(s) seleccionat(s). Hi ha hagut un error al servidor.'; +$messages['deactivated'] = 'Filtre(s) deshabilitat(s) correctament.'; +$messages['activated'] = 'Filtre(s) habilitat(s) correctament.'; $messages['moved'] = 'S\'ha mogut correctament el filtre.'; +$messages['moveerror'] = 'No s\'ha pogut moure el filtre seleccionat. Hi ha hagut un error al servidor.'; $messages['nametoolong'] = 'El nom és massa llarg.'; $messages['namereserved'] = 'Nom reservat.'; $messages['setexist'] = 'El conjunt ja existeix.'; 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/cy_GB.inc b/plugins/managesieve/localization/cy_GB.inc index 806a49dde..a10205d09 100644 --- a/plugins/managesieve/localization/cy_GB.inc +++ b/plugins/managesieve/localization/cy_GB.inc @@ -159,22 +159,31 @@ $labels['index'] = 'mynegai:'; $labels['indexlast'] = 'o chwith'; $messages['filterunknownerror'] = 'Gwall gweinydd anhysbys.'; $messages['filterconnerror'] = 'Methwyd cysylltu a\'r gweinydd.'; +$messages['filterdeleteerror'] = 'Methwyd dileu hidlydd. Cafwydd gwall gweinydd.'; $messages['filterdeleted'] = 'Dilëuwyd hidlydd yn llwyddiannus.'; $messages['filtersaved'] = 'Cadwyd hidlydd yn llwyddiannus.'; +$messages['filtersaveerror'] = 'Methwyd cadw hidlydd. Cafwyd gwall gweinydd.'; $messages['filterdeleteconfirm'] = 'Ydych chi wir am ddileu yr hidlydd ddewiswyd?'; $messages['ruledeleteconfirm'] = 'Ydych chi\'n siwr eich bod am ddileu\'r rheol ddewiswyd?'; $messages['actiondeleteconfirm'] = 'Ydych chi\'n siwr eich bod am ddileu\'r weithred ddewiswyd?'; $messages['forbiddenchars'] = 'Llythrennau gwaharddedig yn y maes.'; $messages['cannotbeempty'] = 'Ni all y maes fod yn wag.'; $messages['ruleexist'] = 'Mae hidlydd gyda\'r enw yma yn bodoli\'n barod.'; +$messages['setactivateerror'] = 'Methwyd galluogi y hidlyddion dewiswyd. Cafwyd gwall gweinydd.'; +$messages['setdeactivateerror'] = 'Methwyd analluogi y hidlyddion dewiswyd. Cafwyd gwall gweinydd.'; +$messages['setdeleteerror'] = 'Methwyd dileu y set hidlyddion ddewiswyd. Cafwyd gwall gweinydd.'; $messages['setactivated'] = 'Bywiogwyd y set hidlydd yn llwyddiannus.'; $messages['setdeactivated'] = 'Dadfywiogwyd y set hidlydd yn llwyddiannus.'; $messages['setdeleted'] = 'Dilëuwyd y set hidlydd yn llwyddiannus.'; $messages['setdeleteconfirm'] = 'Ydych chi\'n siwr eich bod am ddileu\'r set hidlydd ddewiswyd?'; +$messages['setcreateerror'] = 'Methwyd creu set hidlydd. Cafwyd gwall gweinydd.'; $messages['setcreated'] = 'Crëuwyd y set hidlydd yn llwyddiannus.'; +$messages['activateerror'] = 'Methwyd galluogi y hidlydd(ion) dewiswyd. Cafwyd gwall gweinydd.'; +$messages['deactivateerror'] = 'Methwyd analluogi y hidlydd(ion) dewiswyd. Cafwyd gwall gweinydd.'; $messages['deactivated'] = 'Galluogwyd y hidlydd(ion) yn llwyddiannus.'; $messages['activated'] = 'Analluogwyd y hidlydd(ion) yn llwyddiannus.'; $messages['moved'] = 'Symudwyd y hidlydd yn llwyddiannus.'; +$messages['moveerror'] = 'Methwyd symud y hidlydd dewiswyd. Cafwyd gwall gweinydd.'; $messages['nametoolong'] = 'Enw yn rhy hir.'; $messages['namereserved'] = 'Enw neilltuedig.'; $messages['setexist'] = 'Mae\'r set yn bodoli\'n barod.'; diff --git a/plugins/managesieve/localization/da_DK.inc b/plugins/managesieve/localization/da_DK.inc index 863dc1ecf..b240741dc 100644 --- a/plugins/managesieve/localization/da_DK.inc +++ b/plugins/managesieve/localization/da_DK.inc @@ -47,12 +47,14 @@ $labels['messagesendcopy'] = 'Send kopi af besked til'; $labels['messagereply'] = 'Svar med besked'; $labels['messagedelete'] = 'Slet besked'; $labels['messagediscard'] = 'Slet med besked'; +$labels['messagekeep'] = 'Behold besked i Inbox'; $labels['messagesrules'] = 'For indkomne besked:'; $labels['messagesactions'] = '...udfør følgende aktioner:'; $labels['add'] = 'Tilføje'; $labels['del'] = 'Fjern'; $labels['sender'] = 'Afsender'; $labels['recipient'] = 'Modtager'; +$labels['vacationaddr'] = 'Min(e) yderligere email-adresse(r):'; $labels['vacationdays'] = 'Hvor tit skal besked sendes (i dage):'; $labels['vacationinterval'] = 'Hvor tit skal besked sendes:'; $labels['days'] = 'dage'; @@ -157,22 +159,31 @@ $labels['index'] = 'indeks:'; $labels['indexlast'] = 'baglends'; $messages['filterunknownerror'] = 'Ukendt server fejl.'; $messages['filterconnerror'] = 'Kan ikke forbinde til server.'; +$messages['filterdeleteerror'] = 'Kunne ikke slette filter. Serverfejl opstod.'; $messages['filterdeleted'] = 'Filter slettet.'; $messages['filtersaved'] = 'Filter gemt.'; +$messages['filtersaveerror'] = 'Kunne ikke gemme filter. Serverfejl.'; $messages['filterdeleteconfirm'] = 'Vil du slette det valgte filter?'; $messages['ruledeleteconfirm'] = 'Er du sikker på at du vil slette den valgte regel?'; $messages['actiondeleteconfirm'] = 'Er du sikker på du vil slette den valgte handling?'; $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_CH.inc b/plugins/managesieve/localization/de_CH.inc index f3559fa89..234f31315 100644 --- a/plugins/managesieve/localization/de_CH.inc +++ b/plugins/managesieve/localization/de_CH.inc @@ -159,22 +159,31 @@ $labels['index'] = 'Index:'; $labels['indexlast'] = 'rückwärts'; $messages['filterunknownerror'] = 'Unbekannter Serverfehler'; $messages['filterconnerror'] = 'Kann nicht zum Sieve-Server verbinden'; +$messages['filterdeleteerror'] = 'Serverfehler beim Löschen des Filters.'; $messages['filterdeleted'] = 'Filter erfolgreich gelöscht'; $messages['filtersaved'] = 'Filter gespeichert'; +$messages['filtersaveerror'] = 'Serverfehler beim Speichern des Filters.'; $messages['filterdeleteconfirm'] = 'Möchten Sie den Filter löschen ?'; $messages['ruledeleteconfirm'] = 'Sicher, dass Sie die Regel löschen wollen?'; $messages['actiondeleteconfirm'] = 'Sicher, dass Sie die ausgewaehlte Aktion löschen wollen?'; $messages['forbiddenchars'] = 'Unerlaubte Zeichen im Feld'; $messages['cannotbeempty'] = 'Feld darf nicht leer sein'; $messages['ruleexist'] = 'Ein Filter mit dem angegebenen Namen existiert bereits.'; +$messages['setactivateerror'] = 'Serverfehler beim Aktivieren des gewählten Filtersatzes.'; +$messages['setdeactivateerror'] = 'Serverfehler beim Deaktivieren des gewählten Filtersatzes.'; +$messages['setdeleteerror'] = 'Serverfehler beim Löschen des gewählten Filtersatzes.'; $messages['setactivated'] = 'Filtersatz erfolgreich aktiviert.'; $messages['setdeactivated'] = 'Filtersatz erfolgreich deaktiviert.'; $messages['setdeleted'] = 'Filtersatz erfolgreich gelöscht.'; $messages['setdeleteconfirm'] = 'Sind Sie sicher, dass Sie den ausgewählten Filtersatz löschen möchten?'; +$messages['setcreateerror'] = 'Serverfehler beim Erstellen des Filtersatzes.'; $messages['setcreated'] = 'Filter erfolgreich erstellt.'; +$messages['activateerror'] = 'Serverfehler beim Aktivieren des/der gewählten Filter(s).'; +$messages['deactivateerror'] = 'Serverfehler beim Deaktivieren des/der gewählten Filter(s).'; $messages['deactivated'] = 'Filter erfolgreich aktiviert.'; $messages['activated'] = 'Filter erfolgreich deaktiviert.'; $messages['moved'] = 'Filter erfolgreich verschoben.'; +$messages['moveerror'] = 'Serverfehler beim Verschieben des gewählten Filters.'; $messages['nametoolong'] = 'Filtersatz kann nicht erstellt werden. Name zu lang.'; $messages['namereserved'] = 'Reservierter Name.'; $messages['setexist'] = 'Filtersatz existiert bereits.'; 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_CA.inc b/plugins/managesieve/localization/en_CA.inc new file mode 100644 index 000000000..311e5953e --- /dev/null +++ b/plugins/managesieve/localization/en_CA.inc @@ -0,0 +1,192 @@ +<?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'] = 'Filters'; +$labels['managefilters'] = 'Manage incoming mail filters'; +$labels['filtername'] = 'Filter name'; +$labels['newfilter'] = 'New filter'; +$labels['filteradd'] = 'Add filter'; +$labels['filterdel'] = 'Delete filter'; +$labels['moveup'] = 'Move up'; +$labels['movedown'] = 'Move down'; +$labels['filterallof'] = 'matching all of the following rules'; +$labels['filteranyof'] = 'matching any of the following rules'; +$labels['filterany'] = 'all messages'; +$labels['filtercontains'] = 'contains'; +$labels['filternotcontains'] = 'not contains'; +$labels['filteris'] = 'is equal to'; +$labels['filterisnot'] = 'is not equal to'; +$labels['filterexists'] = 'exists'; +$labels['filternotexists'] = 'not exists'; +$labels['filtermatches'] = 'matches expression'; +$labels['filternotmatches'] = 'not matches expression'; +$labels['filterregex'] = 'matches regular expression'; +$labels['filternotregex'] = 'not matches regular expression'; +$labels['filterunder'] = 'under'; +$labels['filterover'] = 'over'; +$labels['addrule'] = 'Add rule'; +$labels['delrule'] = 'Delete rule'; +$labels['messagemoveto'] = 'Move message to'; +$labels['messageredirect'] = 'Redirect message to'; +$labels['messagecopyto'] = 'Copy message to'; +$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'; +$labels['enable'] = 'Enable/Disable'; +$labels['filterset'] = 'Filters set'; +$labels['filtersets'] = 'Filter sets'; +$labels['filtersetadd'] = 'Add filters set'; +$labels['filtersetdel'] = 'Delete current filters set'; +$labels['filtersetact'] = 'Activate current filters set'; +$labels['filtersetdeact'] = 'Deactivate current filters set'; +$labels['filterdef'] = 'Filter definition'; +$labels['filtersetname'] = 'Filters set name'; +$labels['newfilterset'] = 'New filters set'; +$labels['active'] = 'active'; +$labels['none'] = 'none'; +$labels['fromset'] = 'from set'; +$labels['fromfile'] = 'from file'; +$labels['filterdisabled'] = 'Filter disabled'; +$labels['countisgreaterthan'] = 'count is greater than'; +$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'; +$labels['flagread'] = 'Read'; +$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'; +$labels['envelope'] = 'envelope'; +$labels['modifier'] = 'modifier:'; +$labels['text'] = 'text'; +$labels['undecoded'] = 'undecoded (raw)'; +$labels['contenttype'] = 'content type'; +$labels['modtype'] = 'type:'; +$labels['allparts'] = 'all'; +$labels['domain'] = 'domain'; +$labels['localpart'] = 'local part'; +$labels['user'] = 'user'; +$labels['detail'] = 'detail'; +$labels['comparator'] = 'comparator:'; +$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 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_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/es_419.inc b/plugins/managesieve/localization/es_419.inc new file mode 100644 index 000000000..f459bdb67 --- /dev/null +++ b/plugins/managesieve/localization/es_419.inc @@ -0,0 +1,153 @@ +<?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'] = 'Filtros'; +$labels['managefilters'] = 'Administrar filtros de correos entrantes'; +$labels['filtername'] = 'Nombre del filtro'; +$labels['newfilter'] = 'Filtro nuevo'; +$labels['filteradd'] = 'Agregar filtro'; +$labels['filterdel'] = 'Eliminar filtro'; +$labels['moveup'] = 'Mover hacia arriba'; +$labels['movedown'] = 'Mover hacia abajo'; +$labels['filterallof'] = 'coincide con todas las reglas siguientes'; +$labels['filteranyof'] = 'coincide con cualquiera de las reglas siguientes'; +$labels['filterany'] = 'todos los mensajes'; +$labels['filtercontains'] = 'contiene'; +$labels['filternotcontains'] = 'no contiene'; +$labels['filteris'] = 'es igual a'; +$labels['filterisnot'] = 'no es igual a'; +$labels['filterexists'] = 'existe'; +$labels['filternotexists'] = 'no existe'; +$labels['filtermatches'] = 'coincide con la expresión'; +$labels['filternotmatches'] = 'no coincide con la expresión'; +$labels['filterregex'] = 'coincide con la expresión regular'; +$labels['filternotregex'] = 'no coincide con la expresión regular'; +$labels['filterunder'] = 'bajo'; +$labels['filterover'] = 'sobre'; +$labels['addrule'] = 'Agregar regla'; +$labels['delrule'] = 'Eliminar regla'; +$labels['messagemoveto'] = 'Mover mensaje a'; +$labels['messageredirect'] = 'Redireccionar mensaje a'; +$labels['messagecopyto'] = 'Copiar mensaje a'; +$labels['messagesendcopy'] = 'Enviar una copia del mensaje a '; +$labels['messagereply'] = 'Responder con el mensaje'; +$labels['messagedelete'] = 'Eliminar mensaje'; +$labels['messagediscard'] = 'Descartar el mensaje'; +$labels['messagekeep'] = 'Mantener mensaje en la bandeja de entrada'; +$labels['messagesrules'] = 'Para correo entrante:'; +$labels['messagesactions'] = '... ejecutar las siguientes acciones:'; +$labels['add'] = 'Agregar'; +$labels['del'] = 'Eliminar'; +$labels['sender'] = 'Remitente'; +$labels['recipient'] = 'Destinatario'; +$labels['vacationdays'] = '¿Cada cuánto enviar mensajes (en días)?'; +$labels['vacationinterval'] = '¿Con que frecuencia enviar mensajes?'; +$labels['days'] = 'días'; +$labels['seconds'] = 'segundos'; +$labels['vacationreason'] = 'Cuerpo del mensaje (motivo de las vacaciones):'; +$labels['vacationsubject'] = 'Título del mensaje:'; +$labels['rulestop'] = 'Detener la evaluación de reglas'; +$labels['enable'] = 'Habilitar/Deshabilitar'; +$labels['filterdef'] = 'Definición del filtro'; +$labels['active'] = 'activo'; +$labels['none'] = 'ninguno'; +$labels['fromfile'] = 'desde archivo'; +$labels['filterdisabled'] = 'filtro deshabilitado'; +$labels['countisgreaterthan'] = 'la cuenta es mayor a'; +$labels['countisgreaterthanequal'] = 'la cuenta es mayor o igual a '; +$labels['countislessthan'] = 'la cuenta es menor que'; +$labels['countislessthanequal'] = 'la cuenta es menor o igual que'; +$labels['countequals'] = 'la cuenta es igual a '; +$labels['valueisgreaterthan'] = 'el valor es mayor que'; +$labels['valueisgreaterthanequal'] = 'el balor es mayor o igual que '; +$labels['valueislessthan'] = 'el valor es menor que '; +$labels['valueislessthanequal'] = 'el valor es menor o igual que '; +$labels['valueequals'] = 'el valor es igual a '; +$labels['flagread'] = 'Leido'; +$labels['flagdeleted'] = 'Eliminado'; +$labels['flaganswered'] = 'Respondido'; +$labels['flagdraft'] = 'Borrador'; +$labels['setvarname'] = 'Nombre de la variable:'; +$labels['setvarvalue'] = 'Valor de la variable:'; +$labels['setvarmodifiers'] = 'Modificadores:'; +$labels['varlower'] = 'minúscula'; +$labels['varupper'] = 'mayúscula'; +$labels['varlowerfirst'] = 'primer carácter en minúscula'; +$labels['varupperfirst'] = 'primer carácter en mayúscula'; +$labels['varquotewildcard'] = 'citar carácteres especiales'; +$labels['varlength'] = 'largo'; +$labels['notify'] = 'Enviar notificación'; +$labels['notifyaddress'] = 'A la direccion de correo:'; +$labels['notifybody'] = 'Cuerpo de la notificación:'; +$labels['notifysubject'] = 'Tema de la notificación:'; +$labels['notifyfrom'] = 'Remitente de la notificación: '; +$labels['notifyimportance'] = 'Importantcia:'; +$labels['notifyimportancelow'] = 'baja'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'alta'; +$labels['filtercreate'] = 'Crear filtro'; +$labels['usedata'] = 'Usar los datos siguientes en el filtro:'; +$labels['nextstep'] = 'Paso siguiente'; +$labels['...'] = '...'; +$labels['currdate'] = 'Fecha actual'; +$labels['datetest'] = 'Fecha'; +$labels['year'] = 'Año'; +$labels['month'] = 'mes'; +$labels['day'] = 'día'; +$labels['date'] = 'fecha(aaaa-mm-dd)'; +$labels['hour'] = 'hora'; +$labels['minute'] = 'minuto'; +$labels['second'] = 'segundo'; +$labels['time'] = 'hora (hh:mm:ss)'; +$labels['iso8601'] = 'fecha (ISO8601)'; +$labels['std11'] = 'fecha (RFC2822)'; +$labels['weekday'] = 'día de la semana (0-6)'; +$labels['advancedopts'] = 'Opciones avanzadas'; +$labels['body'] = 'Cuerpo'; +$labels['address'] = 'dirección'; +$labels['envelope'] = 'sobre'; +$labels['modifier'] = 'modificador:'; +$labels['text'] = 'texto'; +$labels['undecoded'] = 'decodificado (crudo)'; +$labels['contenttype'] = 'tipo de contenido'; +$labels['modtype'] = 'tipo:'; +$labels['allparts'] = 'todo'; +$labels['domain'] = 'dominio'; +$labels['localpart'] = 'parte local'; +$labels['user'] = 'usuario'; +$labels['detail'] = 'detalle'; +$labels['comparator'] = 'comparador:'; +$labels['default'] = 'predeterminado'; +$labels['octet'] = 'estricto'; +$labels['asciinumeric'] = 'numérico (ascii-numeric)'; +$messages['filterunknownerror'] = 'Error del servidor desconocido.'; +$messages['filterconnerror'] = 'Incapaz de conectarse al servidor.'; +$messages['filterdeleted'] = 'Filtro eliminado exitosamente.'; +$messages['filtersaved'] = 'Filtro guardado exitosamente.'; +$messages['filterdeleteconfirm'] = '¿Estás seguro que quieres eliminar el filtro seleccionado?'; +$messages['ruledeleteconfirm'] = '¿Estás seguro que quieres eliminar la regla seleccionada?'; +$messages['actiondeleteconfirm'] = '¿Estás seguro que queires eliminar la acción seleccionada?'; +$messages['forbiddenchars'] = 'Carácteres ilegales en el campo.'; +$messages['cannotbeempty'] = 'El campo no puede estar vacio.'; +$messages['ruleexist'] = 'Ya existe un filtro con el nombre especificado.'; +$messages['deactivated'] = 'Filtro(s) deshabilitado(s) exitosamente.'; +$messages['activated'] = 'Filtro(s) habilitado(s) exitosamente.'; +$messages['moved'] = 'Filtro movido exitosamente.'; +$messages['nametoolong'] = 'Nombre demasiado largo.'; +$messages['namereserved'] = 'Nombre reservado.'; +$messages['nodata'] = 'Debes seleccionar al menos una posición.'; +?> diff --git a/plugins/managesieve/localization/es_ES.inc b/plugins/managesieve/localization/es_ES.inc index 208477a96..91602ee7b 100644 --- a/plugins/managesieve/localization/es_ES.inc +++ b/plugins/managesieve/localization/es_ES.inc @@ -157,25 +157,34 @@ $labels['asciicasemap'] = 'no sensible a mayúsculas (ascii-casemap)'; $labels['asciinumeric'] = 'numerico (ascii-numeric)'; $labels['index'] = 'índice:'; $labels['indexlast'] = 'hacia atrás'; -$messages['filterunknownerror'] = 'Error desconocido de servidor.'; -$messages['filterconnerror'] = 'Imposible conectar con el servidor managesieve.'; +$messages['filterunknownerror'] = 'Error desconocido en el servidor.'; +$messages['filterconnerror'] = 'No se ha podido conectar con el servidor managesieve.'; +$messages['filterdeleteerror'] = 'No se ha podido borrar el filtro. Ha ocurrido un error en el servidor.'; $messages['filterdeleted'] = 'Filtro borrado satisfactoriamente.'; $messages['filtersaved'] = 'Filtro guardado satisfactoriamente.'; +$messages['filtersaveerror'] = 'No se ha podido guardar el filtro. Ha ocurrido un error en el servidor.'; $messages['filterdeleteconfirm'] = '¿Realmente desea borrar el filtro seleccionado?'; $messages['ruledeleteconfirm'] = '¿Está seguro de que desea borrar la regla seleccionada?'; $messages['actiondeleteconfirm'] = '¿Está seguro de que desea borrar la acción seleccionada?'; $messages['forbiddenchars'] = 'Caracteres prohibidos en el campo.'; $messages['cannotbeempty'] = 'El campo no puede estar vacío.'; $messages['ruleexist'] = 'Ya existe un filtro con el nombre especificado.'; +$messages['setactivateerror'] = 'No se ha podido activar el conjunto de filtros seleccionado. Ha ocurrido un error en el servidor.'; +$messages['setdeactivateerror'] = 'No se ha podido desactivar el conjunto de filtros seleccionado. Ha ocurrido un error en el servidor.'; +$messages['setdeleteerror'] = 'No se ha podido borrar el conjunto de filtros seleccionado. Ha ocurrido un error en el servidor.'; $messages['setactivated'] = 'Conjunto de filtros activado satisfactoriamente.'; $messages['setdeactivated'] = 'Conjunto de filtros desactivado satisfactoriamente.'; $messages['setdeleted'] = 'Conjunto de filtros borrado satisfactoriamente.'; $messages['setdeleteconfirm'] = '¿Está seguro de que desea borrar el conjunto de filtros seleccionado?'; +$messages['setcreateerror'] = 'No se ha podido crear el conjunto de filtros. Ha ocurrido un error en el servidor.'; $messages['setcreated'] = 'Conjunto de filtros creado satisfactoriamente.'; +$messages['activateerror'] = 'No se han podido habilitar los filtros seleccionados. Ha ocurrido un error en el servidor.'; +$messages['deactivateerror'] = 'No se han podido deshabilitar los filtros seleccionados. Ha ocurrido un error en el servidor.'; $messages['deactivated'] = 'Filtro(s) deshabilitado(s) correctamente.'; $messages['activated'] = 'Filtro(s) habilitado(s) correctamente.'; $messages['moved'] = 'Filtro movido correctamente.'; -$messages['nametoolong'] = 'Imposible crear el conjunto de filtros. Nombre demasiado largo'; +$messages['moveerror'] = 'No se ha podido mover el filtro seleccionado. Ha ocurrido un error en el servidor.'; +$messages['nametoolong'] = 'Nombre demasiado largo.'; $messages['namereserved'] = 'Nombre reservado.'; $messages['setexist'] = 'El conjunto ya existe.'; $messages['nodata'] = '¡Al menos una posición debe ser seleccionada!'; 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/fr_FR.inc b/plugins/managesieve/localization/fr_FR.inc index 0e9549b58..67a73a9aa 100644 --- a/plugins/managesieve/localization/fr_FR.inc +++ b/plugins/managesieve/localization/fr_FR.inc @@ -159,22 +159,31 @@ $labels['index'] = 'index:'; $labels['indexlast'] = 'retour arrière'; $messages['filterunknownerror'] = 'Erreur du serveur inconnue'; $messages['filterconnerror'] = 'Connexion au serveur Managesieve impossible'; +$messages['filterdeleteerror'] = 'Impossible de supprimer le filtre. Une erreur serveur est survenue.'; $messages['filterdeleted'] = 'Le filtre a bien été supprimé'; $messages['filtersaved'] = 'Le filtre a bien été enregistré'; +$messages['filtersaveerror'] = 'Impossible de sauvegarder le filtre. Une erreur serveur est survenue.'; $messages['filterdeleteconfirm'] = 'Voulez-vous vraiment supprimer le filtre sélectionné?'; $messages['ruledeleteconfirm'] = 'Voulez-vous vraiment supprimer la règle sélectionnée?'; $messages['actiondeleteconfirm'] = 'Voulez-vous vraiment supprimer l\'action sélectionnée?'; $messages['forbiddenchars'] = 'Caractères interdits dans le champ'; $messages['cannotbeempty'] = 'Le champ ne peut pas être vide'; $messages['ruleexist'] = 'Un filtre existe déjà avec ce nom.'; +$messages['setactivateerror'] = 'Impossible d\'activer le set de filtres sélectionné. Une erreur serveur est survenue.'; +$messages['setdeactivateerror'] = 'Impossible de désactiver le set de filtres sélectionné. Une erreur serveur est survenue.'; +$messages['setdeleteerror'] = 'Impossible de supprimer les set de filtres sélectionné. Une erreur serveur est survenue.'; $messages['setactivated'] = 'Le groupe de filtres a bien été activé.'; $messages['setdeactivated'] = 'Le groupe de filtres a bien été désactivé.'; $messages['setdeleted'] = 'Le groupe de filtres a bien été supprimé.'; $messages['setdeleteconfirm'] = 'Voulez vous vraiment supprimer le groupe de filtres sélectionné ?'; +$messages['setcreateerror'] = 'Impossible de créer un set de filtres. Une erreur serveur est survenue.'; $messages['setcreated'] = 'Le groupe de filtres a bien été créé.'; +$messages['activateerror'] = 'Impossible d\'activer le ou les filtres sélectionné(s). Une erreur serveur est survenue.'; +$messages['deactivateerror'] = 'Impossible de désactiver le ou les filtres sélectionné(s). Une erreur serveur est survenue.'; $messages['deactivated'] = 'Filtre(s) désactivé(s) avec succès.'; $messages['activated'] = 'Filtre(s) activé(s) avec succès.'; $messages['moved'] = 'Filtre déplacé avec succès.'; +$messages['moveerror'] = 'Impossible de déplacer le filtre sélectionné. Une erreur serveur est survenue.'; $messages['nametoolong'] = 'Nom trop long.'; $messages['namereserved'] = 'Nom réservé.'; $messages['setexist'] = 'Ce groupe existe déjà.'; diff --git a/plugins/managesieve/localization/gl_ES.inc b/plugins/managesieve/localization/gl_ES.inc index e588ef571..f1f9d2faa 100644 --- a/plugins/managesieve/localization/gl_ES.inc +++ b/plugins/managesieve/localization/gl_ES.inc @@ -23,9 +23,9 @@ $labels['filteradd'] = 'Engadir filtro'; $labels['filterdel'] = 'Eliminar filtro'; $labels['moveup'] = 'Mover arriba'; $labels['movedown'] = 'Mover abaixo'; -$labels['filterallof'] = 'coincidir con tódalas regras siguientes'; +$labels['filterallof'] = 'coincidir con todas as regras seguintes'; $labels['filteranyof'] = 'coincidir con algunha das regras seguintes'; -$labels['filterany'] = 'tódalas mensaxes'; +$labels['filterany'] = 'todas as mensaxes'; $labels['filtercontains'] = 'contén'; $labels['filternotcontains'] = 'non contén'; $labels['filteris'] = 'é igual a'; @@ -47,17 +47,19 @@ $labels['messagesendcopy'] = 'Enviar copia da mensaxe a'; $labels['messagereply'] = 'Respostar con unha mensaxe'; $labels['messagedelete'] = 'Eliminar a mensaxe'; $labels['messagediscard'] = 'Descartar con unha mensaxe'; +$labels['messagekeep'] = 'Manter mensaxe na caixa de entrada'; $labels['messagesrules'] = 'Para o correo entrante:'; $labels['messagesactions'] = '... executar as seguintes accións:'; $labels['add'] = 'Engadir'; $labels['del'] = 'Eliminar'; -$labels['sender'] = 'Remitente'; -$labels['recipient'] = 'Destinatario'; +$labels['sender'] = 'Remite'; +$labels['recipient'] = 'Persoa destinataria'; +$labels['vacationaddr'] = 'O(s) meu(s) outro (s) enderezo(s) de correo:'; $labels['vacationdays'] = 'Cada canto enviar mensaxes (en días):'; -$labels['vacationinterval'] = 'Con qué frecuencia vanse enviar mensaxes:'; +$labels['vacationinterval'] = 'Con que frecuencia se van enviar mensaxes:'; $labels['days'] = 'días'; $labels['seconds'] = 'segundos'; -$labels['vacationreason'] = 'Corpo da mensaxe (razón de vacacións):'; +$labels['vacationreason'] = 'Corpo da mensaxe (por vacacións):'; $labels['vacationsubject'] = 'Asunto da mensaxe:'; $labels['rulestop'] = 'Parar de avaliar regras'; $labels['enable'] = 'Activar/Desactivar'; @@ -75,14 +77,14 @@ $labels['none'] = 'ningún'; $labels['fromset'] = 'de conxunto'; $labels['fromfile'] = 'de arquivo'; $labels['filterdisabled'] = 'Filtro desactivado'; -$labels['countisgreaterthan'] = 'a conta é meirande que'; -$labels['countisgreaterthanequal'] = 'a conta é meirande ou igual a'; +$labels['countisgreaterthan'] = 'a conta é maior que'; +$labels['countisgreaterthanequal'] = 'a conta é maior ou igual a'; $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 é meirande que '; -$labels['valueisgreaterthanequal'] = 'o valor é meirande ou igual a'; +$labels['valueisgreaterthanequal'] = 'o valor é maior ou igual a'; $labels['valueislessthan'] = 'o valor é menor que'; $labels['valueislessthanequal'] = 'o valor é menor ou igual a'; $labels['valueequals'] = 'o valor é igual a'; @@ -95,9 +97,9 @@ $labels['flagdeleted'] = 'Eliminadas'; $labels['flaganswered'] = 'Respostadas'; $labels['flagflagged'] = 'Marcadas'; $labels['flagdraft'] = 'Borrador'; -$labels['setvariable'] = 'Establecer variable'; -$labels['setvarname'] = 'Nome da variable:'; -$labels['setvarvalue'] = 'Valor da variable:'; +$labels['setvariable'] = 'Estabelecer variábel'; +$labels['setvarname'] = 'Nome da variábel:'; +$labels['setvarvalue'] = 'Valor da variábel:'; $labels['setvarmodifiers'] = 'Modificadores:'; $labels['varlower'] = 'minúscula'; $labels['varupper'] = 'maiúscula'; @@ -106,10 +108,10 @@ $labels['varupperfirst'] = 'primeira letra maiúscula'; $labels['varquotewildcard'] = 'poñer entre aspas caracteres especiais'; $labels['varlength'] = 'lonxitude'; $labels['notify'] = 'Enviar notificación'; -$labels['notifyaddress'] = 'Destinatario:'; +$labels['notifyaddress'] = 'A este enderezo de correo:'; $labels['notifybody'] = 'Corpo da notificación:'; $labels['notifysubject'] = 'Asunto da notificación:'; -$labels['notifyfrom'] = 'Remitente da notificación:'; +$labels['notifyfrom'] = 'Remite da notificación:'; $labels['notifyimportance'] = 'Importancia:'; $labels['notifyimportancelow'] = 'baixa'; $labels['notifyimportancenormal'] = 'normal'; @@ -146,36 +148,45 @@ $labels['modtype'] = 'tipo:'; $labels['allparts'] = 'todos'; $labels['domain'] = 'dominio'; $labels['localpart'] = 'parte local'; -$labels['user'] = 'usuario'; +$labels['user'] = 'utente'; $labels['detail'] = 'detalle'; -$labels['comparator'] = 'comparador'; -$labels['default'] = 'defecto'; +$labels['comparator'] = 'comparador:'; +$labels['default'] = 'predeterminado'; $labels['octet'] = 'estricto (octeto)'; -$labels['asciicasemap'] = 'non sensible a maiúsculas/minúsculas (ascii-casemap)'; +$labels['asciicasemap'] = 'non sensíbel a maiúsculas/minúsculas (ascii-casemap)'; $labels['asciinumeric'] = 'numérico (ascii-numerico)'; $labels['index'] = 'índice:'; -$labels['indexlast'] = 'cara atrás'; -$messages['filterunknownerror'] = 'Erro descoñecido servidor'; -$messages['filterconnerror'] = 'Imposible conectar co servidor managesieve'; +$labels['indexlast'] = 'atrás'; +$messages['filterunknownerror'] = 'Erro descoñecido do servidor'; +$messages['filterconnerror'] = 'Imposíbel conectar co servidor.'; +$messages['filterdeleteerror'] = 'Non se pode eliminar filtro. Produciuse un erro de servidor.'; $messages['filterdeleted'] = 'Filtro borrado con éxito'; $messages['filtersaved'] = 'Filtro gardado con éxito'; -$messages['filterdeleteconfirm'] = 'Realmente desexa eliminar o filtro seleccionado?'; -$messages['ruledeleteconfirm'] = 'Está seguro de que desexa eliminar a regra seleccionada?'; -$messages['actiondeleteconfirm'] = 'Está seguro de que desexa eliminar a acción seleccionada?'; +$messages['filtersaveerror'] = 'Non se puido gardar filtro. Produciuse un erro de servidor.'; +$messages['filterdeleteconfirm'] = 'Realmente queres eliminar o filtro seleccionado?'; +$messages['ruledeleteconfirm'] = 'Seguro que queres eliminar a regra seleccionada?'; +$messages['actiondeleteconfirm'] = 'Seguro que queres eliminar a acción seleccionada?'; $messages['forbiddenchars'] = 'Caracteres non permitidos no campo'; $messages['cannotbeempty'] = 'O campo non pode estar baleiro'; -$messages['ruleexist'] = 'Xa existe un filtro con nome especificado.'; +$messages['ruleexist'] = 'Xa existe un filtro co nome especificado.'; +$messages['setactivateerror'] = 'Non se poden activar os filtros seleccionados. Produciuse un erro de servidor.'; +$messages['setdeactivateerror'] = 'Non foi posíbel desactivar os filtros seleccionados. Produciuse un erro de servidor.'; +$messages['setdeleteerror'] = 'Non é posíbel eliminar os filtros seleccionados. Produciuse un erro de servidor.'; $messages['setactivated'] = 'O conxunto de filtros activouse con éxito'; $messages['setdeactivated'] = 'O conxunto de filtros desactivouse con éxito'; $messages['setdeleted'] = 'O Conxunto de filtros borrouse con éxito'; -$messages['setdeleteconfirm'] = 'Está seguro de que desexa eliminar o conxunto de filtros seleccionado?'; +$messages['setdeleteconfirm'] = 'Seguro que queres eliminar o conxunto de filtros seleccionado?'; +$messages['setcreateerror'] = 'Non é posíbel crear filtros. Produciuse un erro de servidor.'; $messages['setcreated'] = 'Conxunto de filtros creado con éxito'; +$messages['activateerror'] = 'Non é posíbel activar o(s) filtro(s) seleccionado(s). Produciuse un erro de servidor.'; +$messages['deactivateerror'] = 'Incapaz de desactivar filtro(s) seleccionado(s). Produciuse un erro de servidor.'; $messages['deactivated'] = 'Desactiváronse os filtros correctamente.'; $messages['activated'] = 'Activáronse os filtros correctamente'; $messages['moved'] = 'Moveuse correctamente o filtro.'; -$messages['nametoolong'] = 'Imposible crear o conxunto de filtros. O nome é longo de máis'; +$messages['moveerror'] = 'Non se pode mover o filtro seleccionado. Produciuse un erro de servidor.'; +$messages['nametoolong'] = 'Imposíbel crear o conxunto de filtros. O nome é longo de máis'; $messages['namereserved'] = 'Nome reservado'; $messages['setexist'] = 'Xa existe o conxunto'; $messages['nodata'] = 'É preciso seleccionar polo menos unha posición!'; -$messages['invaliddateformat'] = 'Formato de data ou parte dos datos inválidos'; +$messages['invaliddateformat'] = 'Formato de data ou parte dos datos non válidos'; ?> 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/hu_HU.inc b/plugins/managesieve/localization/hu_HU.inc index 862c32b94..afab3f3a6 100644 --- a/plugins/managesieve/localization/hu_HU.inc +++ b/plugins/managesieve/localization/hu_HU.inc @@ -159,22 +159,31 @@ $labels['index'] = 'index:'; $labels['indexlast'] = 'visszafelé'; $messages['filterunknownerror'] = 'Ismeretlen szerverhiba'; $messages['filterconnerror'] = 'Nem tudok a szűrőszerverhez kapcsolódni'; +$messages['filterdeleteerror'] = 'A szűrőt nem lehet törölni. Szerverhiba történt'; $messages['filterdeleted'] = 'A szűrő törlése sikeres'; $messages['filtersaved'] = 'A szűrő mentése sikeres'; +$messages['filtersaveerror'] = 'A szűrő mentése sikertelen. Szerverhiba történt'; $messages['filterdeleteconfirm'] = 'Biztosan törli ezt a szűrőt?'; $messages['ruledeleteconfirm'] = 'Biztosan törli ezt a szabályt?'; $messages['actiondeleteconfirm'] = 'Biztosan törli ezt a műveletet?'; $messages['forbiddenchars'] = 'Érvénytelen karakter a mezőben'; $messages['cannotbeempty'] = 'A mező nem lehet üres'; $messages['ruleexist'] = 'Már van ilyen névvel elmentett szűrő.'; +$messages['setactivateerror'] = 'A kiválasztott szűrő készletet nem sikerült engedélyezni. Szerver hiba történt.'; +$messages['setdeactivateerror'] = 'A kiválasztott szűrő készletet nem sikerült tiltani. Szerver hiba történt.'; +$messages['setdeleteerror'] = 'Nem sikerült a kiválasztott szűrő készletet törölni. Szerver hiba történt.'; $messages['setactivated'] = 'A filter készlet engedélyezése sikeresen végrehajtódott.'; $messages['setdeactivated'] = 'A filter készlet tiltása sikeresen végrehajtódott.'; $messages['setdeleted'] = 'A filter készlet törlése sikeresen végrehajtódott.'; $messages['setdeleteconfirm'] = 'Biztosan törölni szeretnéd a kiválasztott szűrő készleteket?'; +$messages['setcreateerror'] = 'Nem sikerült létrehozni a szűrő készletet. Szerver hiba történt.'; $messages['setcreated'] = 'A szűrő készlet sikeresen létrejött.'; +$messages['activateerror'] = 'Nem sikerült engedélyezni a kiválasztott szűrö(k)et. Szerver hiba történt.'; +$messages['deactivateerror'] = 'Nem sikerült kikapcsolni a kiválasztott szűrő(ke)t. Szerver hiba történt.'; $messages['deactivated'] = 'Szűrő(k) sikeresen bekapcsolva.'; $messages['activated'] = 'Szűrő(k) sikeresen kikapcsolva.'; $messages['moved'] = 'A szűrő sikeresen áthelyezve.'; +$messages['moveerror'] = 'Az áthelyezés nem sikerült. Szerver hiba történt.'; $messages['nametoolong'] = 'Túll hosszu név'; $messages['namereserved'] = 'Nem használható (foglalt) név-'; $messages['setexist'] = 'A készlet már létezik.'; diff --git a/plugins/managesieve/localization/it_IT.inc b/plugins/managesieve/localization/it_IT.inc index 9de758fa5..b7fc970e5 100644 --- a/plugins/managesieve/localization/it_IT.inc +++ b/plugins/managesieve/localization/it_IT.inc @@ -159,22 +159,31 @@ $labels['index'] = 'indice:'; $labels['indexlast'] = 'indietro'; $messages['filterunknownerror'] = 'Errore sconosciuto del server'; $messages['filterconnerror'] = 'Collegamento al server managesieve fallito'; +$messages['filterdeleteerror'] = 'Eliminazione del filtro fallita. Si è verificato un errore nel server.'; $messages['filterdeleted'] = 'Filtro eliminato con successo'; $messages['filtersaved'] = 'Filtro salvato con successo'; +$messages['filtersaveerror'] = 'Salvataggio del filtro fallito. Si è verificato un errore nel server.'; $messages['filterdeleteconfirm'] = 'Vuoi veramente eliminare il filtro selezionato?'; $messages['ruledeleteconfirm'] = 'Sei sicuro di voler eliminare la regola selezionata?'; $messages['actiondeleteconfirm'] = 'Sei sicuro di voler eliminare l\'azione selezionata?'; $messages['forbiddenchars'] = 'Caratteri non consentiti nel campo'; $messages['cannotbeempty'] = 'Il campo non può essere vuoto'; $messages['ruleexist'] = 'Esiste già un filtro con questo nome'; +$messages['setactivateerror'] = 'Impossibile attivare il filtro. Errore del server.'; +$messages['setdeactivateerror'] = 'Impossibile disattivare i filtri selezionati. Errore del server.'; +$messages['setdeleteerror'] = 'Impossibile cancellare i filtri selezionati. Errore del server.'; $messages['setactivated'] = 'Filtro attivato'; $messages['setdeactivated'] = 'Filtro disattivato'; $messages['setdeleted'] = 'Filtro cancellato'; $messages['setdeleteconfirm'] = 'Sei sicuro di voler cancellare il gruppo di filtri'; +$messages['setcreateerror'] = 'Impossibile creare il gruppo di filtri. Errore del server.'; $messages['setcreated'] = 'Gruppo di filtri creato'; +$messages['activateerror'] = 'Impossibile abilitare i filtri selzionati. Errore del server.'; +$messages['deactivateerror'] = 'impossibile disabilitare i filtri selezionati. Errore del server.'; $messages['deactivated'] = 'filtro abilitato'; $messages['activated'] = 'filtro disabilitato'; $messages['moved'] = 'filtro spostato'; +$messages['moveerror'] = 'impossibile spostare il filtro selezionato. Errore del server.'; $messages['nametoolong'] = 'Impossibile creare il gruppo: Nome troppo lungo'; $messages['namereserved'] = 'nome riservato'; $messages['setexist'] = 'Il gruppo esiste già'; 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/lv_LV.inc b/plugins/managesieve/localization/lv_LV.inc index 73aa76573..111f3b4f6 100644 --- a/plugins/managesieve/localization/lv_LV.inc +++ b/plugins/managesieve/localization/lv_LV.inc @@ -47,13 +47,15 @@ $labels['messagesendcopy'] = 'Pārsūtīt vēstules kopiju uz'; $labels['messagereply'] = 'Atbildēt ar vēstuli'; $labels['messagedelete'] = 'Dzēst vēstuli'; $labels['messagediscard'] = 'Dzēst vēstuli un atbildēt'; +$labels['messagekeep'] = 'Paturēt ziņu Iesūtnē'; $labels['messagesrules'] = 'Ienākošajām vēstulēm:'; $labels['messagesactions'] = '...izpildīt sekojošās darbības:'; $labels['add'] = 'Pievienot'; $labels['del'] = 'Dzēst'; $labels['sender'] = 'Sūtītājs'; $labels['recipient'] = 'Saņēmējs'; -$labels['vacationdays'] = 'Cik dienu laikā vienam un tam pašam sūtītājam neatbildēt atkārtoti (piem., 7):'; +$labels['vacationaddr'] = 'Mana(s) papildus e-pasta adrese(s):'; +$labels['vacationdays'] = 'Cik bieži sūtī ziņojumus (dienās):'; $labels['vacationinterval'] = 'Cik bieži sūtīt vēstules:'; $labels['days'] = 'dienas'; $labels['seconds'] = 'sekundes'; @@ -154,25 +156,34 @@ $labels['octet'] = 'precīzs (oktets)'; $labels['asciicasemap'] = 'reģistrnejutīgs (ascii tabula)'; $labels['asciinumeric'] = 'skaitļu (ascii skaitļu)'; $labels['index'] = 'indekss:'; -$labels['indexlast'] = '"backwards"'; +$labels['indexlast'] = 'atpakaļ'; $messages['filterunknownerror'] = 'Nezināma servera kļūda.'; $messages['filterconnerror'] = 'Neizdevās pieslēgties ManageSieve serverim.'; +$messages['filterdeleteerror'] = 'Neizdevās izdzēst filtru - atgadījās servera iekšējā kļūda.'; $messages['filterdeleted'] = 'Filtrs veiksmīgi izdzēsts.'; $messages['filtersaved'] = 'Filtrs veiksmīgi saglabāts.'; +$messages['filtersaveerror'] = 'Neizdevās saglabāt filtru - atgadījās servera iekšējā kļūda.'; $messages['filterdeleteconfirm'] = 'Vai Jūs tiešām vēlaties dzēst atzīmēto filtru?'; $messages['ruledeleteconfirm'] = 'Vai Jūs tiešām vēlaties dzēst atzīmēto nosacījumu?'; $messages['actiondeleteconfirm'] = 'Vai Jūs tiešām vēlaties dzēst atzīmēto darbību?'; $messages['forbiddenchars'] = 'Lauks satur aizliegtus simbolus.'; $messages['cannotbeempty'] = 'Lauks nedrīkst būt tukšs.'; $messages['ruleexist'] = 'Filtrs ar tādu nosaukumu jau pastāv.'; +$messages['setactivateerror'] = 'Neizdevās aktivizēt atzīmēto filtru kopu - atgadījās servera iekšējā kļūda.'; +$messages['setdeactivateerror'] = 'Neizdevās deaktivizēt atzīmēto filtru kopu - atgadījās servera iekšējā kļūda.'; +$messages['setdeleteerror'] = 'Neizdevās izdzēst atzīmēto filtru kopu - atgadījās servera ieksējā kļūda.'; $messages['setactivated'] = 'Filtru kopa veiksmīgi aktivizēta.'; $messages['setdeactivated'] = 'Filtru kopa veiksmīgi deaktivizēta.'; $messages['setdeleted'] = 'Filtru kopa veiksmīgi izdzēsta.'; $messages['setdeleteconfirm'] = 'Vai tiešām Jūs vēlaties dzēst atzīmēto filtru kopu?'; +$messages['setcreateerror'] = 'Neizdevās izveidot filtru kopu - atgadījās servera iekšējā kļūda.'; $messages['setcreated'] = 'Filtru kopa veiksmīgi izveidota.'; +$messages['activateerror'] = 'Nav iespējams ieslēgt izvēlēto(s) filtru(s) - atgadījās servera iekšējā kļūda.'; +$messages['deactivateerror'] = 'Nav iespējams atslēgt izvēlēto(s) filtru(s) - atgadījās servera iekšējā kļūda.'; $messages['deactivated'] = 'Filtrs(i) veiksmīgi atslēgts(i).'; $messages['activated'] = 'Filtrs(i) veiksmīgi ieslēgts(i).'; $messages['moved'] = 'Filtrs veiksmīgi pārvietots.'; +$messages['moveerror'] = 'Nav iespējams pārvietot izvēlēto filtru - atgadījās servera iekšējā kļūda.'; $messages['nametoolong'] = 'Neizdevās izveidot filtru kopu. Pārāk garš kopas nosaukums.'; $messages['namereserved'] = 'Rezervētais nosaukums.'; $messages['setexist'] = 'Kopa jau eksistē.'; diff --git a/plugins/managesieve/localization/pt_BR.inc b/plugins/managesieve/localization/pt_BR.inc index 9b245e7d8..063c60c5f 100644 --- a/plugins/managesieve/localization/pt_BR.inc +++ b/plugins/managesieve/localization/pt_BR.inc @@ -159,22 +159,31 @@ $labels['index'] = 'índice:'; $labels['indexlast'] = 'retroceder'; $messages['filterunknownerror'] = 'Erro desconhecido de servidor'; $messages['filterconnerror'] = 'Não foi possível conectar ao servidor managesieve'; +$messages['filterdeleteerror'] = 'Impossível excluir o filtro. Ocorreu um erro no servidor.'; $messages['filterdeleted'] = 'Filtro excluído com sucesso'; $messages['filtersaved'] = 'Filtro gravado com sucesso'; +$messages['filtersaveerror'] = 'Impossível salvar o filtro. Ocorreu um erro no servidor.'; $messages['filterdeleteconfirm'] = 'Deseja realmente excluir o filtro selecionado?'; $messages['ruledeleteconfirm'] = 'Deseja realmente excluir a regra selecionada?'; $messages['actiondeleteconfirm'] = 'Deseja realmente excluir a ação selecionada?'; $messages['forbiddenchars'] = 'Caracteres não permitidos no campo'; $messages['cannotbeempty'] = 'Campo não pode ficar em branco'; $messages['ruleexist'] = 'O filtro com o nome especificado já existe.'; +$messages['setactivateerror'] = 'Impossível ativar o conjunto de filtros selecionados. Ocorreu um erro no servidor.'; +$messages['setdeactivateerror'] = 'Impossível desativar o conjunto de filtros selecionados. Ocorreu um erro no servidor.'; +$messages['setdeleteerror'] = 'Impossível excluir o conjunto de filtros selecionados. Ocorreu um erro no servidor.'; $messages['setactivated'] = 'Conjunto de filtros ativados com sucesso.'; $messages['setdeactivated'] = 'Conjunto de filtros desativados com sucesso.'; $messages['setdeleted'] = 'Conjunto de filtros excluídos com sucesso.'; $messages['setdeleteconfirm'] = 'Você está certo que deseja excluir o conjunto de filtros selecionados?'; +$messages['setcreateerror'] = 'Impossível criar o conjunto de filtros. Ocorreu um erro no servidor.'; $messages['setcreated'] = 'Conjunto de filtros criado com sucesso.'; +$messages['activateerror'] = 'Impossível habilitar o(s) filtro(s) selecionado(s). Ocorreu um erro no servidor.'; +$messages['deactivateerror'] = 'Impossível desabilitar o(s) filtro(s) selecionado(s). Ocorreu um erro no servidor.'; $messages['deactivated'] = 'Filtro(s) habilitado(s) com sucesso.'; $messages['activated'] = 'Filtro(s) desabilitado(s) com sucesso.'; $messages['moved'] = 'Filtro movido com sucesso.'; +$messages['moveerror'] = 'Impossível mover o filtro selecionado. Ocorreu um erro no servidor.'; $messages['nametoolong'] = 'Nome muito longo.'; $messages['namereserved'] = 'Nome reservado.'; $messages['setexist'] = 'Conjunto já existe.'; diff --git a/plugins/managesieve/localization/sk_SK.inc b/plugins/managesieve/localization/sk_SK.inc index 5e7bfb3b5..9a75586fa 100644 --- a/plugins/managesieve/localization/sk_SK.inc +++ b/plugins/managesieve/localization/sk_SK.inc @@ -16,20 +16,20 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-managesieve/ */ $labels['filters'] = 'Filtre'; -$labels['managefilters'] = 'Správa filtrov príchádzajúcej pošty'; +$labels['managefilters'] = 'Správa filtrov prichádzajúcej pošty'; $labels['filtername'] = 'Názov filtra'; $labels['newfilter'] = 'Nový filter'; -$labels['filteradd'] = 'Pridaj filter'; -$labels['filterdel'] = 'Zmaž filter'; -$labels['moveup'] = 'Presuň vyššie'; -$labels['movedown'] = 'Presuň nižšie'; +$labels['filteradd'] = 'Pridať filter'; +$labels['filterdel'] = 'Vymazať filter'; +$labels['moveup'] = 'Presunúť nahor'; +$labels['movedown'] = 'Presunúť nadol'; $labels['filterallof'] = 'vyhovujúca všetkým z nasledujúcich pravidiel'; $labels['filteranyof'] = 'vyhovujúca ľubovoľnému z nasledujúcich pravidiel'; $labels['filterany'] = 'všetky správy'; $labels['filtercontains'] = 'obsahuje'; $labels['filternotcontains'] = 'neobsahuje'; -$labels['filteris'] = 'rovná sa'; -$labels['filterisnot'] = 'nerovná sa'; +$labels['filteris'] = 'sa rovná'; +$labels['filterisnot'] = 'sa nerovná'; $labels['filterexists'] = 'existuje'; $labels['filternotexists'] = 'neexistuje'; $labels['filtermatches'] = 'vyhovuje výrazu'; @@ -38,45 +38,45 @@ $labels['filterregex'] = 'vyhovuje regulárnemu výrazu'; $labels['filternotregex'] = 'nevyhovuje regulárnemu výrazu'; $labels['filterunder'] = 'pod'; $labels['filterover'] = 'nad'; -$labels['addrule'] = 'Pridaj pravidlo'; -$labels['delrule'] = 'Zmaž pravidlo'; -$labels['messagemoveto'] = 'Presuň správu do'; -$labels['messageredirect'] = 'Presmeruj správu na'; +$labels['addrule'] = 'Pridať pravidlo'; +$labels['delrule'] = 'Vymazať pravidlo'; +$labels['messagemoveto'] = 'Presunúť správu do'; +$labels['messageredirect'] = 'Presmerovať správu na'; $labels['messagecopyto'] = 'Kopírovať správu do'; -$labels['messagesendcopy'] = 'Poslať kópiu správy'; -$labels['messagereply'] = 'Pošli automatickú odpoveď'; -$labels['messagedelete'] = 'Zmaž správu'; -$labels['messagediscard'] = 'Zmaž a pošli správu na'; -$labels['messagekeep'] = 'Ponechať správy v Doručenej pošte'; -$labels['messagesrules'] = 'Pre prichádzajúcu poštu'; -$labels['messagesactions'] = 'vykonaj nasledovné akcie'; -$labels['add'] = 'Pridaj'; -$labels['del'] = 'Zmaž'; +$labels['messagesendcopy'] = 'Poslať kópiu správy na adresu'; +$labels['messagereply'] = 'Odpovedať správou'; +$labels['messagedelete'] = 'Vymazať správu'; +$labels['messagediscard'] = 'Vymazať a poslať správu na'; +$labels['messagekeep'] = 'Ponechať správu v Doručenej pošte'; +$labels['messagesrules'] = 'Pre prichádzajúcu poštu:'; +$labels['messagesactions'] = '...vykonať tieto akcie:'; +$labels['add'] = 'Pridať'; +$labels['del'] = 'Vymazať'; $labels['sender'] = 'Odosielateľ'; -$labels['recipient'] = 'Adresát'; +$labels['recipient'] = 'Príjemca'; $labels['vacationaddr'] = 'Iná moja e-mailová adresa (adresy):'; -$labels['vacationdays'] = 'Počet dní medzi odoslaním správy:'; +$labels['vacationdays'] = 'Ako často odosielať správy (v dňoch):'; $labels['vacationinterval'] = 'Ako často odosielať správy:'; $labels['days'] = 'dní'; $labels['seconds'] = 'sekúnd'; -$labels['vacationreason'] = 'Dôvod neprítomnosti:'; +$labels['vacationreason'] = 'Telo správy (dôvod neprítomnosti):'; $labels['vacationsubject'] = 'Predmet správy:'; $labels['rulestop'] = 'Koniec pravidiel'; -$labels['enable'] = 'Povoliť/Zakázať'; -$labels['filterset'] = 'Sada filtrov'; -$labels['filtersets'] = 'Množiny filtrov'; -$labels['filtersetadd'] = 'Pridaj sadu filtrov'; -$labels['filtersetdel'] = 'Zmaž túto sadu filtrov'; -$labels['filtersetact'] = 'Aktivuj túto sadu filtrov'; -$labels['filtersetdeact'] = 'Deaktivuj túto sadu filtrov'; +$labels['enable'] = 'Zapnúť/vypnúť'; +$labels['filterset'] = 'Súprava filtrov'; +$labels['filtersets'] = 'Súpravy filtrov'; +$labels['filtersetadd'] = 'Pridať súpravu filtrov'; +$labels['filtersetdel'] = 'Vymazať aktuálnu súpravu filtrov'; +$labels['filtersetact'] = 'Aktivovať aktuálnu súpravu filtrov'; +$labels['filtersetdeact'] = 'Deaktivovať aktuálnu súpravu filtrov'; $labels['filterdef'] = 'Definícia filtra'; -$labels['filtersetname'] = 'Názov sady filtrov'; -$labels['newfilterset'] = 'Nová sada filtrov'; +$labels['filtersetname'] = 'Názov súpravy filtrov'; +$labels['newfilterset'] = 'Nová súprava filtrov'; $labels['active'] = 'aktívna'; $labels['none'] = 'žiadne'; -$labels['fromset'] = 'zo sady'; +$labels['fromset'] = 'zo súpravy'; $labels['fromfile'] = 'zo súboru'; -$labels['filterdisabled'] = 'Filter zakázaný'; +$labels['filterdisabled'] = 'Filter vypnutý'; $labels['countisgreaterthan'] = 'počet je väčší ako'; $labels['countisgreaterthanequal'] = 'počet je väčší alebo rovný ako'; $labels['countislessthan'] = 'počet je menší ako'; @@ -86,16 +86,16 @@ $labels['countnotequals'] = 'počet sa nerovná'; $labels['valueisgreaterthan'] = 'hodnota je väčšia ako'; $labels['valueisgreaterthanequal'] = 'hodnota je väčšia alebo rovná ako'; $labels['valueislessthan'] = 'hodnota je menšia ako'; -$labels['valueislessthanequal'] = 'hodnota je menšia alebo rovná'; -$labels['valueequals'] = 'hodnota je rovná'; +$labels['valueislessthanequal'] = 'hodnota je menšia alebo rovná ako'; +$labels['valueequals'] = 'hodnota je rovná ako'; $labels['valuenotequals'] = 'hodnota sa nerovná'; $labels['setflags'] = 'Nastaviť príznaky správy'; -$labels['addflags'] = 'Pridať príznak správy'; -$labels['removeflags'] = 'odstrániť príznaky zo správy'; -$labels['flagread'] = 'Prečítaný'; -$labels['flagdeleted'] = 'Zmazané'; +$labels['addflags'] = 'Pridať príznaky správy'; +$labels['removeflags'] = 'Odstrániť príznaky zo správy'; +$labels['flagread'] = 'Prečítané'; +$labels['flagdeleted'] = 'Vymazané'; $labels['flaganswered'] = 'Odpovedané'; -$labels['flagflagged'] = 'Označené'; +$labels['flagflagged'] = 'Označené príznakom'; $labels['flagdraft'] = 'Koncept'; $labels['setvariable'] = 'Nastaviť premennú'; $labels['setvarname'] = 'Názov premennej:'; @@ -148,36 +148,45 @@ $labels['modtype'] = 'typ:'; $labels['allparts'] = 'všetko'; $labels['domain'] = 'doména'; $labels['localpart'] = 'lokálna časť'; -$labels['user'] = 'užívateľ'; +$labels['user'] = 'používateľ'; $labels['detail'] = 'detail'; $labels['comparator'] = 'porovnávač:'; $labels['default'] = 'predvolené'; -$labels['octet'] = 'striktný (osmičkovo)'; +$labels['octet'] = 'striktný (osmičkový)'; $labels['asciicasemap'] = 'nerozlišuje veľké a malé písmená (ascii tabuľka znakov)'; $labels['asciinumeric'] = 'numerické (ascii čísla)'; $labels['index'] = 'index:'; $labels['indexlast'] = 'dozadu'; -$messages['filterunknownerror'] = 'Neznáma chyba serveru'; -$messages['filterconnerror'] = 'Nepodarilo sa pripojiť k managesieve serveru'; -$messages['filterdeleted'] = 'Filter bol zmazaný'; -$messages['filtersaved'] = 'Filter bol uložený'; -$messages['filterdeleteconfirm'] = 'Naozaj si prajete zmazať tento filter?'; -$messages['ruledeleteconfirm'] = 'Naozaj si prajete zamzať toto pravidlo?'; -$messages['actiondeleteconfirm'] = 'Naozaj si prajete zmazať túto akciu?'; -$messages['forbiddenchars'] = 'Pole obsahuje nepovolené znaky'; -$messages['cannotbeempty'] = 'Pole nemôže byť prázdne'; -$messages['ruleexist'] = 'Filter so zadaným menom už existuje.'; -$messages['setactivated'] = 'Sada filtrov bola aktivovaná'; -$messages['setdeactivated'] = 'Sada filtrov bola deaktivovaná'; -$messages['setdeleted'] = 'Sada filtrov bola zmazaná'; -$messages['setdeleteconfirm'] = 'Naozaj si prajete zmazať túto sadu filtrov?'; -$messages['setcreated'] = 'Sada filtrov bola vytvorená'; -$messages['deactivated'] = 'Filter(e) povolený.'; -$messages['activated'] = 'Filter(e) úspešne vypnutý.'; -$messages['moved'] = 'Filter presunutý.'; -$messages['nametoolong'] = 'Názov sady filtrov je príliš dlhý'; +$messages['filterunknownerror'] = 'Neznáma chyba servera.'; +$messages['filterconnerror'] = 'Nepodarilo sa pripojiť k serveru.'; +$messages['filterdeleteerror'] = 'Nemožno vymazať filter. Nastala chyba servera.'; +$messages['filterdeleted'] = 'Filter bol úspešne vymazaný.'; +$messages['filtersaved'] = 'Filter bol úspešne uložený.'; +$messages['filtersaveerror'] = 'Nemožno uložiť filter. Nastala chyba servera.'; +$messages['filterdeleteconfirm'] = 'Naozaj chcete vymazať vybraný filter?'; +$messages['ruledeleteconfirm'] = 'Naozaj chcete vymazať vybrané pravidlo?'; +$messages['actiondeleteconfirm'] = 'Naozaj chcete vymazať vybranú akciu?'; +$messages['forbiddenchars'] = 'Pole obsahuje nepovolené znaky.'; +$messages['cannotbeempty'] = 'Pole nemôže byť prázdne.'; +$messages['ruleexist'] = 'Filter so zadaným názvom už existuje.'; +$messages['setactivateerror'] = 'Nemožno aktivovať vybranú súpravu filtrov. Nastala chyba servera.'; +$messages['setdeactivateerror'] = 'Nemožno deaktivovať vybranú súpravu filtrov. Nastala chyba servera.'; +$messages['setdeleteerror'] = 'Nemožno vymazať vybranú súpravu filtrov. Nastala chyba servera.'; +$messages['setactivated'] = 'Súprava filtrov bola úspešne aktivovaná.'; +$messages['setdeactivated'] = 'Súprava filtrov bola úspešne deaktivovaná.'; +$messages['setdeleted'] = 'Súprava filtrov bola úspešne vymazaná.'; +$messages['setdeleteconfirm'] = 'Naozaj chcete vymazať vybranú súpravu filtrov?'; +$messages['setcreateerror'] = 'Nemožno vytvoriť súpravu filtrov. Nastala chyba servera.'; +$messages['setcreated'] = 'Súprava filtrov bola úspešne vytvorená.'; +$messages['activateerror'] = 'Nemožno aktivovať vybraný filter (vybrané filtre). Nastala chyba servera.'; +$messages['deactivateerror'] = 'Nemožno vypnúť vybraný filter (vybrané filtre). Nastala chyba servera.'; +$messages['deactivated'] = 'Filtre boli úspešne vypnuté.'; +$messages['activated'] = 'Filtre boli úspešne zapnuté.'; +$messages['moved'] = 'Filter bol úspešne presunutý.'; +$messages['moveerror'] = 'Nemožno presunúť vybraný filter. Nastala chyba servera.'; +$messages['nametoolong'] = 'Názov je príliš dlhý.'; $messages['namereserved'] = 'Rezervovaný názov.'; -$messages['setexist'] = 'Množina už existuje.'; -$messages['nodata'] = 'Aspoň jedna pozícia musí byť zvolená.'; +$messages['setexist'] = 'Súprava už existuje.'; +$messages['nodata'] = 'Aspoň jedna pozícia musí byť zvolená!'; $messages['invaliddateformat'] = 'Neplatný formát dátumu alebo časti dátumu'; ?> diff --git a/plugins/managesieve/localization/sl_SI.inc b/plugins/managesieve/localization/sl_SI.inc index c776a337a..2915684d3 100644 --- a/plugins/managesieve/localization/sl_SI.inc +++ b/plugins/managesieve/localization/sl_SI.inc @@ -54,6 +54,7 @@ $labels['add'] = 'Dodaj'; $labels['del'] = 'Izbriši'; $labels['sender'] = 'Pošiljatelj'; $labels['recipient'] = 'Prejemnik'; +$labels['vacationaddr'] = 'Moji dodatni e-naslovi'; $labels['vacationdays'] = 'Kako pogosto naj bodo sporočila poslana (v dnevih):'; $labels['vacationinterval'] = 'Sporočila pošlji na:'; $labels['days'] = 'dni'; @@ -158,22 +159,31 @@ $labels['index'] = 'indeks:'; $labels['indexlast'] = 'obraten vrstni red'; $messages['filterunknownerror'] = 'Prišlo je do neznane napake.'; $messages['filterconnerror'] = 'Povezave s strežnikom (managesieve) ni bilo mogoče vzpostaviti'; +$messages['filterdeleteerror'] = 'Pravila ni bilo mogoče izbrisati. Prišlo je do napake.'; $messages['filterdeleted'] = 'Pravilo je bilo uspešno izbrisano.'; $messages['filtersaved'] = 'Pravilo je bilo uspešno shranjeno'; +$messages['filtersaveerror'] = 'Pravila ni bilo mogoče shraniti. Prišlo je do napake.'; $messages['filterdeleteconfirm'] = 'Ste prepričani, da želite izbrisati izbrano pravilo?'; $messages['ruledeleteconfirm'] = 'Ste prepričani, da želite izbrisati izbrano pravilo?'; $messages['actiondeleteconfirm'] = 'Ste prepričani, da želite izbrisati izbrano dejanje?'; $messages['forbiddenchars'] = 'V polju so neveljavni znaki'; $messages['cannotbeempty'] = 'Polje ne sme biti prazno'; $messages['ruleexist'] = 'Filer s tem imenom že obstaja'; +$messages['setactivateerror'] = 'Izbranih filtrov ni bilo mogoče vključiti. Prišlo je do napake na strežniku.'; +$messages['setdeactivateerror'] = 'Izbranih filtrov ni bilo mogoče izključiti. Prišlo je do napake na strežniku.'; +$messages['setdeleteerror'] = 'Izbranih filtrov ni bilo mogoče izbrisati. Prišlo je do napake na strežniku.'; $messages['setactivated'] = 'Filter je bil uspešno vključen.'; $messages['setdeactivated'] = 'Filter je bil uspešno onemogočen.'; $messages['setdeleted'] = 'Filter je bil uspešno izbrisan.'; $messages['setdeleteconfirm'] = 'Ste prepričani, da želite izbrisati ta filter?'; +$messages['setcreateerror'] = 'Nabora filtrov ni bilo mogoče ustvariti. Prišlo je do napake na strežniku.'; $messages['setcreated'] = 'Filter je bil uspešno ustvarjen.'; +$messages['activateerror'] = 'Izbranega/ih filtra/ov ni bilo mogoče vključiti. Prišlo je do napake na strežniku.'; +$messages['deactivateerror'] = 'Izbranega/ih fitra/ov ni bilo mogoče izključiti. Prišlo je do napake na strežniku.'; $messages['deactivated'] = 'Filtri so bili uspešno omogočeni.'; $messages['activated'] = 'Filtri so bili uspešno onemogočeni.'; $messages['moved'] = 'Filter je bil uspešno premaknjen.'; +$messages['moveerror'] = 'Izbranega filtra ni bilo mogoče premakniti. Prišlo je do napake na strežniku.'; $messages['nametoolong'] = 'Ime je predolgo.'; $messages['namereserved'] = 'Rezervirano ime.'; $messages['setexist'] = 'Nastavitev filtra že obstaja.'; diff --git a/plugins/managesieve/localization/sv_SE.inc b/plugins/managesieve/localization/sv_SE.inc index 5d855bd09..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'; @@ -159,23 +159,32 @@ $labels['index'] = 'index:'; $labels['indexlast'] = 'omvänd'; $messages['filterunknownerror'] = 'Okänt serverfel'; $messages['filterconnerror'] = 'Anslutning till serverns filtertjänst misslyckades'; +$messages['filterdeleteerror'] = 'Filtret kunde inte tas bort på grund av serverfel'; $messages['filterdeleted'] = 'Filtret är borttaget'; $messages['filtersaved'] = 'Filtret har sparats'; +$messages['filtersaveerror'] = 'Filtret kunde inte sparas på grund av serverfel'; $messages['filterdeleteconfirm'] = 'Vill du ta bort det markerade filtret?'; $messages['ruledeleteconfirm'] = 'Vill du ta bort filterregeln?'; $messages['actiondeleteconfirm'] = 'Vill du ta bort filteråtgärden?'; $messages['forbiddenchars'] = 'Otillåtet tecken i fältet'; $messages['cannotbeempty'] = 'Fältet kan inte lämnas tomt'; $messages['ruleexist'] = 'Ett filter med angivet namn finns redan.'; +$messages['setactivateerror'] = 'Filtergruppen kunde inte aktiveras på grund av serverfel'; +$messages['setdeactivateerror'] = 'Filtergruppen kunde inte deaktiveras på grund av serverfel'; +$messages['setdeleteerror'] = 'Filtergruppen kunde inte tas bort på grund av serverfel'; $messages['setactivated'] = 'Filtergruppen är aktiverad'; $messages['setdeactivated'] = 'Filtergruppen är deaktiverad'; $messages['setdeleted'] = 'Filtergruppen är borttagen'; $messages['setdeleteconfirm'] = 'Vill du ta bort filtergruppen?'; +$messages['setcreateerror'] = 'Filtergruppen kunde inte läggas till på grund av serverfel'; $messages['setcreated'] = 'Filtergruppen har lagts till'; +$messages['activateerror'] = 'Kunde inte aktivera filter på grund av serverfel.'; +$messages['deactivateerror'] = 'Kunde inte deaktivera filter på grund av serverfel.'; $messages['deactivated'] = 'Filter aktiverat.'; $messages['activated'] = 'Filter deaktiverat.'; $messages['moved'] = 'Filter flyttat.'; -$messages['nametoolong'] = 'Filtergruppen kan inte läggas till med för långt namn'; +$messages['moveerror'] = 'Kunde inte flytta filter på grund av serverfel.'; +$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/tr_TR.inc b/plugins/managesieve/localization/tr_TR.inc index 98db751fc..b0b09e18a 100644 --- a/plugins/managesieve/localization/tr_TR.inc +++ b/plugins/managesieve/localization/tr_TR.inc @@ -159,22 +159,31 @@ $labels['index'] = 'indeks:'; $labels['indexlast'] = 'geriye yönelik'; $messages['filterunknownerror'] = 'Bilinmeyen sunucu hatası.'; $messages['filterconnerror'] = 'Sunucuya bağlanamıyor.'; +$messages['filterdeleteerror'] = 'Filtre silinemedi. Sunucuda hata oluştu.'; $messages['filterdeleted'] = 'Filtre başarıyla silindi.'; $messages['filtersaved'] = 'Filter başarıyla kaydedildi.'; +$messages['filtersaveerror'] = 'Filtre kaydedilemedi. Sunucuda hata oluştu.'; $messages['filterdeleteconfirm'] = 'Seçilen filtreleri gerçekten silmek istiyor musun?'; $messages['ruledeleteconfirm'] = 'Seçili kuralları silmek istediğinizden emin misiniz?'; $messages['actiondeleteconfirm'] = 'Seçili aksiyonları silmek istediğinizden emin misiniz?'; $messages['forbiddenchars'] = 'Alanda izin verilmeyen karakterler var.'; $messages['cannotbeempty'] = 'Alan boş olmaz'; $messages['ruleexist'] = 'Belirtilen isimde bir filtre zaten var.'; +$messages['setactivateerror'] = 'Seçilen filtreler etkinleştirilemedi. Sunucuda hata oluştu.'; +$messages['setdeactivateerror'] = 'Seçilen filtreler pasifleştirilemedi. Sunucuda hata oluştu.'; +$messages['setdeleteerror'] = 'Seçilen filtreler silinemedi. Sunucuda hata oluştu.'; $messages['setactivated'] = 'Filtreler başarıyla etkinleştirilemedi.'; $messages['setdeactivated'] = 'Filtreler başarıyla pasifleştirildi.'; $messages['setdeleted'] = 'Filtre seti başarıyla silindi.'; $messages['setdeleteconfirm'] = 'Seçilen filtre setlerini silmek istediğinizden emin misiniz?'; +$messages['setcreateerror'] = 'Filtre setleri oluşturulamadı. Sunucuda hata oluştu.'; $messages['setcreated'] = 'Filtre setleri başarıyla oluşturuldu.'; +$messages['activateerror'] = 'Seçilen filtre(ler) etkinleştirilemedi. Sunucuda hata oluştu.'; +$messages['deactivateerror'] = 'Seçilen filtre(ler) pasifleştirilemedi. Sunucuda hata oluştu.'; $messages['deactivated'] = 'Filtre(ler) başarıyla etkinleştirildi.'; $messages['activated'] = 'Filtre(ler) başarıyla iptal edildi.'; $messages['moved'] = 'Filtre başarıyla taşındı.'; +$messages['moveerror'] = 'Seçilen filtre taşınamadı. Sunucuda hata oluştu.'; $messages['nametoolong'] = 'İsim çok uzun.'; $messages['namereserved'] = 'rezerve edilmiş isim.'; $messages['setexist'] = 'Set zaten var.'; diff --git a/plugins/managesieve/localization/uk_UA.inc b/plugins/managesieve/localization/uk_UA.inc index a0e7b6ad0..d85b03bf5 100644 --- a/plugins/managesieve/localization/uk_UA.inc +++ b/plugins/managesieve/localization/uk_UA.inc @@ -38,18 +38,26 @@ $labels['addrule'] = 'Додати правило'; $labels['delrule'] = 'Видалити правило'; $labels['messagemoveto'] = 'Пересунути повідомлення до'; $labels['messageredirect'] = 'Перенаправити повідомлення до'; +$labels['messagecopyto'] = 'Копіювати листа до'; +$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'] = 'секунд'; $labels['vacationreason'] = 'Текст повідомлення:'; +$labels['vacationsubject'] = 'Тема листа:'; $labels['rulestop'] = 'Зупинити перевірку правил'; +$labels['enable'] = 'Увімкнути/Вимкнуни'; $labels['filterset'] = 'Набір фільтрів'; $labels['filtersetadd'] = 'Додати набір фільтрів'; $labels['filtersetdel'] = 'Видалити поточний набір'; @@ -62,6 +70,62 @@ $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'] = 'Назва змінної:'; +$labels['setvarvalue'] = 'Значення змінної:'; +$labels['setvarmodifiers'] = 'Модифікатори:'; +$labels['varlower'] = 'нижній регістр'; +$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'] = 'день'; +$labels['date'] = 'дата (рррр-мм-дд)'; +$labels['hour'] = 'година'; +$labels['minute'] = 'хвилина'; +$labels['second'] = 'секунда'; +$labels['time'] = 'час (гг:хх:сс)'; +$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'] = 'Фільтр успішно видалено'; @@ -75,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 fa13b7125..53696ecf0 100644 --- a/plugins/managesieve/managesieve.js +++ b/plugins/managesieve/managesieve.js @@ -10,18 +10,8 @@ if (window.rcmail) { else rcmail.enable_command('managesieve-create', true); } - else { - var tab = $('<span>').attr('id', 'settingstabpluginmanagesieve').addClass('tablink filter'), - button = $('<a>').attr('href', rcmail.env.comm_path+'&_action=plugin.managesieve') - .attr('title', rcmail.gettext('managesieve.managefilters')) - .html(rcmail.gettext('managesieve.filters')) - .appendTo(tab); - - // add tab - rcmail.add_element(tab, 'tabs'); - } - if (rcmail.env.task == 'mail' || rcmail.env.action.indexOf('plugin.managesieve') != -1) { + if (rcmail.env.task == 'mail' || rcmail.env.action.startsWith('plugin.managesieve')) { // Create layer for form tips if (!rcmail.env.framed) { rcmail.env.ms_tip_layer = $('<div id="managesieve-tip" class="popupmenu"></div>'); @@ -40,7 +30,7 @@ if (window.rcmail) { rcmail.register_command('plugin.managesieve-setact', function() { rcmail.managesieve_setact() }); rcmail.register_command('plugin.managesieve-setget', function() { rcmail.managesieve_setget() }); - if (rcmail.env.action == 'plugin.managesieve' || rcmail.env.action == 'plugin.managesieve-save') { + if (rcmail.env.action.startsWith('plugin.managesieve')) { if (rcmail.gui_objects.sieveform) { rcmail.enable_command('plugin.managesieve-save', true); @@ -122,7 +112,7 @@ rcube_webmail.prototype.managesieve_del = function() var id = this.filters_list.get_single_selection(); if (confirm(this.get_label('managesieve.filterdeleteconfirm'))) { var lock = this.set_busy(true, 'loading'); - this.http_post('plugin.managesieve', + this.http_post('plugin.managesieve-action', '_act=delete&_fid='+this.filters_list.rows[id].uid, lock); } }; @@ -132,7 +122,7 @@ rcube_webmail.prototype.managesieve_act = function() var id = this.filters_list.get_single_selection(), lock = this.set_busy(true, 'loading'); - this.http_post('plugin.managesieve', + this.http_post('plugin.managesieve-action', '_act=act&_fid='+this.filters_list.rows[id].uid, lock); }; @@ -150,7 +140,7 @@ rcube_webmail.prototype.managesieve_setselect = function(list) this.show_contentframe(false); this.filters_list.clear(true); this.enable_command('plugin.managesieve-setdel', list.rowcount > 1); - this.enable_command( 'plugin.managesieve-setact', 'plugin.managesieve-setget', true); + this.enable_command('plugin.managesieve-setact', 'plugin.managesieve-setget', true); var id = list.get_single_selection(); if (id != null) @@ -161,7 +151,7 @@ rcube_webmail.prototype.managesieve_rowid = function(id) { var i, rows = this.filters_list.rows; - for (i=0; i<rows.length; i++) + for (i in rows) if (rows[i] != null && rows[i].uid == id) return i; }; @@ -179,7 +169,7 @@ rcube_webmail.prototype.managesieve_list = function(script) { var lock = this.set_busy(true, 'loading'); - this.http_post('plugin.managesieve', '_act=list&_set='+urlencode(script), lock); + this.http_post('plugin.managesieve-action', '_act=list&_set='+urlencode(script), lock); }; // Script download request @@ -188,7 +178,7 @@ rcube_webmail.prototype.managesieve_setget = function() var id = this.filtersets_list.get_single_selection(), script = this.env.filtersets[id]; - location.href = this.env.comm_path+'&_action=plugin.managesieve&_act=setget&_set='+urlencode(script); + location.href = this.env.comm_path+'&_action=plugin.managesieve-action&_act=setget&_set='+urlencode(script); }; // Set activate/deactivate request @@ -199,7 +189,7 @@ rcube_webmail.prototype.managesieve_setact = function() script = this.env.filtersets[id], action = $('#rcmrow'+id).hasClass('disabled') ? 'setact' : 'deact'; - this.http_post('plugin.managesieve', '_act='+action+'&_set='+urlencode(script), lock); + this.http_post('plugin.managesieve-action', '_act='+action+'&_set='+urlencode(script), lock); }; // Set delete request @@ -212,7 +202,7 @@ rcube_webmail.prototype.managesieve_setdel = function() lock = this.set_busy(true, 'loading'), script = this.env.filtersets[id]; - this.http_post('plugin.managesieve', '_act=setdel&_set='+urlencode(script), lock); + this.http_post('plugin.managesieve-action', '_act=setdel&_set='+urlencode(script), lock); }; // Set add request @@ -224,7 +214,7 @@ rcube_webmail.prototype.managesieve_setadd = function() if (this.env.contentframe && window.frames && window.frames[this.env.contentframe]) { var lock = this.set_busy(true, 'loading'); target = window.frames[this.env.contentframe]; - target.location.href = this.env.comm_path+'&_action=plugin.managesieve&_framed=1&_newset=1&_unlock='+lock; + target.location.href = this.env.comm_path+'&_action=plugin.managesieve-action&_framed=1&_newset=1&_unlock='+lock; } }; @@ -384,7 +374,7 @@ rcube_webmail.prototype.load_managesieveframe = function(id) if (this.env.contentframe && window.frames && window.frames[this.env.contentframe]) { target = window.frames[this.env.contentframe]; var msgid = this.set_busy(true, 'loading'); - target.location.href = this.env.comm_path+'&_action=plugin.managesieve&_framed=1' + target.location.href = this.env.comm_path+'&_action=plugin.managesieve-action&_framed=1' +(has_id ? '&_fid='+id : '')+'&_unlock='+msgid; } }; @@ -405,7 +395,7 @@ rcube_webmail.prototype.managesieve_dragend = function(e) var lock = this.set_busy(true, 'loading'); this.show_contentframe(false); - this.http_post('plugin.managesieve', '_act=move&_fid='+this.drag_filter + this.http_post('plugin.managesieve-action', '_act=move&_fid='+this.drag_filter +'&_to='+this.drag_filter_target, lock); } this.drag_active = false; @@ -458,7 +448,7 @@ rcube_webmail.prototype.managesieve_save = function() // Operations on filters form rcube_webmail.prototype.managesieve_ruleadd = function(id) { - this.http_post('plugin.managesieve', '_act=ruleadd&_rid='+id); + this.http_post('plugin.managesieve-action', '_act=ruleadd&_rid='+id); }; rcube_webmail.prototype.managesieve_rulefill = function(content, id, after) @@ -497,7 +487,7 @@ rcube_webmail.prototype.managesieve_ruledel = function(id) rcube_webmail.prototype.managesieve_actionadd = function(id) { - this.http_post('plugin.managesieve', '_act=actionadd&_aid='+id); + this.http_post('plugin.managesieve-action', '_act=actionadd&_aid='+id); }; rcube_webmail.prototype.managesieve_actionfill = function(content, id, after) @@ -512,6 +502,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); } }; diff --git a/plugins/managesieve/managesieve.php b/plugins/managesieve/managesieve.php index 6970193c2..7a7faee4c 100644 --- a/plugins/managesieve/managesieve.php +++ b/plugins/managesieve/managesieve.php @@ -41,9 +41,11 @@ 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-save', array($this, 'managesieve_save')); if ($this->rc->task == 'settings') { + $this->add_hook('settings_actions', array($this, 'settings_actions')); $this->init_ui(); } else if ($this->rc->task == 'mail') { @@ -74,6 +76,16 @@ class managesieve extends rcube_plugin } /** + * Adds Filters section in Settings + */ + function settings_actions($args) + { + // register as settings action + $args['actions'][] = array('action' => 'plugin.managesieve', 'class' => 'filter', 'label' => 'filters', 'domain' => 'managesieve'); + return $args; + } + + /** * Add UI elements to the 'mailbox view' and 'show message' UI. */ function mail_task_handler() 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/managesieve.html b/plugins/managesieve/skins/classic/templates/managesieve.html index 869e3ac36..3d84466d8 100644 --- a/plugins/managesieve/skins/classic/templates/managesieve.html +++ b/plugins/managesieve/skins/classic/templates/managesieve.html @@ -64,7 +64,6 @@ </div> </div> -</div> <div id="filtersetmenu" class="popupmenu"> <ul> 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/managesieve.html b/plugins/managesieve/skins/larry/templates/managesieve.html index 25bbbaf69..6ef3b2d91 100644 --- a/plugins/managesieve/skins/larry/templates/managesieve.html +++ b/plugins/managesieve/skins/larry/templates/managesieve.html @@ -14,14 +14,13 @@ <roundcube:include file="/includes/settingstabs.html" /> <div id="settings-right"> - <div id="filtersetslistbox" class="uibox listbox"> <h2 class="boxtitle"><roundcube:label name="managesieve.filtersets" /></h2> <div class="scroller withfooter"> <roundcube:object name="filtersetslist" id="filtersetslist" class="listing" cellspacing="0" summary="Filters list" type="list" noheader="true" /> </div> <div class="boxfooter"> - <roundcube:button command="plugin.managesieve-setadd" type="link" title="managesieve.filtersetadd" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="filtersetmenulink" id="filtersetmenulink" type="link" title="moreactions" class="listbutton groupactions" onclick="UI.show_popup('filtersetmenu');return false" innerClass="inner" content="⚙" /> + <roundcube:button command="plugin.managesieve-setadd" type="link" title="managesieve.filtersetadd" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="filtersetmenulink" id="filtersetmenulink" type="link" title="moreactions" class="listbutton groupactions" onclick="UI.show_popup('filtersetmenu');return false" innerClass="inner" content="⚙" /> </div> </div> @@ -32,7 +31,7 @@ <roundcube:object name="filterslist" id="filterslist" class="listing" cellspacing="0" summary="Filters list" noheader="true" /> </div> <div class="boxfooter"> - <roundcube:button command="plugin.managesieve-add" type="link" title="managesieve.filteradd" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="filtermenulink" id="filtermenulink" type="link" title="moreactions" class="listbutton groupactions" onclick="UI.show_popup('filtermenu');return false" innerClass="inner" content="⚙" /> + <roundcube:button command="plugin.managesieve-add" type="link" title="managesieve.filteradd" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="filtermenulink" id="filtermenulink" type="link" title="moreactions" class="listbutton groupactions" onclick="UI.show_popup('filtermenu');return false" innerClass="inner" content="⚙" /> </div> </div> @@ -40,10 +39,11 @@ <div class="iframebox"> <roundcube:object name="filterframe" id="filter-frame" style="width:100%; height:100%" frameborder="0" src="/watermark.html" /> </div> - <roundcube:object name="message" id="message" class="statusbar" /> </div> </div> +</div> +</div> <div id="filtersetmenu" class="popupmenu"> <ul class="toolbarmenu"> diff --git a/plugins/markasjunk/localization/ber.inc b/plugins/markasjunk/localization/ber.inc deleted file mode 100644 index 046e45733..000000000 --- a/plugins/markasjunk/localization/ber.inc +++ /dev/null @@ -1,16 +0,0 @@ -<?php - -/* - +-----------------------------------------------------------------------+ - | localization//labels.inc | - | | - | Language file of the Roundcube Webmail client | - | Copyright (C) 2012, The Roundcube Dev Team | - | Licensed under the GNU General Public License | - | | - +-----------------------------------------------------------------------+ - | Author: FULL NAME <EMAIL@ADDRESS> | - +-----------------------------------------------------------------------+ -*/ - - diff --git a/plugins/markasjunk/localization/ca_ES.inc b/plugins/markasjunk/localization/ca_ES.inc index 18fef58a8..1a77aaff2 100644 --- a/plugins/markasjunk/localization/ca_ES.inc +++ b/plugins/markasjunk/localization/ca_ES.inc @@ -16,6 +16,6 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-markasjunk/ */ $labels['buttontext'] = 'Correu brossa'; -$labels['buttontitle'] = 'Marca com a Spam'; -$labels['reportedasjunk'] = 'S\'ha reportat correctament com a Spam'; +$labels['buttontitle'] = 'Marca com a correu brossa'; +$labels['reportedasjunk'] = 'S\'ha reportat correctament com a correu brossa'; ?>
\ No newline at end of file diff --git a/plugins/markasjunk/localization/en_CA.inc b/plugins/markasjunk/localization/en_CA.inc new file mode 100644 index 000000000..92c041948 --- /dev/null +++ b/plugins/markasjunk/localization/en_CA.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'] = 'Junk'; +$labels['buttontitle'] = 'Mark as Junk'; +$labels['reportedasjunk'] = 'Successfully reported as Junk'; +?>
\ No newline at end of file diff --git a/plugins/markasjunk/localization/es_419.inc b/plugins/markasjunk/localization/es_419.inc new file mode 100644 index 000000000..e9bc14bc4 --- /dev/null +++ b/plugins/markasjunk/localization/es_419.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'] = 'Basura'; +$labels['buttontitle'] = 'Marcar como basura'; +$labels['reportedasjunk'] = 'Reportado como basura exitosamente'; +?>
\ No newline at end of file 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/sk_SK.inc b/plugins/markasjunk/localization/sk_SK.inc index 101b57ab7..25afe6cf2 100644 --- a/plugins/markasjunk/localization/sk_SK.inc +++ b/plugins/markasjunk/localization/sk_SK.inc @@ -15,7 +15,7 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-markasjunk/ */ -$labels['buttontext'] = 'Spam'; -$labels['buttontitle'] = 'Označiť ako Spam'; -$labels['reportedasjunk'] = 'Úspešne nahlásené ako Spam'; +$labels['buttontext'] = 'Nevyžiadaná pošta'; +$labels['buttontitle'] = 'Označiť ako nevyžiadané'; +$labels['reportedasjunk'] = 'Úspešne nahlásené ako nevyžiadaná pošta'; ?>
\ 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/en_CA.inc b/plugins/new_user_dialog/localization/en_CA.inc new file mode 100644 index 000000000..4b4e48b30 --- /dev/null +++ b/plugins/new_user_dialog/localization/en_CA.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'] = 'Please complete your sender identity'; +$labels['identitydialoghint'] = 'This box only appears once at the first login.'; +?>
\ No newline at end of file diff --git a/plugins/new_user_dialog/localization/es_419.inc b/plugins/new_user_dialog/localization/es_419.inc new file mode 100644 index 000000000..145c5d5ca --- /dev/null +++ b/plugins/new_user_dialog/localization/es_419.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'] = 'Por favor completa tu información de remitente'; +$labels['identitydialoghint'] = 'Esta sección solo aparece un vez en el primer login.'; +?>
\ 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/gl_ES.inc b/plugins/new_user_dialog/localization/gl_ES.inc index 83c73b90d..859855ea2 100644 --- a/plugins/new_user_dialog/localization/gl_ES.inc +++ b/plugins/new_user_dialog/localization/gl_ES.inc @@ -15,6 +15,6 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-new_user_dialog/ */ -$labels['identitydialogtitle'] = 'Por favor, complete os seus datos persoais'; -$labels['identitydialoghint'] = 'Este diálogo só aparecerá a primera vez que se conecte ao correo.'; +$labels['identitydialogtitle'] = 'Por favor, completa os teus datos persoais'; +$labels['identitydialoghint'] = 'Este diálogo só aparecerá a primera vez que te conectes ao correo.'; ?>
\ 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/new_user_dialog/localization/sk_SK.inc b/plugins/new_user_dialog/localization/sk_SK.inc index 236c1d893..32feebc00 100644 --- a/plugins/new_user_dialog/localization/sk_SK.inc +++ b/plugins/new_user_dialog/localization/sk_SK.inc @@ -15,6 +15,6 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-new_user_dialog/ */ -$labels['identitydialogtitle'] = 'Doplňte prosím Vašu identifikáciu odosielateľa'; -$labels['identitydialoghint'] = 'Toto okno sa objaví len pri prvom prihlásení.'; +$labels['identitydialogtitle'] = 'Doplňte prosím svoju identifikáciu odosielateľa'; +$labels['identitydialoghint'] = 'Toto okno sa zobrazí len raz, pri prvom prihlásení.'; ?>
\ No newline at end of file diff --git a/plugins/newmail_notifier/localization/az_AZ.inc b/plugins/newmail_notifier/localization/az_AZ.inc index 94283f9dc..355c30f0a 100644 --- a/plugins/newmail_notifier/localization/az_AZ.inc +++ b/plugins/newmail_notifier/localization/az_AZ.inc @@ -24,4 +24,5 @@ $labels['body'] = 'Sizə məktub gəldi'; $labels['testbody'] = 'Bu sınaq bildirişidir'; $labels['desktopdisabled'] = 'Sizin brauzerdə iş masasında bildiriş söndürülüb'; $labels['desktopunsupported'] = 'Sizin brauzer iş masasında bildiriş funksiyasını dəstəkləmir'; +$labels['desktoptimeout'] = 'Masaüstü bildirişi bağla'; ?> diff --git a/plugins/newmail_notifier/localization/ca_ES.inc b/plugins/newmail_notifier/localization/ca_ES.inc index bb510ae26..37359de61 100644 --- a/plugins/newmail_notifier/localization/ca_ES.inc +++ b/plugins/newmail_notifier/localization/ca_ES.inc @@ -18,10 +18,11 @@ $labels['basic'] = 'Mostra notificacions del navegador quan hi hagi un missatge nou'; $labels['desktop'] = 'Mostra notificacions de l\'escriptori quan hi hagi un missatge nou'; $labels['sound'] = 'Reprodueix el so quan hi hagi un missatge nou'; -$labels['test'] = 'Comprova'; +$labels['test'] = 'Prova'; $labels['title'] = 'Missatge nou!'; $labels['body'] = 'Heu rebut un missatge nou.'; $labels['testbody'] = 'Això és una notificació de prova.'; $labels['desktopdisabled'] = 'Les notificacions d\'escriptori estan deshabilitades al vostre navegador.'; $labels['desktopunsupported'] = 'El vostre navegador no permet les notificacions d\'escriptori.'; +$labels['desktoptimeout'] = 'Tanca la notificació de l\'escriptori'; ?> diff --git a/plugins/newmail_notifier/localization/da_DK.inc b/plugins/newmail_notifier/localization/da_DK.inc index 26e4e6a7b..356076f71 100644 --- a/plugins/newmail_notifier/localization/da_DK.inc +++ b/plugins/newmail_notifier/localization/da_DK.inc @@ -24,4 +24,5 @@ $labels['body'] = 'Du har modtaget en ny besked.'; $labels['testbody'] = 'Dette er en test meddelelse.'; $labels['desktopdisabled'] = 'Skrivebordsbeskeder er deaktiveret i din browser.'; $labels['desktopunsupported'] = 'Din browser understøtter ikke skrivebordsbeskeder.'; +$labels['desktoptimeout'] = 'Luk skrivebordsbesked'; ?> 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_CA.inc b/plugins/newmail_notifier/localization/en_CA.inc new file mode 100644 index 000000000..ce3b5b0b3 --- /dev/null +++ b/plugins/newmail_notifier/localization/en_CA.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'] = 'Display browser notifications on new message'; +$labels['desktop'] = 'Display desktop notifications on new message'; +$labels['sound'] = 'Play the sound on new message'; +$labels['test'] = 'Test'; +$labels['title'] = 'New Email!'; +$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/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/fa_IR.inc b/plugins/newmail_notifier/localization/fa_IR.inc index af58aeed2..2c7980640 100644 --- a/plugins/newmail_notifier/localization/fa_IR.inc +++ b/plugins/newmail_notifier/localization/fa_IR.inc @@ -24,4 +24,5 @@ $labels['body'] = 'شما یک پیغام جدید دریافت کردهای $labels['testbody'] = 'این یک تذکر آزمایشی است.'; $labels['desktopdisabled'] = 'تذکرهای رومیزی در مرورگر شما غیرفعال شدهاند.'; $labels['desktopunsupported'] = 'مرورگر شما تذکرهای رومیزی را پشتیبانی نمیکند.'; +$labels['desktoptimeout'] = 'بستن تذکر دسکتاپ'; ?> 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/gl_ES.inc b/plugins/newmail_notifier/localization/gl_ES.inc index 1dae35297..154a8cbb9 100644 --- a/plugins/newmail_notifier/localization/gl_ES.inc +++ b/plugins/newmail_notifier/localization/gl_ES.inc @@ -17,11 +17,12 @@ */ $labels['basic'] = 'Amosar notificacións no navegador cando entre unha mensaxe nova'; $labels['desktop'] = 'Amosar notificacións no escritorio cando chegue unha mensaxe nova'; -$labels['sound'] = 'Tocar un son cando chegue unha mensaxe nova'; +$labels['sound'] = 'Reproducir un son cando chegue unha nova mensaxe'; $labels['test'] = 'Proba'; $labels['title'] = 'Novo Correo!'; -$labels['body'] = 'Recibiu unha mensaxe nova'; +$labels['body'] = 'Recibiches unha nova mensaxe'; $labels['testbody'] = 'Esta é unha notificación de proba'; -$labels['desktopdisabled'] = 'As notificacións de escritorio están desactivadas no seu navegador'; +$labels['desktopdisabled'] = 'As notificacións de escritorio están desactivadas no teu navegador'; $labels['desktopunsupported'] = 'O teu navegador non soporta notificacións de escritorio.'; +$labels['desktoptimeout'] = 'Pechar notificación de escritorio'; ?> 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/lt_LT.inc b/plugins/newmail_notifier/localization/lt_LT.inc index 6db304f90..e97a6cfea 100644 --- a/plugins/newmail_notifier/localization/lt_LT.inc +++ b/plugins/newmail_notifier/localization/lt_LT.inc @@ -24,4 +24,5 @@ $labels['body'] = 'Jūs gavote naują laišką.'; $labels['testbody'] = 'Tai – bandomasis pranešimas.'; $labels['desktopdisabled'] = 'Jūsų naršyklėje sistemos pranešimai išjungti.'; $labels['desktopunsupported'] = 'Jūsų naršyklėje sistemos pranešimai nepalaikomi.'; +$labels['desktoptimeout'] = 'Užverti sistemos pranešimą'; ?> diff --git a/plugins/newmail_notifier/localization/lv_LV.inc b/plugins/newmail_notifier/localization/lv_LV.inc index 60d951e5e..4ca083598 100644 --- a/plugins/newmail_notifier/localization/lv_LV.inc +++ b/plugins/newmail_notifier/localization/lv_LV.inc @@ -24,4 +24,5 @@ $labels['body'] = 'Jūs esat saņēmis jaunu vēstuli.'; $labels['testbody'] = 'Šis ir testa paziņojums.'; $labels['desktopdisabled'] = 'Darbavirsmas paziņojumi Jūsu pārlūkprogrammā ir atslēgti.'; $labels['desktopunsupported'] = 'Jūsu pārlūkprogramma neatbalsta darbavirsmas paziņojumus.'; +$labels['desktoptimeout'] = 'Aizvērt darbavirsmas paziņojumu'; ?> diff --git a/plugins/newmail_notifier/localization/sk_SK.inc b/plugins/newmail_notifier/localization/sk_SK.inc index b60447c36..fa206ba7d 100644 --- a/plugins/newmail_notifier/localization/sk_SK.inc +++ b/plugins/newmail_notifier/localization/sk_SK.inc @@ -18,11 +18,11 @@ $labels['basic'] = 'Zobraziť upozornenie v prehliadači pri novej správe'; $labels['desktop'] = 'Zobraziť upozornenie na ploche pri novej správe'; $labels['sound'] = 'Prehrať zvuk pri novej správe'; -$labels['test'] = 'Skúška'; -$labels['title'] = 'Nová správa'; +$labels['test'] = 'Otestovať'; +$labels['title'] = 'Nová správa!'; $labels['body'] = 'Máte novú správu.'; $labels['testbody'] = 'Toto je skúšobné upozornenie.'; $labels['desktopdisabled'] = 'Upozornenia na ploche sú vo vašom prehliadači vypnuté.'; -$labels['desktopunsupported'] = 'Váč prehliadač nepodporuje upozornenia na ploche.'; +$labels['desktopunsupported'] = 'Váš prehliadač nepodporuje upozornenia na ploche.'; $labels['desktoptimeout'] = 'Zatvoriť notifikáciu na ploche'; ?> diff --git a/plugins/newmail_notifier/localization/sl_SI.inc b/plugins/newmail_notifier/localization/sl_SI.inc index 32f36f7d9..a95fde055 100644 --- a/plugins/newmail_notifier/localization/sl_SI.inc +++ b/plugins/newmail_notifier/localization/sl_SI.inc @@ -24,4 +24,5 @@ $labels['body'] = 'Prejeli ste novo sporočilo.'; $labels['testbody'] = 'To je testno obvestilo.'; $labels['desktopdisabled'] = 'Obvestila na namizju so v vašem brskalniku onemogočena.'; $labels['desktopunsupported'] = 'Vaš brskalnik ne podpira izpis obvestil na namizju.'; +$labels['desktoptimeout'] = 'Zapri obvestila na namizju'; ?> 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/newmail_notifier/newmail_notifier.js b/plugins/newmail_notifier/newmail_notifier.js index 2beacf650..69f1867c9 100644 --- a/plugins/newmail_notifier/newmail_notifier.js +++ b/plugins/newmail_notifier/newmail_notifier.js @@ -108,7 +108,7 @@ function newmail_notifier_desktop(body) lang: "", body: body, tag: "newmail_notifier", - icon: "plugins/newmail_notifier/mail.png", + icon: "plugins/newmail_notifier/mail.png" }); popup.onclick = function() { this.close(); diff --git a/plugins/password/drivers/domainfactory.php b/plugins/password/drivers/domainfactory.php index 3351d2fd3..62d9bfce2 100644 --- a/plugins/password/drivers/domainfactory.php +++ b/plugins/password/drivers/domainfactory.php @@ -54,7 +54,12 @@ class rcube_domainfactory_password curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postfields)); if ($result = curl_exec($ch)) { - // did the new password match the requirements? + // has the password been changed? + if (strpos($result, 'Einstellungen erfolgreich') !== false) { + return PASSWORD_SUCCESS; + } + + // show error message(s) if possible if (strpos($result, '<div class="d-msg-text">') !== false) { preg_match_all('#<div class="d-msg-text">(.*?)</div>#s', $result, $errors); if (isset($errors[1])) { @@ -66,9 +71,6 @@ class rcube_domainfactory_password } } - if (strpos($result, 'Einstellungen erfolgreich') !== false) { - return PASSWORD_SUCCESS; - } } else { return PASSWORD_CONNECT_ERROR; diff --git a/plugins/password/drivers/ldap.php b/plugins/password/drivers/ldap.php index cf62debcf..739958ad7 100644 --- a/plugins/password/drivers/ldap.php +++ b/plugins/password/drivers/ldap.php @@ -146,7 +146,7 @@ class rcube_ldap_password return ''; } - $base = $rcmail->config->get('password_ldap_search_base'); + $base = self::substitute_vars($rcmail->config->get('password_ldap_search_base')); $filter = self::substitute_vars($rcmail->config->get('password_ldap_search_filter')); $options = array ( 'scope' => 'sub', diff --git a/plugins/password/drivers/ldap_simple.php b/plugins/password/drivers/ldap_simple.php index c5d828fab..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)) { @@ -187,6 +187,8 @@ class rcube_ldap_simple_password $search_base = $rcmail->config->get('password_ldap_search_base'); $search_filter = $rcmail->config->get('password_ldap_search_filter'); + + $search_base = rcube_ldap_password::substitute_vars($search_base); $search_filter = rcube_ldap_password::substitute_vars($search_filter); $this->_debug("C: Search $search_base for $search_filter"); diff --git a/plugins/password/localization/ber.inc b/plugins/password/localization/ber.inc deleted file mode 100644 index 046e45733..000000000 --- a/plugins/password/localization/ber.inc +++ /dev/null @@ -1,16 +0,0 @@ -<?php - -/* - +-----------------------------------------------------------------------+ - | localization//labels.inc | - | | - | Language file of the Roundcube Webmail client | - | Copyright (C) 2012, The Roundcube Dev Team | - | Licensed under the GNU General Public License | - | | - +-----------------------------------------------------------------------+ - | Author: FULL NAME <EMAIL@ADDRESS> | - +-----------------------------------------------------------------------+ -*/ - - 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/ca_ES.inc b/plugins/password/localization/ca_ES.inc index 3ab4ed1ad..8e367155f 100644 --- a/plugins/password/localization/ca_ES.inc +++ b/plugins/password/localization/ca_ES.inc @@ -23,10 +23,10 @@ $messages['nopassword'] = 'Si us plau, introduïu la nova contrasenya.'; $messages['nocurpassword'] = 'Si us plau, introduïu la contrasenya actual.'; $messages['passwordincorrect'] = 'Contrasenya actual incorrecta.'; $messages['passwordinconsistency'] = 'La contrasenya nova no coincideix, torneu-ho a provar.'; -$messages['crypterror'] = 'No es pot desar la nova contrasenya. No existeix la funció d\'encriptació.'; -$messages['connecterror'] = 'No es pot desar la nova contrasenya. Error de connexió.'; -$messages['internalerror'] = 'No es pot desar la nova contrasenya.'; -$messages['passwordshort'] = 'La nova contrasenya ha de tenir com a mínim $length caràcters de llarg.'; +$messages['crypterror'] = 'No s\'ha pogut desar la nova contrasenya. No existeix la funció d\'encriptació.'; +$messages['connecterror'] = 'No s\'ha pogut desar la nova contrasenya. Error de connexió.'; +$messages['internalerror'] = 'No s\'ha pogut desar la nova contrasenya.'; +$messages['passwordshort'] = 'La nova contrasenya ha de tenir com a mínim $length caràcters.'; $messages['passwordweak'] = 'La nova contrasenya ha d\'incloure com a mínim un nombre i un caràcter de puntuació.'; $messages['passwordforbidden'] = 'La contrasenya conté caràcters no permesos.'; ?> diff --git a/plugins/password/localization/en_CA.inc b/plugins/password/localization/en_CA.inc new file mode 100644 index 000000000..6206b5923 --- /dev/null +++ b/plugins/password/localization/en_CA.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'] = 'Change Password'; +$labels['curpasswd'] = 'Current Password:'; +$labels['newpasswd'] = 'New Password:'; +$labels['confpasswd'] = 'Confirm New Password:'; +$messages['nopassword'] = 'Please input new password.'; +$messages['nocurpassword'] = 'Please input current password.'; +$messages['passwordincorrect'] = 'Current password incorrect.'; +$messages['passwordinconsistency'] = 'Passwords do not match, please try again.'; +$messages['crypterror'] = 'Could not save new password. Encryption function missing.'; +$messages['connecterror'] = 'Could not save new password. Connection error.'; +$messages['internalerror'] = 'Could not save new password.'; +$messages['passwordshort'] = 'Password must be at least $length characters long.'; +$messages['passwordweak'] = 'Password must include at least one number and one punctuation character.'; +$messages['passwordforbidden'] = 'Password contains forbidden characters.'; +?> diff --git a/plugins/password/localization/es_419.inc b/plugins/password/localization/es_419.inc new file mode 100644 index 000000000..3d99b561c --- /dev/null +++ b/plugins/password/localization/es_419.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'] = 'Cambiar contraseña'; +$labels['curpasswd'] = 'Contraseña actual: '; +$labels['newpasswd'] = 'Contraseña nueva:'; +$labels['confpasswd'] = 'Confirmar contraseña nueva:'; +$messages['nopassword'] = 'Por favor, ingresa la nueva contraseña.'; +$messages['nocurpassword'] = 'Por favor, ingresa la contraseña actual.'; +$messages['passwordincorrect'] = 'Contraseña actual incorrecta.'; +$messages['passwordinconsistency'] = 'Las contraseñas no concuerdan, por favor intenta nuevamente.'; +$messages['crypterror'] = 'No se puedo guardar la nueva contraseña. No se encuentra la función de encriptación.'; +$messages['connecterror'] = 'No se puedo guardar la nueva contraseña. Error de conexión.'; +$messages['internalerror'] = 'No se puedo guardar la nueva contraseña.'; +$messages['passwordshort'] = 'La contraseña debe tener al menos $length carácteres.'; +$messages['passwordweak'] = 'La contraseña debe incluir por lo menos un número y un signo de puntuación.'; +$messages['passwordforbidden'] = 'La contraseña contiene carácteres ilegales.'; +?> 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/gl_ES.inc b/plugins/password/localization/gl_ES.inc index f738c62a0..1415366a3 100644 --- a/plugins/password/localization/gl_ES.inc +++ b/plugins/password/localization/gl_ES.inc @@ -19,13 +19,13 @@ $labels['changepasswd'] = 'Cambiar contrasinal'; $labels['curpasswd'] = 'Contrasinal actual:'; $labels['newpasswd'] = 'Contrasinal novo:'; $labels['confpasswd'] = 'Confirmar contrasinal:'; -$messages['nopassword'] = 'Por favor, introduza un contrasinal novo.'; -$messages['nocurpassword'] = 'Por favor, introduza o contrasinal actual.'; +$messages['nopassword'] = 'Por favor, introduce un contrasinal novo.'; +$messages['nocurpassword'] = 'Por favor, introduce o contrasinal actual.'; $messages['passwordincorrect'] = 'O contrasinal actual é incorrecto.'; -$messages['passwordinconsistency'] = 'Os contrasinais non cadran. Por favor, inténteo outra vez.'; -$messages['crypterror'] = 'Non foi posible gardar o contrasinal novo. Falta a función de cifrado.'; -$messages['connecterror'] = 'Non foi posible gardar o contrasinal novo. Erro de conexión'; -$messages['internalerror'] = 'Non foi posible gardar o contrasinal novo.'; +$messages['passwordinconsistency'] = 'Os contrasinais non cadran. Por favor, inténtao outra vez.'; +$messages['crypterror'] = 'Non foi posíbel gardar o contrasinal novo. Falta a función de cifrado.'; +$messages['connecterror'] = 'Non foi posíbel gardar o contrasinal novo. Erro de conexión'; +$messages['internalerror'] = 'Non foi posíbel gardar o contrasinal novo.'; $messages['passwordshort'] = 'O contrasinal debe ter polo menos $length caracteres.'; $messages['passwordweak'] = 'O contrasinal debe incluir polo menos un número e un signo de puntuación.'; $messages['passwordforbidden'] = 'O contrasinal contén caracteres non permitidos.'; 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/localization/sk_SK.inc b/plugins/password/localization/sk_SK.inc index fd0210285..51339bb7b 100644 --- a/plugins/password/localization/sk_SK.inc +++ b/plugins/password/localization/sk_SK.inc @@ -16,16 +16,16 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-password/ */ $labels['changepasswd'] = 'Zmeniť heslo'; -$labels['curpasswd'] = 'Súčasné heslo:'; +$labels['curpasswd'] = 'Aktuálne heslo:'; $labels['newpasswd'] = 'Nové heslo:'; -$labels['confpasswd'] = 'Potvrď nové heslo:'; -$messages['nopassword'] = 'Prosím zadaj nové heslo.'; -$messages['nocurpassword'] = 'Prosím zadaj súčasné heslo.'; -$messages['passwordincorrect'] = 'Súčasné heslo je nesprávne.'; -$messages['passwordinconsistency'] = 'Heslá nie sú rovnaké, skús znova.'; -$messages['crypterror'] = 'Nemôžem uložiť nové heslo. Chýba šifrovacia funkcia.'; -$messages['connecterror'] = 'Nemôžem uložiť nové heslo. Chyba spojenia.'; -$messages['internalerror'] = 'Nemôžem uložiť nové heslo.'; +$labels['confpasswd'] = 'Potvrďte nové heslo:'; +$messages['nopassword'] = 'Prosím zadajte nové heslo.'; +$messages['nocurpassword'] = 'Prosím zadajte aktuálne heslo.'; +$messages['passwordincorrect'] = 'Aktuálne heslo je nesprávne.'; +$messages['passwordinconsistency'] = 'Heslá nie sú rovnaké, skúste to znova.'; +$messages['crypterror'] = 'Nové heslo nemožno uložiť. Chýba šifrovacia funkcia.'; +$messages['connecterror'] = 'Nové heslo nemožno uložiť. Chyba spojenia.'; +$messages['internalerror'] = 'Nové heslo nemožno uložiť.'; $messages['passwordshort'] = 'Heslo musí mať najmenej $length znakov.'; $messages['passwordweak'] = 'Heslo musí obsahovať aspoň jedno číslo a jedno interpunkčné znamienko.'; $messages['passwordforbidden'] = 'Heslo obsahuje nepovolené znaky.'; diff --git a/plugins/password/password.js b/plugins/password/password.js index 12c9074ff..1bfb2a0d3 100644 --- a/plugins/password/password.js +++ b/plugins/password/password.js @@ -1,4 +1,4 @@ -/* +/** * Password plugin script * @version @package_version@ */ @@ -8,17 +8,17 @@ if (window.rcmail) { // register command handler rcmail.register_command('plugin.password-save', function() { - var input_curpasswd = rcube_find_object('_curpasswd'); - var input_newpasswd = rcube_find_object('_newpasswd'); - var input_confpasswd = rcube_find_object('_confpasswd'); - - if (input_curpasswd && input_curpasswd.value=='') { + var input_curpasswd = rcube_find_object('_curpasswd'), + input_newpasswd = rcube_find_object('_newpasswd'), + input_confpasswd = rcube_find_object('_confpasswd'); + + if (input_curpasswd && input_curpasswd.value == '') { alert(rcmail.gettext('nocurpassword', 'password')); input_curpasswd.focus(); - } else if (input_newpasswd && input_newpasswd.value=='') { + } else if (input_newpasswd && input_newpasswd.value == '') { alert(rcmail.gettext('nopassword', 'password')); input_newpasswd.focus(); - } else if (input_confpasswd && input_confpasswd.value=='') { + } else if (input_confpasswd && input_confpasswd.value == '') { alert(rcmail.gettext('nopassword', 'password')); input_confpasswd.focus(); } else if (input_newpasswd && input_confpasswd && input_newpasswd.value != input_confpasswd.value) { diff --git a/plugins/subscriptions_option/localization/ca_ES.inc b/plugins/subscriptions_option/localization/ca_ES.inc index 3a723968b..b2f4ddb50 100644 --- a/plugins/subscriptions_option/localization/ca_ES.inc +++ b/plugins/subscriptions_option/localization/ca_ES.inc @@ -15,5 +15,5 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-subscriptions_option/ */ -$labels['useimapsubscriptions'] = 'Fes servir subscripcions IMAP'; +$labels['useimapsubscriptions'] = 'Fes servir Subscripcions IMAP'; ?> diff --git a/plugins/subscriptions_option/localization/en_CA.inc b/plugins/subscriptions_option/localization/en_CA.inc new file mode 100644 index 000000000..4895fdd30 --- /dev/null +++ b/plugins/subscriptions_option/localization/en_CA.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'] = 'Use IMAP Subscriptions'; +?> diff --git a/plugins/subscriptions_option/localization/es_419.inc b/plugins/subscriptions_option/localization/es_419.inc new file mode 100644 index 000000000..ae8c72474 --- /dev/null +++ b/plugins/subscriptions_option/localization/es_419.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'] = 'Usar subscripciones IMAP'; +?> diff --git a/plugins/subscriptions_option/localization/fo_FO.inc b/plugins/subscriptions_option/localization/fo_FO.inc new file mode 100644 index 000000000..7ee0c6851 --- /dev/null +++ b/plugins/subscriptions_option/localization/fo_FO.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'] = '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/subscriptions_option/localization/sk_SK.inc b/plugins/subscriptions_option/localization/sk_SK.inc index f65a508d4..9f9634bdf 100644 --- a/plugins/subscriptions_option/localization/sk_SK.inc +++ b/plugins/subscriptions_option/localization/sk_SK.inc @@ -15,5 +15,5 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-subscriptions_option/ */ -$labels['useimapsubscriptions'] = 'Použi IMAP nastavenia'; +$labels['useimapsubscriptions'] = 'Použiť prihlásenia IMAP'; ?> diff --git a/plugins/subscriptions_option/localization/uk_UA.inc b/plugins/subscriptions_option/localization/uk_UA.inc new file mode 100644 index 000000000..8b3564008 --- /dev/null +++ b/plugins/subscriptions_option/localization/uk_UA.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/ber.inc b/plugins/userinfo/localization/ber.inc deleted file mode 100644 index 046e45733..000000000 --- a/plugins/userinfo/localization/ber.inc +++ /dev/null @@ -1,16 +0,0 @@ -<?php - -/* - +-----------------------------------------------------------------------+ - | localization//labels.inc | - | | - | Language file of the Roundcube Webmail client | - | Copyright (C) 2012, The Roundcube Dev Team | - | Licensed under the GNU General Public License | - | | - +-----------------------------------------------------------------------+ - | Author: FULL NAME <EMAIL@ADDRESS> | - +-----------------------------------------------------------------------+ -*/ - - diff --git a/plugins/userinfo/localization/ca_ES.inc b/plugins/userinfo/localization/ca_ES.inc index 8c82c52a2..155ae6bdb 100644 --- a/plugins/userinfo/localization/ca_ES.inc +++ b/plugins/userinfo/localization/ca_ES.inc @@ -15,7 +15,7 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-userinfo/ */ -$labels['userinfo'] = 'Informació de l\'usuari/a'; +$labels['userinfo'] = 'Informació de l\'usuari'; $labels['created'] = 'Creat'; $labels['lastlogin'] = 'Última connexió'; $labels['defaultidentity'] = 'Identitat per defecte'; diff --git a/plugins/userinfo/localization/en_CA.inc b/plugins/userinfo/localization/en_CA.inc new file mode 100644 index 000000000..d2951a984 --- /dev/null +++ b/plugins/userinfo/localization/en_CA.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'] = 'User info'; +$labels['created'] = 'Created'; +$labels['lastlogin'] = 'Last Login'; +$labels['defaultidentity'] = 'Default Identity'; +?>
\ No newline at end of file diff --git a/plugins/userinfo/localization/es_419.inc b/plugins/userinfo/localization/es_419.inc new file mode 100644 index 000000000..e3274539d --- /dev/null +++ b/plugins/userinfo/localization/es_419.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'] = 'Información de usuario'; +$labels['created'] = 'Creado'; +$labels['lastlogin'] = 'Último login'; +$labels['defaultidentity'] = 'Identidad predetermidada'; +?>
\ No newline at end of file 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/gl_ES.inc b/plugins/userinfo/localization/gl_ES.inc index 860c92673..8dbbfd699 100644 --- a/plugins/userinfo/localization/gl_ES.inc +++ b/plugins/userinfo/localization/gl_ES.inc @@ -15,7 +15,7 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-userinfo/ */ -$labels['userinfo'] = 'Información do usuario'; +$labels['userinfo'] = 'Información de persoa usuaria'; $labels['created'] = 'Creado'; $labels['lastlogin'] = 'Última conexión'; $labels['defaultidentity'] = 'Identidade predeterminada'; 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/userinfo/localization/sk_SK.inc b/plugins/userinfo/localization/sk_SK.inc index f6b0c63d2..95deee14e 100644 --- a/plugins/userinfo/localization/sk_SK.inc +++ b/plugins/userinfo/localization/sk_SK.inc @@ -15,8 +15,8 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-userinfo/ */ -$labels['userinfo'] = 'Užívateľské informácie'; +$labels['userinfo'] = 'Informácie o používateľovi'; $labels['created'] = 'Vytvorené'; $labels['lastlogin'] = 'Posledné prihlásenie'; -$labels['defaultidentity'] = 'Štandardná identita'; +$labels['defaultidentity'] = 'Predvolená identita'; ?>
\ No newline at end of file diff --git a/plugins/vcard_attachments/localization/en_CA.inc b/plugins/vcard_attachments/localization/en_CA.inc new file mode 100644 index 000000000..ac21ef96b --- /dev/null +++ b/plugins/vcard_attachments/localization/en_CA.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'] = 'Add vCard to addressbook'; +$labels['vcardsavefailed'] = 'Unable to save vCard'; +?>
\ No newline at end of file diff --git a/plugins/vcard_attachments/localization/es_419.inc b/plugins/vcard_attachments/localization/es_419.inc new file mode 100644 index 000000000..3d56d761b --- /dev/null +++ b/plugins/vcard_attachments/localization/es_419.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'] = 'Agregar vCard a la libreta de direcciones'; +$labels['vcardsavefailed'] = 'No se puede guardar la vCard'; +?>
\ 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/gl_ES.inc b/plugins/vcard_attachments/localization/gl_ES.inc index af6f2842e..55792ee01 100644 --- a/plugins/vcard_attachments/localization/gl_ES.inc +++ b/plugins/vcard_attachments/localization/gl_ES.inc @@ -15,6 +15,6 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-vcard_attachments/ */ -$labels['addvcardmsg'] = 'Engadir vCard ao caderno de enderezos'; -$labels['vcardsavefailed'] = 'Non foi posible gardar a vCard'; +$labels['addvcardmsg'] = 'Engadir vCard á Axenda de enderezos'; +$labels['vcardsavefailed'] = 'Non foi posíbel gardar a 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/vcard_attachments/localization/sk_SK.inc b/plugins/vcard_attachments/localization/sk_SK.inc index 17aecb261..ecbaac834 100644 --- a/plugins/vcard_attachments/localization/sk_SK.inc +++ b/plugins/vcard_attachments/localization/sk_SK.inc @@ -15,6 +15,6 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-vcard_attachments/ */ -$labels['addvcardmsg'] = 'Pridať vCard do adresára'; -$labels['vcardsavefailed'] = 'Nemôžem uložiť vCard'; +$labels['addvcardmsg'] = 'Pridať vizitku vCard do adresára'; +$labels['vcardsavefailed'] = 'Vizitku vCard nemožno uložiť'; ?>
\ No newline at end of file diff --git a/plugins/vcard_attachments/vcardattach.js b/plugins/vcard_attachments/vcardattach.js index 29bc1a60f..b287acd4a 100644 --- a/plugins/vcard_attachments/vcardattach.js +++ b/plugins/vcard_attachments/vcardattach.js @@ -1,4 +1,4 @@ -/* +/** * vcard_attachments plugin script * @version @package_version@ */ @@ -13,6 +13,7 @@ function plugin_vcard_save_contact(mime_id) function plugin_vcard_insertrow(data) { var ctype = data.row.ctype; + if (ctype == 'text/vcard' || ctype == 'text/x-vcard' || ctype == 'text/directory') { $('#rcmrow'+data.uid+' > td.attachment').html('<img src="'+rcmail.env.vcard_icon+'" alt="" />'); } diff --git a/plugins/zipdownload/CHANGELOG b/plugins/zipdownload/CHANGELOG deleted file mode 100644 index 32b878e76..000000000 --- a/plugins/zipdownload/CHANGELOG +++ /dev/null @@ -1,34 +0,0 @@ -Roundcube Webmail ZipDownload -============================= - -2012-09-20 -========== - * Added style for new Larry skin - * Made plugin work with 0.8 version of Roundcube - * Save attachments to temp files before adding to zip archive (memory!) - -2011 03 12 -========== - * Convert charset for filenames inside zip - -2010 08 30 -========== - * Get all messages in folder, not just the first page - -2010 08 12 -========== - * Use $.inArray() instead of Array.indexOf() - -2010 08 07 -========== - * Add the ability to download a folder as zip - * Add the ability to download selection of messages as zip - * Add config file to control download options - -2010 05 29 -========== - * Remove tnef_decode, now done by message class (r3680) - -2010 02 21 -========== - * First version
\ No newline at end of file diff --git a/plugins/zipdownload/localization/ca_ES.inc b/plugins/zipdownload/localization/ca_ES.inc index 665c53ad8..bf5640ec6 100644 --- a/plugins/zipdownload/localization/ca_ES.inc +++ b/plugins/zipdownload/localization/ca_ES.inc @@ -15,6 +15,6 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-zipdownload/ */ -$labels['downloadall'] = 'Descarregar tots els adjunts'; -$labels['downloadfolder'] = 'Descarregar carpeta'; +$labels['downloadall'] = 'Descarrega tots els adjunts'; +$labels['downloadfolder'] = 'Descarrega la carpeta'; ?>
\ No newline at end of file diff --git a/plugins/zipdownload/localization/en_CA.inc b/plugins/zipdownload/localization/en_CA.inc new file mode 100644 index 000000000..48a8d9bcb --- /dev/null +++ b/plugins/zipdownload/localization/en_CA.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'] = 'Download all attachments'; +$labels['downloadfolder'] = 'Download folder'; +?>
\ No newline at end of file diff --git a/plugins/zipdownload/localization/es_419.inc b/plugins/zipdownload/localization/es_419.inc new file mode 100644 index 000000000..a25e34266 --- /dev/null +++ b/plugins/zipdownload/localization/es_419.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'] = 'Descargar todos los archivos adjuntos'; +$labels['downloadfolder'] = 'Descargar carpeta'; +?>
\ No newline at end of file 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/gl_ES.inc b/plugins/zipdownload/localization/gl_ES.inc index 599c8ffcb..91fc14651 100644 --- a/plugins/zipdownload/localization/gl_ES.inc +++ b/plugins/zipdownload/localization/gl_ES.inc @@ -15,6 +15,6 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-zipdownload/ */ -$labels['downloadall'] = 'Descargar tódolos adxuntos'; +$labels['downloadall'] = 'Descargar todos os adxuntos'; $labels['downloadfolder'] = 'Descargar o cartafol'; ?>
\ 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/plugins/zipdownload/localization/sk_SK.inc b/plugins/zipdownload/localization/sk_SK.inc index 86c2b9a5f..4c918528f 100644 --- a/plugins/zipdownload/localization/sk_SK.inc +++ b/plugins/zipdownload/localization/sk_SK.inc @@ -16,5 +16,5 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-zipdownload/ */ $labels['downloadall'] = 'Stiahnuť všetky prílohy'; -$labels['downloadfolder'] = 'Priečinok na sťahovanie'; +$labels['downloadfolder'] = 'Priečinok pre stiahnuté súbory'; ?>
\ No newline at end of file diff --git a/plugins/zipdownload/zipdownload.php b/plugins/zipdownload/zipdownload.php index 59431267d..3bab286c5 100644 --- a/plugins/zipdownload/zipdownload.php +++ b/plugins/zipdownload/zipdownload.php @@ -12,261 +12,273 @@ */ class zipdownload extends rcube_plugin { - public $task = 'mail'; - private $charset = 'ASCII'; - - /** - * Plugin initialization - */ - public function init() - { - // check requirements first - if (!class_exists('ZipArchive', false)) { - rcmail::raise_error(array( - 'code' => 520, 'type' => 'php', - 'file' => __FILE__, 'line' => __LINE__, - 'message' => "php_zip extension is required for the zipdownload plugin"), true, false); - return; - } - - $rcmail = rcmail::get_instance(); - - $this->load_config(); - $this->charset = $rcmail->config->get('zipdownload_charset', RCUBE_CHARSET); - $this->add_texts('localization'); - - if ($rcmail->config->get('zipdownload_attachments', 1) > -1 && ($rcmail->action == 'show' || $rcmail->action == 'preview')) - $this->add_hook('template_object_messageattachments', array($this, 'attachment_ziplink')); - - $this->register_action('plugin.zipdownload.zip_attachments', array($this, 'download_attachments')); - $this->register_action('plugin.zipdownload.zip_messages', array($this, 'download_selection')); - $this->register_action('plugin.zipdownload.zip_folder', array($this, 'download_folder')); - - if ($rcmail->config->get('zipdownload_folder', false) || $rcmail->config->get('zipdownload_selection', false)) { - $this->include_script('zipdownload.js'); - $this->api->output->set_env('zipdownload_selection', $rcmail->config->get('zipdownload_selection', false)); - - if ($rcmail->config->get('zipdownload_folder', false) && ($rcmail->action == '' || $rcmail->action == 'show')) { - $zipdownload = $this->api->output->button(array('command' => 'plugin.zipdownload.zip_folder', 'type' => 'link', 'classact' => 'active', 'content' => $this->gettext('downloadfolder'))); - $this->api->add_content(html::tag('li', array('class' => 'separator_above'), $zipdownload), 'mailboxoptions'); - } - } - } - - /** - * Place a link/button after attachments listing to trigger download - */ - public function attachment_ziplink($p) - { - $rcmail = rcmail::get_instance(); - - // only show the link if there is more than the configured number of attachments - if (substr_count($p['content'], '<li') > $rcmail->config->get('zipdownload_attachments', 1)) { - $href = $rcmail->url(array( - '_action' => 'plugin.zipdownload.zip_attachments', - '_mbox' => $rcmail->output->env['mailbox'], - '_uid' => $rcmail->output->env['uid'], - )); - - $link = html::a(array('href' => $href, 'class' => 'button zipdownload'), - rcube::Q($this->gettext('downloadall')) - ); - - // append link to attachments list, slightly different in some skins - switch (rcmail::get_instance()->config->get('skin')) { - case 'classic': - $p['content'] = str_replace('</ul>', html::tag('li', array('class' => 'zipdownload'), $link) . '</ul>', $p['content']); - break; - - default: - $p['content'] .= $link; - break; - } - - $this->include_stylesheet($this->local_skin_path() . '/zipdownload.css'); - } - - return $p; - } - - /** - * Handler for attachment download action - */ - public function download_attachments() - { - $rcmail = rcmail::get_instance(); - $imap = $rcmail->storage; - $temp_dir = $rcmail->config->get('temp_dir'); - $tmpfname = tempnam($temp_dir, 'zipdownload'); - $tempfiles = array($tmpfname); - $message = new rcube_message(rcube_utils::get_input_value('_uid', rcube_utils::INPUT_GET)); - - // open zip file - $zip = new ZipArchive(); - $zip->open($tmpfname, ZIPARCHIVE::OVERWRITE); - - foreach ($message->attachments as $part) { - $pid = $part->mime_id; - $part = $message->mime_parts[$pid]; - $disp_name = $this->_convert_filename($part->filename); - - if ($part->body) { - $orig_message_raw = $part->body; - $zip->addFromString($disp_name, $orig_message_raw); - } - else { - $tmpfn = tempnam($temp_dir, 'zipattach'); - $tmpfp = fopen($tmpfn, 'w'); - $imap->get_message_part($message->uid, $part->mime_id, $part, null, $tmpfp, true); - $tempfiles[] = $tmpfn; - fclose($tmpfp); - $zip->addFile($tmpfn, $disp_name); - } - - } - - $zip->close(); - - $filename = ($message->subject ? $message->subject : 'roundcube') . '.zip'; - $this->_deliver_zipfile($tmpfname, $filename); - - // delete temporary files from disk - foreach ($tempfiles as $tmpfn) - unlink($tmpfn); - - exit; - } - - /** - * Handler for message download action - */ - public function download_selection() - { - if (isset($_REQUEST['_uid'])) { - $uids = explode(",", rcube_utils::get_input_value('_uid', rcube_utils::INPUT_GPC)); - - if (sizeof($uids) > 0) - $this->_download_messages($uids); - } - } - - /** - * Handler for folder download action - */ - public function download_folder() - { - $imap = rcmail::get_instance()->storage; - $mbox_name = $imap->get_folder(); - - // initialize searching result if search_filter is used - if ($_SESSION['search_filter'] && $_SESSION['search_filter'] != 'ALL') { - $imap->search($mbox_name, $_SESSION['search_filter'], RCUBE_CHARSET); - } - - // fetch message headers for all pages - $uids = array(); - if ($count = $imap->count($mbox_name, $imap->get_threading() ? 'THREADS' : 'ALL', FALSE)) { - for ($i = 0; ($i * $imap->get_pagesize()) <= $count; $i++) { - $a_headers = $imap->list_messages($mbox_name, ($i + 1)); - - foreach ($a_headers as $header) { - if (empty($header)) - continue; - - array_push($uids, $header->uid); - } - } - } - - if (sizeof($uids) > 0) - $this->_download_messages($uids); - } - - /** - * Helper method to packs all the given messages into a zip archive - * - * @param array List of message UIDs to download - */ - private function _download_messages($uids) - { - $rcmail = rcmail::get_instance(); - $imap = $rcmail->storage; - $temp_dir = $rcmail->config->get('temp_dir'); - $tmpfname = tempnam($temp_dir, 'zipdownload'); - $tempfiles = array($tmpfname); - - // open zip file - $zip = new ZipArchive(); - $zip->open($tmpfname, ZIPARCHIVE::OVERWRITE); - - foreach ($uids as $uid){ - $headers = $imap->get_message_headers($uid); - $subject = rcube_mime::decode_mime_string((string)$headers->subject); - $subject = $this->_convert_filename($subject); - $subject = substr($subject, 0, 16); - - if (isset($subject) && $subject !="") - $disp_name = $subject . ".eml"; - else - $disp_name = "message_rfc822.eml"; - - $disp_name = $uid . "_" . $disp_name; - - $tmpfn = tempnam($temp_dir, 'zipmessage'); - $tmpfp = fopen($tmpfn, 'w'); - $imap->get_raw_body($uid, $tmpfp); - $tempfiles[] = $tmpfn; - fclose($tmpfp); - $zip->addFile($tmpfn, $disp_name); - } - - $zip->close(); - - $this->_deliver_zipfile($tmpfname, $imap->get_folder() . '.zip'); - - // delete temporary files from disk - foreach ($tempfiles as $tmpfn) - unlink($tmpfn); - - exit; - } - - /** - * Helper method to send the zip archive to the browser - */ - private function _deliver_zipfile($tmpfname, $filename) - { - $browser = new rcube_browser; - $rcmail = rcmail::get_instance(); - - $rcmail->output->nocacheing_headers(); - - if ($browser->ie && $browser->ver < 7) - $filename = rawurlencode(abbreviate_string($filename, 55)); - else if ($browser->ie) - $filename = rawurlencode($filename); - else - $filename = addcslashes($filename, '"'); - - // send download headers - header("Content-Type: application/octet-stream"); - if ($browser->ie) - header("Content-Type: application/force-download"); - - // don't kill the connection if download takes more than 30 sec. - @set_time_limit(0); - header("Content-Disposition: attachment; filename=\"". $filename ."\""); - header("Content-length: " . filesize($tmpfname)); - readfile($tmpfname); - } - - /** - * Helper function to convert filenames to the configured charset - */ - private function _convert_filename($str) - { + public $task = 'mail'; + private $charset = 'ASCII'; + + /** + * Plugin initialization + */ + public function init() + { + // check requirements first + if (!class_exists('ZipArchive', false)) { + rcmail::raise_error(array( + 'code' => 520, + 'file' => __FILE__, + 'line' => __LINE__, + 'message' => "php_zip extension is required for the zipdownload plugin"), true, false); + return; + } + + $rcmail = rcmail::get_instance(); + + $this->load_config(); + $this->charset = $rcmail->config->get('zipdownload_charset', RCUBE_CHARSET); + $this->add_texts('localization'); + + if ($rcmail->config->get('zipdownload_attachments', 1) > -1 && ($rcmail->action == 'show' || $rcmail->action == 'preview')) { + $this->add_hook('template_object_messageattachments', array($this, 'attachment_ziplink')); + } + + $this->register_action('plugin.zipdownload.zip_attachments', array($this, 'download_attachments')); + $this->register_action('plugin.zipdownload.zip_messages', array($this, 'download_selection')); + $this->register_action('plugin.zipdownload.zip_folder', array($this, 'download_folder')); + + if (($selection = $rcmail->config->get('zipdownload_selection')) || $rcmail->config->get('zipdownload_folder')) { + $this->include_script('zipdownload.js'); + $this->api->output->set_env('zipdownload_selection', $selection); + + if ($rcmail->config->get('zipdownload_folder', false) && ($rcmail->action == '' || $rcmail->action == 'show')) { + $zipdownload = $this->api->output->button(array('command' => 'plugin.zipdownload.zip_folder', 'type' => 'link', 'classact' => 'active', 'content' => $this->gettext('downloadfolder'))); + $this->api->add_content(html::tag('li', array('class' => 'separator_above'), $zipdownload), 'mailboxoptions'); + } + } + } + + /** + * Place a link/button after attachments listing to trigger download + */ + public function attachment_ziplink($p) + { + $rcmail = rcmail::get_instance(); + + // only show the link if there is more than the configured number of attachments + if (substr_count($p['content'], '<li') > $rcmail->config->get('zipdownload_attachments', 1)) { + $href = $rcmail->url(array( + '_action' => 'plugin.zipdownload.zip_attachments', + '_mbox' => $rcmail->output->env['mailbox'], + '_uid' => $rcmail->output->env['uid'], + )); + + $link = html::a(array('href' => $href, 'class' => 'button zipdownload'), + rcube::Q($this->gettext('downloadall')) + ); + + // append link to attachments list, slightly different in some skins + switch (rcmail::get_instance()->config->get('skin')) { + case 'classic': + $p['content'] = str_replace('</ul>', html::tag('li', array('class' => 'zipdownload'), $link) . '</ul>', $p['content']); + break; + + default: + $p['content'] .= $link; + break; + } + + $this->include_stylesheet($this->local_skin_path() . '/zipdownload.css'); + } + + return $p; + } + + /** + * Handler for attachment download action + */ + public function download_attachments() + { + $rcmail = rcmail::get_instance(); + $imap = $rcmail->get_storage(); + $temp_dir = $rcmail->config->get('temp_dir'); + $tmpfname = tempnam($temp_dir, 'zipdownload'); + $tempfiles = array($tmpfname); + $message = new rcube_message(rcube_utils::get_input_value('_uid', rcube_utils::INPUT_GET)); + + // open zip file + $zip = new ZipArchive(); + $zip->open($tmpfname, ZIPARCHIVE::OVERWRITE); + + foreach ($message->attachments as $part) { + $pid = $part->mime_id; + $part = $message->mime_parts[$pid]; + $filename = $part->filename; + + if ($filename === null || $filename === '') { + $ext = (array) rcube_mime::get_mime_extensions($part->mimetype); + $ext = array_shift($ext); + $filename = $rcmail->gettext('messagepart') . ' ' . $pid; + if ($ext) { + $filename .= '.' . $ext; + } + } + + $disp_name = $this->_convert_filename($filename); + + if ($part->body) { + $orig_message_raw = $part->body; + $zip->addFromString($disp_name, $orig_message_raw); + } + else { + $tmpfn = tempnam($temp_dir, 'zipattach'); + $tmpfp = fopen($tmpfn, 'w'); + $imap->get_message_part($message->uid, $part->mime_id, $part, null, $tmpfp, true); + $tempfiles[] = $tmpfn; + fclose($tmpfp); + $zip->addFile($tmpfn, $disp_name); + } + } + + $zip->close(); + + $filename = ($message->subject ? $message->subject : 'roundcube') . '.zip'; + $this->_deliver_zipfile($tmpfname, $filename); + + // delete temporary files from disk + foreach ($tempfiles as $tmpfn) { + unlink($tmpfn); + } + + exit; + } + + /** + * Handler for message download action + */ + public function download_selection() + { + if (isset($_REQUEST['_uid'])) { + $uids = explode(",", rcube_utils::get_input_value('_uid', rcube_utils::INPUT_GPC)); + + if (sizeof($uids) > 0) { + $this->_download_messages($uids); + } + } + } + + /** + * Handler for folder download action + */ + public function download_folder() + { + $imap = rcmail::get_instance()->get_storage(); + $mbox_name = $imap->get_folder(); + + // initialize searching result if search_filter is used + if ($_SESSION['search_filter'] && $_SESSION['search_filter'] != 'ALL') { + $imap->search($mbox_name, $_SESSION['search_filter'], RCUBE_CHARSET); + } + + // fetch message headers for all pages + $uids = array(); + if ($count = $imap->count($mbox_name, $imap->get_threading() ? 'THREADS' : 'ALL', FALSE)) { + for ($i = 0; ($i * $imap->get_pagesize()) <= $count; $i++) { + $a_headers = $imap->list_messages($mbox_name, ($i + 1)); + + foreach ($a_headers as $header) { + if (empty($header)) + continue; + + array_push($uids, $header->uid); + } + } + } + + if (sizeof($uids) > 0) + $this->_download_messages($uids); + } + + /** + * Helper method to packs all the given messages into a zip archive + * + * @param array List of message UIDs to download + */ + private function _download_messages($uids) + { + $rcmail = rcmail::get_instance(); + $imap = $rcmail->get_storage(); + $temp_dir = $rcmail->config->get('temp_dir'); + $tmpfname = tempnam($temp_dir, 'zipdownload'); + $tempfiles = array($tmpfname); + + // open zip file + $zip = new ZipArchive(); + $zip->open($tmpfname, ZIPARCHIVE::OVERWRITE); + + foreach ($uids as $uid){ + $headers = $imap->get_message_headers($uid); + $subject = rcube_mime::decode_mime_string((string)$headers->subject); + $subject = $this->_convert_filename($subject); + $subject = substr($subject, 0, 16); + + $disp_name = ($subject ? $subject : 'message_rfc822') . ".eml"; + $disp_name = $uid . "_" . $disp_name; + + $tmpfn = tempnam($temp_dir, 'zipmessage'); + $tmpfp = fopen($tmpfn, 'w'); + $imap->get_raw_body($uid, $tmpfp); + $tempfiles[] = $tmpfn; + fclose($tmpfp); + $zip->addFile($tmpfn, $disp_name); + } + + $zip->close(); + + $this->_deliver_zipfile($tmpfname, $imap->get_folder() . '.zip'); + + // delete temporary files from disk + foreach ($tempfiles as $tmpfn) { + unlink($tmpfn); + } + + exit; + } + + /** + * Helper method to send the zip archive to the browser + */ + private function _deliver_zipfile($tmpfname, $filename) + { + $browser = new rcube_browser; + $rcmail = rcmail::get_instance(); + + $rcmail->output->nocacheing_headers(); + + if ($browser->ie && $browser->ver < 7) + $filename = rawurlencode(abbreviate_string($filename, 55)); + else if ($browser->ie) + $filename = rawurlencode($filename); + else + $filename = addcslashes($filename, '"'); + + // send download headers + header("Content-Type: application/octet-stream"); + if ($browser->ie) { + header("Content-Type: application/force-download"); + } + + // don't kill the connection if download takes more than 30 sec. + @set_time_limit(0); + header("Content-Disposition: attachment; filename=\"". $filename ."\""); + header("Content-length: " . filesize($tmpfname)); + readfile($tmpfname); + } + + /** + * Helper function to convert filenames to the configured charset + */ + private function _convert_filename($str) + { $str = rcube_charset::convert($str, RCUBE_CHARSET, $this->charset); - return strtr($str, array(':'=>'', '/'=>'-')); - } + return strtr($str, array(':'=>'', '/'=>'-')); + } } |