// ----------------------------------------------------------------------------------- // // This page coded by Scott Upton // http://www.uptonic.com | http://www.couloir.org // // This work is licensed under a Creative Commons License // Attribution-ShareAlike 2.0 // http://creativecommons.org/licenses/by-sa/2.0/ // // Associated APIs copyright their respective owners // // ----------------------------------------------------------------------------------- // --- version date: 11/28/05 -------------------------------------------------------- // get current photo id from URL var thisURL = document.location.href; var splitURL = thisURL.split("#"); var photoId = splitURL[1] - 1; // if no photoId supplied then set default var photoId = (!photoId)? 0 : photoId; // CSS border size x 2 var borderSize = 10; // Photo directory for this gallery //RF var photoDir = "photos/01/"; //var photoDir = "http://media.gordon.nl/shoots/"; var photoDir = ""; // Define each photo's name, height, width, and caption var photoArray = new Array( // Source, Width, Height, Caption new Array("http://media.gordon.nl/shoots/foto_48_704_2pxj2b9nm7.jpg", "500", "351", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_705_cb91jha6ok.jpg", "273", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_706_28l1s7cbhu.jpg", "269", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_707_o12wiwh7k0.jpg", "500", "333", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_709_5xjru919co.jpg", "468", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_710_ntvu0ufjjj.jpg", "258", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_711_dfrkw4vd5h.jpg", "252", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_712_xj1zl7g1qs.jpg", "500", "347", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_713_nj9ixeu0a0.jpg", "500", "344", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_714_yqx94wvsu8.jpg", "263", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_715_u85uhh2gqr.jpg", "500", "321", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_716_myq24l574q.jpg", "500", "333", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_717_kgzfmjf278.jpg", "500", "333", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_718_6x9z3pe85t.jpg", "500", "344", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_719_o6n9evyfee.jpg", "500", "334", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_720_bm0endttye.jpg", "500", "341", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_721_e6tfbbzwwi.jpg", "493", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_722_z7vqdxxi3o.jpg", "500", "352", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_723_3ef7h8ysgp.jpg", "500", "347", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_724_cy3zkmadgd.jpg", "500", "378", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_725_u9z98mhusm.jpg", "268", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_726_gv3k26gbaz.jpg", "252", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_728_mf0ch6u2tt.jpg", "500", "382", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_729_0s9z1pw9vt.jpg", "266", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_730_toh327dr3f.jpg", "258", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_731_cqhhg3rtpg.jpg", "500", "333", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_732_94cfxasfit.jpg", "500", "348", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_733_e0xiyg0h91.jpg", "261", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_734_pomxbljmud.jpg", "500", "316", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_735_yks2965n8q.jpg", "500", "390", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_736_jlfcclu9o1.jpg", "500", "382", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_737_3ewfbxqs50.jpg", "500", "328", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_738_rycdkki51e.jpg", "243", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_739_2so7lenoad.jpg", "247", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_740_gltix2sj3q.jpg", "500", "365", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_741_8311klodgi.jpg", "500", "386", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_742_l5m2sy5cub.jpg", "500", "361", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_743_syam02qylj.jpg", "248", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_744_3xty6u9amb.jpg", "500", "333", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_745_azo1pmq702.jpg", "500", "356", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_746_20zww7ry6e.jpg", "500", "349", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_747_i4gaxyq5g1.jpg", "259", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_748_61bk7zorma.jpg", "290", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_749_yojsrl5ymw.jpg", "500", "373", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_750_c2yg3kipfu.jpg", "258", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_751_w9uqnwi4kk.jpg", "258", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_752_1r3s67cj2c.jpg", "274", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_753_icwq8vilwi.jpg", "500", "356", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_754_yhfh879t0p.jpg", "500", "334", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_755_ue0ni0wxud.jpg", "500", "356", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_756_rztelr81cz.jpg", "500", "334", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_757_610ziise42.jpg", "500", "351", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_758_7d5udryi1o.jpg", "500", "348", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_759_o1sx6hl96g.jpg", "500", "334", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_760_z2baa27d2p.jpg", "500", "369", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_789_awn8il8jn8.jpg", "248", "400", "©www.gordon.nl"), new Array("http://media.gordon.nl/shoots/foto_48_797_bkrk5fj48m.jpg", "500", "334", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_798_pfdge8gl1x.jpg", "266", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_799_q6gw73f179.jpg", "245", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_800_ztmnn9rda1.jpg", "255", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_803_xgcx101530.jpg", "267", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_804_jtmb2r3sqx.jpg", "500", "343", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_805_r0fapvdjl9.jpg", "500", "352", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_806_whn70tc7vd.jpg", "500", "337", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_807_o5wlw9r45o.jpg", "500", "348", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_808_6838h40i34.jpg", "500", "333", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_809_p54cxbqv3d.jpg", "500", "338", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_810_q9cttb5208.jpg", "267", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_811_h9risnzz03.jpg", "254", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_812_a0ltagsjp9.jpg", "259", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_813_fgjwuz9e3t.jpg", "500", "377", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_814_trmj6x1i48.jpg", "500", "373", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_815_cke6ka40so.jpg", "500", "370", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_816_0ehjyrcjr9.jpg", "500", "396", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_817_6w4nfqmzux.jpg", "500", "337", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_818_j7r0298xvm.jpg", "263", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_819_2qry9qi70v.jpg", "484", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_820_c406opgxfh.jpg", "457", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_821_t5omcmx0rp.jpg", "500", "324", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_822_xxqdmzg1zi.jpg", "473", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_823_irz1azf36x.jpg", "500", "334", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_824_wglr6ex0ee.jpg", "500", "337", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_825_fvv4jl6lzv.jpg", "500", "335", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_826_9prw8yltvg.jpg", "500", "336", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_827_q6laajno1y.jpg", "255", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_828_jjvtsakor0.jpg", "500", "305", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_829_6s3fb79ty5.jpg", "500", "373", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_830_9yddb9tu0b.jpg", "500", "334", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_831_y28j76p7sj.jpg", "500", "347", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_832_nxgnndzuun.jpg", "261", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_833_fmmyffe8h4.jpg", "500", "333", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_834_lf3hyt9hjb.jpg", "500", "370", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_835_j0o4ksu5i0.jpg", "500", "372", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_836_gfxihlucja.jpg", "500", "344", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_837_xuxcs3hm15.jpg", "500", "374", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_838_ediqwxv4un.jpg", "240", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_839_8ugykuwlnq.jpg", "317", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_840_xd8we8tiki.jpg", "231", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_841_d8db39iawm.jpg", "500", "353", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_842_zmlk0cltny.jpg", "500", "333", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_843_xsvdsvq4g9.jpg", "274", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_844_3a5gpaicrp.jpg", "278", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_845_bed45kaeh4.jpg", "500", "339", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_846_708k7sbinj.jpg", "500", "383", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_847_hoajv959ll.jpg", "500", "399", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_848_9tcpf99gs0.jpg", "500", "338", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_849_3cvhxix8c4.jpg", "246", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_850_xwp64wycju.jpg", "258", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_851_7rdpvca7fd.jpg", "500", "368", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_852_9dw8wiyqyl.jpg", "500", "333", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_853_4dt8zr618k.jpg", "500", "338", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_854_7hxaazi2lx.jpg", "500", "358", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_855_wrvz4b52sv.jpg", "500", "331", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_856_oc4kjbblkm.jpg", "500", "333", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_857_zdz19rtzwk.jpg", "500", "391", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_858_wo68utbwxz.jpg", "500", "341", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_859_q48p04aash.jpg", "458", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_860_ms4f0hab4w.jpg", "500", "396", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_861_tc305heeli.jpg", "474", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_862_67wm8masl7.jpg", "500", "320", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_863_ijdb7xx58f.jpg", "500", "322", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_864_9nfztrf1dc.jpg", "500", "316", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_865_viy75w5amw.jpg", "500", "341", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_867_xceryw8t11.jpg", "500", "358", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_868_0mde94zpyl.jpg", "266", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_869_ajoyofts45.jpg", "500", "333", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_870_m79i00ub35.jpg", "500", "333", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_871_yf462e5m8r.jpg", "500", "333", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_872_crps0oiohd.jpg", "500", "333", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_873_q2iype3iyr.jpg", "500", "333", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_874_088dxlhjqh.jpg", "257", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_875_uq9ic6hfke.jpg", "246", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_876_0apj2joswu.jpg", "500", "350", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_877_52b2x9cyq4.jpg", "500", "332", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_878_8z1za2np6f.jpg", "500", "300", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_879_qm7o67fx96.jpg", "500", "309", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_880_t6hn2ksozt.jpg", "500", "328", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_881_583o4dhhvz.jpg", "266", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_882_xm4yb37o03.jpg", "266", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_883_6li5zpwgf9.jpg", "252", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_884_1acvvlbazv.jpg", "268", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_885_cyupdo68qj.jpg", "266", "400", "©William Rutten"), new Array("http://media.gordon.nl/shoots/foto_48_886_1ielzhapic.jpg", "266", "400", "©William Rutten") ); // Number of photos in this gallery var photoNum = photoArray.length; /*--------------------------------------------------------------------------*/ // Additional methods for Element added by SU, Couloir Object.extend(Element, { getWidth: function(element) { element = $(element); return element.offsetWidth; }, setWidth: function(element,w) { element = $(element); element.style.width = w +"px"; }, setHeight: function(element,h) { element = $(element); element.style.height = h +"px"; }, setSrc: function(element,src) { element = $(element); element.src = src; }, setHref: function(element,href) { element = $(element); element.href = href; }, setInnerHTML: function(element,content) { element = $(element); element.innerHTML = content; } }); /*--------------------------------------------------------------------------*/ var Slideshow = Class.create(); Slideshow.prototype = { initialize: function(photoId) { this.photoId = photoId; this.photo = 'Photo'; this.photoBox = 'Container'; this.prevLink = 'PrevLink'; this.nextLink = 'NextLink'; this.captionBox = 'CaptionContainer'; this.caption = 'Caption'; this.counter = 'Counter'; this.loader = 'Loading'; }, getCurrentSize: function() { // Get current height and width, subtracting CSS border size this.wCur = Element.getWidth(this.photoBox) - borderSize; this.hCur = Element.getHeight(this.photoBox) - borderSize; }, getNewSize: function() { // Get current height and width this.wNew = photoArray[photoId][1]; this.hNew = photoArray[photoId][2]; }, getScaleFactor: function() { this.getCurrentSize(); this.getNewSize(); // Scalars based on change from old to new this.xScale = (this.wNew / this.wCur) * 100; this.yScale = (this.hNew / this.hCur) * 100; }, setNewPhotoParams: function() { // Set source of new image Element.setSrc(this.photo,photoDir + photoArray[photoId][0]); // Set anchor for bookmarking Element.setHref(this.prevLink, "#" + (photoId+1)); Element.setHref(this.nextLink, "#" + (photoId+1)); }, setPhotoCaption: function() { // Add caption from gallery array Element.setInnerHTML(this.caption,photoArray[photoId][3]); Element.setInnerHTML(this.counter,((photoId+1)+'/'+photoNum)); }, resizePhotoBox: function() { this.getScaleFactor(); new Effect.Scale(this.photoBox, this.yScale, {scaleX: false, duration: 0.3, queue: 'front'}); new Effect.Scale(this.photoBox, this.xScale, {scaleY: false, delay: 0.5, duration: 0.3}); // Dynamically resize caption box as well Element.setWidth(this.captionBox,this.wNew-(-borderSize)); }, showPhoto: function(){ new Effect.Fade(this.loader, {delay: 0.5, duration: 0.3}); // Workaround for problems calling object method "afterFinish" new Effect.Appear(this.photo, {duration: 0.5, queue: 'end', afterFinish: function(){Element.show('CaptionContainer');Element.show('PrevLink');Element.show('NextLink');}}); }, nextPhoto: function(){ // Figure out which photo is next (photoId == (photoArray.length - 1)) ? photoId = 0 : photoId++; this.initSwap(); }, prevPhoto: function(){ // Figure out which photo is previous (photoId == 0) ? photoId = photoArray.length - 1 : photoId--; this.initSwap(); }, initSwap: function() { // Begin by hiding main elements Element.show(this.loader); Element.hide(this.photo); Element.hide(this.captionBox); Element.hide(this.prevLink); Element.hide(this.nextLink); // Set new dimensions and source, then resize this.setNewPhotoParams(); this.resizePhotoBox(); this.setPhotoCaption(); } } /*--------------------------------------------------------------------------*/ // Establish CSS-driven events via Behaviour script var myrules = { '#Photo' : function(element){ element.onload = function(){ var myPhoto = new Slideshow(photoId); myPhoto.showPhoto(); } }, '#PrevLink' : function(element){ //element.onmouseover = function(){ // soundManager.play('beep'); //} element.onclick = function(){ var myPhoto = new Slideshow(photoId); myPhoto.prevPhoto(); //soundManager.play('select'); } }, '#NextLink' : function(element){ //element.onmouseover = function(){ // soundManager.play('beep'); //} element.onclick = function(){ var myPhoto = new Slideshow(photoId); myPhoto.nextPhoto(); //soundManager.play('select'); } }, a : function(element){ element.onfocus = function(){ this.blur(); } } }; // Add window.onload event to initialize Behaviour.addLoadEvent(init); Behaviour.apply(); function init() { var myPhoto = new Slideshow(photoId); myPhoto.initSwap(); //RF soundManagerInit(); }