Inspired by @bigjimmy and some code I found at the HighSlide JS forum I further hacked up things to produce the effect I wanted. See:
http://www.jayantray.com/zenphoto/
This is my Zenphoto 1.1 test site.
[b]
[list]The hack[/list]
[/b]
Begin by using @bigjimmy's theme. Make sure it works for you. Then make the following changes:
1. Add the following code at the very end of /themes/sterile-highslide/highslide/highslide.js
`// this function puts the dark screen over the entire page
function DarkenPage()
{
var page_screen = document.getElementById('page_screen');
page_screen.style.height = document.body.parentNode.scrollHeight + 'px';
page_screen.style.display = 'block';
}
// this function removes the dark screen and the page is light again
function LightenPage()
{
var page_screen = document.getElementById('page_screen');
page_screen.style.display = 'none';
}`
2. Make yet another change to /themes/sterile-highslide/highslide/highslide.js
Find the following line in highslide.js:
`HsExpander.prototype.changeSize = function(dir, x1, y1, w1, h1, x2, y2, w2, h2, dur, steps, oo1, oo2) {`
Right after that add the following lines of code:
`if (dir == 1) DarkenPage();
else LightenPage();`
[i]Note that the added code goes in after the open brace[/i]
3. Add the following section to /themes/sterile-highslide/zen.css:
`#page_screen
{
background-color:#000000;
filter:alpha(opacity=80);
opacity: 0.8;
position:absolute;
top:0px;
left:0px;
width:100%;
display:none;
}`
4. Lastly, add the following code at the beginning of the `<body>` section of the /themes/sterile-highslide/album.php:
`
`
Thats it. Adjust opacity to desired levels and enjoy. I reduced mine to 0.6.
I make no claims to originality. I used what I found over at the Highslide forums and modified it for the Zenphoto schema. Now I have exactly the effect I had in mind.
For the legally minded, highslide.js is [i]not[/i] free for commercial use. A single domain license is $29 which is pretty fair.
But it goes to show what a great project Zenphoto is.