Index: css/lightbox-rtl.css
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/lightbox2/css/Attic/lightbox-rtl.css,v
retrieving revision 1.1.2.13
diff -u -p -r1.1.2.13 lightbox-rtl.css
--- css/lightbox-rtl.css 22 Jun 2008 20:37:41 -0000 1.1.2.13
+++ css/lightbox-rtl.css 9 Jul 2008 21:49:31 -0000
@@ -162,12 +162,20 @@
   width: 100%;
   height: 500px;
   background-color: #000;
+}
+
+#overlay_default {
   filter:alpha(opacity=60);
   -moz-opacity: 0.6;
   -khtml-opacity: 0.6;
   opacity: 0.6;
 }

+#overlay_macff2 {
+  background: transparent url(../images/overlay.png) repeat;
+}
+
+
 .clearfix:after {
   content: ".";
   display: block;
Index: css/lightbox.css
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/lightbox2/css/Attic/lightbox.css,v
retrieving revision 1.1.4.20
diff -u -p -r1.1.4.20 lightbox.css
--- css/lightbox.css 1 Jul 2008 11:26:08 -0000 1.1.4.20
+++ css/lightbox.css 9 Jul 2008 21:49:31 -0000
@@ -162,12 +162,19 @@
   width: 100%;
   height: 500px;
   background-color: #000;
+}
+
+#overlay_default {
   filter:alpha(opacity=60);
   -moz-opacity: 0.6;
   -khtml-opacity: 0.6;
   opacity: 0.6;
 }

+#overlay_macff2 {
+  background: transparent url(../images/overlay.png) repeat;
+}
+
 .clearfix:after {
   content: ".";
   display: block;
Index: css/lightbox_alt.css
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/lightbox2/css/Attic/lightbox_alt.css,v
retrieving revision 1.1.4.16
diff -u -p -r1.1.4.16 lightbox_alt.css
--- css/lightbox_alt.css 22 Jun 2008 20:37:41 -0000 1.1.4.16
+++ css/lightbox_alt.css 9 Jul 2008 21:49:31 -0000
@@ -127,12 +127,20 @@
   width: 100%;
   height: 500px;
   background-color: #000;
+}
+
+#overlay_default {
   filter:alpha(opacity=60);
   -moz-opacity: 0.6;
   -khtml-opacity: 0.6;
   opacity: 0.6;
 }

+#overlay_macff2 {
+  background: transparent url(../images/overlay.png) repeat;
+}
+
+
 .clearfix:after {
   content: ".";
   display: block;
Index: js/lightbox.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/lightbox2/js/lightbox.js,v
retrieving revision 1.5.2.6.2.76
diff -u -p -r1.5.2.6.2.76 lightbox.js
--- js/lightbox.js 5 Jul 2008 14:18:10 -0000 1.5.2.6.2.76
+++ js/lightbox.js 9 Jul 2008 21:49:31 -0000
@@ -182,24 +182,28 @@ var Lightbox = {
     // Attach lightbox to any links with rel 'lightbox', 'lightshow' or
     // 'lightframe', etc.
     $("a[@rel^='lightbox'], area[@rel^='lightbox']").click(function(e) {
+      $('#lightbox').unbind('click');
       $('#lightbox').click(function() { Lightbox.end('forceClose'); } );
       Lightbox.start(this, false, false, false, false);
       if (e.preventDefault) { e.preventDefault(); }
       return false;
     });
     $("a[@rel^='lightshow'], area[@rel^='lightshow']").click(function(e) {
+      $('#lightbox').unbind('click');
       $('#lightbox').click(function() { Lightbox.end('forceClose'); } );
       Lightbox.start(this, true, false, false, false);
       if (e.preventDefault) { e.preventDefault(); }
       return false;
     });
     $("a[@rel^='lightframe'], area[@rel^='lightframe']").click(function(e) {
+      $('#lightbox').unbind('click');
       $('#lightbox').click(function() { Lightbox.end('forceClose'); } );
       Lightbox.start(this, false, true, false, false);
       if (e.preventDefault) { e.preventDefault(); }
       return false;
     });
     $("a[@rel^='lightvideo'], area[@rel^='lightvideo']").click(function(e) {
+      $('#lightbox').unbind('click');
       $('#lightbox').click(function() { Lightbox.end('forceClose'); } );
       Lightbox.start(this, false, false, true, false);
       if (e.preventDefault) { e.preventDefault(); }
@@ -229,9 +233,21 @@ var Lightbox = {
       width: '100%',
       zIndex: '10090',
       height: arrayPageSize[1] + 'px',
-      backgroundColor : '#' + Lightbox.overlayColor,
-      opacity : Lightbox.overlayOpacity
-    }).fadeIn(Lightbox.fadeInSpeed);
+      backgroundColor : '#' + Lightbox.overlayColor
+    });
+    // Detect OS X FF2 opacity + flash issue.
+    if (lightvideo && this.detectMacFF2()) {
+      $("#overlay").removeClass("overlay_default");
+      $("#overlay").addClass("overlay_macff2");
+      $("#overlay").css({opacity : null});
+    }
+    else {
+      $("#overlay").removeClass("overlay_macff2");
+      $("#overlay").addClass("overlay_default");
+      $("#overlay").css({opacity : Lightbox.overlayOpacity});
+    }
+    $("#overlay").fadeIn(Lightbox.fadeInSpeed);
+

     Lightbox.isSlideshow = slideshow;
     Lightbox.isLightframe = lightframe;
@@ -994,7 +1010,19 @@ var Lightbox = {
     else {
       Lightbox.isPaused = true;
     }
-  }
+  },
+
+  detectMacFF2: function() {
+    var ua = navigator.userAgent.toLowerCase();
+    if (/firefox[\/\s](\d+\.\d+)/.test(ua)) {
+      var ffversion = new Number(RegExp.$1);
+      if (ffversion < 3 && ua.indexOf('mac') != -1) {
+        return true;
+      }
+    }
+    return false;
+  },
+

 };

