function Slideshow(){var i=-1,g=1E3,o="slide",q=1E3,r=true,j=true,A=0,s,t,u,v,k,l,m,w,e,x,h,c,f,y,z,n,p;this.init=function(){i=-1;g=1E3;o="slide";q=1E3;j=r=true;s=$("#slideshow");t=$("#slideshow_nav_prev");u=$("#slideshow_nav_next");v=$("#slideshow_selector");k=$("#slideshow_images");l=$("#slideshow_caption");m=$("#slideshow_description");w=$("#slideshow_selector_button");e=$("#slideshow_pause");n=$("#slideshow_loader");x=s.height();h=s.width();this.loadConfig()};this.loadConfig=function(){var a=
this;$.ajax("slideshow_config.json",{complete:function(b){a.configLoaded(b)}})};this.configLoaded=function(a){var b=null;try{if(b=JSON.parse(a.responseText),b.transition)switch(g=b.transition.speed,o=b.transition.type,q=b.transition.delay,r=b.transition.autoStart,j=b.transition.stopOnNav,o){case "slide":k.css("left",h+"px")}}catch(d){}this.initViewer();this.loadImages()};this.loadImages=function(){var a=this;$.ajax("slideshow_images.json",{complete:function(b){a.imagesLoaded(b)}})};this.imagesLoaded=
function(a){try{c=JSON.parse(a.responseText)}catch(b){}this.initSelector();this.next();r&&!f&&this.startTimer()};this.startTimer=function(){var a=this;clearInterval(y);y=setInterval(function(){a.next()},q)};this.stopTimer=function(){clearInterval(y)};this.initSelector=function(){if(v){var a=null;_selectorButtons=[];if(c)for(var b=0;b<c.length;++b)a=this.createSelectorButton(b),_selectorButtons.push(a),v.append(a.element)}};this.createSelectorButton=function(a){var b=c[a],d=a==0?w:w.clone(),a={image:b,
index:a,element:d};this.enableSelectorButton(a);return a};this.enableSelectorButton=function(a){if(a){var b=this;a.element.click(function(){b.selectorClicked(a)});a.element.removeClass("disabled")}};this.disableSelectorButton=function(a){a&&(a.element.click(null),a.element.addClass("disabled"))};this.selectorClicked=function(a){a&&(this.selectImage(a.index),j?this.stopTimer():f||this.startTimer())};this.selectSelectorButton=function(a){this.enableSelectorButton(z);z=_selectorButtons[a];this.disableSelectorButton(z)};
this.initViewer=function(){var a=this;u&&u.click(function(){a.nextClicked()});t&&t.click(function(){a.prevClicked()});e&&e.click(function(){a.pauseClicked()})};this.pauseClicked=function(){f?(f=false,this.startTimer(),e.removeClass("paused"),e.addClass("playing"),this.next()):(f=true,this.stopTimer(),e.removeClass("playing"),e.addClass("paused"))};this.nextClicked=function(){this.next();j?this.stopTimer():f||this.startTimer()};this.prevClicked=function(){this.prev();j?this.stopTimer():f||this.startTimer()};
this.next=function(){if(c&&!p){var a=i;a>=c.length-1&&(a=-1);this.selectImage(a+1)}};this.prev=function(){if(c&&!p){var a=i;if(a<=0)a=c.length;this.selectImage(a-1)}};this.selectImage=function(a){i=a;var b=this,d=c[a];if(!d.img)d.img=this.createImageElement(a,d);if(d.loaded)switch(p=false,n.stop(),n.fadeTo(g,0),i=a,this.selectSelectorButton(a),o){case "fade":this.selectImageFade(d,a);break;default:this.selectImageSlide(d,a)}else p=true,n.stop(),n.fadeTo(500,1),setTimeout(function(){b.selectImage(a)},
100)};this.selectImageFade=function(a){var b=a.img;this.setToTop(a);if(!a.initialized)k.append(b),a.initialized=true;l&&l.text(a.caption);m&&m.text(a.description);b.css("opacity","0");b.css("left","0");if(a.loaded)b.fadeTo(g,1);else var d=setInterval(function(){a.loaded&&(clearInterval(d),b.fadeTo(g,1))},100)};this.selectImageSlide=function(a,b){var d=a.img;if(!a.initialized)d.css("left",b*h+"px"),d.css("top","0"),k.append(d),a.initialized=true;l&&l.text(a.caption);m&&m.text(a.description);k.animate({left:-b*
h+"px"},{duration:g,queue:false})};this.setToTop=function(a){for(var b=0;b<c.length;++b)c[b]!=a&&c[b].img&&c[b].img.css("zIndex",parseInt(c[b].img.css("zIndex"))-1);a.img&&a.img.css("zIndex",c.length-1)};this.createImageElement=function(a,b){var d=document.createElement("div"),c=document.createElement("img");c.onload=function(){if(this.complete)b.loaded=true;else{var a=this;setTimeout(function(){a.onload()},100)}};c.alt=b.caption;c.src="image.php?id="+b.imageid+"&w="+h+"&h="+x;if(b.link){var e=document.createElement("a");
e.href=b.link.url;e.target=b.link.target;e.title=b.link.title;e.appendChild(c);c=e}d.appendChild(c);d=$(d);d.css({position:"absolute",top:"0px",left:"0px",width:h+"px",height:x+"px",overflow:"hidden",zIndex:A++});return d};this.init()}var slideshow=null;$(document).ready(function(){slideshow=new Slideshow});
