in jspwiki-war/src/main/scripts/jspwiki-common.js [773:833]
nextEffect: function(){
switch (this.step++){
case 1:
this.center.className = '';
this.caption.empty().adopt(new Element('a', {
'href':this.images[this.activeImage][0],
'title':"slimbox.directLink".localize()
}).setHTML(this.images[this.activeImage][1] || ''));
var type = (this.images[this.activeImage][2]=='img') ? "slimbox.info" : "slimbox.remoteRequest";
this.number.setHTML((this.images.length == 1) ? '' : type.localize(this.activeImage+1, this.images.length));
this.image.style.backgroundImage = 'none';
var w = Math.max(this.options.initialWidth,this.preload.width),
h = Math.max(this.options.initialHeight,this.preload.height),
ww = Window.getWidth()-10,
wh = Window.getHeight()-120;
if(this.images[this.activeImage][2]!='img' &&!this.ajaxFailed){ w = 6000; h = 3000; }
if(w > ww) { h = Math.round(h * ww/w); w = ww; }
if(h > wh) { w = Math.round(w * wh/h); h = wh; }
this.image.style.width = this.bottom.style.width = w+'px';
this.image.style.height = /*this.prevLink.style.height = this.nextLink.style.height = */ h+'px';
if( this.images[this.activeImage][2]=='img') {
this.image.style.backgroundImage = 'url('+this.images[this.activeImage][0]+')';
if (this.activeImage) this.preloadPrev.src = this.images[this.activeImage-1][0];
if (this.activeImage != (this.images.length - 1)) this.preloadNext.src = this.images[this.activeImage+1][0];
this.number.setHTML(this.number.innerHTML+' ['+this.preload.width+'×'+this.preload.height+']');
} else {
this.so.style.width=w+'px';
this.so.style.height=h+'px';
}
if (this.options.animateCaption) this.bottomContainer.setStyles({height: '0px', display: ''});
this.fxs.start({
'0': { height: [this.image.offsetHeight], width: [this.image.offsetWidth], marginLeft: [-this.image.offsetWidth/2] },
'1': { opacity: [1] }
});
break;
case 2:
//this.center.style.backgroundColor = '#000';
this.image.setStyle('overflow','auto');
this.bottomContainer.setStyles({ top: (this.top + this.center.clientHeight)+'px', marginLeft: this.center.style.marginLeft });
if (this.options.animateCaption){
this.fx.bottom.set(-this.bottom.offsetHeight);
this.bottomContainer.style.height = '';
this.fx.bottom.start(0);
break;
}
this.bottomContainer.style.height = '';
case 3:
if (this.activeImage) this.prevLink.style.display = '';
if (this.activeImage != (this.images.length - 1)) this.nextLink.style.display = '';
this.step = 0;
}
},