// var digi_slideshow_conf = [ uid, number, interval, duration, [ // [ 'Bild11', 'Bild12', 'Bild13' ], // [ 'Bild21', 'Bild22', 'Bild23' ] // ] function digi_slideshow(conf){ var me = this;// create self reference me.current = 0; // current gallery me.next = 1; // next gallery me.hidden = 1; // hidden box me.uid = 'tx-digislideshow-pi1-'+conf[0]; me.number = conf[1]; me.interval = conf[2]; me.duration = conf[3]; me.galleries = conf[4]; me.options = {duration:me.duration,transition:Fx.Transitions.linear}; me.box = [$(me.uid+'-1'),$(me.uid+'-2')]; me.img = [$$('#'+me.uid+'-1 img'),$$('#'+me.uid+'-2 img')]; me.fx = [me.box[0].effect('opacity',me.options),me.box[1].effect('opacity',me.options)]; me.fx[0].addEvent("onComplete",function(){ me.step(); }); me.box[0].setStyle('visibility','visible');// show box 0 me.box[1].setStyle('visibility','hidden');// hide box 1 me.init = function(){ me.load(0,0); // init box 0 with gallery 0 me.load(1,1); // init box 1 with gallery 1 me.toggle.delay(me.interval,me); }; me.toggle = function(){// toggle boxes visibility me.fx[1-me.hidden].start('1','0');//fadeout me.fx[me.hidden].start('0','1');//fadein /*me.debug('Fading...');/**/ }; me.step = function(){// advance gallery me.box[1-me.hidden].setStyle('visibility','hidden');//hide me.box[me.hidden].setStyle('visibility','visible');//show me.hidden = ( me.hidden + 1 ) % 2;//toggle me.current = ((me.current+1)%me.galleries.length);//cycle me.next = ((me.current+1)%me.galleries.length);//cycle me.load( me.hidden, me.next ); me.toggle.delay(me.interval,me); }; me.load = function(box,gallery){// load gallery into box /*me.debug('Loaded gallery '+gallery+' into box '+box+'. Showing gallery '+me.current+' in box '+(1-me.hidden)+'.');/**/ for( var i = 0 ; i < me.number ; i++ )if(me.galleries[gallery][i]){// if image present me.img[box][i].src = me.galleries[gallery][i];// load image }else{// if image missing me.img[box][i].src = 'typo3conf/ext/digi_slideshow/res/digitage.gif';// load default image } }; me.debug = function(msg){ var now = new Date(); window.status = '['+('0'+now.getHours()).substr(-2)+':'+('0'+now.getMinutes()).substr(-2)+':'+('0'+now.getSeconds()).substr(-2)+'] '+msg; }; me.init(); };