diff --git a/THANKS b/THANKS
index 1f43bc7d4..b1a057b92 100644
--- a/THANKS
+++ b/THANKS
@@ -1,120 +1,126 @@
 CDS Invenio v0.99.1 THANKS
 ==========================
 
 Several people outside the CDS Invenio Development Team
 contributed to the project:
 
   - Thierry Thomas <thierry@FreeBSD.org>
     Patches for compiling old CDSware 0.3.x sources on FreeBSD.
 
   - Guido Pelzer <guido.pelzer@web.de>
     Contributions to the German translation.  German stopword list.
 
   - Valerio Gracco <valerio.gracco@cern.ch>
     Contributions to the Italian translation.
 
   - Tullio Basaglia <tullio.basaglia@cern.ch>
     Contributions to the Italian translation.
 
   - Flavio C. Coelho <fccoelho@fiocruz.br>
     Contributions to the Portuguese translation.
 
   - Lyuba Vasilevskaya <lyubov.vassilevskaya@cern.ch>
     Contributions to the Russian translation.
 
   - Maria Gomez Marti <maria.gomez.marti@cern.ch>
     Contributions to the Spanish translation.
 
   - Magaly Bascones Dominguez <magaly.bascones.dominguez@cern.ch>
     Contributions to the Spanish translation.
 
   - Urban Andersson <urban.andersson@hb.se>
     Contributions to the Swedish translation.
 
   - Eric Grand <eric.grand@rero.ch>
     Contributions to the French translation.
 
   - Theodoros Theodoropoulos <theod@physics.auth.gr>
     Contributions to the Greek translation, Greek stopword list,
     XML RefWorks output format.
 
   - Vasyl Ostrovskyi <vo@imath.kiev.ua>
     Contributions to the Ukrainian translation.
 
   - Ferran Jorba <Ferran.Jorba@uab.cat>
     Contributions to the Catalan and Spanish translations.  Cleanup of
     the old PHP-based BibFormat Admin Guide.  Several minor patches.
 
   - Beatriu Piera <Beatriz.Piera@uab.es>
     Translation of the Search Guide into Catalan and Spanish.
 
   - Anonymous contributor (name withheld by request)
     Contributions to the Japanese translation.
 
   - Anonymous contributor (name withheld by request)
     Contributions to the Spanish translation.
 
   - Alen Vodopijevec <alen@irb.hr>
     Contributions to the Croatian translation.
 
   - Jasna Marković <jmarkov@irb.hr>
     Contributions to the Croatian translation.
 
   - Kam-ming Ku <kmku@hkusua.hku.hk>
     Contributions to the Chinese translations (zh_CN, zh_TW).
 
   - Benedikt Koeppel <be.public@gmail.com>
     Contributions to the German translation.
 
   - Toru Tsuboyama <toru.tsuboyama@kek.jp>
     Contributions to the Japanese translation.
 
   - Mike Marino <mmarino@gmail.com>
     Several minor patches and suggestions.
 
   - Zbigniew Szklarz <zszklarz@student.agh.edu.pl>
     Contributions to the Polish translation.
 
   - Iaroslav Gaponenko <adrahil@gmail.com>
     Contributions to the Russian translation.
 
   - Yana Osborne <ianna.osborne@cern.ch>
     Contributions to the Russian translation.
 
   - Zbigniew Leonowicz <leonowicz@ieee.org>
     Contributions to the Polish translation.
 
   - Makiko Matsumoto <maki.matsumoto@gmail.com> and Takao Ishigaki
     Contributions to the Japanese translation.
 
   - Eva Papp <Eva.Papp@cern.ch>
     Contributions to the Hungarian translation.
 
 The web session management and the URL handler were inspired by the
 Quixote Web Framework which is ``Copyright (c) 2004 Corporation for
 National Research Initiatives; All Rights Reserved''.
 <http://www.quixote.ca/>
 
 Javascript Quicktags scripts from Alex King are used to provide
 additional capabilities to the edition of BibFormat templates through
 the web admin interface.
 <http://www.alexking.org>
 
 The indexer engine uses the Martin Porter Stemming Algorithm and its
 Vivake Gupta free Python implementation.
 <http://tartarus.org/~martin/PorterStemmer/>
 
 The CSS style for rounded corners box used in detailed record pages
 adapted from Francky Lleyneman liquidcorners CSS.
 <http://home.tiscali.nl/developerscorner/liquidcorners/liquidcorners.htm>
 
 The NASA_Subjects.rdf files has been retrieved from the American National
 Aeronautics and Space Administration (NASA) who kindly provide this for
 free re-use.
 <http://nasataxonomy.jpl.nasa.gov/fordevelopers/>
 
 The tiger test picure used in automated demo picture submission was
 converted from Ghostscript's 'tiger.eps'.
 <http://www.gnu.org/software/ghostscript/>
 
+Some icon images were taken from (i) the Silk icon set, (ii) the
+Function icon set, and (iii) the activity indicator icon.
+<http://www.famfamfam.com/lab/icons/silk/>
+<http://wefunction.com/2008/07/function-free-icon-set/>
+<http://www.badeziner.com/2008/05/04/120-free-ajax-activity-indicator-gif-icons/>
+
 - end of file -
diff --git a/modules/bibedit/lib/bibedit_templates.py b/modules/bibedit/lib/bibedit_templates.py
index def32f22a..ba0161eca 100644
--- a/modules/bibedit/lib/bibedit_templates.py
+++ b/modules/bibedit/lib/bibedit_templates.py
@@ -1,184 +1,184 @@
 ## This file is part of CDS Invenio.
 ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 CERN.
 ##
 ## CDS Invenio is free software; you can redistribute it and/or
 ## modify it under the terms of the GNU General Public License as
 ## published by the Free Software Foundation; either version 2 of the
 ## License, or (at your option) any later version.
 ##
 ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc.,
 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
 
 # pylint: disable-msg=C0103
 
 """CDS Invenio BibEdit Templates."""
 
 __revision__ = "$Id$"
 
 from invenio.config import CFG_SITE_URL
 
 class Template:
 
     """BibEdit Templates Class."""
 
     def __init__(self):
         """Initialize."""
         pass
 
     def menu(self, recid=None):
         """ Create the menu."""
         if recid == None:
             recid = ''
 
         recordmenu = '<div class="bibEditMenuSectionHeader">Record</div>\n' \
             '        <table>\n' \
             '          <col width="20px">\n' \
             '          <col width="48px">\n' \
             '          <col width="68px">\n' \
             '          <tr>\n' \
             '            <td colspan="2">\n' \
             '              <form onsubmit="return false;">\n' \
             '                %(txtSelectRecord)s\n' \
             '              </form>\n' \
             '            </td>\n' \
             '            <td>%(btnGetRecord)s</td>\n' \
             '          </tr>\n' \
             '          <tr>\n' \
             '            <td colspan="2" align="right">%(btnSubmit)s</td>\n' \
             '            <td>%(btnCancel)s</td>\n' \
             '          </tr>\n' \
             '          <tr>\n' \
             '            <td align="bottom">%(imgDeleteRecord)s</td>\n' \
             '            <td colspan="2" align="bottom">\n' \
             '              %(btnDeleteRecord)s\n' \
             '            </td>\n' \
             '          </tr>\n' \
             '          <tr>\n' \
             '            <td colspan="3" style="font-size: 0.8em;">\n' \
             '              %(lblShow)s:\n' \
             '            </td>\n' \
             '          </tr>\n' \
             '          <tr>\n' \
             '            <td colspan="2" align="right">%(btnTagMARC)s</td>\n' \
             '            <td>%(btnTagNames)s</td>\n' \
             '          </tr>\n' \
             '        </table>' % {
             'txtSelectRecord': inp('text', value=recid, id='txtSelectRecord',
                                    maxlength=8),
             'btnGetRecord': button('button', 'Get', id='btnGetRecord'),
             'btnSubmit': button('button', 'Submit', 'bibEditBtnBold',
                                 id='btnSubmit', disabled='disabled'),
             'btnCancel': button('button', 'Cancel', id='btnCancel',
                                 disabled='disabled'),
             'imgDeleteRecord': img('/img/trash.png'),
             'btnDeleteRecord': button('button', 'Delete record',
                 id='btnDeleteRecord', disabled='disabled'),
             'lblShow': 'Display',
             'btnTagMARC': link('MARC', id='lnkMARCTags'),
             'btnTagNames': link('Human', id='lnkHumanTags')
             }
 
         fieldmenu = '<div class="bibEditMenuSectionHeader">Fields</div>\n' \
             '        <table>\n' \
             '          <tr>\n' \
             '            <td>%(imgAddField)s</td>\n' \
             '            <td>%(btnAddField)s</td>\n' \
             '          </tr>\n' \
             '          <tr>\n' \
             '            <td>%(imgSortFields)s</td>\n' \
             '            <td>%(btnSortFields)s</td>\n' \
             '          </tr>\n' \
             '          <tr>\n' \
             '            <td>%(imgDeleteSelected)s</td>\n' \
             '            <td>%(btnDeleteSelected)s</td>\n' \
             '          </tr>\n' \
             '        </table>' % {
-            'imgAddField': img('/img/add.png'),
+            'imgAddField': img('/img/table_row_insert.png'),
             'btnAddField': button('button', 'Add', id='btnAddField',
                                   disabled='disabled'),
-            'imgSortFields': img('/img/sort_asc.png'),
+            'imgSortFields': img('/img/table_sort.png'),
             'btnSortFields': button('button', 'Sort', id='btnSortFields',
                                     disabled='disabled'),
-            'imgDeleteSelected': img('/img/delete.png'),
+            'imgDeleteSelected': img('/img/table_row_delete.png'),
             'btnDeleteSelected': button('button', 'Delete selected',
                 id='btnDeleteSelected', disabled='disabled')}
 
         statusarea = '<table>\n' \
             '          <tr>\n' \
             '            <td id="cellIndicator">%(imgIndicator)s</td>\n' \
             '            <td id="cellStatus">%(lblChecking)s</td>\n' \
             '         </table>' % {
             'imgIndicator': img('/img/indicator.gif'),
             'lblChecking': 'Checking status' + '...'
             }
 
-        lnkhelp = img('/img/help.gif', '', style='vertical-align: bottom') + \
+        lnkhelp = img('/img/help.png', '', style='vertical-align: bottom') + \
             link('Help', href='#', onclick='window.open(' \
             '\'%s/help/admin/bibedit-admin-guide#2\', \'\', \'width=640,' \
             'height=600,left=150,top=150,resizable=yes,scrollbars=yes\');' \
             'return false;' % CFG_SITE_URL)
 
         return '    <div id="bibEditMenu">\n' \
             '      <div class="bibEditMenuSection">\n' \
             '        %(recordmenu)s\n' \
             '      </div>\n' \
             '      <div class="bibEditMenuSection">\n' \
             '        %(fieldmenu)s\n' \
             '      </div>\n' \
             '      <div id="bibEditMenuSection">\n' \
             '        %(statusarea)s\n' \
             '      </div>\n' \
             '      <div id="bibEditMenuSection" align="right">\n' \
             '        %(lnkhelp)s\n' \
             '      </div>\n' \
             '    </div>\n' % {
                 'recordmenu': recordmenu,
                 'fieldmenu': fieldmenu,
                 'statusarea': statusarea,
                 'lnkhelp': lnkhelp
                 }
 
 def img(src, _class='', **kargs):
     """Create a HTML <img> element."""
     src = 'src="%s" ' % src
     if _class:
         _class = 'class="%s" ' % _class
     args = ''
     for karg in kargs:
         args += '%s="%s" ' % (karg, kargs[karg])
     return '<img %s%s%s/>' % (src, _class, args)
 
 def inp(_type, _class='', **kargs):
     """Create a HTML <input> element."""
     _type = 'type="%s" ' % _type
     if _class:
         _class = 'class="%s" ' % _class
     args = ''
     for karg in kargs:
         args += '%s="%s" ' % (karg, kargs[karg])
     return '<input %s%s%s/>' % (_type, _class, args)
 
 def button(_type, value, _class='', **kargs):
     """Create a HTML <button> element."""
     _type = 'type="%s" ' % _type
     if _class:
         _class = 'class="%s" ' % _class
     args = ''
     for karg in kargs:
         args += '%s="%s" ' % (karg, kargs[karg])
     return '<button %s%s%s>%s</button>' % (_type, _class, args, value)
 
 def link(value, _class='', **kargs):
     """Create a HTML <a> (link) element."""
     if _class:
         _class = 'class="%s" ' % _class
     args = ''
     for karg in kargs:
         args += '%s="%s" ' % (karg, kargs[karg])
     return '<a %s%s>%s</a>' % (_class, args, value)
diff --git a/modules/webstyle/img/add.png b/modules/webstyle/img/add.png
index 4e4ce6abb..6332fefea 100644
Binary files a/modules/webstyle/img/add.png and b/modules/webstyle/img/add.png differ
diff --git a/modules/webstyle/img/arrow_down2.png b/modules/webstyle/img/arrow_down2.png
index 5401f222f..2be3e8d82 100644
Binary files a/modules/webstyle/img/arrow_down2.png and b/modules/webstyle/img/arrow_down2.png differ
diff --git a/modules/webstyle/img/arrow_up2.png b/modules/webstyle/img/arrow_up2.png
index 7093ea8d0..dc769dd9c 100644
Binary files a/modules/webstyle/img/arrow_up2.png and b/modules/webstyle/img/arrow_up2.png differ
diff --git a/modules/webstyle/img/circle_green.png b/modules/webstyle/img/circle_green.png
index b3a74547f..9f5c61ce4 100644
Binary files a/modules/webstyle/img/circle_green.png and b/modules/webstyle/img/circle_green.png differ
diff --git a/modules/webstyle/img/circle_red.png b/modules/webstyle/img/circle_red.png
index ec5a31497..ac656d393 100644
Binary files a/modules/webstyle/img/circle_red.png and b/modules/webstyle/img/circle_red.png differ
diff --git a/modules/webstyle/img/circle_yellow.png b/modules/webstyle/img/circle_yellow.png
deleted file mode 100644
index 2d0b8c28a..000000000
Binary files a/modules/webstyle/img/circle_yellow.png and /dev/null differ
diff --git a/modules/webstyle/img/delete.png b/modules/webstyle/img/delete.png
index 74e377b36..08f249365 100644
Binary files a/modules/webstyle/img/delete.png and b/modules/webstyle/img/delete.png differ
diff --git a/modules/webstyle/img/help.gif b/modules/webstyle/img/help.gif
deleted file mode 100644
index 6ff5f0da6..000000000
Binary files a/modules/webstyle/img/help.gif and /dev/null differ
diff --git a/modules/webstyle/img/help.png b/modules/webstyle/img/help.png
new file mode 100644
index 000000000..5c870176d
Binary files /dev/null and b/modules/webstyle/img/help.png differ
diff --git a/modules/webstyle/img/sort_asc.png b/modules/webstyle/img/sort_asc.png
deleted file mode 100644
index d7fc57398..000000000
Binary files a/modules/webstyle/img/sort_asc.png and /dev/null differ
diff --git a/modules/webstyle/img/table_row_delete.png b/modules/webstyle/img/table_row_delete.png
new file mode 100644
index 000000000..54c69691e
Binary files /dev/null and b/modules/webstyle/img/table_row_delete.png differ
diff --git a/modules/webstyle/img/table_row_insert.png b/modules/webstyle/img/table_row_insert.png
new file mode 100644
index 000000000..ff5925efd
Binary files /dev/null and b/modules/webstyle/img/table_row_insert.png differ
diff --git a/modules/webstyle/img/table_sort.png b/modules/webstyle/img/table_sort.png
new file mode 100644
index 000000000..ed6785a6a
Binary files /dev/null and b/modules/webstyle/img/table_sort.png differ
diff --git a/modules/webstyle/img/trash.png b/modules/webstyle/img/trash.png
index 6abd2e3f5..ebad933c8 100644
Binary files a/modules/webstyle/img/trash.png and b/modules/webstyle/img/trash.png differ