// 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);
}
}