Index: /extensions/gally/gally-cuise/conf/default.conf
===================================================================
--- /extensions/gally/gally-cuise/conf/default.conf	(revision 8575)
+++ /extensions/gally/gally-cuise/conf/default.conf	(revision 8576)
@@ -1,4 +1,4 @@
 # ------------------------------------------------------------------------------
-# GRUM:DARK-II
+# GRUM:CUISE
 # Theme for Piwigo
 # ------------------------------------------------------------------------------
@@ -9,5 +9,5 @@
 # << May the Little SpaceFrog be with you >>
 # ------------------------------------------------------------------------------
-# Grum dark II for themes "Gally"
+# Cuise for themes "Gally"
 #
 # see the gally-default/release_notes.txt file for more informations
@@ -35,4 +35,11 @@
 #     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 = "no"
 
 # The 'imageCenterMode' option can take theses values :
@@ -106,5 +113,5 @@
 # The 'animateDelay' option can take any positive integer value
 # This option define the duration (in milliseconds) of effects
-animateDelay= 250
+animateDelay=250
 
 # The 'marginContainer' option can take any positive integer value
Index: /extensions/gally/gally-cuise/css/theme.css
===================================================================
--- /extensions/gally/gally-cuise/css/theme.css	(revision 8575)
+++ /extensions/gally/gally-cuise/css/theme.css	(revision 8576)
@@ -3,7 +3,6 @@
   Theme for Piwigo
   ------------------------------------------------------------------------------
-  file: gally-cuise/theme.css
-  file version: 1.0
-  date: 2008-11-11
+  file: gally/cuise/theme.css
+  file version: 1.2.0
   ------------------------------------------------------------------------------
   author: grum modified cljosse
@@ -208,5 +207,5 @@
 
 /* menubar_categories.tpl */
-#icon_start_filter { float:right,right:100px;
+#icon_start_filter {
   background:url(./../icon/start_filter.png);
 }
@@ -523,5 +522,5 @@
   border-radius: 8px; /* round corners with CSS3 compliant browsers */
   background-color:#808080;
- 
+  border:none;
 }
 
@@ -807,12 +806,10 @@
 
 #navThumbNext, #navThumbPrev {
-      top:20%;
-    height:80%;
+  top:265px;
   
 }
 
-#navThumbPrevContainer, #navThumbNextContainer { 
-   vertical-align:middle; top:30%;
-   height:30%; 
+#navThumbPrevContainer, #navThumbNextContainer {
+  height:200px;
 }
 
@@ -1290,7 +1287,10 @@
 
 div ul.thumbnails SPAN.wrap2:hover {
+ 
+}
+
+#navThumbPrev, #navThumbPrev{
    
-}
-
-
+
+}
  
Index: /extensions/gally/gally-cuise/js/crossbrowser.js
===================================================================
--- /extensions/gally/gally-cuise/js/crossbrowser.js	(revision 8575)
+++ /extensions/gally/gally-cuise/js/crossbrowser.js	(revision 8576)
@@ -66,5 +66,5 @@
 
                    var mode = document.documentMode || 0;
-                  if (obj.currentStyle.position!="absolute"){
+                  if (getStyles(obj).position!="absolute"){
 
                     init_x0=init_x - (0.5*strokeWeight) ;
@@ -217,9 +217,13 @@
     var limit = 100, i = 0;
     var el = Obj; //(this)  
-           style= el.currentStyle ;
+           style= getStyles(el);  
+    strokeWeight = Get_stokeWeight( style.borderWidth);
+    strokeStyle  = Get_style( style.borderStyle);
+    strokeColor  = Get_Color( style.borderColor);
+
          zindex = 3;
          var El_src = el.element;
 
-         while ((typeof (El_src) != 'undefined') && (El_src.currentStyle.position != 'relative') && (El_src.tagName != 'BODY')) {
+         while ((typeof (El_src) != 'undefined') && ( getStyles(El_src).position != 'relative') && (El_src.tagName != 'BODY')) {
              El_src = El_src.parentElement;
              
@@ -230,5 +234,5 @@
         
 
-         var el_zindex = parseInt(el.currentStyle.zIndex);
+         var el_zindex = parseInt(getStyles(el).zIndex);
          if (isNaN(el_zindex)) { el_zindex = 3; }
          var m = el.children;
@@ -244,24 +248,24 @@
 
    
-         switch(Obj.currentStyle.borderWidth)
+         switch(getStyles(Obj).borderWidth)
          {
          case 'solid':
             break;
          default:
-         strokeWeight=parseInt(Obj.currentStyle.borderWidth);
+         strokeWeight=parseInt(getStyles(Obj).borderWidth);
              break;
          }
             
-         switch(Obj.currentStyle.borderStyle)
+         switch(getStyles(Obj).borderStyle)
          {
          case 'solid':
-         strokeStyle=Obj.currentStyle.borderStyle;
+         strokeStyle=getStyles(Obj).borderStyle;
             break;
         case 'double':
-        strokeStyle=Obj.currentStyle.borderStyle;
+        strokeStyle=getStyles(Obj).borderStyle;
             break;
 
          default:
-         strokeStyle=Obj.currentStyle.borderStyle;
+         strokeStyle=getStyles(Obj).borderStyle;
 
              break;
@@ -282,6 +286,6 @@
          }
          //==================================
-         var fillColor = translateColor(Obj.currentStyle.backgroundColor);
-         var strokeColor =  translateColor(Obj.currentStyle.borderColor);
+         var fillColor = translateColor(getStyles(Obj).backgroundColor);
+         var strokeColor =  translateColor(getStyles(Obj).borderColor);
  
 
@@ -296,5 +300,5 @@
            if (isNaN(Top)) Top=0 ;
    //=================================================================
-           s = Obj.currentStyle;
+           s = getStyles(Obj);
 
          if (typeof s.transform != "undefined") {
@@ -312,11 +316,11 @@
 
 
-         alpha = Obj.currentStyle['opacity'] || 1;
-
-
-         var fillSrc = Obj.currentStyle.backgroundImage.replace(/^url\("(.+)"\)$/, '$1');
-
-         if (fillSrc) var filltype = (Obj.currentStyle['type']) || "tile";
-         else var filltype = (Obj.currentStyle['type']) || "gradientRadial";
+         alpha = getStyles(Obj)['opacity'] || 1;
+
+
+         var fillSrc = getStyles(Obj).backgroundImage.replace(/^url\("(.+)"\)$/, '$1');
+
+         if (fillSrc) var filltype = (getStyles(Obj)['type']) || "tile";
+         else var filltype = (getStyles(Obj)['type']) || "gradientRadial";
   /*
          var fillopacity = alpha;
@@ -423,10 +427,10 @@
 
          /*===================================================================================*/
-         var text_shadow = Obj.currentStyle['text-shadow'];
-
-         var box_shadow = Obj.currentStyle['-moz-box-shadow'] ||
-	           Obj.currentStyle['box-shadow'] ||
-	           Obj.currentStyle['-webkit-box-shadow'] ||
-	           Obj.currentStyle['-khtml-box-shadow'];
+         var text_shadow = getStyles(Obj)['text-shadow'];
+
+         var box_shadow = getStyles(Obj)['-moz-box-shadow'] ||
+	           getStyles(Obj)['box-shadow'] ||
+	           getStyles(Obj)['-webkit-box-shadow'] ||
+	           getStyles(Obj)['-khtml-box-shadow'];
 
 
@@ -520,6 +524,6 @@
          if (isIE6 && (strokeWeight > 0)) {
              Obj.style.borderStyle = 'none';
-             Obj.style.paddingTop = parseInt(Obj.currentStyle.paddingTop || 0) + strokeWeight;
-             Obj.style.paddingBottom = parseInt(Obj.currentStyle.paddingBottom || 0) + strokeWeight;
+             Obj.style.paddingTop = parseInt(getStyles(Obj).paddingTop || 0) + strokeWeight;
+             Obj.style.paddingBottom = parseInt(getStyles(Obj).paddingBottom || 0) + strokeWeight;
          }
 
@@ -563,5 +567,5 @@
 
          var h0 = 0;
-         var strokeWeight = parseInt(obj.currentStyle.borderWidth);
+         var strokeWeight = parseInt(getStyles(obj).borderWidth);
          if (isNaN(strokeWeight)) { strokeWeight = 0; }
 
@@ -896,5 +900,5 @@
             if (!jQuery.browser.msie) return;
 
-    s= a.currentStyle;
+    s= getStyles(a);
            var moz = s['-moz-border-radius'] !== undefined   ;
             var webkit = s['-webkit-border-radius'] !== undefined;
@@ -941,4 +945,212 @@
  jQuery(':Radius');
 
-     
+
 });
+
+
+//====================================================================
+function Get_Tableau(Val_src) {
+    Val_src = removeExtraSpace(Val_src)
+
+    var tableau = Val_src.split(" ");
+    tableau = Val_src + " " + Val_src + " " + tableau[0] + " " + tableau[0];
+
+    tableau = tableau.split(" ");
+
+    return { Top: tableau[0], Right: tableau[1], Bottom: tableau[2], Left: tableau[3] };
+}
+//============================================================
+function Get_radius(obj) {
+    /*
+    1 La valeur spécifiée est appliquée aux quatre coins. 
+    2 La première valeur est appliquée aux coins supérieur gauche et inférieur droit, et la seconde, aux coins supérieur droit et inférieur gauche  
+    3 La première valeur est appliquée au coin supérieur gauche, la deuxième aux coins supérieur droit et inférieur gauche, et la troisième, au coin inférieur droit  
+    4 Les angles supérieur gauche, supérieur droit, inférieur droit et inférieur gauche sont respectivement définis  
+    */
+
+    var m1 = "border-radius,-o-border-radius,-moz-border-radius,-webkit-border-radius,star";
+    m1 += ",borderRadius,OBorderRadius,MozBorderRadius,WebkitBorderRadius,star";
+
+    $e = jQuery(obj);
+    m1 = m1.split(",");
+    s = obj.currentStyle;
+    // s = obj.style.cssText.split(";");
+
+    Attribut = false;
+    type = "";
+    for (i in m1)
+        if (s[m1[i]] != undefined) {
+            Attribut = true;
+            radius = s[m1[i]];
+            type = m1[i];
+            break;
+        }
+    if (typeof radius == "undefined") { radius = "0" }
+    var reg = new RegExp("\ \ ", "g");
+    nr = radius;
+    while (radius.match("\/")) {
+        radius = radius.replace("\/", " ");
+    }
+
+    while (radius.match("\ \ ")) {
+        radius = radius.replace(reg, " ");
+    }
+
+    if (type.match("star")) {
+        var radius = (radius + " " + 1)
+        var tableau = radius.split(" ");
+        return { r: tableau[0],
+            type: type
+        }
+    }
+
+
+    v1 = Get_Tableau(radius);
+
+
+
+    top_left = parseInt(s['border-top-left-radius'] || v1.Top);
+    top_right = parseInt(s['border-top-right-radius'] || v1.Right);
+    bottom_right = parseInt(s['border-bottom-right-radius'] || v1.Bottom);
+    bottom_left = parseInt(s['border-bottom-left-radius'] || v1.Left);
+
+
+
+    type = (nr.match("\/")) ? "oval" : (parseInt(v1.Left) == 0) ? "rect" : "shape";
+
+    return { r: v1.Left,
+        top_left: top_left,
+        top_right: top_right,
+        bottom_right: bottom_right,
+        bottom_left: bottom_left,
+        type: type
+    };
+
+}
+//=======================================================================================
+/*
+Single (default) 
+ThinThin 
+ThinThick 
+ThickThin 
+ThickBetweenThin
+*/
+function Get_style(borderStyle_src) {
+
+    v1 = Get_Tableau(borderStyle_src);
+
+    for (i1 in v1) {
+        borderStyle = v1[i1];
+
+
+        switch (borderStyle) {
+            case 'solid':
+                strokeStyle[i1] = "Single";
+                break;
+            case 'double':
+                strokeStyle[i1] = "thinThin";
+                break;
+            case 'none':
+                strokeStyle[i1] = "Single";
+                stroked = false
+                break;
+            default:
+                strokeStyle[i1] = "Single";
+
+                break;
+        }
+
+    }
+    return strokeStyle;
+}
+
+//=============================================================
+function Get_Color(Color_src) {
+
+    v1 = Get_Tableau(Color_src);
+    for (i1 in v1) {
+        strokeColor[i1] = (translateColor(v1[i1]) == "transparent") ? "none" : translateColor(v1[i1]);
+
+    }
+
+    return strokeColor;
+}
+
+//=============================================================
+function Get_stokeWeight(Weight_src) {
+
+    v1 = Get_Tableau(Weight_src);
+    stroked = false;
+    for (i1 in v1) {
+        Weight = v1[i1];
+        p1 = Weight.match("%")
+
+        switch (Weight) {
+            case p1:
+                strokeWeight[i1] = 10;
+                break;
+            case 'thin':
+                strokeWeight[i1] = 0.5;
+                break;
+            case 'medium':
+                strokeWeight[i1] = 0.75;
+                break;
+            case 'thick':
+                strokeWeight[i1] = 2;
+                break;
+            case 'inherit':
+                if (Obj.parentElement)
+                    strokeWeight[i1] = Get_stokeWeight(Obj.parentElement.currentStyle.borderWidth);
+                else
+                    strokeWeight[i1] = 0;
+
+                break;
+
+            default:
+
+                strokeWeight[i1] = Weight;
+                break;
+        }
+        strokeWeight[i1] = parseInt(strokeWeight[i1]);
+        if (isNaN(strokeWeight[i1])) {
+            strokeWeight[i1] = 0;
+        }
+
+        stroked = (strokeWeight[i1] > 0) ? true : stroked;
+    }
+    return strokeWeight;
+
+}
+
+// Récupérer la valeur d'une propriété CSS d'un élément id
+function getStyle(elt, pro) {
+    var element = document.getElementById(elt);
+    if (window.getComputedStyle) // Mozilla Firefox & cie
+    {
+        var propriete = window.getComputedStyle(element, null).getPropertyValue(pro);
+    }
+    else if (element.currentStyle) // Microsoft Internet Explorer
+    {
+        // Formatage (IE) de la propriété CSS
+        while (pro.indexOf('-') != -1) {
+            var lettresuivtiret = pro.charAt(pro.indexOf('-') + 1);
+            pro = pro.replace(/-\S{1}/, lettresuivtiret.toUpperCase());
+        }
+        var propriete = eval('element.currentStyle.' + pro);
+    }
+    return propriete;
+}
+// Récupérer la valeur CSS 
+function getStyles(elt) {
+    var element = elt;
+    if (window.getComputedStyle) // Mozilla Firefox & cie
+    {
+        var propriete = window.getComputedStyle(element, null);
+    }
+    else if (element.currentStyle) // Microsoft Internet Explorer
+    {
+
+        var propriete = element.currentStyle;
+    }
+    return propriete;
+}
