(function(A){A.fn.userSlideshow=function(C){var B=arguments;return this.each(function(G){var O=A(this);function L(){return O.data("userSlideshow")}function E(){O.data("userSlideshow",K)}var K=L();function N(){if(!K.url){K.slideshowId=O.attr("id").replace(/[a-z]+_/i,"");K.url="/slideShowJSON"+K.slideshowId+".json?jsonpcallback=?"}A.getJSON(K.url,{},function(Y){if(typeof Y=="object"){K.data=Y;var Z=O.find("."+K.slideContainer);Z.css("z-index",2*(Y.length+1));var X=Z.width();var W=Z.height();if(K.useHighlight){A(document.createElement("div")).addClass("highlight").css({position:"absolute","z-index":"0",width:Z.width()+"px",height:Z.height()+"px"}).hide().appendTo(Z)}A.each(Y,function(b){var d=Math.floor((X-this.thumbnailWidth)/2);var f=Math.floor((W-this.thumbnailHeight)/2);var a=A(document.createElement("a"));a.attr("href","#slide_"+this.id).text(b+1);O.find(".toolbar .numbers .placeHolder").append(a);var c=A(document.createElement("img"));c.attr({src:this.thumbnailPath,width:this.thumbnailWidth,height:this.thumbnailHeight});var e=A(document.createElement("a"));e.attr({id:"slide_"+this.id,href:this.fullsizePath,title:(this.title.length&&this.caption.length?this.title+" :: "+this.caption:this.title.length?this.title:this.caption.length?this.caption:""),rel:(this.hasFullsize!=="0"?K.uId:"")}).css({display:"block",position:"absolute","z-index":(Y.length-b),"margin-left":d+"px","margin-top":f+"px"}).append(c).hide();if(this.hasFullsize!=="0"){e.addClass("hasFullsize")}Z.append(e);if(!K.hasDetails&&(this.title.length>0||this.caption.length>0)){K.hasDetails=true}});if(K.hasFancybox){Z.find("a.hasFullsize").fancybox({onStart:function(){Display_Blank()},onComplete:function(){A("#fancy_outer").bind("contextmenu",function(){return false})},onClosed:function(){Hide_Blank();A("#fancy_outer").unbind("contextmenu")}})}var V=new Image();V.onload=function(){this.onload=null;I()};V.src=Y[0].thumbnailPath}})}function T(){clearTimeout(K.timeout);O.find("*").unbind("click").stop(true);O.removeData("userSlideshow")}function I(){if(!K.hasDetails){O.find(".detailsPanel .control").find("label").html("&nbsp;").end().find("a:not(.fullsize)").remove()}var V=O.find(".detailsPanel .details .inner");O.find(".detailsPanel").slideDown("slow");O.queue(function(){A(".loadingText",this).fadeOut("slow",function(){P();O.find(".toolbar .numbers .placeHolder").fadeIn("slow");O.dequeue()})}).queue(function(){if(K.hasBelatedPng){O.find(".png_bg, img").each(function(){DD_belatedPNG.fixPng(this)})}O.dequeue()}).queue(function(){if(K.useAutoPlay){S.call(null,null)}else{O.find(".toolbar .numbers a:first").click()}O.dequeue()})}function P(){O.find("."+K.slideContainer+" a.hasFullsize").click((K.hasFancybox?Q:J));O.find(".detailsPanel .minMax, .detailsPanel .minMaxLabel").click(F).addClass("isMined");O.find(".detailsPanel .fullsize").click(J);O.find(".toolbar .numbers a").click(U);O.find(".toolbar .playPause").click(S).addClass("isPaused");O.find(".toolbar .previous").click(D).addClass("activePrevious");O.find(".toolbar .next").click(D).addClass("activeNext")}function M(){K.timeout=setTimeout(function(){H()},K.pause)}function R(){O.queue(function(){O.find(".toolbar .playPause").addClass("isPlaying").removeClass("isPaused");K.isPlaying=true;A(this).dequeue();H()})}function Q(){O.queue(function(){clearTimeout(K.timeout);K.isPlaying=false;O.find(".toolbar .playPause").addClass("isPaused").removeClass("isPlaying");A(this).dequeue()})}function H(a,V){var W=O.find("."+K.slideContainer+" a.active");var c=O.find(".detailsPanel .details .inner").css("z-index","1");var b=c.clone();b.removeAttr("style").css("z-index","2").hide().insertAfter(c);if(a===undefined||a===null){if(W.length===0){a=O.find("."+K.slideContainer+" a:first")}else{a=W.next("a");if(a.length===0){a=W.prevAll("a:last")}}}if(K.effect=="fade"&&a.length!==0){var X=a.attr("id").replace(/\#slide_/,"");var Z=a.prevAll("a").length;var Y=K.data[Z];if(W.length!==0){if(K.useHighlight){O.find("."+K.slideContainer+" .highlight").fadeIn(K.speed)}O.queue(function(){if(!K.useHighlight){O.dequeue();W.add(O.find('a[href="#'+W.attr("id")+'"]')).removeClass("active")}if(K.areDetailsVisible){c.fadeOut(K.speed,function(){A(this).remove()})}else{c.remove()}W.fadeOut(K.speed,function(){if(K.useHighlight){O.dequeue();W.add(O.find('a[href="#'+W.attr("id")+'"]')).removeClass("active")}})})}else{c.remove()}O.queue(function(){if(Y.hasFullsize!=="0"){O.find(".detailsPanel .fullsize").fadeIn(K.speed)}else{O.find(".detailsPanel .fullsize").fadeOut(K.speed)}if(Y.title.length===0&&Y.caption.length===0){b.find("h5").text("");b.find("div").text("No details for this slide.")}else{b.find("h5").text(Y.title);b.find("div").html(Y.caption.replace(/\r?\n/g,"<br/>"))}if(K.areDetailsVisible){b.fadeIn(K.speed)}a.add(O.find('a[href="#'+a.attr("id")+'"]')).addClass("active");if(K.useHighlight){O.find("."+K.slideContainer+" .highlight").fadeOut(K.speed)}a.fadeIn(K.speed,function(){if(V===undefined||V===null){M()}O.dequeue()})})}}function S(V){if(K.isPlaying){Q()}else{R()}if(V!==null){A(this).blur();return false}}function F(V){O.queue(function(){var W=O.find(".details");var X=W.closest(".detailsPanel").find(".control");if(W.is(":not(:animating)")){if(K.areDetailsVisible){X.find("label span").text("Show");X.find(".minMax").addClass("isMined").removeClass("isMaxed");W.find(".inner").slideUp(K.speed);W.slideUp(K.speed,function(){K.areDetailsVisible=false;O.dequeue()})}else{X.find("label span").text("Hide");X.find(".minMax").addClass("isMaxed").removeClass("isMined");W.find(".inner").slideDown(K.speed);W.slideDown(K.speed,function(){K.areDetailsVisible=true;O.dequeue()})}}else{A(this).dequeue()}});A(this).blur();return false}function J(V){O.queue(function(){var X=0;var W=O.find("."+K.slideContainer+" a.active");if(W.hasClass("hasFullsize")){Q();if(K.hasFancybox){W.click()}else{if(K.hasThickbox){tb_show(W.attr("title"),W.attr("href"),W.attr("rel"))}else{var Y=parseInt(W.attr("id").replace(/slide_/,""),10);var Z=null;for(X=0;X<K.data.length;X++){if(K.data[X].id==Y){Z=K.data[X];break}}window.open(Z.fullsizePath,"userSlideshowFullsize","location=0,status=0,scrollbars=0,width="+Z.fullsizeWidth+",height="+Z.fullsizeHeight)}}}O.dequeue()});A(this).blur();V.preventDefault();return false}function U(W){if(K.isPlaying){Q()}var V=A(A(W.target).attr("href"));if(!V.hasClass("active")){H(V,true)}A(this).blur();return false}function D(V){O.queue(function(){if(K.isPlaying){Q()}var W;if(A(V.target).hasClass("previous")){W=O.find("."+K.slideContainer+" .active").prev("a")}else{W=O.find("."+K.slideContainer+" .active").next("a")}if(W.length!==0&&!W.hasClass("active")){H(W,true)}A(this).dequeue()});A(this).blur();return false}if(typeof K!=="object"||K.length<=0){K=A.extend(true,{},A.fn.userSlideshow.defaults,C,{timeout:null,data:null,isPlaying:false,hasDetails:false,areDetailsVisible:false,hasFancybox:false,hasThickbox:false,hasBelatedPng:false});if(A.isFunction(A.fn.fancybox)){K.hasFancybox=true}else{if(typeof tb_show==="function"){K.hasThickbox=true}}if(typeof DD_belatedPNG==="object"){K.hasBelatedPng=true}K.uId=K.uId+"_"+G;N()}else{if(B.length==1&&B[0]=="pause"){Q()}else{if(B.length==1&&B[0]=="play"){R()}else{if(B.length==1&&B[0]=="destroy"){T()}}}}E()})};A.fn.userSlideshow.defaults={uId:new Date().getTime(),slideshowId:null,url:null,loadingImage:null,effect:"fade",speed:"slow",pause:3000,slideContainer:"slides",useHighlight:false,useAutoPlay:true,fancyBoxOpts:null}})(jQuery);