!function(o,t,i){function e(t,i){n=o(t),this.options=o.extend({},a,i),this.init()}var n,s="lighterbox",a={overlayColor:"white",overlayOpacity:"0.95",animateSpeed:200,baseCss:{width:"auto",height:"auto","max-width":"100%","max-height":"100%",position:"fixed",top:"50%",right:"50%","z-index":"9998",opacity:"0"},loaderCss:{width:"30px",height:"30px",display:"block",position:"fixed",left:"50%",bottom:"50%","margin-left":"-15px","z-index":"9997",background:"url('https://s3-us-west-2.amazonaws.com/nycg/loader-60x60.gif') no-repeat","background-size":"30px"},closeCss:{"-webkit-tap-highlight-color":"rgba(0,0,0,0)",cursor:"pointer","font-size":"2em",color:"#000",background:"#fff",padding:"0 0.3em",position:"fixed",top:"0",right:"0","z-index":"9999",opacity:"0"},captionCss:{width:"100%","text-align":"center",background:"#000",color:"#fff",position:"fixed",bottom:"0",left:"0","z-index":"9999",opacity:"0"},touch:{supportTouch:!0,currX:0,currY:0,cachedX:0,cachedY:0}};e.prototype.getPointerEvent=function(o){return o.originalEvent.targetTouches?o.originalEvent.targetTouches[0]:o},e.prototype.tap=function(o,t,i){var e=this;"touchend"===t.type&&e.options.touch.supportTouch?e.options.touch.cachedX===e.options.touch.currX&&e.options.touch.cachedY===e.options.touch.currY&&i.call():i.call()},e.prototype.trackTouchEvents=function(){var t=this,i=o("body");i.on("touchstart",function(o){var i=t.getPointerEvent(o);t.options.touch.cachedX=t.options.touch.currX=i.pageX,t.options.touch.cachedY=t.options.touch.currY=i.pageY}),i.on("touchmove",function(o){var i=t.getPointerEvent(o);t.options.touch.currX=i.pageX,t.options.touch.currY=i.pageY})},e.prototype.destroy=function(o){for(var t=this,i=t.options.animateSpeed+100,e=0;e0?t.height():0,e=-(Math.floor(parseInt(o.height())/2)+i/2),n=-Math.floor(parseInt(o.width())/2);o.css({"margin-top":e+"px","margin-right":n+"px"})};return{init:i}},e.prototype.open=function(e){var n=this,a=e.find("."+s+"-title").text(),c=e.find("."+s+"-desc").text(),r="white"==n.options.overlayColor?"255, 255, 255":"0, 0, 0",p=i.createElement("div"),d=o(p),h=i.createElement("img"),u=o(h),l=i.createElement("div"),f=o(l),g=i.createElement("div"),m=o(g),y=i.createElement("div"),v=o(y),b=!1;n.options.baseCss["-webkit-transition"]="all "+n.options.animateSpeed+"ms ease-in-out",n.options.baseCss["-moz-transition"]="all "+n.options.animateSpeed+"ms ease-in-out",n.options.baseCss["-o-transition"]="all "+n.options.animateSpeed+"ms ease-in-out",n.options.baseCss.transition="all "+n.options.animateSpeed+"ms ease-in-out",u.addClass(s+"-img").attr("src",e.attr("href")).css(n.options.baseCss).appendTo("body");var C={};for(var x in n.options.baseCss)C[x]=n.options.baseCss[x];C.width="100%",C.height="100%",C.top="0",C.left="0",C["z-index"]="9997",C.background="rgb("+r+")",d.addClass(s+"-overlay").css(C).appendTo(o("body")).add(v).on("click touchend",function(){n.destroy([d,u,v,m]),b!==!1&&o(t).off("resize",b.init)}),f.addClass(s+"-loader").css(n.options.loaderCss).appendTo(d),"white"!=n.options.overlayColor&&(n.options.closeCss.color="#fff"),v.addClass(s+"-close").html("x").css(n.options.closeCss).appendTo("body"),"white"!=n.options.overlayColor&&(n.options.captionCss.color="#000",n.options.captionCss.background="#fff"),""===a&&(n.options.captionCss.display="none"),m.addClass(s+"-caption").html("

"+a+"

"+c+"

").css(n.options.captionCss).appendTo("body"),m.find("."+s+"-overlay-title").css({margin:"0.5em"}),m.find("."+s+"-overlay-desc").css({margin:"0 0.5em 0.5em"}),u.load(function(){b=new n.reposition(o(this),m),b.init(),o(t).resize(b.init),n.destroy([f]),setTimeout(function(){u.css("opacity",1)},n.options.animateSpeed)}),setTimeout(function(){d.add(m).css("opacity",n.options.overlayOpacity),v.css("opacity","0.3")},1)},e.prototype.init=function(){var t=this;t.options.touch.supportTouch&&t.trackTouchEvents(),n.on("click touchend",function(i){i.preventDefault(),i.stopPropagation();var e=o(this);t.tap(o(this),i,function(){t.open(e,i)})})},o.fn[s]=function(t){return this.each(function(){o.data(this,"plugin_"+s)||o.data(this,"plugin_"+s,new e(this,t))})}}(jQuery,window,document);