diff --git a/galleryscript.js b/galleryscript.js
index ccf6b84..3ee1da1 100644
--- a/galleryscript.js
+++ b/galleryscript.js
@@ -107,6 +107,15 @@ function preload(i) {
prestr='
';
prestr+='
';
}
+ maxThumb=getmaxthumbs();
+ ends=getThumbStartEnd(i+maxThumb,maxThumb);
+ for (n=ends.first; n';
+ }
+ ends=getThumbStartEnd(i-maxThumb,maxThumb);
+ for (n=ends.first; n';
+ }
ob.innerHTML=prestr;
preloadcheck();
preloader=setInterval('preloadcheck()',100);
@@ -136,16 +145,13 @@ function thumblist(n,curr) {
if (imagelist.length==0) { return; }
ob=document.getElementById('thumbcontainer');
ob.style.width=document.body.clientWidth-30;
- startI=Math.max(0,n+1-Math.round((maxThumb/2)));
- startI=Math.min(startI,imagelist.length-maxThumb);
- startI=Math.max(0,startI);
- endI=Math.min(startI+maxThumb,imagelist.length);
- currentlist=endI;
- nright=endI-Math.round((maxThumb/2))+maxThumb-1;
+ ends=getThumbStartEnd(n,maxThumb);
+ currentlist=ends.last;
+ nright=ends.last-Math.round((maxThumb/2))+maxThumb-1;
nleft=nright-maxThumb-maxThumb;
if (maxThumb%2==1) { nright+=1; nleft+=1; }
- leftstr='← ('+startI+')
';
- rightstr='→ ('+(imagelist.length-endI)+')
';
+ leftstr='← ('+ends.first+')
';
+ rightstr='→ ('+(imagelist.length-ends.last)+')
';
menustr='';
thumbstr='
Images'+menustr+'
';
@@ -173,6 +179,14 @@ function thumblist(n,curr) {
return;
}
+function getThumbStartEnd(n,maxThumb) {
+ startI=Math.max(0,n+1-Math.round((maxThumb/2)));
+ startI=Math.min(startI,imagelist.length-maxThumb);
+ startI=Math.max(0,startI);
+ endI=Math.min(startI+maxThumb,imagelist.length);
+ return {first: startI, last: endI}
+}
+
function allthumbs() {
// Shows all the thumbnails in the current folder
ob=document.getElementById('thumbcontainer');