Index: extensions/GMaps/admin/gmaps_category_maps.tpl
===================================================================
--- extensions/GMaps/admin/gmaps_category_maps.tpl	(revision 7141)
+++ extensions/GMaps/admin/gmaps_category_maps.tpl	(revision 7147)
@@ -2,4 +2,5 @@
 {known_script id="jquery.ui.sortable" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.sortable.packed.js"}
 {known_script id="jquery.ui.dialog" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.dialog.packed.js"}
+{known_script id="gpc.ui.iconSelector" src=$ROOT_URL|@cat:"plugins/GrumPluginClasses/js/ui.iconSelector.js"}
 {known_script id="maps.google.com/api" src="http://maps.google.com/maps/api/js?sensor=false"}
 
@@ -28,5 +29,5 @@
             autoOpen:false,
             width:800,
-            height:465,
+            height:480,
             modal: true,
             dialogClass: 'gcBgTabSheet gcBorder',
@@ -48,27 +49,42 @@
         );
 
+      $('#iBDAssocIcon').iconSelector(
+        {
+          images:[
+          {/literal}
+            {foreach from=$datas.icons item=icon name=list}
+              "plugins/GMaps/img/{$icon.file}"
+              {if !$smarty.foreach.list.last},{/if}
+            {/foreach}
+          {literal}
+          ],
+          cellWidth:42,
+          cellHeight:28
+        }
+      );
+
+      $('#iBDAssocMarker').iconSelector(
+        {
+          images:[
+          {/literal}
+            {foreach from=$datas.markers item=marker name=list}
+              "plugins/GMaps/img/{$marker.file}"
+              {if !$smarty.foreach.list.last},{/if}
+            {/foreach}
+          {literal}
+          ],
+          cellWidth:32,
+          cellHeight:40,
+          numCols:13,
+          numRows:4
+        }
+      );
+
       $('#iBDAssocMapId').bind('change', changeMapDisplayType);
       $('[name=fBDAssocKmlFile]').bind('change', changeKmlFileSource);
-      $('#iBDAssocIcon').bind('change', changeIcon);
-      $('#iBDAssocMarker').bind('change', changeMarker);
 
       loadList();
     }
 
-    /**
-     * called when the icon is changed
-     */
-    var changeIcon = function ()
-    {
-      $('#iBDAssocIcon').attr('style', $('#iBDAssocIcon option:selected').attr('style')).blur();
-    }
-
-    /**
-     * called when the marker is changed
-     */
-    var changeMarker = function ()
-    {
-      $('#iBDAssocMarker').attr('style', $('#iBDAssocMarker option:selected').attr('style')).blur();
-    }
 
     /**
@@ -242,6 +258,5 @@
         $('#iBDAssocKmlFileId').val($('#iBDAssocKmlFileId option:first').val());
         $('#iBDAssocKmlFileUrl').val('');
-        $('#iBDAssocIcon').val($('#iBDAssocIcon option:first').val());
-        $('#iBDAssocMarker').val($('#iBDAssocMarker option:first').val());
+        $('#iBDAssocIcon, #iBDAssocMarker').iconSelector('value', ':first');
         $('#iBDAssocTitle').val('');
       }
@@ -267,6 +282,6 @@
         $('#iBDAssocKmlFileId').val(tmp.kmlFileId);
         $('#iBDAssocKmlFileUrl').val(tmp.kmlFileUrl);
-        $('#iBDAssocIcon').val(tmp.icon);
-        $('#iBDAssocMarker').val(tmp.marker);
+        $('#iBDAssocIcon').iconSelector('value', 'plugins/GMaps/img/'+tmp.icon);
+        $('#iBDAssocMarker').iconSelector('value', 'plugins/GMaps/img/'+tmp.marker);
         $('#iBDAssocTitle').val(tmp.title);
       }
@@ -274,6 +289,4 @@
       changeMapDisplayType();
       changeKmlFileSource();
-      changeIcon();
-      changeMarker();
     }
 
@@ -334,6 +347,6 @@
         kmlFileId:($('#iBDAssocKmlSelect').attr('checked'))?$('#iBDAssocKmlFileId').val():0,
         kmlFileUrl:($('#iBDAssocKmlSelect').attr('checked'))?'':$('#iBDAssocKmlFileUrl').val(),
-        icon:$('#iBDAssocIcon').val(),
-        marker:$('#iBDAssocMarker').val(),
+        icon:$('#iBDAssocIcon').iconSelector('value'),
+        marker:$('#iBDAssocMarker').iconSelector('value'),
         title:$('#iBDAssocTitle').val(),
       }
@@ -486,9 +499,5 @@
             <td>{'gmaps_map_icon'|@translate}</td>
             <td>
-              <select id='iBDAssocIcon'>
-                  {foreach from=$datas.icons item=icon}
-                    <option style='background-image:url(plugins/GMaps/img/{$icon.file});' value='{$icon.file}'>&nbsp;</option>
-                  {/foreach}
-              </select>
+              <div id='iBDAssocIcon' class="{$themeconf.name}"></div>
               <p id='iBDKmlIconWarning' class='helps' style="width:520px;padding-right:20px;">{'gmaps_icon_info'|@translate}</p>
             </td>
@@ -499,9 +508,5 @@
             <td>{'gmaps_map_marker'|@translate}</td>
             <td>
-              <select id='iBDAssocMarker'>
-                  {foreach from=$datas.markers item=marker}
-                    <option style='background-image:url(plugins/GMaps/img/{$marker.file});' value='{$marker.file}'>&nbsp;</option>
-                  {/foreach}
-              </select>
+              <div id='iBDAssocMarker' class="{$themeconf.name}"></div>
             </td>
           </tr>
Index: extensions/GMaps/gmaps.css
===================================================================
--- extensions/GMaps/gmaps.css	(revision 7141)
+++ extensions/GMaps/gmaps.css	(revision 7147)
@@ -73,29 +73,5 @@
   filter:alpha(opacity:55);
 }
-#iBDAssocIcon, #iBDAssocIcon option {
-  height:34px;
-  background-repeat:no-repeat;
-  background-position:2px 2px;
-}
-#iBDAssocIcon {
-  width:75px;
-  padding-left:50px;
-}
-#iBDAssocIcon option {
-  width:75px;
-}
 
-#iBDAssocMarker, #iBDAssocMarker option {
-  background-position:2px 2px;
-  background-repeat:no-repeat;
-  height:40px;
-}
-#iBDAssocMarker {
-  width:60px;
-  padding-left:40px;
-}
-#iBDAssocMarker option {
-  width:40px;
-}
 
 // fix IE8 compatibility bugs from GPC 3.2.0 (fixed in next release)
Index: extensions/GMaps/gmaps_ajax.php
===================================================================
--- extensions/GMaps/gmaps_ajax.php	(revision 7141)
+++ extensions/GMaps/gmaps_ajax.php	(revision 7147)
@@ -664,6 +664,6 @@
                 $properties['kmlFileId']."', '".
                 $properties['kmlFileUrl']."', '".
-                $properties['icon']."', '".
-                $properties['marker']."', '".
+                basename($properties['icon'])."', '".
+                basename($properties['marker'])."', '".
                 mysql_escape_string($properties['title'])."');";
         $result=pwg_query($sql);
@@ -679,6 +679,6 @@
                 $properties['kmlFileUrl']."', kmlFileId='".
                 $properties['kmlFileId']."', icon='".
-                $properties['icon']."', marker='".
-                $properties['marker']."', title='".
+                basename($properties['icon'])."', marker='".
+                basename($properties['marker'])."', title='".
                 mysql_escape_string($properties['title'])."'
               WHERE id='$id';";
Index: extensions/GMaps/gmaps_version.inc.php
===================================================================
--- extensions/GMaps/gmaps_version.inc.php	(revision 7141)
+++ extensions/GMaps/gmaps_version.inc.php	(revision 7147)
@@ -17,5 +17,5 @@
   define('GMAPS_VERSION',  '0.2.0');
   define('GMAPS_VERSION2', '00.02.00');
-  define('GMAPS_GPC_NEEDED', '3.2.0');
+  define('GMAPS_GPC_NEEDED', '3.3.0');
   define('GMAPS_AMD_NEEDED', '0.5.2'); //advanced metadata plugin is needed
 ?>
Index: extensions/GMaps/templates/index.php
===================================================================
--- extensions/GMaps/templates/index.php	(revision 7147)
+++ extensions/GMaps/templates/index.php	(revision 7147)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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();
+?>
