summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpfspot.js35
-rw-r--r--themes/default/templates/single_photo.tpl2
2 files changed, 26 insertions, 11 deletions
diff --git a/phpfspot.js b/phpfspot.js
index a2c848e..0cec671 100644
--- a/phpfspot.js
+++ b/phpfspot.js
@@ -18,9 +18,9 @@ function showImage(id, scrollup)
}
/* delete some global vars */
- delete(origHeight);
- delete(origWidth);
- delete(photo_details_pos);
+ delete(origHeight); origHeight = undefined;
+ delete(origWidth); origWidth = undefined;
+ delete(photo_details_pos); photo_details_pos = undefined;
}
function moveToThumb(thumb_id)
@@ -29,19 +29,22 @@ function moveToThumb(thumb_id)
return;
if(thumbimg = document.getElementById('thumbimg' + thumb_id)) {
- window.scrollTo(0, findPos(thumbimg)-100);
+ window.scrollTo(0, findPos(thumbimg,'top')-100);
}
} // moveToThumb()
-function findPos(obj) {
- var curtop = 0;
+function findPos(obj, direction) {
+ var cur = 0;
if (obj.offsetParent) {
do {
- curtop += obj.offsetTop;
+ if(direction == 'left')
+ cur += obj.offsetLeft;
+ if(direction == 'top')
+ cur += obj.offsetTop;
} while (obj = obj.offsetParent);
}
- return [curtop];
+ return [cur];
}
function showCredits()
@@ -269,10 +272,20 @@ function getPhotoToShow()
function zoom(mod)
{
+ var photo;
+
if(mod == undefined)
return;
- if(photo = document.getElementById('photo')) {
+ /* internet explorer */
+ if(document.images['photo'].width)
+ photo = document.images['photo'];
+
+ /* all others */
+ if(photo == undefined && document.getElementById('photo').width)
+ photo = document.getElementById('photo');
+
+ if(photo != undefined) {
if(origWidth == undefined)
origWidth = photo.width;
@@ -286,7 +299,7 @@ function zoom(mod)
photo.height = new_h;
if(photo_details_pos == undefined) {
- photo_details_pos = document.getElementById('photo_details').offsetLeft;
+ photo_details_pos = findPos(document.getElementById('photo_details'),'left');
}
if((photo.offsetLeft + new_w) >= photo_details_pos-20) {
@@ -307,6 +320,8 @@ function zoom(mod)
function hidePhotoDetails(mode)
{
+ var photo_details;
+
if(photo_details = document.getElementById('photo_details')) {
if(mode == 'true') {
photo_details.style.visibility = 'hidden';
diff --git a/themes/default/templates/single_photo.tpl b/themes/default/templates/single_photo.tpl
index fb194a8..ea513d9 100644
--- a/themes/default/templates/single_photo.tpl
+++ b/themes/default/templates/single_photo.tpl
@@ -73,7 +73,7 @@
{ else }
<a href="{$next_url}" onclick="click(this);" title="click for the next photo" name="photo">
{ /if }
- <img src="{$image_url}" width="{$width}" height="{$height}" alt="{$image_filename}" id="photo" />
+ <img src="{$image_url}" width="{$width}" height="{$height}" alt="{$image_filename}" name="photo" id="photo" />
</a>
</div>