(function(A){if(!A.fn.c1){A.fn.c1=function(C,B){if(this.c1[C]){return this.c1[C].call(this,B)}return this}}A.fn.c1.lightbox=function(E){var F="embed, object, select, iframe";if(typeof E=="string"){switch(E){case"close":var N=A("#c1-lightbox-close a");N.click();return N.length>0}return this}E=A.extend({speed:"normal",thumbs:true,thumbWidth:90,thumbHeight:60,captions:true,html:false,download:false,imageClose:"",imageLoading:"",imageBtnPrev:"",imageBtnNext:"",imageBtnPrevTab:"",imageBtnPrevNext:"",imageThumbsBg:"",imageCaptionsBg:"",api:false,inline:false,iframe:false,load:false,unload:false,map:false,width:false,height:false,fixedWidth:false,fixedHeight:false,overlayBgColor:"#000",overlayOpacity:0.75},E);if(E.map){if(A.fn.c1.maps){var H=true;var U=function(){GUnload()};E.inline=true;E.onopen=function(){var X={origin:{lat:(E.map.lat?E.map.lat:(E.map.marker?E.map.marker.lat:0)),lng:(E.map.lng?E.map.lng:(E.map.marker?E.map.marker.lng:0)),zoom:(E.map.zoom?E.map.zoom:13)}};if(E.map.marker){E.map.markers=[E.map.marker]}if(E.map.markers){var Y=[];A.each(E.map.markers,function(){var a=(this.info||this.html);if(a==null&&this.address){a=(this.title?("<strong>"+this.title+"</strong><br>"):"")+this.address.replace("\n","<br>")}var Z={lat:this.lat,lng:this.lng,title:this.title?this.title:"",html:a};if(this.icon){Z.icon=this.icon}if(this.zoom){Z.zoom=this.zoom}Y.push(Z)});X.markers=Y}A(this).c1("maps",X)}}else{alert("Lightbox: Please load the c1.maps API")}}else{if(E.api||E.inline){if(E.api&&E.inline==false){E.inline=true}if(!E.onopen){E.onopen=function(){if(E.api){A.post("/api/json/"+E.api.module+"/"+E.api.controller+"/"+E.api.method,jQuery.isFunction(E.api.params)?E.api.params.call(E._source):E.api.params,function(X){if(E.api.result){X.html=E.api.result(X)}if(X.html){A("#c1-lightbox-content").html(X.html);A("#c1-lightbox").fadeIn();V();return }A("#c1-lightbox-close a").click()},"json")}}}E.onafterfadein=function(){if(!E.api){A(F,E.inline).css("visibility","visible");A("#c1-lightbox-content").append(A(E.inline).children());A(E.inline).trigger("c1.lightbox.open")}};if(E.onclose){E._onclose=E.onclose}E.onclose=function(){if(E._onclose){E._onclose.call(this)}if(!E.api){A(E.inline).append(A("#c1-lightbox-content").children())}}}}if(E.iframe||E.onopen){if(!E.width){E.width=1000}else{E.fixedWidth=true}if(!E.height){E.height=750}E.thumbs=false;if(E.onopen){E.captions=false}}var L,K,P=null;if(!E.iframe&&!E.onopen&&!E.inline){E.images=[];E.imageCaptions=[];for(var R=0;R<this.length;R++){E.images.push(A(this[R]).attr("href"));E.imageCaptions.push(this[R].title)}}else{E.urls=[];E.urlCaptions=[];for(var R=0;R<this.length;R++){E.urls.push(A(this[R]).attr("href"));E.urlCaptions.push(this[R].title)}}function T(a){A(F).css({visibility:"hidden"});E.contentSize=(E.images?O(E.images[0]):{width:E.width,height:E.height});E.position=null;E._source=a;M();if(E.images){var X=0,Y=A(a).attr("href");for(var Z=E.images.length-1;Z>=0;Z--){if(E.images[Z]==Y){X=Z;break}}I(X)}else{if(E.iframe){var X=0,Y=A(a).attr("href");for(var Z=E.urls.length-1;Z>=0;Z--){if(E.urls[Z]==Y){X=Z;break}}B(X)}else{if(E.onopen){E.onopen.call(A("#c1-lightbox-content").get(0),E)}}}}function V(){var X=G();var Y=J();var Z=A("#c1-lightbox");Z.css({top:Y[1]+(X[3]/2)-(Z.height()/2),left:Y[0]+(X[2]/2)-(Z.width()/2)});A("#c1-lightbox-overlay").css({width:X[0],height:X[1]})}function M(){A("body").append('<div id="c1-lightbox-overlay"></div><div id="c1-lightbox"'+(E.className?(' class="'+E.className+'"'):"")+'><div id="c1-lightbox-close"><a href="#" title="Close window"></a></div>'+(E.thumbs?'<div id="c1-lightbox-thumbs"><div id="c1-lightbox-thumbs-scroll"><ul><li><a></a></li></ul></div><a href="#" id="c1-lightbox-thumbs-prev" title="Scroll thumbnails to the left" style="display:none"></a><a href="#" id="c1-lightbox-thumbs-next" title="Scroll thumbnails to the right" style="display:none"></a></div>':"")+'<div id="c1-lightbox-images"'+(E.images?"":' class="c1-lightbox-content"')+'><div id="c1-lightbox-'+(E.images?"image":"content")+'"></div><a href="#" id="c1-lightbox-image-prev" title="View previous'+(E.images?" image":"")+'" style="display:none"></a><a href="#" id="c1-lightbox-image-next" title="View next'+(E.images?" image":"")+'" style="display:none"></a></div>'+((E.captions||E.download)?('<div id="c1-lightbox-caption">'+(E.download?'<a id="c1-lightbox-download" style="display:none">'+(typeof E.download=="string"?E.download:"Download")+"</a>":"")+"<span></span></div>"):"")+"</div>");var d=G();A("#c1-lightbox-overlay").css({backgroundColor:E.overlayBgColor,opacity:E.overlayOpacity,width:d[0],height:d[1]}).fadeIn();if(!E.images){A("#c1-lightbox-content").css("width","0px")}var a=A("#c1-lightbox");if(E.images){A("#c1-lightbox-thumbs ul li a").height(E.thumbHeight).width(1)}var c={width:a.width()-(E.images?1:0),height:a.height()};a.addClass("init");if(!E.images){A("#c1-lightbox-content").css("width","auto")}var Z=J();var e=Math.round(d[3]/320)*25;if(e<50){e=50}var g=50;if((E.contentSize.height+c.height+(e*2))>=d[3]){var X=Math.ceil(Math.ceil((d[3]-(e*2)-c.height)/g)*g);if(!E.fixedWidth){E.contentSize.width=Math.ceil(E.contentSize.width*(X/E.contentSize.height))}if(!E.fixedHeight){E.contentSize.height=X}}if(!E.fixedWidth&&(E.contentSize.width+c.width+(e*2))>=d[2]){var b=Math.ceil(Math.ceil((d[2]-(e*2)-c.width)/g)*g);if(!E.fixedHeight){E.contentSize.height=Math.ceil(E.contentSize.height*(b/E.contentSize.width))}E.contentSize.width=b}var Y=E.contentSize.width+c.width;var f=E.contentSize.height+c.height;A("#c1-lightbox-images").css({height:E.contentSize.height+"px"});A("#c1-lightbox").css({top:Z[1]+(d[3]/2)-(f/2),left:Z[0]+(d[2]/2)-(Y/2),width:Y+"px",display:"none"});if(!E.api){A("#c1-lightbox").fadeIn(function(){if(E.onafterfadein){E.onafterfadein.call(A("#c1-lightbox-content").get(0),E)}})}if(E.thumbs){D()}if((E.captions||E.download)&&E.imageCaptionsBg!=""){A("#c1-lightbox-captions").css("background-image",E.imageCaptionsBg)}A("#c1-lightbox-thumbs-prev").click(function(){Q(-1);return false});A("#c1-lightbox-thumbs-next").click(function(){Q(1);return false});A("#c1-lightbox-image-prev").click(function(){if(E.images){I(E.position-1)}else{if(E.iframe){B(E.position-1)}}return false});A("#c1-lightbox-image-next").click(function(){if(E.images){I(E.position+1)}else{if(E.iframe){B(E.position+1)}}return false});A("#c1-lightbox-download").click(function(){var h=this.href;if(E.download=="original"){h=W(h)}window.open(h);return false}).show();A("#c1-lightbox-overlay, #c1-lightbox, #c1-lightbox-close a").click(function(){if(E.cancelClose){E.cancelClose=null;return false}C();return false});if(E.inline){A("#c1-lightbox-content").click(function(h){h.stopPropagation()})}A(window).resize(V).scroll(V)}function D(){if(!E.images){return }if(E.imageThumbsBg!=""){A("#c1-lightbox-thumbs").css("background-image",E.imageThumbsBg)}var a=A("#c1-lightbox-thumbs ul").empty();for(var Z=0;Z<E.images.length;Z++){var Y=S(E.images[Z],E.thumbWidth,E.thumbHeight,"bg");a.append('<li><a href="#"></a></li>');A("li:last-child a",a).css({"background-image":"url("+Y+")",width:E.thumbWidth+"px",height:E.thumbHeight+"px"}).data("pos",Z)}E.thumbsListWidth=A("li:first-child",a).width()*E.images.length;E.thumbsScrollWidth=A("#c1-lightbox-thumbs-scroll").width();if(E.thumbsScrollWidth<E.thumbsListWidth){a.width(E.thumbsListWidth);var X=A("#c1-lightbox-thumbs-scroll ul").offset();var b=A("#c1-lightbox-thumbs-scroll li:first-child").offset();E.thumbsBounds={left:X.left-b.left};E.thumbsBounds.right=E.thumbsBounds.left-E.thumbsListWidth+E.thumbsScrollWidth;a.css("left",E.thumbsBounds.left+"px")}A("li a",a).click(function(){I(A(this).data("pos"));return false})}function Q(Y){var X=A("#c1-lightbox-thumbs-scroll ul");var Z=Math.floor(parseInt(X.css("left"))-(E.thumbsScrollWidth/2*Y));if(Z<E.thumbsBounds.right){Z=E.thumbsBounds.right}else{if(Z>E.thumbsBounds.left){Z=E.thumbsBounds.left}}X.animate({left:Z+"px"},"slow");A("#c1-lightbox-thumbs-prev")[Z==E.thumbsBounds.left?"hide":"show"]();A("#c1-lightbox-thumbs-next")[Z==E.thumbsBounds.right?"hide":"show"]()}function B(X){if(X<0||X==null||X>=E.urls.length){X=0}url=E.urls[X];if(!url){return }if(E.suffix){if(E.suffix.substr(0,1)=="?"&&url.indexOf("?")>=0){url+="&"+E.suffix.substr(1)}else{url+=E.suffix}}var Y=A("#c1-lightbox-content iframe");if(Y.length==0){Y=A("#c1-lightbox-content").append('<iframe frameborder="0" allowtransparency="true"></iframe>').find("iframe")}Y.attr("src",url);if(E.html){A("#c1-lightbox-caption > span").html(E.urlCaptions[X])}else{A("#c1-lightbox-caption > span").text(E.urlCaptions[X])}if(E.urls.length>1){A("#c1-lightbox-image-prev")[X==0?"hide":"show"]();A("#c1-lightbox-image-next")[X==(E.urls.length-1)?"hide":"show"]()}E.position=X}function I(Y){if(E.position==Y){return }P=window.setTimeout(function(){var e=A("#c1-lightbox-image div");var f=A("#c1-lightbox-image").append('<div id="c1-lightbox-loading" style="display:none"></div>').find("div:hidden");if(E.imageLoading!=""){f.css("background-image",E.imageLoading)}if(e.length!=0){f.fadeIn(E.speed,function(){I(Y)})}else{f.show()}},250);var a=new Image();a.onload=function(){window.clearTimeout(P);var e=A("#c1-lightbox-image div");var f=A("#c1-lightbox-image").append('<div style="display:none"></div>').find("div:hidden").css({"background-image":"url("+a.src+")"});if(e.length!=0){f.fadeIn(E.speed,function(){e.remove()})}else{f.show()}a.onload=function(){};if(Y>0){K=new Image();K.src=S(E.images[Y-1],E.contentSize.width,E.contentSize.height)}if(Y<(E.images.length-1)){L=new Image();L.src=S(E.images[Y+1],E.contentSize.width,E.contentSize.height)}};a.src=S(E.images[Y],E.contentSize.width,E.contentSize.height);if(E.html){A("#c1-lightbox-caption > span").html(E.imageCaptions[Y])}else{A("#c1-lightbox-caption > span").text(E.imageCaptions[Y])}A("#c1-lightbox-download").attr("href",E.images[Y]);A("#c1-lightbox-thumbs li.active").removeClass("active");var b=A(A("#c1-lightbox-thumbs li").get(Y)).addClass("active");if(b.length>0&&E.thumbsBounds){var X=A("#c1-lightbox-thumbs-scroll").offset();X.right=X.left+A("#c1-lightbox-thumbs-scroll").width();var c=b.offset();var Z=Math.floor(X.left+((X.right-X.left)/2)-(b.width()/2))-c.left;var d=(parseInt(A("#c1-lightbox-thumbs ul").css("left"))+Z);if(Z!=0){if(E.position!=null){A("#c1-lightbox-thumbs ul").animate({left:d+"px"},E.speed)}else{A("#c1-lightbox-thumbs ul").css("left",d+"px")}}A("#c1-lightbox-thumbs-prev")[Y==0||d>=E.thumbsBounds.left?"hide":"show"]();A("#c1-lightbox-thumbs-next")[d<=E.thumbsBounds.right?"hide":"show"]()}if(E.images.length>1){A("#c1-lightbox-image-prev")[Y==0?"hide":"show"]();A("#c1-lightbox-image-next")[Y==(E.images.length-1)?"hide":"show"]()}E.position=Y}function O(X){if(X.match(/-(\d+)x(\d+)/)){return{width:parseInt(RegExp.$1),height:parseInt(RegExp.$2)}}return null}function S(Y,Z,X,a){Y=Y.replace(/([a-z]+)?(-)\d+x\d+/,"$2"+Z+"x"+X);if(a){Y=Y.replace(/(-\d+x\d+)/,"-"+a+"$1")}return Y}function W(X){X=X.replace("/thumbnail/","/media/").replace(new RegExp("(/media/)\\d+/\\d+/","i"),"$1").replace(new RegExp("(/media/r\\d+/)\\d+/\\d+/","i"),"$1");return X}function C(){var X=true;if(E.onclose){X=E.onclose.call(A("#c1-lightbox-"+(E.images?"image":"content")).get(0))}if(X==false){return }A("#c1-lightbox").remove();A("#c1-lightbox-overlay").fadeOut(function(){A(this).remove()});A(F).css({visibility:"visible"});A(window).unbind("resize",V)}function G(){var Z,X;if(window.innerHeight&&window.scrollMaxY){Z=window.innerWidth+window.scrollMaxX;X=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){Z=document.body.scrollWidth;X=document.body.scrollHeight}else{Z=document.body.offsetWidth;X=document.body.offsetHeight}}var Y,a;if(self.innerHeight){if(document.documentElement.clientWidth){Y=document.documentElement.clientWidth}else{Y=self.innerWidth}a=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){Y=document.documentElement.clientWidth;a=document.documentElement.clientHeight}else{if(document.body){Y=document.body.clientWidth;a=document.body.clientHeight}}}if(X<a){pageHeight=a}else{pageHeight=X}if(Z<Y){pageWidth=Z}else{pageWidth=Y}arrayPageSize=new Array(pageWidth,pageHeight,Y,a);return arrayPageSize}function J(){var Y,X;if(self.pageYOffset){X=self.pageYOffset;Y=self.pageXOffset}else{if(document.documentElement&&document.documentElement.scrollTop){X=document.documentElement.scrollTop;Y=document.documentElement.scrollLeft}else{if(document.body){X=document.body.scrollTop;Y=document.body.scrollLeft}}}arrayPageScroll=new Array(Y,X);return arrayPageScroll}this.click(function(){T(this);return false});return this}})(jQuery);
