var autoroll = true; // set to false if you don't want it var delayroll = 4000; // delay length, in miliseconds var rollspeed = 400; // animation duration, in miliseconds var rollerOuter = "roller-wrapper"; // roller holder var rollerLoading = "roller-loading"; // roller loading image holder var rollerClass = "roller"; // roller class name var clickerClass = "clicker"; // clicker class name var activeSuffix = "-active"; // active clicker class suffix var isShowing = 0; var rollers; var clickers; var fx1 = new Array(); var firstDelay = false; var pauseFlag = false; var timer; function initRoll() { displayloading = document.getElementById(rollerLoading); if (displayloading) displayloading.style.display = "none"; else return; displayroller = document.getElementById(rollerOuter); if (displayroller) displayroller.style.display = "block"; rollers = document.getElementsByClassName(rollerClass); clickers = document.getElementsByClassName(clickerClass); if (rollers.length == 0 || clickers.length == 0) return; for (i = 0; i < rollers.length; ++i) { fx1[i] = new fx.Combo(rollers[i], { opacity: true, width: false, duration: rollspeed, height: true }); clickers[i].onclick = function() { current = null; for (j = 0; j < clickers.length; ++j) { if (this == clickers[j]) current = j; } if (current != isShowing) { fx1[isShowing].clearTimer(); if (fx1[isShowing].el.offsetHeight) fx1[isShowing].hide(); fx1[current].toggle(); clickers[isShowing].className = clickerClass; clickers[current].className = clickerClass + activeSuffix; isShowing = current; clearRoll(); } } if (i != 0) { fx1[i].hide(); } else { clickers[i].className = clickerClass + activeSuffix; } } } function showPauseButton() { createCookie("ja-moofx-autoroll", "true"); playButton.innerHTML = "Pause"; playButton.title = "Pause"; pauseFlag = false; autoRoll(); } function showPlayButton() { createCookie("ja-moofx-autoroll", "false"); playButton.innerHTML = "Play"; playButton.title = "Play"; pauseFlag = true; clearTimeout(timer); firstDelay = false; } function showNext() { if (rollers.length <= 1) return; fx1[isShowing].clearTimer(); if (fx1[isShowing].el.offsetHeight) fx1[isShowing].hide(); clickers[isShowing].className = clickerClass; if (isShowing == rollers.length - 1) { fx1[0].toggle(); isShowing = 0; } else { fx1[++isShowing].toggle(); } clickers[isShowing].className = clickerClass + activeSuffix; } function showPrev() { if (rollers.length <= 1) return; fx1[isShowing].clearTimer(); if (fx1[isShowing].el.offsetHeight) fx1[isShowing].hide(); clickers[isShowing].className = clickerClass; if (isShowing == 0) { fx1[rollers.length - 1].toggle(); isShowing = rollers.length - 1; } else { fx1[--isShowing].toggle(); } clickers[isShowing].className = clickerClass + activeSuffix; } function autoRoll() { if (!pauseFlag) { timer = setTimeout('autoRoll()', delayroll); if (!firstDelay) firstDelay = true; else showNext(); } } function clearRoll() { if (!pauseFlag) { clearTimeout(timer); firstDelay = false; autoRoll(); } } function playButtonClicked() { if (pauseFlag) showPauseButton(); else showPlayButton(); }