Index: /trunk/include/derivative_std_params.inc.php
===================================================================
--- /trunk/include/derivative_std_params.inc.php	(revision 13471)
+++ /trunk/include/derivative_std_params.inc.php	(revision 13472)
@@ -161,5 +161,5 @@
   {
     self::$watermark = new WatermarkParams();
-    self::$type_map[IMG_SQUARE] = new DerivativeParams( SizingParams::square(100,100) );
+    self::$type_map[IMG_SQUARE] = new DerivativeParams( SizingParams::square(120,120) );
     self::$type_map[IMG_THUMB] = new DerivativeParams( SizingParams::classic(144,144) );
     self::$type_map[IMG_SMALL] = new DerivativeParams( SizingParams::classic(240,240) );
Index: /trunk/include/page_tail.php
===================================================================
--- /trunk/include/page_tail.php	(revision 13471)
+++ /trunk/include/page_tail.php	(revision 13472)
@@ -67,9 +67,9 @@
 
 //------------------------------------------------------------- mobile version
-if ( !empty($conf['mobile_theme']) && get_device() != 'desktop')
+if ( !empty($conf['mobile_theme']) && (get_device() != 'desktop' || mobile_theme()))
 {
   $template->assign('TOGGLE_MOBILE_THEME_URL',
       add_url_params(
-        make_index_url(),
+        duplicate_index_url(),
         array('mobile' => mobile_theme() ? 'false' : 'true')
       )
Index: /trunk/themes/smartpocket/js/smartpocket.js
===================================================================
--- /trunk/themes/smartpocket/js/smartpocket.js	(revision 13472)
+++ /trunk/themes/smartpocket/js/smartpocket.js	(revision 13472)
@@ -0,0 +1,17 @@
+(function(window, $, PhotoSwipe){
+  $(document).ready(function(){
+    var options = {
+      jQueryMobile: true,
+      imageScaleMethod: "fitNoUpscale"
+    };
+    $(".thumbnails a").photoSwipe(options);
+    $(document).bind('orientationchange', set_thumbnails_width);
+    set_thumbnails_width();
+  });
+}(window, window.jQuery, window.Code.PhotoSwipe));
+
+function set_thumbnails_width() {
+  nb_thumbs = Math.max(3, Math.ceil($('.thumbnails').width() / 130));
+  width = Math.floor(1000000 / nb_thumbs) / 10000;
+  $('.thumbnails li').css('width', width+'%');
+}
Index: /trunk/themes/smartpocket/template/mainpage_categories.tpl
===================================================================
--- /trunk/themes/smartpocket/template/mainpage_categories.tpl	(revision 13471)
+++ /trunk/themes/smartpocket/template/mainpage_categories.tpl	(revision 13472)
@@ -1,3 +1,3 @@
-{define_derivative name='derivative_params' width=120 height=120 crop=true}
+{define_derivative name='derivative_params_square' type='square'}
 
 <ul data-role="listview" data-inset="true">
@@ -5,5 +5,5 @@
 	<li>
 		<a href="{$cat.URL}">
-		<img src="{$pwg->derivative_url($derivative_params, $cat.representative.src_image)}">
+		<img src="{$pwg->derivative_url($derivative_params_square, $cat.representative.src_image)}">
     <h3>{$cat.NAME}</h3>
 		<p class="Nb_images">{$cat.CAPTION_NB_IMAGES}</p>
Index: /trunk/themes/smartpocket/template/thumbnails.tpl
===================================================================
--- /trunk/themes/smartpocket/template/thumbnails.tpl	(revision 13471)
+++ /trunk/themes/smartpocket/template/thumbnails.tpl	(revision 13472)
@@ -2,39 +2,23 @@
 {combine_script id='klass' path='themes/smartpocket/js/klass.min.js'}
 {combine_script id='photoswipe' path='themes/smartpocket/js/code.photoswipe.jquery.min.js' require='klass,jquery.mobile'}
+{combine_script id='smartpocket' path='themes/smartpocket/js/smartpocket.js' require='photoswipe'}
+{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'}
 
-{define_derivative name='derivative_params_thumb' width=120 height=120 crop=true}
-{define_derivative name='derivative_params_full' type='large'}
+{define_derivative name='derivative_params_square' type='square'}
+{define_derivative name='derivative_params_large' type='large'}
 
-{footer_script}{literal}
-(function(window, $, PhotoSwipe){
-  $(document).ready(function(){
-    var options = {
-      jQueryMobile: true,
-      imageScaleMethod: "fitNoUpscale"
-    };
-    $(".thumbnails a").photoSwipe(options);
-    $(document).bind('orientationchange', set_thumbnails_width);
-    set_thumbnails_width();
-  });
-}(window, window.jQuery, window.Code.PhotoSwipe));
-
-function set_thumbnails_width() {
-  nb_thumbs = Math.max(3, Math.ceil($('.thumbnails').width() / 130));
-  width = Math.floor(1000000 / nb_thumbs) / 10000;
-  $('.thumbnails li').css('width', width+'%');
-}
-
-{/literal}{/footer_script}
 <ul class="thumbnails">
 {foreach from=$thumbnails item=thumbnail}{strip}
+{assign var=derivative value=$pwg->derivative($derivative_params_square, $thumbnail.src_image)}
 {if isset($page_selection[$thumbnail.id])}
-	<li>
-	  <a href="{$pwg->derivative_url($derivative_params_full, $thumbnail.src_image)}" rel="external">
-      <img src="{$pwg->derivative_url($derivative_params_thumb, $thumbnail.src_image)}" alt="{$thumbnail.TN_ALT}">
+  <li>
+    <a href="{$pwg->derivative_url($derivative_params_large, $thumbnail.src_image)}" rel="external">
+     <img {if !$derivative->is_cached()}data-{/if}src="{$derivative->get_url()}" alt="{$thumbnail.TN_ALT}">
     </a>
   </li>
 {else}
-	<li style="display:none;">
-	  <a href="{$pwg->derivative_url($derivative_params_full, $thumbnail.src_image)}" rel="external"></a>
+  <li style="display:none;">
+    <a href="{$pwg->derivative_url($derivative_params_large, $thumbnail.src_image)}" rel="external"></a>
   </li>
 {/if}
