X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=phpfspot.git;a=blobdiff_plain;f=phpfspot.js;h=f9f970324bac324d8d24952cae1d2bccbf01a79a;hp=21a027af970748a4c54afdab1b561274b58d8e31;hb=5a118f1db16afd22cb3c066f07cc6333fa0f96b6;hpb=6dfc3761155121a3f63ef41e048dedf05b170eff diff --git a/phpfspot.js b/phpfspot.js index 21a027a..f9f9703 100644 --- a/phpfspot.js +++ b/phpfspot.js @@ -1,11 +1,50 @@ function showImage(id, scrollup) { - HTML_AJAX.replace(document.getElementById("content"), encodeURI('rpc.php?action=showphoto&id=' + id)); + if(!document.getElementById('content')) + return; + + var content = document.getElementById('content'); + + /* blank the screen */ + if(scrollup != undefined) { + content.innerHTML = ""; + } + + HTML_AJAX.replace(content, encodeURI('rpc.php?action=showphoto&id=' + id)); /* scroll the window up to the top */ if(scrollup != undefined) { window.scrollTo(0,0); } + + /* delete some global vars */ + delete(origHeight); origHeight = undefined; + delete(origWidth); origWidth = undefined; + delete(photo_details_pos); photo_details_pos = undefined; +} + +function moveToThumb(thumb_id) +{ + if(thumb_id == undefined) + return; + + if(thumbimg = document.getElementById('thumbimg' + thumb_id)) { + window.scrollTo(0, findPos(thumbimg,'top')-100); + } + +} // moveToThumb() + +function findPos(obj, direction) { + var cur = 0; + if (obj.offsetParent) { + do { + if(direction == 'left') + cur += obj.offsetLeft; + if(direction == 'top') + cur += obj.offsetTop; + } while (obj = obj.offsetParent); + } + return [cur]; } function showCredits() @@ -41,7 +80,7 @@ function Tags(mode, id) refreshPhotoIndex(); } else { - window.alert(retr); + window.alert("Server message: "+ retr); } } // Tags() @@ -62,13 +101,17 @@ function refreshSelectedTags() selected_tags.innerHTML = HTML_AJAX.grab(encodeURI('rpc.php?action=show_selected_tags')); } -function showPhotoIndex(begin_with) +function showPhotoIndex(begin_with, last_photo) { - if(begin_with == undefined) - HTML_AJAX.replace(document.getElementById("content"), encodeURI('rpc.php?action=show_photo_index')); - else - HTML_AJAX.replace(document.getElementById("content"), encodeURI('rpc.php?action=show_photo_index&begin_with=' + begin_with)); -} + var url = "rpc.php?action=show_photo_index"; + if(begin_with != undefined) + url = url + '&begin_with=' + begin_with; + if(last_photo != undefined) + url = url + '&last_photo=' + last_photo; + + HTML_AJAX.replace(document.getElementById("content"), encodeURI(url)); + +} // showPhotoIndex() // if photo index is currently shown, refresh it function refreshPhotoIndex() @@ -137,7 +180,7 @@ function startSearch() showPhotoIndex(); } else { - window.alert(retr); + window.alert("Server message: "+ retr); } } // startSearch() @@ -199,7 +242,7 @@ function init_phpfspot(mode) } if(whattodo == 'show_photo') { if(photo = getPhotoToShow()) { - showImage(photo) + showImage(photo); refreshSelectedTags(); } } @@ -227,6 +270,70 @@ function getPhotoToShow() return photo_to_show; } +function zoom(mod) +{ + var photo; + + if(mod == undefined) + return; + + /* 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; + if(origHeight == undefined) + origHeight = photo.height; + + if(mod != 0) { + new_w = photo.width * (1 + mod/100); + new_h = photo.height * (1 + mod/100); + photo.width = new_w; + photo.height = new_h; + + if(photo_details_pos == undefined) { + photo_details_pos = findPos(document.getElementById('photo_details'),'left'); + } + + if((photo.offsetLeft + new_w) >= photo_details_pos-20) { + hidePhotoDetails('true'); + } + else { + hidePhotoDetails('false'); + } + } + else { + photo.width = origWidth; + photo.height = origHeight; + hidePhotoDetails('false'); + } + } + +} // zoom() + +function hidePhotoDetails(mode) +{ + var photo_details; + + if(photo_details = document.getElementById('photo_details')) { + if(mode == 'true') { + photo_details.style.visibility = 'hidden'; + photo_details.style.display = 'none'; + } + else { + photo_details.style.visibility = 'visible'; + photo_details.style.display = ''; + } + } +} // hidePhotoDetails() + function showCalendar(date_box, click_obj) { var calendar = document.getElementById('calendar'); @@ -320,23 +427,32 @@ function WSR_getElementsByClassName(oElm, strTagName, oClassNames){ } -function preloadPhotos(lbImg) { - - var d=document; - if(d.images) - if(!d.photos) - d.photos=new Array(); +function preloadPhotos(image_url) { - var i, j=d.photos.length; + var i; + var timeout = 1000; + var waiting = 100; + var counting; lbImg=WSR_getElementsByClassName(document,"img","thumb"); for(i=0;i