alecpl
2012-03-09 4be86f3a3779ef86be30e8451750130569d2cacd
skins/default/functions.js
@@ -102,6 +102,7 @@
    groupmenu:      {id:'groupoptionsmenu', above:1},
    mailboxmenu:    {id:'mailboxoptionsmenu', above:1},
    composemenu:    {id:'composeoptionsmenu', editable:1, overlap:1},
    spellmenu:      {id:'spellmenu'},
    // toggle: #1486823, #1486930
    uploadmenu:     {id:'attachment-form', editable:1, above:1, toggle:!bw.ie&&!bw.linux },
    uploadform:     {id:'upload-form', editable:1, toggle:!bw.ie&&!bw.linux }
@@ -351,6 +352,43 @@
  rcmail.set_list_options(cols, sort, ord, thread == 'thread' ? 1 : 0);
},
spellmenu: function(show)
{
  var link, li,
    lang = rcmail.spellcheck_lang(),
    menu = this.popups.spellmenu.obj,
    ul = $('ul', menu);
  if (!ul.length) {
    ul = $('<ul>');
    for (i in rcmail.env.spell_langs) {
      li = $('<li>');
      link = $('<a href="#">').text(rcmail.env.spell_langs[i])
        .addClass('active').data('lang', i)
        .click(function() {
          rcmail.spellcheck_lang_set($(this).data('lang'));
        });
      link.appendTo(li);
      li.appendTo(ul);
    }
    ul.appendTo(menu);
  }
  // select current language
  $('li', ul).each(function() {
    var el = $('a', this);
    if (el.data('lang') == lang)
      el.addClass('selected');
    else if (el.hasClass('selected'))
      el.removeClass('selected');
  });
  this.show_popupmenu('spellmenu', show);
},
body_mouseup: function(evt, p)
{
  var i, target = rcube_event.get_target(evt);