// Copyright (c) 2011 by Code Computerlove (http://www.codecomputerlove.com)
// Licensed under the MIT license
// version: 3.0.4

// KCM Edition
(function(a){if(!Function.prototype.bind){Function.prototype.bind=function(e){var f=[].slice,c=f.call(arguments,1),b=this,g=function(){},d=function(){return b.apply(this instanceof g?this:(e||{}),c.concat(f.call(arguments)))};g.prototype=b.prototype;d.prototype=new g();return d}}if(typeof a.Code==="undefined"){a.Code={}}a.Code.Util={registerNamespace:function(){var g=arguments,e=null,f,d,h,c,k,b,l;for(f=0,b=g.length;f<b;f++){h=g[f];c=h.split(".");k=c[0];if(typeof a[k]==="undefined"){a[k]={}}e=a[k];for(d=1,l=c.length;d<l;++d){e[c[d]]=e[c[d]]||{};e=e[c[d]]}}},coalesce:function(){var c,b;for(c=0,b=arguments.length;c<b;c++){if(!this.isNothing(arguments[c])){return arguments[c]}}return null},extend:function(b,c,d){var e;if(this.isNothing(d)){d=true}if(b&&c&&this.isObject(c)){for(e in c){if(this.objectHasProperty(c,e)){if(d){b[e]=c[e]}else{if(typeof b[e]==="undefined"){b[e]=c[e]}}}}}},clone:function(c){var b={};this.extend(b,c);return b},isObject:function(b){return b instanceof Object},isFunction:function(b){return({}).toString.call(b)==="[object Function]"},isArray:function(b){return b instanceof Array},isLikeArray:function(b){return typeof b.length==="number"},isNumber:function(b){return typeof b==="number"},isString:function(b){return typeof b==="string"},isNothing:function(b){if(typeof b==="undefined"||b===null){return true}return false},swapArrayElements:function(b,e,d){var c=b[e];b[e]=b[d];b[d]=c},trim:function(b){return b.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},toCamelCase:function(b){return b.replace(/(\-[a-z])/g,function(c){return c.toUpperCase().replace("-","")})},toDashedCase:function(b){return b.replace(/([A-Z])/g,function(c){return"-"+c.toLowerCase()})},arrayIndexOf:function(f,h,g){var e,d,c,b;c=-1;for(e=0,d=h.length;e<d;e++){b=h[e];if(!this.isNothing(g)){if(this.objectHasProperty(b,g)){if(b[g]===f){c=e;break}}}else{if(b===f){c=e;break}}}return c},objectHasProperty:function(c,b){if(c.hasOwnProperty){return c.hasOwnProperty(b)}else{return("undefined"!==typeof c[b])}}}}(window));(function(a,b){b.Browser={ua:null,version:null,safari:null,webkit:null,opera:null,msie:null,chrome:null,mozilla:null,android:null,blackberry:null,iPad:null,iPhone:null,iPod:null,iOS:null,is3dSupported:null,isCSSTransformSupported:null,isTouchSupported:null,isGestureSupported:null,_detect:function(){this.ua=a.navigator.userAgent;this.version=(this.ua.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[]);this.safari=(/Safari/gi).test(a.navigator.appVersion);this.webkit=/webkit/i.test(this.ua);this.opera=/opera/i.test(this.ua);this.msie=/msie/i.test(this.ua)&&!this.opera;this.chrome=/Chrome/i.test(this.ua);this.firefox=/Firefox/i.test(this.ua);this.fennec=/Fennec/i.test(this.ua);this.mozilla=/mozilla/i.test(this.ua)&&!/(compatible|webkit)/.test(this.ua);this.android=/android/i.test(this.ua);this.blackberry=/blackberry/i.test(this.ua);this.iOS=(/iphone|ipod|ipad/gi).test(a.navigator.platform);this.iPad=(/ipad/gi).test(a.navigator.platform);this.iPhone=(/iphone/gi).test(a.navigator.platform);this.iPod=(/ipod/gi).test(a.navigator.platform);var c=document.createElement("div");this.is3dSupported=!b.isNothing(c.style.WebkitPerspective);this.isCSSTransformSupported=(!b.isNothing(c.style.WebkitTransform)||!b.isNothing(c.style.MozTransform)||!b.isNothing(c.style.OTransform)||!b.isNothing(c.style.transformProperty));this.isTouchSupported=this.isEventSupported("touchstart");this.isGestureSupported=this.isEventSupported("gesturestart")},_eventTagNames:{select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"},isEventSupported:function(c){var e=document.createElement(this._eventTagNames[c]||"div"),d;c="on"+c;d=b.objectHasProperty(e,c);if(!d){e.setAttribute(c,"return;");d=typeof e[c]==="function"}e=null;return d},isLandscape:function(){return(b.DOM.windowWidth()>b.DOM.windowHeight())}};b.Browser._detect()}(window,window.Code.Util));(function(a,b,c){c.extend(c,{Events:{add:function(f,e,d){b(f).bind(e,d)},remove:function(f,e,d){b(f).unbind(e,d)},fire:function(g,e){var f,d=Array.prototype.slice.call(arguments).splice(2);if(typeof e==="string"){f={type:e}}else{f=e}b(g).trigger(b.Event(f.type,f),d)},getMousePosition:function(e){var d={x:e.pageX,y:e.pageY};return d},getTouchEvent:function(d){return d.originalEvent},getWheelDelta:function(d){var e=0;if(!c.isNothing(d.wheelDelta)){e=d.wheelDelta/120}else{if(!c.isNothing(d.detail)){e=-d.detail/3}}return e},domReady:function(d){b(document).ready(d)}}})}(window,window.jQuery,window.Code.Util));(function(a,b,c){c.extend(c,{DOM:{setData:function(g,f,h){if(c.isLikeArray(g)){var e,d;for(e=0,d=g.length;e<d;e++){c.DOM._setData(g[e],f,h)}}else{c.DOM._setData(g,f,h)}},_setData:function(e,d,f){c.DOM.setAttribute(e,"data-"+d,f)},getData:function(f,e,d){return c.DOM.getAttribute(f,"data-"+e,d)},removeData:function(g,f){if(c.isLikeArray(g)){var e,d;for(e=0,d=g.length;e<d;e++){c.DOM._removeData(g[e],f)}}else{c.DOM._removeData(g,f)}},_removeData:function(e,d){c.DOM.removeAttribute(e,"data-"+d)},isChildOf:function(d,e){if(e===d){return false}while(d&&d!==e){d=d.parentNode}return d===e},find:function(h,k){if(c.isNothing(k)){k=a.document}var g=b(h,k),d=[],f,e;for(f=0,e=g.length;f<e;f++){d.push(g[f])}return d},createElement:function(f,e,g){var d=b("<"+f+"></"+f+">");d.attr(e);d.append(g);return d[0]},appendChild:function(d,e){b(e).append(d)},insertBefore:function(f,d,e){b(f).insertBefore(d)},appendText:function(e,d){b(d).text(e)},appendToBody:function(d){b("body").append(d)},removeChild:function(d,e){b(d).empty().remove()},removeChildren:function(d){b(d).empty()},hasAttribute:function(e,d){return !c.isNothing(b(e).attr(d))},getAttribute:function(g,f,e){var d=b(g).attr(f);if(c.isNothing(d)&&!c.isNothing(e)){d=e}return d},setAttribute:function(g,e,h){if(c.isLikeArray(g)){var f,d;for(f=0,d=g.length;f<d;f++){c.DOM._setAttribute(g[f],e,h)}}else{c.DOM._setAttribute(g,e,h)}},_setAttribute:function(e,d,f){b(e).attr(d,f)},removeAttribute:function(g,e){if(c.isLikeArray(g)){var f,d;for(f=0,d=g.length;f<d;f++){c.DOM._removeAttribute(g[f],e)}}else{c.DOM._removeAttribute(g,e)}},_removeAttribute:function(e,d){b(e).removeAttr(d)},addClass:function(g,f){if(c.isLikeArray(g)){var e,d;for(e=0,d=g.length;e<d;e++){c.DOM._addClass(g[e],f)}}else{c.DOM._addClass(g,f)}},_addClass:function(e,d){b(e).addClass(d)},removeClass:function(g,f){if(c.isLikeArray(g)){var e,d;for(e=0,d=g.length;e<d;e++){c.DOM._removeClass(g[e],f)}}else{c.DOM._removeClass(g,f)}},_removeClass:function(e,d){b(e).removeClass(d)},hasClass:function(e,d){b(e).hasClass(d)},setStyle:function(g,f,h){if(c.isLikeArray(g)){var e,d;for(e=0,d=g.length;e<d;e++){c.DOM._setStyle(g[e],f,h)}}else{c.DOM._setStyle(g,f,h)}},_setStyle:function(e,d,f){var g;if(c.isObject(d)){for(g in d){if(c.objectHasProperty(d,g)){if(g==="width"){c.DOM.width(e,d[g])}else{if(g==="height"){c.DOM.height(e,d[g])}else{b(e).css(g,d[g])}}}}}else{b(e).css(d,f)}},getStyle:function(e,d){return b(e).css(d)},hide:function(f){if(c.isLikeArray(f)){var e,d;for(e=0,d=f.length;e<d;e++){c.DOM._hide(f[e])}}else{c.DOM._hide(f)}},_hide:function(d){b(d).hide()},show:function(f){if(c.isLikeArray(f)){var e,d;for(e=0,d=f.length;e<d;e++){c.DOM._show(f[e])}}else{c.DOM._show(f)}},_show:function(d){b(d).show()},width:function(d,e){if(!c.isNothing(e)){b(d).width(e)}return b(d).width()},outerWidth:function(d){return b(d).outerWidth()},height:function(d,e){if(!c.isNothing(e)){b(d).height(e)}return b(d).height()},outerHeight:function(d){return b(d).outerHeight()},documentWidth:function(){return b(document.documentElement).width()},documentHeight:function(){return b(document.documentElement).height()},documentOuterWidth:function(){return c.DOM.width(document.documentElement)},documentOuterHeight:function(){return c.DOM.outerHeight(document.documentElement)},bodyWidth:function(){return b(document.body).width()},bodyHeight:function(){return b(document.body).height()},bodyOuterWidth:function(){return c.DOM.outerWidth(document.body)},bodyOuterHeight:function(){return c.DOM.outerHeight(document.body)},windowWidth:function(){if(!a.innerWidth){return b(a).width()}return a.innerWidth},windowHeight:function(){if(!a.innerHeight){return b(a).height()}return a.innerHeight},windowScrollLeft:function(){if(!a.pageXOffset){return b(a).scrollLeft()}return a.pageXOffset},windowScrollTop:function(){if(!a.pageYOffset){return b(a).scrollTop()}return a.pageYOffset}}})}(window,window.jQuery,window.Code.Util));(function(a,b){b.extend(b,{Animation:{_applyTransitionDelay:50,_transitionEndLabel:(a.document.documentElement.style.webkitTransition!==undefined)?"webkitTransitionEnd":(a.document.documentElement.style.OTransition!==undefined)?"oTransitionEnd":"transitionend",_transitionEndHandler:null,_transitionPrefix:(a.document.documentElement.style.webkitTransition!==undefined)?"webkitTransition":(a.document.documentElement.style.MozTransition!==undefined)?"MozTransition":(a.document.documentElement.style.OTransition!==undefined)?"OTransition":"transition",_transformLabel:(a.document.documentElement.style.webkitTransform!==undefined)?"webkitTransform":(a.document.documentElement.style.MozTransform!==undefined)?"MozTransform":(a.document.documentElement.style.OTransform!==undefined)?"OTransform":"transform",_getTransitionEndHandler:function(){if(b.isNothing(this._transitionEndHandler)){this._transitionEndHandler=this._onTransitionEnd.bind(this)}return this._transitionEndHandler},stop:function(d){if(b.Browser.isCSSTransformSupported){var e=d.style[this._transitionPrefix+"Property"],f=(e!=="")?"ccl"+e+"callback":"cclallcallback",c={};b.Events.remove(d,this._transitionEndLabel,this._getTransitionEndHandler());if(b.isNothing(d.callbackLabel)){delete d.callbackLabel}c[this._transitionPrefix+"Property"]="";c[this._transitionPrefix+"Duration"]="";c[this._transitionPrefix+"TimingFunction"]="";c[this._transitionPrefix+"Delay"]="";c[this._transformLabel]="";b.DOM.setStyle(d,c)}else{if(!b.isNothing(a.jQuery)){a.jQuery(d).stop(true,true)}}},fadeIn:function(e,g,h,f,d){d=b.coalesce(d,1);if(d<=0){d=1}if(g<=0){b.DOM.setStyle(e,"opacity",d);if(!b.isNothing(h)){h(e);return}}var c=b.DOM.getStyle(e,"opacity");if(c>=1){b.DOM.setStyle(e,"opacity",0)}if(b.Browser.isCSSTransformSupported){this._applyTransition(e,"opacity",d,g,h,f)}else{if(!b.isNothing(a.jQuery)){a.jQuery(e).fadeTo(g,d,h)}}},fadeTo:function(d,c,f,g,e){this.fadeIn(d,f,g,e,c)},fadeOut:function(c,e,f,d){if(e<=0){b.DOM.setStyle(c,"opacity",0);if(!b.isNothing(f)){f(c);return}}if(b.Browser.isCSSTransformSupported){this._applyTransition(c,"opacity",0,e,f,d)}else{a.jQuery(c).fadeTo(e,0,f)}},slideBy:function(e,c,i,g,h,f){var d={};c=b.coalesce(c,0);i=b.coalesce(i,0);f=b.coalesce(f,"ease-out");d[this._transitionPrefix+"Property"]="all";d[this._transitionPrefix+"Delay"]="0";if(g===0){d[this._transitionPrefix+"Duration"]="";d[this._transitionPrefix+"TimingFunction"]=""}else{d[this._transitionPrefix+"Duration"]=g+"ms";d[this._transitionPrefix+"TimingFunction"]=b.coalesce(f,"ease-out");b.Events.add(e,this._transitionEndLabel,this._getTransitionEndHandler())}d[this._transformLabel]=(b.Browser.is3dSupported)?"translate3d("+c+"px, "+i+"px, 0px)":"translate("+c+"px, "+i+"px)";if(!b.isNothing(h)){e.cclallcallback=h}b.DOM.setStyle(e,d);if(g===0){a.setTimeout(function(){this._leaveTransforms(e)}.bind(this),this._applyTransitionDelay)}},resetTranslate:function(d){var c={};c[this._transformLabel]=c[this._transformLabel]=(b.Browser.is3dSupported)?"translate3d(0px, 0px, 0px)":"translate(0px, 0px)";b.DOM.setStyle(d,c)},_applyTransition:function(d,g,h,f,i,e){var c={};e=b.coalesce(e,"ease-in");c[this._transitionPrefix+"Property"]=g;c[this._transitionPrefix+"Duration"]=f+"ms";c[this._transitionPrefix+"TimingFunction"]=e;c[this._transitionPrefix+"Delay"]="0";b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler());b.DOM.setStyle(d,c);if(!b.isNothing(i)){d["ccl"+g+"callback"]=i}a.setTimeout(function(){b.DOM.setStyle(d,g,h)},this._applyTransitionDelay)},_onTransitionEnd:function(c){b.Events.remove(c.currentTarget,this._transitionEndLabel,this._getTransitionEndHandler());this._leaveTransforms(c.currentTarget)},_leaveTransforms:function(f){var l=f.style[this._transitionPrefix+"Property"],k=(l!=="")?"ccl"+l+"callback":"cclallcallback",n,g=b.coalesce(f.style.webkitTransform,f.style.MozTransform,f.style.OTransform,f.style.transform),i,m,j=a.parseInt(b.DOM.getStyle(f,"left"),0),h=a.parseInt(b.DOM.getStyle(f,"top"),0),e,d,c={};if(g!==""){if(b.Browser.is3dSupported){i=g.match(/translate3d\((.*?)\)/)}else{i=g.match(/translate\((.*?)\)/)}if(!b.isNothing(i)){m=i[1].split(", ");e=a.parseInt(m[0],0);d=a.parseInt(m[1],0)}}c[this._transitionPrefix+"Property"]="";c[this._transitionPrefix+"Duration"]="";c[this._transitionPrefix+"TimingFunction"]="";c[this._transitionPrefix+"Delay"]="";b.DOM.setStyle(f,c);a.setTimeout(function(){if(!b.isNothing(m)){c={};c[this._transformLabel]="";c.left=(j+e)+"px";c.top=(h+d)+"px";b.DOM.setStyle(f,c)}if(!b.isNothing(f[k])){n=f[k];delete f[k];n(f)}}.bind(this),this._applyTransitionDelay)}}})}(window,window.Code.Util));(function(b,a,c){c.registerNamespace("Code.Util.TouchElement");c.TouchElement.EventTypes={onTouch:"CodeUtilTouchElementOnTouch"};c.TouchElement.ActionTypes={touchStart:"touchStart",touchMove:"touchMove",touchEnd:"touchEnd",touchMoveEnd:"touchMoveEnd",tap:"tap",doubleTap:"doubleTap",swipeLeft:"swipeLeft",swipeRight:"swipeRight",swipeUp:"swipeUp",swipeDown:"swipeDown",gestureStart:"gestureStart",gestureChange:"gestureChange",gestureEnd:"gestureEnd"}}(window,window.klass,window.Code.Util));(function(b,a,c){c.registerNamespace("Code.Util.TouchElement");c.TouchElement.TouchElementClass=a({el:null,captureSettings:null,touchStartPoint:null,touchEndPoint:null,touchStartTime:null,doubleTapTimeout:null,touchStartHandler:null,touchMoveHandler:null,touchEndHandler:null,mouseDownHandler:null,mouseMoveHandler:null,mouseUpHandler:null,mouseOutHandler:null,gestureStartHandler:null,gestureChangeHandler:null,gestureEndHandler:null,swipeThreshold:null,swipeTimeThreshold:null,doubleTapSpeed:null,dispose:function(){var d;this.removeEventHandlers();for(d in this){if(c.objectHasProperty(this,d)){this[d]=null}}},initialize:function(d,e){this.el=d;this.captureSettings={swipe:false,move:false,gesture:false,doubleTap:false,preventDefaultTouchEvents:true};c.extend(this.captureSettings,e);this.swipeThreshold=50;this.swipeTimeThreshold=250;this.doubleTapSpeed=250;this.touchStartPoint={x:0,y:0};this.touchEndPoint={x:0,y:0}},addEventHandlers:function(){if(c.isNothing(this.touchStartHandler)){this.touchStartHandler=this.onTouchStart.bind(this);this.touchMoveHandler=this.onTouchMove.bind(this);this.touchEndHandler=this.onTouchEnd.bind(this);this.mouseDownHandler=this.onMouseDown.bind(this);this.mouseMoveHandler=this.onMouseMove.bind(this);this.mouseUpHandler=this.onMouseUp.bind(this);this.mouseOutHandler=this.onMouseOut.bind(this);this.gestureStartHandler=this.onGestureStart.bind(this);this.gestureChangeHandler=this.onGestureChange.bind(this);this.gestureEndHandler=this.onGestureEnd.bind(this)}c.Events.add(this.el,"touchstart",this.touchStartHandler);if(this.captureSettings.move){c.Events.add(this.el,"touchmove",this.touchMoveHandler)}c.Events.add(this.el,"touchend",this.touchEndHandler);c.Events.add(this.el,"mousedown",this.mouseDownHandler);if(c.Browser.isGestureSupported&&this.captureSettings.gesture){c.Events.add(this.el,"gesturestart",this.gestureStartHandler);c.Events.add(this.el,"gesturechange",this.gestureChangeHandler);c.Events.add(this.el,"gestureend",this.gestureEndHandler)}},removeEventHandlers:function(){c.Events.remove(this.el,"touchstart",this.touchStartHandler);if(this.captureSettings.move){c.Events.remove(this.el,"touchmove",this.touchMoveHandler)}c.Events.remove(this.el,"touchend",this.touchEndHandler);c.Events.remove(this.el,"mousedown",this.mouseDownHandler);if(c.Browser.isGestureSupported&&this.captureSettings.gesture){c.Events.remove(this.el,"gesturestart",this.gestureStartHandler);c.Events.remove(this.el,"gesturechange",this.gestureChangeHandler);c.Events.remove(this.el,"gestureend",this.gestureEndHandler)}},getTouchPoint:function(d){return{x:d[0].pageX,y:d[0].pageY}},fireTouchEvent:function(k){var j,f=0,d=0,l=0,h,g,i;f=this.touchEndPoint.x-this.touchStartPoint.x;d=this.touchEndPoint.y-this.touchStartPoint.y;l=Math.sqrt((f*f)+(d*d));if(this.captureSettings.swipe){g=new Date();i=g-this.touchStartTime;if(i<=this.swipeTimeThreshold){if(b.Math.abs(f)>=this.swipeThreshold){c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:(f<0)?c.TouchElement.ActionTypes.swipeLeft:c.TouchElement.ActionTypes.swipeRight,targetEl:k.target,currentTargetEl:k.currentTarget});return}if(b.Math.abs(d)>=this.swipeThreshold){c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:(d<0)?c.TouchElement.ActionTypes.swipeUp:c.TouchElement.ActionTypes.swipeDown,targetEl:k.target,currentTargetEl:k.currentTarget});return}}}if(l>1){c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMoveEnd,point:this.touchEndPoint,targetEl:k.target,currentTargetEl:k.currentTarget});return}if(!this.captureSettings.doubleTap){c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:c.TouchElement.ActionTypes.tap,targetEl:k.target,currentTargetEl:k.currentTarget});return}if(c.isNothing(this.doubleTapTimeout)){this.doubleTapTimeout=b.setTimeout(function(){this.doubleTapTimeout=null;c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:c.TouchElement.ActionTypes.tap,targetEl:k.target,currentTargetEl:k.currentTarget})}.bind(this),this.doubleTapSpeed);return}else{b.clearTimeout(this.doubleTapTimeout);this.doubleTapTimeout=null;c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:c.TouchElement.ActionTypes.doubleTap,targetEl:k.target,currentTargetEl:k.currentTarget})}},onTouchStart:function(g){if(this.captureSettings.preventDefaultTouchEvents){g.preventDefault()}c.Events.remove(this.el,"mousedown",this.mouseDownHandler);var d=c.Events.getTouchEvent(g),f=d.touches;if(f.length>1&&this.captureSettings.gesture){this.isGesture=true;return}this.touchStartTime=new Date();this.isGesture=false;this.touchStartPoint=this.getTouchPoint(f);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:g.target,currentTargetEl:g.currentTarget})},onTouchMove:function(g){if(this.captureSettings.preventDefaultTouchEvents){g.preventDefault()}if(this.isGesture&&this.captureSettings.gesture){return}var d=c.Events.getTouchEvent(g),f=d.touches;c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:this.getTouchPoint(f),targetEl:g.target,currentTargetEl:g.currentTarget})},onTouchEnd:function(g){if(this.isGesture&&this.captureSettings.gesture){return}if(this.captureSettings.preventDefaultTouchEvents){g.preventDefault()}var d=c.Events.getTouchEvent(g),f=(!c.isNothing(d.changedTouches))?d.changedTouches:d.touches;this.touchEndPoint=this.getTouchPoint(f);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:g.target,currentTargetEl:g.currentTarget});this.fireTouchEvent(g)},onMouseDown:function(d){d.preventDefault();c.Events.remove(this.el,"touchstart",this.mouseDownHandler);c.Events.remove(this.el,"touchmove",this.touchMoveHandler);c.Events.remove(this.el,"touchend",this.touchEndHandler);if(this.captureSettings.move){c.Events.add(this.el,"mousemove",this.mouseMoveHandler)}c.Events.add(this.el,"mouseup",this.mouseUpHandler);c.Events.add(this.el,"mouseout",this.mouseOutHandler);this.touchStartTime=new Date();this.isGesture=false;this.touchStartPoint=c.Events.getMousePosition(d);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:d.target,currentTargetEl:d.currentTarget})},onMouseMove:function(d){d.preventDefault();c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:c.Events.getMousePosition(d),targetEl:d.target,currentTargetEl:d.currentTarget})},onMouseUp:function(d){d.preventDefault();if(this.captureSettings.move){c.Events.remove(this.el,"mousemove",this.mouseMoveHandler)}c.Events.remove(this.el,"mouseup",this.mouseUpHandler);c.Events.remove(this.el,"mouseout",this.mouseOutHandler);this.touchEndPoint=c.Events.getMousePosition(d);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:d.target,currentTargetEl:d.currentTarget});this.fireTouchEvent(d)},onMouseOut:function(f){var d=f.relatedTarget;if(this.el===d||c.DOM.isChildOf(d,this.el)){return}f.preventDefault();if(this.captureSettings.move){c.Events.remove(this.el,"mousemove",this.mouseMoveHandler)}c.Events.remove(this.el,"mouseup",this.mouseUpHandler);c.Events.remove(this.el,"mouseout",this.mouseOutHandler);this.touchEndPoint=c.Events.getMousePosition(f);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:f.target,currentTargetEl:f.currentTarget});this.fireTouchEvent(f)},onGestureStart:function(f){f.preventDefault();var d=c.Events.getTouchEvent(f);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureStart,scale:d.scale,rotation:d.rotation,targetEl:f.target,currentTargetEl:f.currentTarget})},onGestureChange:function(f){f.preventDefault();var d=c.Events.getTouchEvent(f);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureChange,scale:d.scale,rotation:d.rotation,targetEl:f.target,currentTargetEl:f.currentTarget})},onGestureEnd:function(f){f.preventDefault();var d=c.Events.getTouchEvent(f);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureEnd,scale:d.scale,rotation:d.rotation,targetEl:f.target,currentTargetEl:f.currentTarget})}})}(window,window.klass,window.Code.Util));(function(c,a,d){d.registerNamespace("Code.PhotoSwipe.Image");var b=c.Code.PhotoSwipe;b.Image.EventTypes={onLoad:"onLoad",onError:"onError"}}(window,window.klass,window.Code.Util));(function(c,a,d){d.registerNamespace("Code.PhotoSwipe.Image");var b=c.Code.PhotoSwipe;b.Image.ImageClass=a({refObj:null,imageEl:null,src:null,caption:null,metaData:null,imageLoadHandler:null,imageErrorHandler:null,dispose:function(){var f,e;this.shrinkImage();for(f in this){if(d.objectHasProperty(this,f)){this[f]=null}}},initialize:function(g,h,f,e){this.refObj=g;this.originalSrc=h;this.src=h;this.caption=f;this.metaData=e;this.imageEl=new c.Image();this.imageLoadHandler=this.onImageLoad.bind(this);this.imageErrorHandler=this.onImageError.bind(this)},load:function(){this.imageEl.originalSrc=d.coalesce(this.imageEl.originalSrc,"");if(this.imageEl.originalSrc===this.src){if(this.imageEl.isError){d.Events.fire(this,{type:b.Image.EventTypes.onError,target:this})}else{d.Events.fire(this,{type:b.Image.EventTypes.onLoad,target:this})}return}this.imageEl.isError=false;this.imageEl.isLoading=true;this.imageEl.naturalWidth=null;this.imageEl.naturalHeight=null;this.imageEl.isLandscape=false;this.imageEl.onload=this.imageLoadHandler;this.imageEl.onerror=this.imageErrorHandler;this.imageEl.onabort=this.imageErrorHandler;this.imageEl.originalSrc=this.src;this.imageEl.src=this.src},shrinkImage:function(){if(d.isNothing(this.imageEl)){return}if(this.imageEl.src.indexOf(this.src)>-1){this.imageEl.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";if(!d.isNothing(this.imageEl.parentNode)){d.DOM.removeChild(this.imageEl,this.imageEl.parentNode)}}},onImageLoad:function(f){this.imageEl.onload=null;this.imageEl.naturalWidth=d.coalesce(this.imageEl.naturalWidth,this.imageEl.width);this.imageEl.naturalHeight=d.coalesce(this.imageEl.naturalHeight,this.imageEl.height);this.imageEl.isLandscape=(this.imageEl.naturalWidth>this.imageEl.naturalHeight);this.imageEl.isLoading=false;d.Events.fire(this,{type:b.Image.EventTypes.onLoad,target:this})},onImageError:function(f){this.imageEl.onload=null;this.imageEl.onerror=null;this.imageEl.onabort=null;this.imageEl.isLoading=false;this.imageEl.isError=true;d.Events.fire(this,{type:b.Image.EventTypes.onError,target:this})}})}(window,window.klass,window.Code.Util));(function(c,a,d){d.registerNamespace("Code.PhotoSwipe.Cache");var b=c.Code.PhotoSwipe;b.Cache.Mode={normal:"normal",aggressive:"aggressive"};b.Cache.Functions={getImageSource:function(e){return e.href},getImageCaption:function(h){if(h.nodeName==="IMG"){return d.DOM.getAttribute(h,"alt")}var g,f,e;for(g=0,f=h.childNodes.length;g<f;g++){e=h.childNodes[g];if(h.childNodes[g].nodeName==="IMG"){return d.DOM.getAttribute(e,"alt")}}},getImageMetaData:function(e){return{}}}}(window,window.klass,window.Code.Util));(function(c,a,d){d.registerNamespace("Code.PhotoSwipe.Cache");var b=c.Code.PhotoSwipe;b.Cache.CacheClass=a({images:null,settings:null,dispose:function(){var g,f,e;if(!d.isNothing(this.images)){for(f=0,e=this.images.length;f<e;f++){this.images[f].dispose()}this.images.length=0}for(g in this){if(d.objectHasProperty(this,g)){this[g]=null}}},initialize:function(m,o){var k,h,l,g,e,n,f;this.settings=o;this.images=[];for(k=0,h=m.length;k<h;k++){g=m[k];e=this.settings.getImageSource(g);n=this.settings.getImageCaption(g);f=this.settings.getImageMetaData(g);this.images.push(new b.Image.ImageClass(g,e,n,f))}},getImages:function(h){var k,g,f=[],e;for(k=0,g=h.length;k<g;k++){e=this.images[h[k]];if(this.settings.cacheMode===b.Cache.Mode.aggressive){e.cacheDoNotShrink=true}f.push(e)}if(this.settings.cacheMode===b.Cache.Mode.aggressive){for(k=0,g=this.images.length;k<g;k++){e=this.images[k];if(!d.objectHasProperty(e,"cacheDoNotShrink")){e.shrinkImage()}else{delete e.cacheDoNotShrink}}}return f}})}(window,window.klass,window.Code.Util,window.Code.PhotoSwipe.Image));(function(c,a,d){d.registerNamespace("Code.PhotoSwipe.DocumentOverlay");var b=c.Code.PhotoSwipe;b.DocumentOverlay.CssClasses={documentOverlay:"ps-document-overlay"}}(window,window.klass,window.Code.Util));(function(c,a,d){d.registerNamespace("Code.PhotoSwipe.DocumentOverlay");var b=c.Code.PhotoSwipe;b.DocumentOverlay.DocumentOverlayClass=a({el:null,settings:null,initialBodyHeight:null,dispose:function(){var e;d.Animation.stop(this.el);d.DOM.removeChild(this.el,this.el.parentNode);for(e in this){if(d.objectHasProperty(this,e)){this[e]=null}}},initialize:function(e){this.settings=e;this.el=d.DOM.createElement("div",{"class":b.DocumentOverlay.CssClasses.documentOverlay},"");d.DOM.setStyle(this.el,{display:"block",position:"absolute",left:0,top:0,zIndex:this.settings.zIndex});d.DOM.hide(this.el);if(this.settings.target===c){d.DOM.appendToBody(this.el)}else{d.DOM.appendChild(this.el,this.settings.target)}d.Animation.resetTranslate(this.el);this.initialBodyHeight=d.DOM.bodyOuterHeight()},resetPosition:function(){var f,e,g;if(this.settings.target===c){f=d.DOM.windowWidth();e=d.DOM.bodyOuterHeight()*2;g=(this.settings.jQueryMobile)?d.DOM.windowScrollTop()+"px":"0px";if(e<1){e=this.initialBodyHeight}if(d.DOM.windowHeight()>e){e=d.DOM.windowHeight()}}else{f=d.DOM.width(this.settings.target);e=d.DOM.height(this.settings.target);g="0px"}d.DOM.setStyle(this.el,{width:f,height:e,top:g})},fadeIn:function(e,f){this.resetPosition();d.DOM.setStyle(this.el,"opacity",0);d.DOM.show(this.el);d.Animation.fadeIn(this.el,e,f)}})}(window,window.klass,window.Code.Util));(function(c,a,d){d.registerNamespace("Code.PhotoSwipe.Carousel");var b=c.Code.PhotoSwipe;b.Carousel.EventTypes={onSlideByEnd:"PhotoSwipeCarouselOnSlideByEnd",onSlideshowStart:"PhotoSwipeCarouselOnSlideshowStart",onSlideshowStop:"PhotoSwipeCarouselOnSlideshowStop"};b.Carousel.CssClasses={carousel:"ps-carousel",content:"ps-carousel-content",item:"ps-carousel-item",itemLoading:"ps-carousel-item-loading",itemError:"ps-carousel-item-error"};b.Carousel.SlideByAction={previous:"previous",current:"current",next:"next"}}(window,window.klass,window.Code.Util));(function(c,a,d){d.registerNamespace("Code.PhotoSwipe.Carousel");var b=c.Code.PhotoSwipe;b.Carousel.CarouselClass=a({el:null,contentEl:null,settings:null,cache:null,slideByEndHandler:null,currentCacheIndex:null,isSliding:null,isSlideshowActive:null,lastSlideByAction:null,touchStartPoint:null,touchStartPosition:null,imageLoadHandler:null,imageErrorHandler:null,slideshowTimeout:null,dispose:function(){var g,f,e;for(f=0,e=this.cache.images.length;f<e;f++){d.Events.remove(this.cache.images[f],b.Image.EventTypes.onLoad,this.imageLoadHandler);d.Events.remove(this.cache.images[f],b.Image.EventTypes.onError,this.imageErrorHandler)}this.stopSlideshow();d.Animation.stop(this.el);d.DOM.removeChild(this.el,this.el.parentNode);for(g in this){if(d.objectHasProperty(this,g)){this[g]=null}}},initialize:function(e,f){var h,j,g;this.cache=e;this.settings=f;this.slideByEndHandler=this.onSlideByEnd.bind(this);this.imageLoadHandler=this.onImageLoad.bind(this);this.imageErrorHandler=this.onImageError.bind(this);this.currentCacheIndex=0;this.isSliding=false;this.isSlideshowActive=false;if(this.cache.images.length<3){this.settings.loop=false}this.el=d.DOM.createElement("div",{"class":b.Carousel.CssClasses.carousel},"");d.DOM.setStyle(this.el,{display:"block",position:"absolute",left:0,top:0,overflow:"hidden",zIndex:this.settings.zIndex});d.DOM.hide(this.el);this.contentEl=d.DOM.createElement("div",{"class":b.Carousel.CssClasses.content},"");d.DOM.setStyle(this.contentEl,{display:"block",position:"absolute",left:0,top:0});d.DOM.appendChild(this.contentEl,this.el);j=(e.images.length<3)?e.images.length:3;for(h=0;h<j;h++){g=d.DOM.createElement("div",{"class":b.Carousel.CssClasses.item+" "+b.Carousel.CssClasses.item+"-"+h},"");d.DOM.setAttribute(g,"style","float: left;");d.DOM.setStyle(g,{display:"block",position:"relative",left:0,top:0,overflow:"hidden"});if(this.settings.margin>0){d.DOM.setStyle(g,{marginRight:this.settings.margin+"px"})}d.DOM.appendChild(g,this.contentEl)}if(this.settings.target===c){d.DOM.appendToBody(this.el)}else{d.DOM.appendChild(this.el,this.settings.target)}},resetPosition:function(){var f,p,n,l,m,e,k,h,o,g;if(this.settings.target===c){f=d.DOM.windowWidth();p=d.DOM.windowHeight();n=d.DOM.windowScrollTop()+"px"}else{f=d.DOM.width(this.settings.target);p=d.DOM.height(this.settings.target);n="0px"}l=(this.settings.margin>0)?f+this.settings.margin:f;m=d.DOM.find("."+b.Carousel.CssClasses.item,this.contentEl);e=l*m.length;d.DOM.setStyle(this.el,{top:n,width:f,height:p});d.DOM.setStyle(this.contentEl,{width:e,height:p});for(k=0,h=m.length;k<h;k++){o=m[k];d.DOM.setStyle(o,{width:f,height:p});g=d.DOM.find("img",o)[0];if(!d.isNothing(g)){this.resetImagePosition(g)}}this.setContentLeftPosition()},resetImagePosition:function(g){if(d.isNothing(g)){return}var e=d.DOM.getAttribute(g,"src"),h,i,f,j,k,m=d.DOM.width(this.el),l=d.DOM.height(this.el);if(this.settings.imageScaleMethod==="fitNoUpscale"){i=g.naturalWidth;f=g.naturalHeight;if(i>m){h=m/i;i=Math.round(i*h);f=Math.round(f*h)}if(f>l){h=l/f;f=Math.round(f*h);i=Math.round(i*h)}}else{if(g.isLandscape){h=m/g.naturalWidth}else{h=l/g.naturalHeight}i=Math.round(g.naturalWidth*h);f=Math.round(g.naturalHeight*h);if(this.settings.imageScaleMethod==="zoom"){h=1;if(f<l){h=l/f}else{if(i<m){h=m/i}}if(h!==1){i=Math.round(i*h);f=Math.round(f*h)}}else{if(this.settings.imageScaleMethod==="fit"){h=1;if(i>m){h=m/i}else{if(f>l){h=l/f}}if(h!==1){i=Math.round(i*h);f=Math.round(f*h)}}}}j=Math.round(((l-f)/2))+"px";k=Math.round(((m-i)/2))+"px";d.DOM.setStyle(g,{position:"absolute",width:i,height:f,top:j,left:k,display:"block"})},setContentLeftPosition:function(){var e,g,f;if(this.settings.target===c){e=d.DOM.windowWidth()}else{e=d.DOM.width(this.settings.target)}g=this.getItemEls();f=0;if(this.settings.loop){f=(e+this.settings.margin)*-1}else{if(this.currentCacheIndex===this.cache.images.length-1){f=((g.length-1)*(e+this.settings.margin))*-1}else{if(this.currentCacheIndex>0){f=(e+this.settings.margin)*-1}}}d.DOM.setStyle(this.contentEl,{left:f+"px"})},show:function(f){this.currentCacheIndex=f;this.resetPosition();this.setImages(false);d.DOM.show(this.el);d.Animation.resetTranslate(this.contentEl);var h=this.getItemEls(),g,e;for(g=0,e=h.length;g<e;g++){d.Animation.resetTranslate(h[g])}d.Events.fire(this,{type:b.Carousel.EventTypes.onSlideByEnd,target:this,action:b.Carousel.SlideByAction.current,cacheIndex:this.currentCacheIndex})},setImages:function(f){var g,i=this.getItemEls(),e=this.currentCacheIndex+1,h=this.currentCacheIndex-1;if(this.settings.loop){if(e>this.cache.images.length-1){e=0}if(h<0){h=this.cache.images.length-1}g=this.cache.getImages([h,this.currentCacheIndex,e]);if(!f){this.addCacheImageToItemEl(g[1],i[1])}this.addCacheImageToItemEl(g[2],i[2]);this.addCacheImageToItemEl(g[0],i[0])}else{if(i.length===1){if(!f){g=this.cache.getImages([this.currentCacheIndex]);this.addCacheImageToItemEl(g[0],i[0])}}else{if(i.length===2){if(this.currentCacheIndex===0){g=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1]);if(!f){this.addCacheImageToItemEl(g[0],i[0])}this.addCacheImageToItemEl(g[1],i[1])}else{g=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex]);if(!f){this.addCacheImageToItemEl(g[1],i[1])}this.addCacheImageToItemEl(g[0],i[0])}}else{if(this.currentCacheIndex===0){g=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1,this.currentCacheIndex+2]);if(!f){this.addCacheImageToItemEl(g[0],i[0])}this.addCacheImageToItemEl(g[1],i[1]);this.addCacheImageToItemEl(g[2],i[2])}else{if(this.currentCacheIndex===this.cache.images.length-1){g=this.cache.getImages([this.currentCacheIndex-2,this.currentCacheIndex-1,this.currentCacheIndex]);if(!f){this.addCacheImageToItemEl(g[2],i[2])}this.addCacheImageToItemEl(g[1],i[1]);this.addCacheImageToItemEl(g[0],i[0])}else{g=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex,this.currentCacheIndex+1]);if(!f){this.addCacheImageToItemEl(g[1],i[1])}this.addCacheImageToItemEl(g[2],i[2]);this.addCacheImageToItemEl(g[0],i[0])}}}}}},addCacheImageToItemEl:function(e,f){d.DOM.removeClass(f,b.Carousel.CssClasses.itemError);d.DOM.addClass(f,b.Carousel.CssClasses.itemLoading);d.DOM.removeChildren(f);d.DOM.setStyle(e.imageEl,{display:"none"});d.DOM.appendChild(e.imageEl,f);d.Animation.resetTranslate(e.imageEl);d.Events.add(e,b.Image.EventTypes.onLoad,this.imageLoadHandler);d.Events.add(e,b.Image.EventTypes.onError,this.imageErrorHandler);e.load()},slideCarousel:function(e,j,i){if(this.isSliding){return}var h,g,f;if(this.settings.target===c){h=d.DOM.windowWidth()+this.settings.margin}else{h=d.DOM.width(this.settings.target)+this.settings.margin}i=d.coalesce(i,this.settings.slideSpeed);if(c.Math.abs(g)<1){return}switch(j){case d.TouchElement.ActionTypes.swipeLeft:f=h*-1;break;case d.TouchElement.ActionTypes.swipeRight:f=h;break;default:g=e.x-this.touchStartPoint.x;if(c.Math.abs(g)>h/2){f=(g>0)?h:h*-1}else{f=0}break}if(f<0){this.lastSlideByAction=b.Carousel.SlideByAction.next}else{if(f>0){this.lastSlideByAction=b.Carousel.SlideByAction.previous}else{this.lastSlideByAction=b.Carousel.SlideByAction.current}}if(!this.settings.loop){if((this.lastSlideByAction===b.Carousel.SlideByAction.previous&&this.currentCacheIndex===0)||(this.lastSlideByAction===b.Carousel.SlideByAction.next&&this.currentCacheIndex===this.cache.images.length-1)){f=0;this.lastSlideByAction=b.Carousel.SlideByAction.current}}this.isSliding=true;this.doSlideCarousel(f,i)},moveCarousel:function(e){if(this.isSliding){return}if(!this.settings.enableDrag){return}this.doMoveCarousel(e.x-this.touchStartPoint.x)},getItemEls:function(){return d.DOM.find("."+b.Carousel.CssClasses.item,this.contentEl)},previous:function(){this.stopSlideshow();this.slideCarousel({x:0,y:0},d.TouchElement.ActionTypes.swipeRight,this.settings.nextPreviousSlideSpeed)},next:function(){this.stopSlideshow();this.slideCarousel({x:0,y:0},d.TouchElement.ActionTypes.swipeLeft,this.settings.nextPreviousSlideSpeed)},slideshowNext:function(){this.slideCarousel({x:0,y:0},d.TouchElement.ActionTypes.swipeLeft)},startSlideshow:function(){this.stopSlideshow();this.isSlideshowActive=true;this.slideshowTimeout=c.setTimeout(this.slideshowNext.bind(this),this.settings.slideshowDelay);d.Events.fire(this,{type:b.Carousel.EventTypes.onSlideshowStart,target:this})},stopSlideshow:function(){if(!d.isNothing(this.slideshowTimeout)){c.clearTimeout(this.slideshowTimeout);this.slideshowTimeout=null;this.isSlideshowActive=false;d.Events.fire(this,{type:b.Carousel.EventTypes.onSlideshowStop,target:this})}},onSlideByEnd:function(f){if(d.isNothing(this.isSliding)){return}var g=this.getItemEls();this.isSliding=false;if(this.lastSlideByAction===b.Carousel.SlideByAction.next){this.currentCacheIndex=this.currentCacheIndex+1}else{if(this.lastSlideByAction===b.Carousel.SlideByAction.previous){this.currentCacheIndex=this.currentCacheIndex-1}}if(this.settings.loop){if(this.lastSlideByAction===b.Carousel.SlideByAction.next){d.DOM.appendChild(g[0],this.contentEl)}else{if(this.lastSlideByAction===b.Carousel.SlideByAction.previous){d.DOM.insertBefore(g[g.length-1],g[0],this.contentEl)}}if(this.currentCacheIndex<0){this.currentCacheIndex=this.cache.images.length-1}else{if(this.currentCacheIndex===this.cache.images.length){this.currentCacheIndex=0}}}else{if(this.cache.images.length>3){if(this.currentCacheIndex>1&&this.currentCacheIndex<this.cache.images.length-2){if(this.lastSlideByAction===b.Carousel.SlideByAction.next){d.DOM.appendChild(g[0],this.contentEl)}else{if(this.lastSlideByAction===b.Carousel.SlideByAction.previous){d.DOM.insertBefore(g[g.length-1],g[0],this.contentEl)}}}else{if(this.currentCacheIndex===1){if(this.lastSlideByAction===b.Carousel.SlideByAction.previous){d.DOM.insertBefore(g[g.length-1],g[0],this.contentEl)}}else{if(this.currentCacheIndex===this.cache.images.length-2){if(this.lastSlideByAction===b.Carousel.SlideByAction.next){d.DOM.appendChild(g[0],this.contentEl)}}}}}}if(this.lastSlideByAction!==b.Carousel.SlideByAction.current){this.setContentLeftPosition();this.setImages(true)}d.Events.fire(this,{type:b.Carousel.EventTypes.onSlideByEnd,target:this,action:this.lastSlideByAction,cacheIndex:this.currentCacheIndex});if(this.isSlideshowActive){if(this.lastSlideByAction!==b.Carousel.SlideByAction.current){this.startSlideshow()}else{this.stopSlideshow()}}},onTouch:function(f,e){this.stopSlideshow();switch(f){case d.TouchElement.ActionTypes.touchStart:this.touchStartPoint=e;this.touchStartPosition={x:c.parseInt(d.DOM.getStyle(this.contentEl,"left"),0),y:c.parseInt(d.DOM.getStyle(this.contentEl,"top"),0)};break;case d.TouchElement.ActionTypes.touchMove:this.moveCarousel(e);break;case d.TouchElement.ActionTypes.touchMoveEnd:case d.TouchElement.ActionTypes.swipeLeft:case d.TouchElement.ActionTypes.swipeRight:this.slideCarousel(e,f);break;case d.TouchElement.ActionTypes.tap:break;case d.TouchElement.ActionTypes.doubleTap:break}},onImageLoad:function(g){var f=g.target;if(!d.isNothing(f.imageEl.parentNode)){d.DOM.removeClass(f.imageEl.parentNode,b.Carousel.CssClasses.itemLoading);this.resetImagePosition(f.imageEl)}d.Events.remove(f,b.Image.EventTypes.onLoad,this.imageLoadHandler);d.Events.remove(f,b.Image.EventTypes.onError,this.imageErrorHandler)},onImageError:function(g){var f=g.target;if(!d.isNothing(f.imageEl.parentNode)){d.DOM.removeClass(f.imageEl.parentNode,b.Carousel.CssClasses.itemLoading);d.DOM.addClass(f.imageEl.parentNode,b.Carousel.CssClasses.itemError)}d.Events.remove(f,b.Image.EventTypes.onLoad,this.imageLoadHandler);d.Events.remove(f,b.Image.EventTypes.onError,this.imageErrorHandler)}})}(window,window.klass,window.Code.Util));(function(d,a,e,b){e.registerNamespace("Code.PhotoSwipe.Carousel");var c=d.Code.PhotoSwipe;c.Carousel.CarouselClass=c.Carousel.CarouselClass.extend({getStartingPos:function(){var f=this.touchStartPosition;if(e.isNothing(f)){f={x:d.parseInt(e.DOM.getStyle(this.contentEl,"left"),0),y:d.parseInt(e.DOM.getStyle(this.contentEl,"top"),0)}}return f},doMoveCarousel:function(g){var f;if(e.Browser.isCSSTransformSupported){f={};f[e.Animation._transitionPrefix+"Property"]="all";f[e.Animation._transitionPrefix+"Duration"]="";f[e.Animation._transitionPrefix+"TimingFunction"]="";f[e.Animation._transitionPrefix+"Delay"]="0";f[e.Animation._transformLabel]=(e.Browser.is3dSupported)?"translate3d("+g+"px, 0px, 0px)":"translate("+g+"px, 0px)";e.DOM.setStyle(this.contentEl,f)}else{if(!e.isNothing(d.jQuery)){d.jQuery(this.contentEl).stop().css("left",this.getStartingPos().x+g+"px")}}},doSlideCarousel:function(i,h){var f,g;if(h<=0){this.slideByEndHandler();return}if(e.Browser.isCSSTransformSupported){g=e.coalesce(this.contentEl.style.webkitTransform,this.contentEl.style.MozTransform,this.contentEl.style.OTransform,this.contentEl.style.transform,"");if(g.indexOf("translate3d("+i)===0){this.slideByEndHandler();return}else{if(g.indexOf("translate("+i)===0){this.slideByEndHandler();return}}e.Animation.slideBy(this.contentEl,i,0,h,this.slideByEndHandler,this.settings.slideTimingFunction)}else{if(!e.isNothing(d.jQuery)){f={left:this.getStartingPos().x+i+"px"};if(this.settings.animationTimingFunction==="ease-out"){this.settings.animationTimingFunction="easeOutQuad"}if(e.isNothing(d.jQuery.easing[this.settings.animationTimingFunction])){this.settings.animationTimingFunction="linear"}d.jQuery(this.contentEl).animate(f,this.settings.slideSpeed,this.settings.animationTimingFunction,this.slideByEndHandler)}}}})}(window,window.klass,window.Code.Util,window.Code.PhotoSwipe.TouchElement));(function(c,a,d){d.registerNamespace("Code.PhotoSwipe.Toolbar");var b=c.Code.PhotoSwipe;b.Toolbar.CssClasses={toolbar:"ps-toolbar",toolbarContent:"ps-toolbar-content",toolbarTop:"ps-toolbar-top",caption:"ps-caption",captionBottom:"ps-caption-bottom",captionContent:"ps-caption-content",close:"ps-toolbar-close",play:"ps-toolbar-play",previous:"ps-toolbar-previous",previousDisabled:"ps-toolbar-previous-disabled",next:"ps-toolbar-next",nextDisabled:"ps-toolbar-next-disabled"};b.Toolbar.ToolbarAction={close:"close",play:"play",next:"next",previous:"previous",none:"none"};b.Toolbar.EventTypes={onTap:"PhotoSwipeToolbarOnClick",onBeforeShow:"PhotoSwipeToolbarOnBeforeShow",onShow:"PhotoSwipeToolbarOnShow",onBeforeHide:"PhotoSwipeToolbarOnBeforeHide",onHide:"PhotoSwipeToolbarOnHide"};b.Toolbar.getToolbar=function(){return'<div class="'+b.Toolbar.CssClasses.close+'"><div class="'+b.Toolbar.CssClasses.toolbarContent+'"></div></div><div class="'+b.Toolbar.CssClasses.play+'"><div class="'+b.Toolbar.CssClasses.toolbarContent+'"></div></div><div class="'+b.Toolbar.CssClasses.previous+'"><div class="'+b.Toolbar.CssClasses.toolbarContent+'"></div></div><div class="'+b.Toolbar.CssClasses.next+'"><div class="'+b.Toolbar.CssClasses.toolbarContent+'"></div></div>'}}(window,window.klass,window.Code.Util));(function(c,a,d){d.registerNamespace("Code.PhotoSwipe.Toolbar");var b=c.Code.PhotoSwipe;b.Toolbar.ToolbarClass=a({toolbarEl:null,closeEl:null,playEl:null,previousEl:null,nextEl:null,captionEl:null,captionContentEl:null,currentCaption:null,settings:null,cache:null,timeout:null,isVisible:null,fadeOutHandler:null,touchStartHandler:null,touchMoveHandler:null,clickHandler:null,dispose:function(){var e;this.clearTimeout();this.removeEventHandlers();d.Animation.stop(this.toolbarEl);d.Animation.stop(this.captionEl);d.DOM.removeChild(this.toolbarEl,this.toolbarEl.parentNode);d.DOM.removeChild(this.captionEl,this.captionEl.parentNode);for(e in this){if(d.objectHasProperty(this,e)){this[e]=null}}},initialize:function(f,g){var e;this.settings=g;this.cache=f;this.isVisible=false;this.fadeOutHandler=this.onFadeOut.bind(this);this.touchStartHandler=this.onTouchStart.bind(this);this.touchMoveHandler=this.onTouchMove.bind(this);this.clickHandler=this.onClick.bind(this);e=b.Toolbar.CssClasses.toolbar;if(this.settings.captionAndToolbarFlipPosition){e=e+" "+b.Toolbar.CssClasses.toolbarTop}this.toolbarEl=d.DOM.createElement("div",{"class":e},this.settings.getToolbar());d.DOM.setStyle(this.toolbarEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex});if(this.settings.target===c){d.DOM.appendToBody(this.toolbarEl)}else{d.DOM.appendChild(this.toolbarEl,this.settings.target)}d.DOM.hide(this.toolbarEl);this.closeEl=d.DOM.find("."+b.Toolbar.CssClasses.close,this.toolbarEl)[0];if(this.settings.preventHide&&!d.isNothing(this.closeEl)){d.DOM.hide(this.closeEl)}this.playEl=d.DOM.find("."+b.Toolbar.CssClasses.play,this.toolbarEl)[0];if(this.settings.preventSlideshow&&!d.isNothing(this.playEl)){d.DOM.hide(this.playEl)}this.nextEl=d.DOM.find("."+b.Toolbar.CssClasses.next,this.toolbarEl)[0];this.previousEl=d.DOM.find("."+b.Toolbar.CssClasses.previous,this.toolbarEl)[0];e=b.Toolbar.CssClasses.caption;if(this.settings.captionAndToolbarFlipPosition){e=e+" "+b.Toolbar.CssClasses.captionBottom}this.captionEl=d.DOM.createElement("div",{"class":e},"");d.DOM.setStyle(this.captionEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex});if(this.settings.target===c){d.DOM.appendToBody(this.captionEl)}else{d.DOM.appendChild(this.captionEl,this.settings.target)}d.DOM.hide(this.captionEl);this.captionContentEl=d.DOM.createElement("div",{"class":b.Toolbar.CssClasses.captionContent},"");d.DOM.appendChild(this.captionContentEl,this.captionEl);this.addEventHandlers()},resetPosition:function(){var f,e,g;if(this.settings.target===c){if(this.settings.captionAndToolbarFlipPosition){e=d.DOM.windowScrollTop();g=(d.DOM.windowScrollTop()+d.DOM.windowHeight())-d.DOM.height(this.captionEl)}else{e=(d.DOM.windowScrollTop()+d.DOM.windowHeight())-d.DOM.height(this.toolbarEl);g=d.DOM.windowScrollTop()}f=d.DOM.windowWidth()}else{if(this.settings.captionAndToolbarFlipPosition){e="0";g=d.DOM.height(this.settings.target)-d.DOM.height(this.captionEl)}else{e=d.DOM.height(this.settings.target)-d.DOM.height(this.toolbarEl);g=0}f=d.DOM.width(this.settings.target)}d.DOM.setStyle(this.toolbarEl,{top:e+"px",width:f});d.DOM.setStyle(this.captionEl,{top:g+"px",width:f})},toggleVisibility:function(e){if(this.isVisible){this.fadeOut()}else{this.show(e)}},show:function(e){d.Animation.stop(this.toolbarEl);d.Animation.stop(this.captionEl);this.resetPosition();this.setToolbarStatus(e);d.Events.fire(this,{type:b.Toolbar.EventTypes.onBeforeShow,target:this});this.showToolbar();this.setCaption(e);this.showCaption();this.isVisible=true;this.setTimeout();d.Events.fire(this,{type:b.Toolbar.EventTypes.onShow,target:this})},setTimeout:function(){if(this.settings.captionAndToolbarAutoHideDelay>0){this.clearTimeout();this.timeout=c.setTimeout(this.fadeOut.bind(this),this.settings.captionAndToolbarAutoHideDelay)}},clearTimeout:function(){if(!d.isNothing(this.timeout)){c.clearTimeout(this.timeout);this.timeout=null}},fadeOut:function(){this.clearTimeout();d.Events.fire(this,{type:b.Toolbar.EventTypes.onBeforeHide,target:this});d.Animation.fadeOut(this.toolbarEl,this.settings.fadeOutSpeed);d.Animation.fadeOut(this.captionEl,this.settings.fadeOutSpeed,this.fadeOutHandler);this.isVisible=false},addEventHandlers:function(){if(d.Browser.isTouchSupported){if(!d.Browser.blackberry){d.Events.add(this.toolbarEl,"touchstart",this.touchStartHandler)}d.Events.add(this.toolbarEl,"touchmove",this.touchMoveHandler);d.Events.add(this.captionEl,"touchmove",this.touchMoveHandler)}d.Events.add(this.toolbarEl,"click",this.clickHandler)},removeEventHandlers:function(){if(d.Browser.isTouchSupported){if(!d.Browser.blackberry){d.Events.remove(this.toolbarEl,"touchstart",this.touchStartHandler)}d.Events.remove(this.toolbarEl,"touchmove",this.touchMoveHandler);d.Events.remove(this.captionEl,"touchmove",this.touchMoveHandler)}d.Events.remove(this.toolbarEl,"click",this.clickHandler)},handleTap:function(g){this.clearTimeout();var f;if(g.target===this.nextEl||d.DOM.isChildOf(g.target,this.nextEl)){f=b.Toolbar.ToolbarAction.next}else{if(g.target===this.previousEl||d.DOM.isChildOf(g.target,this.previousEl)){f=b.Toolbar.ToolbarAction.previous}else{if(g.target===this.closeEl||d.DOM.isChildOf(g.target,this.closeEl)){f=b.Toolbar.ToolbarAction.close}else{if(g.target===this.playEl||d.DOM.isChildOf(g.target,this.playEl)){f=b.Toolbar.ToolbarAction.play}}}}this.setTimeout();if(d.isNothing(f)){f=b.Toolbar.ToolbarAction.none}d.Events.fire(this,{type:b.Toolbar.EventTypes.onTap,target:this,action:f,tapTarget:g.target})},setCaption:function(e){d.DOM.removeChildren(this.captionContentEl);this.currentCaption=d.coalesce(this.cache.images[e].caption,"\u00A0");if(d.isObject(this.currentCaption)){d.DOM.appendChild(this.currentCaption,this.captionContentEl)}else{if(this.currentCaption===""){this.currentCaption="\u00A0"}d.DOM.appendText(this.currentCaption,this.captionContentEl)}this.currentCaption=(this.currentCaption==="\u00A0")?"":this.currentCaption;this.resetPosition()},showToolbar:function(){d.DOM.setStyle(this.toolbarEl,{opacity:this.settings.captionAndToolbarOpacity});d.DOM.show(this.toolbarEl)},showCaption:function(){if(this.currentCaption===""||this.captionContentEl.childNodes.length<1){if(!this.settings.captionAndToolbarShowEmptyCaptions){d.DOM.hide(this.captionEl);return}}d.DOM.setStyle(this.captionEl,{opacity:this.settings.captionAndToolbarOpacity});d.DOM.show(this.captionEl)},setToolbarStatus:function(e){if(this.settings.loop){return}d.DOM.removeClass(this.previousEl,b.Toolbar.CssClasses.previousDisabled);d.DOM.removeClass(this.nextEl,b.Toolbar.CssClasses.nextDisabled);if(e>0&&e<this.cache.images.length-1){return}if(e===0){if(!d.isNothing(this.previousEl)){d.DOM.addClass(this.previousEl,b.Toolbar.CssClasses.previousDisabled)}}if(e===this.cache.images.length-1){if(!d.isNothing(this.nextEl)){d.DOM.addClass(this.nextEl,b.Toolbar.CssClasses.nextDisabled)}}},onFadeOut:function(){d.DOM.hide(this.toolbarEl);d.DOM.hide(this.captionEl);d.Events.fire(this,{type:b.Toolbar.EventTypes.onHide,target:this})},onTouchStart:function(f){f.preventDefault();d.Events.remove(this.toolbarEl,"click",this.clickHandler);this.handleTap(f)},onTouchMove:function(f){f.preventDefault()},onClick:function(f){f.preventDefault();this.handleTap(f)}})}(window,window.klass,window.Code.Util));(function(c,a,d){d.registerNamespace("Code.PhotoSwipe.UILayer");var b=c.Code.PhotoSwipe;b.UILayer.CssClasses={uiLayer:"ps-uilayer"}}(window,window.klass,window.Code.Util));(function(c,a,d){d.registerNamespace("Code.PhotoSwipe.UILayer");var b=c.Code.PhotoSwipe;b.UILayer.UILayerClass=d.TouchElement.TouchElementClass.extend({el:null,settings:null,dispose:function(){var e;this.removeEventHandlers();d.DOM.removeChild(this.el,this.el.parentNode);for(e in this){if(d.objectHasProperty(this,e)){this[e]=null}}},initialize:function(e){this.settings=e;this.el=d.DOM.createElement("div",{"class":b.UILayer.CssClasses.uiLayer},"");d.DOM.setStyle(this.el,{display:"block",position:"absolute",left:0,top:0,overflow:"hidden",zIndex:this.settings.zIndex,opacity:0});d.DOM.hide(this.el);if(this.settings.target===c){d.DOM.appendToBody(this.el)}else{d.DOM.appendChild(this.el,this.settings.target)}this.supr(this.el,{swipe:true,move:true,gesture:d.Browser.iOS,doubleTap:true,preventDefaultTouchEvents:this.settings.preventDefaultTouchEvents})},resetPosition:function(){if(this.settings.target===c){d.DOM.setStyle(this.el,{top:d.DOM.windowScrollTop()+"px",width:d.DOM.windowWidth(),height:d.DOM.windowHeight()})}else{d.DOM.setStyle(this.el,{top:"0px",width:d.DOM.width(this.settings.target),height:d.DOM.height(this.settings.target)})}},show:function(){this.resetPosition();d.DOM.show(this.el);this.addEventHandlers()},addEventHandlers:function(){this.supr()},removeEventHandlers:function(){this.supr()}})}(window,window.klass,window.Code.Util));(function(c,a,d){d.registerNamespace("Code.PhotoSwipe.ZoomPanRotate");var b=c.Code.PhotoSwipe;b.ZoomPanRotate.CssClasses={zoomPanRotate:"ps-zoom-pan-rotate"};b.ZoomPanRotate.EventTypes={onTransform:"PhotoSwipeZoomPanRotateOnTransform"}}(window,window.klass,window.Code.Util));(function(c,a,d){d.registerNamespace("Code.PhotoSwipe.ZoomPanRotate");var b=c.Code.PhotoSwipe;b.ZoomPanRotate.ZoomPanRotateClass=a({el:null,settings:null,containerEl:null,imageEl:null,transformSettings:null,panStartingPoint:null,transformEl:null,dispose:function(){var e;d.DOM.removeChild(this.el,this.el.parentNode);for(e in this){if(d.objectHasProperty(this,e)){this[e]=null}}},initialize:function(g,f,j){var i,h,e,k;this.settings=g;if(this.settings.target===c){i=document.body;h=d.DOM.windowWidth();e=d.DOM.windowHeight();k=d.DOM.windowScrollTop()+"px"}else{i=this.settings.target;h=d.DOM.width(i);e=d.DOM.height(i);k="0px"}this.imageEl=f.imageEl.cloneNode(false);d.DOM.setStyle(this.imageEl,{zIndex:1});this.transformSettings={startingScale:1,scale:1,startingRotation:0,rotation:0,startingTranslateX:0,startingTranslateY:0,translateX:0,translateY:0};this.el=d.DOM.createElement("div",{"class":b.ZoomPanRotate.CssClasses.zoomPanRotate},"");d.DOM.setStyle(this.el,{left:0,top:k,position:"absolute",width:h,height:e,zIndex:this.settings.zIndex,display:"block"});d.DOM.insertBefore(this.el,j.el,i);if(d.Browser.iOS){this.containerEl=d.DOM.createElement("div");d.DOM.setStyle(this.containerEl,{left:0,top:0,width:h,height:e,position:"absolute",zIndex:1});d.DOM.appendChild(this.imageEl,this.containerEl);d.DOM.appendChild(this.containerEl,this.el);d.Animation.resetTranslate(this.containerEl);d.Animation.resetTranslate(this.imageEl);this.transformEl=this.containerEl}else{d.DOM.appendChild(this.imageEl,this.el);this.transformEl=this.imageEl}},setStartingTranslateFromCurrentTransform:function(){var e=d.coalesce(this.transformEl.style.webkitTransform,this.transformEl.style.MozTransform,this.transformEl.style.OTransform,this.transformEl.style.transform),f;if(!d.isNothing(e)){f=e.match(/translate\((.*?)\)/);if(!d.isNothing(f)){f=f[1].split(", ");this.transformSettings.startingTranslateX=c.parseInt(f[0],10);this.transformSettings.startingTranslateY=c.parseInt(f[1],10)}}},getScale:function(f){var e=this.transformSettings.startingScale*f;if(this.settings.minUserZoom!==0&&e<this.settings.minUserZoom){e=this.settings.minUserZoom}else{if(this.settings.maxUserZoom!==0&&e>this.settings.maxUserZoom){e=this.settings.maxUserZoom}}return e},setStartingScaleAndRotation:function(f,e){this.transformSettings.startingScale=this.getScale(f);this.transformSettings.startingRotation=(this.transformSettings.startingRotation+e)%360},zoomRotate:function(f,e){this.transformSettings.scale=this.getScale(f);this.transformSettings.rotation=this.transformSettings.startingRotation+e;this.applyTransform()},panStart:function(e){this.setStartingTranslateFromCurrentTransform();this.panStartingPoint={x:e.x,y:e.y}},pan:function(e){var g=e.x-this.panStartingPoint.x,f=e.y-this.panStartingPoint.y,h=g/this.transformSettings.scale,i=f/this.transformSettings.scale;this.transformSettings.translateX=this.transformSettings.startingTranslateX+h;this.transformSettings.translateY=this.transformSettings.startingTranslateY+i;this.applyTransform()},zoomAndPanToPoint:function(j,e){if(this.settings.target===c){this.panStart({x:d.DOM.windowWidth()/2,y:d.DOM.windowHeight()/2});var g=e.x-this.panStartingPoint.x,f=e.y-this.panStartingPoint.y,h=g/this.transformSettings.scale,i=f/this.transformSettings.scale;this.transformSettings.translateX=(this.transformSettings.startingTranslateX+h)*-1;this.transformSettings.translateY=(this.transformSettings.startingTranslateY+i)*-1}this.setStartingScaleAndRotation(j,0);this.transformSettings.scale=this.transformSettings.startingScale;this.transformSettings.rotation=0;this.applyTransform()},zoomAndPanScale:function(e){this.setStartingScaleAndRotation(e,0);this.transformSettings.scale=this.transformSettings.startingScale;this.transformSettings.rotation=0;this.applyTransform()},applyTransform:function(){var h=this.transformSettings.rotation%360,g=c.parseInt(this.transformSettings.translateX,10),f=c.parseInt(this.transformSettings.translateY,10),e="scale("+this.transformSettings.scale+") rotate("+h+"deg) translate("+g+"px, "+f+"px)";d.DOM.setStyle(this.transformEl,{webkitTransform:e,MozTransform:e,msTransform:e,OTransform:e,transform:e});d.Events.fire(this,{target:this,type:b.ZoomPanRotate.EventTypes.onTransform,scale:this.transformSettings.scale,rotation:this.transformSettings.rotation,rotationDegs:h,translateX:g,translateY:f})}})}(window,window.klass,window.Code.Util));(function(b,c){c.registerNamespace("Code.PhotoSwipe");var a=b.Code.PhotoSwipe;a.CssClasses={buildingBody:"ps-building",activeBody:"ps-active"};a.EventTypes={onBeforeShow:"PhotoSwipeOnBeforeShow",onShow:"PhotoSwipeOnShow",onBeforeHide:"PhotoSwipeOnBeforeHide",onHide:"PhotoSwipeOnHide",onDisplayImage:"PhotoSwipeOnDisplayImage",onResetPosition:"PhotoSwipeOnResetPosition",onSlideshowStart:"PhotoSwipeOnSlideshowStart",onSlideshowStop:"PhotoSwipeOnSlideshowStop",onTouch:"PhotoSwipeOnTouch",onBeforeCaptionAndToolbarShow:"PhotoSwipeOnBeforeCaptionAndToolbarShow",onCaptionAndToolbarShow:"PhotoSwipeOnCaptionAndToolbarShow",onBeforeCaptionAndToolbarHide:"PhotoSwipeOnBeforeCaptionAndToolbarHide",onCaptionAndToolbarHide:"PhotoSwipeOnCaptionAndToolbarHide",onToolbarTap:"PhotoSwipeOnToolbarTap",onBeforeZoomPanRotateShow:"PhotoSwipeOnBeforeZoomPanRotateShow",onZoomPanRotateShow:"PhotoSwipeOnZoomPanRotateShow",onBeforeZoomPanRotateHide:"PhotoSwipeOnBeforeZoomPanRotateHide",onZoomPanRotateHide:"PhotoSwipeOnZoomPanRotateHide",onZoomPanRotateTransform:"PhotoSwipeOnZoomPanRotateTransform"};a.instances=[];a.activeInstances=[];a.setActivateInstance=function(d){var e=c.arrayIndexOf(d.settings.target,a.activeInstances,"target");if(e>-1){throw"Code.PhotoSwipe.activateInstance: Unable to active instance as another instance is already active for this target"}a.activeInstances.push({target:d.settings.target,instance:d})};a.unsetActivateInstance=function(d){var e=c.arrayIndexOf(d,a.activeInstances,"instance");a.activeInstances.splice(e,1)};a.attach=function(e,g,l){var h,f,d,k;d=a.createInstance(e,g,l);for(h=0,f=e.length;h<f;h++){k=e[h];if(!c.isNothing(k.nodeType)){if(k.nodeType===1){k.__photoSwipeClickHandler=a.onTriggerElementClick.bind(d);c.Events.remove(k,"click",k.__photoSwipeClickHandler);c.Events.add(k,"click",k.__photoSwipeClickHandler)}}}return d};if(b.jQuery){b.jQuery.fn.photoSwipe=function(d,e){return a.attach(this,d,e)}}a.detatch=function(d){var f,e,g;for(f=0,e=d.originalImages.length;f<e;f++){g=d.originalImages[f];if(!c.isNothing(g.nodeType)){if(g.nodeType===1){c.Events.remove(g,"click",g.__photoSwipeClickHandler);delete g.__photoSwipeClickHandler}}}a.disposeInstance(d)};a.createInstance=function(e,f,j){var g,d,h;if(c.isNothing(e)){throw"Code.PhotoSwipe.attach: No images passed."}if(!c.isLikeArray(e)){throw"Code.PhotoSwipe.createInstance: Images must be an array of elements or image urls."}if(e.length<1){throw"Code.PhotoSwipe.createInstance: No images to passed."}f=c.coalesce(f,{});d=a.getInstance(j);if(c.isNothing(d)){d=new a.PhotoSwipeClass(e,f,j);a.instances.push(d)}else{throw'Code.PhotoSwipe.createInstance: Instance with id "'+j+' already exists."'}return d};a.disposeInstance=function(d){var e=a.getInstanceIndex(d);if(e<0){throw"Code.PhotoSwipe.disposeInstance: Unable to find instance to dispose."}d.dispose();a.instances.splice(e,1);d=null};a.onTriggerElementClick=function(f){f.preventDefault();var d=this;d.show(f.currentTarget)};a.getInstance=function(g){var f,e,d;for(f=0,e=a.instances.length;f<e;f++){d=a.instances[f];if(d.id===g){return d}}return null};a.getInstanceIndex=function(d){var g,f,e=-1;for(g=0,f=a.instances.length;g<f;g++){if(a.instances[g]===d){e=g;break}}return e}}(window,window.Code.Util));(function(e,f,h,i,d,g,c,j,b){h.registerNamespace("Code.PhotoSwipe");var a=e.Code.PhotoSwipe;a.PhotoSwipeClass=f({id:null,settings:null,isBackEventSupported:null,backButtonClicked:null,currentIndex:null,originalImages:null,mouseWheelStartTime:null,windowDimensions:null,cache:null,documentOverlay:null,carousel:null,uiLayer:null,toolbar:null,zoomPanRotate:null,windowOrientationChangeHandler:null,windowScrollHandler:null,windowHashChangeHandler:null,keyDownHandler:null,windowOrientationEventName:null,uiLayerTouchHandler:null,carouselSlideByEndHandler:null,carouselSlideshowStartHandler:null,carouselSlideshowStopHandler:null,toolbarTapHandler:null,toolbarBeforeShowHandler:null,toolbarShowHandler:null,toolbarBeforeHideHandler:null,toolbarHideHandler:null,mouseWheelHandler:null,zoomPanRotateTransformHandler:null,_isResettingPosition:null,_uiWebViewResetPositionTimeout:null,dispose:function(){var k;h.Events.remove(this,a.EventTypes.onBeforeShow);h.Events.remove(this,a.EventTypes.onShow);h.Events.remove(this,a.EventTypes.onBeforeHide);h.Events.remove(this,a.EventTypes.onHide);h.Events.remove(this,a.EventTypes.onDisplayImage);h.Events.remove(this,a.EventTypes.onResetPosition);h.Events.remove(this,a.EventTypes.onSlideshowStart);h.Events.remove(this,a.EventTypes.onSlideshowStop);h.Events.remove(this,a.EventTypes.onTouch);h.Events.remove(this,a.EventTypes.onBeforeCaptionAndToolbarShow);h.Events.remove(this,a.EventTypes.onCaptionAndToolbarShow);h.Events.remove(this,a.EventTypes.onBeforeCaptionAndToolbarHide);h.Events.remove(this,a.EventTypes.onCaptionAndToolbarHide);h.Events.remove(this,a.EventTypes.onZoomPanRotateTransform);this.removeEventHandlers();if(!h.isNothing(this.documentOverlay)){this.documentOverlay.dispose()}if(!h.isNothing(this.carousel)){this.carousel.dispose()}if(!h.isNothing(this.uiLayer)){this.uiLayer.dispose()}if(!h.isNothing(this.toolbar)){this.toolbar.dispose()}this.destroyZoomPanRotate();if(!h.isNothing(this.cache)){this.cache.dispose()}for(k in this){if(h.objectHasProperty(this,k)){this[k]=null}}},initialize:function(k,l,n){var m;if(h.isNothing(n)){this.id="PhotoSwipe"+new Date().getTime().toString()}else{this.id=n}this.originalImages=k;if(h.Browser.android){if(e.navigator.userAgent.match(/Android (\d+.\d+)/).toString().replace(/^.*\,/,"")>=2.1){this.isBackEventSupported=true}}if(!this.isBackEventSupported){this.isBackEventSupported=h.objectHasProperty(e,"onhashchange")}this.settings={fadeInSpeed:250,fadeOutSpeed:250,preventHide:false,preventSlideshow:false,zIndex:1000,backButtonHideEnabled:true,enableKeyboard:true,keyboardZoomScaleStepSize:0.2,enableMouseWheel:true,mouseWheelSpeed:0,mouseWheelZoomScaleStepSize:0.1,autoStartSlideshow:false,jQueryMobile:(!h.isNothing(e.jQuery)&&!h.isNothing(e.jQuery.mobile)),jQueryMobileDialogHash:"&ui-state=dialog",enableUIWebViewRepositionTimeout:false,uiWebViewResetPositionDelay:500,target:e,preventDefaultTouchEvents:true,loop:true,slideSpeed:250,nextPreviousSlideSpeed:0,enableDrag:true,swipeThreshold:50,swipeTimeThreshold:250,slideTimingFunction:"ease-out",slideshowDelay:3000,doubleTapSpeed:250,margin:20,imageScaleMethod:"fit",captionAndToolbarHide:false,captionAndToolbarFlipPosition:false,captionAndToolbarAutoHideDelay:5000,captionAndToolbarOpacity:0.8,captionAndToolbarShowEmptyCaptions:true,getToolbar:a.Toolbar.getToolbar,allowUserZoom:true,allowRotationOnUserZoom:false,maxUserZoom:5,minUserZoom:0.5,doubleTapZoomLevel:2.5,doubleTapZoomNaturalSize:false,doubleTapZoomWindowSize:false,getImageSource:a.Cache.Functions.getImageSource,getImageCaption:a.Cache.Functions.getImageCaption,getImageMetaData:a.Cache.Functions.getImageMetaData,cacheMode:a.Cache.Mode.normal};h.extend(this.settings,l);if(this.settings.target!==e){m=h.DOM.getStyle(this.settings.target,"position");if(m!=="relative"||m!=="absolute"){h.DOM.setStyle(this.settings.target,"position","relative")}}if(this.settings.target!==e){this.isBackEventSupported=false;this.settings.backButtonHideEnabled=false}else{if(this.settings.preventHide){this.settings.backButtonHideEnabled=false}}this.cache=new i.CacheClass(k,this.settings)},show:function(m){var l,k;this._isResettingPosition=false;this.backButtonClicked=false;if(h.isNumber(m)){this.currentIndex=m}else{this.currentIndex=-1;for(l=0,k=this.originalImages.length;l<k;l++){if(this.originalImages[l]===m){this.currentIndex=l;break}}}if(this.currentIndex<0||this.currentIndex>this.originalImages.length-1){throw"Code.PhotoSwipe.PhotoSwipeClass.show: Starting index out of range"}this.isAlreadyGettingPage=this.getWindowDimensions();a.setActivateInstance(this);this.windowDimensions=this.getWindowDimensions();if(this.settings.target===e){h.DOM.addClass(e.document.body,a.CssClasses.buildingBody)}else{h.DOM.addClass(this.settings.target,a.CssClasses.buildingBody)}this.createComponents();h.Events.fire(this,{type:a.EventTypes.onBeforeShow,target:this});this.documentOverlay.fadeIn(this.settings.fadeInSpeed,this.onDocumentOverlayFadeIn.bind(this))},getWindowDimensions:function(){return{width:h.DOM.windowWidth(),height:h.DOM.windowHeight()}},createComponents:function(){this.documentOverlay=new d.DocumentOverlayClass(this.settings);this.carousel=new g.CarouselClass(this.cache,this.settings);this.uiLayer=new j.UILayerClass(this.settings);if(!this.settings.captionAndToolbarHide){this.toolbar=new c.ToolbarClass(this.cache,this.settings)}},resetPosition:function(){if(this._isResettingPosition){return}var k=this.getWindowDimensions();if(!h.isNothing(this.windowDimensions)){if(k.width===this.windowDimensions.width&&k.height===this.windowDimensions.height){return}}this._isResettingPosition=true;this.windowDimensions=k;this.destroyZoomPanRotate();this.documentOverlay.resetPosition();this.carousel.resetPosition();if(!h.isNothing(this.toolbar)){this.toolbar.resetPosition()}this.uiLayer.resetPosition();this._isResettingPosition=false;h.Events.fire(this,{type:a.EventTypes.onResetPosition,target:this})},addEventHandler:function(l,k){h.Events.add(this,l,k)},addEventHandlers:function(){if(h.isNothing(this.windowOrientationChangeHandler)){this.windowOrientationChangeHandler=this.onWindowOrientationChange.bind(this);this.windowScrollHandler=this.onWindowScroll.bind(this);this.keyDownHandler=this.onKeyDown.bind(this);this.windowHashChangeHandler=this.onWindowHashChange.bind(this);this.uiLayerTouchHandler=this.onUILayerTouch.bind(this);this.carouselSlideByEndHandler=this.onCarouselSlideByEnd.bind(this);this.carouselSlideshowStartHandler=this.onCarouselSlideshowStart.bind(this);this.carouselSlideshowStopHandler=this.onCarouselSlideshowStop.bind(this);this.toolbarTapHandler=this.onToolbarTap.bind(this);this.toolbarBeforeShowHandler=this.onToolbarBeforeShow.bind(this);this.toolbarShowHandler=this.onToolbarShow.bind(this);this.toolbarBeforeHideHandler=this.onToolbarBeforeHide.bind(this);this.toolbarHideHandler=this.onToolbarHide.bind(this);this.mouseWheelHandler=this.onMouseWheel.bind(this);this.zoomPanRotateTransformHandler=this.onZoomPanRotateTransform.bind(this)}if(h.Browser.android){this.orientationEventName="resize"}else{if(h.Browser.iOS&&(!h.Browser.safari)){h.Events.add(e.document.body,"orientationchange",this.windowOrientationChangeHandler)}else{var k=!h.isNothing(e.onorientationchange);this.orientationEventName=k?"orientationchange":"resize"}}if(!h.isNothing(this.orientationEventName)){h.Events.add(e,this.orientationEventName,this.windowOrientationChangeHandler)}if(this.settings.target===e){h.Events.add(e,"scroll",this.windowScrollHandler)}if(this.settings.enableKeyboard){h.Events.add(e.document,"keydown",this.keyDownHandler)}if(this.isBackEventSupported&&this.settings.backButtonHideEnabled){this.windowHashChangeHandler=this.onWindowHashChange.bind(this);if(this.settings.jQueryMobile){e.location.hash=this.settings.jQueryMobileDialogHash}else{this.currentHistoryHashValue="PhotoSwipe"+new Date().getTime().toString();e.location.hash=this.currentHistoryHashValue}h.Events.add(e,"hashchange",this.windowHashChangeHandler)}if(this.settings.enableMouseWheel){h.Events.add(e,"mousewheel",this.mouseWheelHandler);h.Events.add(e,"DOMMouseScroll",this.mouseWheelHandler)}h.Events.add(this.uiLayer,h.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler);h.Events.add(this.carousel,g.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler);h.Events.add(this.carousel,g.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler);h.Events.add(this.carousel,g.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler);if(!h.isNothing(this.toolbar)){h.Events.add(this.toolbar,c.EventTypes.onTap,this.toolbarTapHandler);h.Events.add(this.toolbar,c.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler);h.Events.add(this.toolbar,c.EventTypes.onShow,this.toolbarShowHandler);h.Events.add(this.toolbar,c.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler);h.Events.add(this.toolbar,c.EventTypes.onHide,this.toolbarHideHandler)}},removeEventHandlers:function(){if(h.Browser.iOS&&(!h.Browser.safari)){h.Events.remove(e.document.body,"orientationchange",this.windowOrientationChangeHandler)}if(!h.isNothing(this.orientationEventName)){h.Events.remove(e,this.orientationEventName,this.windowOrientationChangeHandler)}h.Events.remove(e,"scroll",this.windowScrollHandler);if(this.settings.enableKeyboard){h.Events.remove(e.document,"keydown",this.keyDownHandler)}if(this.isBackEventSupported&&this.settings.backButtonHideEnabled){h.Events.remove(e,"hashchange",this.windowHashChangeHandler)}if(this.settings.enableMouseWheel){h.Events.remove(e,"mousewheel",this.mouseWheelHandler);h.Events.remove(e,"DOMMouseScroll",this.mouseWheelHandler)}if(!h.isNothing(this.uiLayer)){h.Events.remove(this.uiLayer,h.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler)}if(!h.isNothing(this.toolbar)){h.Events.remove(this.carousel,g.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler);h.Events.remove(this.carousel,g.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler);h.Events.remove(this.carousel,g.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler)}if(!h.isNothing(this.toolbar)){h.Events.remove(this.toolbar,c.EventTypes.onTap,this.toolbarTapHandler);h.Events.remove(this.toolbar,c.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler);h.Events.remove(this.toolbar,c.EventTypes.onShow,this.toolbarShowHandler);h.Events.remove(this.toolbar,c.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler);h.Events.remove(this.toolbar,c.EventTypes.onHide,this.toolbarHideHandler)}},hide:function(){if(this.settings.preventHide){return}if(h.isNothing(this.documentOverlay)){throw"Code.PhotoSwipe.PhotoSwipeClass.hide: PhotoSwipe instance is already hidden"}if(!h.isNothing(this.hiding)){return}this.clearUIWebViewResetPositionTimeout();this.destroyZoomPanRotate();this.removeEventHandlers();h.Events.fire(this,{type:a.EventTypes.onBeforeHide,target:this});this.uiLayer.dispose();this.uiLayer=null;if(!h.isNothing(this.toolbar)){this.toolbar.dispose();this.toolbar=null}this.carousel.dispose();this.carousel=null;h.DOM.removeClass(e.document.body,a.CssClasses.activeBody);this.documentOverlay.dispose();this.documentOverlay=null;this._isResettingPosition=false;a.unsetActivateInstance(this);h.Events.fire(this,{type:a.EventTypes.onHide,target:this});this.goBackInHistory()},goBackInHistory:function(){if(this.isBackEventSupported&&this.settings.backButtonHideEnabled){if(!this.backButtonClicked){e.history.back()}}},play:function(){if(this.isZoomActive()){return}if(!this.settings.preventSlideshow){if(!h.isNothing(this.carousel)){if(!h.isNothing(this.toolbar)&&this.toolbar.isVisible){this.toolbar.fadeOut()}this.carousel.startSlideshow()}}},stop:function(){if(this.isZoomActive()){return}if(!h.isNothing(this.carousel)){this.carousel.stopSlideshow()}},previous:function(){if(this.isZoomActive()){return}if(!h.isNothing(this.carousel)){this.carousel.previous()}},next:function(){if(this.isZoomActive()){return}if(!h.isNothing(this.carousel)){this.carousel.next()}},toggleToolbar:function(){if(this.isZoomActive()){return}if(!h.isNothing(this.toolbar)){this.toolbar.toggleVisibility(this.currentIndex)}},fadeOutToolbarIfVisible:function(){if(!h.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.settings.captionAndToolbarAutoHideDelay>0){this.toolbar.fadeOut()}},createZoomPanRotate:function(){this.stop();if(this.canUserZoom()&&!this.isZoomActive()){h.Events.fire(this,a.EventTypes.onBeforeZoomPanRotateShow);this.zoomPanRotate=new b.ZoomPanRotateClass(this.settings,this.cache.images[this.currentIndex],this.uiLayer);this.uiLayer.captureSettings.preventDefaultTouchEvents=true;h.Events.add(this.zoomPanRotate,a.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler);h.Events.fire(this,a.EventTypes.onZoomPanRotateShow);if(!h.isNothing(this.toolbar)&&this.toolbar.isVisible){this.toolbar.fadeOut()}}},destroyZoomPanRotate:function(){if(!h.isNothing(this.zoomPanRotate)){h.Events.fire(this,a.EventTypes.onBeforeZoomPanRotateHide);h.Events.remove(this.zoomPanRotate,a.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler);this.zoomPanRotate.dispose();this.zoomPanRotate=null;this.uiLayer.captureSettings.preventDefaultTouchEvents=this.settings.preventDefaultTouchEvents;h.Events.fire(this,a.EventTypes.onZoomPanRotateHide)}},canUserZoom:function(){var l,k;if(h.Browser.msie){l=document.createElement("div");if(h.isNothing(l.style.msTransform)){return false}}else{if(!h.Browser.isCSSTransformSupported){return false}}if(!this.settings.allowUserZoom){return false}if(this.carousel.isSliding){return false}k=this.cache.images[this.currentIndex];if(h.isNothing(k)){return false}if(k.isLoading){return false}return true},isZoomActive:function(){return(!h.isNothing(this.zoomPanRotate))},getCurrentImage:function(){return this.cache.images[this.currentIndex]},onDocumentOverlayFadeIn:function(k){e.setTimeout(function(){var l=(this.settings.target===e)?e.document.body:this.settings.target;h.DOM.removeClass(l,a.CssClasses.buildingBody);h.DOM.addClass(l,a.CssClasses.activeBody);this.addEventHandlers();this.carousel.show(this.currentIndex);this.uiLayer.show();if(this.settings.autoStartSlideshow){this.play()}else{if(!h.isNothing(this.toolbar)){this.toolbar.show(this.currentIndex)}}h.Events.fire(this,{type:a.EventTypes.onShow,target:this});this.setUIWebViewResetPositionTimeout()}.bind(this),250)},setUIWebViewResetPositionTimeout:function(){if(!this.settings.enableUIWebViewRepositionTimeout){return}if(!(h.Browser.iOS&&(!h.Browser.safari))){return}if(!h.isNothing(this._uiWebViewResetPositionTimeout)){e.clearTimeout(this._uiWebViewResetPositionTimeout)}this._uiWebViewResetPositionTimeout=e.setTimeout(function(){this.resetPosition();this.setUIWebViewResetPositionTimeout()}.bind(this),this.settings.uiWebViewResetPositionDelay)},clearUIWebViewResetPositionTimeout:function(){if(!h.isNothing(this._uiWebViewResetPositionTimeout)){e.clearTimeout(this._uiWebViewResetPositionTimeout)}},onWindowScroll:function(k){this.resetPosition()},onWindowOrientationChange:function(k){this.resetPosition()},onWindowHashChange:function(k){var l="#"+((this.settings.jQueryMobile)?this.settings.jQueryMobileDialogHash:this.currentHistoryHashValue);if(e.location.hash!==l){this.backButtonClicked=true;this.hide()}},onKeyDown:function(k){if(k.keyCode===37){k.preventDefault();this.previous()}else{if(k.keyCode===39){k.preventDefault();this.next()}else{if(k.keyCode===38){k.preventDefault();this.createZoomPanRotate();if(this.isZoomActive()){this.zoomPanRotate.zoomAndPanScale(1+this.settings.keyboardZoomScaleStepSize)}}else{if(k.keyCode===40){k.preventDefault();this.createZoomPanRotate();if(this.isZoomActive()){this.zoomPanRotate.zoomAndPanScale(1-this.settings.keyboardZoomScaleStepSize)}}else{if(k.keyCode===27){k.preventDefault();this.hide()}else{if(k.keyCode===32){if(!this.settings.hideToolbar){this.toggleToolbar()}else{this.hide()}k.preventDefault()}else{if(k.keyCode===13){k.preventDefault();this.play()}}}}}}}},onUILayerTouch:function(p){if(this.isZoomActive()){switch(p.action){case h.TouchElement.ActionTypes.gestureChange:this.zoomPanRotate.zoomRotate(p.scale,(this.settings.allowRotationOnUserZoom)?p.rotation:0);break;case h.TouchElement.ActionTypes.gestureEnd:this.zoomPanRotate.setStartingScaleAndRotation(p.scale,(this.settings.allowRotationOnUserZoom)?p.rotation:0);break;case h.TouchElement.ActionTypes.touchStart:this.zoomPanRotate.panStart(p.point);break;case h.TouchElement.ActionTypes.touchMove:this.zoomPanRotate.pan(p.point);break;case h.TouchElement.ActionTypes.doubleTap:this.destroyZoomPanRotate();this.toggleToolbar();break;case h.TouchElement.ActionTypes.swipeLeft:this.destroyZoomPanRotate();this.next();this.toggleToolbar();break;case h.TouchElement.ActionTypes.swipeRight:this.destroyZoomPanRotate();this.previous();this.toggleToolbar();break}}else{switch(p.action){case h.TouchElement.ActionTypes.touchMove:case h.TouchElement.ActionTypes.swipeLeft:case h.TouchElement.ActionTypes.swipeRight:this.fadeOutToolbarIfVisible();this.carousel.onTouch(p.action,p.point);break;case h.TouchElement.ActionTypes.touchStart:case h.TouchElement.ActionTypes.touchMoveEnd:this.carousel.onTouch(p.action,p.point);break;case h.TouchElement.ActionTypes.tap:this.toggleToolbar();break;case h.TouchElement.ActionTypes.doubleTap:if(this.settings.target===e){p.point.x-=h.DOM.windowScrollLeft();p.point.y-=h.DOM.windowScrollTop()}var n=this.cache.images[this.currentIndex].imageEl,o=e.parseInt(h.DOM.getStyle(n,"top"),10),k=e.parseInt(h.DOM.getStyle(n,"left"),10),l=k+h.DOM.width(n),m=o+h.DOM.height(n);if(p.point.x<k){p.point.x=k}else{if(p.point.x>l){p.point.x=l}}if(p.point.y<o){p.point.y=o}else{if(p.point.y>m){p.point.y=m}}this.createZoomPanRotate();if(this.isZoomActive()){if(this.settings.doubleTapZoomNaturalSize&&!this.settings.doubleTapZoomWindowSize){this.zoomPanRotate.zoomAndPanToPoint(n.naturalWidth/e.parseInt(h.DOM.getStyle(n,"width"),10),p.point)}else{if(this.settings.doubleTapZoomWindowSize&&!this.settings.doubleTapZoomNaturalSize){if((h.DOM.windowWidth()/n.naturalWidth)<(h.DOM.windowHeight()/n.naturalHeight)){this.zoomPanRotate.zoomAndPanScale(h.DOM.windowWidth()/n.naturalWidth)}else{this.zoomPanRotate.zoomAndPanScale(h.DOM.windowHeight()/n.naturalHeight)}}else{if(this.settings.doubleTapZoomNaturalSize&&this.settings.doubleTapZoomWindowSize){if((n.naturalWidth/e.parseInt(h.DOM.getStyle(n,"width"),10)).toFixed(2)>1){this.zoomPanRotate.zoomAndPanToPoint(n.naturalWidth/e.parseInt(h.DOM.getStyle(n,"width"),10),p.point)}else{if(n.naturalWidth<h.DOM.windowWidth()&&n.naturalHeight<h.DOM.windowHeight()){if((h.DOM.windowWidth()/n.naturalWidth)<(h.DOM.windowHeight()/n.naturalHeight)){this.zoomPanRotate.zoomAndPanScale(h.DOM.windowWidth()/n.naturalWidth)}else{this.zoomPanRotate.zoomAndPanScale(h.DOM.windowHeight()/n.naturalHeight)}}else{this.zoomPanRotate.zoomAndPanToPoint(this.settings.doubleTapZoomLevel,p.point)}}}else{this.zoomPanRotate.zoomAndPanToPoint(this.settings.doubleTapZoomLevel,p.point)}}}}break;case h.TouchElement.ActionTypes.gestureStart:this.createZoomPanRotate();break}}h.Events.fire(this,{type:a.EventTypes.onTouch,target:this,point:p.point,action:p.action})},onCarouselSlideByEnd:function(k){this.currentIndex=k.cacheIndex;if(!h.isNothing(this.toolbar)){this.toolbar.setCaption(this.currentIndex);this.toolbar.setToolbarStatus(this.currentIndex)}h.Events.fire(this,{type:a.EventTypes.onDisplayImage,target:this,action:k.action,index:k.cacheIndex})},onToolbarTap:function(k){switch(k.action){case c.ToolbarAction.next:this.next();break;case c.ToolbarAction.previous:this.previous();break;case c.ToolbarAction.close:this.hide();break;case c.ToolbarAction.play:this.play();break}h.Events.fire(this,{type:a.EventTypes.onToolbarTap,target:this,toolbarAction:k.action,tapTarget:k.tapTarget})},onMouseWheel:function(l){var m=h.Events.getWheelDelta(l),k=l.timeStamp-(this.mouseWheelStartTime||0);if(k<this.settings.mouseWheelSpeed){return}this.mouseWheelStartTime=l.timeStamp;if(this.settings.invertMouseWheel){m=m*-1}if(m<0){this.createZoomPanRotate();if(this.isZoomActive()){this.zoomPanRotate.zoomAndPanScale(1-this.settings.mouseWheelZoomScaleStepSize)}}else{if(m>0){this.createZoomPanRotate();if(this.isZoomActive()){this.zoomPanRotate.zoomAndPanScale(1+this.settings.mouseWheelZoomScaleStepSize)}}}},onCarouselSlideshowStart:function(k){h.Events.fire(this,{type:a.EventTypes.onSlideshowStart,target:this})},onCarouselSlideshowStop:function(k){h.Events.fire(this,{type:a.EventTypes.onSlideshowStop,target:this})},onToolbarBeforeShow:function(k){h.Events.fire(this,{type:a.EventTypes.onBeforeCaptionAndToolbarShow,target:this})},onToolbarShow:function(k){h.Events.fire(this,{type:a.EventTypes.onCaptionAndToolbarShow,target:this})},onToolbarBeforeHide:function(k){h.Events.fire(this,{type:a.EventTypes.onBeforeCaptionAndToolbarHide,target:this})},onToolbarHide:function(k){h.Events.fire(this,{type:a.EventTypes.onCaptionAndToolbarHide,target:this})},onZoomPanRotateTransform:function(k){h.Events.fire(this,{target:this,type:a.EventTypes.onZoomPanRotateTransform,scale:k.scale,rotation:k.rotation,rotationDegs:k.rotationDegs,translateX:k.translateX,translateY:k.translateY})}})}(window,window.klass,window.Code.Util,window.Code.PhotoSwipe.Cache,window.Code.PhotoSwipe.DocumentOverlay,window.Code.PhotoSwipe.Carousel,window.Code.PhotoSwipe.Toolbar,window.Code.PhotoSwipe.UILayer,window.Code.PhotoSwipe.ZoomPanRotate));
