/*
slideshow.js
15/04/2011
written by kim borch
fixfaxer-at-gmail-dot-com
*/
var timeGrain=20;var holdTime=3500;var fadeTime=2000;var moveTime=500;var moveDelayTime=1300;var moveAccel=0.8;var labelSpacing=40;var topImage,bottomImage;var imageLink;var labelHover;var imageArray;var labelArray;var currentIndex;var nextIndex;var slideshowSize;var currentOpacity;var opacityPerStep;var currentPos,targetPos;var numFadeSteps,numMoveSteps;function initAndStartSlideshow(){slideshowContainer=document.getElementById("slideshow-container");topImage=document.getElementById("slideshow-image-top");bottomImage=document.getElementById("slideshow-image-bottom");imageLink=document.getElementById("slideshow-image-link");labelHover=document.getElementById("slideshow-label-hover");labelArray=document.getElementById("slideshow-label-container").children;imageArray=document.getElementById("slideshow-image-collection").children;if(!setSlideshowSize()){alert("slideshow: error! link and img arrays are not the same size. aborting");return}if(isNaN(labelSpacing)||labelSpacing<=0){alert("slideshow: error! labelSpacing must be a positive number. aborting");return}preloadImages();for(var a=0;a<slideshowSize;a++){labelArray[a].style.top=a*labelSpacing+"px"}currentIndex=0;nextIndex=1;topImage.src=imageArray[currentIndex].src;bottomImage.src=imageArray[nextIndex].src;topImage.style.opacity=1;topImage.style.zIndex=1;bottomImage.style.opacity=1;bottomImage.style.zIndex=0;imageLink.href=labelArray[currentIndex].href;moveTime=(moveTime>fadeTime)?fadeTime:moveTime;moveDelayTime=(moveDelayTime>fadeTime-moveTime)?fadeTime-moveTime:moveDelayTime;numFadeSteps=Math.floor(fadeTime/timeGrain);numMoveSteps=Math.floor(moveTime/timeGrain);currentOpacity=1;opacityPerStep=1/numFadeSteps;slideshowContainer.style.display="block";setTimeout("doSlide()",holdTime)}function setSlideshowSize(){if(imageArray.length!=labelArray.length){return false}else{slideshowSize=imageArray.length;return true}}function preloadImages(){var b=new Image();for(var a=0;a<imageArray.length;a++){b.src=imageArray[a].src}}function doSlide(){for(var d=0;d<numFadeSteps;d++){setTimeout("fadeSlides()",d*timeGrain)}currentPos=currentIndex*labelSpacing;targetPos=nextIndex*labelSpacing;var e=targetPos-currentPos;var c=new Array();var a=0;for(var d=0;d<numMoveSteps;d++){c[d]=Math.pow(moveAccel,d);a+=c[d]}var b=e/a;for(var d=0;d<numMoveSteps;d++){setTimeout("moveLabelHoverBy("+b*c[d]+")",d*timeGrain+moveDelayTime)}setTimeout("rotateSlideshow()",fadeTime);setTimeout("doSlide()",fadeTime+holdTime)}function fadeSlides(){currentOpacity-=opacityPerStep;topImage.style.opacity=currentOpacity}function moveLabelHoverBy(a){currentPos+=a;labelHover.style.top=Math.round(currentPos)+"px"}function rotateSlideshow(){currentIndex=nextIndex;nextIndex=(nextIndex==slideshowSize-1)?0:nextIndex+1;imageLink.href=labelArray[currentIndex].href;var a=topImage;topImage=bottomImage;bottomImage=a;topImage.style.zIndex=1;bottomImage.style.zIndex=0;bottomImage.src=imageArray[nextIndex].src;bottomImage.style.opacity=1;currentOpacity=1};

