Index: /extensions/gally/gally-minimalist/admin/admin.inc.php
===================================================================
--- /extensions/gally/gally-minimalist/admin/admin.inc.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/admin/admin.inc.php	(revision 16022)
@@ -0,0 +1,43 @@
+<?php
+/* -----------------------------------------------------------------------------
+  Theme      : Gally/Minimalist
+  Author     : Grum
+    email    : grum@piwigo.org
+    website  : http://www.grum.fr
+
+    << May the Little SpaceFrog be with you ! >>
+  ------------------------------------------------------------------------------
+
+  The Gally/Minimalist theme have an additional option allowing to expand or
+  not the menu
+
+  --------------------------------------------------------------------------- */
+
+include_once(PHPWG_THEMES_PATH.'gally-default/admin/GallyDefault.class.inc.php');
+
+load_language('theme.lang', PHPWG_THEMES_PATH.'gally-minimalist/');
+
+class GallyMinimalist extends GallyDefault
+{
+
+  public function __construct()
+  {
+    parent::__construct("Gally/Minimalist", dirname(__FILE__), PHPWG_THEMES_PATH.'gally-minimalist/conf', false);
+
+    $this->addAuthorizedValue('fGally_tabsheet', 'menu_1');
+    $this->manage();
+  }
+
+  public function initTabSheet()
+  {
+    parent::initTabSheet();
+/*    $this->tabsheet->add(
+      'menu_1',
+      l10n('gally_menu_1'),
+      $this->getAdminThemeLink().'&amp;fGally_tabsheet=menu_1'); */
+  }
+}
+
+$interface = new GallyMinimalist();
+
+?>
Index: /extensions/gally/gally-minimalist/admin/gally_menu_1.tpl
===================================================================
--- /extensions/gally/gally-minimalist/admin/gally_menu_1.tpl	(revision 16022)
+++ /extensions/gally/gally-minimalist/admin/gally_menu_1.tpl	(revision 16022)
@@ -0,0 +1,17 @@
+<p>{'gally_menu_1_desc'|@translate}</p>
+<br>
+<form method="post" action="" class="general">
+
+  <fieldset>
+    <legend>{'gally_expand_menu'|@translate}</legend>
+
+    <p class="leftAlign">{'gally_expand_menu_desc'|@translate}</p>
+
+    <label><input type="radio" name="f_expandMenu" id="iexpandMenu" value="yes" {if $options.expandMenu=="yes"}checked{/if}>&nbsp;{'gally_expand_menu_yes'|@translate}</label><br>
+    <label><input type="radio" name="f_expandMenu" id="iexpandMenu" value="no" {if $options.expandMenu=="no"}checked{/if}>&nbsp;{'gally_expand_menu_no'|@translate}</label>
+  </fieldset>
+
+  <input type="submit" value="{'Submit'|@translate}" name="submit_gally">
+
+</form>
+
Index: /extensions/gally/gally-minimalist/admin/index.php
===================================================================
--- /extensions/gally/gally-minimalist/admin/index.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/admin/index.php	(revision 16022)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008-2010 Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/gally/gally-minimalist/admin/maintain.inc.php
===================================================================
--- /extensions/gally/gally-minimalist/admin/maintain.inc.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/admin/maintain.inc.php	(revision 16022)
@@ -0,0 +1,15 @@
+<?php
+
+include_once(PHPWG_THEMES_PATH.'gally-default/admin/GallyDefault.class.inc.php');
+
+function theme_activate($id, $version, &$errors)
+{
+  $errors=GallyDefault::activate($id, $version, '1.4.0', $errors);
+}
+
+function theme_deactivate()
+{
+  GallyDefault::deactivate();
+}
+
+?>
Index: /extensions/gally/gally-minimalist/colors.txt
===================================================================
--- /extensions/gally/gally-minimalist/colors.txt	(revision 16022)
+++ /extensions/gally/gally-minimalist/colors.txt	(revision 16022)
@@ -0,0 +1,32 @@
+background:
+  #101010
+  #202020
+  #666666
+  #444444
+  #404040
+  #ffffff
+  #d9d9d9
+  #c0c0c0
+  #000000
+
+border:
+  #666666
+  #292929
+  #202020
+  #101010
+  #606060
+  #ffffff
+  #f0f0f0
+
+color:
+  #d9d9d9
+  #C0C0C0
+  #F0f0f0
+  #666666
+  #000000
+  #ffffff
+  #202020
+  #333333
+
+  #6699ee
+  #a04040
Index: /extensions/gally/gally-minimalist/conf/default.conf
===================================================================
--- /extensions/gally/gally-minimalist/conf/default.conf	(revision 16022)
+++ /extensions/gally/gally-minimalist/conf/default.conf	(revision 16022)
@@ -0,0 +1,267 @@
+# ------------------------------------------------------------------------------
+# MINIMALIST
+# Theme for Piwigo
+# ------------------------------------------------------------------------------
+# file: gally-minimalist/conf/default.conf
+# file release: 1.3.0
+# ------------------------------------------------------------------------------
+# author: grum at piwigo.org
+# << May the Little SpaceFrog be with you >>
+# ------------------------------------------------------------------------------
+# Minimalist for themes "Gally"
+#
+# see the gally-default/release_notes.txt file for more informations
+#
+# this is the config file for the theme
+#
+# To modify theses default options, you can make a "local.conf" file with new
+# declaration of parameters
+# Local files must be localized in the /local/themes/gally-minimalist/conf
+# directory
+#
+#
+# BE CAREFUL : string values must be defined between double-quote => "my string"
+#
+# ------------------------------------------------------------------------------
+
+
+# ------- Picture page parameters ----------------------------------------------
+
+# The 'imageAutoScroll' option can take theses values :
+#   "yes" => use the template scroll feature (no scrollbars)
+#   "no"  => use the browser scroll feature (scrollbars)
+#
+#   Due to bug(?) under MSIE browser this option automaticaly forced to no
+#     works well with FF2, FF3, Opera, Safari
+imageAutoScroll = "yes"
+
+# -- 1.3.1 --
+# the 'imageSimulateHighRes' option can take theses values :
+#   "yes" => if there is no high res file and if the image need scroll, the
+#            template simulate an high res image managment
+#   "no"  => don't simulate high res image
+imageSimulateHighRes = "yes"
+
+# The 'imageCenterMode' option can take theses values :
+#   "img"  => position is calculated on the image height
+#   "all"  => position is calculated on the image height + comment height
+#   "none" => image is not centered, just positionned to the 'imageCenterTopMin'
+#             value
+imageCenterMode = "img"
+
+# The 'imageCenterOffset' option can take any positive integer value
+# This option define an offset (in pixels) to apply to the top position of the
+# image after centered position is calculated.
+imageCenterOffset = 0
+
+# The 'imageCenterTopMin' option can take any positive integer value
+# This option define the minimal position at top for the picture (in pixels)
+#  works only if the image is displayed in absolute/fixed mode (ignored with the
+#  relative/static modes)
+imageCenterTopMin = 0
+
+# -- 1.2.0 --
+# The 'imageCenterTopBorder' option define the offset used to apply the minimal
+# position at top for the picture
+# The option can take theses values :
+#   "page"           => minimal position is defined from the top border of the
+#                       page
+#   "imageHeaderBar" => minimal position is defined from the bottom border of
+#                       header bar
+imageCenterTopBorder="imageHeaderBar"
+
+# -- 1.4.0 --
+# The 'imageScrollMinDeadArea' option allows to define the minimum width for
+# dead area in scroll mode
+imageScrollMinDeadArea=120
+
+# The 'imageInterface' option can take theses values :
+#   "none" => no effect to switch the interface (on/off)
+#   "fade" => use fading to switch the interface (fade in/fade out)
+#
+#   Due to bug(?) under MSIE browser this option automaticaly forced to "none"
+#     works well with FF2, FF3, Opera, Safari
+interfaceAnimated="none"
+
+# -- 1.3.0 --
+# The 'interfaceCanSwitch' option can take theses values :
+#   "yes" => the interface is displayed or hidden according to the defined rules
+#   "no"  => the interface is always displayed
+interfaceCanSwitch="yes"
+
+# The 'imageInterfaceHidden' option can take theses values :
+#   "yes" => after a page is loaded, if mouse is over the interface, the
+#            interface still hidden until the mouse move
+#   "no"  => after a page is loaded, if mouse is over the interface, the
+#            interface is visible immediately
+#
+#   Due to bug(?) under MSIE browser this option automaticaly forced to "none"
+#     works well with FF2, FF3, Opera, Safari
+interfaceHidden="yes"
+
+# -- 1.2.0 --
+# The 'interfaceOnImage' option can take theses values :
+#   "always"   => display interface when the mouse is over the picture
+#   "noscroll" => display interface when the mouse is over the picture only if
+#                 the picture is not scrollable
+#   "never"    => don't display interface when the mouse is over the picture
+interfaceOnImage="always"
+
+# -- 1.2.0 --
+# The 'interfaceTimerDelay' options can take any positive integer values.
+# This option define the delay (in millseconds) of inactivity before hidding the
+# interface
+# set to 0 to deactivate this functionnality
+interfaceTimerDelay=2500
+
+# The 'animateDelay' option can take any positive integer value
+# This option define the duration (in milliseconds) of effects
+animateDelay=0
+
+# The 'marginContainer' option can take any positive integer value
+# This option define the space between the picture side (left/right) and the
+# window borders. Normal & high resolution view use this property
+# Only used when the 'imageAutoScroll' is set to yes
+marginContainer=10
+
+# -- 1.3.0 --
+# The 'paddingContainer' option can take any positive integer value
+# This option is used for high resolution view and defines the space between the
+# picture sides (left/right/top/bottom) and the container.
+paddingContainer=10
+
+# -- 1.2.0 --
+# The 'tabsAnimated' option can take theses values :
+#   "yes" => use slide to switch the tabs area (slide in/slide out)
+#   "no"  => no effect to switch the tabs area (on/off)
+tabsAnimated="no"
+
+# -- 1.2.0 --
+# The 'tabsHidden' and 'tabsVisible' options can take any positive
+# integer values.
+# Theses options define the height (in pixels) of the minimized and maximized
+# tabs area
+tabsHidden=21
+tabsVisible=250
+
+# -- 1.4.3 --
+# The 'tabsPosition' option can take theses values :
+#   "top"           => display the tabs area at the bottom of the image toobar area
+#                      (top of the page)
+#   "bottom"        => display the tabs area at the top of the copyright area
+#                      (bottom of the page)
+#   "pictureTop"    => display the tabs area at the top of the image area
+#   "pictureBottom" => display the tabs area at the bottom of the image area
+tabsPosition="pictureTop"
+
+# -- 1.3.0 --
+# The 'displayBanner' option can take theses values :
+#   "yes"       => display the banner on the picture page
+#   "no"        => hide the banner on the picture page
+#   "alternate" => display an alternate banner ; the content of the alternate
+#                  banner is defined in the 'alternateBannerContent' option
+displayBanner="yes"
+
+# -- 1.3.0 --
+# The 'alternateBannerContent' option can take any text value
+# If the 'displayBanner' is set to 'alternate' value, the content of the
+# 'alternateBannerContent' is used to display the header
+alternateBannerContent=""
+
+# -- 1.2.0 --
+# The 'commentRows' option can take any positive integer value.
+# This option define the number of rows for the comment textarea
+# (default defined in the template: 7)
+commentRows=7
+
+# -- 1.2.0 --
+# The 'metaNumCols' options can take any positive integer values.
+# This option define the number of columns used to display the metadata
+metaNumCols=2
+
+# -- 1.3.0 --
+# the 'defaultZoomSize' option can take theses values :
+#   "full" => when high res picture is displayed, the image is displayed in the
+#             the full size
+#   "fit"  => when high res picture is displayed, the image is displayed to fit
+#             in the window
+defaultZoomSize="full"
+
+# -- 1.3.0 --
+# the 'displayHighResIcon' option can take theses values :
+#   "yes" => display an icon 'view full res' in the toolbar
+#   "no"  => don't display an icon 'view full res' in the toolbar
+displayHighResIcon="yes"
+
+# -- 1.3.0 --
+# the 'highResClickMode' option can take theses values :
+#   "close" => click on the high res picture close the high res picture
+#   "zoom"  => click on the high res picture switch the zoom mode fit/full
+highResClickMode="zoom"
+
+# -- 1.4.0 --
+# the 'manageTips' option can take theses values :
+#   "yes" => the interface uses the simpleTip.js script to display hints
+#   "no"  => the interface uses the default browser method to display hints
+manageTips="yes"
+
+# -- 1.4.0 --
+# the 'manageTipsPos' define the default position for tips ; the option can take
+# theses values :
+#   "tipOnTop"    => tip is displayed above the object
+#   "tipOnBottom" => tip is displayed under the object
+#   "tipOnLeft"   => tip is displayed on the left side of the object
+#   "tipOnRight"  => tip is displayed on the right side of the object
+manageTipsPos="tipOnBottom"
+
+# -- 1.5.0 --
+# the 'tipsSize' option can take any positive integer values.
+# This option define the size (Width&Height) of an arrow
+tipsSize=17
+
+# -- 1.5.0 --
+randomPositionBoxX=30
+randomPositionBoxY=30
+
+
+# ------- Menu parameters ------------------------------------------------------
+
+# The 'menuAnimated' option can take theses values :
+#   "none" => no effect to switch the menu (on/off)
+#   "fade" => use fading to switch the menu (fade in/fade out)
+#   "slide" => use fading to switch the menu (fade in/fade out)
+#   "noswitch" => [1.2.0] menu is not displayed by a click (always displayed,
+#                 eventually managed by CSS)
+#
+#   Due to bug(?) under MSIE browser this option automaticaly forced to "none"
+#   if it different of "noswitch" works well with FF2, FF3, Opera, Safari
+menuAnimated="noswitch"
+
+# The 'menuWidth' option can take theses values :
+#   "auto" => width of the menu is autocomputed by the browser
+#   "info" => width of the menu is set to be inside the information panel on the
+#            left (use the '.additional_info' CSS value)
+# The 'menuWidth' option can also take any positive integer value wich define a
+# fixed width in pixels
+menuWidth = "auto"
+
+# The 'menuMaxWidth' option is used when the 'menuWidth' option is set to "auto"
+# and can take any positive integer value wich define a fixed maximum width in
+# pixels
+# If this option is set to 0, there is no maximum width applied to the menu
+#
+# please note that under MSIE prior than 8.0, the 'menuWidth = "auto"' option
+# don't work as well as other browsers and in this case, with the
+# 'menuMSIEMaxWidth' option you can force a maximum width only for this browser
+# This option is not used when the 'menuAnimated' option is set to "noswitch"
+menuMaxWidth = 0
+menuMSIEMaxWidth = 190
+
+# -- 1.3.0 --
+# the 'expandMenu' option can take theses values :
+#   "yes" => the menu is expanded, all items are displayed at once time
+#   "no"  => default piwigo mode, the menu is not expanded
+expandMenu="yes"
+
+
+
Index: /extensions/gally/gally-minimalist/conf/index.php
===================================================================
--- /extensions/gally/gally-minimalist/conf/index.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/conf/index.php	(revision 16022)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/gally/gally-minimalist/css/ASEgally-minimalist.css
===================================================================
--- /extensions/gally/gally-minimalist/css/ASEgally-minimalist.css	(revision 16022)
+++ /extensions/gally/gally-minimalist/css/ASEgally-minimalist.css	(revision 16022)
@@ -0,0 +1,281 @@
+
+/* ---- Themes colors ---- */
+.gcText { color: #666666; }                 /* used for text */
+.gcText2 { color: #c0c0c0; }                /* used for table header */
+.gcText3 { color: #c0c0c0; }                /* used for tabs text */
+.gcTextInput { color:#202020; font-family:monospace; }             /* used for inputs */
+.gcLink { color: #666666; }                 /* used for link */
+.gcLinkHover { color: #000000; }            /* used for link */
+.gcBgPage { background-color: #ffffff; }               /* used for page background */
+.gcBgTabSheet { background-color: #ffffff; }           /* used inside tabsheet & menu */
+.gcBgTableRow1 { background-color: #292929; }            /* used in for tables rows background */
+.gcBgTableRow2 { background-color: #202020; }            /* used in tables rows & some widgets background */
+.gcBgInput { background-color:#F0F0F0; }                      /* used for inputs */
+.gcBorder    { border: none; }            /* used for borders */
+.gcBorder2   { border: none; }            /* used for widgets borders */
+.gcBorderInput { border: none; }           /* used for inputs */
+.cPnDisabled { cursor:default; color:#666666; }
+.pnInactive:hover { background:#666666; color:#F0F0F0; }
+.pnActive { background:#404040; color:#F0F0F0; font-weight:bold; }
+
+.ui-datepicker, .ui-category-selector, .ui-category-selector-list,
+.ui-tag-selector-list, .ui-tag-selector-input {
+  background-color:#F0F0F0;
+  color:#202020;
+  border:none;
+}
+div.ui-datepicker { border:none; }
+.ui-datepicker-title { color:#f0f0f0; font-weight:bold; }
+.ui-datepicker td { background-color:#f0f0f0; color:#202020; }
+.ui-datepicker td a { color:#666666; }
+.ui-datepicker td:hover { background-color:#666666; color:#f0f0f0; }
+.ui-datepicker td:hover a { color:#f0f0f0; }
+.ui-datepicker td.ui-datepicker-current-day { background-color:#404040; color:#f0f0f0; }
+.ui-datepicker td.ui-datepicker-current-day a { color:#f0f0f0; }
+.ui-category-selector-arrow {
+  background-image: url("./../icon/buttons_gpc.png");
+  background-position: -30px -0px;
+  background-repeat: no-repeat;
+  border: 0 none;
+  border-radius: 2px 2px 2px 2px;
+}
+.ui-category-selector-arrow:hover {
+  background-position: -30px -15px;
+  background-color:#000000;
+}
+div#iMenuCriterions div#iMenuCItems { margin-top: 0px; }
+.ui-category-selector, .ui-category-selector-list { font-family:monospace; font-size:12px; }
+li.ui-category-selector-item:hover, li.ui-tag-selector-list-item:hover { background-color:#d9d9d9; color:#000000; }
+.ui-category-selector-selected-item { background-color:#000000; color:#f0f0f0; }
+li.ui-category-selector-item div { margin:0;}
+li.ui-category-selector-item div.ui-category-selector-name { top:-1px; position:relative;}
+li.ui-category-selector-item div.ui-category-selector-status { margin:1px; position:relative; }
+
+.ui-category-selector-expandable-item { background-image:url(./../icon/asearchengine/expand_b.png); }
+.ui-category-selector-collapsable-item { background-image:url(./../icon/asearchengine/collapse_b.png); }
+.ui-category-selector-expandable-item:hover, .ui-category-selector-selected-item.ui-category-selector-expandable-item { background-image:url(./../icon/asearchengine/expand.png); }
+.ui-category-selector-collapsable-item:hover, .ui-category-selector-selected-item.ui-category-selector-collapsable-item { background-image:url(./../icon/asearchengine/collapse.png); }
+li.ui-category-selector-item div.ui-category-selector-check { background-image:url(./../icon/asearchengine/check_notchecked.png); }
+li.ui-category-selector-selected-item div.ui-category-selector-check { background-image:url(./../icon/asearchengine/check_checked.png); }
+
+
+.ui-tag-selector-list, .ui-tag-selector-input { font-family:monospace; }
+.ui-tag-selector-text {
+  font-style:italic;
+  font-size:80%;
+  border-top:1px dotted #101010;
+  background:#F0F0F0;
+  color:#404040;
+}
+.ui-tag-selector-selected-tag-list li.ui-tag-selector-selected-tag {
+  background:#000000;
+  color:#ffffff;
+  margin-top:0px;
+  padding-bottom:1px;
+  padding-top:1px;
+  font-size: 12px;
+}
+.ui-tag-selector-highlight {
+  color:#000000;
+  font-weight:bold;
+  background:#ffffff;
+}
+
+.ui-dialog {
+  -moz-border-radius:8px 8px 4px 4px;
+  -webkit-border-radius:8px 8px 4px 4px;
+  -khtml-border-radius:8px 8px 4px 4px;
+  border-radius:8px 8px 4px 4px;
+  border: 2px solid #000000;
+}
+.ui-dialog-titlebar {
+  display:block;
+  padding-left:6px;
+  border-bottom:4px solid #000000;
+}
+
+.iconEdit, .iconDelete {
+  background-image:url(./../icon/buttons.png);
+  background-repeat:no-repeat;
+  width:16px;
+  height:16px;
+}
+.iconEdit { background-position:-1034px 0;}
+.iconDelete { background-position:-1012px 0;}
+
+.iconMove { background:url(./../icon/asearchengine/move.png) no-repeat 0 0 transparent; }
+.iconMove:hover { background:url(./../icon/asearchengine/move_h.png) no-repeat 0 0 transparent; }
+.iconSwitchCondition  { background:url(./../icon/asearchengine/switch.png) no-repeat 0 0 transparent; }
+.iconSwitchCondition:hover { background:url(./../icon/asearchengine/switch_h.png) no-repeat 0 0 transparent; }
+.cbItemMultiple { border:1px solid #666666; }
+.cbItemOverGroup { border:1px dotted #666666; }
+.itemContent {
+  border-left:22px solid #000000;
+  min-height:34px;
+  padding:3px;
+  -moz-border-radius:4px;
+  -webkit-border-radius:4px;
+  -khtml-border-radius:4px;
+  border-radius:4px;
+}
+.cbItem { padding:0px; }
+
+
+#iRBCriteriaForm {
+  margin-top: 25px;
+}
+
+fieldset { margin:3px 18px; }
+#iResultQuery { margin-bottom:15px; }
+div.cbOperatorBg, .cbButtons, .ui-dialog-titlebar,
+.ui-datepicker .ui-datepicker-header { background:#000000; }
+span.ui-dialog-title { color:#ffffff; }
+
+.cbItem, .pnInactive, .pnActive {
+  -moz-border-radius:4px;
+  -webkit-border-radius:4px;
+  -khtml-border-radius:4px;
+  border-radius:4px;
+}
+.cbButtons {
+  -moz-border-radius: 4px;
+  -webkit-border-radius:4px;
+  -khtml-border-radius:4px;
+  border-radius:4px;
+  background:#000000;
+  border:none;
+  color: #C0C0C0;
+  font-family: monospace;
+  font-weight: bold;
+  padding: 4px;
+}
+.cbButtons:hover {
+  color: #ffffff;
+}
+.cbButtons a {
+  color:#c0c0c0;
+}
+.cbButtons li:hover a {
+  color:#000000;
+}
+.cbButtons:hover a {
+  color:#ffffff;
+}
+input.cRequestCriterions {
+  margin-left:30px;
+  margin-top:10px;
+}
+
+#iMenuCItems ul {
+  background:#000000;
+  -moz-border-radius:0px 4px 4px 4px;
+  -webkit-border-radius:0px 4px 4px 4px;
+  -khtml-border-radius:0px 4px 4px 4px;
+  border-radius:0px 4px 4px 4px;
+}
+#iMenuCItems ul li, .cbButtons:hover #iMenuCText { background:#000000; }
+#iMenuCItems ul li:hover { background:#ffffff; }
+#iMenuCTitle:hover {
+  -moz-border-radius:4px 4px 0px 0px;
+  -webkit-border-radius:4px 4px 0px 0px;
+  -khtml-border-radius:4px 4px 0px 0px;
+  border-radius:4px 4px 0px 0px;
+}
+
+div#iMenuCaddieBar div#iMenuCaddieItems { z-index:1000; }
+
+
+.cPnDisabled {
+  color:#666666;
+}
+.cPnInactive {
+  color:#000000;
+}
+.cPnActive {
+  color:#ffffff;
+  background:#000000;
+}
+
+ul.rbResultList table {
+  width:100%;
+}
+.rbResultItemDetail hr {
+  border-color: #000000;
+  border-right: medium none #000000;
+  border-style: solid none none;
+  border-width: 4px medium medium;
+}
+ul.rbResultList li {
+  width: 48%;
+  margin-right: 10px;
+  -moz-border-radius: 4px;
+  -webkit-border-radius:4px;
+  -khtml-border-radius:4px;
+  border-radius:4px;
+}
+ul.rbResultList li:hover {
+  background:#f0f0f0;
+}
+ul.rbResultList li td.rbResultItemImg {
+  text-align:center;
+}
+
+
+/* ASE standard */
+a.ui-datepicker-prev:hover,
+a.ui-datepicker-next:hover {
+  color:#ffffff;
+  cursor:pointer;
+}
+#iASECategoryCategory .ui-category-selector-name li.ui-category-selector-selected-cat {
+  background:#000000;
+  border-radius: 8px;
+  color: #FFFFFF;
+  margin-right: 1px;
+  padding: 1px 4px;
+  -moz-border-radius: 8px;
+  -webkit-border-radius:8px;
+  -khtml-border-radius:8px;
+}
+#iASECategoryCategory div.ui-category-selector-check {
+  position:relative;
+}
+
+
+/* AMD specific CSS */
+span.tagName { border-right:1px dotted #666666; }
+#iTagList { border-top:1px solid #101010; font-size:12px; }
+#iTagList li:hover { cursor:pointer; background:#606060; color:#f0f0f0; }
+#iTagList.selected, #iTagList li.gcText3 { background:#303030; color:#f0f0f0; }
+div.ruleTypeM, div.ruleTypeM2 { border:0px solid #666666; }
+.error, input.error { background:#FFAAAA; border:1px solid #800000; color:#800000; }
+#iDMCSelectMeta { font-size:12px; }
+#iDMCListValues li.valueItems {
+  background:#f0f0f0;
+  color:#000000;
+  border:none;
+  -moz-border-radius: 2px;
+  -webkit-border-radius:2px;
+  -khtml-border-radius:2px;
+  border-radius: 2px;
+}
+
+
+#iDialogGMapsChoose {
+  padding-bottom:10px;
+}
+
+#iCbGroup1OpAND, #iCbGroup1OpOR {
+  color:#ffffff;
+}
+
+/* LMT Specific CSS */
+#lmtRulesArea li.valueItems {
+  background: none repeat scroll 0 0 #F0F0F0;
+  border: medium none;
+  -moz-border-radius: 2px;
+  -webkit-border-radius:2px;
+  -khtml-border-radius:2px;
+  border-radius: 2px;
+}
+
Index: /extensions/gally/gally-minimalist/css/index.php
===================================================================
--- /extensions/gally/gally-minimalist/css/index.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/css/index.php	(revision 16022)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/gally/gally-minimalist/css/theme.css
===================================================================
--- /extensions/gally/gally-minimalist/css/theme.css	(revision 16022)
+++ /extensions/gally/gally-minimalist/css/theme.css	(revision 16022)
@@ -0,0 +1,2168 @@
+/* -----------------------------------------------------------------------------
+  MINIMALIST
+  A Gally's theme for Piwigo
+  ------------------------------------------------------------------------------
+  file: gally/gally-minimalist/theme.css
+  file version: 1.1.0
+  ------------------------------------------------------------------------------
+  author: grum at grum.fr
+  << May the Little SpaceFrog be with you >>
+  ------------------------------------------------------------------------------
+  Minimalist for template "Gally"
+----------------------------------------------------------------------------- */
+
+div.errors {
+  background:#FFB0B0;
+  border:4px solid #802020;
+  color:#802020;
+  padding:8px;
+}
+div.errors a {
+  color:#800000;
+  font-weight:bold;
+}
+div.errors button {
+  color:#ffffff;
+  background:#802020;
+}
+div.errors button:hover {
+  color:#FFB0B0;
+}
+div.errors button:active {
+  color:#802020;
+  background:#ffffff;
+}
+
+
+div.infos {
+  background:#B0FFB0;
+  border:4px solid #208020;
+  color:#208020;
+  padding:8px;
+}
+div.infos a {
+  color:#008000;
+  font-weight:bold;
+}
+div.infos button {
+  color:#ffffff;
+  background:#208020;
+}
+div.infos button:hover {
+  color:#B0FFB0;
+}
+div.infos button:active {
+  color:#208020;
+  background:#ffffff;
+}
+
+div.errors ul, div.infos ul {
+  text-align:justify;
+  padding-left:0px;
+}
+
+div.errors ul li, div.infos ul li {
+  margin-bottom:4px;
+}
+
+div.ui-widget-overlay {
+  background:#101010;
+  opacity:0.88;
+  filter:alpha(opacity:88);
+  position:absolute;
+  left:0px;
+  top:0px;
+}
+
+.ui-dialog-buttonpane {
+  margin-bottom:8px;
+}
+
+
+/*
+ page
+*/
+
+body {
+  background:#ffffff;
+  color:#000000;
+  font-size:14px;
+}
+
+#the_page {
+  display:block;
+  background:transparent;
+  margin: auto auto auto 180px;
+  position: relative;
+}
+
+#thePicturePage #the_page {
+  margin: auto 40px;
+  min-width: 0;
+  position: relative;
+  width: auto;
+}
+
+a {
+  color: #666666;
+  outline:none;
+}
+
+a:hover {
+  color: #000000;
+}
+
+a:focus {
+  outline:none;
+}
+
+
+a.button {
+  -moz-border-radius:5px;
+  -webkit-border-radius:5px;
+  -khtml-border-radius:5px;
+  border-radius:5px;
+  display:block;
+  display:inline-block;
+  width:43px;
+  height:43px;
+  cursor:pointer;
+  border: 2px solid transparent;
+}
+a.navButton {
+  display:block;
+  display:inline-block;
+  width:16px;
+  height:15px;
+  cursor:pointer;
+  border:1px solid transparent;
+  border-radius:2px;
+}
+span.button {
+  display: inline-block;
+  cursor:pointer;
+}
+
+a.button, a.navButton, span.button {
+  background-image:url(./../icon/buttons.png);
+  background-repeat:no-repeat;
+}
+
+a.button:hover{
+  border:2px solid #000000;
+}
+
+
+
+/* index.tpl */
+
+#icon_caddie {
+  background-position:0px 0;
+}
+#icon_caddie:hover {
+  background-position:0px 0px;
+}
+
+#icon_category_edit {
+  background-position:-132px 0;
+}
+#icon_category_edit:hover {
+  background-position:-132px 0px;
+}
+
+#icon_search_rules {
+  background-position:-704px 0;
+}
+#icon_search_rules:hover {
+  background-position:-704px 0px;
+}
+
+#icon_start_slideshow {
+  background-position:-792px 0;
+}
+#icon_start_slideshow:hover {
+  background-position:-792px 0px;
+}
+
+#icon_flat {
+  background-position:-308px 0;
+}
+#icon_flat:hover {
+  background-position:-308px 0px;
+}
+
+#icon_normal_mode {
+  background-position:-528px 0;
+}
+#icon_normal_mode:hover {
+  background-position:-528px 0px;
+}
+
+#icon_calendar {
+  background-position:-44px 0;
+}
+#icon_calendar:hover {
+  background-position:-44px 0px;
+}
+
+#icon_calendar_created {
+  background-position:-88px 0;
+}
+#icon_calendar_created:hover {
+  background-position:-88px 0px;
+}
+
+#icon_sort {
+  background-position:-1892px 0;
+}
+#icon_sort:hover {
+  background-position:-1892px 0px;
+}
+
+/* about.tpl */
+/* comments.tpl */
+/* identification.tpl */
+/* nbm.tpl */
+/* notification.tpl */
+/* password.tpl */
+/* tags.tpl */
+/* profile.tpl */
+/* register.tpl */
+/* upload.tpl */
+#icon_home {
+  background-position:-396px 0;
+}
+#icon_home:hover {
+  background-position:-396px 0px;
+}
+
+/* identification.tpl */
+/* menubar_identification.tpl */
+#icon_lost_password {
+  background-position:-440px 0;
+}
+#icon_lost_password:hover {
+  background-position:-440px 0px;
+}
+
+#icon_register, #icon_register2, #icon_register3 {
+  background-position:-572px 0;
+}
+#icon_register:hover, #icon_register2:hover, #icon_register3:hover {
+  background-position:-572px 0px;
+}
+
+#icon_lost_password, #icon_lost_password2, #icon_lost_password3 {
+  background-position:-440px 0;
+}
+#icon_lost_password:hover, #icon_lost_password2:hover, #icon_lost_password3:hover {
+  background-position:-440px 0px;
+}
+
+/* menubar_categories.tpl */
+#icon_start_filter {
+  background-position:-1936px 0px;
+  width:16px;
+  height:16px;
+}
+#icon_start_filter:hover {
+  background-position:-1936px 0px;
+}
+
+#icon_stop_filter {
+  background-position:-1958px 0px;
+  width:16px;
+  height:16px;
+}
+#icon_stop_filter:hover {
+  background-position:-1958px 0px;
+}
+
+/* picture.tpl */
+#icon_high_res {
+  background-position:-264px 0;
+}
+#icon_high_res:hover {
+  background-position:-264px 0px;
+}
+
+#icon_stop_slideshow {
+  background-position:-748px 0;
+}
+#icon_stop_slideshow:hover {
+  background-position:-748px 0px;
+}
+
+#icon_metadata {
+  background-position:-484px 0;
+}
+#icon_metadata:hover {
+  background-position:-484px 0px;
+}
+
+#icon_save {
+  background-position:-660px 0;
+}
+#icon_save:hover {
+  background-position:-660px 0px;
+}
+
+#icon_favorite {
+  background-position:-176px 0;
+}
+#icon_favorite:hover {
+  background-position:-176px 0px;
+}
+
+#icon_del_favorite {
+  background-position:-220px 0;
+}
+#icon_del_favorite:hover {
+  background-position:-220px 0px;
+}
+
+#icon_delall_favorite {
+  background-position:-220px 0;
+}
+#icon_delall_favorite:hover {
+  background-position:-220px 0px;
+}
+
+#icon_representative {
+  background-position:-616px 0;
+}
+#icon_representative:hover {
+  background-position:-616px 0px;
+}
+
+#icon_preferences {
+  background-position:-132px 0;
+}
+#icon_preferences:hover {
+  background-position:-132px 0px;
+}
+
+#icon_derivatives {
+  background-position:-1848px 0;
+}
+#icon_derivatives:hover {
+  background-position:-1848px 0px;
+}
+
+/* tags.tpl */
+#icon_cloud {
+  background-position:-836px 0;
+}
+#icon_cloud:hover {
+  background-position:-836px 0px;
+}
+
+#icon_tag_letters {
+  background-position:-880px 0;
+}
+#icon_tag_letters:hover {
+  background-position:-880px 0px;
+}
+
+/* picture_nav_buttons.tpl */
+#icon_last {
+  background-position:-1144px 0;
+}
+#icon_last:hover {
+  border-color:#000000;
+  background-position:-1144px 0px;
+}
+#icon_last_unactive {
+  background-position:-1144px -88px;
+  cursor:default;
+}
+#icon_right {
+  background-position:-1232px 0;
+}
+#icon_right:hover {
+  border-color:#000000;
+  background-position:-1232px 0px;
+}
+#icon_right_unactive {
+  background-position:-1232px -88px;
+  cursor:default;
+}
+#icon_play {
+  background-position:-1364px 0;
+}
+#icon_play:hover {
+  border-color:#000000;
+  background-position:-1364px 0px;
+}
+
+#icon_pause {
+  background-position:-1408px 0;
+}
+#icon_pause:hover {
+  border-color:#000000;
+  background-position:-1408px 0px;
+}
+
+#icon_up {
+  background-position:-1320px 0;
+}
+#icon_up:hover {
+  background-position:-1320px 0px;
+  border-color:#000000;
+}
+
+#icon_left {
+  background-position:-1276px 0;
+}
+#icon_left:hover {
+  background-position:-1276px 0px;
+  border-color:#000000;
+}
+#icon_left_unactive {
+  background-position:-1276px -88px;
+  cursor:default;
+}
+#icon_first {
+  background-position:-1188px 0;
+}
+#icon_first:hover {
+  background-position:-1188px 0px;
+  border-color:#000000;
+}
+#icon_first_unactive {
+  background-position:-1188px -88px;
+  cursor:default;
+}
+
+#icon_start_repeat {
+  background-position:-1496px 0;
+}
+#icon_start_repeat:hover {
+  border-color:#000000;
+  background-position:-1496px 0px;
+}
+
+#icon_stop_repeat {
+  background-position:-1452px 0;
+}
+#icon_stop_repeat:hover {
+  border-color:#000000;
+  background-position:-1452px 0px;
+}
+
+#icon_dec_period {
+  background-position:-1540px 0;
+}
+#icon_dec_period:hover {
+  border-color:#000000;
+  background-position:-1540px 0px;
+}
+#icon_dec_period_unactive {
+  background-position:-1540px -88px;
+  cursor:default;
+}
+#icon_inc_period {
+  background-position:-1584px 0;
+}
+#icon_inc_period:hover {
+  border-color:#000000;
+  background-position:-1584px 0px;
+}
+#icon_inc_period_unactive {
+  background-position:-1584px -88px;
+  cursor:default;
+}
+
+/* popuphelp.tpl */
+/* search_rules.tpl */
+#icon_exit {
+  background-position:-1100px 0;
+}
+#icon_exit:hover {
+  background-position:-1100px 0px;
+}
+
+/* search.tpl */
+#icon_help {
+  background-position:-352px 0;
+}
+#icon_help:hover {
+  background-position:-352px 0px;
+}
+
+/* pseudo icons */
+span.id_recent {
+  background-position:-968px 0;
+  height: 11px;
+  width: 11px;
+  margin: -3px -3px 2px 2px;
+}
+span.id_recent_cat {
+  background-position:-990px 0;
+  height: 16px;
+  width: 22px;
+  position: relative;
+  top: 0px;
+  left:-6px;
+}
+span.id_recent_cat_by_child {
+  background-position:-990px 0;
+  height: 16px;
+  width: 22px;
+  position: relative;
+  left:-6px;
+}
+span.id_delete {
+  background-position:-1012px 0;
+  height: 16px;
+  width: 16px;
+}
+span.id_delete:hover {
+  background-position:-1012px 0px;
+}
+span.id_edit {
+  background-position:-1034px 0;
+  height: 16px;
+  width: 16px;
+}
+span.id_edit:hover {
+  background-position:-1034px 0px;
+}
+span.id_validate {
+  background-position:-1056px 0;
+  height: 16px;
+  width: 16px;
+}
+span.id_validate:hover {
+  background-position:-1056px -0px;
+}
+
+/*
+ * page : header
+*/
+#theHeader {
+}
+
+#theHeader h1 {
+  margin:0px;
+}
+
+/*
+ page : title
+*/
+.titrePage {
+  height:auto;
+  padding:0 12px 0 30px;
+  min-height:31px;
+}
+
+.titrePageEmpty {
+  height:0px;
+  min-height:0px;
+}
+
+
+.titrePage, .navigationBar, #imageHeaderBar {
+  margin-top: 8px;
+  padding: 0px 16px;
+  color:#000000;
+}
+
+.navigationBar {
+  padding: 2px;
+  position: fixed;
+  right: 0;
+  bottom:18px;
+}
+
+.navigationBarBG
+{
+  background: none repeat scroll 0 0 #FFFFFF;
+  border-radius: 8px 0 0 0;
+  display: block;
+  height: 100%;
+  position: absolute;
+  width: 100%;
+  z-index: 0;
+  opacity:0.5;
+  filter:alpha(opacity:50);
+}
+
+.navigationBarFG
+{
+  z-index: 900;
+  padding: 4px 0 0 4px;
+  position:relative;
+  color:#c0c0c0;
+}
+
+.navigationBarFG a {
+  font-weight:bold;
+}
+.navigationBarFG span.separator {
+  color:#000000;
+}
+
+
+.titrePage .categoryActions {
+  padding-top:2px;
+  height:50px;
+}
+
+div.categoryActionsContentBG {
+  -moz-border-radius:2px;
+  -webkit-border-radius:2px;
+  -khtml-border-radius:2px;
+  border-radius: 2px;
+  background: none repeat scroll 0 0 #FFFFFF;
+  height: 100%;
+  opacity: 0.75;
+  position: absolute;
+  width: 100%;
+  z-index: -1;
+}
+
+
+#titrePageID {
+  background: none; /* repeat scroll 0 0 #FFFFFF; */
+  border-radius: 4px 4px 4px 4px;
+  height: auto;
+  padding-bottom: 1px;
+  position: fixed;
+  right: 10px;
+  z-index: 800;
+}
+#titrePageID:hover {
+  visibility:visible;
+}
+
+#titrePageID div.browsePath {
+  float: none;
+  left: 20px;
+  position: fixed;
+  padding: 0;
+  z-index: 1050;
+}
+
+#titrePageID h2 a:hover, div.browsePath h2 a:hover {
+  border-bottom:1px dotted #666666;
+}
+
+#titrePageID h2 {
+  padding:2px 0;
+  clear: both;
+}
+
+div.browsePathBG {
+  -moz-border-radius:2px;
+  -webkit-border-radius:2px;
+  -khtml-border-radius:2px;
+  border-radius: 2px;
+  background: none repeat scroll 0 0 #FFFFFF;
+  height: 100%;
+  opacity: 0.75;
+  position: absolute;
+  width: 100%;
+  z-index: -1;
+}
+
+/*
+ * page content
+*/
+#content {
+  min-height:450px;
+}
+
+
+.titrePage h2 {
+  font-size:28px;
+}
+
+#content2 {
+  padding:8px;
+  position: relative;
+  top: 100px;
+}
+
+#content2 a {
+  border-bottom:1px dotted #666666;
+}
+
+/*
+ * page : identification, register, profile
+*/
+#identification, #register, #profile {
+  margin:0;
+  padding:16px;
+  position: relative;
+  top: 100px;
+}
+
+/*
+ page content : thumbnails
+*/
+
+#additional_infoTOP, #additional_infoBOTTOM {
+  -moz-border-radius:8px;
+  -webkit-border-radius:8px;
+  -khtml-border-radius:8px;
+  border-radius:8px;
+  background-color: #202020;
+  margin: 8px 0;
+  padding: 8px 0;
+}
+
+.additional_info {
+  padding:8px 8px 8px 16px;
+}
+
+#thumbnails {
+  font-size:80%;
+  font-weight:bold;
+  margin-bottom: 16px;
+}
+
+/*
+  page content : categories thumbnails
+*/
+
+#subContent {
+  padding: 60px 0 0;
+  clear:both;
+}
+
+#subContent h2 {
+  font-size: 150%;
+  padding-bottom:4px;
+}
+
+
+.thumbnailCategory {
+  display: block;
+  margin: 40px;
+  padding: 0;
+}
+
+div.thumbnailCategory span.id_recent_cat,
+div.thumbnailCategory span.id_recent_cat_by_child {
+  top:-5px;
+}
+div.thumbnailCategory:hover span.id_recent_cat {
+  background-position:-990px 0px;
+}
+div.thumbnailCategory:hover span.id_recent_cat_by_child {
+  background-position:-990px 0px;
+}
+
+
+.thumbnailCategory h3 {
+  font-size: 120%;
+  position:absolute;
+}
+.thumbnailCategory:hover h3 {
+  font-size: 150%;
+}
+
+.thumbnailCategory h3.odd0 {
+  margin: -17px 0 0;
+  text-align: left;
+}
+.thumbnailCategory:hover h3 {
+  margin: -21px 0 0;
+}
+
+.thumbnailCategory h3.odd1 {
+  margin: -2px 0 0;
+  text-align: right;
+  min-height:30px;
+}
+
+
+
+.thumbnailCategory div.imgContainer {
+  border:8px solid #000000;
+}
+.thumbnailCategory img {
+  opacity:0.75;
+  filter:alpha(opacity:75);
+  display:block;
+}
+.thumbnailCategory:hover img {
+  opacity:1;
+  filter:alpha(opacity:100);
+}
+
+
+ul.thumbnailCategories {
+  padding:16px 0 0;
+}
+
+ul.thumbnailCategories li {
+  float:none;
+  margin:auto;
+  display: inline-block;
+  width: auto;
+  min-width:0;
+}
+
+#thumbContents {
+  margin:0px;
+}
+
+.illustration {
+  padding: 0px 20px;
+  text-align: center;
+}
+
+div.illustration img {
+  border:4px solid #000000;
+}
+
+li.odd1 .illustration {
+}
+
+
+li p.thumbCatDesc, li p.thumbCatDescNbImg {
+  margin-left:-8px;
+  padding: 0 8px;
+}
+
+li p.thumbCatDescNbImg {
+  font-style: italic;
+  float:right;
+  margin-top: -2px;
+  color: #666666;
+}
+
+li p.thumbCatDesc {
+  margin-top: 4px;
+  padding-top: 4px;
+  text-align: justify;
+}
+
+div.thumbnailCategory div.description {
+  height:auto;
+}
+
+div ul.thumbnails {
+  padding-bottom:40px;
+}
+
+div ul.thumbnails li {
+  width: auto;
+  height: auto;
+  margin:40px;
+  display: inline-block;
+  float:none;
+}
+
+div ul.thumbnails li {
+  border:4px solid #000000;
+}
+
+div ul.thumbnails li a img {
+  display:block;
+  opacity:0.75;
+  filter:alpha(opacity:75);
+}
+
+div ul.thumbnails li:hover a img {
+  opacity:1;
+  filter:alpha(opacity:100);
+}
+
+
+/*
+ * page :search
+*/
+form.filter {
+  margin:0;
+  padding:16px;
+  position: relative;
+  top: 50px;
+}
+
+/*
+ * page:help
+*/
+.help {
+  margin:8px;
+}
+
+/*
+ page : copyright
+*/
+#copyright {
+  color: #000000;
+  font-size: 10px;
+  left: 0px;
+  border-top:1px solid #000000;
+  padding: 3px;
+  width: 100%;
+  z-index: 800;
+  background:#ffffff;
+  height:14px;
+}
+
+/*
+ page : menubar
+*/
+#menubar {
+  color: #000000;
+  display: block;
+  height: 30px;
+  left: -6px;
+  margin: 0;
+  overflow: visible;
+  padding: 50px 0 0;
+  position: fixed;
+  top: auto;
+  width: 200px;
+  z-index: 1000;
+  visibility:visible;
+}
+
+#menubar dt {
+  font-size:120%;
+  font-weight:bold;
+  cursor:default;
+  z-index:1010;
+}
+
+#menubar dt a {
+  color:#000000;
+}
+
+#menubar dl:hover dt:hover, #menubar dl:hover dt a:hover {
+  color:#ffffff;
+}
+
+#menubar dl:hover dt, #menubar dl:hover dt a {
+  color:#ffffff;
+}
+
+#menubar dl {
+  float:left;
+  margin:0px 1px 1px 10px;
+  padding:0px 6px 0;
+  max-height:30px;
+  width: 80%;
+}
+
+#menubar dl:hover {
+  background-color:#000000;
+  color:#ffffff;
+  -moz-border-radius:4px;
+  -webkit-border-radius:4px;
+  -khtml-border-radius:4px;
+  border-radius:4px;
+}
+
+#menubar ul {
+  list-style-type:none;
+  font-size:92%;
+  margin:0;
+  padding:0;
+}
+
+#menubar ul ul {
+  font-size:100%;
+  padding-bottom:0px;
+  padding-top:0px;
+}
+
+#menubar dt .button {
+  display:none;
+}
+
+#menubar p.totalImages {
+  font-size:65%;
+  margin-right:12px;
+  color:#ffffff;
+}
+
+
+div#menubar dd,
+div#menubar ul ul,
+div#menubar ul li:hover ul ul,
+div#menubar ul ul li:hover ul ul,
+div#menubar ul ul ul li:hover ul ul,
+div#menubar ul ul ul ul li:hover ul ul,
+div#menubar ul ul ul ul ul li:hover ul ul,
+div#menubar ul ul ul ul ul ul li:hover ul ul {
+  display:none;
+}
+
+#menubar dd ul ul {
+  -moz-border-radius:4px;
+  -webkit-border-radius:4px;
+  -khtml-border-radius:4px;
+  border-radius:4px;
+  left:99%;
+  position:absolute;
+  padding-top:4px;
+  padding-bottom:4px;
+  margin:-23px 0px 0px -6px; /* for FF, Opera, Safari... */
+  #margin:-8px 0px 0px -8px; /* for the M$IE (f**k M$IE and the bad tips) */
+}
+
+div#menubar dl:hover dd,
+div#menubar ul li:hover ul,
+div#menubar ul ul li:hover ul,
+div#menubar ul ul ul li:hover ul,
+div#menubar ul ul ul ul li:hover ul,
+div#menubar ul ul ul ul ul li:hover ul,
+div#menubar ul ul ul ul ul ul li:hover ul,
+div#menubar ul ul ul ul ul ul ul li:hover ul {
+  display:block;
+  background:#000000;
+  padding-bottom:6px;
+  min-width:180px;
+  border: 2px solid #000000;
+  color:#ffffff;
+
+  left: 85%;
+  margin: -35px 0 0 0;
+  position: absolute;
+  z-index: 500;
+}
+
+#menubar dd {
+  position:absolute;
+  z-index:-1;
+  border: 2px solid #000000;
+  margin: 0px 0 0 -8px;
+  -moz-border-radius:4px;
+  -webkit-border-radius:4px;
+  -khtml-border-radius:4px;
+  border-radius:4px;
+}
+
+
+#menubar li {
+  padding: 1px 8px;
+  white-space: nowrap;
+}
+#menubar li a {
+  color:#ffffff;
+}
+
+#menubar li:hover {
+  background:#ffffff;
+  color:#000000;
+  -moz-border-radius:2px;
+  -webkit-border-radius:2px;
+  -khtml-border-radius:2px;
+  border-radius:2px;
+}
+
+#menubar li:hover>a {
+  color:#000000;
+}
+
+#menubar li a.button {
+  background-color:#ffffff;
+  border:2px solid transparent;
+  -moz-border-radius:2px;
+  -webkit-border-radius:2px;
+  -khtml-border-radius:2px;
+  border-radius:2px;
+}
+
+
+#menubar ul.actions li:hover {
+  background-color:#ffffff;
+}
+
+#mbCategories dt {
+  height:20px;
+  overflow:hidden;
+}
+
+
+.menuInfoCat, .menuInfoCatByChild {
+  font-size: 70%;
+  color:#ffffff;
+}
+
+li:hover > span.menuInfoCat,
+li:hover > span.menuInfoCatByChild {
+  color:#666666;
+}
+
+#mbIdentification dd p {
+  color:#ffffff;
+}
+
+
+/*
+ calendar bar
+*/
+.calendarBar {
+  margin-top:2px;
+  text-align:center;
+  padding:0 15px;
+}
+span.calItemP {
+  float:left;
+}
+span.calItemN {
+  float:right;
+}
+
+span.calItem, span.calItemEmpty {
+  display:inline-table;
+  margin:1px;
+  min-width:15px;
+  padding-left:2px;
+  padding-right:2px;
+  border:1px solid #000000;
+  font-weight:bold;
+}
+
+td.calDayHead {
+  font-size:14px;
+  font-weight:normal;
+  padding-bottom:12px;
+}
+
+table.calMonth tbody td.calDayCellFull, table.calMonth tbody td.calDayCellEmpty {
+  border:1px solid #000000;
+  overflow:hidden;
+}
+
+.calBackDate {
+  color:#000000;
+  padding-left:10px;
+  padding-top:7px;
+}
+.calForeDate {
+  color: #fff;
+  padding-left:10px;
+  padding-top:6px;
+}
+
+table.calMonth tbody td.calDayCellEmpty, table.calMonth tbody td.calDayCellBlank {
+  height:97px;
+  width:84px;
+}
+
+td.calDayCellEmpty {
+  color:#666666;
+  padding-left:12px;
+  padding-top:8px;
+}
+
+div.calImg {
+  position:relative;
+  left:8px;
+  top:8px;
+}
+
+div.calImg img {
+  opacity:0.75;
+  filter:alpha(opacity:75);
+}
+
+div.calImg:hover img {
+  opacity:1;
+  filter:alpha(opacity:100);
+}
+
+
+.calendarCalBar {
+  padding-left:16px;
+  padding-top:8px;
+  margin-left:8px;
+  margin-right:12px;
+  margin-bottom: 8px;
+}
+
+.calendarBar span {
+  font-size:90%;
+}
+
+table.calMonth {
+  margin-left:auto;
+  margin-right:auto;
+  left:0px;
+}
+
+table.calMonth td.calDayCellFull:hover {
+  background-color:#ffffff;
+}
+
+div.calendarViews {
+  margin-top: 4px;
+}
+
+span.calCalHead a {
+  font-weight:bold;
+  font-size:150%;
+}
+span.calCalHead span.calCalNbImg,
+span.calCal span.calCalNbImg {
+  color:#666666;
+}
+span.calCalNbImg {
+    font-size: 70%;
+    left: -3px;
+    position: relative;
+    top: -8px;
+}
+
+/*
+  inputs
+*/
+input[type="text"], input[type="password"], select, textarea, file {
+ font-family: monospace;
+ background: #d9d9d9;
+ color:#333333;
+ border:none;
+ margin:0px;
+ max-width:640px;
+}
+
+input:focus, select:focus, textarea:focus {
+  background: #eeeeee;
+  color:#000000;
+}
+
+input[type="submit"], input[type="button"], input[type="reset"], button {
+  -moz-border-radius: 8px;
+  -webkit-border-radius:8px;
+  -khtml-border-radius:8px;
+  border-radius:8px;
+  background:#000000;
+  border:none;
+  color: #C0C0C0;
+  font-family: monospace;
+  font-weight: bold;
+  padding: 4px;
+  margin-top:1px;
+  cursor: pointer;
+}
+
+input[type="submit"]:hover, input[type="button"]:hover, input[type="reset"]:hover, button:hover {
+  color: #ffffff;
+}
+
+input[type="submit"]:active, input[type="button"]:active, input[type="reset"]:active, button:active {
+  background:#c0c0c0;
+  color: #000000;
+  outline:none;
+}
+
+
+/*
+input[type="submit"]:active, input[type="button"]:active, input[type="reset"]:active {
+  border-bottom:1px #ffffff solid;
+  border-right:1px #ffffff solid;
+  border-top:1px #606060 solid;
+  border-left:1px #606060 solid;
+}
+*/
+
+fieldset {
+  border: 2px solid #000000;
+  margin: 16px 4px;
+  padding: 8px;
+  font-size: 12px;
+}
+
+fieldset legend {
+  -moz-border-radius:4px;
+  -webkit-border-radius:4px;
+  -khtml-border-radius:4px;
+  border-radius:4px;
+  background: none repeat scroll 0 0 #000000;
+  color:#ffffff;
+  font-size: 14px;
+  font-weight: bold;
+  padding: 1px 16px;
+}
+
+#quickconnect {
+  color:#ffffff;
+}
+#quickconnect fieldset {
+  border: 2px solid #ffffff;
+  background:#000000;
+  margin: 16px 4px 4px;
+  padding: 4px;
+}
+#quickconnect fieldset legend {
+  background: none repeat scroll 0 0 #ffffff;
+  color:#000000;
+}
+#quickconnect #iValid {
+  margin-top:12px;
+}
+#quickconnect ul.actions {
+  float:right;
+}
+
+/*
+  picture page
+*/
+.switchBox {
+  -moz-border-radius:4px;
+  -webkit-border-radius:4px;
+  -khtml-border-radius:4px;
+  border-radius:4px;
+  background-color: #ffffff;
+  border: 2px solid #000000;
+  margin-left:4px;
+  z-index:15000;
+  margin-top:12px;
+}
+
+.switchBoxTitle {
+  font-size: 12px;
+  font-weight: bold;
+}
+
+.switchBoxCat {
+  margin-top:25px;
+}
+
+#thePicturePage #titrePageID {
+  min-height:0;
+  padding:0;
+  border:0;
+  margin:0;
+}
+
+#imageHeaderBar {
+  z-index: 1000;
+  position: relative;
+}
+
+#imageHeaderBar div {
+  color:#000000;
+}
+
+#imageHeaderBar div.browsePath {
+  float: none;
+  left: 20px;
+  position: fixed;
+  padding: 0;
+}
+
+#theImage {
+  position:static;
+  padding-bottom:0px;
+}
+
+#theImage p {
+  margin:0;
+}
+
+#theImgContainer {
+  border:8px #000000 solid;
+  margin-top:30px;
+}
+
+#theImageHigh {
+  position: fixed;
+}
+
+#theImgHighBg {
+  background-color:#000000;
+  opacity:0.88;
+  filter:alpha(opacity:88);
+}
+
+#theImgHighContainer {
+  -moz-border-radius:10px;
+  -webkit-border-radius:10px;
+  -khtml-border-radius:10px;
+  border-radius:10px;
+  background:#FFFFFF url(./../icon/processing.gif) no-repeat scroll 82px 42px;
+}
+
+#theImgHighCloseButton {
+  width:22px;
+  height:22px;
+  background:transparent url(./../icon/buttons.png) no-repeat scroll -1804px 0px;
+  top:-14px;
+  right:15px;
+  cursor:pointer;
+}
+#theImgHighCloseButton:hover {
+  background-position:-1804px -44px;
+}
+
+#theImgHighZoomButton {
+  width:22px;
+  height:22px;
+  top:-14px;
+  right:40px;
+  cursor:pointer;
+  background:transparent url(./../icon/buttons.png);
+}
+
+#theImgHighZoomButton.fit {
+  background-position:-1760px 0px;
+}
+#theImgHighZoomButton.fit:hover {
+  background-position:-1760px -44px;
+}
+
+#theImgHighZoomButton.full {
+  background-position:-1716px 0px;
+}
+#theImgHighZoomButton.full:hover {
+  background-position:-1716px -44px;
+}
+
+
+#imageHeaderBar.browsePath h2 {
+  font-weight:normal;
+}
+
+#imageToolBar {
+  top:0px;
+  margin-top: 15px;
+  position: fixed;
+  right: 10px;
+}
+
+.imageToolBarBg {
+  z-index:-1;
+  left:0px;
+  -moz-border-radius:6px;
+  -webkit-border-radius:6px;
+  -khtml-border-radius:6px;
+  border-radius:6px;
+  min-height: 23px;
+}
+
+div.navButtons {
+  background: none repeat scroll 0 0 #FFFFFF;
+  border-radius: 3px;
+  -moz-border-radius:3px;
+  -webkit-border-radius:3px;
+  -khtml-border-radius:3px;
+  margin-right: 5px;
+  padding: 1px;
+  position: absolute;
+  right: 0;
+  top: 5px;
+  width: auto;
+  z-index: 800;
+}
+
+
+#imageToolBar h2 {
+  color:#d9d9d9;
+  margin-top:6px;
+}
+
+#navThumbNext {
+  right:auto;
+  margin-left:768px;
+}
+
+#navThumbPrev {
+  left:auto;
+  margin-left:-14px;
+}
+
+#navThumbNext, #navThumbPrev {
+  top:310px;
+  max-height:200px;
+  height:200px;
+}
+
+#navThumbPrevContainer, #navThumbNextContainer {
+  height:200px;
+}
+
+.navThumbNextBg, .navThumbPrevBg {
+  -moz-border-radius:12px;
+  -webkit-border-radius:12px;
+  -khtml-border-radius:12px;
+  border-radius:12px;
+  background: none repeat scroll 0 0 #202020;
+  height:180px;
+  width:180px;
+  margin:10px;
+}
+
+#navThumbNextContainer:hover div.navThumbNextBg,
+#navThumbPrevContainer:hover div.navThumbPrevBg {
+  background:#000000;
+}
+
+
+#imageInfos {
+  z-index:100;
+}
+
+#imageInfosContainer {
+  padding-bottom:8px;
+}
+
+.imageMetaBg, .imageInfosBg {
+  background:#ffffff;
+  opacity:0.85;
+  filter:alpha(opacity:85);
+}
+
+.infoTable {
+  margin:auto;
+  font-size:90%;
+  max-width:94%;
+  color:#666666;
+  z-index:200;
+  border-collapse:collapse;
+  position:relative;
+}
+
+.infoTable td {
+  padding-bottom:5px;
+  padding-left:4px;
+  padding-right:5px;
+}
+
+.infoTable td.value, .infoTable td.label {
+  padding-right:50px;
+}
+
+.infoTable .label {
+  font-weight:bold;
+}
+
+.infoTable tr:hover {
+  color:#000000;
+  cursor:default;
+}
+.infoTable tr.emptyrow td {
+  height:4px;
+  padding:0px;
+}
+
+#updateRate {
+  margin-right:25px;
+  float:left;
+}
+#rateForm {
+  float:left;
+  position:relative;
+  top:-2px;
+}
+#rateForm input[type="button"].rateButtonStarFull,
+#rateForm input[type="button"].rateButtonStarFull:focus,
+#rateForm input[type="submit"].rateButtonStarFull  {
+  background: url('./../icon/buttons.png') no-repeat scroll; background-position:-1695px -2px; width:22px; height:20px;
+  outline:none;
+}
+
+#rateForm input[type="button"].rateButtonStarEmpty,
+#rateForm input[type="button"].rateButtonStarEmpty:focus,
+#rateForm input[type="submit"].rateButtonStarEmpty {
+  background: url('./../icon/buttons.png') no-repeat scroll; background-position:-1673px -2px; width:22px; height:20px;
+  outline:none;
+}
+
+#rateForm input[type="button"],
+#rateForm  input[type="button"]:active,
+#rateForm input[type="submit"],
+#rateForm  input[type="submit"]:active {
+  cursor:pointer;
+  border:none;
+  padding:0;
+}
+
+#privacyLevelBox {
+  font-weight:normal;
+}
+
+#privacyLevelBox a {
+  cursor:pointer;
+}
+
+#iPrivacyLevelLink {
+  cursor:pointer;
+  font-style:italic;
+}
+
+#comments {
+  padding:16px;
+}
+
+#theCommentsPage ul.commentList {
+  padding:0;
+}
+
+#theCommentsPage ul.commentList li {
+  margin-bottom: 8px;
+  padding: 4px;
+}
+
+#theCommentList ul.commentList {
+  padding: 0 0 0 17px;
+}
+
+.commentDetail ul {
+  list-style-type:none;
+  padding:4px;
+}
+.commentDetail ul li {
+  float:right;
+}
+
+#theCommentsPage ul.commentList li .commentDetail ul li {
+  display:inline;
+  margin:0;
+  padding:0;
+}
+
+.commentDetail .description {
+  padding-top: 12px;
+}
+
+.commentDetail .description .author,
+.commentDetail .description .date {
+  font-weight:bold;
+  color:#666666;
+}
+
+.commentDetail .description blockquote {
+  margin:0;
+  padding:4px 4px 8px 12px;
+  text-align:justify;
+}
+
+.commentDetail fieldset legend {
+  background:none;
+}
+
+#titleComment h3:hover {
+  background:#000000;
+}
+
+.comment_icon {
+  margin-left:5px;
+  padding:0;
+  position:absolute;
+}
+
+#theCommentBG {
+  background: none repeat scroll 0 0 #FFFFFF;
+  opacity: 0.85;
+}
+
+#theCommentContainer {
+  clear:both;
+  min-height:250px;
+  display:inline-block;
+}
+
+#theCommentContainer input, #theCommentContainer textarea {
+  max-width:418px;
+}
+
+#theCommentContainer #contentEditId {
+  max-width:410px;
+}
+
+#theCommentContainer form {
+  padding-right:8px;
+  padding-left:8px;
+  padding-top:0px;
+}
+
+#theCommentList {
+  height:75%;
+}
+
+#theCommentsContainer {
+  z-index:800;
+}
+
+.imageNumber {
+  font-size: 60%;
+  font-style: italic;
+  font-weight: normal;
+  left: 40px;
+  margin: 16px 0;
+  padding: 0;
+  position: fixed;
+}
+
+div.imageNumberTxt {
+  padding:4px;
+}
+
+/*
+ * tabs
+*/
+#theTabs {
+}
+
+#theTabsBg {
+  background:url("./../icon/1x1transp.gif") repeat scroll 0 0 transparent;
+}
+
+#theTabsheets {
+  margin:2px;
+}
+
+#theTabsheets li.tab, #theTabs div.tab {
+  -moz-border-radius:4px;
+  -webkit-border-radius:4px;
+  -khtml-border-radius:4px;
+  border-radius:4px;
+  background-color:transparent;
+  color:#ffffff;
+  display:block;
+  margin:0 2px 2px 4px;
+  padding:2px 8px;
+  position:relative;
+  top:2px;
+  font-size:11px;
+  height:14px;
+  clear: right;
+  float: right;
+}
+#theTabs #tabNavigate {
+  background-color:#ffffff;
+}
+#theTabsheets li.tab {
+  background-color:#ffffff;
+  border:1px solid transparent;
+}
+
+#theTabsheets li.tab a {
+  color:#000000;
+}
+
+#theTabsheets li.tab:hover {
+  border-color:#000000;
+}
+
+#theTabsheets li.ui-tabs-selected {
+  border-color:#000000;
+  border-left-width:8px;
+  background:#ffffff;
+}
+#theTabsheets li.ui-tabs-selected a {
+  color:#000000;
+}
+
+#theTabsContainer {
+  position:absolute;
+  z-index:850;
+  width:0px;
+  top:0px;
+}
+
+#theTabsContainer .navigationBar {
+  background:transparent;
+  margin:0px;
+  border:none;
+  float:right;
+}
+
+#theTabs #tabNavigate {
+  float:right;
+  margin:4px;
+  height:13px;
+  top:0;
+}
+
+
+#theTabs #tabNavigate div.navButtons {
+  margin: 0;
+  padding: 0;
+  position: relative;
+  top: -2px;
+  width: auto;
+  z-index: 100;
+}
+
+
+
+#theTabs #tabRandomButtons {
+  height: auto;
+  margin: 4px;
+  position: absolute;
+  padding:0px;
+  top:0;
+}
+
+#theTabs #tabImageInfos {
+  margin-left: 42px;
+}
+
+#theTabs div.tabPanel {
+  width:100%;
+  position:fixed;
+  left:0;
+  bottom:40px;
+}
+
+#theTabs div.tabPanel>div {
+  border:1px solid #000000;
+  margin:10px;
+  position:relative;
+}
+
+.randomButtons {
+  left: 0;
+  z-index: 110;
+  margin-left:0;
+  position:relative;
+  top:0;
+}
+
+div.randomButtons a.button {
+  display:block;
+  margin-top: 2px;
+  background-color: #FFFFFF;
+}
+
+
+/*
+  tags
+*/
+
+#fullTagCloud SPAN a:hover {
+  border-bottom:1px dotted #666666;
+}
+
+#menuTagCloud {
+  padding:6px;
+}
+
+#menuTagCloud SPAN {
+  margin:0px;
+}
+
+#menuTagCloud SPAN a {
+  color:#ffffff;
+}
+#menuTagCloud SPAN:hover a {
+  border-bottom:1px dotted #ffffff;
+}
+#menuTagCloud SPAN.add_tag:hover, #menuTagCloud SPAN:hover a.tagaddbutton {
+  border:none;
+}
+
+
+
+#fullTagCloud span a {
+  padding:4px;
+  margin:0px;
+}
+
+#fullTagCloud {
+  padding:8px 16px;
+  margin:0px;
+  position: relative;
+  top: 100px;
+}
+
+.tagLetters {
+  padding:8px 16px;
+}
+
+.nbEntries {
+  text-align:right;
+  padding-left:20px;
+  font-size:75%;
+}
+
+.tagaddbutton {
+  left:-4px;
+  position:relative;
+  top:-6px;
+}
+span.add_tag {
+  background-image:url(./../icon/buttons.png);
+  background-repeat:no-repeat;
+  width:9px;
+  height:9px;
+  background-position:-947px -1px;
+  display:inline-block;
+}
+span.add_tag:hover {
+  background-position:-947px -45px;
+}
+
+.mandatorystar {
+  color:#A04040;
+}
+
+.mandatorynfo {
+  font-size:90%;
+  margin:0 0 4px 8px
+}
+
+tr.tagLine {
+  border-bottom:1px solid transparent;
+}
+
+tr.tagLine:hover {
+  border-bottom:1px dotted #666666;
+}
+
+.tagLetterContent {
+  border-collapse: collapse;
+}
+
+/*
+  help
+*/
+#thePopuphelpPage h1 {
+  background:transparent;
+  padding-top:30px;
+}
+
+
+#thePopuphelpPage #the_page {
+  left: 0;
+  width: 96%;
+  margin:auto;
+}
+
+#thePopuphelpPage #theHeader {
+  -moz-border-radius: 12px;
+  -webkit-border-radius: 12px;
+  -khtml-border-radius: 12px;
+  border-radius: 12px;
+  background: none repeat scroll 0 0 #202020;
+  margin-top: 8px;
+  padding: 0px 16px;
+  border-top: 4px solid;
+  color:#666666;
+}
+
+#thePopuphelpPage #content {
+  margin:0 8px;
+  min-height:0;
+  padding:16px 16px 52px;
+}
+
+#thePopuphelpPage #copyright {
+  width: 96%;
+}
+
+#thePopuphelpPage ul.categoryActions {
+  margin:-16px 0 0;
+  padding:0;
+}
+
+/*
+ * diaporama
+*/
+#imageHeaderBar h2.showtitle {
+  display:inline;
+}
+
+#imageHeaderBar div.slideShow {
+  padding:2px 0 0 5px;
+}
+
+/*
+ * notification
+ */
+span.rssFeed {
+  display:inline-block;
+  width:11px;
+  height:14px;
+  background-image:url(./../icon/buttons.png);
+  background-repeat:no-repeat;
+  background-position:-1628px 0;
+  margin-right: 4px;
+  position: relative;
+  top: 2px;
+}
+
+
+
+
+/*
+ * tips
+ */
+
+#iSimpleTipContent {
+  background: none repeat scroll 0 0 #C0C0C0;
+  border: none;
+  color: #202020;
+  font-family: sans-serif;
+  font-size: 11px;
+  max-width: 200px;
+  padding: 4px;
+  min-height: 15px;
+}
+#iSimpleTipShadow, #iSimpleTipContent {
+  -moz-border-radius:4px;
+  -webkit-border-radius:4px;
+  -khtml-border-radius:4px;
+  border-radius:4px;
+}
+
+#iSimpleTipContent span.title {
+  font-weight:bold;
+}
+#iSimpleTipContent ul, #iSimpleTipContent ol {
+  margin:4px;
+  padding-left:15px;
+}
+
+#iSimpleTipContent img {
+  margin:8px;
+}
+
+#iSimpleTipContent span.navDesc {
+  text-align:center;
+  display:block;
+}
+
+#iSimpleTipContent span.navAction {
+  font-weight:bold;
+}
+#iSimpleTipContent span.navTitle {
+  font-style:italic;
+}
+
+.cSimpleTipArrow {
+    background-image: url("./../icon/sTipArrows.png");
+}
+
+.cSimpleTipArrow {
+    background-repeat: no-repeat;
+    height: 12px;
+    position: absolute;
+    width: 12px;
+}
+
+
+/*
+ vd language switch plugin
+*/
+ul.categoryActions li.menuf ul li a, .menuf ul li a:visited {
+  height:27px;
+  line-height:27px;
+  margin-top:3px;
+}
+
+.menuf ul.flag-pan .flags:hover, .menuf a img.flags {
+  border:1px solid #000000;
+}
+
+.menuf ul.flag-pan .flags {
+  border:1px solid #000000;
+}
+
+.menuf ul.flag-pan {
+  -moz-border-radius: 4px;
+  -webkit-border-radius:4px;
+  -khtml-border-radius:4px;
+  border-radius:4px;
+  background: #ffffff;
+  border: 2px solid #000000;
+  padding-bottom: 4px;
+  margin-left: 6px;
+  margin-top: -4px;
+}
+
+li.menuf {
+  left: 15px;
+  margin-top: 10px;
+  position: fixed;
+  z-index:1500;
+}
+
+li.menuf ul li:hover ul {
+  display:block;
+  left:-15px;
+}
+li.menuf ul li {
+  margin-left:0;
+  top:8px;
+}
+li.menuf ul li ul.flag-pan li {
+  margin-left:5px;
+  top:0px;
+}
+
+/*
+ * PWG Stuff plugin
+*/
+div.stuffs_block {
+  margin:0px;
+  padding:0px;
+}
+
+div.stuffs_block .stuffs {
+  margin:0px;
+  padding:0px;
+  background:transparent;
+}
+
+div.stuffs_block .stuffs h2 {
+  margin:0px;
+  padding-top:4px;
+}
+
+div.stuffs_block div.personal_block,
+div.stuffs_block #comments {
+  -moz-border-radius: 12px;
+  -webkit-border-radius:12px;
+  -khtml-border-radius:12px;
+  border-radius:12px;
+  background: #202020;
+  margin-top: -24px;
+  margin-bottom: 8px;
+  padding: 35px 15px 15px;
+}
+
+/*
+ * AMM compatibility
+*/
+div#menubar dd.randompicdd {
+  margin-left:-7px;
+}
+
+div#irandompicinner.illustration {
+  height:auto;
+  padding:0px;
+}
+
+
+
+/*
+ * GMaps compatibility
+ */
+#icon_gmaps {
+  height:43px;
+}
+#icon_gmaps.size42x28 {
+  background-image:url(./../icon/gmaps/i42x28.png);
+  width:65px;
+}
+#icon_gmaps.size28x28 {
+  background-image:url(./../icon/gmaps/i28x28.png);
+  width:43px;
+}
+
+/*
+ * LMT compatibility
+ */
+#copyright img.logo80x15 {
+  top: 2px;
+}
+#theImage table img.logo88x31 {
+  top:2px;
+}
+
+/*
+ * Histogram compatibility
+ */
+#iHistoContent {
+  margin:5px;
+}
Index: /extensions/gally/gally-minimalist/icon/asearchengine/index.php
===================================================================
--- /extensions/gally/gally-minimalist/icon/asearchengine/index.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/icon/asearchengine/index.php	(revision 16022)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/gally/gally-minimalist/icon/gmaps/index.php
===================================================================
--- /extensions/gally/gally-minimalist/icon/gmaps/index.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/icon/gmaps/index.php	(revision 16022)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/gally/gally-minimalist/icon/index.php
===================================================================
--- /extensions/gally/gally-minimalist/icon/index.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/icon/index.php	(revision 16022)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/gally/gally-minimalist/icon/xcf/index.php
===================================================================
--- /extensions/gally/gally-minimalist/icon/xcf/index.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/icon/xcf/index.php	(revision 16022)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/gally/gally-minimalist/index.php
===================================================================
--- /extensions/gally/gally-minimalist/index.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/index.php	(revision 16022)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/gally/gally-minimalist/js/theme.js
===================================================================
--- /extensions/gally/gally-minimalist/js/theme.js	(revision 16022)
+++ /extensions/gally/gally-minimalist/js/theme.js	(revision 16022)
@@ -0,0 +1,41 @@
+/* -----------------------------------------------------------------------------
+  GALLY-MINIMALIST
+  Template for Piwigo
+  ------------------------------------------------------------------------------
+  file release:  1.0.0
+  theme release: 1.5.0
+  ------------------------------------------------------------------------------
+  author: grum at piwigo.org
+  << May the Little SpaceFrog be with you >>
+  ------------------------------------------------------------------------------
+  Specific JS for the theme
+
+  see the release_notes.txt file for more informations
+----------------------------------------------------------------------------- */
+
+var gallyMinimalist=null;
+
+$(document).ready(
+  function()
+  {
+    gallyMinimalist=new GallyMinimalist();
+  }
+);
+
+
+function GallyMinimalist()
+{
+  function init()
+  {
+    var flag=$('li.menuf a.activeFlag');
+
+    if(flag.length>0) changeFlagTip();
+  }
+
+  function changeFlagTip()
+  {
+    $('li.menuf img').addClass('sTipOnTop');
+  }
+
+  init();
+}
Index: /extensions/gally/gally-minimalist/language/de_DE/index.php
===================================================================
--- /extensions/gally/gally-minimalist/language/de_DE/index.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/language/de_DE/index.php	(revision 16022)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/gally/gally-minimalist/language/de_DE/theme.lang.php
===================================================================
--- /extensions/gally/gally-minimalist/language/de_DE/theme.lang.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/language/de_DE/theme.lang.php	(revision 16022)
@@ -0,0 +1,10 @@
+<?php
+
+$lang['gally_menu_1'] = 'Menu';
+$lang['gally_menu_1_desc'] = 'Diese Seite erlaubt Ihnen die Eigenschaften des Galeriemenüs zu definieren'; 
+$lang['gally_expand_menu'] = 'Menü erweitern';
+$lang['gally_expand_menu_desc'] = 'Diese Option ermöglicht es Ihnen, das vollständige Menü der Kategorien / Unterkategorien zu entfalten.'; 
+$lang['gally_expand_menu_yes'] = 'Das Menü erweitern'; 
+$lang['gally_expand_menu_no'] = 'Das Menü erweitern nicht erweitern';
+
+?>
Index: /extensions/gally/gally-minimalist/language/en_UK/index.php
===================================================================
--- /extensions/gally/gally-minimalist/language/en_UK/index.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/language/en_UK/index.php	(revision 16022)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/gally/gally-minimalist/language/en_UK/theme.lang.php
===================================================================
--- /extensions/gally/gally-minimalist/language/en_UK/theme.lang.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/language/en_UK/theme.lang.php	(revision 16022)
@@ -0,0 +1,10 @@
+<?php
+
+$lang['gally_menu_1'] = 'Menu';
+$lang['gally_menu_1_desc'] = 'This page lets you define the properties of the menu of the gallery';
+$lang['gally_expand_menu'] = 'Expand menu';
+$lang['gally_expand_menu_desc'] = 'This option allows you to develop the full menu of categories / subcategories';
+$lang['gally_expand_menu_yes'] = 'Expand the menu';
+$lang['gally_expand_menu_no'] = 'Don\'t expand the menu';
+
+?>
Index: /extensions/gally/gally-minimalist/language/fr_FR/index.php
===================================================================
--- /extensions/gally/gally-minimalist/language/fr_FR/index.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/language/fr_FR/index.php	(revision 16022)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/gally/gally-minimalist/language/fr_FR/theme.lang.php
===================================================================
--- /extensions/gally/gally-minimalist/language/fr_FR/theme.lang.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/language/fr_FR/theme.lang.php	(revision 16022)
@@ -0,0 +1,10 @@
+<?php
+
+$lang['gally_menu_1'] = 'Menu';
+$lang['gally_menu_1_desc'] = 'Cette page permet de définir les propriétés du menu de navigation de la galerie';
+$lang['gally_expand_menu'] = 'Développement du menu';
+$lang['gally_expand_menu_desc'] = 'Cette option permet de développer intégralement le menu des catégories/sous-catégories';
+$lang['gally_expand_menu_yes'] = 'Développer le menu';
+$lang['gally_expand_menu_no'] = 'Ne pas développer le menu';
+
+?>
Index: /extensions/gally/gally-minimalist/language/it_IT/index.php
===================================================================
--- /extensions/gally/gally-minimalist/language/it_IT/index.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/language/it_IT/index.php	(revision 16022)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/gally/gally-minimalist/language/it_IT/theme.lang.php
===================================================================
--- /extensions/gally/gally-minimalist/language/it_IT/theme.lang.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/language/it_IT/theme.lang.php	(revision 16022)
@@ -0,0 +1,10 @@
+<?php
+
+$lang['gally_menu_1'] = 'Menù';
+$lang['gally_menu_1_desc'] = 'Questa pagina consente di definire le proprietà del menu della galleria'; 
+$lang['gally_expand_menu'] = 'Espandere menù';
+$lang['gally_expand_menu_desc'] = 'Questa opzione vi permette di sviluppare il menu completo delle categorie / sottocategorie'; 
+$lang['gally_expand_menu_yes'] = 'Espandere il menù'; 
+$lang['gally_expand_menu_no'] = 'Non espandere il menù';
+
+?>
Index: /extensions/gally/gally-minimalist/language/lv_LV/index.php
===================================================================
--- /extensions/gally/gally-minimalist/language/lv_LV/index.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/language/lv_LV/index.php	(revision 16022)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/gally/gally-minimalist/language/lv_LV/theme.lang.php
===================================================================
--- /extensions/gally/gally-minimalist/language/lv_LV/theme.lang.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/language/lv_LV/theme.lang.php	(revision 16022)
@@ -0,0 +1,10 @@
+<?php
+
+$lang['gally_menu_1'] = 'Izve-lne';
+$lang['gally_menu_1_desc'] = 'Ši- lapa- var define-t galerijas izve-lnes i-paši-bas';
+$lang['gally_expand_menu'] = 'Izve-rst izve-lni';
+$lang['gally_expand_menu_desc'] = 'Ši- opcija l,auj izstra-da-t un atti-sti-t kategoriju/apakškategoriju izve-lnes pilni-ba-.';
+$lang['gally_expand_menu_yes'] = 'Izve-rst izve-lni';
+$lang['gally_expand_menu_no'] = 'Neizve-rst izve-lni';
+
+?>
Index: /extensions/gally/gally-minimalist/language/no_NO/index.php
===================================================================
--- /extensions/gally/gally-minimalist/language/no_NO/index.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/language/no_NO/index.php	(revision 16022)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/gally/gally-minimalist/language/no_NO/theme.lang.php
===================================================================
--- /extensions/gally/gally-minimalist/language/no_NO/theme.lang.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/language/no_NO/theme.lang.php	(revision 16022)
@@ -0,0 +1,10 @@
+<?php
+
+$lang['gally_menu_1'] = 'Meny';
+$lang['gally_menu_1_desc'] = 'Denne siden lar deg definere egenskapene til menyen i galleriet'; 
+$lang['gally_expand_menu'] = 'Vis hele menyen'; 
+$lang['gally_expand_menu_desc'] = 'Dette alternativet lar deg utvikle full meny album og underalbum'; 
+$lang['gally_expand_menu_yes'] = 'Vis hele menyen'; 
+$lang['gally_expand_menu_no'] = 'Ikke vis hele menyen';
+
+?>
Index: /extensions/gally/gally-minimalist/mail-css.tpl
===================================================================
--- /extensions/gally/gally-minimalist/mail-css.tpl	(revision 16022)
+++ /extensions/gally/gally-minimalist/mail-css.tpl	(revision 16022)
@@ -0,0 +1,45 @@
+{literal}
+body {
+  background:#101010;
+  color:#d9d9d9;
+}
+#the_page {
+  width:954;
+  margin:auto;
+}
+#content {
+  width:954px;
+  color:#dedede;
+  margin:0px;
+  padding:0px;
+}
+#header {
+  width:954px;
+  -moz-border-radius: 12px;
+  -webkit-border-radius: 12px;
+  -khtml-border-radius: 12px;  font-size:9px;
+  border-radius: 12px;
+  background:#202020;
+  margin-top: 8px;
+}
+#copyright {
+  background:#202020;
+  -moz-border-radius: 12px;
+  -webkit-border-radius: 12px;
+  -khtml-border-radius: 12px;  font-size:9px;
+  border-radius: 12px;
+  padding:16px;
+  width:954px;
+}
+
+hr { border:none; border-top:2px solid #292929; }
+#copyright hr { display:none; }
+
+h2 { background: #101010 }
+img { border:4px solid #101010; margin:8px; padding:0; }
+img:hover { border:4px solid #292929; border:none; margin:8px; padding:0; }
+a { color: #C0C0C0; }
+a:hover { color: #F0F0F0; }
+{/literal}
+
+
Index: /extensions/gally/gally-minimalist/pem_metadata.txt
===================================================================
--- /extensions/gally/gally-minimalist/pem_metadata.txt	(revision 16022)
+++ /extensions/gally/gally-minimalist/pem_metadata.txt	(revision 16022)
@@ -0,0 +1,4 @@
+File automatically created from SVN repository.
+
+URL: http://piwigo.org/svn/extensions/gally/gally-lapis-lazuli 
+Revision: 6109
Index: /extensions/gally/gally-minimalist/template/delete.month_calendar.tpl
===================================================================
--- /extensions/gally/gally-minimalist/template/delete.month_calendar.tpl	(revision 16022)
+++ /extensions/gally/gally-minimalist/template/delete.month_calendar.tpl	(revision 16022)
@@ -0,0 +1,96 @@
+<!-- **GBL** >MONTH_CALENDAR> -->
+{if !empty($chronology_navigation_bars) }
+{foreach from=$chronology_navigation_bars item=bar}
+<div class="calendarBar">
+  {if isset($bar.previous)}
+    <span class="calItemP"><a href="{$bar.previous.URL}">&laquo;  {$bar.previous.LABEL}</a></span>
+  {/if}
+
+  {if isset($bar.next)}
+    <span class="calItemN" ><a href="{$bar.next.URL}">{$bar.next.LABEL} &raquo;</a></span>
+  {/if}
+
+  {if empty($bar.items)}
+    &nbsp;
+  {else}
+    {foreach from=$bar.items item=item}
+    <span class="calItem{if !isset($item.URL)}Empty{/if}" {if isset($item.NB_IMAGES)}title="{$pwg->l10n_dec('%d image', '%d images', $item.NB_IMAGES)}"{/if}>
+    {if isset($item.URL)}
+      <a href="{$item.URL}">{$item.LABEL}</a>
+    {else}
+      {$item.LABEL}
+    {/if}
+    </span>
+    {/foreach}
+
+  {/if}
+  </div>
+{/foreach}
+{/if}
+
+{if !empty($chronology_calendar.calendar_bars) }
+{foreach from=$chronology_calendar.calendar_bars item=bar}
+<div class="calendarCalBar">
+  <span class="calCalHead"><a href="{$bar.U_HEAD}">{$bar.HEAD_LABEL}</a>
+  <span class="calCalNbImg">[{$bar.NB_IMAGES}]</span>
+  </span><br/>
+  {foreach from=$bar.items item=item}
+    <span class="calCal{if !isset($item.URL)}Empty{/if}">
+    {if isset($item.URL)}
+      <a href="{$item.URL}">{$item.LABEL}</a>
+    {else}
+      {$item.LABEL}
+    {/if}
+    {if isset($item.NB_IMAGES)}<span class="calCalNbImg">[{$item.NB_IMAGES}]</span>{/if}
+    </span>
+  {/foreach}
+</div>
+{/foreach}
+{/if}
+
+{if isset($chronology_calendar.month_view) }
+<div>
+  <table class="calMonth">
+  <thead>
+  <tr>
+  {foreach from=$chronology_calendar.month_view.wday_labels item=wday}
+    <td class="calDayHead">{$wday}</td>
+  {/foreach}
+  </tr>
+  </thead>
+  {html_head} {*add the style to html head for strict standard compliance*}
+  <style type="text/css">
+  TABLE.calMonth TBODY TD, TABLE.calMonth TBODY TD DIV.calImg {ldelim}
+    width:{$chronology_calendar.month_view.CELL_WIDTH}px;height:{$chronology_calendar.month_view.CELL_HEIGHT}px;
+  }
+  </style>
+  {/html_head}
+  {foreach from=$chronology_calendar.month_view.weeks item=week}
+  <tr>
+    {foreach from=$week item=day}
+    {if !empty($day)}
+      {if isset($day.IMAGE)}
+        <td class="calDayCellFull">
+          <div class="calBackDate">{$day.DAY}</div><div class="calForeDate">{$day.DAY}</div>
+          <div class="calImg sTipOnRight" title="{$pwg->l10n_dec('%d image','%d images', $day.NB_ELEMENTS)}" >
+            <a href="{$day.U_IMG_LINK}">
+                <img style="{$day.IMAGE_STYLE}" src="{$day.IMAGE}" alt="{$day.IMAGE_ALT}" />
+            </a>
+          </div>
+      {else}
+        <td class="calDayCellEmpty">{$day.DAY}
+      {/if}
+    {else}
+      <td class="calDayCellBlank">
+    {/if}
+    </td>
+    {/foreach} {*day in week*}
+  </tr>
+  {/foreach}  {*week in month*}
+  </table>
+</div>
+{/if}
+
+
+
+<!-- **GBL** <MONTH_CALENDAR< -->
Index: /extensions/gally/gally-minimalist/template/index.tpl
===================================================================
--- /extensions/gally/gally-minimalist/template/index.tpl	(revision 16022)
+++ /extensions/gally/gally-minimalist/template/index.tpl	(revision 16022)
@@ -0,0 +1,204 @@
+<!-- **GBL** >INDEX> -->
+
+{if !empty($PLUGIN_INDEX_CONTENT_BEFORE)}{$PLUGIN_INDEX_CONTENT_BEFORE}{/if}
+
+<div id="content" class="content">
+  <div class="titrePage" id='titrePageID'>
+
+    {if #menuAnimated# == "noswitch"}
+      {$MENUBAR}
+    {else}
+    <div id="menuswitcher">
+      <a id="icon_menu" class="button" onclick="gallyCP.switchmenu('', '{$ROOT_URL}{$themeconf.icon_dir}/');">&nbsp;
+      </a>
+    </div>
+    {/if}
+
+      {if !empty($image_orders)}
+      <div id="sortOrderBox" class="switchBox switchBoxCat">
+        <div class="switchBoxTitle">{'Sort order'|@translate}</div>
+        {foreach from=$image_orders item=image_order name=loop}{if !$smarty.foreach.loop.first}<br>{/if}
+        {if $image_order.SELECTED}
+        <span>&#x2714; </span>{$image_order.DISPLAY}
+        {else}
+        <span style="visibility:hidden">&#x2714; </span><a href="{$image_order.URL}" rel="nofollow">{$image_order.DISPLAY}</a>
+        {/if}
+        {/foreach}
+      </div>
+      {/if}
+
+    <div class="categoryActionsContent" id="categoryActionsContent">
+      <div class="categoryActionsContentBG">&nbsp;</div>
+
+      {if !empty($image_derivatives)}
+      <div id="derivativeSwitchBox" class="switchBox switchBoxCat">
+        <div class="switchBoxTitle">{'Photo sizes'|@translate}</div>
+        {foreach from=$image_derivatives item=image_derivative name=loop}
+        {if !$smarty.foreach.loop.first}<br>{/if}
+        {if $image_derivative.SELECTED}
+        <span>&#x2714; </span>{$image_derivative.DISPLAY}
+        {else}
+        <span style="visibility:hidden">&#x2714; </span>
+        <a href="{$image_derivative.URL}" rel=nofollow">{$image_derivative.DISPLAY}</a>
+        {/if}
+        {/foreach}
+      </div>
+      {/if}
+
+      <ul class="categoryActions" id="categoryActionsID">
+        <li>&nbsp;</li>
+        {if !empty($image_orders) }
+        <li><a title="{'Sort order'|@translate}" id="icon_sort" class="button"></a></li>
+        {/if}
+
+        {if !empty($image_derivatives) }
+        <li><a title="{'Photo sizes'|@translate}" id="icon_derivatives" class="button"></a></li>
+        {/if}
+
+
+        {if isset($favorite)}
+        <li><a href="{$favorite.U_FAVORITE}" title="{'delete all photos from your favorites'|@translate}" id="icon_delall_favorite" class="button"></a></li>
+        {/if}
+
+        {if isset($U_CADDIE)}
+        <li><a href="{$U_CADDIE}" title="{'Add tocaddie'|@translate}" id="icon_caddie" class="button"></a></li>
+        {/if}
+
+        {if isset($U_EDIT)}
+        <li><a href="{$U_EDIT}" title="{'Edit album'|@translate}" id="icon_category_edit" class="button" ></a></li>
+        {/if}
+
+        {if isset($U_SEARCH_RULES)}
+        <li><a href="{$U_SEARCH_RULES}" style="border:none;" onclick="popuphelp(this.href); return false;" title="{'Search rules'|@translate}" rel="nofollow" id="icon_search_rules" class="button"></a></li>
+        {/if}
+
+        {if isset($U_SLIDESHOW)}
+        <li><a href="{$U_SLIDESHOW}" title="{'slideshow'|@translate}" rel="nofollow" id="icon_start_slideshow" class="button"></a></li>
+        {/if}
+
+        {if isset($U_MODE_FLAT)}
+        <li><a href="{$U_MODE_FLAT}" title="{'display all photos in all sub-albums'|@translate}" rel="nofollow" id="icon_flat" class="button"></a></li>
+        {/if}
+
+        {if isset($U_MODE_NORMAL)}
+        <li><a href="{$U_MODE_NORMAL}" title="{'return to normal view mode'|@translate}" id="icon_normal_mode" class="button"></a></li>
+        {/if}
+
+        {if isset($U_MODE_POSTED)}
+        <li><a href="{$U_MODE_POSTED}" title="{'display a calendar by posted date'|@translate}" rel="nofollow" id="icon_calendar" class="button"></a></li>
+        {/if}
+
+        {if isset($U_MODE_CREATED)}
+        <li><a href="{$U_MODE_CREATED}" title="{'display a calendar by creation date'|@translate}" rel="nofollow" id="icon_calendar_created" class="button"></a></li>
+        {/if}
+
+        {if !empty($PLUGIN_INDEX_ACTIONS)}{$PLUGIN_INDEX_ACTIONS}{/if}
+      </ul>
+    </div>
+
+    <div class="browsePath">
+      <div class="browsePathBG">&nbsp;</div>
+      <h2 class='treeLinks'>{$TITLE|replace:' / ':' &#124; '}</h2>
+    </div>
+
+  </div> <!-- titrePage -->
+
+{if #menuAnimated# != "noswitch"}
+  {$MENUBAR}
+{/if}
+
+
+<div id="subContent">
+  <div class="titrePage{if !(isset($chronology_views) or isset($chronology.TITLE))}Empty{/if}" id="titreContent1">
+    {if isset($chronology_views)}
+    <div class="calendarViews">{'View'|@translate}:
+      <select onchange="document.location = this.options[this.selectedIndex].value;">
+        {foreach from=$chronology_views item=view}
+        <option value="{$view.VALUE}"{if $view.SELECTED} selected="selected"{/if}>{$view.CONTENT}</option>
+        {/foreach}
+      </select>
+    </div>
+    {/if}
+
+    {if isset($chronology.TITLE)}
+    <h2 class="calendarTitle">{$chronology.TITLE}</h2>
+    {/if}
+  </div>
+
+  {if isset($errors) or not empty($infos)}
+  {include file='infos_errors.tpl'}
+  {/if}
+  {if !empty($PLUGIN_INDEX_CONTENT_BEGIN)}{$PLUGIN_INDEX_CONTENT_BEGIN}{/if}
+
+  {if !empty($category_search_results)}
+  <div style="font-size:16px;text-align:left;margin:10px">{'Album results for'|@translate} <strong>{$QUERY_SEARCH}</strong> :
+    <em><strong>
+    {foreach from=$category_search_results item=res name=res_loop}
+    {if !$smarty.foreach.res_loop.first} &mdash; {/if}
+    {$res}
+    {/foreach}
+    </strong></em>
+  </div>
+  {/if}
+
+  {if !empty($tag_search_results)}
+  <div style="font-size:16px;text-align:left;margin:10px">{'Tag results for'|@translate} <strong>{$QUERY_SEARCH}</strong> :
+    <em><strong>
+    {foreach from=$tag_search_results item=res name=res_loop}
+    {if !$smarty.foreach.res_loop.first} &mdash; {/if}
+    {$res}
+    {/foreach}
+    </strong></em>
+  </div>
+  {/if}
+
+  {if isset($FILE_CHRONOLOGY_VIEW)}
+  {include file=$FILE_CHRONOLOGY_VIEW}
+  {/if}
+
+  {if !empty($CATEGORIES) or !empty($THUMBNAILS) or !empty($CONTENT_DESCRIPTION)}
+  <table id="thumbContents"><tr>
+    {if !empty($CONTENT_DESCRIPTION) }
+    <td class="additional_info" id="additional_infoID">
+      <div id="additional_infoLEFT">
+        {$CONTENT_DESCRIPTION}
+      </div>
+    </td>
+    {/if}
+
+    {if !empty($CATEGORIES) or !empty($THUMBNAILS)}
+    <td id="thumbContainer">
+      <div id="thumbSubContainer">
+
+        <div id="additional_infoTOP">
+          {if !empty($CONTENT_DESCRIPTION_TOP) }
+          {$CONTENT_DESCRIPTION_TOP}
+          {/if}
+        </div>
+
+        {if !empty($CATEGORIES)}<div id="categories">{$CATEGORIES}</div>{/if}
+        {if !empty($THUMBNAILS)}<div id="thumbnails">{$THUMBNAILS}</div>{/if}
+
+        <div id="additional_infoBOTTOM">
+          {if !empty($CONTENT_DESCRIPTION_BOTTOM) }
+          {$CONTENT_DESCRIPTION_BOTTOM}
+          {/if}
+        </div>
+
+      </div>
+    </td>
+    {/if}
+  </tr></table>
+  {/if}
+
+  {if !empty($navbar)}{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if}
+
+</div>{* subContent *}
+
+
+
+{if !empty($PLUGIN_INDEX_CONTENT_END) }{$PLUGIN_INDEX_CONTENT_END}{/if}
+</div> {* content *}
+
+{if !empty($PLUGIN_INDEX_CONTENT_AFTER)}{$PLUGIN_INDEX_CONTENT_AFTER}{/if}
+<!-- **GBL** <INDEX< -->
Index: /extensions/gally/gally-minimalist/template/mainpage_categories.tpl
===================================================================
--- /extensions/gally/gally-minimalist/template/mainpage_categories.tpl	(revision 16022)
+++ /extensions/gally/gally-minimalist/template/mainpage_categories.tpl	(revision 16022)
@@ -0,0 +1,42 @@
+<!-- **GBL** >MAINPAGE_CATEGORIES> -->
+
+<ul class="thumbnailCategories">
+  {foreach from=$category_thumbnails item=cat name=cat_loop}
+  <li class="odd{if ($smarty.foreach.cat_loop.iteration-1) % 2 == 0}0{else}1{/if}">
+    <div class="thumbnailCategory"  onclick="window.location='{$cat.URL}';" title="{$cat.NAME|@replace:'"':' '|@strip_tags:false}<br>{'display this album'|@translate}">
+      <div class="description">
+
+
+        {if ($smarty.foreach.cat_loop.iteration-1) % 2 == 0}
+        <h3 class="odd0">
+          {$cat.NAME}
+            {if !empty($cat.icon_ts)}
+              <span title="{$cat.icon_ts.TITLE}" class="button id_recent_cat{if $cat.icon_ts.IS_CHILD_DATE}_by_child{/if}">&nbsp;</span>
+            {/if}
+        </h3>
+        {/if}
+
+        <div class="imgContainer">
+          <img {if isset($cat.EXTRA_CLASS)}class="{$cat.EXTRA_CLASS}"{/if} src="{$pwg->derivative_url($derivative_params, $cat.representative.src_image)}" alt="{$cat.TN_ALT}">
+        </div>
+
+        {if ($smarty.foreach.cat_loop.iteration-1) % 2 == 1}
+        <h3 class="odd1">
+          {$cat.NAME}
+            {if !empty($cat.icon_ts)}
+            <span class="button {if $cat.icon_ts.IS_CHILD_DATE}id_recent_cat_by_child{else}id_recent_cat{/if}"></span>
+            {/if}
+        </h3>
+        {/if}
+
+
+
+      </div>
+
+
+    </div>
+  </li>
+  {/foreach}
+</ul>
+
+<!-- **GBL** <MAINPAGE_CATEGORIES< -->
Index: /extensions/gally/gally-minimalist/template/menubar_categories.tpl
===================================================================
--- /extensions/gally/gally-minimalist/template/menubar_categories.tpl	(revision 16022)
+++ /extensions/gally/gally-minimalist/template/menubar_categories.tpl	(revision 16022)
@@ -0,0 +1,32 @@
+<dt>
+  {if isset($U_START_FILTER)}
+  <a href="{$U_START_FILTER}" title="{'display only recently posted photos'|@translate}" rel="nofollow" id="icon_start_filter" class="button sTipOnTop"></a>
+  {/if}
+  {if isset($U_STOP_FILTER)}
+  <a href="{$U_STOP_FILTER}" title="{'return to the display of all photos'|@translate}" id="icon_stop_filter" class="button sTipOnTop" ></a>
+  {/if}
+  <a href="{$block->data.U_CATEGORIES}">{'Albums'|@translate}</a>
+</dt>
+<dd>
+  {assign var='ref_level' value=0}
+  {foreach from=$block->data.MENU_CATEGORIES item=cat}
+    {if $cat.LEVEL > $ref_level}
+    <ul>
+    {else}
+      </li>
+      {'</ul></li>'|@str_repeat:$ref_level-$cat.LEVEL}
+    {/if}
+      <li {if $cat.SELECTED}class="selected"{/if}>
+        <a href="{$cat.URL}" {if $cat.IS_UPPERCAT}rel="up"{/if}>{$cat.NAME}</a>
+        {if $cat.count_images > 0}
+        <span class="{if $cat.nb_images > 0}menuInfoCat{else}menuInfoCatByChild{/if} sTipOnTop" title="{$cat.TITLE}">[{$cat.count_images}]</span>
+        {/if}
+        {if !empty($cat.icon_ts)}
+        <span class="button {if $cat.icon_ts.IS_CHILD_DATE}id_recent_cat_by_child{else}id_recent_cat{/if}"></span>
+        {/if}
+    {assign var='ref_level' value=$cat.LEVEL}
+  {/foreach}
+  {'</li></ul>'|@str_repeat:$ref_level}
+
+  <p class="totalImages">{$pwg->l10n_dec('%d photo', '%d photos', $block->data.NB_PICTURE)}</p>
+</dd>
Index: /extensions/gally/gally-minimalist/template/navigation_bar.tpl
===================================================================
--- /extensions/gally/gally-minimalist/template/navigation_bar.tpl	(revision 16022)
+++ /extensions/gally/gally-minimalist/template/navigation_bar.tpl	(revision 16022)
@@ -0,0 +1,31 @@
+<div class="navigationBar">
+  <div class="navigationBarBG"></div>
+  <div class="navigationBarFG">
+    {if isset($navbar.URL_FIRST)}
+    <a href="{$navbar.URL_FIRST}" rel="first">{'First'|@translate}</a><span class="separator"> | </span>
+    <a href="{$navbar.URL_PREV}" rel="prev">{'Previous'|@translate}</a><span class="separator"> | </span>
+    {else}
+    {'First'|@translate}<span class="separator"> | </span>
+    {'Previous'|@translate}<span class="separator"> | </span>
+    {/if}
+
+    {assign var='prev_page' value=0}
+    {foreach from=$navbar.pages key=page item=url}
+      {if $page > $prev_page+1}...{/if}
+      {if $page == $navbar.CURRENT_PAGE}
+      <span class="pageNumberSelected">{$page}</span>
+      {else}
+      <a href="{$url}">{$page}</a>
+      {/if}
+      {assign var='prev_page' value=$page}
+    {/foreach}
+
+    {if isset($navbar.URL_NEXT)}
+    <span class="separator"> | </span><a href="{$navbar.URL_NEXT}" rel="next">{'Next'|@translate}</a>
+    <span class="separator"> | </span><a href="{$navbar.URL_LAST}" rel="last">{'Last'|@translate}</a>
+    {else}
+    <span class="separator"> | </span>{'Next'|@translate}
+    <span class="separator"> | </span>{'Last'|@translate}
+    {/if}
+  </div>
+</div>
Index: /extensions/gally/gally-minimalist/template/picture.tpl
===================================================================
--- /extensions/gally/gally-minimalist/template/picture.tpl	(revision 16022)
+++ /extensions/gally/gally-minimalist/template/picture.tpl	(revision 16022)
@@ -0,0 +1,450 @@
+<!-- **GBL** >PICTURE> -->
+
+{include file='infos_errors.tpl'}
+
+<div id="content" {if isset($MENUBAR)}class="pictureContent"{/if}>
+
+  <div id="theImageHigh" style="display:none;">
+    <div id="theImgHighBg"></div>
+    <div id="theImgHighContainer">
+      <div id="theImgHighCloseButton" onclick="gallyPP.closeDisplayHigh();"></div>
+      <div id="theImgHighZoomButton" class="fit" onclick="gallyPP.switchZoomHigh();"></div>
+      <div id="theImgHighContainer2">
+        <img id="theImgHigh" src="" style="display:none;" alt="{$ALT_IMG}">
+      </div>
+    </div>
+  </div>
+
+{if isset($MENUBAR)}
+  <div id="imageHeaderBar" class="menu">
+    <div class="titrePage" id='titrePageID'>
+      {if #menuAnimated# == "noswitch"}
+          {$MENUBAR}
+      {else}
+        <div id="menuswitcher">
+          <a id="icon_menu" class="button" onclick="gallyCP.switchmenu('', '{$ROOT_URL}{$themeconf.icon_dir}/');">&nbsp;
+          </a>
+        </div>
+        {$MENUBAR}
+      {/if}
+    </div>
+{else}
+  <div id="imageHeaderBar">
+    <div class="imageNumber">
+      <div class="browsePathBG">&nbsp;</div>
+      <div class="imageNumberTxt">{$PHOTO}</div>
+    </div>
+    <div class="browsePath">
+      <div class="browsePathBG">&nbsp;</div>
+      <h2>
+      {$SECTION_TITLE|cat:$LEVEL_SEPARATOR|cat:$current.TITLE|replace:$LEVEL_SEPARATOR:" &#124; "}
+      </h2>
+    </div>
+{/if}
+  </div> <!-- imageHeaderBar -->
+
+
+  {if !empty($PLUGIN_PICTURE_BEFORE)}{$PLUGIN_PICTURE_BEFORE}{/if}
+
+  <div id="imageToolBar">
+    <div id="imageToolBarContainer" class="uiImg">
+        <div class="imageToolBarBg">&nbsp;</div>
+    </div>
+  </div> <!-- imageToolBar -->
+
+  <div id="theImage">
+    {$ELEMENT_CONTENT}
+
+    {if isset($COMMENT_IMG)}
+    <p>{$COMMENT_IMG}</p>
+    {else}
+    <p>&nbsp;</p>
+    {/if}
+
+    {if isset($U_SLIDESHOW_STOP) }
+    <p>
+      [ <a href="{$U_SLIDESHOW_STOP}">{'stop the slideshow'|@translate}</a> ]
+    </p>
+    {/if}
+  </div> <!-- theImage -->
+
+  <div id="theTabsContainer">
+    <div id="theTabs" class="uiImg">
+      {assign var='display_info_panel' value=false}
+      {foreach from=$display_info item=displayitem}
+        {if $displayitem}
+          {assign var='display_info_panel' value=true}
+        {/if}
+      {/foreach}
+
+
+
+        {if count($current.unique_derivatives)>1}
+        <div id="derivativeSwitchBox" class="switchBox">
+        <div class="switchBoxTitle">{'Photo sizes'|@translate}</div>
+        {foreach from=$current.unique_derivatives item=derivative key=derivative_type}
+        <span class="switchCheck" id="derivativeChecked{$derivative_type}"{if $derivative->get_type() ne $current.selected_derivative->get_type()} style="visibility:hidden"{/if}>&#x2714; </span>
+        <a onclick="gallyPP.changeImgSrc('{$derivative->get_url()|@escape:javascript}','{$derivative_type}','{$derivative->get_type()}', '{$COOKIE_PATH}')">
+          {$derivative->get_type()|@translate}<span class="derivativeSizeDetails"> ({$derivative->get_size_hr()})</span>
+        </a><br>
+        {/foreach}
+        {if isset($U_ORIGINAL)}
+        <span class="switchCheck" style="visibility:hidden">&#x2714; </span><a onclick="gallyPP.openDisplayHigh('{$U_ORIGINAL}');">{'Original'|@translate}</a>
+        {/if}
+        </div>
+        {/if}
+
+      <div class="tab" id="tabRandomButtons">
+        <div class="randomButtons">
+
+          {if count($current.unique_derivatives)>1}
+            <a id="icon_derivatives" title="{'Photo sizes'|@translate}" rel="nofollow" class="button" ></a>
+          {/if}
+
+          {if isset($U_SLIDESHOW_START)}
+            <a href="{$U_SLIDESHOW_START}" title="{'slideshow'|@translate}" rel="nofollow" id="icon_start_slideshow" class="button" ></a>
+          {/if}
+
+          {if isset($U_METADATA)}
+            <a href="{$U_METADATA}" title="{'Show file metadata'|@translate}" rel="nofollow" id="icon_metadata" class="button" ></a>
+          {/if}
+
+          {if isset($current.U_DOWNLOAD)}
+            <a href="{$current.U_DOWNLOAD}" title="{'Download this file'|@translate}" id="icon_save" class="button" ></a>
+          {/if}
+
+          {if isset($PLUGIN_PICTURE_ACTIONS)}{$PLUGIN_PICTURE_ACTIONS}{/if}
+
+          {if isset($favorite)}
+            <a href="{$favorite.U_FAVORITE}" title="{if $favorite.IS_FAVORITE}{'delete this photo from your favorites'|@translate}{else}{'add this photo to your favorites'|@translate}{/if}" id="icon_{if $favorite.IS_FAVORITE}del_{/if}favorite" class="button"></a>
+          {/if}
+          {if isset($U_SET_AS_REPRESENTATIVE)}
+            <a href="{$U_SET_AS_REPRESENTATIVE}" title="{'set as album representative'|@translate}" id="icon_representative" class="button" ></a>
+          {/if}
+          {if isset($U_ADMIN)}
+            <a href="{$U_ADMIN}" title="{'Modify information'|@translate}" id="icon_preferences" class="button"></a>
+          {/if}
+          {if isset($U_CADDIE) }{*caddie management BEGIN*}
+          {footer_script}
+          {literal}function addToCadie(aElement, rootUrl, id)
+          {
+            if (aElement.disabled) return;
+            aElement.disabled=true;
+            var y = new PwgWS(rootUrl);
+            y.callService(
+              "pwg.caddie.add", {image_id: id} ,
+              {
+                onFailure: function(num, text) { alert(num + " " + text); document.location=aElement.href; },
+                onSuccess: function(result) { aElement.disabled = false; }
+              }
+            );
+          }{/literal}
+          {/footer_script}
+          <a onclick="addToCadie(this, '{$ROOT_URL|@escape:'javascript'}', {$current.id}); return false;" title="{'Add to caddie'|@translate}" id="icon_caddie" class="button"></a>
+          {/if}{*caddie management END*}
+          {footer_script}
+            $('div.randomButtons a.button').addClass('sTipOnRight');
+          {/footer_script}
+        </div>
+      </div>
+
+      <div class="tab" id="tabNavigate">
+        {include file='picture_nav_buttons.tpl'|@get_extent:'picture_nav_buttons'}
+      </div>
+
+
+      <ul id="theTabsheets">
+        {if $display_info_panel}
+          <li class="tab" id="tabImageInfos"><a href="#imageInfos">{'Informations'|@translate}</a></li>
+        {/if}
+
+        {if isset($metadata)}
+          {foreach from=$metadata item=meta key=id}
+            <li class="tab" id="tabImageMeta{$id}"><a href="#imageMeta{$id}">{$meta.TITLE|@translate}</a></li>
+          {/foreach}
+        {/if}
+
+        {if (isset($COMMENT_COUNT) and ($COMMENT_COUNT>0)) or isset($comment_add) }
+          <li class="tab" id="tabTheComment">
+            <a href="#theComments">{$pwg->l10n_dec('%d comment', '%d comments',$COMMENT_COUNT)}</a>
+          </li>
+        {/if}
+
+      </ul>
+
+      <div id="theTabsBg"></div>
+
+
+
+      {if $display_info_panel}
+        <div id="imageInfos" class="tabPanel">
+          <div id="imageInfosContainer">
+          <div class="imageInfosBg">&nbsp;</div>
+
+            <table class="infoTable">
+              <tr  class="emptyrow" style="line-height:0px;">
+                <td colspan="2">&nbsp;</td>
+              <td class='cTitle'>&nbsp;</td>
+              <td class='cNfo' >&nbsp;</td>
+              <td class='cTitle'>&nbsp;</td>
+              <td class='cNfo' >&nbsp;</td>
+              </tr>
+
+              {if $display_info.author or $display_info.created_on or $display_info.posted_on}
+              <tr>
+              {assign var='colspan' value=6}
+                {if $display_info.author}
+                {assign var='colspan' value=`$colspan-2`}
+                  <td class="label">{'Author'|@translate}</td>
+                  <td class="value" style="min-width:214px;">{if isset($INFO_AUTHOR)}{$INFO_AUTHOR}{else}{'N/A'|@translate}{/if}</td>
+                {/if}
+
+                {if $display_info.created_on}
+                {assign var='colspan' value=`$colspan-2`}
+                  <td class="label">{'Created on'|@translate}</td>
+                  <td class="value">{if isset($INFO_CREATION_DATE)}{$INFO_CREATION_DATE}{else}{'N/A'|@translate}{/if}</td>
+                {/if}
+
+                {if $display_info.posted_on}
+                  {assign var='colspan' value=`$colspan-2`}
+                  <td class="label">{'Posted on'|@translate}</td>
+                  <td class="value">{$INFO_POSTED_DATE}</td>
+                {/if}
+
+                {if $colspan!=0}
+                  <td colspan="{$colspan}">&nbsp;</td>
+                {/if}
+
+              </tr>
+              {/if}
+
+              {if $display_info.dimensions or $display_info.file or $display_info.filesize}
+              <tr>
+              {assign var='colspan' value=6}
+
+                {if $display_info.dimensions}
+                {assign var='colspan' value=`$colspan-2`}
+                  <td class="label">{'Dimensions'|@translate}</td>
+                  <td class="value">{if isset($INFO_DIMENSIONS)}{$INFO_DIMENSIONS|@replace:"*":"x"}{else}{'N/A'|@translate}{/if}</td>
+                {/if}
+
+                {if $display_info.file}
+                {assign var='colspan' value=`$colspan-2`}
+                  <td class="label">{'File'|@translate}</td>
+                  <td class="value">{$INFO_FILE}</td>
+                {/if}
+
+                {if $display_info.filesize}
+                  {assign var='colspan' value=`$colspan-2`}
+                  <td class="label">{'Filesize'|@translate}</td>
+                  <td class="value">{if isset($INFO_FILESIZE)}{$INFO_FILESIZE}{else}{'N/A'|@translate}{/if}</td>
+                {/if}
+
+                {if $colspan!=0}
+                  <td colspan="{$colspan}">&nbsp;</td>
+                {/if}
+              </tr>
+              {/if}
+
+              {if isset($related_tags) and $display_info.tags}
+              <tr class="emptyrow"><td colspan="6">&nbsp;</td></tr>
+                <tr id="infoTags">
+                  <td class="label">{'Tags'|@translate}</td>
+                <td colspan="5" class="value">
+                      {foreach from=$related_tags item=tag name=tag_loop}{if !$smarty.foreach.tag_loop.first}, {/if}
+                      <a href="{$tag.URL}">{$tag.name}</a>{/foreach}
+                  </td>
+                </tr>
+              {/if}
+
+              {if isset($related_categories) and $display_info.categories}
+              <tr class="emptyrow"><td colspan="6">&nbsp;</td></tr>
+                <tr id="infoCats">
+                  <td class="label">{'Albums'|@translate}</td>
+                <td colspan="5" class="value">
+                    {foreach from=$related_categories item=cat name=tag_loop}{if !$smarty.foreach.tag_loop.first},&nbsp;{/if}
+                    {$cat}
+                    {/foreach}
+                  </td>
+                </tr>
+              {/if}
+              {if $display_info.visits}
+              <tr class="emptyrow"><td colspan="6">&nbsp;</td><tr>
+                <tr>
+                  <td class="label">{'Visits'|@translate}</td>
+                <td {if !($display_info.privacy_level and isset($available_permission_levels))}colspan="5"{/if} class="value">{$INFO_VISITS}</td>
+
+                  {if $display_info.privacy_level and isset($available_permission_levels)}
+                      <td colspan="4" class="label"><a id="iPrivacyLevelLink">{'Who can see this photo?'|@translate}</a>
+
+                        <div id="privacyLevelBox" class="switchBox">
+                          {foreach from=$available_permission_levels item=label key=level}
+                          <span id="levelCheck{$level}" class="switchCheck" {if $level != $current.level} style="visibility:hidden"{/if}>&#x2714; </span>
+                          <a id="switchLevel{$level}" onclick="gallyPP.setPrivacyLevel('{$ROOT_URL}', {$current.id}, {$level})">{$label}</a><br>
+                          {/foreach}
+                        </div>
+                     </td>
+                  {/if}
+
+                </tr>
+              {/if}
+
+            {if (isset($rate_summary) or isset($rating)) and  $display_info.rating_score}
+              <tr id="rating">
+                  {if isset($rate_summary)}
+                  <td class="label">{'Rating score'|@translate}</td>
+                  <td class="value">
+                    {if $rate_summary.count}
+                    <span id="ratingScore">{$rate_summary.score}</span>
+                    <span id="ratingCount">({assign var='rate_text' value='%d rates'|@translate}{$pwg->sprintf($rate_text, $rate_summary.count)})</span>
+                    {else}
+                    <span id="ratingScore">{'no rate'|@translate}</span> <span id="ratingCount"></span>
+                    {/if}
+                    </td>
+                  {else}
+                    <td colspan="2">&nbsp;</td>
+                  {/if}
+
+                  {if isset($rating)}
+                  <td class="label" colspan="4">
+                    <span id="updateRate">{if isset($rating.USER_RATE)}{'Update your rating'|@translate}{else}{'Rate this photo'|@translate}{/if}</span>
+
+                      <form action="{$rating.F_ACTION}" method="post" id="rateForm" style="margin:0;">
+                      <div>&nbsp;
+                      {foreach from=$rating.marks item=mark name=rate_loop}
+                      {if !$smarty.foreach.rate_loop.first} | {/if}
+
+                      {if isset($rating.USER_RATE) && $mark==$rating.USER_RATE}
+                        <input type="button" name="rate" value="{$mark}" class="rateButtonSelected" title="{$mark}" />
+                      {else}
+                        <input type="submit" name="rate" value="{$mark}" class="rateButton" title="{$mark}" />
+                      {/if}
+
+                      {/foreach}
+
+                      {combine_script id='core.scripts' load='async' path='themes/default/js/scripts.js'}
+                      {combine_script id='rating' load='async' require='core.scripts' path='themes/default/js/rating.js'}
+
+
+                      {footer_script}
+                        var _pwgRatingAutoQueue = _pwgRatingAutoQueue||[];
+                        _pwgRatingAutoQueue.push( {ldelim}rootUrl: '{$ROOT_URL}', image_id: {$current.id},
+                          onSuccess : function(rating) {ldelim}
+                            var e = document.getElementById("updateRate");
+                            if (e) e.innerHTML = "{'Update your rating'|@translate|@escape:'javascript'}";
+                            e = document.getElementById("ratingScore");
+                            if (e) e.innerHTML = rating.score;
+                            e = document.getElementById("ratingCount");
+                            if (e) e.innerHTML = "({'%d rates'|@translate|@escape:'javascript'})".replace( "%d", rating.count);
+                          {rdelim}{rdelim} );
+                      {/footer_script}
+
+                      </div>
+                      </form>
+                    </td>
+                  {else}
+                  <td colspan="4">&nbsp;</td>
+                  {/if}
+              </tr>
+            {/if}
+
+            </table>
+
+          </div>
+        </div> <!-- imageInfos -->
+      {/if}
+
+      {if isset($metadata)}
+      {foreach from=$metadata item=meta key=id}
+      <div id="imageMeta{$id}" class="imageMeta tabPanel">
+        <div id="imageMetaContainer{$id}">
+          <div class="imageMetaBg">&nbsp;</div>
+
+          {if count($meta.lines)>0 and !array_key_exists('<!--rawContent-->', $meta.lines)}
+            <table id="displaymeta{$id}" class="displaymeta infoTable">
+              {foreach from=$meta.lines item=value key=label name=metaloop}
+                {if ($smarty.foreach.metaloop.iteration-1) % #metaNumCols# == 0}
+                  {if !$smarty.foreach.metaloop.first}</tr>{/if}
+                  {if !$smarty.foreach.metaloop.last}<tr>{/if}
+                {/if}
+                <td class="label">{$label|@translate}</td>
+                <td class="value">{$value}</td>
+              {/foreach}
+            </table>
+          {else}
+            {assign var='empty' value='<!--rawContent-->'}
+            {$meta.lines.$empty}
+          {/if}
+        </div>
+      </div> <!-- imageMeta -->
+      {/foreach}
+      {/if}
+
+
+      {if (isset($COMMENT_COUNT) and ($COMMENT_COUNT>0)) or isset($comment_add) }
+      <div id="theComments" class="tabPanel">
+        <div id="theCommentsContainer">
+          <div id='theCommentBG'>&nbsp;</div>
+
+          {if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if}
+
+          {if isset($comment_add) or isset($comments)}
+          <table id="theCommentContainer">
+            <tr style="vertical-align:top;">
+              {if isset($comment_add)}
+              {if isset($comments)}
+              <td width="50%">
+              {else}
+              <td>
+              {/if}
+                <h4>{'Add a comment'|@translate}</h4>
+                <form method="post" action="{$comment_add.F_ACTION}" class="filter" id="addComment">
+                  <table>
+                    {if $comment_add.SHOW_AUTHOR}
+                    <tr>
+                      <td>{'Author'|@translate}</td>
+                      <td><input type="text" name="author"></td>
+                    </tr>
+                    {/if}
+                    <tr>
+                      <td {if $comment_add.SHOW_AUTHOR}colspan="2"{/if}><textarea name="content" id="contentid" rows="7" cols="80">{$comment_add.CONTENT}</textarea></td>
+                    </tr>
+                    <tr>
+                      <td {if $comment_add.SHOW_AUTHOR}colspan="2"{/if}>
+                        <input type="hidden" name="key" value="{$comment_add.KEY}">
+                        <input class="submit" type="submit" value="{'Submit'|@translate}">
+                      </td>
+                    </tr>
+                  </table>
+                </form>
+              </td>
+              {/if}
+
+              {if isset($comments)}
+              {if isset($comment_add)}
+              <td width="50%">
+              {else}
+              <td width="100%">
+              {/if}
+                <div id="theCommentList">
+                  {include file='comment_list.tpl' comment_separator=true}
+                </div>
+              </td>
+              {/if}
+
+            </tr>
+          </table>
+          {/if}
+        </div>
+      </div>
+      {/if} {*comments*}
+
+    </div><!-- theTabs -->
+  </div>
+
+  {if !empty($PLUGIN_PICTURE_AFTER)}{$PLUGIN_PICTURE_AFTER}{/if}
+
+</div>
+
+<!-- **GBL** <PICTURE< -->
+
Index: /extensions/gally/gally-minimalist/template/picture_content.tpl
===================================================================
--- /extensions/gally/gally-minimalist/template/picture_content.tpl	(revision 16022)
+++ /extensions/gally/gally-minimalist/template/picture_content.tpl	(revision 16022)
@@ -0,0 +1,12 @@
+<!-- **GBL** >PICTURE_CONTENT> -->
+
+  <div id="theImgContainer" {if isset($U_ORIGINAL)}onclick="gallyPP.openDisplayHigh('{$U_ORIGINAL}');" class="sTipOnTop {if !isset($U_SLIDESHOW_STOP)}pointer{/if}"{else}class="sTipOnTop"{/if}
+      {if isset($COMMENT_IMG)}
+        title="{$COMMENT_IMG|@replace:'"':'&quot;'}" {else} title="{$current.TITLE|@replace:'"':'&quot;'} - {$ALT_IMG}"
+      {/if}>
+    <img src="{$current.selected_derivative->get_url()}" {$current.selected_derivative->get_size_htm()}
+         alt="{$ALT_IMG}" id="theMainImage" usemap="#map{$current.selected_derivative->get_type()}">
+   {* <img id="theImg" src="{$SRC_IMG}" style="width:{$WIDTH_IMG}px;height:{$HEIGHT_IMG}px;" alt="{$ALT_IMG}"> *}
+  </div>
+
+<!-- **GBL** <PICTURE_CONTENT< -->
Index: /extensions/gally/gally-minimalist/template/picture_nav_buttons.tpl
===================================================================
--- /extensions/gally/gally-minimalist/template/picture_nav_buttons.tpl	(revision 16022)
+++ /extensions/gally/gally-minimalist/template/picture_nav_buttons.tpl	(revision 16022)
@@ -0,0 +1,92 @@
+<div class="navButtons">
+{if $DISPLAY_NAV_BUTTONS or isset($slideshow)}
+
+{strip}{if isset($next)}
+    <a href="{$next.U_IMG}"
+       title="<span class='navDesc'><span class='navAction'>{'Next'|@translate}</span>{if $DISPLAY_NAV_THUMB}<br><img src='{$next.derivatives.square->get_url()}' class='thumbLink thumbNav' id='linkPrev' alt=''>{/if}<br><span class='navTitle'>{$next.TITLE}</span></span>"
+       id="icon_right" class="navButton" 
+       rel="next"></a>
+  {else}
+    <a id="icon_right_unactive" class="navButton"></a>
+  {/if}{/strip}
+
+{strip}{if isset($slideshow.U_START_PLAY)}
+    <a href="{$slideshow.U_START_PLAY}" title="{'Play of slideshow'|@translate}" id="icon_play" class="navButton" ></a>
+  {/if}{/strip}
+
+{strip}{if isset($slideshow.U_STOP_PLAY)}
+    <a href="{$slideshow.U_STOP_PLAY}" title="{'Pause of slideshow'|@translate}" id="icon_pause" class="navButton" ></a>
+  {/if}{/strip}
+
+{strip}{if isset($U_UP) and !isset($slideshow)}
+    <a href="{$U_UP}" title="{'Thumbnails'|@translate}" rel="up" id="icon_up" class="navButton"></a>
+  {/if}{/strip}
+
+{strip}{if isset($previous)}
+    <a href="{$previous.U_IMG}"
+       title="<span class='navDesc'><span class='navAction'>{'Previous'|@translate}</span>{if $DISPLAY_NAV_THUMB}<br><img src='{$previous.derivatives.square->get_url()}' class='thumbLink' id='linkPrev' alt=''>{/if}<br><span class='navTitle'>{$previous.TITLE}</span></span>"
+       id="icon_left" class="navButton"
+       rel="prev"></a>
+  {else}
+    <a id="icon_left_unactive" class="navButton"></a>
+  {/if}{/strip}
+
+  {if isset($slideshow.U_START_REPEAT)}
+    <a href="{$slideshow.U_START_REPEAT}" title="{'Repeat the slideshow'|@translate}" id="icon_start_repeat" class="navButton" ></a>
+  {/if}
+
+  {if isset($slideshow.U_STOP_REPEAT)}
+    <a href="{$slideshow.U_STOP_REPEAT}" title="{'Not repeat the slideshow'|@translate}" id="icon_stop_repeat" class="navButton" ></a>
+  {/if}
+
+  {if isset($slideshow)}
+    {if isset($slideshow.U_DEC_PERIOD)}
+      <a href="{$slideshow.U_DEC_PERIOD}" title="{'Accelerate diaporama speed'|@translate}" id="icon_dec_period" class="navButton"></a>
+    {else}
+      <a id="icon_dec_period_unactive" class="navButton" ></a>
+    {/if}
+
+    {if isset($slideshow.U_INC_PERIOD)}
+      <a href="{$slideshow.U_INC_PERIOD}" title="{'Reduce diaporama speed'|@translate}" id="icon_inc_period" class="navButton" ></a>
+    {else}
+      <a id="icon_inc_period_unactive" class="navButton"></a>
+    {/if}
+  {/if}
+{/if}
+</div>
+{strip}
+{footer_script}
+document.onkeydown = function(e){ldelim}
+	e=e||window.event;
+  if (e.altKey) return true;
+	var target=e.target||e.srcElement;
+	if (target && target.type) return true;{* an input editable element *}
+	var keyCode=e.keyCode||e.which, docElem=document.documentElement, url;
+	switch(keyCode){ldelim}
+{if isset($next)}
+	case 63235: case 39: if (e.ctrlKey || docElem.scrollLeft==docElem.scrollWidth-docElem.clientWidth)url="{$next.U_IMG}"; break;
+{/if}
+{if isset($previous)}
+	case 63234: case 37: if (e.ctrlKey || docElem.scrollLeft==0)url="{$previous.U_IMG}"; break;
+{/if}
+{if isset($first)}
+	{* Home *}case 36: if (e.ctrlKey)url="{$first.U_IMG}"; break;
+{/if}
+{if isset($last)}
+	{* End *}case 35: if (e.ctrlKey)url="{$last.U_IMG}"; break;
+{/if}
+{if isset($U_UP) and !isset($slideshow)}
+	{* Up *}case 38: if (e.ctrlKey)url="{$U_UP}"; break;
+{/if}
+{if isset($slideshow.U_START_PLAY)}
+	{* Pause *}case 32: url="{$slideshow.U_START_PLAY}"; break;
+{/if}
+{if isset($slideshow.U_STOP_PLAY)}
+	{* Play *}case 32: url="{$slideshow.U_STOP_PLAY}"; break;
+{/if}
+  }
+  if (url) {ldelim}window.location=url.replace("&amp;","&"); return false;}
+  return true;
+}
+{/footer_script}
+{/strip}
Index: /extensions/gally/gally-minimalist/template/slideshow.tpl
===================================================================
--- /extensions/gally/gally-minimalist/template/slideshow.tpl	(revision 16022)
+++ /extensions/gally/gally-minimalist/template/slideshow.tpl	(revision 16022)
@@ -0,0 +1,31 @@
+<!-- **GBL** >SLIDESHOW> -->
+
+<div id="content">
+  <div id="imageHeaderBar" class="slideShow">
+    <div class="imageNumber">{$PHOTO}</div>
+      <div class="browsePath slideShow">
+      {if isset($U_SLIDESHOW_STOP) }
+      <a href="{$U_SLIDESHOW_STOP}">{'stop the slideshow'|@translate}</a>
+      {/if}
+      {* if $SHOW_PICTURE_NAME_ON_TITLE *}
+        <span class="showtitle">{$current.TITLE}</span>
+      {* /if *}
+    </div>
+
+  </div>
+
+  <div id="imageToolBar">
+    <div id="imageToolBarContainer" class="uiImg">
+        <div class="imageToolBarBg">&nbsp;</div>
+        {include file='picture_nav_buttons.tpl'|@get_extent:'picture_nav_buttons'}
+    </div>
+  </div>
+
+  <div id="theImage">
+    {$ELEMENT_CONTENT}
+    {if isset($COMMENT_IMG)}
+    <p class="showlegend">{$COMMENT_IMG}</p>
+    {/if}
+  </div>
+</div>
+<!-- **GBL** <SLIDESHOW< -->
Index: /extensions/gally/gally-minimalist/template/thumbnails.tpl
===================================================================
--- /extensions/gally/gally-minimalist/template/thumbnails.tpl	(revision 16022)
+++ /extensions/gally/gally-minimalist/template/thumbnails.tpl	(revision 16022)
@@ -0,0 +1,44 @@
+<!-- **GBL** >THUMBNAILS> -->
+{if !empty($thumbnails)}
+{* get thumbnails loader manager from piwigo default's theme *}
+{combine_script id='jquery.ajaxmanager' path='themes/default/js/plugins/jquery.ajaxmanager.js' load='footer'}
+{combine_script id='thumbnails.loader' path='themes/default/js/thumbnails.loader.js' require='jquery.ajaxmanager' load='footer'}
+{html_style}
+.content ul.thumbnails table.wrap1 tr.imgRow td, .wrap2
+{ldelim}
+  width:{$derivative_params->max_width()+20}px;
+  height:{$derivative_params->max_height()+20}px;
+}
+{/html_style}
+
+<ul class="thumbnails">
+{foreach from=$thumbnails item=thumbnail}
+{assign var=derivative value=$pwg->derivative($derivative_params, $thumbnail.src_image)}
+
+{*
+ -- à voir plus tard --
+          {if !empty($thumbnail.icon_ts)}
+            <span class="newImage button id_recent"></span>
+          {/if}
+*}
+
+  <li style="position:relative;left:{$gally->getRandomBox('randomPositionBoxX')}px;top:{$gally->getRandomBox('randomPositionBoxY')}px;">
+    <a href="{$thumbnail.URL}">
+
+      <img {if isset($thumbnail.LONGDESC) and $thumbnail.LONGDESC!=""}longdesc="{$thumbnail.LONGDESC}"{/if}
+            class="thumbnail {if isset($thumbnail.EXTRA_CLASS)}{$thumbnail.EXTRA_CLASS}{/if}"
+            {if !$derivative->is_cached()}data-{/if}src="{$derivative->get_url()}"
+            alt="{$thumbnail.TN_ALT}"
+            {if isset($thumbnail.NB_COMMENTS) or isset($thumbnail.NB_HITS) }
+            title="{if isset($thumbnail.NB_COMMENTS)}<span class='{if 0==$thumbnail.NB_COMMENTS}zero {/if}nb-comments'>{$pwg->l10n_dec('%d comment', '%d comments',$thumbnail.NB_COMMENTS)}</span>{/if}
+                   {if isset($thumbnail.NB_HITS)}<span class='{if 0==$thumbnail.NB_HITS}zero {/if}nb-hits'>{$pwg->l10n_dec('%d hit', '%d hits',$thumbnail.NB_HITS)}</span>{/if}"
+            {/if}
+            >
+    </a>
+  </li>
+{/foreach}
+</ul>
+{/if}
+
+
+<!-- **GBL** <THUMBNAILS< -->
Index: /extensions/gally/gally-minimalist/themeconf.inc.php
===================================================================
--- /extensions/gally/gally-minimalist/themeconf.inc.php	(revision 16022)
+++ /extensions/gally/gally-minimalist/themeconf.inc.php	(revision 16022)
@@ -0,0 +1,23 @@
+<?php
+/*
+Theme Name: Gally/Minimalist
+Version: 1.5.0
+Description: simple white minimalist theme
+Theme URI: http://piwigo.org/ext/extension_view.php?eid=
+Author: Grum
+Author URI: http://www.grum.fr
+*/
+
+include_once(PHPWG_THEMES_PATH.'gally-default/admin/GallyFunctions.class.inc.php');
+
+$themeconf = array(
+  'name' => 'gally-minimalist',
+  'theme' => 'gally-minimalist',
+  'parent' => 'gally-default',
+  'icon_dir' => 'themes/gally-minimalist/icon',
+  'mime_icon_dir' => 'themes/gally-minimalist/icon/mimetypes/',
+);
+
+GallyFunctions::expandMenu($themeconf['theme']);
+
+?>
