// object to handle periodic cycling of images stored in cycler.imagesSrcArr var cycler = { // id of target element that will display images targetImgId:'cycledimg', // interval in milliseconds between each photo interval:8000, // how long the fade out effect will last (in seconds) effectDuration:1, // arrays to store image src, title and orientation (ie. portrait or landscape) imagesSrcArr:new Array(), imagesTitleArr:new Array(), imagesOrientArr:new Array(), // keeps track of which image we are on currentImage:0, // will store total number of images totalImages:0, // target element that will display images targetImg:null, // populate arrays, set target element, set totalImages init:function() { cycler.targetImg = document.getElementById(cycler.targetImgId); if (!cycler.targetImg) { return; } cycler.imagesSrcArr[0] = 'http://farm2.static.flickr.com/1215/543795857_d4418b2987_m.jpg'; cycler.imagesTitleArr[0] = '054'; cycler.imagesOrientArr[0] = 'landscape' cycler.imagesSrcArr[1] = 'http://farm2.static.flickr.com/1371/543795825_a1ab765439_m.jpg'; cycler.imagesTitleArr[1] = '052'; cycler.imagesOrientArr[1] = 'portrait' cycler.imagesSrcArr[2] = 'http://farm2.static.flickr.com/1094/543795499_37fd711ef6_m.jpg'; cycler.imagesTitleArr[2] = '040'; cycler.imagesOrientArr[2] = 'landscape' cycler.imagesSrcArr[3] = 'http://farm2.static.flickr.com/1428/543696052_62c6bf5771_m.jpg'; cycler.imagesTitleArr[3] = '029'; cycler.imagesOrientArr[3] = 'portrait' cycler.imagesSrcArr[4] = 'http://farm2.static.flickr.com/1184/543795125_9b548a6079_m.jpg'; cycler.imagesTitleArr[4] = '022'; cycler.imagesOrientArr[4] = 'landscape' cycler.imagesSrcArr[5] = 'http://farm2.static.flickr.com/1190/543695764_ec48a5f9eb_m.jpg'; cycler.imagesTitleArr[5] = '016'; cycler.imagesOrientArr[5] = 'landscape' cycler.imagesSrcArr[6] = 'http://farm2.static.flickr.com/1294/543794883_4f061f3414_m.jpg'; cycler.imagesTitleArr[6] = '010'; cycler.imagesOrientArr[6] = 'portrait' cycler.imagesSrcArr[7] = 'http://farm2.static.flickr.com/1211/543695432_1f6588e1bb_m.jpg'; cycler.imagesTitleArr[7] = '004'; cycler.imagesOrientArr[7] = 'portrait' cycler.imagesSrcArr[8] = 'http://farm2.static.flickr.com/1181/543695676_8436e70aee_m.jpg'; cycler.imagesTitleArr[8] = '012'; cycler.imagesOrientArr[8] = 'portrait' cycler.imagesSrcArr[9] = 'http://farm3.static.flickr.com/2326/1799238064_8b31f94e84_m.jpg'; cycler.imagesTitleArr[9] = ''; cycler.imagesOrientArr[9] = 'portrait' cycler.imagesSrcArr[10] = 'http://farm3.static.flickr.com/2269/1799238076_c68fb5d586_m.jpg'; cycler.imagesTitleArr[10] = ''; cycler.imagesOrientArr[10] = 'portrait' cycler.imagesSrcArr[11] = 'http://farm3.static.flickr.com/2407/1799238084_818ef4db97_m.jpg'; cycler.imagesTitleArr[11] = ''; cycler.imagesOrientArr[11] = 'portrait' cycler.imagesSrcArr[12] = 'http://farm3.static.flickr.com/2316/1799359162_956eae6937_m.jpg'; cycler.imagesTitleArr[12] = ''; cycler.imagesOrientArr[12] = 'landscape' cycler.imagesSrcArr[13] = 'http://farm3.static.flickr.com/2289/1799359140_69e53fc524_m.jpg'; cycler.imagesTitleArr[13] = ''; cycler.imagesOrientArr[13] = 'landscape' cycler.imagesSrcArr[14] = 'http://farm3.static.flickr.com/2242/1798563417_9c64ed71b9_m.jpg'; cycler.imagesTitleArr[14] = ''; cycler.imagesOrientArr[14] = 'portrait' cycler.totalImages = cycler.imagesSrcArr.length; }, changeImgAttr:function() { cycler.targetImg.setAttribute('src', cycler.imagesSrcArr[cycler.currentImage]); cycler.targetImg.setAttribute('alt', cycler.imagesTitleArr[cycler.currentImage]); cycler.targetImg.setAttribute('title', cycler.imagesTitleArr[cycler.currentImage]); cycler.targetImg.parentNode.className = cycler.imagesOrientArr[cycler.currentImage]; }, // cycle to the next image // if dir = 1 cycle forward, otherwise cycle backward (defaults to forward) cycleOnce:function(dir) { if (!cycler.targetImg || (cycler.totalImages == 0)) { return; } if (dir === 1) { cycler.currentImage = (cycler.currentImage == (cycler.totalImages - 1) || 0) ? 0 : cycler.currentImage + 1; } else { cycler.currentImage = cycler.currentImage == 0 ? cycler.totalImages - 1 : cycler.currentImage - 1; } if (Effect.Fade && Effect.Appear) { Effect.Fade(cycler.targetImgId, {duration:cycler.effectDuration, queue:'end'}); window.setTimeout(cycler.changeImgAttr, cycler.effectDuration * 1000); } else { cycler.changeImgAttr(); } if (Effect.Fade && Effect.Appear) { window.setTimeout("Effect.Appear(cycler.targetImgId, {duration:cycler.effectDuration, queue:'end'})", cycler.effectDuration * 1000); } } } window.onload = function() { if (!document.getElementById || !document.createTextNode) { return; } cycler.init(); if (cycler.targetImg && (cycler.totalImages > 0)) { var timeoutId = window.setInterval(cycler.cycleOnce, cycler.interval); } }