cbExit: function(){ alert('show exit undefined'); },
percentage: 98,
delay: 5000,
+ fxduration: 200,
}
},
curr: {},
next: {},
};
+/*
+ * thescripts.com/forum/thread170365.html
+ */
+ var hashpos = document.URL.search(/#/);
+ if (hashpos > 0) {
+ this.baseurl = document.URL.slice(0,hashpos);
+ } else {
+ this.baseurl = document.URL
+ }
+
this.updatecoords();
- this.previd = -1;
+ this.prevdisplay = new Element('img').
+ setProperty('alt', 'Current Image').
+ setStyle('opacity', 0).
+ injectInside(this.container.container);
this.ondisplay = new Element('img').
+ setProperty('alt', 'Current Image').
+ setStyle('opacity', 0).
injectInside(this.container.container);
this.loadingdiv = new Element('div').
addClass('loading').setStyles({
position: 'absolute',
top: 0,
left: 0,
- zIndex: 3,
+ zIndex: 4,
display: 'none',
width: this.coords.width,
height: this.coords.height,
if (this.currentid > 0) {
this.show(this.currentid-1);
} else {
- alert('show.prev called beyond first element');
+ /* alert('show.prev called beyond first element'); */
}
},
this.controls.running(1);
},
+ toggleplay: function(){
+ if (this.isplaying) { this.stop(); }
+ else { this.play(); }
+ },
+
next: function(){
if (this.currentid < this.vimgs.length-1) {
this.show(this.currentid+1);
} else {
- alert('show.next called beyond last element');
+ /* alert('show.next called beyond last element'); */
}
},
exit: function(){
if (this.isplaying) { $clear(this.timer); }
+ this.prevdisplay.setStyle('display', 'none');
+ this.ondisplay.setStyle('display', 'none');
this.stopfx();
this.options.cbExit();
+ document.location.href = this.baseurl;
},
comm: function(){
this.options.cbStart();
this.isplaying = play;
this.controls.running(this.isplaying);
+ this.updatecoords();
this.show(id);
return false; /* to make it usable from href links */
},
show: function(id){
/* alert('called show.show('+id+')'); */
- this.previd = this.currentid;
this.currentid = id;
var newcache = {
prev: (id > 0)?this.prepare(id-1):{},
this.pendingload = true;
this.showloading();
}
+ document.location.href = this.baseurl+'#'+this.vimgs[id][0];
this.controls.info(id,this.vimgs.length,
- this.vimgs[id][0],
+ '#'+this.vimgs[id][0],
this.vimgs[id][1]);
},
var newstyle = this.calcsize(cachel);
var newimg = cachel.img.clone();
newimg.setStyles(newstyle);
+ newimg.setStyles({
+ zIndex: 3,
+ opacity: 0,
+ });
+ this.prevdisplay.dispose();
+ this.prevdisplay = this.ondisplay.clone().
+ setStyle('zIndex', 2).injectInside(this.container.container);
newimg.replaces(this.ondisplay);
this.ondisplay = newimg;
+ this.effect();
+ },
+
+ effect: function(){
+ this.fx = new Fx.Tween(this.ondisplay, {
+ duration: this.options.fxduration,
+ });
+ this.fx.addEvent('complete',this.displaycomplete.bind(this));
+ this.fx.start('opacity', 0, 1);
+ },
+
+ displaycomplete: function(){
+ this.prevdisplay.setStyle('display', 'none');
if (this.isplaying) {
this.timer = this.autonext.delay(this.delay,this);
}
},
stopfx: function(){
+ if (this.fx) this.fx.cancel();
},
updatecoords: function(){