X-Git-Url: http://www.average.org/gitweb/?p=mkgallery.git;a=blobdiff_plain;f=include%2Fgallery.js;h=5d24752b5e2c2b24c81153b7a38029397eafe462;hp=a9d52999ae40cfb32fac05e17c386aff405abec4;hb=224aa7103c52952fe867c36d3cb4f7217f4fbc4c;hpb=7104bfdf4b25fc5bc8e8aaf9e65e6846a731bebc diff --git a/include/gallery.js b/include/gallery.js index a9d5299..5d24752 100644 --- a/include/gallery.js +++ b/include/gallery.js @@ -1,3 +1,11 @@ +/* + This is a part of mkgallery.pl suite + http://www.average.org/mkgallery/ + + Uses mootools (1.1) http://www.mootools.net/ + Uses slideshow http://www.phatfusion.net/slideshow/ +*/ + function showIbox(iboxid) { var ibox = document.getElementById(iboxid); var bwidth = 400; @@ -19,5 +27,112 @@ function HideIbox(iboxid) { var ibox = document.getElementById(iboxid); ibox.zIndex = '1000'; ibox.style.display = 'none'; + return false; } +/* + Slideshow +*/ + +var ShowWindow = new Class({ + + getOptions: function(){ + return { + zIndex: 2, + container: document.body, + onClick: Class.empty + }; + }, + + initialize: function(div,options){ + this.setOptions(this.getOptions(), options); + + this.options.container = $(this.options.container); + + this.div = $(div); + this.div.setStyles({ + position: 'absolute', + left: '0px', + top: '0px', + width: '100%', + zIndex: this.options.zIndex, + overflow: 'hidden', + display: 'none' + }); + this.div.addEvent('click', function(){ + this.options.onClick(); + }.bind(this)); + + this.position(); + + window.addEvent('resize', this.position.bind(this)); + window.addEvent('scroll', this.position.bind(this)); + }, + + position: function(){ + if(this.options.container == document.body){ + var h = window.getHeight()+'px'; + var s = window.getScrollTop()+'px'; + this.div.setStyles({top: s, height: h}); + }else{ + var myCoords = this.options.container.getCoordinates(); + this.div.setStyles({ + top: myCoords.top+'px', + height: myCoords.height+'px', + left: myCoords.left+'px', + width: myCoords.width+'px' + }); + } + }, + + show: function(){ + this.div.setStyles({display: 'block'}); + }, + + hide: function(){ + this.div.setStyles({display: 'none'}); + } +}); +ShowWindow.implement(new Options); + +/* Make overlay window and start slideshow */ +function run_slideshow(startid) { + showwin.show(); + show.stop(); + if (startid < 0) { + show.play(0); + } else { + show.play(startid); + show.stop(); + } + return false; +} + +/* Stop slideshow and return to index page */ +function stop_slideshow() { + show.stop(); + showwin.hide(); + return false; +} + +/* Initialize everything, to be called on domready */ +function init_gallery() { + var winparms = {} + showwin = new ShowWindow('slideshowWindow',winparms) + + var showparms = { + wait: 3000, + effect: 'fade', + duration: 1000, + loop: true, + thumbnails: true, + onClick: function(i){alert(i)} + } + show = new SlideShow('slideshowContainer','slideshowThumbnail',showparms) + + parsedurl = parseUrl(document.URL) + // alert('Anchor: '+parsedurl['anchor']+'\nURL: '+document.URL) + if ($chk(parsedurl['anchor'])){ + run_slideshow(parsedurl['anchor']) + } +}