function Gallery(n,t,i){function u(){$(".column").addClass("visible");$(".viewmooreinfo").addClass("trigger-close");$("body").removeClass("no-scroll")}function f(){$(".column").removeClass("visible");$(".viewmooreinfo").removeClass("trigger-close");$("body").addClass("no-scroll")}var r=this;document.body.classList.add("no-scroll");i=$.extend(Gallery.prototype.DEFAULTS,i);this.holder=$(n);this.items=$(t);this.currentIndex=-1;this.currentState="normal";this.baseUrl=i.baseUrl;this.dataUrl=i.dataUrl;this.thumbPrefix=i.thumbPrefix;this.first=i.first;this.queue=new createjs.LoadQueue(!1);this.queue.setMaxConnections(4);this.queue.addEventListener("fileload",$.proxy(this.onImageSourceLoaded,this));this.queue.addEventListener("fileprogress",$.proxy(this.onProgress,this));this.timerSlideShow=null;this.prev=$(i.prev);this.next=$(i.next);this.title=$(i.title);this.subtitle=$(i.subtitle);this.loveBtn=$(i.love);this.size={width:0,height:0};this.items.each(function(){$("<li/>").append($.format("<div id='{0}'><figure><\/figure><\/div>",this.Id)).appendTo(r.holder.find(".imagescroller ul"))});this.onResize();this.scroller=new IScroll(".viewer",{scrollX:!0,scrollY:!1,momentum:!1,snap:!0,snapSpeed:400,keyBindings:!1,preventDefault:!1,hScrollbar:!1,vScrollbar:!1,eventPassthrough:!0,mouseWheel:!1,snap:"li",snapThreshold:1,bounce:!1,useTransition:!1});document.addEventListener("touchmove",function(n){$("body").hasClass("no-scroll")&&n.preventDefault()},{passive:!1});$(document).on("click",".viewmooreinfo",function(){u()});$(document).on("click",".trigger-close",function(){f()});this.cropper=null;this.cropResult=null;this.prev.on("click",$.proxy(this.loadPrev,this));this.next.on("click",$.proxy(this.loadNext,this));$(document).one("openTagGuide",function(){var n=$.cookie("tagGuideClosed");$("._tagproduct").length>0&&n==null&&($("#tagGuide").removeClass("novisible"),$("#tagGuide").position({my:"right-70",at:"center",of:"._tagproduct"}))});$(".guide-close").on("click",function(){$("#tagGuide, #tagBTicinoGuide").addClass("novisible");$.cookie("tagGuideClosed",1,{expires:30,path:"/"})});$(document).one("openTagBTicinoGuide",function(){$("._tagproduct").length>0&&($("#tagBTicinoGuide").removeClass("novisible"),$("#tagBTicinoGuide").position({my:"right-70",at:"center",of:"._tagproduct"}))});$(document).one("checkTagFromProjectEdit",function(){var n=window.location.hash.substring(1);n=="tag"&&g.changeState("taggingproduct")});this.holder.find(".thumbs ul").on("click","li",function(){r.goto(r.holder.find(".thumbs>ul>li").index(this))});this.holder.find(".openThumbs").on("click",function(){r.changeState("browse")});this.holder.find(".thumbs .close, .message button").on("click",function(){r.changeState("normal")});this.holder.find("#confirmSelection").on("click",function(){r.disableTagAlbum()});this.holder.find("#resetTagAlbum").on("click",function(){r.discardTagAlbum()});this.holder.find(".column").on("click",".tools ._tagalbum",function(){r.changeState("taggingalbum");r.enableTagAlbum()});this.holder.find(".imagescroller li>div").on("click","img",$.proxy(this.onImageClick,this));this.scroller.on("scrollEnd",function(){r.loadImage(parseInt(-1*this.x/this.wrapperWidth))});$(window).on({resize:$.proxy(this.onResize,this),orientationchange:$.proxy(this.onResize,this),keyup:$.proxy(this.onKeyUp,this),popstate:$.proxy(this.loadImageById,this)});this.holder.find(".column").on("click",".products .removetag",function(){r.deleteTag(this)});this.holder.find(".column").on("click",".albums .removeAlbum",function(){r.deleteAlbum(this)});this.holder.find(".column").on("click",".lovers",function(){r.showLovers(this)});this.holder.find(".open-fs").on("click",function(){r.toggleState("fullscreen")});this.holder.find("#run-ss").on("click",function(){r.runSlideShow(this)});this.holder.find(".flag-tag span").on("click",function(){$(this).parent().children().toggleClass("dn");r.holder.toggleClass("notag",parseInt($(this).data("value")))});this.holder.find(".viewer").on("click",function(n){var u,t,i;["normal","fullscreen"].indexOf(r.currentState)>-1&&(u=$(n.target),$(n.target).parents(".tag").length!=0||$(n.target).hasClass("button")||$(n.target).closest(".navigator").length!=0||(t=$(this).offset(),i=n.clientX-t.left,i>$(this).width()/2?r.loadNext():r.loadPrev()))});this.holder.find(".imagescroller li>div").on("mouseenter","img:not(.productImg,.logo)",function(){r.holder.find(".pinit").remove();var n=$("<span class='pinit'/>").appendTo(r.holder.find(".viewer")).css($(this).offset());n.sharrre({share:{pinterest:!0},enableHover:!1,enableTracking:!0,buttons:{pinterest:{media:$(this).attr("src"),description:$("title").text(),layout:"horizontal"}},click:function(n){n.simulateClick();n.openPopup("pinterest")}})});if(this.loadImageById(),location.href.indexOf("contest")>-1&&($("#run-ss").removeClass("run-ss").addClass("pause-ss"),this.timerSlideShow=window.setInterval(function(){r.loadNext()},8e3),$(".flag-tag").css("display","none")),this.items.length==1&&$(".prev, .next, .openThumbs, .run-ss").hide(),window!=parent){$(".column").on("click","h1 a",function(){return parent.postMessage(JSON.stringify({action:"redirect",data:this.href}),"*"),!1});$(".close-fs").on("click",function(){return parent.postMessage(JSON.stringify({action:"close",data:null}),"*"),!1})}}!function(n,t,i){function u(i,u){for(var f in this.wrapper="string"==typeof i?t.querySelector(i):i,this.scroller=this.wrapper.children[0],this.scrollerStyle=this.scroller.style,this.options={resizeScrollbars:!0,mouseWheelSpeed:20,snapThreshold:.334,disablePointer:!r.hasPointer,disableTouch:r.hasPointer||!r.hasTouch,disableMouse:r.hasPointer||r.hasTouch,startX:0,startY:0,scrollY:!0,directionLockThreshold:5,momentum:!0,bounce:!0,bounceTime:600,bounceEasing:"",preventDefault:!0,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT)$/},HWCompositing:!0,useTransition:!0,useTransform:!0,bindToWrapper:void 0===n.onmousedown},u)this.options[f]=u[f];this.translateZ=this.options.HWCompositing&&r.hasPerspective?" translateZ(0)":"";this.options.useTransition=r.hasTransition&&this.options.useTransition;this.options.useTransform=r.hasTransform&&this.options.useTransform;this.options.eventPassthrough=!0===this.options.eventPassthrough?"vertical":this.options.eventPassthrough;this.options.preventDefault=!this.options.eventPassthrough&&this.options.preventDefault;this.options.scrollY="vertical"!=this.options.eventPassthrough&&this.options.scrollY;this.options.scrollX="horizontal"!=this.options.eventPassthrough&&this.options.scrollX;this.options.freeScroll=this.options.freeScroll&&!this.options.eventPassthrough;this.options.directionLockThreshold=this.options.eventPassthrough?0:this.options.directionLockThreshold;this.options.bounceEasing="string"==typeof this.options.bounceEasing?r.ease[this.options.bounceEasing]||r.ease.circular:this.options.bounceEasing;this.options.resizePolling=void 0===this.options.resizePolling?60:this.options.resizePolling;!0===this.options.tap&&(this.options.tap="tap");this.options.useTransition||this.options.useTransform||/relative|absolute/i.test(this.scrollerStyle.position)||(this.scrollerStyle.position="relative");"scale"==this.options.shrinkScrollbars&&(this.options.useTransition=!1);this.options.invertWheelDirection=this.options.invertWheelDirection?-1:1;this.x=0;this.y=0;this.directionX=0;this.directionY=0;this._events={};this._init();this.refresh();this.scrollTo(this.options.startX,this.options.startY);this.enable()}function e(n,i,r){var u=t.createElement("div"),f=t.createElement("div");return!0===r&&(u.style.cssText="position:absolute;z-index:9999",f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px"),f.className="iScrollIndicator","h"==n?(!0===r&&(u.style.cssText+=";height:7px;left:2px;right:2px;bottom:0",f.style.height="100%"),u.className="iScrollHorizontalScrollbar"):(!0===r&&(u.style.cssText+=";width:7px;bottom:2px;top:2px;right:1px",f.style.width="100%"),u.className="iScrollVerticalScrollbar"),u.style.cssText+=";overflow:hidden",i||(u.style.pointerEvents="none"),u.appendChild(f),u}function o(i,u){var o,e,s;for(o in this.wrapper="string"==typeof u.el?t.querySelector(u.el):u.el,this.wrapperStyle=this.wrapper.style,this.indicator=this.wrapper.children[0],this.indicatorStyle=this.indicator.style,this.scroller=i,this.options={listenX:!0,listenY:!0,interactive:!1,resize:!0,defaultScrollbars:!1,shrink:!1,fade:!1,speedRatioX:0,speedRatioY:0},u)this.options[o]=u[o];if(this.sizeRatioX=1,this.sizeRatioY=1,this.maxPosX=0,this.maxPosY=0,this.options.interactive&&(this.options.disableTouch||(r.addEvent(this.indicator,"touchstart",this),r.addEvent(n,"touchend",this)),this.options.disablePointer||(r.addEvent(this.indicator,r.prefixPointerEvent("pointerdown"),this),r.addEvent(n,r.prefixPointerEvent("pointerup"),this)),this.options.disableMouse||(r.addEvent(this.indicator,"mousedown",this),r.addEvent(n,"mouseup",this))),this.options.fade){if(this.wrapperStyle[r.style.transform]=this.scroller.translateZ,e=r.style.transitionDuration,!e)return;this.wrapperStyle[e]=r.isBadAndroid?"0.0001ms":"0ms";s=this;r.isBadAndroid&&f(function(){"0.0001ms"===s.wrapperStyle[e]&&(s.wrapperStyle[e]="0s")});this.wrapperStyle.opacity="0"}}var f=n.requestAnimationFrame||n.webkitRequestAnimationFrame||n.mozRequestAnimationFrame||n.oRequestAnimationFrame||n.msRequestAnimationFrame||function(t){n.setTimeout(t,1e3/60)},r=function(){function u(n){return!1!==e&&(""===e?n:e+n.charAt(0).toUpperCase()+n.substr(1))}var r={},f=t.createElement("div").style,e=function(){for(var i,t=["t","webkitT","MozT","msT","OT"],n=0,r=t.length;n<r;n++)if((i=t[n]+"ransform")in f)return t[n].substr(0,t[n].length-1);return!1}(),o;return r.getTime=Date.now||function(){return(new Date).getTime()},r.extend=function(n,t){for(var i in t)n[i]=t[i]},r.addEvent=function(n,t,i,r){n.addEventListener(t,i,!!r)},r.removeEvent=function(n,t,i,r){n.removeEventListener(t,i,!!r)},r.prefixPointerEvent=function(t){return n.MSPointerEvent?"MSPointer"+t.charAt(7).toUpperCase()+t.substr(8):t},r.momentum=function(n,t,r,u,f,e){var o,h,c=n-t,s=i.abs(c)/r;return o=n+s*s/(2*(e=void 0===e?.0006:e))*(c<0?-1:1),h=s/e,o<u?(o=f?u-f/2.5*(s/8):u,h=(c=i.abs(o-n))/s):o>0&&(o=f?f/2.5*(s/8):0,h=(c=i.abs(n)+o)/s),{destination:i.round(o),duration:h}},o=u("transform"),r.extend(r,{hasTransform:!1!==o,hasPerspective:u("perspective")in f,hasTouch:"ontouchstart"in n,hasPointer:!!(n.PointerEvent||n.MSPointerEvent),hasTransition:u("transition")in f}),r.isBadAndroid=function(){var i=n.navigator.appVersion,t;return!/Android/.test(i)||/Chrome\/\d/.test(i)?!1:(t=i.match(/Safari\/(\d+.\d)/),!t||"object"!=typeof t||!(t.length>=2)||535.19>parseFloat(t[1]))}(),r.extend(r.style={},{transform:o,transitionTimingFunction:u("transitionTimingFunction"),transitionDuration:u("transitionDuration"),transitionDelay:u("transitionDelay"),transformOrigin:u("transformOrigin"),touchAction:u("touchAction")}),r.hasClass=function(n,t){return RegExp("(^|\\s)"+t+"(\\s|$)").test(n.className)},r.addClass=function(n,t){if(!r.hasClass(n,t)){var i=n.className.split(" ");i.push(t);n.className=i.join(" ")}},r.removeClass=function(n,t){if(r.hasClass(n,t)){var i=RegExp("(^|\\s)"+t+"(\\s|$)","g");n.className=n.className.replace(i," ")}},r.offset=function(n){for(var t=-n.offsetLeft,i=-n.offsetTop;n=n.offsetParent;)t-=n.offsetLeft,i-=n.offsetTop;return{left:t,top:i}},r.preventDefaultException=function(n,t){for(var i in t)if(t[i].test(n[i]))return!0;return!1},r.extend(r.eventType={},{touchstart:1,touchmove:1,touchend:1,mousedown:2,mousemove:2,mouseup:2,pointerdown:3,pointermove:3,pointerup:3,MSPointerDown:3,MSPointerMove:3,MSPointerUp:3}),r.extend(r.ease={},{quadratic:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(n){return n*(2-n)}},circular:{style:"cubic-bezier(0.1, 0.57, 0.1, 1)",fn:function(n){return i.sqrt(1- --n*n)}},back:{style:"cubic-bezier(0.175, 0.885, 0.32, 1.275)",fn:function(n){return(n-=1)*n*(5*n+4)+1}},bounce:{style:"",fn:function(n){return(n/=1)<1/2.75?7.5625*n*n:n<2/2.75?7.5625*(n-=1.5/2.75)*n+.75:n<2.5/2.75?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}},elastic:{style:"",fn:function(n){return 0===n?0:1==n?1:.4*i.pow(2,-10*n)*i.sin((n-.055)*2*i.PI/.22)+1}}}),r.tap=function(n,i){var r=t.createEvent("Event");r.initEvent(i,!0,!0);r.pageX=n.pageX;r.pageY=n.pageY;n.target.dispatchEvent(r)},r.click=function(i){var r,u=i.target;/(SELECT|INPUT|TEXTAREA)/i.test(u.tagName)||((r=t.createEvent(n.MouseEvent?"MouseEvents":"Event")).initEvent("click",!0,!0),r.view=i.view||n,r.detail=1,r.screenX=u.screenX||0,r.screenY=u.screenY||0,r.clientX=u.clientX||0,r.clientY=u.clientY||0,r.ctrlKey=!!i.ctrlKey,r.altKey=!!i.altKey,r.shiftKey=!!i.shiftKey,r.metaKey=!!i.metaKey,r.button=0,r.relatedTarget=null,r._constructed=!0,u.dispatchEvent(r))},r.getTouchAction=function(n,t){var i="none";return"vertical"===n?i="pan-y":"horizontal"===n&&(i="pan-x"),t&&"none"!=i&&(i+=" pinch-zoom"),i},r.getRect=function(n){if(!(n instanceof SVGElement))return{top:n.offsetTop,left:n.offsetLeft,width:n.offsetWidth,height:n.offsetHeight};var t=n.getBoundingClientRect();return{top:t.top,left:t.left,width:t.width,height:t.height}},r}();u.prototype={version:"5.2.0-snapshot",_init:function(){this._initEvents();(this.options.scrollbars||this.options.indicators)&&this._initIndicators();this.options.mouseWheel&&this._initWheel();this.options.snap&&this._initSnap();this.options.keyBindings&&this._initKeys()},destroy:function(){this._initEvents(!0);clearTimeout(this.resizeTimeout);this.resizeTimeout=null;this._execEvent("destroy")},_transitionEnd:function(n){n.target==this.scroller&&this.isInTransition&&(this._transitionTime(),this.resetPosition(this.options.bounceTime)||(this.isInTransition=!1,this._execEvent("scrollEnd")))},_start:function(n){if((1==r.eventType[n.type]||0===(f=n.which?n.button:n.button<2?0:4==n.button?1:2))&&this.enabled&&(!this.initiated||r.eventType[n.type]===this.initiated)){!this.options.preventDefault||r.isBadAndroid||r.preventDefaultException(n.target,this.options.preventDefaultException)||n.preventDefault();var f,t,u=n.touches?n.touches[0]:n;this.initiated=r.eventType[n.type];this.moved=!1;this.distX=0;this.distY=0;this.directionX=0;this.directionY=0;this.directionLocked=0;this.startTime=r.getTime();this.options.useTransition&&this.isInTransition?(this._transitionTime(),this.isInTransition=!1,t=this.getComputedPosition(),this._translate(i.round(t.x),i.round(t.y)),this._execEvent("scrollEnd")):!this.options.useTransition&&this.isAnimating&&(this.isAnimating=!1,this._execEvent("scrollEnd"));this.startX=this.x;this.startY=this.y;this.absStartX=this.x;this.absStartY=this.y;this.pointX=u.pageX;this.pointY=u.pageY;this._execEvent("beforeScrollStart")}},_move:function(n){if(this.enabled&&r.eventType[n.type]===this.initiated){this.options.preventDefault&&n.preventDefault();var f,e,o,s,h=n.touches?n.touches[0]:n,t=h.pageX-this.pointX,u=h.pageY-this.pointY,c=r.getTime();if(this.pointX=h.pageX,this.pointY=h.pageY,this.distX+=t,this.distY+=u,o=i.abs(this.distX),s=i.abs(this.distY),!(c-this.endTime>300)||!(o<10)||!(s<10)){if(this.directionLocked||this.options.freeScroll||(this.directionLocked=o>s+this.options.directionLockThreshold?"h":s>=o+this.options.directionLockThreshold?"v":"n"),"h"==this.directionLocked){if("vertical"==this.options.eventPassthrough)n.preventDefault();else if("horizontal"==this.options.eventPassthrough){this.initiated=!1;return}u=0}else if("v"==this.directionLocked){if("horizontal"==this.options.eventPassthrough)n.preventDefault();else if("vertical"==this.options.eventPassthrough){this.initiated=!1;return}t=0}t=this.hasHorizontalScroll?t:0;u=this.hasVerticalScroll?u:0;f=this.x+t;e=this.y+u;(f>0||f<this.maxScrollX)&&(f=this.options.bounce?this.x+t/3:f>0?0:this.maxScrollX);(e>0||e<this.maxScrollY)&&(e=this.options.bounce?this.y+u/3:e>0?0:this.maxScrollY);this.directionX=t>0?-1:t<0?1:0;this.directionY=u>0?-1:u<0?1:0;this.moved||this._execEvent("scrollStart");this.moved=!0;this._translate(f,e);c-this.startTime>300&&(this.startTime=c,this.startX=this.x,this.startY=this.y)}}},_end:function(n){var f;if(this.enabled&&r.eventType[n.type]===this.initiated){this.options.preventDefault&&!r.preventDefaultException(n.target,this.options.preventDefaultException)&&n.preventDefault();n.changedTouches&&n.changedTouches[0];var o,s,e=r.getTime()-this.startTime,t=i.round(this.x),u=i.round(this.y),l=i.abs(t-this.startX),a=i.abs(u-this.startY),h=0,c="";if(this.isInTransition=0,this.initiated=0,this.endTime=r.getTime(),!this.resetPosition(this.options.bounceTime)){if(this.scrollTo(t,u),!this.moved){this.options.tap&&r.tap(n,this.options.tap);this.options.click&&r.click(n);this._execEvent("scrollCancel");return}if(this._events.flick&&e<200&&l<100&&a<100){this._execEvent("flick");return}if((this.options.momentum&&e<300&&(o=this.hasHorizontalScroll?r.momentum(this.x,this.startX,e,this.maxScrollX,this.options.bounce?this.wrapperWidth:0,this.options.deceleration):{destination:t,duration:0},s=this.hasVerticalScroll?r.momentum(this.y,this.startY,e,this.maxScrollY,this.options.bounce?this.wrapperHeight:0,this.options.deceleration):{destination:u,duration:0},t=o.destination,u=s.destination,h=i.max(o.duration,s.duration),this.isInTransition=1),this.options.snap)&&(f=this._nearestSnap(t,u),this.currentPage=f,h=this.options.snapSpeed||i.max(i.max(i.min(i.abs(t-f.x),1e3),i.min(i.abs(u-f.y),1e3)),300),t=f.x,u=f.y,this.directionX=0,this.directionY=0,c=this.options.bounceEasing),t!=this.x||u!=this.y){(t>0||t<this.maxScrollX||u>0||u<this.maxScrollY)&&(c=r.ease.quadratic);this.scrollTo(t,u,h,c);return}this._execEvent("scrollEnd")}}},_resize:function(){var n=this;clearTimeout(this.resizeTimeout);this.resizeTimeout=setTimeout(function(){n.refresh()},this.options.resizePolling)},resetPosition:function(n){var t=this.x,i=this.y;return n=n||0,!this.hasHorizontalScroll||this.x>0?t=0:this.x<this.maxScrollX&&(t=this.maxScrollX),!this.hasVerticalScroll||this.y>0?i=0:this.y<this.maxScrollY&&(i=this.maxScrollY),(t!=this.x||i!=this.y)&&(this.scrollTo(t,i,n,this.options.bounceEasing),!0)},disable:function(){this.enabled=!1},enable:function(){this.enabled=!0},refresh:function(){r.getRect(this.wrapper);this.wrapperWidth=this.wrapper.clientWidth;this.wrapperHeight=this.wrapper.clientHeight;var n=r.getRect(this.scroller);this.scrollerWidth=n.width;this.scrollerHeight=n.height;this.maxScrollX=this.wrapperWidth-this.scrollerWidth;this.maxScrollY=this.wrapperHeight-this.scrollerHeight;this.hasHorizontalScroll=this.options.scrollX&&this.maxScrollX<0;this.hasVerticalScroll=this.options.scrollY&&this.maxScrollY<0;this.hasHorizontalScroll||(this.maxScrollX=0,this.scrollerWidth=this.wrapperWidth);this.hasVerticalScroll||(this.maxScrollY=0,this.scrollerHeight=this.wrapperHeight);this.endTime=0;this.directionX=0;this.directionY=0;!r.hasPointer||this.options.disablePointer||(this.wrapper.style[r.style.touchAction]=r.getTouchAction(this.options.eventPassthrough,!0),this.wrapper.style[r.style.touchAction]||(this.wrapper.style[r.style.touchAction]=r.getTouchAction(this.options.eventPassthrough,!1)));this.wrapperOffset=r.offset(this.wrapper);this._execEvent("refresh");this.resetPosition()},on:function(n,t){this._events[n]||(this._events[n]=[]);this._events[n].push(t)},off:function(n,t){if(this._events[n]){var i=this._events[n].indexOf(t);i>-1&&this._events[n].splice(i,1)}},_execEvent:function(n){if(this._events[n]){var t=0,i=this._events[n].length;if(i)for(;t<i;t++)this._events[n][t].apply(this,[].slice.call(arguments,1))}},scrollBy:function(n,t,i,r){n=this.x+n;t=this.y+t;i=i||0;this.scrollTo(n,t,i,r)},scrollTo:function(n,t,i,u){u=u||r.ease.circular;this.isInTransition=this.options.useTransition&&i>0;var f=this.options.useTransition&&u.style;!i||f?(f&&(this._transitionTimingFunction(u.style),this._transitionTime(i)),this._translate(n,t)):this._animate(n,t,i,u.fn)},scrollToElement:function(n,t,u,f,e){var o,s,h;(n=n.nodeType?n:this.scroller.querySelector(n))&&(o=r.offset(n),o.left-=this.wrapperOffset.left,o.top-=this.wrapperOffset.top,s=r.getRect(n),h=r.getRect(this.wrapper),!0===u&&(u=i.round(s.width/2-h.width/2)),!0===f&&(f=i.round(s.height/2-h.height/2)),o.left-=u||0,o.top-=f||0,o.left=o.left>0?0:o.left<this.maxScrollX?this.maxScrollX:o.left,o.top=o.top>0?0:o.top<this.maxScrollY?this.maxScrollY:o.top,t=null==t||"auto"===t?i.max(i.abs(this.x-o.left),i.abs(this.y-o.top)):t,this.scrollTo(o.left,o.top,t,e))},_transitionTime:function(n){var t,i,u;if(this.options.useTransition&&(n=n||0,t=r.style.transitionDuration,t&&((this.scrollerStyle[t]=n+"ms",!n&&r.isBadAndroid)&&(this.scrollerStyle[t]="0.0001ms",i=this,f(function(){"0.0001ms"===i.scrollerStyle[t]&&(i.scrollerStyle[t]="0s")})),this.indicators)))for(u=this.indicators.length;u--;)this.indicators[u].transitionTime(n)},_transitionTimingFunction:function(n){if(this.scrollerStyle[r.style.transitionTimingFunction]=n,this.indicators)for(var t=this.indicators.length;t--;)this.indicators[t].transitionTimingFunction(n)},_translate:function(n,t){if(this.options.useTransform?this.scrollerStyle[r.style.transform]="translate("+n+"px,"+t+"px)"+this.translateZ:(n=i.round(n),t=i.round(t),this.scrollerStyle.left=n+"px",this.scrollerStyle.top=t+"px"),this.x=n,this.y=t,this.indicators)for(var u=this.indicators.length;u--;)this.indicators[u].updatePosition()},_initEvents:function(t){var i=t?r.removeEvent:r.addEvent,u=this.options.bindToWrapper?this.wrapper:n;i(n,"orientationchange",this);i(n,"resize",this);this.options.click&&i(this.wrapper,"click",this,!0);this.options.disableMouse||(i(this.wrapper,"mousedown",this),i(u,"mousemove",this),i(u,"mousecancel",this),i(u,"mouseup",this));r.hasPointer&&!this.options.disablePointer&&(i(this.wrapper,r.prefixPointerEvent("pointerdown"),this),i(u,r.prefixPointerEvent("pointermove"),this),i(u,r.prefixPointerEvent("pointercancel"),this),i(u,r.prefixPointerEvent("pointerup"),this));r.hasTouch&&!this.options.disableTouch&&(i(this.wrapper,"touchstart",this),i(u,"touchmove",this),i(u,"touchcancel",this),i(u,"touchend",this));i(this.scroller,"transitionend",this);i(this.scroller,"webkitTransitionEnd",this);i(this.scroller,"oTransitionEnd",this);i(this.scroller,"MSTransitionEnd",this)},getComputedPosition:function(){var i,u,t=n.getComputedStyle(this.scroller,null);return this.options.useTransform?(i=+((t=t[r.style.transform].split(")")[0].split(", "))[12]||t[4]),u=+(t[13]||t[5])):(i=+t.left.replace(/[^-\d.]/g,""),u=+t.top.replace(/[^-\d.]/g,"")),{x:i,y:u}},_initIndicators:function(){function i(n){if(u.indicators)for(var t=u.indicators.length;t--;)n.call(u.indicators[t])}var n,r=this.options.interactiveScrollbars,s="string"!=typeof this.options.scrollbars,t=[],u=this,f;for(this.indicators=[],this.options.scrollbars&&(this.options.scrollY&&(n={el:e("v",r,this.options.scrollbars),interactive:r,defaultScrollbars:!0,customStyle:s,resize:this.options.resizeScrollbars,shrink:this.options.shrinkScrollbars,fade:this.options.fadeScrollbars,listenX:!1},this.wrapper.appendChild(n.el),t.push(n)),this.options.scrollX&&(n={el:e("h",r,this.options.scrollbars),interactive:r,defaultScrollbars:!0,customStyle:s,resize:this.options.resizeScrollbars,shrink:this.options.shrinkScrollbars,fade:this.options.fadeScrollbars,listenY:!1},this.wrapper.appendChild(n.el),t.push(n))),this.options.indicators&&(t=t.concat(this.options.indicators)),f=t.length;f--;)this.indicators.push(new o(this,t[f]));this.options.fadeScrollbars&&(this.on("scrollEnd",function(){i(function(){this.fade()})}),this.on("scrollCancel",function(){i(function(){this.fade()})}),this.on("scrollStart",function(){i(function(){this.fade(1)})}),this.on("beforeScrollStart",function(){i(function(){this.fade(1,!0)})}));this.on("refresh",function(){i(function(){this.refresh()})});this.on("destroy",function(){i(function(){this.destroy()});delete this.indicators})},_initWheel:function(){r.addEvent(this.wrapper,"wheel",this);r.addEvent(this.wrapper,"mousewheel",this);r.addEvent(this.wrapper,"DOMMouseScroll",this);this.on("destroy",function(){clearTimeout(this.wheelTimeout);this.wheelTimeout=null;r.removeEvent(this.wrapper,"wheel",this);r.removeEvent(this.wrapper,"mousewheel",this);r.removeEvent(this.wrapper,"DOMMouseScroll",this)})},_wheel:function(n){if(this.enabled){n.preventDefault();var r,t,u,f,e=this;if(void 0===this.wheelTimeout&&e._execEvent("scrollStart"),clearTimeout(this.wheelTimeout),this.wheelTimeout=setTimeout(function(){e.options.snap||e._execEvent("scrollEnd");e.wheelTimeout=void 0},400),"deltaX"in n)1===n.deltaMode?(r=-n.deltaX*this.options.mouseWheelSpeed,t=-n.deltaY*this.options.mouseWheelSpeed):(r=-n.deltaX,t=-n.deltaY);else if("wheelDeltaX"in n)r=n.wheelDeltaX/120*this.options.mouseWheelSpeed,t=n.wheelDeltaY/120*this.options.mouseWheelSpeed;else if("wheelDelta"in n)r=t=n.wheelDelta/120*this.options.mouseWheelSpeed;else{if(!("detail"in n))return;r=t=-n.detail/3*this.options.mouseWheelSpeed}if(r*=this.options.invertWheelDirection,t*=this.options.invertWheelDirection,this.hasVerticalScroll||(r=t,t=0),this.options.snap){u=this.currentPage.pageX;f=this.currentPage.pageY;r>0?u--:r<0&&u++;t>0?f--:t<0&&f++;this.goToPage(u,f);return}u=this.x+i.round(this.hasHorizontalScroll?r:0);f=this.y+i.round(this.hasVerticalScroll?t:0);this.directionX=r>0?-1:r<0?1:0;this.directionY=t>0?-1:t<0?1:0;u>0?u=0:u<this.maxScrollX&&(u=this.maxScrollX);f>0?f=0:f<this.maxScrollY&&(f=this.maxScrollY);this.scrollTo(u,f,0)}},_initSnap:function(){this.currentPage={};"string"==typeof this.options.snap&&(this.options.snap=this.scroller.querySelectorAll(this.options.snap));this.on("refresh",function(){var e,c,s,h,n,l,t,u=0,o=0,f=0,a=this.options.snapStepX||this.wrapperWidth,v=this.options.snapStepY||this.wrapperHeight;if(this.pages=[],this.wrapperWidth&&this.wrapperHeight&&this.scrollerWidth&&this.scrollerHeight){if(!0===this.options.snap)for(s=i.round(a/2),h=i.round(v/2);f>-this.scrollerWidth;){for(this.pages[u]=[],e=0,n=0;n>-this.scrollerHeight;)this.pages[u][e]={x:i.max(f,this.maxScrollX),y:i.max(n,this.maxScrollY),width:a,height:v,cx:f-s,cy:n-h},n-=v,e++;f-=a;u++}else for(e=(l=this.options.snap).length,c=-1;u<e;u++)t=r.getRect(l[u]),(0===u||t.left<=r.getRect(l[u-1]).left)&&(o=0,c++),this.pages[o]||(this.pages[o]=[]),f=i.max(-t.left,this.maxScrollX),n=i.max(-t.top,this.maxScrollY),s=f-i.round(t.width/2),h=n-i.round(t.height/2),this.pages[o][c]={x:f,y:n,width:t.width,height:t.height,cx:s,cy:h},f>this.maxScrollX&&o++;this.goToPage(this.currentPage.pageX||0,this.currentPage.pageY||0,0);this.options.snapThreshold%1==0?(this.snapThresholdX=this.options.snapThreshold,this.snapThresholdY=this.options.snapThreshold):(this.snapThresholdX=i.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width*this.options.snapThreshold),this.snapThresholdY=i.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height*this.options.snapThreshold))}});this.on("flick",function(){var n=this.options.snapSpeed||i.max(i.max(i.min(i.abs(this.x-this.startX),1e3),i.min(i.abs(this.y-this.startY),1e3)),300);this.goToPage(this.currentPage.pageX+this.directionX,this.currentPage.pageY+this.directionY,n)})},_nearestSnap:function(n,t){if(!this.pages.length)return{x:0,y:0,pageX:0,pageY:0};var r=0,f=this.pages.length,u=0;if(i.abs(n-this.absStartX)<this.snapThresholdX&&i.abs(t-this.absStartY)<this.snapThresholdY)return this.currentPage;for(n>0?n=0:n<this.maxScrollX&&(n=this.maxScrollX),t>0?t=0:t<this.maxScrollY&&(t=this.maxScrollY);r<f;r++)if(n>=this.pages[r][0].cx){n=this.pages[r][0].x;break}for(f=this.pages[r].length;u<f;u++)if(t>=this.pages[0][u].cy){t=this.pages[0][u].y;break}return r==this.currentPage.pageX&&((r+=this.directionX)<0?r=0:r>=this.pages.length&&(r=this.pages.length-1),n=this.pages[r][0].x),u==this.currentPage.pageY&&((u+=this.directionY)<0?u=0:u>=this.pages[0].length&&(u=this.pages[0].length-1),t=this.pages[0][u].y),{x:n,y:t,pageX:r,pageY:u}},goToPage:function(n,t,r,u){u=u||this.options.bounceEasing;n>=this.pages.length?n=this.pages.length-1:n<0&&(n=0);t>=this.pages[n].length?t=this.pages[n].length-1:t<0&&(t=0);var f=this.pages[n][t].x,e=this.pages[n][t].y;r=void 0===r?this.options.snapSpeed||i.max(i.max(i.min(i.abs(f-this.x),1e3),i.min(i.abs(e-this.y),1e3)),300):r;this.currentPage={x:f,y:e,pageX:n,pageY:t};this.scrollTo(f,e,r,u)},next:function(n,t){var i=this.currentPage.pageX,r=this.currentPage.pageY;++i>=this.pages.length&&this.hasVerticalScroll&&(i=0,r++);this.goToPage(i,r,n,t)},prev:function(n,t){var i=this.currentPage.pageX,r=this.currentPage.pageY;--i<0&&this.hasVerticalScroll&&(i=0,r--);this.goToPage(i,r,n,t)},_initKeys:function(){var t,i={pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40};if("object"==typeof this.options.keyBindings)for(t in this.options.keyBindings)"string"==typeof this.options.keyBindings[t]&&(this.options.keyBindings[t]=this.options.keyBindings[t].toUpperCase().charCodeAt(0));else this.options.keyBindings={};for(t in i)this.options.keyBindings[t]=this.options.keyBindings[t]||i[t];r.addEvent(n,"keydown",this);this.on("destroy",function(){r.removeEvent(n,"keydown",this)})},_key:function(n){if(this.enabled){var e,t=this.options.snap,u=t?this.currentPage.pageX:this.x,f=t?this.currentPage.pageY:this.y,o=r.getTime(),s=this.keyTime||0;switch(this.options.useTransition&&this.isInTransition&&(e=this.getComputedPosition(),this._translate(i.round(e.x),i.round(e.y)),this.isInTransition=!1),this.keyAcceleration=o-s<200?i.min(this.keyAcceleration+.25,50):0,n.keyCode){case this.options.keyBindings.pageUp:this.hasHorizontalScroll&&!this.hasVerticalScroll?u+=t?1:this.wrapperWidth:f+=t?1:this.wrapperHeight;break;case this.options.keyBindings.pageDown:this.hasHorizontalScroll&&!this.hasVerticalScroll?u-=t?1:this.wrapperWidth:f-=t?1:this.wrapperHeight;break;case this.options.keyBindings.end:u=t?this.pages.length-1:this.maxScrollX;f=t?this.pages[0].length-1:this.maxScrollY;break;case this.options.keyBindings.home:u=0;f=0;break;case this.options.keyBindings.left:u+=t?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.up:f+=t?1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.right:u-=t?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.down:f-=t?1:5+this.keyAcceleration>>0;break;default:return}if(t){this.goToPage(u,f);return}u>0?(u=0,this.keyAcceleration=0):u<this.maxScrollX&&(u=this.maxScrollX,this.keyAcceleration=0);f>0?(f=0,this.keyAcceleration=0):f<this.maxScrollY&&(f=this.maxScrollY,this.keyAcceleration=0);this.scrollTo(u,f,0);this.keyTime=o}},_animate:function(n,t,i,u){var e=this,o=this.x,s=this.y,h=r.getTime(),c=h+i;this.isAnimating=!0,function l(){var v,y,p,a=r.getTime();if(a>=c){e.isAnimating=!1;e._translate(n,t);e.resetPosition(e.options.bounceTime)||e._execEvent("scrollEnd");return}v=(n-o)*(p=u(a=(a-h)/i))+o;y=(t-s)*p+s;e._translate(v,y);e.isAnimating&&f(l)}()},handleEvent:function(n){switch(n.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(n);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(n);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(n);break;case"orientationchange":case"resize":this._resize();break;case"transitionend":case"webkitTransitionEnd":case"oTransitionEnd":case"MSTransitionEnd":this._transitionEnd(n);break;case"wheel":case"DOMMouseScroll":case"mousewheel":this._wheel(n);break;case"keydown":this._key(n);break;case"click":this.enabled&&!n._constructed&&(n.preventDefault(),n.stopPropagation())}}};o.prototype={handleEvent:function(n){switch(n.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(n);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(n);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(n)}},destroy:function(){this.options.fadeScrollbars&&(clearTimeout(this.fadeTimeout),this.fadeTimeout=null);this.options.interactive&&(r.removeEvent(this.indicator,"touchstart",this),r.removeEvent(this.indicator,r.prefixPointerEvent("pointerdown"),this),r.removeEvent(this.indicator,"mousedown",this),r.removeEvent(n,"touchmove",this),r.removeEvent(n,r.prefixPointerEvent("pointermove"),this),r.removeEvent(n,"mousemove",this),r.removeEvent(n,"touchend",this),r.removeEvent(n,r.prefixPointerEvent("pointerup"),this),r.removeEvent(n,"mouseup",this));this.options.defaultScrollbars&&this.wrapper.parentNode&&this.wrapper.parentNode.removeChild(this.wrapper)},_start:function(t){var i=t.touches?t.touches[0]:t;t.preventDefault();t.stopPropagation();this.transitionTime();this.initiated=!0;this.moved=!1;this.lastPointX=i.pageX;this.lastPointY=i.pageY;this.startTime=r.getTime();this.options.disableTouch||r.addEvent(n,"touchmove",this);this.options.disablePointer||r.addEvent(n,r.prefixPointerEvent("pointermove"),this);this.options.disableMouse||r.addEvent(n,"mousemove",this);this.scroller._execEvent("beforeScrollStart")},_move:function(n){var i,u,f,e,t=n.touches?n.touches[0]:n;r.getTime();this.moved||this.scroller._execEvent("scrollStart");this.moved=!0;i=t.pageX-this.lastPointX;this.lastPointX=t.pageX;u=t.pageY-this.lastPointY;this.lastPointY=t.pageY;f=this.x+i;e=this.y+u;this._pos(f,e);n.preventDefault();n.stopPropagation()},_end:function(t){if(this.initiated){if(this.initiated=!1,t.preventDefault(),t.stopPropagation(),r.removeEvent(n,"touchmove",this),r.removeEvent(n,r.prefixPointerEvent("pointermove"),this),r.removeEvent(n,"mousemove",this),this.scroller.options.snap){var u=this.scroller._nearestSnap(this.scroller.x,this.scroller.y),f=this.options.snapSpeed||i.max(i.max(i.min(i.abs(this.scroller.x-u.x),1e3),i.min(i.abs(this.scroller.y-u.y),1e3)),300);(this.scroller.x!=u.x||this.scroller.y!=u.y)&&(this.scroller.directionX=0,this.scroller.directionY=0,this.scroller.currentPage=u,this.scroller.scrollTo(u.x,u.y,f,this.scroller.options.bounceEasing))}this.moved&&this.scroller._execEvent("scrollEnd")}},transitionTime:function(n){var t,i;n=n||0;t=r.style.transitionDuration;t&&(this.indicatorStyle[t]=n+"ms",!n&&r.isBadAndroid)&&(this.indicatorStyle[t]="0.0001ms",i=this,f(function(){"0.0001ms"===i.indicatorStyle[t]&&(i.indicatorStyle[t]="0s")}))},transitionTimingFunction:function(n){this.indicatorStyle[r.style.transitionTimingFunction]=n},refresh:function(){this.transitionTime();this.indicatorStyle.display=this.options.listenX&&!this.options.listenY?this.scroller.hasHorizontalScroll?"block":"none":this.options.listenY&&!this.options.listenX?this.scroller.hasVerticalScroll?"block":"none":this.scroller.hasHorizontalScroll||this.scroller.hasVerticalScroll?"block":"none";this.scroller.hasHorizontalScroll&&this.scroller.hasVerticalScroll?(r.addClass(this.wrapper,"iScrollBothScrollbars"),r.removeClass(this.wrapper,"iScrollLoneScrollbar"),this.options.defaultScrollbars&&this.options.customStyle&&(this.options.listenX?this.wrapper.style.right="8px":this.wrapper.style.bottom="8px")):(r.removeClass(this.wrapper,"iScrollBothScrollbars"),r.addClass(this.wrapper,"iScrollLoneScrollbar"),this.options.defaultScrollbars&&this.options.customStyle&&(this.options.listenX?this.wrapper.style.right="2px":this.wrapper.style.bottom="2px"));r.getRect(this.wrapper);this.options.listenX&&(this.wrapperWidth=this.wrapper.clientWidth,this.options.resize?(this.indicatorWidth=i.max(i.round(this.wrapperWidth*this.wrapperWidth/(this.scroller.scrollerWidth||this.wrapperWidth||1)),8),this.indicatorStyle.width=this.indicatorWidth+"px"):this.indicatorWidth=this.indicator.clientWidth,this.maxPosX=this.wrapperWidth-this.indicatorWidth,"clip"==this.options.shrink?(this.minBoundaryX=-this.indicatorWidth+8,this.maxBoundaryX=this.wrapperWidth-8):(this.minBoundaryX=0,this.maxBoundaryX=this.maxPosX),this.sizeRatioX=this.options.speedRatioX||this.scroller.maxScrollX&&this.maxPosX/this.scroller.maxScrollX);this.options.listenY&&(this.wrapperHeight=this.wrapper.clientHeight,this.options.resize?(this.indicatorHeight=i.max(i.round(this.wrapperHeight*this.wrapperHeight/(this.scroller.scrollerHeight||this.wrapperHeight||1)),8),this.indicatorStyle.height=this.indicatorHeight+"px"):this.indicatorHeight=this.indicator.clientHeight,this.maxPosY=this.wrapperHeight-this.indicatorHeight,"clip"==this.options.shrink?(this.minBoundaryY=-this.indicatorHeight+8,this.maxBoundaryY=this.wrapperHeight-8):(this.minBoundaryY=0,this.maxBoundaryY=this.maxPosY),this.maxPosY=this.wrapperHeight-this.indicatorHeight,this.sizeRatioY=this.options.speedRatioY||this.scroller.maxScrollY&&this.maxPosY/this.scroller.maxScrollY);this.updatePosition()},updatePosition:function(){var n=this.options.listenX&&i.round(this.sizeRatioX*this.scroller.x)||0,t=this.options.listenY&&i.round(this.sizeRatioY*this.scroller.y)||0;this.options.ignoreBoundaries||(n<this.minBoundaryX?("scale"==this.options.shrink&&(this.width=i.max(this.indicatorWidth+n,8),this.indicatorStyle.width=this.width+"px"),n=this.minBoundaryX):n>this.maxBoundaryX?"scale"==this.options.shrink?(this.width=i.max(this.indicatorWidth-(n-this.maxPosX),8),this.indicatorStyle.width=this.width+"px",n=this.maxPosX+this.indicatorWidth-this.width):n=this.maxBoundaryX:"scale"==this.options.shrink&&this.width!=this.indicatorWidth&&(this.width=this.indicatorWidth,this.indicatorStyle.width=this.width+"px"),t<this.minBoundaryY?("scale"==this.options.shrink&&(this.height=i.max(this.indicatorHeight+3*t,8),this.indicatorStyle.height=this.height+"px"),t=this.minBoundaryY):t>this.maxBoundaryY?"scale"==this.options.shrink?(this.height=i.max(this.indicatorHeight-(t-this.maxPosY)*3,8),this.indicatorStyle.height=this.height+"px",t=this.maxPosY+this.indicatorHeight-this.height):t=this.maxBoundaryY:"scale"!=this.options.shrink||this.height==this.indicatorHeight||(this.height=this.indicatorHeight,this.indicatorStyle.height=this.height+"px"));this.x=n;this.y=t;this.scroller.options.useTransform?this.indicatorStyle[r.style.transform]="translate("+n+"px,"+t+"px)"+this.scroller.translateZ:(this.indicatorStyle.left=n+"px",this.indicatorStyle.top=t+"px")},_pos:function(n,t){n<0?n=0:n>this.maxPosX&&(n=this.maxPosX);t<0?t=0:t>this.maxPosY&&(t=this.maxPosY);n=this.options.listenX?i.round(n/this.sizeRatioX):this.scroller.x;t=this.options.listenY?i.round(t/this.sizeRatioY):this.scroller.y;this.scroller.scrollTo(n,t)},fade:function(n,t){if(!t||this.visible){clearTimeout(this.fadeTimeout);this.fadeTimeout=null;var i=n?250:500,u=n?0:300;n=n?"1":"0";this.wrapperStyle[r.style.transitionDuration]=i+"ms";this.fadeTimeout=setTimeout(function(n){this.wrapperStyle.opacity=n;this.visible=+n}.bind(this,n),u)}}};u.utils=r;"undefined"!=typeof module&&module.exports?module.exports=u:"function"==typeof define&&define.amd?define(function(){return u}):n.IScroll=u}(window,document,Math),function(n){n.Jcrop=function(t,i){function h(n){return Math.round(n)+"px"}function ft(n){return r.baseClass+"-"+n}function bi(){return n.fx.step.hasOwnProperty("backgroundColor")}function et(t){var i=n(t).offset();return[i.left,i.top]}function nt(n){return[n.pageX-b[0],n.pageY-b[1]]}function ni(t){typeof t!="object"&&(t={});r=n.extend(r,t);n.each(["onChange","onSelect","onRelease","onDblClick"],function(n,t){typeof r[t]!="function"&&(r[t]=function(){})})}function ti(n,t,i){if(b=et(e),p.setCursor(n==="move"?n:n+"-resize"),n==="move")return p.activateHandlers(di(t),pt,i);var u=s.getFixed(),r=ii(n),f=s.getCorner(ii(r));s.setPressed(s.getCorner(r));s.setCurrent(f);p.activateHandlers(ki(n,u),pt,i)}function ki(n,t){return function(i){if(r.aspectRatio)switch(n){case"e":i[1]=t.y+1;break;case"w":i[1]=t.y+1;break;case"n":i[0]=t.x+1;break;case"s":i[0]=t.x+1}else switch(n){case"e":i[1]=t.y2;break;case"w":i[1]=t.y2;break;case"n":i[0]=t.x2;break;case"s":i[0]=t.x2}s.setCurrent(i);u.update()}}function di(n){var t=n;return gt.watchKeys(),function(n){s.moveOffset([n[0]-t[0],n[1]-t[1]]);t=n;u.update()}}function ii(n){switch(n){case"n":return"sw";case"s":return"nw";case"e":return"nw";case"w":return"ne";case"ne":return"sw";case"nw":return"se";case"se":return"nw";case"sw":return"ne"}}function ri(n){return function(t){return r.disabled?!1:n==="move"&&!r.allowMove?!1:(b=et(e),ut=!0,ti(n,nt(t)),t.stopPropagation(),t.preventDefault(),!1)}}function ui(n,t,i){var r=n.width(),u=n.height();r>t&&t>0&&(r=t,u=t/n.width()*n.height());u>i&&i>0&&(u=i,r=i/n.height()*n.width());l=n.width()/r;a=n.height()/u;n.width(r).height(u)}function ot(n){return{x:n.x*l,y:n.y*a,x2:n.x2*l,y2:n.y2*a,w:n.w*l,h:n.h*a}}function pt(){var n=s.getFixed();n.w>r.minSelect[0]&&n.h>r.minSelect[1]?(u.enableHandles(),u.done()):u.release();p.setCursor(r.allowSelect?"crosshair":"default")}function fi(n){if(r.disabled||!r.allowSelect)return!1;ut=!0;b=et(e);u.disableHandles();p.setCursor("crosshair");var t=nt(n);return s.setPressed(t),u.update(),p.activateHandlers(gi,pt,n.type.substring(0,5)==="touch"),gt.watchKeys(),n.stopPropagation(),n.preventDefault(),!1}function gi(n){s.setCurrent(n);u.update()}function ei(){var t=n("<div><\/div>").addClass(ft("tracker"));return ai&&t.css({opacity:0,backgroundColor:"white"}),t}function nr(n){w.removeClass().addClass(ft("holder")).addClass(n)}function tr(n,t){function b(){window.setTimeout(k,d)}var c=n[0]/l,y=n[1]/a,p=n[2]/l,w=n[3]/a,k;if(!dt){var o=s.flipCoords(c,y,p,w),h=s.getFixed(),e=[h.x,h.y,h.x2,h.y2],i=e,d=r.animationDelay,g=o[0]-e[0],nt=o[1]-e[1],tt=o[2]-e[2],it=o[3]-e[3],f=0,rt=r.swingSpeed;c=i[0];y=i[1];p=i[2];w=i[3];u.animMode(!0);k=function(){return function(){f+=(100-f)/rt;i[0]=Math.round(c+f/100*g);i[1]=Math.round(y+f/100*nt);i[2]=Math.round(p+f/100*tt);i[3]=Math.round(w+f/100*it);f>=99.8&&(f=100);f<100?(si(i),b()):(u.done(),u.animMode(!1),typeof t=="function"&&t.call(v))}}();b()}}function oi(n){si([n[0]/l,n[1]/a,n[2]/l,n[3]/a]);r.onSelect.call(v,ot(s.getFixed()));u.enableHandles()}function si(n){s.setPressed([n[0],n[1]]);s.setCurrent([n[2],n[3]]);u.update()}function ir(){return ot(s.getFixed())}function rr(){return s.getFixed()}function ur(n){ni(n);bt()}function hi(){r.disabled=!0;u.disableHandles();u.setCursor("default");p.setCursor("default")}function ci(){r.disabled=!1;bt()}function fr(){u.done();p.activateHandlers(null,null)}function er(){w.remove();c.show();c.css("visibility","visible");n(t).removeData("Jcrop")}function or(n,t){u.release();hi();var i=new Image;i.onload=function(){var u=i.width,s=i.height,h=r.boxWidth,c=r.boxHeight;e.width(u).height(s);e.attr("src",n);k.attr("src",n);ui(e,h,c);o=e.width();f=e.height();k.width(o).height(f);d.width(o+rt*2).height(f+rt*2);w.width(o).height(f);g.resize(o,f);ci();typeof t=="function"&&t.call(v)};i.src=n}function wt(n,t,i){var u=t||r.bgColor;r.bgFade&&bi()&&r.fadeTime&&!i?n.animate({backgroundColor:u},{queue:!1,duration:r.fadeTime}):n.css("backgroundColor",u)}function bt(n){r.allowResize?n?u.enableOnly():u.enableHandles():u.disableHandles();p.setCursor(r.allowSelect?"crosshair":"default");u.setCursor(r.allowMove?"move":"default");r.hasOwnProperty("trueSize")&&(l=r.trueSize[0]/o,a=r.trueSize[1]/f);r.hasOwnProperty("setSelect")&&(oi(r.setSelect),u.done(),delete r.setSelect);g.refresh();r.bgColor!=pi&&(wt(r.shade?g.getShades():w,r.shade?r.shadeColor||r.bgColor:r.bgColor),pi=r.bgColor);st!=r.bgOpacity&&(st=r.bgOpacity,r.shade?g.refresh():u.setBgOpacity(st));ht=r.maxSize[0]||0;ct=r.maxSize[1]||0;lt=r.minSize[0]||0;at=r.minSize[1]||0;r.hasOwnProperty("outerImage")&&(e.attr("src",r.outerImage),delete r.outerImage);u.refresh()}var r=n.extend({},n.Jcrop.defaults),b,li=navigator.userAgent.toLowerCase(),ai=/msie/.test(li),vi=/msie [1-6]\./.test(li),vt,e,v;typeof t!="object"&&(t=n(t)[0]);typeof i!="object"&&(i={});ni(i);var kt={border:"none",visibility:"visible",margin:0,padding:0,position:"absolute",top:0,left:0},c=n(t),yi=!0;t.tagName=="IMG"?(c[0].width!=0&&c[0].height!=0?(c.width(c[0].width),c.height(c[0].height)):(vt=new Image,vt.src=c[0].src,c.width(vt.width),c.height(vt.height)),e=c.clone().removeAttr("id").css(kt).show(),e.width(c.width()),e.height(c.height()),c.after(e).hide()):(e=c.css(kt).show(),yi=!1,r.shade===null&&(r.shade=!0));ui(e,r.boxWidth,r.boxHeight);var o=e.width(),f=e.height(),w=n("<div />").width(o).height(f).addClass(ft("holder")).css({position:"relative",backgroundColor:r.bgColor}).insertAfter(c).append(e);r.addClass&&w.addClass(r.addClass);var k=n("<div />"),yt=n("<div />").width("100%").height("100%").css({zIndex:310,position:"absolute",overflow:"hidden"}),tt=n("<div />").width("100%").height("100%").css("zIndex",320),it=n("<div />").css({position:"absolute",zIndex:600}).dblclick(function(){var n=s.getFixed();r.onDblClick.call(v,n)}).insertBefore(e).append(yt,tt);yi&&(k=n("<img />").attr("src",e.attr("src")).css(kt).width(o).height(f),yt.append(k));vi&&it.css({overflowY:"hidden"});var rt=r.boundary,d=ei().width(o+rt*2).height(f+rt*2).css({position:"absolute",top:h(-rt),left:h(-rt),zIndex:290}).mousedown(fi),pi=r.bgColor,st=r.bgOpacity,ht,ct,lt,at,l,a,ut,dt,wi;b=et(e);var y=function(){function n(){var i={},u=["touchstart","touchmove","touchend"],f=document.createElement("div"),t,n,r;try{for(t=0;t<u.length;t++)n=u[t],n="on"+n,r=n in f,r||(f.setAttribute(n,"return;"),r=typeof f[n]=="function"),i[u[t]]=r;return i.touchstart&&i.touchend&&i.touchmove}catch(e){return!1}}function t(){return r.touchSupport===!0||r.touchSupport===!1?r.touchSupport:n()}return{createDragger:function(n){return function(t){return r.disabled?!1:n==="move"&&!r.allowMove?!1:(b=et(e),ut=!0,ti(n,nt(y.cfilter(t)),!0),t.stopPropagation(),t.preventDefault(),!1)}},newSelection:function(n){return fi(y.cfilter(n))},cfilter:function(n){return n.pageX=n.originalEvent.changedTouches[0].pageX,n.pageY=n.originalEvent.changedTouches[0].pageY,n},isSupported:n,support:t()}}(),s=function(){function p(r){r=h(r);u=n=r[0];i=t=r[1]}function w(n){n=h(n);v=n[0]-u;y=n[1]-i;u=n[0];i=n[1]}function b(){return[v,y]}function k(r){var e=r[0],s=r[1];0>n+e&&(e-=e+n);0>t+s&&(s-=s+t);f<i+s&&(s+=f-(i+s));o<u+e&&(e+=o-(u+e));n+=e;u+=e;t+=s;i+=s}function d(n){var t=s();switch(n){case"ne":return[t.x2,t.y];case"nw":return[t.x,t.y];case"se":return[t.x2,t.y2];case"sw":return[t.x,t.y2]}}function s(){if(!r.aspectRatio)return g();var v=r.aspectRatio,b=r.minSize[0]/l,w=r.maxSize[0]/l,nt=r.maxSize[1]/a,k=u-n,d=i-t,tt=Math.abs(k),it=Math.abs(d),rt=tt/it,s,h,y,p;return w===0&&(w=o*10),nt===0&&(nt=f*10),rt<v?(h=i,y=it*v,s=k<0?n-y:y+n,s<0?(s=0,p=Math.abs((s-n)/v),h=d<0?t-p:p+t):s>o&&(s=o,p=Math.abs((s-n)/v),h=d<0?t-p:p+t)):(s=u,p=tt/v,h=d<0?t-p:t+p,h<0?(h=0,y=Math.abs((h-t)*v),s=k<0?n-y:y+n):h>f&&(h=f,y=Math.abs(h-t)*v,s=k<0?n-y:y+n)),s>n?(s-n<b?s=n+b:s-n>w&&(s=n+w),h=h>t?t+(s-n)/v:t-(s-n)/v):s<n&&(n-s<b?s=n-b:n-s>w&&(s=n-w),h=h>t?t+(n-s)/v:t-(n-s)/v),s<0?(n-=s,s=0):s>o&&(n-=s-o,s=o),h<0?(t-=h,h=0):h>f&&(t-=h-f,h=f),c(e(n,t,s,h))}function h(n){return n[0]<0&&(n[0]=0),n[1]<0&&(n[1]=0),n[0]>o&&(n[0]=o),n[1]>f&&(n[1]=f),[Math.round(n[0]),Math.round(n[1])]}function e(n,t,i,r){var u=n,f=i,e=t,o=r;return i<n&&(u=i,f=n),r<t&&(e=r,o=t),[u,e,f,o]}function g(){var s=u-n,h=i-t,r;return ht&&Math.abs(s)>ht&&(u=s>0?n+ht:n-ht),ct&&Math.abs(h)>ct&&(i=h>0?t+ct:t-ct),at/a&&Math.abs(h)<at/a&&(i=h>0?t+at/a:t-at/a),lt/l&&Math.abs(s)<lt/l&&(u=s>0?n+lt/l:n-lt/l),n<0&&(u-=n,n-=n),t<0&&(i-=t,t-=t),u<0&&(n-=u,u-=u),i<0&&(t-=i,i-=i),u>o&&(r=u-o,n-=r,u-=r),i>f&&(r=i-f,t-=r,i-=r),n>o&&(r=n-f,i-=r,t-=r),t>f&&(r=t-f,i-=r,t-=r),c(e(n,t,u,i))}function c(n){return{x:n[0],y:n[1],x2:n[2],y2:n[3],w:n[2]-n[0],h:n[3]-n[1]}}var n=0,t=0,u=0,i=0,v,y;return{flipCoords:e,setPressed:p,setCurrent:w,getOffset:b,moveOffset:k,getCorner:d,getFixed:s}}(),g=function(){function nt(n,t){i.left.css({height:h(t)});i.right.css({height:h(t)})}function v(){return y(s.getFixed())}function y(n){i.top.css({left:h(n.x),width:h(n.w),height:h(n.y)});i.bottom.css({top:h(n.y2),left:h(n.x),width:h(n.w),height:h(f-n.y2)});i.right.css({left:h(n.x2),width:h(o-n.x2)});i.left.css({width:h(n.x)})}function l(){return n("<div />").css({position:"absolute",backgroundColor:r.shadeColor||r.bgColor}).appendTo(t)}function p(){c||(c=!0,t.insertBefore(e),v(),u.setBgOpacity(1,0,1),k.hide(),b(r.shadeColor||r.bgColor,1),u.isAwake()?a(r.bgOpacity,1):a(1,1))}function b(n,t){wt(g(),n,t)}function d(){c&&(t.remove(),k.show(),c=!1,u.isAwake()?u.setBgOpacity(r.bgOpacity,1,1):(u.setBgOpacity(1,1,1),u.disableHandles()),wt(w,0,1))}function a(n,i){c&&(r.bgFade&&!i?t.animate({opacity:1-n},{queue:!1,duration:r.fadeTime}):t.css({opacity:1-n}))}function tt(){r.shade?p():d();u.isAwake()&&a(r.bgOpacity)}function g(){return t.children()}var c=!1,t=n("<div />").css({position:"absolute",zIndex:240,opacity:0}),i={top:l(),left:l().height(f),right:l().height(f),bottom:l()};return{update:v,updateRaw:y,getShades:g,setBgColor:b,enable:p,disable:d,resize:nt,refresh:tt,opacity:a}}(),u=function(){function nt(t){var i=n("<div />").css({position:"absolute",opacity:r.borderOpacity}).addClass(ft(t));return yt.append(i),i}function c(t,i){var r=n("<div />").mousedown(ri(t)).css({cursor:t+"-resize",position:"absolute",zIndex:i}).addClass("ord-"+t);return y.support&&r.bind("touchstart.jcrop",y.createDragger(t)),tt.append(r),r}function rt(n){var t=r.handleSize,i=c(n,d++).css({opacity:r.handleOpacity}).addClass(ft("handle"));return t&&i.width(t).height(t),i}function ut(n){return c(n,d++).addClass("jcrop-dragbar")}function et(n){for(var t=0;t<n.length;t++)ni[n[t]]=ut(n[t])}function ht(n){for(var t,i=0;i<n.length;i++){switch(n[i]){case"n":t="hline";break;case"s":t="hline bottom";break;case"e":t="vline right";break;case"w":t="vline"}kt[n[i]]=nt(t)}}function ct(n){for(var t=0;t<n.length;t++)gt[n[t]]=rt(n[t])}function lt(n,t){r.shade||k.css({top:h(-t),left:h(-n)});it.css({top:h(t),left:h(n)})}function at(n,t){it.width(Math.round(n)).height(Math.round(t))}function l(){var n=s.getFixed();s.setPressed([n.x,n.y]);s.setCurrent([n.x2,n.y2]);a()}function a(n){if(t)return p(n)}function p(n){var i=s.getFixed();at(i.w,i.h);lt(i.x,i.y);r.shade&&g.updateRaw(i);t||vt();n?r.onSelect.call(v,ot(i)):r.onChange.call(v,ot(i))}function o(n,i,u){(t||i)&&(r.bgFade&&!u?e.animate({opacity:n},{queue:!1,duration:r.fadeTime}):e.css("opacity",n))}function vt(){it.show();r.shade?g.opacity(st):o(st,!0);t=!0}function pt(){i();it.hide();r.shade?g.opacity(1):o(1);t=!1;r.onRelease.call(v)}function wt(){u&&tt.show()}function w(){return u=!0,r.allowResize?(tt.show(),!0):void 0}function i(){u=!1;tt.hide()}function b(n){n?(dt=!0,i()):(dt=!1,w())}function bt(){b(!1);l()}var t,d=370,kt={},gt={},ni={},u=!1,f;return r.dragEdges&&n.isArray(r.createDragbars)&&et(r.createDragbars),n.isArray(r.createHandles)&&ct(r.createHandles),r.drawBorders&&n.isArray(r.createBorders)&&ht(r.createBorders),n(document).bind("touchstart.jcrop-ios",function(t){n(t.currentTarget).hasClass("jcrop-tracker")&&t.stopPropagation()}),f=ei().mousedown(ri("move")).css({cursor:"move",position:"absolute",zIndex:360}),y.support&&f.bind("touchstart.jcrop",y.createDragger("move")),yt.append(f),i(),{updateVisible:a,update:p,release:pt,refresh:l,isAwake:function(){return t},setCursor:function(n){f.css("cursor",n)},enableHandles:w,enableOnly:function(){u=!0},showHandles:wt,disableHandles:i,animMode:b,setBgOpacity:o,done:bt}}(),p=function(){function c(i){d.css({zIndex:450});i?n(document).bind("touchmove.jcrop",p).bind("touchend.jcrop",w):h&&n(document).bind("mousemove.jcrop",o).bind("mouseup.jcrop",t)}function l(){d.css({zIndex:290});n(document).unbind(".jcrop")}function o(n){return i(nt(n)),!1}function t(n){return n.preventDefault(),n.stopPropagation(),ut&&(ut=!1,f(nt(n)),u.isAwake()&&r.onSelect.call(v,ot(s.getFixed())),l(),i=function(){},f=function(){}),!1}function a(n,t,r){return ut=!0,i=n,f=t,c(r),!1}function p(n){return i(nt(y.cfilter(n))),!1}function w(n){return t(y.cfilter(n))}function b(n){d.css("cursor",n)}var i=function(){},f=function(){},h=r.trackDocument;return h||d.mousemove(o).mouseup(t).mouseout(t),e.before(d),{activateHandlers:a,setCursor:b}}(),gt=function(){function f(){r.keySupport&&(t.show(),t.focus())}function o(){t.hide()}function i(n,t,i){r.allowMove&&(s.moveOffset([t,i]),u.updateVisible(!0));n.preventDefault();n.stopPropagation()}function h(n){if(n.ctrlKey||n.metaKey)return!0;wi=n.shiftKey?!0:!1;var t=wi?10:1;switch(n.keyCode){case 37:i(n,-t,0);break;case 39:i(n,t,0);break;case 38:i(n,0,-t);break;case 40:i(n,0,t);break;case 27:r.allowSelect&&u.release();break;case 9:return!0}return!1}var t=n('<input type="radio" />').css({position:"fixed",left:"-120px",width:"12px"}).addClass("jcrop-keymgr"),c=n("<div />").css({position:"absolute",overflow:"hidden"}).append(t);return r.keySupport&&(t.keydown(h).blur(o),vi||!r.fixedSupport?(t.css({position:"absolute",left:"-20px"}),c.append(t).insertBefore(e)):t.insertBefore(e)),{watchKeys:f}}();return y.support&&d.bind("touchstart.jcrop",y.newSelection),tt.hide(),bt(!0),v={setImage:or,animateTo:tr,setSelect:oi,setOptions:ur,tellSelect:ir,tellScaled:rr,setClass:nr,disable:hi,enable:ci,cancel:fr,release:u.release,destroy:er,focus:gt.watchKeys,getBounds:function(){return[o*l,f*a]},getWidgetSize:function(){return[o,f]},getScaleFactor:function(){return[l,a]},getOptions:function(){return r},ui:{holder:w,selection:it}},ai&&w.bind("selectstart",function(){return!1}),c.data("Jcrop",v),v};n.fn.Jcrop=function(t,i){var r;return this.each(function(){if(n(this).data("Jcrop")){if(t==="api")return n(this).data("Jcrop");n(this).data("Jcrop").setOptions(t)}else this.tagName=="IMG"?n.Jcrop.Loader(this,function(){n(this).css({display:"block",visibility:"hidden"});r=n.Jcrop(this,t);n.isFunction(i)&&i.call(r)}):(n(this).css({display:"block",visibility:"hidden"}),r=n.Jcrop(this,t),n.isFunction(i)&&i.call(r))}),this};n.Jcrop.Loader=function(t,i,r){function e(){f.complete?(u.unbind(".jcloader"),n.isFunction(i)&&i.call(f)):window.setTimeout(e,50)}var u=n(t),f=u[0];u.bind("load.jcloader",e).bind("error.jcloader",function(){u.unbind(".jcloader");n.isFunction(r)&&r.call(f)});f.complete&&n.isFunction(i)&&(u.unbind(".jcloader"),i.call(f))};n.Jcrop.defaults={allowSelect:!0,allowMove:!0,allowResize:!0,trackDocument:!0,baseClass:"jcrop",addClass:null,bgColor:"black",bgOpacity:.6,bgFade:!1,borderOpacity:.4,handleOpacity:.5,handleSize:null,aspectRatio:0,keySupport:!0,createHandles:["n","s","e","w","nw","ne","se","sw"],createDragbars:["n","s","e","w"],createBorders:["n","s","e","w"],drawBorders:!0,dragEdges:!0,fixedSupport:!0,touchSupport:null,shade:null,boxWidth:0,boxHeight:0,boundary:2,fadeTime:400,animationDelay:20,swingSpeed:3,minSelect:[0,0],maxSize:[0,0],minSize:[0,0],onChange:function(){},onSelect:function(){},onDblClick:function(){},onRelease:function(){}}}(jQuery),function(n){typeof define=="function"&&define.amd?define(["jquery"],n):typeof exports=="object"?n(require("jquery")):n(jQuery)}(function(n){function i(n){return t.raw?n:encodeURIComponent(n)}function f(n){return t.raw?n:decodeURIComponent(n)}function e(n){return i(t.json?JSON.stringify(n):String(n))}function o(n){n.indexOf('"')===0&&(n=n.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return n=decodeURIComponent(n.replace(u," ")),t.json?JSON.parse(n):n}catch(i){}}function r(i,r){var u=t.raw?i:o(i);return n.isFunction(r)?r(u):u}var u=/\+/g,t=n.cookie=function(u,o,s){var y,a,h,v,c,p;if(o!==undefined&&!n.isFunction(o))return s=n.extend({},t.defaults,s),typeof s.expires=="number"&&(y=s.expires,a=s.expires=new Date,a.setTime(+a+y*864e5)),document.cookie=[i(u),"=",e(o),s.expires?"; expires="+s.expires.toUTCString():"",s.path?"; path="+s.path:"",s.domain?"; domain="+s.domain:"",s.secure?"; secure":""].join("");for(h=u?undefined:{},v=document.cookie?document.cookie.split("; "):[],c=0,p=v.length;c<p;c++){var w=v[c].split("="),b=f(w.shift()),l=w.join("=");if(u&&u===b){h=r(l,o);break}u||(l=r(l))===undefined||(h[b]=l)}return h};t.defaults={};n.removeCookie=function(t,i){return n.cookie(t)===undefined?!1:(n.cookie(t,"",n.extend({},i,{expires:-1})),!n.cookie(t))}});Gallery.prototype={loadImage:function(n,t){var o,r,e,u,s,f,i;n!=this.currentIndex&&n>=0&&n<this.items.length&&(o=this,r=$.deparam.querystring(),this.currentIndex>-1&&(e=this.items[this.currentIndex],delete r[e.Id]),u=this.items[n],s=$.format("translate({0},0px)",parseInt(-1*this.size.width*n)+"px"),this.preloadItem(u),this.currentIndex=n,window.history&&!t&&(f=$.param(r,!0),i=$.format("{0}?{1}{2}",this.baseUrl,u.Id,f?"&"+f:""),location.href!=i&&history.pushState&&history.pushState(null,null,i),$("meta[property='og:url']").attr("content",location+i)),this.loadImageData(n))},loadImageData:function(n){var t=this,i=this.items[n],u=this.holder.find("#"+i.Id),r=$.deparam.querystring();r.properties=!0;delete r[i.Id];$("#currentPhoto").text(n+1);this.holder.find(".thumbs>ul>li").removeClass("selected").eq(n).addClass("selected");$("#"+i.Id).remove(".tag");$.ajax({method:"get",cache:!1,url:$.format("{0}/{1}?{2}",this.baseUrl,i.Id,$.param(r,!0)),success:function(n){var i=u.children("figure"),r=t.holder.find(".column");r.empty().append(n);i.children(".tag").remove();i.append(t.holder.find(".column .products>div").clone(!0).hide());t.holder.find(".navigator .flag-tag").css("visibility",t.holder.find(".column .products>.tag").length?"visible":"hidden");$(document).trigger("init");t.onImageLoaded(u);$(".removetag").on("click",function(){t.deleteTag(this)});$(document).trigger("openTagGuide");$(document).trigger("openTagBTicinoGuide");$(document).trigger("checkTagFromProjectEdit")}})},loadImageById:function(){var n=0;return n||(id=this.first||location.search.substring(1),this.items.each(function(t){this.Id==id&&(n=t)})),this.goto(n,!0),n},preloadItem:function(n){if(n&&!n.loaded){var i=this.holder.find("#"+n.Id),t=location.href.indexOf("people")>-1?"people":"projects";this.queue.loadFile({id:n.Id,src:$("html").data("displaymode")&&t=="projects"?$.image(t,n.Name,"b_730_"):$.image(t,n.Name),parent:i});n.loaded=!0}},goto:function(n,t){this.changeState("normal");this.loadImage(n,t);this.scroller.goToPage(n,0,1);$(this.scroller.scroller).find("li").eq(n).find("img").hide().fadeIn()},loadNext:function(){var n=this.currentIndex+1;n==this.items.length&&(n=0);this.scroller.goToPage(n,0,1);$(this.scroller.scroller).find("li").eq(n).find("img").hide().fadeIn()},loadPrev:function(){var n=this.currentIndex-1;n<0&&(n=this.items.length-1);this.scroller.goToPage(n,0,1);$(this.scroller.scroller).find("li").eq(n).find("img").hide().fadeIn()},onProgress:function(n){n.item.parent.find("input").val(parseInt(n.progress*100)).trigger("change")},onImageSourceLoaded:function(n){var i=this,t=n.item.parent.children("figure");t.length==0&&(t=n.item.parent);t.children("img").remove();t.prepend(n.result).hide().fadeIn(0,"fast",function(){i.onImageLoaded(n.item.parent)})},onImageLoaded:function(n){var t=n.children(t);t.children("img").length&&(t.children("img").attr("alt","project image"),t.children(".tag").each(function(){var n=$(this);n.addClass("tagImage").css({position:"absolute",left:n.data("x")+"%",top:n.data("y")+"%",marginTop:"60px",marginLeft:"-47px"});n.find("._arrowTag").addClass("arT")}).show())},onKeyUp:function(n){if(["normal","fullscreen"].indexOf(this.currentState)>-1)switch(n.keyCode){case 39:this.loadNext();break;case 37:this.loadPrev();break;case 27:parent.postMessage({action:"close",data:null},"http://www.archiproducts.com/")}},onResize:function(){var i,n,t;this.items.each(function(){this.loaded=!1});i=this.holder.find(".viewer").width();n=this.holder.find(".viewer").height();this.holder.find(".imagescroller>ul>li>div").width(i).height(n).css("line-height",n+"px");this.holder.find(".imagescroller>ul>li>div>figure>img").css("max-height",n+"px");this.size.width=i;this.size.height=n;this.currentIndex>-1&&(t=this,setTimeout(function(){t.onImageLoaded($("#"+t.items[t.currentIndex].Id))},150))},onImageClick:function(n){if(this.currentState=="taggingproduct"){var t=this,i=n.target,r=n.clientX,u=n.clientY,f=$(i).offset().left,e=$(i).offset().top,o=Math.round((r-f)*100/$(i).width()),s=Math.round((u-e)*100/$(i).height()),h=$(n.target).closest("div").attr("id");$.ajax({method:"get",url:this.dataUrl+"/tag?imageId="+h+"&x="+o+"&y="+s,success:function(n){t.holder.find("#tagHolder").empty();t.holder.find("#tagHolder").append(n);t.holder.find("#tagHolder").dialog({modal:!1,width:975,heightStyle:"content",dialogClass:"productDialog",close:function(){t.loadImageData(t.currentIndex);$(this).dialog("destroy")}})}})}},changeState:function(n){this.currentState=n;this.holder.removeClass("normal taggingproduct taggingalbum browse fullscreen").addClass(n||"normal");this.scroller.disable();switch(n){case"browse":this.holder.find(".thumbs li").length==0&&this.loadThumbs();break;case"fullscreen":this.onResize();this.scroller._resize();break;case"normal":this.scroller.enable();this.onResize();this.scroller._resize()}},toggleState:function(n){this.changeState(this.currentState!=n?n:"normal")},loadThumbs:function(){var n=this,i=location.href.indexOf("people")>-1?"people":"projects",t;this.items.each(function(t){$("<li/>").addClass(t==n.currentIndex?"selected":"").appendTo(n.holder.find(".thumbs ul"))});t=$.map(this.items,function(t,r){return{id:t.Id,src:$.image(i,t.Name+"?v=2",n.thumbPrefix),parent:n.holder.find(".thumbs li").eq(r)}});this.queue.loadManifest(t)},placeImagTag:function(n,t){$.setTagPosition($(t),null,"gallery")},enableTagAlbum:function(){var t=this.holder.find(".imagescroller li").eq(this.currentIndex).find("div>figure>img"),u=this,f=parseInt(t.width()),i=f*.3,e=i/1.333,n=[i,e],r=[10,10,n[0]+10,n[1]+10];this.cropper&&this.cropper.destroy();this.cropper=$.Jcrop(t.get(0),{bgColor:"transparent",bgOpacity:.3,aspectRatio:n[0]/n[1],minSize:n,setSelect:r,keySupport:!1,sideHandles:!1,onChange:function(n){n.x=parseInt(n.x);n.y=parseInt(n.y);n.x2=parseInt(n.x2);n.y2=parseInt(n.y2);n.w=parseInt(n.w);n.h=parseInt(n.h);u.cropResult=n}});this.cropper.setSelect(r)},disableTagAlbum:function(){var n=this,t=n.items[n.currentIndex].Id;$.ajax({method:"get",url:n.dataUrl+"/tagAlbum/"+t,error:function(){},success:function(i){n.holder.find("#tagAlbumHolder").empty();n.holder.find("#tagAlbumHolder").append(i);n.holder.find("#tagAlbumHolder").dialog({modal:!1,height:520,width:900,close:function(){n.loadImageData(n.currentIndex);n.cropper.destroy();$(this).dialog("destroy")},buttons:{Ok:function(){$.ajax({method:"post",url:n.dataUrl+"/tagAlbum/"+t+"?albumId="+idAlbumSelected+"&actualWidth="+n.cropper.getBounds()[0],contentType:"application/json",data:JSON.stringify(n.cropResult),success:function(){n.loadImageData(n.currentIndex)},error:function(){}});$(this).dialog("close")},Cancel:function(){$(this).dialog("close")}}})}})},discardTagAlbum:function(){this.cropper.destroy()},deleteTag:function(n){var t=$(n).parent().data("id"),i="/api"+this.dataUrl+"/tag/"+t,r=$("#tag-resources");$.confirm({control:r},function(n){n&&$.ajax({method:"delete",url:i,contentType:"application/json",success:function(){$('div[data-id="'+t+'"]').remove()},error:function(){}})})},deleteAlbum:function(n){var t=$(n).parent().data("id"),i=this.dataUrl+"/tagAlbum/"+t,r=$("#album-resources");$.confirm({control:r},function(n){n&&$.ajax({method:"delete",url:i,contentType:"application/json",success:function(){$('div[data-id="'+t+'"]').remove()},error:function(){}})})},showLovers:function(n){var t=$(n).data("id"),i=location.href.indexOf("people")>-1?"photos":"projects";$.ajax({url:$.route(i,t,"lovers"),success:function(n){$("#loversDialog").empty();$("#loversDialog").append(n);$("#loversDialog").dialog({modal:!0,title:$("#loversDialog").data("title"),maxHeight:700,width:600,close:function(){$(this).dialog("destroy");$(this).hide()}});$("#loversDialog").show()}})},runSlideShow:function(){var n=this;$("#run-ss").hasClass("run-ss")?($("#run-ss").removeClass("run-ss").addClass("pause-ss"),location.href.indexOf("contest")==-1&&n.changeState("fullscreen"),n.timerSlideShow=window.setInterval(function(){n.loadNext()},8e3),$(".flag-tag").css("display","none")):($("#run-ss").removeClass("pause-ss").addClass("run-ss"),window.clearInterval(n.timerSlideShow))},DEFAULTS:{next:".next",prev:".prev",love:".loveBtn",title:"h1",subtitle:"h2"}}