var currentSlide = 1; var nextSlide var prevSlide = 1; var totalSlides = 0 var slideArray var zindexPos = 1 var slideActive = false; var lbTimer var timerDelay = 9000; function letterboxInit(){ // If there is a letterbox on the page, then page watching the links if ($('letterbox')){ if($('lbBack'))$('lbBack').onclick = function(){if (slideActive == false){moveSlide('back');}return(false);} if($('lbNext'))$('lbNext').onclick = function(){if (slideActive == false){moveSlide('next');}return(false);} // Get the total number of slides slideArray = $('letterbox').getElementsByTagName("div"); for (var i=0; i < slideArray.length; i++) { //$(slideArray[i]).removeClassName("hidden") // Gets rid of the Hidden class which is added for the none JS version totalSlides++; } } if (slideArray.length>1){ // Start the timer to auto run the slideshow lbTimer = setTimeout('moveSlide("next")',timerDelay); } } function moveSlide(dir){ clearTimeout (lbTimer); //if (slideActive == false){ // used to block the function whilst it is running slideActive = true; if (dir == "back"){ if(parseInt(currentSlide-1) <= 0){ numberToAdd = parseInt(totalSlides-1) nextSlide = parseInt(currentSlide+numberToAdd) }else{ nextSlide = parseInt(currentSlide-1) } }else{ if(parseInt(currentSlide+1) > parseInt(totalSlides)){ numberToRemove = parseInt(currentSlide-1) nextSlide = parseInt(currentSlide-numberToRemove) }else{ nextSlide = parseInt(currentSlide+1) } } $('lb'+nextSlide).hide(); $('lb'+nextSlide).removeClassName("hidden") new Effect.Appear('lb'+nextSlide, {duration: 0.5,queue:'end'}); new Effect.Fade('lb'+currentSlide, {duration: 0.5,queue:'end',afterFinish:function(){ lbTimer = setTimeout('moveSlide("'+dir+'")',timerDelay); slideActive = false; }}); currentSlide = nextSlide; // } } Event.observe(window,"load",function() { letterboxInit();});