if(!window.Gallery)
var Gallery=new Object();Gallery.Methods={instances:[],currentImage:0,fadeDuration:0.75,options:{loadingString:'Bezig met laden...',backString:'Terug naar overzicht'},_preloaded:[],create:function(galleryId,jsonData){Gallery.instances[galleryId]={imageArray:jsonData.Album.AlbumFile,albumInfo:jsonData.Album.Album}
this.setOptions(jsonData.Options);Gallery._preloaded=[];var imageArray=Gallery.getImageArray(galleryId);var html='';html+='<div id="GalleryLoading'+galleryId+'" class="preloader">'+Gallery.options.loadingString+'</div>';html+='<div id="GalleryWrapper'+galleryId+'">';html+='  <div id="Gallery_image_count'+galleryId+'" class="Gallery_image_count"></div>';html+='  <table width="100%" border="0" cellspacing="0" cellpadding="0">';html+='    <tr>';html+='      <td width="50%"><a href="#" class="Gallery_prevLink" onclick="Gallery.previousImage('+galleryId+');return false;" title=""></a></td>';html+='      <td><img id="Gallery_imageLarge'+galleryId+'" /></td>';html+='      <td width="50%"><a href="#" class="Gallery_nextLink" onclick="Gallery.nextImage('+galleryId+');return false;" title=""></a></td>';html+='    </tr>';html+='  </table>';html+='  <div id="Gallery_info'+galleryId+'" class="Gallery_info"></div>';html+='</div>';$('Gallery-'+galleryId).update(html);Gallery.changeImage(galleryId,0);},setOptions:function(options){Object.extend(this.options,options||{});},previousImage:function(galleryId){new Effect.Fade('GalleryWrapper'+galleryId,{duration:Gallery.fadeDuration,queue:'end',afterFinish:(function(){Gallery._previousImage(galleryId);}).bind(this)});},_previousImage:function(galleryId){var imageArray=Gallery.getImageArray(galleryId);var nextId=Gallery.currentImage-1;if(nextId<0){nextId=imageArray.length-1;}
Gallery.changeImage(galleryId,nextId);},nextImage:function(galleryId){new Effect.Fade('GalleryWrapper'+galleryId,{duration:Gallery.fadeDuration,queue:'end',afterFinish:(function(){Gallery._nextImage(galleryId);}).bind(this)});},_nextImage:function(galleryId){var imageArray=Gallery.getImageArray(galleryId);var nextId=Gallery.currentImage+1;if(nextId==imageArray.length){nextId=0;}
Gallery.changeImage(galleryId,nextId);},changeImage:function(galleryId,id){var imageArray=Gallery.getImageArray(galleryId);var imageData=imageArray[id];if(Gallery._preloaded.indexOf(id)==-1){$('GalleryLoading'+galleryId).show();$('GalleryWrapper'+galleryId).hide();}
var imgPreloader=new Image();imgPreloader.onload=(function(){if(Gallery._preloaded.indexOf(id)==-1){Gallery._preloaded.push(id);}
$('Gallery_imageLarge'+galleryId).setStyle({width:imgPreloader.width+'px'});$('Gallery_imageLarge'+galleryId).setStyle({height:imgPreloader.height+'px'});$('Gallery_imageLarge'+galleryId).src=imgPreloader.src;var info='<span class="Title">'+imageData.title+'</span>';info+='<span class="Caption">'+imageData.caption+'</span>';$('Gallery_image_count'+galleryId).update('Afbeelding '+eval(id+1)+' van de '+imageArray.length);$('Gallery_info'+galleryId).update(info);Gallery.currentImage=id;Gallery._updateImage(galleryId,imgPreloader.width,imgPreloader.height);}).bind(this);imgPreloader.src=Gallery._formatSrc(imageData.file_id);},_updateImage:function(galleryId,imgWidth,imgHeight){$('GalleryLoading'+galleryId).hide();var imageArray=Gallery.getImageArray(galleryId);var imageData=imageArray[Gallery.currentImage];$('Gallery_imageLarge'+galleryId).width=imgWidth;$('Gallery_imageLarge'+galleryId).height=imgHeight;new Effect.Appear('GalleryWrapper'+galleryId,{duration:Gallery.fadeDuration,queue:'end'});Gallery.preloadNeighborImages(galleryId);},preloadNeighborImages:function(galleryId){var pNextImage,pPrevImage;var imageArray=Gallery.getImageArray(galleryId);if(imageArray.length>Gallery.currentImage+1){var next=Gallery.currentImage+1;if(Gallery._preloaded.indexOf(next)==-1){pNextImage=new Image();pNextImage.onload=function(){if(Gallery._preloaded.indexOf(next)==-1){Gallery._preloaded.push(next);}};pNextImage.src=Gallery._formatSrc(imageArray[next].file_id);}}
if(Gallery.currentImage>0){var prev=Gallery.currentImage-1;if(Gallery._preloaded.indexOf(prev)==-1){pPrevImage=new Image();pPrevImage.onload=function(){if(Gallery._preloaded.indexOf(prev)==-1){Gallery._preloaded.push(prev);}};pPrevImage.src=Gallery._formatSrc(imageArray[prev].file_id);}}},_formatSrc:function(id){return'scripts/thumbnailcache.php?id='+id+'&w=550&h=350';},getImageArray:function(galleryId){return Gallery.instances[galleryId].imageArray;}}
Object.extend(Gallery,Gallery.Methods);
