2 This is a part of mkgallery.pl suite
3 http://www.average.org/mkgallery/
5 Uses mootools (1.1) http://www.mootools.net/
6 Uses slideshow http://www.phatfusion.net/slideshow/
9 function showIbox(iboxid) {
10 var ibox = document.getElementById(iboxid);
14 var wwidth = window.getWidth();
15 var wheight = window.getHeight();
17 ibox.style.top = window.getScrollTop() + ((wheight - bheight) / 2) + 'px';
18 ibox.style.left = ((wwidth - bwidth) / 2) + "px";
19 ibox.style.width = bwidth + "px";
20 ibox.style.height = bheight + "px";
21 // alert('wwidth='+wwidth+'; bwidth='+bwidth+'; wheight='+wheight+'; bheight='+bheight);
23 ibox.style.display = 'block';
26 function HideIbox(iboxid) {
27 var ibox = document.getElementById(iboxid);
29 ibox.style.display = 'none';
37 var ShowWindow = new Class({
39 getOptions: function(){
42 container: document.body,
47 initialize: function(div,options){
48 this.setOptions(this.getOptions(), options);
50 this.options.container = $(this.options.container);
58 zIndex: this.options.zIndex,
62 this.div.addEvent('click', function(){
63 this.options.onClick();
68 window.addEvent('resize', this.position.bind(this));
69 window.addEvent('scroll', this.position.bind(this));
73 if(this.options.container == document.body){
74 var h = window.getHeight()+'px';
75 var s = window.getScrollTop()+'px';
76 this.div.setStyles({top: s, height: h});
78 var myCoords = this.options.container.getCoordinates();
80 top: myCoords.top+'px',
81 height: myCoords.height+'px',
82 left: myCoords.left+'px',
83 width: myCoords.width+'px'
89 this.div.setStyles({display: 'block'});
93 this.div.setStyles({display: 'none'});
96 ShowWindow.implement(new Options);
98 /* Make overlay window and start slideshow */
99 function run_slideshow(startid) {
111 /* Stop slideshow and return to index page */
112 function stop_slideshow() {
118 /* List of lists of img variations. Each image variation is a three-element */
119 /* array: [width, height, url]. Index of the outer array is the global ID. */
124 * [width, height, url]
130 /* Initialize everything, to be called on domready */
131 function init_gallery() {
132 $$('div.varimages').each(function(el){
135 el.getElements('a').each(function(ael,i){
136 dim = /(\d+)[^\d](\d+)/.exec(ael.text)
139 vimgs[id][i]=[w,h,ael.href]
143 var msg='loaded '+vimgs.length+' image descriptions:'
144 vimgs.each(function(vimg,i){
146 vimg.each(function(vimg,i){
147 msg+='\n w='+vimg[0]+' h='+vimg[1]+' url='+vimg[2]
151 /* end debugging output */
154 showwin = new ShowWindow('slideshowWindow',winparms)
162 onClick: function(i){alert(i)}
164 show = new SlideShow('slideshowContainer','slideshowThumbnail',showparms)
166 parsedurl = parseUrl(document.URL)
167 // alert('Anchor: '+parsedurl['anchor']+'\nURL: '+document.URL)
168 if ($chk(parsedurl['anchor'])){
169 run_slideshow(parsedurl['anchor'])
174 window.addEvent('domready',init_gallery)