X-Git-Url: https://svn.cri.mines-paristech.fr/git/Portfolio.git/blobdiff_plain/32e16df63fbc2df3a847347d4f58734f471bcd87..f58365599fe64718af7fc808f6304322124b87df:/skins/photo_film_viewer.js?ds=sidebyside

diff --git a/skins/photo_film_viewer.js b/skins/photo_film_viewer.js
index 4c21355..b68b664 100644
--- a/skins/photo_film_viewer.js
+++ b/skins/photo_film_viewer.js
@@ -621,32 +621,54 @@ FilmSlider.prototype.refreshImage = function() {
 };
 
 FilmSlider.prototype.startSlideShow = function() {
-	this.slideShowSlide = this.selectedSlide;
-	this.nextSlideShowSlide = this.selectedSlide;
+	this.slideShowSlide = this.pendingSlideShowSlide = this.selectedSlide;
 	return this.slideShowSlide.href;
 };
 
 FilmSlider.prototype.slideShowNext = function() {
-	this.slideShowSlide = this.nextSlideShowSlide;
 	var nextSlide = this.slideShowSlide.parentNode.nextSibling;
 	if (nextSlide && nextSlide.nodeType==3)
 		nextSlide = nextSlide.nextSibling;	
 
 	if (nextSlide) {
 		nextSlide = nextSlide.getElementsByTagName('a')[0];
-		this.nextSlideShowSlide = nextSlide;
-		return nextSlide.href;
+		this.pendingSlideShowSlide = nextSlide;
+		return this.pendingSlideShowSlide.href;
 	}
 	else {
 		var row = this.slideShowSlide.parentNode.parentNode;
 		var first = row.firstChild;
 		if (first.nodeType==3)
 			first = first.nextSibling;
-		this.nextSlideShowSlide = first.getElementsByTagName('a')[0];
-		return this.nextSlideShowSlide.href;
+		this.pendingSlideShowSlide = first.getElementsByTagName('a')[0];
+		return this.pendingSlideShowSlide.href;
 	}
 };
 
+FilmSlider.prototype.slideShowPrevious = function() {
+	var previousSlide = this.slideShowSlide.parentNode.previousSibling;
+	if (previousSlide && previousSlide.nodeType==3)
+		previousSlide = previousSlide.previousSibling;
+
+	if (previousSlide) {
+		previousSlide = previousSlide.getElementsByTagName('a')[0];
+		this.pendingSlideShowSlide = previousSlide;
+		return this.pendingSlideShowSlide.href;
+	}
+	else {
+		var row = this.slideShowSlide.parentNode.parentNode;
+		var last = row.lastChild;
+		if (last.nodeType==3)
+			last = last.previousSibling;
+		this.pendingSlideShowSlide = last.getElementsByTagName('a')[0];
+		return this.pendingSlideShowSlide.href;
+	}
+};
+
+FilmSlider.prototype.slideShowImageLoaded = function() {
+	this.slideShowSlide = this.pendingSlideShowSlide;
+};
+
 FilmSlider.prototype.stopSlideShow = function() {
 	raiseMouseEvent(this.slideShowSlide, 'click');
 	var index = parseInt(this.selectedSlide.getAttribute('portfolio:position'));