﻿/////////////////////////////////////////////////////////////////////
// Button Maker for Opera 9 - 10
// Version: 2.01
// Date: 2010-07-28
// Author: Mike Samokhvalov <mikivanch@gmail.com>
// WWW: http://www.puzzleclub.ru/files/button_maker/
// Copyright (C) 2007-2010

var maker = {
  contentObj : null,
  resultIconId : '',
  resultAnchorId : '',
  queryLinkId : '',
  queryBoxId : '',
  iconBorderStyle : '1px solid #d0d0d0',
  
  language: {
    'en': {
      commandList: 'Command list',
      command: 'Command',
      firstParam: '1st parameter',
      secondParam: '2nd parameter',
      buttonName: 'Button name',
      iconList: 'Icon list',
      iconAlias: 'Icon alias',
      logicalOperator: 'Logical operator',
      selectCommand: 'Select command',
      withoutIcon: 'Without icon',
      showIcons: 'Show icons',
      expand: 'Expand',
      collapse: 'Collapse',
      err1: 'Error: incorrectly initialized section.'
    },
    
    'ru': {
      commandList: 'Список команд',
      command: 'Команда',
      firstParam: '1-й параметр',
      secondParam: '2-й параметр',
      buttonName: 'Название кнопки',
      iconList: 'Список значков',
      iconAlias: 'Название значка',
      logicalOperator: 'Логический оператор',
      selectCommand: 'Выберите команду',
      withoutIcon: 'Без значка',
      showIcons: 'Показать значки',
      expand: 'Развернуть',
      collapse: 'Свернуть',
      err1: 'Ошибка: неправильно инициализирована секция.'
    }
  },
  
  lng: null,
  
  sections : new Array(),
    
  className : {
    tableSection : 'tbl_section',    
    tableForm : 'tbl_form',
    tableIconList : 'tbl_iconlist',
    tdNumber : 'td_number',
    tdLast : 'td_last',    
    divImgBorder : 'div_imgborder',
    divCurrentIcon : 'div_currenticon',
    divIconList : 'div_iconlist',
    selectWide : 'select_wide',
    inputBtn : 'input_btn'
  },
  
  id : {
    section : 'maker_section_',
    commands : 'commandlist_',
    command: 'command_',
    param1 : 'param1_',
    param2 : 'param2_',
    name : 'name_',
    icons : 'iconlist_',
    iconAlias : 'icon_',
    operator : 'operator_',
    currentIcon : 'currenticon_',
    iconImages : 'iconimages_',
    showIcons : 'showicons_'
  },
  
  init : function(lang, parentId, iconId, anchorId, qLinkId, qBoxId)
  {
    if(!window.opera)
      return;
      
    this.setLanguage(lang);

    this.resultIconId = iconId;
    this.resultAnchorId = anchorId;
    this.queryLinkId = qLinkId;
    this.queryBoxId = qBoxId;
    
    var obj = document.getElementById(parentId);
    if(obj)
    {
      this.contentObj = obj;
      this.appendSection();
    }
    
    var query = this.parseQuery(), make = false, lastid = 0, disableElements = [];
    for(var i in query)
    {
      var make = true;
      var id = i.match(/_(\d+)$/);
      if(id && id.length == 2 && id[1] > lastid)
      {
        this.appendSection();
        lastid = id[1];
      }
      
      var e = document.getElementById(i);
      if(e)
      {
        e.value = unescape(query[i]);
        
        if(id && id.length == 2)
        {
          id[1] = parseInt(id[1]);
          if(!isNaN(id[1]))
          {
            if(i.indexOf(this.id.iconAlias) != -1)
            {
              this.sections[id[1]].setCurrentIcon(e.value);
            }  
            else if(i.indexOf(this.id.command) != -1)
            {
              this.sections[id[1]].setSelectText(this.sections[id[1]].id.commands, e.value);
            }
            else if(i.indexOf(this.id.operator) != -1)
            {
              if(e.value == '&' || e.value == '+')
              {
                disableElements.push(id[1] + 1);
              }
            }
          }
        }        
      }
    }
    
    if(disableElements.length > 0)
    {
      for(var i = 0; i < disableElements.length; i++)
      {
        this.sections[disableElements[i]].disableFormElements(true);
      }
    }
    
    if(make)
    {
      for(var i = 0; i < this.sections.length; i++)
      {
        this.sections[i].makeBtnString();
      }
      this.makeButton();
    }  
  },
  
  parseQuery : function()
  {
    var k = new Array();
    var re = /[?&]([^=]+)(?:=([^&]*))?/g;
    while(m = re.exec(window.location.search))
    {
      if(m[1] && m[2])
        k[m[1]] = m[2];
      else if(m[1])
        k[m[1]] = '';
    };
    return k;
  },
  
  setLanguage: function(lng)
  {
    if(lng && this.language[lng])
    {
      this.lng = this.language[lng];
      return;
    }
    
    this.lng = this.language.en;
  },
  
  makeButton : function()
  {
    var btn = '';
    for(var i = 0; i < this.sections.length; i++)
    {
      btn += this.sections[i].btnString;
    }
    
    var a = document.getElementById(this.resultAnchorId);
    a.href = btn;
    a.innerText = this.sections[0].formElements.inputName.value;
    
    var icon = document.getElementById(this.resultIconId);    
    this.setCurrentIcon(icon, this.sections[0].formElements.inputIconAlias.value);
    
    // query
    var query = '', sep = '';
    for(var i = 0; i < this.sections.length; i++)
    {
      for(var j in this.sections[i].queryArray)
      {
        query += sep + j + '=' + escape(this.sections[i].queryArray[j]);
        sep = '&';
      }
    }
    
    var link = document.getElementById(this.queryLinkId);
    var box = document.getElementById(this.queryBoxId);
    if(link)
    {
      if(query)
      {
        var pos = location.href.indexOf('?');
        if(pos != -1)
          link.href = location.href.substr(0, pos) + '?' + query;
        else  
          link.href = location.href + '?' + query;
          
        box.style.display = '';  
      }
      else
      {
        link.href = '';
        box.style.display = 'none'; 
      }      
    }
  },
  
  setCurrentIcon : function (obj, icon)
  {
    if(obj)
    {
      if(icon)
      {
        obj.style.backgroundImage = "-o-skin('" + icon + "')";
        obj.style.width = "-o-skin";
        obj.style.height = "-o-skin";
        obj.title = icon;
        var parent = obj.parentNode;
        
        parent.style.border = this.iconBorderStyle;
        parent.style.width = 'auto'; 
        parent.style.height = 'auto';
        parent.style.width = obj.offsetWidth + 'px'; 
        parent.style.height = obj.offsetWidth + 'px';
      }
      else
      {
        obj.style.backgroundImage = 'none';
        obj.style.width = "auto";
        obj.style.height = "auto";
        obj.title = '';
        
        var parent = obj.parentNode;
        parent.style.border = 'none';
        parent.style.width = 'auto'; 
        parent.style.height = 'auto';
      }      
    }
  },
  
  appendSection : function()
  {
    if(!this.contentObj)
      return;

    var sec = new maker.section();    
    sec.number = this.sections.length;
    this.sections.push(sec);
    sec.create(this.contentObj);
  },
  
  removeSection : function(from)
  {
    for(var i = this.sections.length - 1; i > from; i--)
    {
      this.removeObject(this.sections[i].id.section);
      this.sections.splice(i, 1);
    }
  },
  
  removeObject : function(id)
  {
    var obj = document.getElementById(id);
    if(obj)
      obj.parentNode.removeChild(obj);
  },
  
  onIconClick : function(number, icon)
  {
    var t = icon ? icon.title : '';
    var s = maker.sections[number];
    s.setSelectText(s.id.icons, t);
    s.setInputText(s.id.iconAlias, t);
    s.setCurrentIcon(t);
    s.makeBtnString();
  },
  
  expandIconList : function(number, btn)
  {
    var s = maker.sections[number];
    var e = document.getElementById(s.id.iconImages);
    if(e)
    {
      var h = e.style.height;      
      if(h == '100%')
      {
        e.style.height = '120px';
        btn.value = maker.lng.expand;
      }
      else
      {
        e.style.height = '100%';
        btn.value = maker.lng.collapse;
      }
    }
  },
  
  section : function() {
    this.number = -1;
    this.btnString = '';
    this.queryArray = new Array();
    
    this.id = {
      section : '',
      commands : '',
      command: '',
      param1 : '',
      param2 : '',
      name : '',
      icons : '',
      iconAlias : '',
      operator : '',
      currentIcon : '',
      iconImages : '',
      showIcons : ''
    };

    this.formElements = {    
      inputCommand : null,
      inputParam1 : null,
      inputParam2 : null,
      inputName : null,
      inputIconAlias : null,
      selectOperator : null
    };

    this.initIds = function()
    {
      var n  = this.number.toString();
      this.id.section = maker.id.section + n;
      this.id.commands = maker.id.commands + n;
      this.id.command = maker.id.command + n;
      this.id.param1 = maker.id.param1 + n;
      this.id.param2 = maker.id.param2 + n;
      this.id.name = maker.id.name + n;
      this.id.icons = maker.id.icons + n;
      this.id.iconAlias = maker.id.iconAlias + n;
      this.id.operator = maker.id.operator + n;
      this.id.currentIcon = maker.id.currentIcon + n;
      this.id.iconImages = maker.id.iconImages + n;
      this.id.showIcons = maker.id.showIcons + n;
    };
    
    this.create = function(parent)
    {
      var lng = maker.lng;
      
      if(this.number < 0)
      {
        alert(lng.err1);
        return;
      }
      
      var mc = maker.className;
      this.initIds();
      
      var cursec = 'maker.sections[' + this.number + '].'
      var makebtn = cursec + 'makeBtnString();';
      var setInputText = cursec + 'setInputText';
      var setSelectText = cursec + 'setSelectText';
      var setSurIcon = cursec + 'setCurrentIcon(this.value);';
      var expandIconList = cursec + 'expandIconList(this, this.parentNode.parentNode.nextSibling);';
      var setOption = cursec + 'setOption();';
    
      var tbl = document.createElement('table');
      tbl.id = this.id.section;
      tbl.className = mc.tableSection;     
      
      var tr = document.createElement('tr');
      var td = document.createElement('td');
      td.className = mc.tdNumber;
      td.innerText = (this.number + 1).toString();
      tr.appendChild(td);
      td = document.createElement('td');
      tr.appendChild(td);
      tbl.appendChild(tr);
      parent.appendChild(tbl);

      var html = (
        // FORM TABLE BEGIN
        '<table class="' + mc.tableForm + '">'
        // Command list
        +'<tr><th>' + lng.commandList + '</th><td>'
        +'<select id="' + this.id.commands + '" size="1" class="' + mc.selectWide + '"'
        +'onchange="' + setInputText + '(\'' + this.id.command + '\', this.value);' + makebtn + '">'
        +'<option selected="selected" value="">' + lng.selectCommand + '</option>\n'
        +'</select></td><td class="' + mc.tdLast + '"></td></tr>'
        // Command
        +'<tr><th>' + lng.command + '</th>'
        +'<td><input type="text" id="' + this.id.command + '" size="48" onchange="' + makebtn + setSelectText + '(\'' + this.id.commands + '\', this.value);" /></td></tr>'
        // 1-st parameter
        +'<tr><th>' + lng.firstParam + '</th>'
        +'<td><input type="text" id="' + this.id.param1 + '" size="48" onchange="' + makebtn + '" /></td>'
        +'<td class="' + mc.tdLast + '"></td></tr>'
        // 2-nd parameter
        +'<tr><th>' + lng.secondParam + '</th>'
        +'<td><input type="text" id="' + this.id.param2 + '" size="48" onchange="' + makebtn + '" /></td>'
        +'<td class="' +mc.tdLast + '"></td></tr>'
        // Button name
        +'<tr><th>' + lng.buttonName + '</th>'
        +'<td><input type="text" id="' + this.id.name + '" size="48" onchange="' + makebtn + '" /></td>'
        +'<td class="' + mc.tdLast + '"></td></tr>'
        // Icon list
        +'<tr><th>' + lng.iconList + '</th><td>'
        +'<select id="' + this.id.icons + '" size="1" class="' + mc.selectWide + '"'
        +'onchange="' + setInputText + '(\'' + this.id.iconAlias + '\', this.value);' + makebtn + setSurIcon + '">'
        +'<option selected="selected" value="">' + lng.withoutIcon + '</option>\n'
        +'</select></td><td class="' + mc.tdLast + '">'
        +'<input type="button" id="' + this.id.showIcons + '" value="»" title="' + lng.showIcons + '" class="' + mc.inputBtn + '"'
        +'onclick="' + expandIconList + '" /></td></tr>'
        // Icon images
        +'<tr style="display: none;"><td></td><td><div id="' + this.id.iconImages + '" class="' + mc.divIconList + '"></div><input type="button" value="' + lng.expand + '" input_btn onclick="maker.expandIconList(' + this.number + ', this)" /></td>'
        +'<td class="' + mc.tdLast + '"></td></tr>'
        // Icon alias
        +'<tr><th>' + lng.iconAlias + '</th>'
        +'<td><input type="text" id="' + this.id.iconAlias + '" size="48" onchange="' + makebtn + setSurIcon + setSelectText + '(\'' + this.id.icons + '\', this.value);" /></td>'
        +'<td class="' + mc.tdLast + '" rowspan="2"><div class="' + mc.divImgBorder + '">'
        +'<div id="' + this.id.currentIcon + '" class="' + mc.divCurrentIcon + '"></div></div></td></tr>'
        // Operator
        +'<tr><th>' + lng.logicalOperator + '</th><td><select id="' + this.id.operator + '" size="1"'
        +' onchange="' + setOption + makebtn + '">'
        +'<option value="">None&nbsp;&nbsp;&nbsp;</option><option>|</option><option>></option><option>&amp;</option><option>+</option>'
        +'</select></td></tr>'
        +'</table>'
        // FORM TABLE END
      );
      td.innerHTML = html;
      
      this.initFormELements();
      
      this.fillCommandList();
      this.fillIconList();
      this.fillIconImagesList();
    };
    
    this.initFormELements = function()
    {
      var obj = document.getElementById(this.id.command);
      if(obj)
        this.formElements.inputCommand = obj;
        
      obj = document.getElementById(this.id.param1);
      if(obj)
        this.formElements.inputParam1 = obj;

      obj = document.getElementById(this.id.param2);
      if(obj)
        this.formElements.inputParam2 = obj;
        
      obj = document.getElementById(this.id.name);
      if(obj)
        this.formElements.inputName = obj;
        
      obj = document.getElementById(this.id.iconAlias);
      if(obj)
        this.formElements.inputIconAlias = obj;
        
      obj = document.getElementById(this.id.operator);
      if(obj)
        this.formElements.selectOperator = obj;
    };
    
    this.fillCommandList = function()
    {
      var l = document.getElementById(this.id.commands);
      if(!l)
        return;

      for(var i = 0; i < commandList.length; i++)
      {   
        var op = document.createElement('option');
        op.value = commandList[i];
        op.innerText = commandList[i];
        l.appendChild(op);
      }
    };
    
    this.fillIconList = function()
    {
      var l = document.getElementById(this.id.icons);
      if(!l)
        return;

      for(var i = 0; i < iconList.length; i++)
      {
        var op = document.createElement('option');
        op.value = iconList[i];
        op.innerText = iconList[i];
        l.appendChild(op);
      }
    };    
    
    this.fillIconImagesList = function()
    {
       var l = document.getElementById(this.id.iconImages);
       if(!l)
        return;
        
      var cols = 7;
  
      var num = Math.floor(iconList.length / cols);
      var rem = iconList.length % cols;
     
      var onClick = 'maker.onIconClick(' + this.number + ', this);';
        
      var html = '<table class="tbl_iconlist">\n';      
      for(var i = 0; i < num; i++)
      {
        html += '<tr>';
        for(var j = 0; j < cols; j++)
        {
          html += '<td><div onclick="' + onClick + '"></div></td>';
        }
        html += '</tr>\n';
      }
      
      if(rem > 0)
      {  
        var from = num * cols, to = from + cols;
        html += '<tr>';
        for(var i = from; i < to; i++)
        {
          html += '<td><div onclick="' + onClick + '"></div></td>';
        }
        html += '</tr>\n';
      }
      
      html += '</table>\n';
      l.innerHTML = html; 

      if(l.firstChild && l.firstChild.tagName == 'TABLE')
      {
        var td = l.firstChild.getElementsByTagName('td');
        var size = iconList.length;
        if(size > td.length)
          size = td.length;
          
        for(var i = 0; i < size; i++)
        {
          td[i].firstChild.style.backgroundImage = "-o-skin('" + iconList[i] + "')";
          td[i].firstChild.style.width = "-o-skin";
          td[i].firstChild.style.height = "-o-skin";
          td[i].firstChild.title = iconList[i];
        }
      }
    };
    
    this.expandIconList = function(btn, list)
    {
      if(list.style.display == 'none')
      {
        list.style.display = '';
        btn.value = '\u00ab';
      }
      else
      {
        list.style.display = 'none';
        btn.value = '\u00bb';
      }
    };
    
    this.setInputText = function(id, text)
    {
      var obj = document.getElementById(id);
      if(obj && obj.tagName == 'INPUT')      
        obj.value = text;
    };
    
    this.setSelectText = function (id, text)
    {
      var obj = document.getElementById(id);
      if(obj && obj.tagName == 'SELECT')
      {
        obj.value = text;
      }
    };

    this.setCurrentIcon = function (icon)
    {
      var obj = document.getElementById(this.id.currentIcon);
      maker.setCurrentIcon(obj, icon);
    };
    
    this.makeBtnString = function()
    {
      var f = this.formElements;
      var btnstr = '';
      var query = new Array();

      if(!f.inputIconAlias.disabled && f.inputIconAlias.value)
      {
        btnstr = ',%22' + f.inputIconAlias.value + '%22';
        query[this.id.iconAlias] = f.inputIconAlias.value;
        query[this.id.icons] = f.inputIconAlias.value;
      }  
        
      if(!f.inputName.disabled && f.inputName.value)
      {
        btnstr = ',' + f.inputName.value + btnstr;
        query[this.id.name] = f.inputName.value;
      }  
      else if(btnstr)
        btnstr = ',' + btnstr;
        
      if(f.inputParam2.value)  
      {
        if(isNaN(parseInt(f.inputParam2.value)))
          btnstr = ',%22' + f.inputParam2.value + '%22' + btnstr;
        else
          btnstr = ',' + f.inputParam2.value + btnstr;
          
        query[this.id.param2] = f.inputParam2.value;
      }
      else if(btnstr)
        btnstr = ',' + btnstr;
        
      if(f.inputParam1.value)  
      {
        if(isNaN(parseInt(f.inputParam1.value)))
          btnstr = ',%22' + f.inputParam1.value + '%22' + btnstr;
        else
          btnstr = ',' + f.inputParam1.value + btnstr;
          
        query[this.id.param1] = f.inputParam1.value;  
      }
      else if(btnstr)
        btnstr = ',' + btnstr;
        
      if(f.inputCommand.value)
      {
        btnstr = f.inputCommand.value + btnstr;
        query[this.id.command] = f.inputCommand.value; 
      }  
      else if(btnstr)
        btnstr = ',' + btnstr;
        
      if(this.number == 0)
        btnstr = 'opera:/button/' + btnstr;
      else 
      {
        var prevSec = maker.sections[this.number - 1];
        if(prevSec)
        {
          var op = prevSec.formElements.selectOperator;
          if(op && op.value)
          {
            btnstr = op.value + btnstr;
            query[prevSec.id.operator] = op.value;
          }
          else
            btnstr = '';            
        }
        else
          btnstr = '';
      }

      this.btnString = btnstr;
      this.queryArray = query;
      maker.makeButton();
    };
    
    this.setOption = function()
    {
      var v = this.formElements.selectOperator.value;
      if(v)
      {
        if(this.number == maker.sections.length - 1)
        {
          maker.appendSection();          
        }
        
        if(v == '&' || v == '+')
          maker.sections[this.number + 1].disableFormElements(true);
        else
          maker.sections[this.number + 1].disableFormElements(false);
          
        maker.sections[this.number + 1].makeBtnString();
      }
      else
        maker.removeSection(this.number);
    };
    
    this.disableFormElements = function(bDisable)
    {
      var ids = new Array(this.id.icons, this.id.iconAlias, this.id.name);
      for(var i = 0; i < ids.length; i++)
      {
        var obj = document.getElementById(ids[i]);
        if(obj)
          obj.disabled = bDisable;
      }
    };
  }
};


var commandList = [  
  'About Web Turbo Mode',
  'Accept Certificate',
  'Accept Cookie',
  'Accept Feature License',
  'Accept Geolocation License',
  'Accept Web Storage Quota Request',
  'Account logout',
  'Activate button',
  'Activate element',
  'Activate hotlist window',
  'Activate window',
  'Add Unite User',
  'Add all to bookmarks',
  'Add attachment',
  'Add contact',
  'Add filter from mail',
  'Add frame to bookmarks',
  'Add languages',
  'Add link to bookmarks',
  'Add link to contacts',
  'Add music',
  'Add nick to contact',
  'Add panel',
  'Add to bookmarks',
  'Add to view',
  'Add trusted application',
  'Add web language',
  'Add word',
  'Add/Remove Panels',
  'Allow external embeds',
  'Apply',
  'Archive message',
  'Attach Developer Tools Window',
  'Autocomplete server name',
  'Back',
  'Backspace word',
  'Cancel',
  'Cancel Auto-Update',
  'Cancel current voice',
  'Cancel newsmessage',
  'Cascade',
  'Change',
  'Change Widget Installation Settings',
  'Change direction to LTR',
  'Change direction to RTL',
  'Change direction to automatic',
  'Change masterpassword',
  'Change nickname',
  'Chat command',
  'Check all',
  'Check for upgrade',
  'Check item',
  'Choose background color',
  'Choose current page',
  'Choose font',
  'Choose font color',
  'Choose link color',
  'Choose sound',
  'Clear',
  'Clear Previous Searches',
  'Clear Search Field',
  'Clear disk cache',
  'Clear mail view flag',
  'Clear typed in history',
  'Clear visited history',
  'Clear widget data',
  'Click button',
  'Click default button',
  'Close Developer Tools Window',
  'Close all',
  'Close all items',
  'Close clicked page',
  'Close cycler',
  'Close dropdown',
  'Close expand',
  'Close help tooltip',
  'Close item',
  'Close other',
  'Close page',
  'Close private tabs',
  'Close thumbnail page',
  'Close widget',
  'Close window',
  'Compose bcc contact',
  'Compose cc contact',
  'Compose mail',
  'Compose to contact',
  'Configure thumbnail',
  'Content block accept',
  'Content block cancel',
  'Content block details',
  'Content block mode off',
  'Content block mode on',
  'Convert hex to unicode',
  'Copy',
  'Copy Unite Address',
  'Copy background image',
  'Copy background image address',
  'Copy document address',
  'Copy frame address',
  'Copy image',
  'Copy image address',
  'Copy label text',
  'Copy link',
  'Copy link mail address',
  'Copy mail to folder',
  'Copy media address',
  'Copy raw mail',
  'Copy to note',
  'Copy transfer info',
  'Create linked window',
  'Create search',
  'Customize Toolbars',
  'Cut',
  'Cycle to next page',
  'Cycle to next window',
  'Cycle to previous page',
  'Cycle to previous window',
  'Decline Feature License',
  'Decline Geolocation License',
  'Delay',
  'Delay Geolocation License',
  'Delete',
  'Delete Certificate',
  'Delete User Search',
  'Delete account',
  'Delete keyboard setup',
  'Delete local storage',
  'Delete mail',
  'Delete menu setup',
  'Delete mouse setup',
  'Delete permanently',
  'Delete private data',
  'Delete selected item',
  'Delete skin',
  'Delete to end of line',
  'Delete toolbar setup',
  'Delete voice setup',
  'Delete word',
  'Deselect all',
  'Deselect user CSS file',
  'Desktop Gadget Callback',
  'Desktop Gadget Cancel Callback',
  'Detach Developer Tools Window',
  'Detach page',
  'Disable Application Discovery Notifications',
  'Disable GIF animation',
  'Disable Java',
  'Disable Low Bandwidth Mode',
  'Disable Text Selection Mode',
  'Disable Web Turbo',
  'Disable automatic reload',
  'Disable cookies',
  'Disable delete private data',
  'Disable display images',
  'Disable embedded audio',
  'Disable handheld mode',
  'Disable inline find',
  'Disable javascript',
  'Disable large images',
  'Disable mediumscreen mode',
  'Disable menu bar',
  'Disable plugins',
  'Disable popup windows',
  'Disable proxy servers',
  'Disable referrer logging',
  'Disable scroll bars',
  'Disable skin coloring',
  'Disable smileys',
  'Disable special effects',
  'Disable tv rendering mode',
  'Discard draft',
  'Display cached images only',
  'Download Trust Page',
  'Download URL',
  'Download URL as',
  'Download more widgets',
  'Duplicate keyboard setup',
  'Duplicate menu setup',
  'Duplicate mouse setup',
  'Duplicate page',
  'Duplicate toolbar setup',
  'Duplicate voice setup',
  'Edit Unite Application',
  'Edit account',
  'Edit chat room',
  'Edit draft',
  'Edit file type',
  'Edit item',
  'Edit panel',
  'Edit properties',
  'Edit site preferences',
  'Email Add Link',
  'Email Align Center',
  'Email Align Justify',
  'Email Align Left',
  'Email Align Right',
  'Email Clear Formatting',
  'Email Decrease Text Size',
  'Email Increase Text Size',
  'Email Indent',
  'Email Insert HTML',
  'Email Insert Horizontal Rule',
  'Email Insert Image',
  'Email Outdent',
  'Email Set Color',
  'Email Set Font',
  'Email Set Ordered List',
  'Email Set Subscript',
  'Email Set Superscript',
  'Email Set Unordered List',
  'Email Toggle Bold',
  'Email Toggle Italic',
  'Email Toggle Strikethrough',
  'Email Toggle Underline',
  'Empty page trash',
  'Empty spam',
  'Empty trash',
  'Enable Application Discovery Notifications',
  'Enable GIF animation',
  'Enable Java',
  'Enable Low Bandwidth Mode',
  'Enable Tab Thumbnails',
  'Enable Text Selection Mode',
  'Enable Web Turbo',
  'Enable automatic reload',
  'Enable cookies',
  'Enable delete private data',
  'Enable display images',
  'Enable embedded audio',
  'Enable handheld mode',
  'Enable inline find',
  'Enable javascript',
  'Enable large images',
  'Enable mediumscreen mode',
  'Enable menu bar',
  'Enable plugins',
  'Enable popup windows',
  'Enable popup windows in background',
  'Enable proxy servers',
  'Enable referrer logging',
  'Enable requested popup windows',
  'Enable scroll bars',
  'Enable smileys',
  'Enable special effects',
  'Enable tv rendering mode',
  'Enter access key mode',
  'Enter fullscreen',
  'Execute Transferitem',
  'Execute program',
  'Exit',
  'Export Certificate',
  'Export bookmarks',
  'Export bookmarks to HTML',
  'Export contacts',
  'Export mail index',
  'Export mail messages',
  'Export newsfeed list',
  'Export selected bookmarks to HTML',
  'Extended Security',
  'External action',
  'Fast Forward',
  'Feature Change Account',
  'Feature Settings Next',
  'Feature Setup Create Account',
  'Feature Setup Login',
  'Feature Setup New Account',
  'Feature Setup Next',
  'Feature Setup Skip Account',
  'Fetch complete message',
  'Filter now',
  'Find',
  'Find inline',
  'Find next',
  'Find plugins',
  'Find previous',
  'Focus address field',
  'Focus chat input',
  'Focus form',
  'Focus next frame',
  'Focus next radio widget',
  'Focus next widget',
  'Focus page',
  'Focus panel',
  'Focus personal bar',
  'Focus previous frame',
  'Focus previous radio widget',
  'Focus previous widget',
  'Focus quick reply',
  'Focus search field',
  'Follow Image Description URL',
  'Forget All Passwords',
  'Forward',
  'Forward mail',
  'GeoLocation Accept',
  'GeoLocation Deny',
  'Geolocation Deny Temporarily',
  'Geolocation Open License Dialog',
  'Get mail',
  'Go',
  'Go To Cycler Page',
  'Go to Content Magic',
  'Go to Top CM Bottom',
  'Go to contact homepage',
  'Go to end',
  'Go to history',
  'Go to homepage',
  'Go to image',
  'Go to line end',
  'Go to line start',
  'Go to link element',
  'Go to message',
  'Go to nickname',
  'Go to page',
  'Go to parent directory',
  'Go to similar page',
  'Go to speed dial',
  'Go to start',
  'Go to thread',
  'Goto Public Page',
  'HTTP Basic Authentication Insecure Plain Info',
  'Hide Compose Header',
  'Hide column',
  'Hide controls',
  'Hide from personal bar',
  'Hide from unread',
  'Hide new page button',
  'Hide opera',
  'Hide panel',
  'Hide panel toggle',
  'Hide quick reply',
  'Hide quick view',
  'Hide search',
  'Hide speed dial contents',
  'Hide transfer details',
  'High Security',
  'Highlight bookmark',
  'Highlight current block',
  'Highlight next URL',
  'Highlight next block',
  'Highlight next element',
  'Highlight next heading',
  'Highlight note',
  'Highlight previous URL',
  'Highlight previous block',
  'Highlight previous element',
  'Highlight previous heading',
  'Hotclick search',
  'Hotlist always on top',
  'Identify as',
  'Ignore mail index',
  'Ignore word',
  'Import Certificate',
  'Import KDE1 bookmarks',
  'Import bookmarks',
  'Import contacts',
  'Import explorer favorites',
  'Import konqueror bookmarks',
  'Import mail',
  'Import netscape bookmarks',
  'Import newsfeed list',
  'Input method status changed',
  'Insert',
  'Insert contacts file',
  'Insert session',
  'Inspect element',
  'Install Certificate',
  'Install Widget',
  'Invite Friends',
  'Invoke Access Key',
  'Invoke dialog',
  'Join chat room',
  'Join private chat',
  'Leave access key mode',
  'Leave chat room',
  'Leave fullscreen',
  'Leave print preview',
  'Left adjust text',
  'License view',
  'List chat rooms',
  'Load all images',
  'Load image',
  'Load image in full quality',
  'Lock page',
  'Lock panel',
  'Lock toolbars',
  'Low Security',
  'Make Readable',
  'Manage',
  'Manage Search Engines',
  'Manage Whitelist',
  'Manage accounts',
  'Manage bookmarks',
  'Manage certificates',
  'Manage contacts',
  'Manage cookies',
  'Manage java',
  'Manage keyboard',
  'Manage links',
  'Manage middle click options',
  'Manage modes',
  'Manage mouse',
  'Manage plugins',
  'Manage script options',
  'Manage sites',
  'Manage trusted application',
  'Manage voice',
  'Manage wand',
  'Mark all as read',
  'Mark and select next unread',
  'Mark as not spam',
  'Mark as read',
  'Mark as read automatically',
  'Mark as spam',
  'Mark as unread',
  'Mark thread and select next unread',
  'Mark thread as read',
  'Maximize all',
  'Maximize frame',
  'Maximize page',
  'Maximize window',
  'Medium Security',
  'Menu folder',
  'Minimize Auto-Update Dialog',
  'Minimize all',
  'Minimize page',
  'Minimize window',
  'Move item down',
  'Move item up',
  'Mute media',
  'Navigate down',
  'Navigate leave down',
  'Navigate leave left',
  'Navigate leave right',
  'Navigate leave up',
  'Navigate left',
  'Navigate page down',
  'Navigate page up',
  'Navigate right',
  'Navigate up',
  'Never',
  'New account',
  'New bookmark',
  'New bookmarks file',
  'New browser window',
  'New chat room',
  'New contact',
  'New contacts file',
  'New file type',
  'New filter',
  'New folder',
  'New group',
  'New newsfeed',
  'New note',
  'New page',
  'New private browser window',
  'New private page',
  'New seperator',
  'New server',
  'New shortcut',
  'Next character',
  'Next item',
  'Next line',
  'Next track',
  'Next word',
  'No Security',
  'Ok',
  'Open',
  'Open Advanced Webserver Settings',
  'Open BitTorrent Preferences',
  'Open Developer Tools Window',
  'Open File In',
  'Open Folder',
  'Open Font Dialog',
  'Open Image In',
  'Open Signature Dialog',
  'Open Sync settings',
  'Open Web Turbo Dialog',
  'Open Webserver settings',
  'Open Widget About',
  'Open Widget Preferences',
  'Open all items',
  'Open background image',
  'Open blocked popup',
  'Open bookmarks file',
  'Open contacts file',
  'Open document',
  'Open expand',
  'Open frame in background page',
  'Open frame in new page',
  'Open image',
  'Open image address',
  'Open in message view',
  'Open item',
  'Open link',
  'Open link in background page',
  'Open link in background window',
  'Open link in new page',
  'Open link in new window',
  'Open message console for mail',
  'Open session',
  'Open transfer',
  'Open transfer folder',
  'Open url in current page',
  'Open url in new background page',
  'Open url in new page',
  'Open url in new window',
  'Open widget',
  'Opera Unite Accept',
  'Opera Unite Disable',
  'Opera Unite Enable',
  'Opera Unite Restart',
  'Override Scroll Is Pan',
  'Page down',
  'Page left',
  'Page right',
  'Page up',
  'Pan document',
  'Pan document X',
  'Pan document Y',
  'Paste',
  'Paste and go',
  'Paste and go background',
  'Paste mouse selection',
  'Paste to note',
  'Pause media',
  'Pause music',
  'Play media',
  'Play music',
  'Preview speed dial',
  'Preview thumbnail',
  'Previous character',
  'Previous item',
  'Previous line',
  'Previous track',
  'Previous word',
  'Print document',
  'Print preview',
  'Quick reply',
  'Range go to end',
  'Range go to line end',
  'Range go to line start',
  'Range go to start',
  'Range next character',
  'Range next item',
  'Range next line',
  'Range next word',
  'Range page down',
  'Range page left',
  'Range page right',
  'Range page up',
  'Range previous character',
  'Range previous item',
  'Range previous line',
  'Range previous word',
  'Read mail',
  'Read newsfeed',
  'Redirect mail',
  'Redo',
  'Refresh chatroom list',
  'Refresh display',
  'Refuse Cookie',
  'Reject Web Storage Quota Request',
  'Reload',
  'Reload all pages',
  'Reload frame',
  'Reload image',
  'Reload panel',
  'Reload skin',
  'Reload stylesheets',
  'Reload thumbnail',
  'Remote Debug Widget',
  'Remove',
  'Remove Unite User',
  'Remove all finished transfers',
  'Remove attachment',
  'Remove background skin',
  'Remove foreground skin',
  'Remove from view',
  'Remove panel',
  'Remove transfer',
  'Remove word',
  'Rename',
  'Rename keyboard setup',
  'Rename menu setup',
  'Rename mouse setup',
  'Rename toolbar setup',
  'Rename voice setup',
  'Reopen page',
  'Reopen window',
  'Replace word',
  'Reply',
  'Reply To List',
  'Reply To Reply-To',
  'Reply To Sender',
  'Reply all',
  'Report site problem',
  'Resend mail',
  'Reset shortcuts',
  'Restart Opera',
  'Restart transfer',
  'Restore Auto-Update Dialog',
  'Restore all',
  'Restore page',
  'Restore to defaults',
  'Restore window',
  'Resume Auto-Update',
  'Resume transfer',
  'Rewind',
  'Right adjust text',
  'SVG pause animation',
  'SVG reset pan',
  'SVG set quality',
  'SVG start animation',
  'SVG stop animation',
  'SVG zoom',
  'SVG zoom in',
  'SVG zoom out',
  'Save',
  'Save attachment to download folder',
  'Save attachments to folder',
  'Save background image',
  'Save bookmarks as',
  'Save contacts',
  'Save contacts as',
  'Save document',
  'Save document As',
  'Save draft',
  'Save frame as',
  'Save image',
  'Save link',
  'Save media',
  'Save selected bookmarks as',
  'Save selected contacts as',
  'Save window setup',
  'Scroll',
  'Scroll down',
  'Scroll left',
  'Scroll right',
  'Scroll up',
  'Search',
  'Search Not Found',
  'Search Wrapped',
  'Search field go',
  'Search in mail',
  'Search mail',
  'Seek backward',
  'Seek forward',
  'Select',
  'Select All Gadgets',
  'Select Blank Page',
  'Select No Gadgets',
  'Select all',
  'Select alternate CSS file',
  'Select author mode',
  'Select item',
  'Select next unread',
  'Select previous unread',
  'Select session',
  'Select skin',
  'Select user CSS file',
  'Select user mode',
  'Send address in mail',
  'Send document address in mail',
  'Send file',
  'Send frame address in mail',
  'Send mail',
  'Send message',
  'Send message to contact',
  'Send queued mail',
  'Send text in mail',
  'Set Web Turbo Mode',
  'Set alignment',
  'Set auto alignment',
  'Set automatic reload',
  'Set button style',
  'Set chat status',
  'Set collapse',
  'Set encoding',
  'Set homepage',
  'Set label',
  'Set mail display type',
  'Set mail view age',
  'Set mail view flag',
  'Set mail view type',
  'Set on Start menu',
  'Set preference',
  'Set show transferwindow',
  'Set skin coloring',
  'Set up Sync',
  'Set up Webserver',
  'Set visibility',
  'Set widget mode',
  'Set widget style',
  'Set wrapping',
  'Show Certificate Details',
  'Show Compose Header',
  'Show Java console',
  'Show Main Menu',
  'Show Menu Section',
  'Show Message console',
  'Show Opera Unite Options',
  'Show Opera Unite Root',
  'Show Sync Status',
  'Show Web Search',
  'Show Webserver Status',
  'Show Widget Description',
  'Show Widget Installer Help',
  'Show account',
  'Show active bookmark menu',
  'Show address dropdown',
  'Show advanced voice options',
  'Show advanced windows options',
  'Show attachments popupmenu',
  'Show background image',
  'Show background image properties',
  'Show classic tab options',
  'Show column',
  'Show context menu',
  'Show controls',
  'Show default application',
  'Show dropdown',
  'Show edit dropdown',
  'Show extender popup menu',
  'Show file handlers',
  'Show find text',
  'Show help',
  'Show hidden popup menu',
  'Show image properties',
  'Show in unread',
  'Show international fonts',
  'Show language preferences',
  'Show link popup menu',
  'Show link style',
  'Show list view',
  'Show mail filters',
  'Show message view',
  'Show name completion',
  'Show new page button',
  'Show new transferitems on bottom',
  'Show new transferitems on top',
  'Show on personal bar',
  'Show opera',
  'Show panel',
  'Show panel toggle',
  'Show plugin path selector',
  'Show popup menu',
  'Show popup menu with info',
  'Show preferences',
  'Show print options',
  'Show print preview active frame',
  'Show print preview as screen',
  'Show print preview one frame per sheet',
  'Show print setup',
  'Show proxy servers',
  'Show quick preferences',
  'Show quick reply',
  'Show quick view',
  'Show raw mail',
  'Show search',
  'Show search dropdown',
  'Show security information',
  'Show security protocols',
  'Show server filters',
  'Show speed dial',
  'Show speed dial global config',
  'Show speed dial help',
  'Show split view',
  'Show transfer details',
  'Show transfers',
  'Show voice preferences',
  'Show window list',
  'Sort by column',
  'Sort direction',
  'Speak',
  'Speak from selection',
  'Speak selection',
  'Spell check',
  'Spellcheck language',
  'Start Auto-Update',
  'Start highlight',
  'Start listening',
  'Start search',
  'Stop',
  'Stop ignoring mail index',
  'Stop listening',
  'Stop mail',
  'Stop music',
  'Stop sending mail',
  'Stop speaking',
  'Stop transfer',
  'Stop watching mail index',
  'Subscribe newsfeed',
  'Subscribe to groups',
  'Suppress external embeds',
  'Switch groups',
  'Switch to next page',
  'Switch to previous page',
  'Sync Accept',
  'Sync login',
  'Sync logout',
  'Sync now',
  'Sync options',
  'Sync signup',
  'Test sound',
  'Tile horizontally',
  'Tile vertically',
  'Toggle HTML Email',
  'Toggle Tab Thumbnails',
  'Toggle overstrike',
  'Toggle ssr',
  'Toggle style bold',
  'Toggle style italic',
  'Toggle style underline',
  'Trust Fraud',
  'Trust Information',
  'Trust Unknown',
  'Uncheck item',
  'Undelete',
  'Undo',
  'Unfocus form',
  'Unlock page',
  'Unlock panel',
  'Unlock toolbars',
  'Unmute media',
  'Update languages',
  'Upgrade gadgets',
  'Use background image as background skin',
  'Use background image as desktop background',
  'Use background image as foreground skin',
  'Use image as background skin',
  'Use image as desktop background',
  'Use image as foreground skin',
  'Use image as speed dial background',
  'Use system skin coloring',
  'Validate document source',
  'Validate frame source',
  'Validate java path',
  'View Feature License',
  'View address bar',
  'View document source',
  'View frame source',
  'View hotlist',
  'View main bar',
  'View messages from contact',
  'View messages from selected contact',
  'View navigation bar',
  'View page bar',
  'View personal bar',
  'View progress bar',
  'View status bar',
  'View style',
  'Wand',
  'Wand.pressed',
  'Wand Never Save',
  'Wand Save',
  'Watch mail index',
  'Work offline',
  'Work online',
  'Zoom in',
  'Zoom out',
  'Zoom point',
  'Zoom to',
  'next character spatial',
  'next line spatial',
  'previous character spatial',
  'previous line spatial'
];

var iconList = [
  'RSS',
  'Widget',
  'Trash',
  'Window Browser Icon',
  'Window Hotlist Icon',
  'Window Mail View Icon',
  'Window Mail Compose Icon',

  'Window Document Icon',
  'Window Document Unread Icon',
  'Window Document Loading Icon',
  'Window Chat Room Icon',
  'Window Chat Private Icon',
  'Window Speed Dial Icon',
  'Window Private Icon',

  'Panel Search',
  'Panel Search.hover',
  'Panel Search.selected',
  'Panel Bookmarks',
  'Panel Bookmarks.hover',
  'Panel Bookmarks.selected',
  'Panel Mail',
  'Panel Mail.hover',
  'Panel Mail.selected',
  'Panel Mail.attention',
  'Panel Mail.hover.attention',
  'Panel Contacts',
  'Panel Contacts.hover',
  'Panel Contacts.selected',
  'Panel History',
  'Panel History.hover',
  'Panel History.selected',
  'Panel Transfers',
  'Panel Transfers.attention',
  'Panel Transfers.hover',
  'Panel Transfers.hover.attention',
  'Panel Transfers.selected',
  'Panel Links',
  'Panel Links.hover',
  'Panel Links.selected',
  'Panel Windows',
  'Panel Windows.hover',
  'Panel Windows.selected',
  'Panel Info',
  'Panel Info.hover',
  'Panel Info.selected',
  'Panel Notes',
  'Panel Notes.hover',
  'Panel Notes.selected',
  'Panel Widgets',
  'Panel Widgets.hover',
  'Panel Widgets.selected',
  'Panel Unite',
  'Panel Unite.attention',
  'Panel Unite.hover',
  'Panel Unite.selected',
  'Panel Chat',
  'Panel Chat.hover',
  'Panel Chat.selected',

  'Wand Dialog',
  'Wand Match Dialog',
  'Wand Toolbar',

  'Dialog Warning',
  'Dialog Error',
  'Dialog Question',
  'Dialog Info',
  'Dialog Stop',
  'Dialog Login',
  'Crash Dialog',

  'Startup Dialog',

  'Expand Enabled',
  'Expand Disabled',

  'Back',
  'Forward',
  'Rewind',
  'Fast Forward',
  'Reload',
  'Stop',
  'Back.pressed',
  'Forward.pressed',
  'Fast Forward.pressed',
  'Reload.pressed',
  'Stop.pressed',
  'Go to homepage',
  'Go to homepage.pressed',
  'Print document',
  'Enter Fullscreen',
  'Enable mediumscreen mode',
  'Enable mediumscreen mode.selected',
  'Find',
  'Tile vertically',
  'Cascade',
  'New page',
  'Close page',
  'Close clicked page',
  'Open document',
  'Save document',
  'Wand',
  'Wand.disabled',
  'Read mail',
  'New item menu',
  'New private page menu',

  'Save link address',
  'Lock panel',

  'Go to page',
  'Top10',
  'Go',
  'Intranet',

  'Add widget',
  'Remove widget',

  'Add service',

  'New window',

  'Highlight bookmark',
  'Missing bookmark',

  'Bookmarks',

  'Account POP',
  'Account POP LBM',
  'Account IMAP',
  'Account IMAP LBM',
  'Account News',
  'Account Import',
  'Account Operamail',
  'Account IRC',
  'Account Archive',

  'Enable Text Selection Mode',
  'Disable Text Selection Mode',

  'Enable display images',
  'Display cached images only',
  'Disable display images',
  'No Security',
  'Low Security',
  'Medium Security',
  'High Security',
  'Extended Security',
  'High Security Simple',
  'Trust Information',
  'Trust Unknown',
  'Trust Fraud',
  'Select author mode',
  'Select user mode',
  'Show print preview as screen',
  'Show print preview one frame per sheet',

  'New Bookmark',
  'New Contact',
  'New Folder',
  'View',
  'Delete',
  'Save',
  'Edit properties',
  'Add to bookmarks',
  'Add link to bookmarks',

  'List chat rooms',
  'New chat room',
  'Join chat room',
  'Change nickname',
  'Change status',

  'Add Contact',
  'Compose mail',
  'Reply',
  'Thread Button',
  'Reply All',
  'Forward mail',
  'Delete mail',
  'Send mail',
  'Send queued mail',
  'Add Attachment',
  'Get mail',
  'Get and send mail',
  'Stop mail',
  'Stop sending mail',
  'Mark as read',
  'Feed Mark as read',
  'Mark as spam',
  'Mark as not spam',
  'Undelete',
  'Discard draft',
  'Save draft',
  'View messages from contact',

  'Resume transfer',
  'Stop transfer',
  'Restart transfer',

  'History',

  'Send text in mail',
  'Send file',
  'Who is',
  'Open Link',
  'Spell check',

  'Open widget',
  'Close widget',

  'Set label',
  'Session',

  'Copy Mail To',

  'Panel Collapse Small',
  'Panel Collapse Left',
  'Panel Collapse Right',

  'Sort descending',
  'Sort ascending',

  'Bullet',
  'Checkmark',
  'Checkmark.selected',

  'Parent folder',
  'Folder',
  'Folder.open',
  'Target Folder',

  'New note',
  'Note',
  'Note Web',

  'Bookmark Unvisited',
  'Bookmark Visited',

  'Trash',
  'Trash Large',
  'Trash Large.disabled',
  'Trash Large.hover',
  'Trash Large.selected',
  'Trash Large.pressed',
  'Trash.disabled',
  'Trash.hover',
  'Trash.selected',
  'Trash Large.attention',
  'Group',
  'Group.open',
  'Thread',
  'Thread.open',
  'Contact Unknown',

  'Label Important',
  'Label Todo',
  'Label Mail Back',
  'Label Call Back',
  'Label Meeting',
  'Label Funny',
  'Label Valuable',

  'Mail Inbox',
  'Mail Outbox',
  'Mail Sentbox',
  'Mail Drafts',
  'Mail Draft',
  'Mail Trash',
  'Mail Unread',
  'Mail No Body',
  'Mail Unread No Body',
  'Mail Read',
  'Mail Ignored No Body',
  'Mail Ignored',
  'Mail Followed No Body',
  'Mail Followed',
  'Mail New',
  'Mail Replied',
  'Mail Forwarded',
  'Mail Redirected',
  'Mail Attachment',
  'Mail Sent',
  'Mail Thread',
  'Mail Search',
  'Mail Spam',
  'Mail Filter',
  'Mail Filter.open',

  'Mail All Messages',
  'Mail Active Contacts',
  'Mail Active Threads',
  'Mail Labels',
  'Mail Attachments',
  'Mail Mailing Lists',
  'Mail Accounts',
  'Mail Accounts LBM',
  'Mail Accounts Online',
  'Mail Accounts Online LBM',
  'Mail Accounts Offline',
  'Mail Accounts Offline LBM',
  'Mail Accounts Busy',
  'Mail Newsgroups',
  'Mail Newsfeeds',
  'Mail Searches',

  'Mail Compose Bold',
  'Mail Compose Italic',
  'Mail Compose Underline',
  'Mail Compose Strikethrough',
  'Mail Compose Bullet List',
  'Mail Compose Numbered List',
  'Mail Compose Decrease Size',
  'Mail Compose Increase Size',
  'Mail Compose Indent',
  'Mail Compose Outdent',
  'Mail Compose Center',
  'Mail Compose Left',
  'Mail Compose Right',
  'Mail Compose Justify',
  'Mail Compose Superscript',
  'Mail Compose Subscript',
  'Mail Compose Text Color',
  'Mail Compose Link',
  'Mail Compose Images',
  'Mail Compose Horizontal Line',
  'Mail Compose Plain Text',
  'Mail Compose HTML',
  'Mail Compose Clear Formatting',
  'Mail Compose Left to right',
  'Mail Compose Right to left',

  'Zoom',
  'Blocked',

  'View flat',
  'View threaded',
  'View from',
  'View to',
  'View to and from',
  'View mail',

  'Show read',
  'Show trash',
  'Show spam',
  'Show mailing lists',
  'Show newsgroups',
  'Show newsfeeds',
  'Show Sent',

  'Attachment Music',
  'Attachment Images',
  'Attachment Video',
  'Attachment Documents',
  'Attachment Archives',

  'Mailing List Unknown',

  'News Unsubscribed',
  'News Subscribed',
  'News Unread',
  'News Read',
  'News No Body',

  'Newsfeed Unsubscribed',
  'Newsfeed Subscribed',
  'Newsfeed Unread',
  'Newsfeed Read',

  'Transfer Loading',
  'Transfer Loading Waiting',
  'Transfer Size Mismatch',
  'Transfer Success',
  'Transfer Stopped',
  'Transfer Failure',
  'Transfer Upload',
  'Transfer Default',

  'Search Default Web',
  'Search Web',
  'Search',
  'Search Settings',
  'Search Settings.hover',
  'Search Settings.selected',
  'Search Suggestion',
  'Search Suggestion.hover',
  'Search Suggestion.selected',
  'Search Engines',
  'Search Engines.hover',
  'Search Engines.selected',
  'Search History',
  'Search History.hover',
  'Search History.selected',
  'Search Bookmark',
  'Search Bookmark.hover',
  'Search Bookmark.selected',
  'Search Folder',
  'Manage Search Engines',
  'Search Button Image',
  'Search Go Button Image',
  'Search Close History Item',
  'Search Close History Item.selected',
  'Search Close History Item.hover',
  'Search Close History Item.selected.hover',
  'Search Close History Item.pressed',
  'Search Close Image',
  'Search Close Image.selected',
  'Search Close Image.hover',
  'Search Close Image.selected.hover',
  'Search Close Image.pressed',
  'Create search',

  'Status Away',
  'Status Busy',
  'Status Be right back',
  'Status On the phone',
  'Status Out to lunch',

  'Chat User',
  'Chat Operator',
  'Chat Room',
  'Chat Joined Room',

  'Contact0',
  'Contact1',
  'Contact2',
  'Contact3',
  'Contact4',
  'Contact5',
  'Contact6',
  'Contact7',
  'Contact8',
  'Contact9',
  'Contact10',
  'Contact11',
  'Contact12',
  'Contact13',
  'Contact14',
  'Contact15',
  'Contact16',
  'Contact17',
  'Contact18',
  'Contact19',
  'Contact20',
  'Contact21',
  'Contact22',
  'Contact23',
  'Contact24',
  'Contact25',
  'Contact26',
  'Contact27',
  'Contact28',
  'Contact29',
  'Contact30',
  'Contact31',
  'Contact32',
  'Contact33',
  'Contact34',
  'Contact35',
  'Contact36',
  'Contact37',
  'Contact38',
  'Contact39',

  'Hotlist Accountstatus On',
  'Hotlist Accountstatus Off',

  'Smiley',
  'Smiley Happy',
  'Smiley Unhappy',
  'Smiley Wink',
  'Smiley Surprised',
  'Smiley Grin',
  'Smiley Cool',
  'Smiley Indifferent',
  'Smiley Cry',
  'Smiley Angry',
  'Smiley Tongue',
  'Smiley Pacman',

  'Start listening',
  'Stop listening',
  'Stop speaking',

  'Content block image',
  'Wand Store image',
  'Incomplete Message image',
  'Thumbnail Reload Image',
  'Opera Logo',
  'Open pages',

  'Pagebar Thumbnail Busy Image',

  'DOM Console',

  'Quick Find Busy',

  'Link Failed',
  'Link Enabled',
  'Link Disabled',
  'Link Disabled.hover',
  'Link Busy',
  'Link Enabled Large',
  'Link Disabled Large',
  'Link Failed Large',
  'Link Status Failed',
  'Link Status Enabled',
  'Link Status Disabled',
  'Link Status Disabled.hover',
  'Link Logo',

  'Add/Remove Panels',

  'Homepage',

  'Resize Knob',
  'Main Menu',
  'Main Menu.hover',
  'Main Menu.selected',

  'Sync now',

  'Web Turbo Mode Info Icon',
  'HTTP Basic Authentication Insecure Plain Info',

  'Menu Bookmarks',
  'Menu Notes',
  'Menu Transfers',
  'Menu History',
  'Menu Main Menu',
  'Menu Widgets',
  'Menu Feeds',
  'Menu Chat',
  'Menu Mail',
  'Menu Tools',
  'Menu File',
  'Menu Edit',
  'Menu View',
  'Menu Help',
  'Menu Window',
  'Menu Info',
  'Menu Opera Unite',
  'Menu Synchronize',
  'Menu Contacts',
  'Main Menu Page',
  'Main Menu Tools',
  'Main Menu Help',

  'Panel Contacts Inverted',
  'Panel Transfers Inverted',
  'Panel Search Inverted',
  'Panel History Inverted',
  'Panel Links Inverted',
  'Panel Notes Inverted',
  'Panel Bookmarks Inverted',
  
  'Geolocation Toolbar',
  'Geolocation',
  'Geolocation Disabled',

  'Mail Window Thumbnail Icon',
  'Mail Panel Window Thumbnail Icon',
  'Transfers Panel Window Thumbnail Icon',
  'Bookmarks Panel Window Thumbnail Icon',
  'Chat Room Window Thumbnail Icon',
  'Chat Window Thumbnail Icon',
  'Chat Panel Window Thumbnail Icon',
  'Contacts Panel Window Thumbnail Icon',
  'Notes Panel Window Thumbnail Icon',
  'History Panel Window Thumbnail Icon',
  'Links Panel Window Thumbnail Icon',
  'Unite Panel Window Thumbnail Icon',
  'Widgets Panel Window Thumbnail Icon',

  'Mail Filter Header',
  'Mail Unread Header',
  'Mail Inbox Header',
  'Mail Outbox Header',
  'Mail Sentbox Header',
  'Mail Drafts Header',
  'Mail Trash Header',
  'Mail Spam Header',
  'Mail Thread Header',
  'Attachment Documents Header',
  'Attachment Archives Header',
  'Attachment Music Header',
  'Attachment Video Header',
  'Attachment Images Header',
  'Label Important Header',
  'Label Todo Header',
  'Label Mail back Header',
  'Label Call back Header',
  'Label Meeting Header',
  'Label Funny Header',
  'Label Valuable Header',
  'Unknown contact header',
  'Search Header',
  'News Header',
  'Folder Header',
  'Chat Room Header',
  'Chat Private Header',
  'Newsfeed Header',
  
  'Media Play',
  'Media Pause',
  'Media Sound On',
  'Media Sound Off',
  'Media Seek Knob',
  'Media Volume Knob',

  'Unite Enabled',
  'Unite Disabled',
  'Unite Disabled.hover',
  'Unite Failed',
  'Unite Notification',
  'Unite Failed Notification',
  'Unite Enabled Notification',
  'Unite Enabled Large',
  'Unite Disabled Large',
  'Unite Failed Large',
  'Edit Unite Service',
  'Edit Unite Service.hover',
  'Edit Unite Service.disabled',
  'Show Opera Unite Root',
  'Unite Logo',
  'Unite Panel Default',
  'Unite Trash',
  'Unite Trash.open',
  'Unite Status Enabled',
  'Unite Status Disabled',
  'Unite Status Disabled.hover',
  'Unite Status Failed',
  'Unite Attention',
  'Unite Folder',
  'Unite Folder.open',
  'Goto Public Page',
  'Start service',
  'Stop service',
  
  'Widget Logo',
  'Widget 128',
  'Widget 48',
  'Widget 32',
  'Widget 24',
  'Widget 22',

  'Widget Manager Logo',
  'Widget Manager 24',
  'Widget Manager 16',

  'Widget Filesystem Access',
  'Widget Filesystem Access 24',
  'Widget Filesystem Access 32',
  'Widget No Filesystem Access',
  'Widget No Filesystem Access 24',
  'Widget No Filesystem Access 32',

  'Widget Import Success',
  'Widget Import Failure',

  'Turbo Logo',
  
  'Close',
  'Caption Minimize',
  'Caption Restore',
  'Caption Close',
  'Dropdown',

  'Left Arrow',
  'Right Arrow',
  'Up Arrow',
  'Down Arrow',
  'Panel Toggle Skin.left',
  'Panel Toggle Skin.right',
  'Panel Toggle Skin.top',
  'Panel Toggle Skin.bottom',
  'Speeddial Close',
  'Speeddial Close Hover',
  'Scrollbar Grip Vertical',
  'Scrollbar Grip Horizontal',
  'Drag Scrollbar Knob',
  'Drag Scrollbar Knob.bottom',
  'Drag Scrollbar Knob.left',
  'Drag Scrollbar Knob.right',
  'Extender Down Arrow',
  'Extender Right Arrow',

  'Pagebar Document Loading Icon',
  'Panels',
  'Panels.selected',
  
  'Pagebar Locked Button Skin',
  'Pagebar Close Button Skin',
  'Pagebar Close Button Skin.selected',
  'Pagebar Close Button Skin.hover',
  'Pagebar Close Button Skin.selected.hover',
  'Pagebar Close Button Skin.pressed',
  
  'Notifier Close Button Skin',
  'Notifier Close Button Skin.hover',
  
  'Dropdown Button Skin',
  'Dropdown Button Skin.pressed',
  
  'Scrollbar Horizontal Left Skin',
  'Scrollbar Horizontal Left Skin.hover',
  'Scrollbar Horizontal Left Skin.pressed',
  'Scrollbar Horizontal Right Skin',
  'Scrollbar Horizontal Right Skin.hover',
  'Scrollbar Horizontal Right Skin.pressed',

  'Scrollbar Vertical Up Skin',
  'Scrollbar Vertical Up Skin.hover',
  'Scrollbar Vertical Up Skin.pressed',
  'Scrollbar Vertical Down Skin',
  'Scrollbar Vertical Down Skin.hover',
  'Scrollbar Vertical Down Skin.pressed',  
  
  'Caption Minimize Button Skin',
  'Caption Minimize Button Skin.pressed',
  'Caption Restore Button Skin',
  'Caption Restore Button Skin.pressed',
  'Caption Close Button Skin',
  'Caption Close Button Skin.pressed',
  
  'Radio Button Skin',
  'Radio Button Skin.selected',
  'Checkbox Skin',
  'Checkbox Skin.selected',  
  
  'Panel Toggle Skin.left.hover',
  'Panel Toggle Skin.right.hover',
  'Panel Toggle Skin.top.hover',
  'Panel Toggle Skin.bottom.hover',

  'Speed Dial Thumbnail Close Button Skin',
  'Speed Dial Thumbnail Close Button Skin.hover',
  
  'Help Tooltip Close Button Skin',
  'Help tooltip Close Button Skin.hover',

  'Disclosure Triangle Skin',
  'Disclosure Triangle Skin.selected',

  'Web Turbo Mode Enabled',
  'Web Turbo Mode Enabled Warning',
  'Web Turbo Mode Disabled',
  'Web Turbo Mode Disabled Warning'
];
