diff --git a/app/app.desktop.optimized.js b/app/app.desktop.optimized.js index 818221f..0f98b33 100644 --- a/app/app.desktop.optimized.js +++ b/app/app.desktop.optimized.js @@ -26,4 +26,4 @@ * iScroll v4.2 ~ Copyright (c) 2012 Matteo Spinelli, http://cubiq.org * Released under MIT license, http://cubiq.org/license */ -!function(a,b){function c(a,b){function c(){}c[i]=this[i];var e=this,f=new c,g=j(a),h=g?a:this,k=g?{}:a,l=function(){this.initialize?this.initialize.apply(this,arguments):(b||g&&e.apply(this,arguments),h.apply(this,arguments))};return l.methods=function(a){return d(f,a,e),l[i]=f,this},l.methods.call(l,k).prototype.constructor=l,l.extend=arguments.callee,l[i].implement=l.statics=function(a,b){return a=typeof a=="string"?function(){var c={};return c[a]=b,c}():a,d(this,a,e),this},l}function d(a,b,c){for(var d in b)b.hasOwnProperty(d)&&(a[d]=j(b[d])&&j(c[i][d])&&g.test(b[d])?e(d,b[d],c):b[d])}function e(a,b,c){return function(){var d=this.supr;this.supr=c[i][a];var e=b.apply(this,arguments);return this.supr=d,e}}function f(a){return c.call(j(a)?a:h,a,1)}var g=/xyz/.test(function(){xyz})?/\bsupr\b/:/.*/,h=function(){},i="prototype",j=function(a){return typeof a===b};if(typeof module!="undefined"&&module.exports)module.exports=f;else{var k=a.klass;f.noConflict=function(){return a.klass=k,this},a.klass=f}}(this,"function"),define("vendor/klass",function(){}),function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=[].slice,c=b.call(arguments,1),d=this,e=function(){},f=function(){return d.apply(this instanceof e?this:a||{},c.concat(b.call(arguments)))};return e.prototype=d.prototype,f.prototype=new e,f}),typeof a.Code=="undefined"&&(a.Code={}),a.Code.Util={registerNamespace:function(){var b=arguments,c=null,d,f,g,h,i;d=0;for(h=b.length;db.DOM.windowHeight()}},b.Browser._detect()}(window,window.Code.Util),function(a,b){b.extend(b,{Events:{add:function(a,b,c){this._checkHandlersProperty(a),b==="mousewheel"&&(b=this._normaliseMouseWheelType()),typeof a.__eventHandlers[b]=="undefined"&&(a.__eventHandlers[b]=[]),a.__eventHandlers[b].push(c),this._isBrowserObject(a)&&a.addEventListener(b,c,!1)},remove:function(a,d,e){this._checkHandlersProperty(a),d==="mousewheel"&&(d=this._normaliseMouseWheelType());if(a.__eventHandlers[d]instanceof Array){var f,g,h=a.__eventHandlers[d];if(b.isNothing(e)){if(this._isBrowserObject(a)){f=0;for(g=h.length;f=1;)a.removeChild(a.childNodes[a.childNodes.length-1])},hasAttribute:function(a,d){return!b.isNothing(a.getAttribute(d))},getAttribute:function(a,d,e){return a=a.getAttribute(d),b.isNothing(a)&&!b.isNothing(e)&&(a=e),a},setAttribute:function(a,d,e){if(b.isLikeArray(a)){var f,g;f=0;for(g=a.length;f=1&&b.DOM.setStyle(d,"opacity",0),b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",i,f,g,h):b.isNothing(a.jQuery)||a.jQuery(d).fadeTo(f,i,g)},fadeTo:function(a,b,c,d,e){this.fadeIn(a,c,d,e,b)},fadeOut:function(d,f,g,h){if(f<=0&&(b.DOM.setStyle(d,"opacity",0),!b.isNothing(g))){g(d);return}b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",0,f,g,h):a.jQuery(d).fadeTo(f,0,g)},slideBy:function(d,f,g,h,i,j){var k={},f=b.coalesce(f,0),g=b.coalesce(g,0),j=b.coalesce(j,"ease-out");k[this._transitionPrefix+"Property"]="all",k[this._transitionPrefix+"Delay"]="0",h===0?(k[this._transitionPrefix+"Duration"]="",k[this._transitionPrefix+"TimingFunction"]=""):(k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=b.coalesce(j,"ease-out"),b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler())),k[this._transformLabel]=b.Browser.is3dSupported?"translate3d("+f+"px, "+g+"px, 0px)":"translate("+f+"px, "+g+"px)",b.isNothing(i)||(d.cclallcallback=i),b.DOM.setStyle(d,k),h===0&&a.setTimeout(function(){this._leaveTransforms(d)}.bind(this),this._applyTransitionDelay)},resetTranslate:function(a){var d={};d[this._transformLabel]=d[this._transformLabel]=b.Browser.is3dSupported?"translate3d(0px, 0px, 0px)":"translate(0px, 0px)",b.DOM.setStyle(a,d)},_applyTransition:function(d,f,g,h,i,j){var k={},j=b.coalesce(j,"ease-in");k[this._transitionPrefix+"Property"]=f,k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=j,k[this._transitionPrefix+"Delay"]="0",b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler()),b.DOM.setStyle(d,k),b.isNothing(i)||(d["ccl"+f+"callback"]=i),a.setTimeout(function(){b.DOM.setStyle(d,f,g)},this._applyTransitionDelay)},_onTransitionEnd:function(a){b.Events.remove(a.currentTarget,this._transitionEndLabel,this._getTransitionEndHandler()),this._leaveTransforms(a.currentTarget)},_leaveTransforms:function(d){var f=d.style[this._transitionPrefix+"Property"],g=f!==""?"ccl"+f+"callback":"cclallcallback",h,f=b.coalesce(d.style.webkitTransform,d.style.MozTransform,d.style.transform),i,j=a.parseInt(b.DOM.getStyle(d,"left"),0),k=a.parseInt(b.DOM.getStyle(d,"top"),0),l,m,n={};f!==""&&(f=b.Browser.is3dSupported?f.match(/translate3d\((.*?)\)/):f.match(/translate\((.*?)\)/),b.isNothing(f)||(i=f[1].split(", "),l=a.parseInt(i[0],0),m=a.parseInt(i[1],0))),n[this._transitionPrefix+"Property"]="",n[this._transitionPrefix+"Duration"]="",n[this._transitionPrefix+"TimingFunction"]="",n[this._transitionPrefix+"Delay"]="",b.DOM.setStyle(d,n),a.setTimeout(function(){b.isNothing(i)||(n={},n[this._transformLabel]="",n.left=j+l+"px",n.top=k+m+"px",b.DOM.setStyle(d,n)),b.isNothing(d[g])||(h=d[g],delete d[g],h(d))}.bind(this),this._applyTransitionDelay)}}})}(window,window.Code.Util),function(a,b,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(a,b,c){c.registerNamespace("Code.Util.TouchElement"),c.TouchElement.TouchElementClass=b({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 a;this.removeEventHandlers();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(a,b){this.el=a,this.captureSettings={swipe:!1,move:!1,gesture:!1,doubleTap:!1,preventDefaultTouchEvents:!0},c.extend(this.captureSettings,b),this.swipeThreshold=50,this.doubleTapSpeed=this.swipeTimeThreshold=250,this.touchStartPoint={x:0,y:0},this.touchEndPoint={x:0,y:0}},addEventHandlers:function(){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),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),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),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),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(a){return{x:a[0].pageX,y:a[0].pageY}},fireTouchEvent:function(b){var d=0,f=0,g=0,h,d=this.touchEndPoint.x-this.touchStartPoint.x,f=this.touchEndPoint.y-this.touchStartPoint.y,g=Math.sqrt(d*d+f*f);if(this.captureSettings.swipe&&(h=new Date,h-=this.touchStartTime,h<=this.swipeTimeThreshold)){if(a.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.swipeLeft:c.TouchElement.ActionTypes.swipeRight,targetEl:b.target,currentTargetEl:b.currentTarget});return}if(a.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.swipeUp:c.TouchElement.ActionTypes.swipeDown,targetEl:b.target,currentTargetEl:b.currentTarget});return}}g>1?c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMoveEnd,point:this.touchEndPoint,targetEl:b.target,currentTargetEl:b.currentTarget}):this.captureSettings.doubleTap?c.isNothing(this.doubleTapTimeout)?this.doubleTapTimeout=a.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:b.target,currentTargetEl:b.currentTarget})}.bind(this),this.doubleTapSpeed):(a.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:b.target,currentTargetEl:b.currentTarget})):c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:c.TouchElement.ActionTypes.tap,targetEl:b.target,currentTargetEl:b.currentTarget})},onTouchStart:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault(),c.Events.remove(this.el,"mousedown",this.mouseDownHandler);var b=c.Events.getTouchEvent(a).touches;b.length>1&&this.captureSettings.gesture?this.isGesture=!0:(this.touchStartTime=new Date,this.isGesture=!1,this.touchStartPoint=this.getTouchPoint(b),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget}))},onTouchMove:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();if(!this.isGesture||!this.captureSettings.gesture){var b=c.Events.getTouchEvent(a).touches;c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:this.getTouchPoint(b),targetEl:a.target,currentTargetEl:a.currentTarget})}},onTouchEnd:function(a){if(!this.isGesture||!this.captureSettings.gesture){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();var b=c.Events.getTouchEvent(a);this.touchEndPoint=this.getTouchPoint(c.isNothing(b.changedTouches)?b.touches:b.changedTouches),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)}},onMouseDown:function(a){a.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),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=!1,this.touchStartPoint=c.Events.getMousePosition(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseMove:function(a){a.preventDefault(),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:c.Events.getMousePosition(a),targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseUp:function(a){a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)},onMouseOut:function(a){var b=a.relatedTarget;this.el!==b&&!c.DOM.isChildOf(b,this.el)&&(a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a))},onGestureStart:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureStart,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureChange:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureChange,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureEnd:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureEnd,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image"),a.Code.PhotoSwipe.Image.EventTypes={onLoad:"onLoad",onError:"onError"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image");var d=a.Code.PhotoSwipe;d.Image.ImageClass=b({refObj:null,imageEl:null,src:null,caption:null,metaData:null,imageLoadHandler:null,imageErrorHandler:null,dispose:function(){var a;this.shrinkImage();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,c,d,f){this.refObj=b,this.src=this.originalSrc=c,this.caption=d,this.metaData=f,this.imageEl=new a.Image,this.imageLoadHandler=this.onImageLoad.bind(this),this.imageErrorHandler=this.onImageError.bind(this)},load:function(){this.imageEl.originalSrc=c.coalesce(this.imageEl.originalSrc,""),this.imageEl.originalSrc===this.src?this.imageEl.isError?c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this}):c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this}):(this.imageEl.isError=!1,this.imageEl.isLoading=!0,this.imageEl.naturalWidth=null,this.imageEl.naturalHeight=null,this.imageEl.isLandscape=!1,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(){!c.isNothing(this.imageEl)&&this.imageEl.src.indexOf(this.src)>-1&&(this.imageEl.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",c.isNothing(this.imageEl.parentNode)||c.DOM.removeChild(this.imageEl,this.imageEl.parentNode))},onImageLoad:function(){this.imageEl.onload=null,this.imageEl.naturalWidth=c.coalesce(this.imageEl.naturalWidth,this.imageEl.width),this.imageEl.naturalHeight=c.coalesce(this.imageEl.naturalHeight,this.imageEl.height),this.imageEl.isLandscape=this.imageEl.naturalWidth>this.imageEl.naturalHeight,this.imageEl.isLoading=!1,c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this})},onImageError:function(){this.imageEl.onload=null,this.imageEl.onerror=null,this.imageEl.onabort=null,this.imageEl.isLoading=!1,this.imageEl.isError=!0,c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Cache"),a=a.Code.PhotoSwipe,a.Cache.Mode={normal:"normal",aggressive:"aggressive"},a.Cache.Functions={getImageSource:function(a){return a.href},getImageCaption:function(a){if(a.nodeName==="IMG")return c.DOM.getAttribute(a,"alt");var b,d,e;b=0;for(d=a.childNodes.length;bd&&(d=c.DOM.windowHeight())):(b=c.DOM.width(this.settings.target),d=c.DOM.height(this.settings.target),f="0px"),c.DOM.setStyle(this.el,{width:b,height:d,top:f})},fadeIn:function(a,b){this.resetPosition(),c.DOM.setStyle(this.el,"opacity",0),c.DOM.show(this.el),c.Animation.fadeIn(this.el,a,b)}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel"),a=a.Code.PhotoSwipe,a.Carousel.EventTypes={onSlideByEnd:"PhotoSwipeCarouselOnSlideByEnd",onSlideshowStart:"PhotoSwipeCarouselOnSlideshowStart",onSlideshowStop:"PhotoSwipeCarouselOnSlideshowStop"},a.Carousel.CssClasses={carousel:"ps-carousel",content:"ps-carousel-content",item:"ps-carousel-item",itemLoading:"ps-carousel-item-loading",itemError:"ps-carousel-item-error"},a.Carousel.SlideByAction={previous:"previous",current:"current",next:"next"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel");var d=a.Code.PhotoSwipe;d.Carousel.CarouselClass=b({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 a,b,e;b=0;for(e=this.cache.images.length;b0&&c.DOM.setStyle(i,{marginRight:this.settings.margin+"px"}),c.DOM.appendChild(i,this.contentEl);this.settings.target===a?c.DOM.appendToBody(this.el):c.DOM.appendChild(this.el,this.settings.target)},resetPosition:function(){var b,f,g,h,i,j;this.settings.target===a?(b=c.DOM.windowWidth(),f=c.DOM.windowHeight(),g=c.DOM.windowScrollTop()+"px"):(b=c.DOM.width(this.settings.target),f=c.DOM.height(this.settings.target),g="0px"),h=this.settings.margin>0?b+this.settings.margin:b,i=c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl),h*=i.length,c.DOM.setStyle(this.el,{top:g,width:b,height:f}),c.DOM.setStyle(this.contentEl,{width:h,height:f}),g=0;for(h=i.length;gf&&(b=f/d,d=Math.round(d*b),e=Math.round(e*b)),e>g&&(b=g/e,e=Math.round(e*b),d=Math.round(d*b))):(b=a.isLandscape?f/a.naturalWidth:g/a.naturalHeight,d=Math.round(a.naturalWidth*b),e=Math.round(a.naturalHeight*b),this.settings.imageScaleMethod==="zoom"?(b=1,ef?b=f/d:e>g&&(b=g/e),b!==1&&(d=Math.round(d*b),e=Math.round(e*b)))),c.DOM.setStyle(a,{position:"absolute",width:d,height:e,top:Math.round((g-e)/2)+"px",left:Math.round((f-d)/2)+"px",display:"block"})}},setContentLeftPosition:function(){var b,d,f;b=this.settings.target===a?c.DOM.windowWidth():c.DOM.width(this.settings.target),d=this.getItemEls(),f=0,this.settings.loop?f=(b+this.settings.margin)*-1:this.currentCacheIndex===this.cache.images.length-1?f=(d.length-1)*(b+this.settings.margin)*-1:this.currentCacheIndex>0&&(f=(b+this.settings.margin)*-1),c.DOM.setStyle(this.contentEl,{left:f+"px"})},show:function(a){this.currentCacheIndex=a,this.resetPosition(),this.setImages(!1),c.DOM.show(this.el),c.Animation.resetTranslate(this.contentEl);var a=this.getItemEls(),b,e;b=0;for(e=a.length;bthis.cache.images.length-1&&(b=0),d<0&&(d=this.cache.images.length-1),b=this.cache.getImages([d,this.currentCacheIndex,b]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[0],c[0])):c.length===1?a||(b=this.cache.getImages([this.currentCacheIndex]),this.addCacheImageToItemEl(b[0],c[0])):c.length===2?this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[0],c[0])):this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1,this.currentCacheIndex+2]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])):(this.currentCacheIndex===this.cache.images.length-1?(b=this.cache.getImages([this.currentCacheIndex-2,this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])),this.addCacheImageToItemEl(b[0],c[0]))},addCacheImageToItemEl:function(a,b){c.DOM.removeClass(b,d.Carousel.CssClasses.itemError),c.DOM.addClass(b,d.Carousel.CssClasses.itemLoading),c.DOM.removeChildren(b),c.DOM.setStyle(a.imageEl,{display:"none"}),c.DOM.appendChild(a.imageEl,b),c.Animation.resetTranslate(a.imageEl),c.Events.add(a,d.Image.EventTypes.onLoad,this.imageLoadHandler),c.Events.add(a,d.Image.EventTypes.onError,this.imageErrorHandler),a.load()},slideCarousel:function(b,f,g){if(!this.isSliding){var h,i;h=this.settings.target===a?c.DOM.windowWidth()+this.settings.margin:c.DOM.width(this.settings.target)+this.settings.margin,g=c.coalesce(g,this.settings.slideSpeed);if(!(a.Math.abs(i)<1)){switch(f){case c.TouchElement.ActionTypes.swipeLeft:b=h*-1;break;case c.TouchElement.ActionTypes.swipeRight:b=h;break;default:i=b.x-this.touchStartPoint.x,b=a.Math.abs(i)>h/2?i>0?h:h*-1:0}this.lastSlideByAction=b<0?d.Carousel.SlideByAction.next:b>0?d.Carousel.SlideByAction.previous:d.Carousel.SlideByAction.current,!this.settings.loop&&(this.lastSlideByAction===d.Carousel.SlideByAction.previous&&this.currentCacheIndex===0||this.lastSlideByAction===d.Carousel.SlideByAction.next&&this.currentCacheIndex===this.cache.images.length-1)&&(b=0,this.lastSlideByAction=d.Carousel.SlideByAction.current),this.isSliding=!0,this.doSlideCarousel(b,g)}}},moveCarousel:function(a){this.isSliding||this.settings.enableDrag&&this.doMoveCarousel(a.x-this.touchStartPoint.x)},getItemEls:function(){return c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl)},previous:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeRight,this.settings.nextPreviousSlideSpeed)},next:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft,this.settings.nextPreviousSlideSpeed)},slideshowNext:function(){this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft)},startSlideshow:function(){this.stopSlideshow(),this.isSlideshowActive=!0,this.slideshowTimeout=a.setTimeout(this.slideshowNext.bind(this),this.settings.slideshowDelay),c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStart,target:this})},stopSlideshow:function(){c.isNothing(this.slideshowTimeout)||(a.clearTimeout(this.slideshowTimeout),this.slideshowTimeout=null,this.isSlideshowActive=!1,c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStop,target:this}))},onSlideByEnd:function(){if(!c.isNothing(this.isSliding)){var a=this.getItemEls();this.isSliding=!1,this.lastSlideByAction===d.Carousel.SlideByAction.next?this.currentCacheIndex+=1:this.lastSlideByAction===d.Carousel.SlideByAction.previous&&(this.currentCacheIndex-=1),this.settings.loop?(this.lastSlideByAction===d.Carousel.SlideByAction.next?c.DOM.appendChild(a[0],this.contentEl):this.lastSlideByAction===d.Carousel.SlideByAction.previous&&c.DOM.insertBefore(a[a.length-1],a[0],this.contentEl),this.currentCacheIndex<0)?this.currentCacheIndex=this.cache.images.length-1:this.currentCacheIndex===this.cache.images.length&&(this.currentCacheIndex=0):this.cache.images.length>3&&(this.currentCacheIndex>1&&this.currentCacheIndex
'}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Toolbar");var d=a.Code.PhotoSwipe;d.Toolbar.ToolbarClass=b({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 a;this.clearTimeout(),this.removeEventHandlers(),c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),c.DOM.removeChild(this.toolbarEl,this.toolbarEl.parentNode),c.DOM.removeChild(this.captionEl,this.captionEl.parentNode);for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,f){var g;this.settings=f,this.cache=b,this.isVisible=!1,this.fadeOutHandler=this.onFadeOut.bind(this),this.touchStartHandler=this.onTouchStart.bind(this),this.touchMoveHandler=this.onTouchMove.bind(this),this.clickHandler=this.onClick.bind(this),g=d.Toolbar.CssClasses.toolbar,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.toolbarTop),this.toolbarEl=c.DOM.createElement("div",{"class":g},this.settings.getToolbar()),c.DOM.setStyle(this.toolbarEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.toolbarEl):c.DOM.appendChild(this.toolbarEl,this.settings.target),c.DOM.hide(this.toolbarEl),this.closeEl=c.DOM.find("."+d.Toolbar.CssClasses.close,this.toolbarEl)[0],this.settings.preventHide&&!c.isNothing(this.closeEl)&&c.DOM.hide(this.closeEl),this.playEl=c.DOM.find("."+d.Toolbar.CssClasses.play,this.toolbarEl)[0],this.settings.preventSlideshow&&!c.isNothing(this.playEl)&&c.DOM.hide(this.playEl),this.nextEl=c.DOM.find("."+d.Toolbar.CssClasses.next,this.toolbarEl)[0],this.previousEl=c.DOM.find("."+d.Toolbar.CssClasses.previous,this.toolbarEl)[0],g=d.Toolbar.CssClasses.caption,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.captionBottom),this.captionEl=c.DOM.createElement("div",{"class":g},""),c.DOM.setStyle(this.captionEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.captionEl):c.DOM.appendChild(this.captionEl,this.settings.target),c.DOM.hide(this.captionEl),this.captionContentEl=c.DOM.createElement("div",{"class":d.Toolbar.CssClasses.captionContent},""),c.DOM.appendChild(this.captionContentEl,this.captionEl),this.addEventHandlers()},resetPosition:function(){var b,d,f;this.settings.target===a?(this.settings.captionAndToolbarFlipPosition?(d=c.DOM.windowScrollTop(),f=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.captionEl)):(d=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.toolbarEl),f=c.DOM.windowScrollTop()),b=c.DOM.windowWidth()):(this.settings.captionAndToolbarFlipPosition?(d="0",f=c.DOM.height(this.settings.target)-c.DOM.height(this.captionEl)):(d=c.DOM.height(this.settings.target)-c.DOM.height(this.toolbarEl),f=0),b=c.DOM.width(this.settings.target)),c.DOM.setStyle(this.toolbarEl,{top:d+"px",width:b}),c.DOM.setStyle(this.captionEl,{top:f+"px",width:b})},toggleVisibility:function(a){this.isVisible?this.fadeOut():this.show(a)},show:function(a){c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),this.resetPosition(),this.setToolbarStatus(a),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeShow,target:this}),this.showToolbar(),this.setCaption(a),this.showCaption(),this.isVisible=!0,this.setTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onShow,target:this})},setTimeout:function(){this.settings.captionAndToolbarAutoHideDelay>0&&(this.clearTimeout(),this.timeout=a.setTimeout(this.fadeOut.bind(this),this.settings.captionAndToolbarAutoHideDelay))},clearTimeout:function(){c.isNothing(this.timeout)||(a.clearTimeout(this.timeout),this.timeout=null)},fadeOut:function(){this.clearTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeHide,target:this}),c.Animation.fadeOut(this.toolbarEl,this.settings.fadeOutSpeed),c.Animation.fadeOut(this.captionEl,this.settings.fadeOutSpeed,this.fadeOutHandler),this.isVisible=!1},addEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.add(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.add(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.add(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.add(this.toolbarEl,"click",this.clickHandler)},removeEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.remove(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.remove(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.remove(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.remove(this.toolbarEl,"click",this.clickHandler)},handleTap:function(a){this.clearTimeout();var b;if(a.target===this.nextEl||c.DOM.isChildOf(a.target,this.nextEl))b=d.Toolbar.ToolbarAction.next;else if(a.target===this.previousEl||c.DOM.isChildOf(a.target,this.previousEl))b=d.Toolbar.ToolbarAction.previous;else if(a.target===this.closeEl||c.DOM.isChildOf(a.target,this.closeEl))b=d.Toolbar.ToolbarAction.close;else if(a.target===this.playEl||c.DOM.isChildOf(a.target,this.playEl))b=d.Toolbar.ToolbarAction.play;this.setTimeout(),c.isNothing(b)&&(b=d.Toolbar.ToolbarAction.none),c.Events.fire(this,{type:d.Toolbar.EventTypes.onTap,target:this,action:b,tapTarget:a.target})},setCaption:function(a){c.DOM.removeChildren(this.captionContentEl),this.currentCaption=c.coalesce(this.cache.images[a].caption," "),c.isObject(this.currentCaption)?c.DOM.appendChild(this.currentCaption,this.captionContentEl):(this.currentCaption===""&&(this.currentCaption=" "),c.DOM.appendText(this.currentCaption,this.captionContentEl)),this.currentCaption=this.currentCaption===" "?"":this.currentCaption,this.resetPosition()},showToolbar:function(){c.DOM.setStyle(this.toolbarEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.toolbarEl)},showCaption:function(){(this.currentCaption===""||this.captionContentEl.childNodes.length<1)&&!this.settings.captionAndToolbarShowEmptyCaptions?c.DOM.hide(this.captionEl):(c.DOM.setStyle(this.captionEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.captionEl))},setToolbarStatus:function(a){this.settings.loop||(c.DOM.removeClass(this.previousEl,d.Toolbar.CssClasses.previousDisabled),c.DOM.removeClass(this.nextEl,d.Toolbar.CssClasses.nextDisabled),a>0&&athis.settings.maxUserZoom&&(a=this.settings.maxUserZoom),a},setStartingScaleAndRotation:function(a,b){this.transformSettings.startingScale=this.getScale(a),this.transformSettings.startingRotation=(this.transformSettings.startingRotation+b)%360},zoomRotate:function(a,b){this.transformSettings.scale=this.getScale(a),this.transformSettings.rotation=this.transformSettings.startingRotation+b,this.applyTransform()},panStart:function(a){this.setStartingTranslateFromCurrentTransform(),this.panStartingPoint={x:a.x,y:a.y}},pan:function(a){var b=(a.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=this.transformSettings.startingTranslateX+(a.x-this.panStartingPoint.x)/this.transformSettings.scale,this.transformSettings.translateY=this.transformSettings.startingTranslateY+b,this.applyTransform()},zoomAndPanToPoint:function(b,d){if(this.settings.target===a){this.panStart({x:c.DOM.windowWidth()/2,y:c.DOM.windowHeight()/2});var f=(d.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=(this.transformSettings.startingTranslateX+(d.x-this.panStartingPoint.x)/this.transformSettings.scale)*-1,this.transformSettings.translateY=(this.transformSettings.startingTranslateY+f)*-1}this.setStartingScaleAndRotation(b,0),this.transformSettings.scale=this.transformSettings.startingScale,this.transformSettings.rotation=0,this.applyTransform()},applyTransform:function(){var b=this.transformSettings.rotation%360,f=a.parseInt(this.transformSettings.translateX,10),g=a.parseInt(this.transformSettings.translateY,10),h="scale("+this.transformSettings.scale+") rotate("+b+"deg) translate("+f+"px, "+g+"px)";c.DOM.setStyle(this.transformEl,{webkitTransform:h,MozTransform:h,msTransform:h,transform:h}),c.Events.fire(this,{target:this,type:d.ZoomPanRotate.EventTypes.onTransform,scale:this.transformSettings.scale,rotation:this.transformSettings.rotation,rotationDegs:b,translateX:f,translateY:g})}})}(window,window.klass,window.Code.Util),function(a,b){b.registerNamespace("Code.PhotoSwipe");var c=a.Code.PhotoSwipe;c.CssClasses={buildingBody:"ps-building",activeBody:"ps-active"},c.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"},c.instances=[],c.activeInstances=[],c.setActivateInstance=function(a){if(b.arrayIndexOf(a.settings.target,c.activeInstances,"target")>-1)throw"Code.PhotoSwipe.activateInstance: Unable to active instance as another instance is already active for this target";c.activeInstances.push({target:a.settings.target,instance:a})},c.unsetActivateInstance=function(a){a=b.arrayIndexOf(a,c.activeInstances,"instance"),c.activeInstances.splice(a,1)},c.attach=function(a,d,e){var f,g;f=c.createInstance(a,d,e),d=0;for(e=a.length;d=2.1&&(this.isBackEventSupported=!0),this.isBackEventSupported||(this.isBackEventSupported=c.objectHasProperty(a,"onhashchange")),this.settings={fadeInSpeed:250,fadeOutSpeed:250,preventHide:!1,preventSlideshow:!1,zIndex:1e3,backButtonHideEnabled:!0,enableKeyboard:!0,enableMouseWheel:!0,mouseWheelSpeed:350,autoStartSlideshow:!1,jQueryMobile:!c.isNothing(a.jQuery)&&!c.isNothing(a.jQuery.mobile),jQueryMobileDialogHash:"&ui-state=dialog",enableUIWebViewRepositionTimeout:!1,uiWebViewResetPositionDelay:500,target:a,preventDefaultTouchEvents:!0,loop:!0,slideSpeed:250,nextPreviousSlideSpeed:0,enableDrag:!0,swipeThreshold:50,swipeTimeThreshold:250,slideTimingFunction:"ease-out",slideshowDelay:3e3,doubleTapSpeed:250,margin:20,imageScaleMethod:"fit",captionAndToolbarHide:!1,captionAndToolbarFlipPosition:!1,captionAndToolbarAutoHideDelay:5e3,captionAndToolbarOpacity:.8,captionAndToolbarShowEmptyCaptions:!0,getToolbar:j.Toolbar.getToolbar,allowUserZoom:!0,allowRotationOnUserZoom:!1,maxUserZoom:5,minUserZoom:.5,doubleTapZoomLevel:2.5,getImageSource:j.Cache.Functions.getImageSource,getImageCaption:j.Cache.Functions.getImageCaption,getImageMetaData:j.Cache.Functions.getImageMetaData,cacheMode:j.Cache.Mode.normal},c.extend(this.settings,e),this.settings.target!==a&&(e=c.DOM.getStyle(this.settings.target,"position"),(e!=="relative"||e!=="absolute")&&c.DOM.setStyle(this.settings.target,"position","relative")),this.settings.target!==a?(this.isBackEventSupported=!1,this.settings.backButtonHideEnabled=!1):this.settings.preventHide&&(this.settings.backButtonHideEnabled=!1),this.cache=new d.CacheClass(b,this.settings)},show:function(b){var d,e;this.backButtonClicked=this._isResettingPosition=!1;if(c.isNumber(b))this.currentIndex=b;else{this.currentIndex=-1,d=0;for(e=this.originalImages.length;dthis.originalImages.length-1)throw"Code.PhotoSwipe.PhotoSwipeClass.show: Starting index out of range";this.isAlreadyGettingPage=this.getWindowDimensions(),j.setActivateInstance(this),this.windowDimensions=this.getWindowDimensions(),this.settings.target===a?c.DOM.addClass(a.document.body,j.CssClasses.buildingBody):c.DOM.addClass(this.settings.target,j.CssClasses.buildingBody),this.createComponents(),c.Events.fire(this,{type:j.EventTypes.onBeforeShow,target:this}),this.documentOverlay.fadeIn(this.settings.fadeInSpeed,this.onDocumentOverlayFadeIn.bind(this))},getWindowDimensions:function(){return{width:c.DOM.windowWidth(),height:c.DOM.windowHeight()}},createComponents:function(){this.documentOverlay=new e.DocumentOverlayClass(this.settings),this.carousel=new f.CarouselClass(this.cache,this.settings),this.uiLayer=new h.UILayerClass(this.settings),this.settings.captionAndToolbarHide||(this.toolbar=new g.ToolbarClass(this.cache,this.settings))},resetPosition:function(){if(!this._isResettingPosition){var a=this.getWindowDimensions();if(c.isNothing(this.windowDimensions)||a.width!==this.windowDimensions.width||a.height!==this.windowDimensions.height)this._isResettingPosition=!0,this.windowDimensions=a,this.destroyZoomPanRotate(),this.documentOverlay.resetPosition(),this.carousel.resetPosition(),c.isNothing(this.toolbar)||this.toolbar.resetPosition(),this.uiLayer.resetPosition(),this._isResettingPosition=!1,c.Events.fire(this,{type:j.EventTypes.onResetPosition,target:this})}},addEventHandler:function(a,b){c.Events.add(this,a,b)},addEventHandlers:function(){c.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)),c.Browser.android?this.orientationEventName="resize":c.Browser.iOS&&!c.Browser.safari?c.Events.add(a.document.body,"orientationchange",this.windowOrientationChangeHandler):this.orientationEventName=c.isNothing(a.onorientationchange)?"resize":"orientationchange",c.isNothing(this.orientationEventName)||c.Events.add(a,this.orientationEventName,this.windowOrientationChangeHandler),this.settings.target===a&&c.Events.add(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.add(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.windowHashChangeHandler=this.onWindowHashChange.bind(this),this.settings.jQueryMobile?a.location.hash=this.settings.jQueryMobileDialogHash:(this.currentHistoryHashValue="PhotoSwipe"+(new Date).getTime().toString(),a.location.hash=this.currentHistoryHashValue),c.Events.add(a,"hashchange",this.windowHashChangeHandler)),this.settings.enableMouseWheel&&c.Events.add(a,"mousewheel",this.mouseWheelHandler),c.Events.add(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.Events.add(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler),c.isNothing(this.toolbar)||(c.Events.add(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.add(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.add(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},removeEventHandlers:function(){c.Browser.iOS&&!c.Browser.safari&&c.Events.remove(a.document.body,"orientationchange",this.windowOrientationChangeHandler),c.isNothing(this.orientationEventName)||c.Events.remove(a,this.orientationEventName,this.windowOrientationChangeHandler),c.Events.remove(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.remove(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&c.Events.remove(a,"hashchange",this.windowHashChangeHandler),this.settings.enableMouseWheel&&c.Events.remove(a,"mousewheel",this.mouseWheelHandler),c.isNothing(this.uiLayer)||c.Events.remove(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.isNothing(this.toolbar)||(c.Events.remove(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler)),c.isNothing(this.toolbar)||(c.Events.remove(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.remove(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},hide:function(){if(!this.settings.preventHide){if(c.isNothing(this.documentOverlay))throw"Code.PhotoSwipe.PhotoSwipeClass.hide: PhotoSwipe instance is already hidden";c.isNothing(this.hiding)&&(this.clearUIWebViewResetPositionTimeout(),this.destroyZoomPanRotate(),this.removeEventHandlers(),c.Events.fire(this,{type:j.EventTypes.onBeforeHide,target:this}),this.uiLayer.dispose(),this.uiLayer=null,c.isNothing(this.toolbar)||(this.toolbar.dispose(),this.toolbar=null),this.carousel.dispose(),this.carousel=null,c.DOM.removeClass(a.document.body,j.CssClasses.activeBody),this.documentOverlay.dispose(),this.documentOverlay=null,this._isResettingPosition=!1,j.unsetActivateInstance(this),c.Events.fire(this,{type:j.EventTypes.onHide,target:this}),this.goBackInHistory())}},goBackInHistory:function(){this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.backButtonClicked||a.history.back())},play:function(){!this.isZoomActive()&&!this.settings.preventSlideshow&&!c.isNothing(this.carousel)&&(!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut(),this.carousel.startSlideshow())},stop:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.stopSlideshow()},previous:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.previous()},next:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.next()},toggleToolbar:function(){this.isZoomActive()||c.isNothing(this.toolbar)||this.toolbar.toggleVisibility(this.currentIndex)},fadeOutToolbarIfVisible:function(){!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.settings.captionAndToolbarAutoHideDelay>0&&this.toolbar.fadeOut()},createZoomPanRotate:function(){this.stop(),this.canUserZoom()&&!this.isZoomActive()&&(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateShow),this.zoomPanRotate=new i.ZoomPanRotateClass(this.settings,this.cache.images[this.currentIndex],this.uiLayer),this.uiLayer.captureSettings.preventDefaultTouchEvents=!0,c.Events.add(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),c.Events.fire(this,j.EventTypes.onZoomPanRotateShow),!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut())},destroyZoomPanRotate:function(){c.isNothing(this.zoomPanRotate)||(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateHide),c.Events.remove(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),this.zoomPanRotate.dispose(),this.zoomPanRotate=null,this.uiLayer.captureSettings.preventDefaultTouchEvents=this.settings.preventDefaultTouchEvents,c.Events.fire(this,j.EventTypes.onZoomPanRotateHide))},canUserZoom:function(){var a;if(c.Browser.msie){if(a=document.createElement("div"),c.isNothing(a.style.msTransform))return!1}else if(!c.Browser.isCSSTransformSupported)return!1;return this.settings.allowUserZoom?this.carousel.isSliding?!1:(a=this.cache.images[this.currentIndex],c.isNothing(a)?!1:a.isLoading?!1:!0):!1},isZoomActive:function(){return!c.isNothing(this.zoomPanRotate)},getCurrentImage:function(){return this.cache.images[this.currentIndex]},onDocumentOverlayFadeIn:function(){a.setTimeout(function(){var b=this.settings.target===a?a.document.body:this.settings.target;c.DOM.removeClass(b,j.CssClasses.buildingBody),c.DOM.addClass(b,j.CssClasses.activeBody),this.addEventHandlers(),this.carousel.show(this.currentIndex),this.uiLayer.show(),this.settings.autoStartSlideshow?this.play():c.isNothing(this.toolbar)||this.toolbar.show(this.currentIndex),c.Events.fire(this,{type:j.EventTypes.onShow,target:this}),this.setUIWebViewResetPositionTimeout()}.bind(this),250)},setUIWebViewResetPositionTimeout:function(){this.settings.enableUIWebViewRepositionTimeout&&c.Browser.iOS&&!c.Browser.safari&&(c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout),this._uiWebViewResetPositionTimeout=a.setTimeout(function(){this.resetPosition(),this.setUIWebViewResetPositionTimeout()}.bind(this),this.settings.uiWebViewResetPositionDelay))},clearUIWebViewResetPositionTimeout:function(){c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout)},onWindowScroll:function(){this.resetPosition()},onWindowOrientationChange:function(){this.resetPosition()},onWindowHashChange:function(){a.location.hash!=="#"+(this.settings.jQueryMobile?this.settings.jQueryMobileDialogHash:this.currentHistoryHashValue)&&(this.backButtonClicked=!0,this.hide())},onKeyDown:function(a){a.keyCode===37?(a.preventDefault(),this.previous()):a.keyCode===39?(a.preventDefault(),this.next()):a.keyCode===38||a.keyCode===40?a.preventDefault():a.keyCode===27?(a.preventDefault(),this.hide()):a.keyCode===32?(this.settings.hideToolbar?this.hide():this.toggleToolbar(),a.preventDefault()):a.keyCode===13&&(a.preventDefault(),this.play())},onUILayerTouch:function(b){if(this.isZoomActive())switch(b.action){case c.TouchElement.ActionTypes.gestureChange:this.zoomPanRotate.zoomRotate(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.gestureEnd:this.zoomPanRotate.setStartingScaleAndRotation(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.touchStart:this.zoomPanRotate.panStart(b.point);break;case c.TouchElement.ActionTypes.touchMove:this.zoomPanRotate.pan(b.point);break;case c.TouchElement.ActionTypes.doubleTap:this.destroyZoomPanRotate(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeLeft:this.destroyZoomPanRotate(),this.next(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeRight:this.destroyZoomPanRotate(),this.previous(),this.toggleToolbar()}else switch(b.action){case c.TouchElement.ActionTypes.touchMove:case c.TouchElement.ActionTypes.swipeLeft:case c.TouchElement.ActionTypes.swipeRight:this.fadeOutToolbarIfVisible(),this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.touchStart:case c.TouchElement.ActionTypes.touchMoveEnd:this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.tap:this.toggleToolbar();break;case c.TouchElement.ActionTypes.doubleTap:this.settings.target===a&&(b.point.x-=c.DOM.windowScrollLeft(),b.point.y-=c.DOM.windowScrollTop());var d=this.cache.images[this.currentIndex].imageEl,e=a.parseInt(c.DOM.getStyle(d,"top"),10),f=a.parseInt(c.DOM.getStyle(d,"left"),10),g=f+c.DOM.width(d),d=e+c.DOM.height(d);b.point.xg&&(b.point.x=g),b.point.yd&&(b.point.y=d),this.createZoomPanRotate(),this.isZoomActive()&&this.zoomPanRotate.zoomAndPanToPoint(this.settings.doubleTapZoomLevel,b.point);break;case c.TouchElement.ActionTypes.gestureStart:this.createZoomPanRotate()}c.Events.fire(this,{type:j.EventTypes.onTouch,target:this,point:b.point,action:b.action})},onCarouselSlideByEnd:function(a){this.currentIndex=a.cacheIndex,c.isNothing(this.toolbar)||(this.toolbar.setCaption(this.currentIndex),this.toolbar.setToolbarStatus(this.currentIndex)),c.Events.fire(this,{type:j.EventTypes.onDisplayImage,target:this,action:a.action,index:a.cacheIndex})},onToolbarTap:function(a){switch(a.action){case g.ToolbarAction.next:this.next();break;case g.ToolbarAction.previous:this.previous();break;case g.ToolbarAction.close:this.hide();break;case g.ToolbarAction.play:this.play()}c.Events.fire(this,{type:j.EventTypes.onToolbarTap,target:this,toolbarAction:a.action,tapTarget:a.tapTarget})},onMouseWheel:function(a){var b=c.Events.getWheelDelta(a);a.timeStamp-(this.mouseWheelStartTime||0)0&&this.previous())},onCarouselSlideshowStart:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStart,target:this})},onCarouselSlideshowStop:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStop,target:this})},onToolbarBeforeShow:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarShow,target:this})},onToolbarShow:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarShow,target:this})},onToolbarBeforeHide:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarHide,target:this})},onToolbarHide:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarHide,target:this})},onZoomPanRotateTransform:function(a){c.Events.fire(this,{target:this,type:j.EventTypes.onZoomPanRotateTransform,scale:a.scale,rotation:a.rotation,rotationDegs:a.rotationDegs,translateX:a.translateX,translateY:a.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),define("vendor/photoswipe",function(){}),1,function(){var a;typeof Joshfire=="undefined"&&(Joshfire={}),a={version:[0,9,3],onReady:function(a){a()},adapter:"ios",adapterModules:{android:["app","dependencies.json","inputs/touch","ui/toolbar","uielements/list","uielements/panel","uielements/video.mediaelement","vendor/iscroll"],browser:["app","inputs/http","inputs/keyboard","inputs/mouse","uielement","uielements/list","uielements/mediacontrols","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","uielements/video.popup","uielements/video.youtube.swf","utils/activitymonitor","utils/datasource","utils/dollar","utils/localstorage","utils/navigation","utils/onready","utils/stresstest"],googletv:["dependencies.json","inputs/keyboard","ui/videoplayer","uielement"],ios:["dependencies.json"],lgtv:["dependencies.json","ui/videoplayer","uielement","utils/dollar"],node:["app.factory","app","class","global.exec","inputs/http","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","utils/datasource","utils/dollar","utils/eventsocket","utils/templatecompiler.cli","utils/templatecompiler","vendor/json2","view"],none:[],philips:["dependencies.json","ui/videoplayer","uielement","uielements/list","uielements/video.mediaelement","utils/dollar","utils/stresstest"],phone:["collection","ui/toolbar","uielement","utils/dollar","utils/onready"],qt4:[],samsungtv:["dependencies.json","inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready","utils/widgetapi","view"],tv:["inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready"]},adapterDeps:["phone"],debug:!1,path:(Joshfire.framework||{}).path||"joshfire"};if(typeof document!="undefined"){var b=document.getElementsByTagName("script"),c,d=new RegExp("^(.*)/adapters/"+a.adapter+"/bootstrap.js$");for(var e=b.length-1;e>=0;e--)c=d.exec(b[e].getAttribute("src")),c&&(a.path=c[1])}typeof require!="undefined"&&require.config&&require.config({paths:{"joshfire-framework":a.path},urlArgs:Joshfire.debug?"bust="+(new Date).getTime():""}),Joshfire.framework=a,typeof module!="undefined"&&module.exports&&(module.exports.JoshfireFramework=a)}.call(this),function(a){a.onReady=function(b){a.require(["joshfire/vendor/zepto"],function(a){b.call()})}}(Joshfire),define("joshlib",{normalize:function(a,b){var c=[Joshfire.framework.adapter].concat(Joshfire.framework.adapterDeps),d=Joshfire.framework.adapterModules,e="joshfire-framework/";if(a.substring(0,14)=="adapters/none/")return e+a.substring(14);if(a.substring(0,9)=="adapters/")return e+a;for(var f=0;fd[a+"ScrollbarMaxScroll"]&&(d.options.fixedScrollbar?e=d[a+"ScrollbarMaxScroll"]:(f=d[a+"ScrollbarIndicatorSize"]-c.round((e-d[a+"ScrollbarMaxScroll"])*3),f<8&&(f=8),d[a+"ScrollbarIndicator"].style[a=="h"?"width":"height"]=f+"px",e=d[a+"ScrollbarMaxScroll"]+(d[a+"ScrollbarIndicatorSize"]-f))),d[a+"ScrollbarWrapper"].style[l]="0",d[a+"ScrollbarWrapper"].style.opacity=b&&d.options.hideScrollbar?"0":"1",d[a+"ScrollbarIndicator"].style[g]="translate("+(a=="h"?e+"px,0)":"0,"+e+"px)")+C},_start:function(a){var b=this,d=q?a.touches[0]:a,e,f,h,i,j;if(!b.enabled)return;b.options.onBeforeScrollStart&&b.options.onBeforeScrollStart.call(b,a),(b.options.useTransition||b.options.zoom)&&b._transitionTime(0),b.moved=!1,b.animating=!1,b.zoomed=!1,b.distX=0,b.distY=0,b.absDistX=0,b.absDistY=0,b.dirX=0,b.dirY=0,b.options.zoom&&q&&a.touches.length>1&&(i=c.abs(a.touches[0].pageX-a.touches[1].pageX),j=c.abs(a.touches[0].pageY-a.touches[1].pageY),b.touchesDistStart=c.sqrt(i*i+j*j),b.originX=c.abs(a.touches[0].pageX+a.touches[1].pageX-b.wrapperOffsetLeft*2)/2-b.x,b.originY=c.abs(a.touches[0].pageY+a.touches[1].pageY-b.wrapperOffsetTop*2)/2-b.y,b.options.onZoomStart&&b.options.onZoomStart.call(b,a));if(b.options.momentum){b.options.useTransform?(e=getComputedStyle(b.scroller,null)[g].replace(/[^0-9\-.,]/g,"").split(","),f=e[4]*1,h=e[5]*1):(f=getComputedStyle(b.scroller,null).left.replace(/[^0-9-]/g,"")*1,h=getComputedStyle(b.scroller,null).top.replace(/[^0-9-]/g,"")*1);if(f!=b.x||h!=b.y)b.options.useTransition?b._unbind(z):B(b.aniTime),b.steps=[],b._pos(f,h)}b.absStartX=b.x,b.absStartY=b.y,b.startX=b.x,b.startY=b.y,b.pointX=d.pageX,b.pointY=d.pageY,b.startTime=a.timeStamp||Date.now(),b.options.onScrollStart&&b.options.onScrollStart.call(b,a),b._bind(v),b._bind(w),b._bind(x)},_move:function(a){var b=this,d=q?a.touches[0]:a,e=d.pageX-b.pointX,f=d.pageY-b.pointY,h=b.x+e,i=b.y+f,j,k,l,m=a.timeStamp||Date.now();b.options.onBeforeScrollMove&&b.options.onBeforeScrollMove.call(b,a);if(b.options.zoom&&q&&a.touches.length>1){j=c.abs(a.touches[0].pageX-a.touches[1].pageX),k=c.abs(a.touches[0].pageY-a.touches[1].pageY),b.touchesDist=c.sqrt(j*j+k*k),b.zoomed=!0,l=1/b.touchesDistStart*b.touchesDist*this.scale,lb.options.zoomMax&&(l=2*b.options.zoomMax*Math.pow(.5,b.options.zoomMax/l)),b.lastScale=l/this.scale,h=this.originX-this.originX*b.lastScale+this.x,i=this.originY-this.originY*b.lastScale+this.y,this.scroller.style[g]="translate("+h+"px,"+i+"px) scale("+l+")"+C,b.options.onZoom&&b.options.onZoom.call(b,a);return}b.pointX=d.pageX,b.pointY=d.pageY;if(h>0||h=0||b.maxScrollX>=0?0:b.maxScrollX;if(i>b.minScrollY||i=b.minScrollY||b.maxScrollY>=0?b.minScrollY:b.maxScrollY;b.distX+=e,b.distY+=f,b.absDistX=c.abs(b.distX),b.absDistY=c.abs(b.distY);if(b.absDistX<6&&b.absDistY<6)return;b.options.lockDirection&&(b.absDistX>b.absDistY+5?(i=b.y,f=0):b.absDistY>b.absDistX+5&&(h=b.x,e=0)),b.moved=!0,b._pos(h,i),b.dirX=e>0?-1:e<0?1:0,b.dirY=f>0?-1:f<0?1:0,m-b.startTime>300&&(b.startTime=m,b.startX=b.x,b.startY=b.y),b.options.onScrollMove&&b.options.onScrollMove.call(b,a)},_end:function(a){if(q&&a.touches.length!==0)return;var d=this,e=q?a.changedTouches[0]:a,f,h,j={dist:0,time:0},k={dist:0,time:0},l=(a.timeStamp||Date.now())-d.startTime,m=d.x,n=d.y,o,p,r,s,t;d._unbind(v),d._unbind(w),d._unbind(x),d.options.onBeforeScrollEnd&&d.options.onBeforeScrollEnd.call(d,a);if(d.zoomed){t=d.scale*d.lastScale,t=Math.max(d.options.zoomMin,t),t=Math.min(d.options.zoomMax,t),d.lastScale=t/d.scale,d.scale=t,d.x=d.originX-d.originX*d.lastScale+d.x,d.y=d.originY-d.originY*d.lastScale+d.y,d.scroller.style[i]="200ms",d.scroller.style[g]="translate("+d.x+"px,"+d.y+"px) scale("+d.scale+")"+C,d.zoomed=!1,d.refresh(),d.options.onZoomEnd&&d.options.onZoomEnd.call(d,a);return}if(!d.moved){q&&(d.doubleTapTimer&&d.options.zoom?(clearTimeout(d.doubleTapTimer),d.doubleTapTimer=null,d.options.onZoomStart&&d.options.onZoomStart.call(d,a),d.zoom(d.pointX,d.pointY,d.scale==1?d.options.doubleTapZoom:1),d.options.onZoomEnd&&setTimeout(function(){d.options.onZoomEnd.call(d,a)},200)):this.options.handleClick&&(d.doubleTapTimer=setTimeout(function(){d.doubleTapTimer=null,f=e.target;while(f.nodeType!=1)f=f.parentNode;f.tagName!="SELECT"&&f.tagName!="INPUT"&&f.tagName!="TEXTAREA"&&(h=b.createEvent("MouseEvents"),h.initMouseEvent("click",!0,!0,a.view,1,e.screenX,e.screenY,e.clientX,e.clientY,a.ctrlKey,a.altKey,a.shiftKey,a.metaKey,0,null),h._fake=!0,f.dispatchEvent(h))},d.options.zoom?250:0))),d._resetPos(200),d.options.onTouchEnd&&d.options.onTouchEnd.call(d,a);return}if(l<300&&d.options.momentum){j=m?d._momentum(m-d.startX,l,-d.x,d.scrollerW-d.wrapperW+d.x,d.options.bounce?d.wrapperW:0):j,k=n?d._momentum(n-d.startY,l,-d.y,d.maxScrollY<0?d.scrollerH-d.wrapperH+d.y-d.minScrollY:0,d.options.bounce?d.wrapperH:0):k,m=d.x+j.dist,n=d.y+k.dist;if(d.x>0&&m>0||d.xd.minScrollY&&n>d.minScrollY||d.y=0?0:b.x=b.minScrollY||b.maxScrollY>0?b.minScrollY:b.yb.options.zoomMax&&(g=b.options.zoomMax),g!=b.scale&&(!b.wheelZoomCount&&b.options.onZoomStart&&b.options.onZoomStart.call(b,a),b.wheelZoomCount++,b.zoom(a.pageX,a.pageY,g,400),setTimeout(function(){b.wheelZoomCount--,!b.wheelZoomCount&&b.options.onZoomEnd&&b.options.onZoomEnd.call(b,a)},400));return}e=b.x+c,f=b.y+d,e>0?e=0:eb.minScrollY?f=b.minScrollY:f=e+f.time){a._pos(f.x,f.y),a.animating=!1,a.options.onAnimationEnd&&a.options.onAnimationEnd.call(a),a._startAni();return}i=(i-e)/f.time-1,g=c.sqrt(1-i*i),j=(f.x-b)*g+b,k=(f.y-d)*g+d,a._pos(j,k),a.animating&&(a.aniTime=A(h))},h()},_transitionTime:function(a){a+="ms",this.scroller.style[i]=a,this.hScrollbar&&(this.hScrollbarIndicator.style[i]=a),this.vScrollbar&&(this.vScrollbarIndicator.style[i]=a)},_momentum:function(a,b,d,e,f){var g=6e-4,h=c.abs(a)/b,i=h*h/(2*g),j=0,k=0;return a>0&&i>d?(k=f/(6/(i/h*g)),d+=k,h=h*d/i,i=d):a<0&&i>e&&(k=f/(6/(i/h*g)),e+=k,h=h*e/i,i=e),i*=a<0?-1:1,j=h/g,{dist:i,time:c.round(j)}},_offset:function(a){var b=-a.offsetLeft,c=-a.offsetTop;while(a=a.offsetParent)b-=a.offsetLeft,c-=a.offsetTop;return a!=this.wrapper&&(b*=this.scale,c*=this.scale),{left:b,top:c}},_snap:function(a,b){var d=this,e,f,g,h,i,j;g=d.pagesX.length-1;for(e=0,f=d.pagesX.length;e=d.pagesX[e]){g=e;break}g==d.currPageX&&g>0&&d.dirX<0&&g--,a=d.pagesX[g],i=c.abs(a-d.pagesX[d.currPageX]),i=i?c.abs(d.x-a)/i*500:0,d.currPageX=g,g=d.pagesY.length-1;for(e=0;e=d.pagesY[e]){g=e;break}return g==d.currPageY&&g>0&&d.dirY<0&&g--,b=d.pagesY[g],j=c.abs(b-d.pagesY[d.currPageY]),j=j?c.abs(d.y-b)/j*500:0,d.currPageY=g,h=c.round(c.max(i,j))||200,{x:a,y:b,time:h}},_bind:function(a,b,c){(b||this.scroller).addEventListener(a,this,!!c)},_unbind:function(a,b,c){(b||this.scroller).removeEventListener(a,this,!!c)},destroy:function(){var b=this;b.scroller.style[g]="",b.hScrollbar=!1,b.vScrollbar=!1,b._scrollbar("h"),b._scrollbar("v"),b._unbind(t,a),b._unbind(u),b._unbind(v),b._unbind(w),b._unbind(x),b.options.hasTouch||(b._unbind("mouseout",b.wrapper),b._unbind(y)),b.options.useTransition&&b._unbind(z),b.options.checkDOMChanges&&clearInterval(b.checkDOMTime),b.options.onDestroy&&b.options.onDestroy.call(b)},refresh:function(){var a=this,b,d,e,f,g=0,h=0;a.scalea.wrapperH),a.hScrollbar=a.hScroll&&a.options.hScrollbar,a.vScrollbar=a.vScroll&&a.options.vScrollbar&&a.scrollerH>a.wrapperH,b=a._offset(a.wrapper),a.wrapperOffsetLeft=-b.left,a.wrapperOffsetTop=-b.top;if(typeof a.options.snap=="string"){a.pagesX=[],a.pagesY=[],f=a.scroller.querySelectorAll(a.options.snap);for(d=0,e=f.length;d=a.maxScrollX)a.pagesX[h]=g,g-=a.wrapperW,h++;a.maxScrollX%a.wrapperW&&(a.pagesX[a.pagesX.length]=a.maxScrollX-a.pagesX[a.pagesX.length-1]+a.pagesX[a.pagesX.length-1]),g=0,h=0,a.pagesY=[];while(g>=a.maxScrollY)a.pagesY[h]=g,g-=a.wrapperH,h++;a.maxScrollY%a.wrapperH&&(a.pagesY[a.pagesY.length]=a.maxScrollY-a.pagesY[a.pagesY.length-1]+a.pagesY[a.pagesY.length-1])}a._scrollbar("h"),a._scrollbar("v"),a.zoomed||(a.scroller.style[i]="0",a._resetPos(200))},scrollTo:function(a,b,c,d){var e=this,f=a,g,h;e.stop(),f.length||(f=[{x:a,y:b,time:c,relative:d}]);for(g=0,h=f.length;g0?0:e.leftd.minScrollY?d.minScrollY:e.topd.pagesX.length-1?d.pagesX.length-1:a,b=b<0?0:b>d.pagesY.length-1?d.pagesY.length-1:b,d.currPageX=a,d.currPageY=b,e=d.pagesX[a],f=d.pagesY[b]):(e=-d.wrapperW*a,f=-d.wrapperH*b,e0?0:e.xe.minScrollY?e.minScrollY:e.y>>0,e=0,f;if(typeof b!="function")throw new TypeError;if(d==0&&arguments.length==1)throw new TypeError;if(arguments.length>=2)f=arguments[1];else do{if(e in c){f=c[e++];break}if(++e>=d)throw new TypeError}while(!0);while(e0?[].concat.apply([],a):a}function H(a){return a.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function I(a){return a in i?i[a]:i[a]=new RegExp("(^|\\s)"+a+"(\\s|$)")}function J(a,b){return typeof b=="number"&&!k[H(a)]?b+"px":b}function K(a){var b,c;return h[a]||(b=g.createElement(a),g.body.appendChild(b),c=j(b,"").getPropertyValue("display"),b.parentNode.removeChild(b),c=="none"&&(c="block"),h[a]=c),h[a]}function L(b,d){return d===a?c(b):c(b).filter(d)}function M(a,b,c,d){return A(b)?b.call(a,c,d):b}function N(a,b,d){var e=a%2?b:b.parentNode;e?e.insertBefore(d,a?a==1?e.firstChild:a==2?b:null:b.nextSibling):c(d).remove()}function O(a,b){b(a);for(var c in a.childNodes)O(a.childNodes[c],b)}function P(a){var b=a.innerHTML||"",c=a.getAttribute("src"),d=null,e=null;b?window.eval.call(window,b):c&&(d=g.getElementsByTagName("head")[0]||g.documentElement,e=g.createElement("script"),e.type="text/javascript",e.setAttribute("src",c),d.insertBefore(e,d.firstChild)),a.parentNode&&a.parentNode.removeChild(a)}var a,b,c,d,e=[],f=e.slice,g=window.document,h={},i={},j=g.defaultView.getComputedStyle,k={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,m=[1,3,8,9,11],n=["after","prepend","before","append"],o=g.createElement("table"),p=g.createElement("tr"),q={tr:g.createElement("tbody"),tbody:o,thead:o,tfoot:o,td:p,th:p,"*":g.createElement("div")},r=/complete|loaded|interactive/,s=/^\.([\w-]+)$/,t=/^#([\w-]+)$/,u=/^[\w-]+$/,v={}.toString,w={},x,y,z=g.createElement("div");return w.matches=function(a,b){if(!a||a.nodeType!==1)return!1;var c=a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.matchesSelector;if(c)return c.call(a,b);var d,e=a.parentNode,f=!e;return f&&(e=z).appendChild(a),d=~w.qsa(e,b).indexOf(a),f&&z.removeChild(a),d},x=function(a){return a.replace(/-+(.)?/g,function(a,b){return b?b.toUpperCase():""})},y=function(a){return a.filter(function(b,c){return a.indexOf(b)==c})},w.fragment=function(b,d){d===a&&(d=l.test(b)&&RegExp.$1),d in q||(d="*");var e=q[d];return e.innerHTML=""+b,c.each(f.call(e.childNodes),function(){e.removeChild(this)})},w.Z=function(a,b){return a=a||[],a.__proto__=arguments.callee.prototype,a.selector=b||"",a},w.isZ=function(a){return a instanceof w.Z},w.init=function(b,d){if(!b)return w.Z();if(A(b))return c(g).ready(b);if(w.isZ(b))return b;var e;if(D(b))e=F(b);else if(C(b))e=[c.extend({},b)],b=null;else if(m.indexOf(b.nodeType)>=0||b===window)e=[b],b=null;else if(l.test(b))e=w.fragment(b.trim(),RegExp.$1),b=null;else{if(d!==a)return c(d).find(b);e=w.qsa(g,b)}return w.Z(e,b)},c=function(a,b){return w.init(a,b)},c.extend=function(c){return f.call(arguments,1).forEach(function(d){for(b in d)d[b]!==a&&(c[b]=d[b])}),c},w.qsa=function(a,b){var c;return a===g&&t.test(b)?(c=a.getElementById(RegExp.$1))?[c]:e:a.nodeType!==1&&a.nodeType!==9?e:f.call(s.test(b)?a.getElementsByClassName(RegExp.$1):u.test(b)?a.getElementsByTagName(b):a.querySelectorAll(b))},c.isFunction=A,c.isObject=B,c.isArray=D,c.isPlainObject=C,c.inArray=function(a,b,c){return e.indexOf.call(b,a,c)},c.trim=function(a){return a.trim()},c.uuid=0,c.map=function(a,b){var c,d=[],e,f;if(E(a))for(e=0;e0&&w.matches(this[0],a)},not:function(b){var d=[];if(A(b)&&b.call!==a)this.each(function(a){b.call(this,a)||d.push(this)});else{var e=typeof b=="string"?this.filter(b):E(b)&&A(b.item)?f.call(b):c(b);this.forEach(function(a){e.indexOf(a)<0&&d.push(a)})}return c(d)},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){var a=this[0];return a&&!B(a)?a:c(a)},last:function(){var a=this[this.length-1];return a&&!B(a)?a:c(a)},find:function(a){var b;return this.length==1?b=w.qsa(this[0],a):b=this.map(function(){return w.qsa(this,a)}),c(b)},closest:function(a,b){var d=this[0];while(d&&!w.matches(d,a))d=d!==b&&d!==g&&d.parentNode;return c(d)},parents:function(a){var b=[],d=this;while(d.length>0)d=c.map(d,function(a){if((a=a.parentNode)&&a!==g&&b.indexOf(a)<0)return b.push(a),a});return L(b,a)},parent:function(a){return L(y(this.pluck("parentNode")),a)},children:function(a){return L(this.map(function(){return f.call(this.children)}),a)},siblings:function(a){return L(this.map(function(a,b){return f.call(b.parentNode.children).filter(function(a){return a!==b})}),a)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(a){return this.map(function(){return this[a]})},show:function(){return this.each(function(){this.style.display=="none"&&(this.style.display=null),j(this,"").getPropertyValue("display")=="none"&&(this.style.display=K(this.nodeName))})},replaceWith:function(a){return this.before(a).remove()},wrap:function(a){return this.each(function(){c(this).wrapAll(c(a)[0].cloneNode(!1))})},wrapAll:function(a){return this[0]&&(c(this[0]).before(a=c(a)),a.append(this)),this},unwrap:function(){return this.parent().each(function(){c(this).replaceWith(c(this).children())}),this},clone:function(){return c(this.map(function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(b){return(b===a?this.css("display")=="none":b)?this.show():this.hide()},prev:function(){return c(this.pluck("previousElementSibling"))},next:function(){return c(this.pluck("nextElementSibling"))},html:function(b){return b===a?this.length>0?this[0].innerHTML:null:this.each(function(a){var d=this.innerHTML;c(this).empty().append(M(this,b,a,d))})},text:function(b){return b===a?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=b})},attr:function(c,d){var e;return typeof c=="string"&&d===a?this.length==0||this[0].nodeType!==1?a:c=="value"&&this[0].nodeName=="INPUT"?this.val():!(e=this[0].getAttribute(c))&&c in this[0]?this[0][c]:e:this.each(function(a){if(this.nodeType!==1)return;if(B(c))for(b in c)this.setAttribute(b,c[b]);else this.setAttribute(c,M(this,d,a,this.getAttribute(c)))})},removeAttr:function(a){return this.each(function(){this.nodeType===1&&this.removeAttribute(a)})},prop:function(b,c){return c===a?this[0]?this[0][b]:a:this.each(function(a){this[b]=M(this,c,a,this[b])})},data:function(b,c){var d=this.attr("data-"+H(b),c);return d!==null?d:a},val:function(b){return b===a?this.length>0?this[0].value:a:this.each(function(a){this.value=M(this,b,a,this.value)})},offset:function(){if(this.length==0)return null;var a=this[0].getBoundingClientRect();return{left:a.left+window.pageXOffset,top:a.top+window.pageYOffset,width:a.width,height:a.height}},css:function(c,d){if(d===a&&typeof c=="string")return this.length==0?a:this[0].style[x(c)]||j(this[0],"").getPropertyValue(c);var e="";for(b in c)typeof c[b]=="string"&&c[b]==""?this.each(function(){this.style.removeProperty(H(b))}):e+=H(b)+":"+J(b,c[b])+";";return typeof c=="string"&&(d==""?this.each(function(){this.style.removeProperty(H(c))}):e=H(c)+":"+J(c,d)),this.each(function(){this.style.cssText+=";"+e})},index:function(a){return a?this.indexOf(c(a)[0]):this.parent().children().indexOf(this[0])},hasClass:function(a){return this.length<1?!1:I(a).test(this[0].className)},addClass:function(a){return this.each(function(b){d=[];var e=this.className,f=M(this,a,b,e);f.split(/\s+/g).forEach(function(a){c(this).hasClass(a)||d.push(a)},this),d.length&&(this.className+=(e?" ":"")+d.join(" "))})},removeClass:function(b){return this.each(function(c){if(b===a)return this.className="";d=this.className,M(this,b,c,d).split(/\s+/g).forEach(function(a){d=d.replace(I(a)," ")}),this.className=d.trim()})},toggleClass:function(b,d){return this.each(function(e){var f=M(this,b,e,this.className);(d===a?!c(this).hasClass(f):d)?c(this).addClass(f):c(this).removeClass(f)})}},["width","height"].forEach(function(b){c.fn[b]=function(d){var e,f=b.replace(/./,function(a){return a[0].toUpperCase()});return d===a?this[0]==window?window["inner"+f]:this[0]==g?g.documentElement["offset"+f]:(e=this.offset())&&e[b]:this.each(function(a){var e=c(this);e.css(b,M(this,d,a,e[b]()))})}}),n.forEach(function(a,b){c.fn[a]=function(){var a=c.map(arguments,function(a){return B(a)?a:w.fragment(a)});if(a.length<1)return this;var d=this.length,e=d>1,f=b<2;return this.each(function(c,g){for(var h=0;h0&&this.bind(o,n),setTimeout(function(){m.css(i),e<=0&&setTimeout(function(){m.each(function(){n.call(this)})},0)},0),this},i=null}(Zepto),function($){function triggerAndReturn(a,b,c){var d=$.Event(b);return $(a).trigger(d,c),!d.defaultPrevented}function triggerGlobal(a,b,c,d){if(a.global)return triggerAndReturn(b||document,c,d)}function ajaxStart(a){a.global&&$.active++===0&&triggerGlobal(a,null,"ajaxStart")}function ajaxStop(a){a.global&&!--$.active&&triggerGlobal(a,null,"ajaxStop")}function ajaxBeforeSend(a,b){var c=b.context;if(b.beforeSend.call(c,a,b)===!1||triggerGlobal(b,c,"ajaxBeforeSend",[a,b])===!1)return!1;triggerGlobal(b,c,"ajaxSend",[a,b])}function ajaxSuccess(a,b,c){var d=c.context,e="success";c.success.call(d,a,e,b),triggerGlobal(c,d,"ajaxSuccess",[b,c,a]),ajaxComplete(e,b,c)}function ajaxError(a,b,c,d){var e=d.context;d.error.call(e,c,b,a),triggerGlobal(d,e,"ajaxError",[c,d,a]),ajaxComplete(b,c,d)}function ajaxComplete(a,b,c){var d=c.context;c.complete.call(d,b,a),triggerGlobal(c,d,"ajaxComplete",[b,c]),ajaxStop(c)}function empty(){}function mimeToDataType(a){return a&&(a==htmlType?"html":a==jsonType?"json":scriptTypeRE.test(a)?"script":xmlTypeRE.test(a)&&"xml")||"text"}function appendQuery(a,b){return(a+"&"+b).replace(/[&?]{1,2}/,"?")}function serializeData(a){isObject(settings.data)&&(!settings.contentType||settings.contentType==="application/x-www-form-urlencoded"?settings.data=$.param(settings.data):settings.contentType==="application/json"&&(settings.data=JSON.stringify(settings.data))),a.data&&(!a.type||a.type.toUpperCase()=="GET")&&(a.url=appendQuery(a.url,a.data))}function serialize(a,b,c,d){var e=$.isArray(b);$.each(b,function(b,f){d&&(b=c?d:d+"["+(e?"":b)+"]"),!d&&e?a.add(f.name,f.value):(c?$.isArray(f):isObject(f))?serialize(a,f,c,b):a.add(b,f)})}var jsonpID=0,isObject=$.isObject,document=window.document,key,name,rscript=/)<[^<]*)*<\/script>/gi,scriptTypeRE=/^(?:text|application)\/javascript/i,xmlTypeRE=/^(?:text|application)\/xml/i,jsonType="application/json",htmlType="text/html",blankRE=/^\s*$/;$.active=0,$.ajaxJSONP=function(a){var b="jsonp"+ ++jsonpID,c=document.createElement("script"),d=function(){$(c).remove(),b in window&&(window[b]=empty),ajaxComplete("abort",e,a)},e={abort:d},f;return a.error&&(c.onerror=function(){e.abort(),a.error()}),window[b]=function(d){clearTimeout(f),$(c).remove(),delete window[b],ajaxSuccess(d,e,a)},serializeData(a),c.src=a.url.replace(/=\?/,"="+b),$("head").append(c),a.timeout>0&&(f=setTimeout(function(){e.abort(),ajaxComplete("timeout",e,a)},a.timeout)),e},$.ajaxSettings={type:"GET",beforeSend:empty,success:empty,error:empty,complete:empty,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript",json:jsonType,xml:"application/xml, text/xml",html:htmlType,text:"text/plain"},crossDomain:!1,timeout:0},$.ajax=function(options){var settings=$.extend({},options||{});for(key in $.ajaxSettings)settings[key]===undefined&&(settings[key]=$.ajaxSettings[key]);ajaxStart(settings),settings.crossDomain||(settings.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(settings.url)&&RegExp.$2!=window.location.host);var dataType=settings.dataType,hasPlaceholder=/=\?/.test(settings.url);if(dataType=="jsonp"||hasPlaceholder)return hasPlaceholder||(settings.url=appendQuery(settings.url,"callback=?")),$.ajaxJSONP(settings);settings.url||(settings.url=window.location.toString()),serializeData(settings);var mime=settings.accepts[dataType],baseHeaders={},protocol=/^([\w-]+:)\/\//.test(settings.url)?RegExp.$1:window.location.protocol,xhr=$.ajaxSettings.xhr(),abortTimeout;settings.crossDomain||(baseHeaders["X-Requested-With"]="XMLHttpRequest"),mime&&(baseHeaders.Accept=mime,mime.indexOf(",")>-1&&(mime=mime.split(",",2)[0]),xhr.overrideMimeType&&xhr.overrideMimeType(mime));if(settings.xhrFields)for(var i in settings.xhrFields)xhr[i]=settings.xhrFields[i];if(settings.contentType||settings.data&&settings.type.toUpperCase()!="GET")baseHeaders["Content-Type"]=settings.contentType||"application/x-www-form-urlencoded";settings.headers=$.extend(baseHeaders,settings.headers||{}),xhr.onreadystatechange=function(){if(xhr.readyState==4){clearTimeout(abortTimeout);var result,error=!1;if(xhr.status>=200&&xhr.status<300||xhr.status==304||xhr.status==0&&protocol=="file:"){dataType=dataType||mimeToDataType(xhr.getResponseHeader("content-type")),result=xhr.responseText;try{dataType=="script"?(1,eval)(result):dataType=="xml"?result=xhr.responseXML:dataType=="json"&&(result=blankRE.test(result)?null:JSON.parse(result))}catch(e){error=e}error?ajaxError(error,"parsererror",xhr,settings):ajaxSuccess(result,xhr,settings)}else ajaxError(null,"error",xhr,settings)}};var async="async"in settings?settings.async:!0;xhr.open(settings.type,settings.url,async);for(name in settings.headers)xhr.setRequestHeader(name,settings.headers[name]);return ajaxBeforeSend(xhr,settings)===!1?(xhr.abort(),!1):(settings.timeout>0&&(abortTimeout=setTimeout(function(){xhr.onreadystatechange=empty,xhr.abort(),ajaxError(null,"timeout",xhr,settings)},settings.timeout)),xhr.send(settings.data?settings.data:null),xhr)},$.get=function(a,b){return $.ajax({url:a,success:b})},$.post=function(a,b,c,d){return $.isFunction(b)&&(d=d||c,c=b,b=null),$.ajax({type:"POST",url:a,data:b,success:c,dataType:d})},$.getJSON=function(a,b){return $.ajax({url:a,success:b,dataType:"json"})},$.fn.load=function(a,b){if(!this.length)return this;var c=this,d=a.split(/\s/),e;return d.length>1&&(a=d[0],e=d[1]),$.get(a,function(a){c.html(e?$(document.createElement("div")).html(a.replace(rscript,"")).find(e).html():a),b&&b.call(c)}),this};var escape=encodeURIComponent;$.param=function(a,b){var c=[];return c.add=function(a,b){this.push(escape(a)+"="+escape(b))},serialize(c,a,b),c.join("&").replace("%20","+")}}(Zepto),function(a){a.fn.serializeArray=function(){var b=[],c;return a(Array.prototype.slice.call(this.get(0).elements)).each(function(){c=a(this);var d=c.attr("type");this.nodeName.toLowerCase()!="fieldset"&&!this.disabled&&d!="submit"&&d!="reset"&&d!="button"&&(d!="radio"&&d!="checkbox"||this.checked)&&b.push({name:c.attr("name"),value:c.val()})}),b},a.fn.serialize=function(){var a=[];return this.serializeArray().forEach(function(b){a.push(encodeURIComponent(b.name)+"="+encodeURIComponent(b.value))}),a.join("&")},a.fn.submit=function(b){if(b)this.bind("submit",b);else if(this.length){var c=a.Event("submit");this.eq(0).trigger(c),c.defaultPrevented||this.get(0).submit()}return this}}(Zepto),function(a){function d(a){return"tagName"in a?a:a.parentNode}function e(a,b,c,d){var e=Math.abs(a-b),f=Math.abs(c-d);return e>=f?a-b>0?"Left":"Right":c-d>0?"Up":"Down"}function h(){g=null,b.last&&(b.el.trigger("longTap"),b={})}function i(){g&&clearTimeout(g),g=null}var b={},c,f=750,g;a(document).ready(function(){var j,k;a(document.body).bind("touchstart",function(e){j=Date.now(),k=j-(b.last||j),b.el=a(d(e.touches[0].target)),c&&clearTimeout(c),b.x1=e.touches[0].pageX,b.y1=e.touches[0].pageY,k>0&&k<=250&&(b.isDoubleTap=!0),b.last=j,g=setTimeout(h,f)}).bind("touchmove",function(a){i(),b.x2=a.touches[0].pageX,b.y2=a.touches[0].pageY}).bind("touchend",function(a){i(),b.isDoubleTap?(b.el.trigger("doubleTap"),b={}):b.x2&&Math.abs(b.x1-b.x2)>30||b.y2&&Math.abs(b.y1-b.y2)>30?(b.el.trigger("swipe")&&b.el.trigger("swipe"+e(b.x1,b.x2,b.y1,b.y2)),b={}):"last"in b&&(b.el.trigger("tap"),c=setTimeout(function(){c=null,b.el.trigger("singleTap"),b={}},250))}).bind("touchcancel",function(){c&&clearTimeout(c),g&&clearTimeout(g),g=c=null,b={}})}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(b){a.fn[b]=function(a){return this.bind(b,a)}})}(Zepto),Zepto}),define("joshfire-framework/adapters/phone/utils/dollar",["joshlib!vendor/zepto"],function(a){return a}),define("joshfire-framework/vendor/underscore",[],function(){return function(){function A(a,b,c){if(a===b)return a!==0||1/a==1/b;if(a==null||b==null)return a===b;a._chain&&(a=a._wrapped),b._chain&&(b=b._wrapped);if(a.isEqual&&w.isFunction(a.isEqual))return a.isEqual(b);if(b.isEqual&&w.isFunction(b.isEqual))return b.isEqual(a);var d=i.call(a);if(d!=i.call(b))return!1;switch(d){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:a==0?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if(typeof a!="object"||typeof b!="object")return!1;var e=c.length;while(e--)if(c[e]==a)return!0;c.push(a);var f=0,g=!0;if(d=="[object Array]"){f=a.length,g=f==b.length;if(g)while(f--)if(!(g=f in a==f in b&&A(a[f],b[f],c)))break}else{if("constructor"in a!="constructor"in b||a.constructor!=b.constructor)return!1;for(var h in a)if(w.has(a,h)){f++;if(!(g=w.has(b,h)&&A(a[h],b[h],c)))break}if(g){for(h in b)if(w.has(b,h)&&!(f--))break;g=!f}}return c.pop(),g}var a=this,b=a._,c={},d=Array.prototype,e=Object.prototype,f=Function.prototype,g=d.slice,h=d.unshift,i=e.toString,j=e.hasOwnProperty,k=d.forEach,l=d.map,m=d.reduce,n=d.reduceRight,o=d.filter,p=d.every,q=d.some,r=d.indexOf,s=d.lastIndexOf,t=Array.isArray,u=Object.keys,v=f.bind,w=function(a){return new I(a)};typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=w),exports._=w):a._=w,w.VERSION="1.3.3";var x=w.each=w.forEach=function(a,b,d){if(a==null)return;if(k&&a.forEach===k)a.forEach(b,d);else if(a.length===+a.length){for(var e=0,f=a.length;e2;a==null&&(a=[]);if(m&&a.reduce===m)return d&&(b=w.bind(b,d)),e?a.reduce(b,c):a.reduce(b);x(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)});if(!e)throw new TypeError("Reduce of empty array with no initial value");return c},w.reduceRight=w.foldr=function(a,b,c,d){var e=arguments.length>2;a==null&&(a=[]);if(n&&a.reduceRight===n)return d&&(b=w.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=w.toArray(a).reverse();return d&&!e&&(b=w.bind(b,d)),e?w.reduce(f,b,c,d):w.reduce(f,b)},w.find=w.detect=function(a,b,c){var d;return y(a,function(a,e,f){if(b.call(c,a,e,f))return d=a,!0}),d},w.filter=w.select=function(a,b,c){var d=[];return a==null?d:o&&a.filter===o?a.filter(b,c):(x(a,function(a,e,f){b.call(c,a,e,f)&&(d[d.length]=a)}),d)},w.reject=function(a,b,c){var d=[];return a==null?d:(x(a,function(a,e,f){b.call(c,a,e,f)||(d[d.length]=a)}),d)},w.every=w.all=function(a,b,d){var e=!0;return a==null?e:p&&a.every===p?a.every(b,d):(x(a,function(a,f,g){if(!(e=e&&b.call(d,a,f,g)))return c}),!!e)};var y=w.some=w.any=function(a,b,d){b||(b=w.identity);var e=!1;return a==null?e:q&&a.some===q?a.some(b,d):(x(a,function(a,f,g){if(e||(e=b.call(d,a,f,g)))return c}),!!e)};w.include=w.contains=function(a,b){var c=!1;return a==null?c:r&&a.indexOf===r?a.indexOf(b)!=-1:(c=y(a,function(a){return a===b}),c)},w.invoke=function(a,b){var c=g.call(arguments,2);return w.map(a,function(a){return(w.isFunction(b)?b||a:a[b]).apply(a,c)})},w.pluck=function(a,b){return w.map(a,function(a){return a[b]})},w.max=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.max.apply(Math,a);if(!b&&w.isEmpty(a))return-Infinity;var d={computed:-Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>=d.computed&&(d={value:a,computed:g})}),d.value},w.min=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.min.apply(Math,a);if(!b&&w.isEmpty(a))return Infinity;var d={computed:Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;gd?1:0}),"value")},w.groupBy=function(a,b){var c={},d=w.isFunction(b)?b:function(a){return a[b]};return x(a,function(a,b){var e=d(a,b);(c[e]||(c[e]=[])).push(a)}),c},w.sortedIndex=function(a,b,c){c||(c=w.identity);var d=0,e=a.length;while(d>1;c(a[f])=0})})},w.difference=function(a){var b=w.flatten(g.call(arguments,1),!0);return w.filter(a,function(a){return!w.include(b,a)})},w.zip=function(){var a=g.call(arguments),b=w.max(w.pluck(a,"length")),c=new Array(b);for(var d=0;d=0;c--)b=[a[c].apply(this,b)];return b[0]}},w.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}},w.keys=u||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)w.has(a,c)&&(b[b.length]=c);return b},w.values=function(a){return w.map(a,w.identity)},w.functions=w.methods=function(a){var b=[];for(var c in a)w.isFunction(a[c])&&b.push(c);return b.sort()},w.extend=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a},w.pick=function(a){var b={};return x(w.flatten(g.call(arguments,1)),function(c){c in a&&(b[c]=a[c])}),b},w.defaults=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]==null&&(a[c]=b[c])}),a},w.clone=function(a){return w.isObject(a)?w.isArray(a)?a.slice():w.extend({},a):a},w.tap=function(a,b){return b(a),a},w.isEqual=function(a,b){return A(a,b,[])},w.isEmpty=function(a){if(a==null)return!0;if(w.isArray(a)||w.isString(a))return a.length===0;for(var b in a)if(w.has(a,b))return!1;return!0},w.isElement=function(a){return!!a&&a.nodeType==1},w.isArray=t||function(a){return i.call(a)=="[object Array]"},w.isObject=function(a){return a===Object(a)},w.isArguments=function(a){return i.call(a)=="[object Arguments]"},w.isArguments(arguments)||(w.isArguments=function(a){return!!a&&!!w.has(a,"callee")}),w.isFunction=function(a){return i.call(a)=="[object Function]"},w.isString=function(a){return i.call(a)=="[object String]"},w.isNumber=function(a){return i.call(a)=="[object Number]"},w.isFinite=function(a){return w.isNumber(a)&&isFinite(a)},w.isNaN=function(a){return a!==a},w.isBoolean=function(a){return a===!0||a===!1||i.call(a)=="[object Boolean]"},w.isDate=function(a){return i.call(a)=="[object Date]"},w.isRegExp=function(a){return i.call(a)=="[object RegExp]"},w.isNull=function(a){return a===null},w.isUndefined=function(a){return a===void 0},w.has=function(a,b){return j.call(a,b)},w.noConflict=function(){return a._=b,this},w.identity=function(a){return a},w.times=function(a,b,c){for(var d=0;d/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},w.result=function(a,b){if(a==null)return null;var c=a[b];return w.isFunction(c)?c.call(a):c},w.mixin=function(a){x(w.functions(a),function(b){K(b,w[b]=a[b])})};var B=0;w.uniqueId=function(a){var b=B++;return a?a+b:b},w.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var C=/.^/,D={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"};for(var E in D)D[D[E]]=E;var F=/\\|'|\r|\n|\t|\u2028|\u2029/g,G=/\\(\\|'|r|n|t|u2028|u2029)/g,H=function(a){return a.replace(G,function(a,b){return D[b]})};w.template=function(a,b,c){c=w.defaults(c||{},w.templateSettings);var d="__p+='"+a.replace(F,function(a){return"\\"+D[a]}).replace(c.escape||C,function(a,b){return"'+\n_.escape("+H(b)+")+\n'"}).replace(c.interpolate||C,function(a,b){return"'+\n("+H(b)+")+\n'"}).replace(c.evaluate||C,function(a,b){return"';\n"+H(b)+"\n;__p+='"})+"';\n";c.variable||(d="with(obj||{}){\n"+d+"}\n"),d="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+d+"return __p;\n";var e=new Function(c.variable||"obj","_",d);if(b)return e(b,w);var f=function(a){return e.call(this,a,w)};return f.source="function("+(c.variable||"obj")+"){\n"+d+"}",f},w.chain=function(a){return w(a).chain()};var I=function(a){this._wrapped=a};w.prototype=I.prototype;var J=function(a,b){return b?w(a).chain():a},K=function(a,b){I.prototype[a]=function(){var a=g.call(arguments);return h.call(a,this._wrapped),J(b.apply(w,a),this._chain)}};w.mixin(w),x(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=d[a];I.prototype[a]=function(){var c=this._wrapped;b.apply(c,arguments);var d=c.length;return(a=="shift"||a=="splice")&&d===0&&delete c[0],J(c,this._chain)}}),x(["concat","join","slice"],function(a){var b=d[a];I.prototype[a]=function(){return J(b.apply(this._wrapped,arguments),this._chain)}}),I.prototype.chain=function(){return this._chain=!0,this},I.prototype.value=function(){return this._wrapped}}.call(this),typeof exports!="undefined"?typeof module!="undefined"&&module.exports?exports:exports._:this._}),function(a){var b=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a},c=function(a){if(a["@type"]==="VideoObject"||a["@type"]==="AudioObject")return a;var b=null;switch(a["@type"]){case"MusicRecording":b=["audio","associatedMedia","video"];break;default:b=["video","associatedMedia","audio"]}for(var c=0,d=b.length;cc.width+1?c.height=e.height:e.width';for(var e=0;e'}d+="",typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),h=e.extend({initialize:function(a){this.sources=a.sources,this.poster=a.poster||"",this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},addPolyFill:function(){var a=document.getElementsByTagName("body")[0],b=document.createElement("link"),c=document.createElement("script");b.setAttribute("href","http://vjs.zencdn.net/c/video-js.css"),b.setAttribute("rel","stylesheet"),c.setAttribute("src","http://vjs.zencdn.net/c/video.js"),a.appendChild(b),a.appendChild(c)},toHtml:function(a){var b=this.poster?' poster="'+this.poster+'"':"",c=this.autoPlay?" autoplay":"",d='",typeof window!="undefined"&&typeof window.VideoJS=="undefined"&&this.addPolyFill(),typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),i=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||40,this.autoPlay=a.autoPlay||!1},iCanHazAudioTag:function(a){if(!document)return!1;var b=document.createElement("audio");return b.canPlayType},toHtml:function(a){var b="";if(this.sources&&this.sources.length){for(var c=0;c";break}b||(b='Play')}typeof a=="function"&&a(null,b,{})}}),j=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},toHtml:function(a){var b="mediaplayerlib-mediaelement-video-"+j.nextId++,c=this.poster?' poster="'+this.poster+'"':"",d=this.autoPlay?" autoplay":"",e='",e+="",typeof a=="function"&&a(null,e,{width:this.width,height:this.height})}});j.nextId=0;var k=e.extend({initialize:function(a){this.options=a},toHtml:function(b){var c=null;for(var d=0;d';typeof a=="function"&&a(null,b,{width:this.width,height:this.height})}}),m=e.extend({initialize:function(a){this.url=a.url,this.publisher=a.publisher,this.width=a.width||500,this.height=a.height||281},toHtml:function(a){var b=this.url||"",c="",d="",e=function(){var a=function(){return((1+Math.random())*65536|0).toString(16).substring(1)};return"mediaplayerlib-"+a()+a()+a()};d=e(),this.publisher==="Ooyala"?(b+=(b.indexOf("?")===-1?"?":"&")+"width="+encodeURIComponent(this.width)+"&height="+encodeURIComponent(this.height),c='
'+'"+''):c='',typeof a=="function"&&a(null,c,{width:this.width,height:this.height})}}),n=e.extend({toHtml:function(a){typeof a=="function"&&a(new Error("Unknown media type."),"Unknown media type.")}}),o=function(){};b(o.prototype,{execute:function(a,b){return new n(b)}}),o.extend=function(a){var c=function(a){o.call(this,a)};return b(c.prototype,a),c};var p=o.extend({execute:function(a,e){var f,g=c(a)||{},i=d(g,e);b(e,i);if(g["@type"]==="VideoObject")if(g.playerType==="iframe")b(e,{url:g.embedURL}),f=new l(e);else if(g.playerType==="script")b(e,{url:g.embedURL,publisher:g.publisher?g.publisher.name:null}),f=new m(e);else if(g.contentURL){var j=null;g.image&&g.image.contentURL&&(j=g.image.contentURL),b(e,{poster:j,sources:[g.contentURL]}),f=new h(e)}return f||new n}}),q=o.extend({execute:function(a,e){var f,h=c(a)||{},j=d(h,e);b(e,j);if(h.playerType==="iframe")b(e,{url:h.embedURL,html5:!0}),f=new l(e);else if(h.playerType==="script")b(e,{url:h.embedURL,html5:!0,publisher:h.publisher?h.publisher.name:null}),f=new m(e);else if(h["@type"]==="VideoObject"){if(h.contentURL){var k=null;h.image&&(k=h.image.contentURL),b(e,{poster:k,sources:[h.contentURL]}),f=new g(e)}}else h["@type"]==="AudioObject"&&h.contentURL&&(b(e,{sources:[h.contentURL]}),f=new i(e));return f}}),r=o.extend({execute:function(a,e){var f=c(a)||{},g=d(f,e);b(e,g);var h;if(a["@type"]==="VideoObject"){if(typeof a.contentURL!="undefined"){var i=null;f.image&&(i=f.image.contentURL),b(e,{poster:i,sources:[a.contentURL]}),h=new j(e)}}else a["@type"]==="AudioObject"&&typeof a.contentURL!="undefined"&&b(e,{sources:[a.contentURL]});return h}}),s=o.extend({execute:function(a,c){var d;return typeof a.url!="undefined"&&(b(c,{url:a.url}),d=new k(c)),d}}),t=function(){this.strategies={def:new p,html5:new q,mediaElement:new r,oembed:new s}};b(t.prototype,{resolve:function(a,b){b=b||{};var c;if(typeof b.strategy!="undefined"&&typeof this.strategies[b.strategy]!="undefined"){var d=this.strategies[b.strategy];c=d.execute(a,b)}return c||this.strategies.def.execute(a,b)},insertFragment:function(a,b){function d(a,b){b(a);for(var c in a.childNodes)d(a.childNodes[c],b)}function e(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()}function f(a){var b=a.text||a.textContent||a.innerHTML||"",c=a.getAttribute("src"),d=document.getElementsByTagName("head")[0]||document.documentElement,e=document.createElement("script");e.type="text/javascript",c&&e.setAttribute("src",c),b&&e.appendChild(document.createTextNode(b)),d.insertBefore(e,d.firstChild),a.parentNode&&a.parentNode.removeChild(a)}var c=null;Object.prototype.toString.call(b)==="[object String]"?c=document.getElementById(b):c=b,c.innerHTML=(""+a).trim();var g=[],h=null;d(c,function(a){a.nodeName&&a.nodeName.toUpperCase()==="SCRIPT"&&(!a.type||a.type==="text/javascript")&&g.push(a)});for(h in g)f(g[h])},insert:function(a,b,c,d){var e=this,f=this.resolve(a,b).toHtml(function(a,b){e.insertFragment(b,c),typeof d=="function"&&d(null)})}}),typeof Joshfire!="undefined"&&typeof Joshfire.define!="undefined"?Joshfire.define([],function(){return new t}):typeof define!="undefined"?define("joshfire-framework/utils/mediaplayerlib",[],function(){return new t}):a.mediaFactory=new t}(typeof module!="undefined"?module.exports:window),define("joshfire-framework/vendor/backbone",["joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b){return function(){var c=this,d=c.Backbone,e=Array.prototype.slice,f=Array.prototype.splice,g;typeof exports!="undefined"?g=exports:g=c.Backbone={},g.VERSION="0.9.2",g.setDomLibrary=function(a){b=a},g.noConflict=function(){return c.Backbone=d,this},g.emulateHTTP=!1,g.emulateJSON=!1;var h=/\s+/,i=g.Events={on:function(a,b,c){var d,e,f,g,i;if(!b)return this;a=a.split(h),d=this._callbacks||(this._callbacks={});while(e=a.shift())i=d[e],f=i?i.tail:{},f.next=g={},f.context=c,f.callback=b,d[e]={tail:g,next:i?i.next:f};return this},off:function(b,c,d){var e,f,g,i,j,k;if(!(f=this._callbacks))return;if(!(b||c||d))return delete this._callbacks,this;b=b?b.split(h):a.keys(f);while(e=b.shift()){g=f[e],delete f[e];if(!g||!c&&!d)continue;i=g.tail;while((g=g.next)!==i)j=g.callback,k=g.context,(c&&j!==c||d&&k!==d)&&this.on(e,j,k)}return this},trigger:function(a){var b,c,d,f,g,i,j;if(!(d=this._callbacks))return this;i=d.all,a=a.split(h),j=e.call(arguments,1);while(b=a.shift()){if(c=d[b]){f=c.tail;while((c=c.next)!==f)c.callback.apply(c.context||this,j)}if(c=i){f=c.tail,g=[b].concat(j);while((c=c.next)!==f)c.callback.apply(c.context||this,g)}}return this}};i.bind=i.on,i.unbind=i.off;var j=g.Model=function(b,c){var d;b||(b={}),c&&c.parse&&(b=this.parse(b));if(d=A(this,"defaults"))b=a.extend({},d,b);c&&c.collection&&(this.collection=c.collection),this.attributes={},this._escapedAttributes={},this.cid=a.uniqueId("c"),this.changed={},this._silent={},this._pending={},this.set(b,{silent:!0}),this.changed={},this._silent={},this._pending={},this._previousAttributes=a.clone(this.attributes),this.initialize.apply(this,arguments)};a.extend(j.prototype,i,{changed:null,_silent:null,_pending:null,idAttribute:"id",initialize:function(){},toJSON:function(b){return a.clone(this.attributes)},get:function(a){return this.attributes[a]},escape:function(b){var c;if(c=this._escapedAttributes[b])return c;var d=this.get(b);return this._escapedAttributes[b]=a.escape(d==null?"":""+d)},has:function(a){return this.get(a)!=null},set:function(b,c,d){var e,f,g;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d||(d={});if(!e)return this;e instanceof j&&(e=e.attributes);if(d.unset)for(f in e)e[f]=void 0;if(!this._validate(e,d))return!1;this.idAttribute in e&&(this.id=e[this.idAttribute]);var h=d.changes={},i=this.attributes,k=this._escapedAttributes,l=this._previousAttributes||{};for(f in e){g=e[f];if(!a.isEqual(i[f],g)||d.unset&&a.has(i,f))delete k[f],(d.silent?this._silent:h)[f]=!0;d.unset?delete i[f]:i[f]=g,!a.isEqual(l[f],g)||a.has(i,f)!=a.has(l,f)?(this.changed[f]=g,d.silent||(this._pending[f]=!0)):(delete this.changed[f],delete this._pending[f])}return d.silent||this.change(d),this},unset:function(a,b){return(b||(b={})).unset=!0,this.set(a,null,b)},clear:function(b){return(b||(b={})).unset=!0,this.set(a.clone(this.attributes),b)},fetch:function(b){b=b?a.clone(b):{};var c=this,d=b.success;return b.success=function(a,e,f){if(!c.set(c.parse(a,f),b))return!1;d&&d(c,a)},b.error=g.wrapError(b.error,c,b),(this.sync||g.sync).call(this,"read",this,b)},save:function(b,c,d){var e,f;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d=d?a.clone(d):{};if(d.wait){if(!this._validate(e,d))return!1;f=a.clone(this.attributes)}var h=a.extend({},d,{silent:!0});if(e&&!this.set(e,d.wait?h:d))return!1;var i=this,j=d.success;d.success=function(b,c,f){var g=i.parse(b,f);d.wait&&(delete d.wait,g=a.extend(e||{},g));if(!i.set(g,d))return!1;j?j(i,b):i.trigger("sync",i,b,d)},d.error=g.wrapError(d.error,i,d);var k=this.isNew()?"create":"update",l=(this.sync||g.sync).call(this,k,this,d);return d.wait&&this.set(f,h),l},destroy:function(b){b=b?a.clone(b):{};var c=this,d=b.success,e=function(){c.trigger("destroy",c,c.collection,b)};if(this.isNew())return e(),!1;b.success=function(a){b.wait&&e(),d?d(c,a):c.trigger("sync",c,a,b)},b.error=g.wrapError(b.error,c,b);var f=(this.sync||g.sync).call(this,"delete",this,b);return b.wait||e(),f},url:function(){var a=A(this,"urlRoot")||A(this.collection,"url")||B();return this.isNew()?a:a+(a.charAt(a.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},parse:function(a,b){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},change:function(b){b||(b={});var c=this._changing;this._changing=!0;for(var d in this._silent)this._pending[d]=!0;var e=a.extend({},b.changes,this._silent);this._silent={};for(var d in e)this.trigger("change:"+d,this,this.get(d),b);if(c)return this;while(!a.isEmpty(this._pending)){this._pending={},this.trigger("change",this,b);for(var d in this.changed){if(this._pending[d]||this._silent[d])continue;delete this.changed[d]}this._previousAttributes=a.clone(this.attributes)}return this._changing=!1,this},hasChanged:function(b){return arguments.length?a.has(this.changed,b):!a.isEmpty(this.changed)},changedAttributes:function(b){if(!b)return this.hasChanged()?a.clone(this.changed):!1;var c,d=!1,e=this._previousAttributes;for(var f in b){if(a.isEqual(e[f],c=b[f]))continue;(d||(d={}))[f]=c}return d},previous:function(a){return!arguments.length||!this._previousAttributes?null:this._previousAttributes[a]},previousAttributes:function(){return a.clone(this._previousAttributes)},isValid:function(){return!this.validate(this.attributes)},_validate:function(b,c){if(c.silent||!this.validate)return!0;b=a.extend({},this.attributes,b);var d=this.validate(b,c);return d?(c&&c.error?c.error(this,d,c):this.trigger("error",this,d,c),!1):!0}});var k=g.Collection=function(a,b){b||(b={}),b.model&&(this.model=b.model),b.comparator&&(this.comparator=b.comparator),this._reset(),this.initialize.apply(this,arguments),a&&this.reset(a,{silent:!0,parse:b.parse})};a.extend(k.prototype,i,{model:j,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},add:function(b,c){var d,e,g,h,i,j,k={},l={},m=[];c||(c={}),b=a.isArray(b)?b.slice():[b];for(d=0,g=b.length;d').hide().appendTo("body")[0].contentWindow,this.navigate(d)),this._hasPushState?b(window).bind("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!f?b(window).bind("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=d;var g=window.location,h=g.pathname==this.options.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!h)return this.fragment=this.getFragment(null,!0),window.location.replace(this.options.root+"#"+this.fragment),!0;this._wantsPushState&&this._hasPushState&&h&&g.hash&&(this.fragment=this.getHash().replace(r,""),window.history.replaceState({},document.title,g.protocol+"//"+g.host+this.options.root+this.fragment));if(!this.options.silent)return this.loadUrl()},stop:function(){b(window).unbind("popstate",this.checkUrl).unbind("hashchange",this.checkUrl),clearInterval(this._checkUrlInterval),q.started=!1},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(a){var b=this.getFragment();b==this.fragment&&this.iframe&&(b=this.getFragment(this.getHash(this.iframe)));if(b==this.fragment)return!1;this.iframe&&this.navigate(b),this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(b){var c=this.fragment=this.getFragment(b),d=a.any(this.handlers,function(a){if(a.route.test(c))return a.callback(c),!0});return d},navigate:function(a,b){if(!q.started)return!1;if(!b||b===!0)b={trigger:b};var c=(a||"").replace(r,"");if(this.fragment==c)return;this._hasPushState?(c.indexOf(this.options.root)!=0&&(c=this.options.root+c),this.fragment=c,window.history[b.replace?"replaceState":"pushState"]({},document.title,c)):this._wantsHashChange?(this.fragment=c,this._updateHash(window.location,c,b.replace),this.iframe&&c!=this.getFragment(this.getHash(this.iframe))&&(b.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,c,b.replace))):window.location.assign(this.options.root+a),b.trigger&&this.loadUrl(a)},_updateHash:function(a,b,c){c?a.replace(a.toString().replace(/(javascript:|#).*$/,"")+"#"+b):a.hash=b}});var t=g.View=function(b){this.cid=a.uniqueId("view"),this._configure(b||{}),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},u=/^(\S+)\s*(.*)$/,v=["model","collection","el","id","attributes","className","tagName"];a.extend(t.prototype,i,{tagName:"div",$:function(a){return this.$el.find(a)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this},make:function(a,c,d){var e=document.createElement(a);return c&&b(e).attr(c),d&&b(e).html(d),e},setElement:function(a,c){return this.$el&&this.undelegateEvents(),this.$el=a instanceof b?a:b(a),this.el=this.$el[0],c!==!1&&this.delegateEvents(),this},delegateEvents:function(b){if(!b&&!(b=A(this,"events")))return;this.undelegateEvents();for(var c in b){var d=b[c];a.isFunction(d)||(d=this[b[c]]);if(!d)throw new Error('Method "'+b[c]+'" does not exist');var e=c.match(u),f=e[1],g=e[2];d=a.bind(d,this),f+=".delegateEvents"+this.cid,g===""?this.$el.bind(f,d):this.$el.delegate(g,f,d)}},undelegateEvents:function(){this.$el.unbind(".delegateEvents"+this.cid)},_configure:function(b){this.options&&(b=a.extend({},this.options,b));for(var c=0,d=v.length;c/g,">").replace(/"+a+"";var c="<"+this.el.nodeName.toLowerCase();for(var d=0;d",c},hide:function(){c(this.el).hide(),this.trigger("hidden")},show:function(){c(this.el).show(),this.trigger("shown")},enhance:function(){this.customLoadEvent||this.trigger("load"),this.loadingClass&&c(this.el)&&(c(this.el).addClass(this.loadingClass),this.unbind("load",this.removeLoadingClass,this),this.bind("load",this.removeLoadingClass,this))},removeLoadingClass:function(){c(this.el).removeClass(this.loadingClass)}});return d}),define("joshfire-framework/uielement",["joshlib!view"],function(a){var b=a.extend({});return b}),define("joshfire-framework/adapters/phone/uielement",["joshlib!adapters/none/uielement","joshlib!vendor/iscroll","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c,d){var e=a.extend({initialize:function(b){this.options.scroller&&d(this.el).css({overflow:"hidden"}),this.options.scrollerSelector&&(this.scrollerSelector=this.options.scrollerSelector),this.bind("shown",function(){this.hasScroller&&this.iScroller&&this.iScroller.refresh()},this),a.prototype.initialize.call(this,b)},enhance:function(){var b=this;if(this.options.scroller){b.insertScroller(),window.skiped&&b.iScroller.scrollToElement("li:nth-child("+window.skiped+")",200);var c=b.$("img");c.length&&b.$("img").bind("load",function(){setTimeout(function(){b.iScroller.refresh()},10)})}a.prototype.enhance.call(this)},insertScroller:function(){var a=this;this.hasScroller=!0,a.iScroller&&a.iScroller.destroy();var e=a.el;a.scrollerSelector&&(e=d(a.scrollerSelector,a.el).get(0)||a.el),a.iScroller=new b(e,c.extend({useTransition:!0,onScrollMove:function(){a.$("a").bind("click.iscrollprevent",function(a){a.preventDefault()})},onScrollEnd:function(){setTimeout(function(){a.$("a").unbind("click.iscrollprevent")},100)},onBeforeScrollStart:function(a){var b=a.target;while(b.nodeType!=1)b=b.parentNode;b.tagName!="SELECT"&&b.tagName!="INPUT"&&b.tagName!="TEXTAREA"&&a.preventDefault()}},a.options.scrollOptions||{})),a.options.scrollOptions&&a.options.scrollOptions.disabled&&a.iScroller.disable(),document.addEventListener("orientationChanged",function(b){a.iScroller&&a.iScroller.refresh()})}});return e}),define("joshfire-framework/ui/layout",["joshlib!uielement","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(c){c.template?this.template=this.compileTemplate(c.template):c.templateEl&&(this.template=this.compileTemplate($(c.templateEl).text())),this.customLoadEvent=!0,this.setChildren(c.children),this.bind("shown",function(){b.each(this.children,function(a){a.trigger("shown")})},this),this.bind("hidden",function(){b.each(this.children,function(a){a.trigger("hidden")})},this),a.prototype.initialize.call(this,c)},setChildren:function(a){this.children=a,this.numChildren=0,this.numChildrenLoaded=0,a&&b.each(a,b.bind(function(a){++this.numChildren,a.bind("load",b.bind(function(){++this.numChildrenLoaded,this.numChildrenLoaded===this.numChildren&&this.trigger("load")},this))},this))},getChild:function(a){if(a)return this.children[a]},generate:function(a){if(!this.children)return a(null,"");this.childrenOffsets={},this.numChildrenLoaded=0;var c=0,d="";b.each(this.children,b.bind(function(e,f){e.generate(b.bind(function(b,g){var h=e.wrapContent(g);this.childrenOffsets[f]=c,d+=h;if(++c===this.numChildren){var i=null;this.template?i=this.template({childrenOuterHTML:d}):i=d,a(null,i)}},this))},this))},setContent:function(b){a.prototype.setContent.call(this,b),this.children&&this.el&&this.setChildrenElements(!0)},setElement:function(b,c){a.prototype.setElement.call(this,b,c),this.setChildrenElements(c)},setChildrenElements:function(a){b.each(this.children,b.bind(function(a,b){var c=this.el.childNodes[this.childrenOffsets[b]];a.setElement(c,!0)},this))},enhance:function(){a.prototype.enhance.call(this),this.children&&this.el&&b.each(this.children,b.bind(function(a,b){a.enhance()},this)),(!this.children||this.children.length===0)&&this.trigger("load")}});return c}),define("joshfire-framework/ui/cardpanel",["joshlib!ui/layout","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(b){this.showChild(b.currentChild||b.defaultChildren),a.prototype.initialize.call(this,b)},showChild:function(a){if(this.currentChild===a)return;this.canUseDOM&&this.transition(this.currentChild,a),this.currentChild=a},showChildren:function(a){this.showChild(a)},transition:function(a,c){b.each(this.children,function(a,b){b!=c&&a.hide()}),c&&this.children[c].show()},enhance:function(){a.prototype.enhance.call(this),this.currentChild&&this.transition(null,this.currentChild),this.canUseDOM=!0}});return c}),define("joshfire-framework/ui/fadeinpanel",["joshlib!ui/cardpanel","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c){var d=a.extend({initialize:function(b){this.cssTransition=b.cssTransition||".4s ease-in-out all",a.prototype.initialize.call(this,b)},transition:function(a,d){var e=this.children[d];e.hide(),c(e.el).css({filter:"alpha(opacity=0)","-khtml-opacity":0,"-moz-opacity":0,"-ms-opacity":0,"-o-opacity":0,opacity:0,"-webkit-transition":"none","-moz-transition":"none","-ms-transition":"none","-o-transition":"none",transition:"none"}),b.each(this.children,b.bind(function(a,b){a.hide()},this)),e.show(),c(e.el).css({filter:"alpha(opacity=100)","-khtml-opacity":1,"-moz-opacity":1,"-ms-opacity":1,"-o-opacity":1,opacity:1,"-webkit-transition":"0.7s ease-in-out all","-moz-transition":"0.7s ease-in-out all","-ms-transition":"0.7s ease-in-out all","-o-transition":"0.7s ease-in-out all",transition:"0.7s ease-in-out all","-webkit-backface-visibility":"hidden"})}});return d}),define("joshfire-framework/ui/item",["joshlib!uielement","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){c.template?this.template=this.compileTemplate(c.template):c.templateEl&&(this.template=this.compileTemplate(b(c.templateEl).text())),this.setModel(c.model),a.prototype.initialize.call(this,c)},setModel:function(a,b){this.model=a,a&&a.bind("change",this.render,this),b&&this.render()},generate:function(a){if(!this.template)return a(null,"");if(!this.model)return a(null,"");var b={model:this.model,obj:this.model,item:this.model?this.model.toJSON():{}};c.extend(b,this.data),a(null,this.template(b))}});return d}),define("joshfire-framework/ui/dynamiccontainer",["joshlib!uielement","joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){var e=a.extend({initialize:function(e){this.setModel(e.model),this.setCollection(e.collection),this.viewTemplateEl=e.viewTemplateEl||e.itemTemplateEl,this.viewOptions=e.viewOptions||e.itemOptions||{},this.viewOptions.templateEl=this.viewOptions.templateEl||this.viewTemplateEl,this.viewOptions.template=this.viewOptions.template||e.viewTemplate||e.itemTemplate,e.template?this.template=this.compileTemplate(e.template):e.templateEl&&(this.template=this.compileTemplate(c(e.templateEl).text())),this.viewFactory=function(a,c){var f={model:a,collection:c};return d.extend(f,this.viewOptions),factory=e.viewFactory||e.itemFactory,factory?factory(f):new b(f)},this.customLoadEvent=!0,this.bind("shown",function(){this.view&&this.view.trigger("shown")},this),this.bind("hidden",function(){this.view&&this.view.trigger("hidden")},this),a.prototype.initialize.call(this,e)},setModel:function(a,b){this.model&&this.model.unbind("change",this.render,this),this.model=a,a&&a.bind("change",this.render,this),b&&this.render()},setCollection:function(a,b){this.collection&&(this.collection.unbind("change",this.render,this),this.collection.unbind("add",this.render,this),this.collection.unbind("remove",this.render,this),this.collection.unbind("reset",this.render,this)),this.collection=a,a&&(a.bind("change",this.render,this),a.bind("add",this.render,this),a.bind("remove",this.render,this),a.bind("reset",this.render,this)),b&&this.render()},generate:function(a){var b=this;this.view&&this.view.unbind("load",this.triggerLoad,this),this.view=this.viewFactory(this.model,this.collection);if(!this.view)return a(null,"");this.view.bind("load",this.triggerLoad,this),!this.view.model&&this.view.setModel&&this.view.setModel(this.model),!this.view.collection&&this.view.setCollection&&this.view.setCollection(this.collection),this.view.generate(function(c,d){var e=b.view.wrapContent(d),f=null;return e&&b.template?f=b.template({child:e}):f=e?e:"",a(c,f)})},setContent:function(b){a.prototype.setContent.call(this,b),this.view&&this.el&&this.setViewElement(!0)},setElement:function(b,c){a.prototype.setElement.call(this,b,c),this.setViewElement(c)},setViewElement:function(a){this.view&&this.view.setElement(this.el.firstChild,a)},enhance:function(){var b=this;this.view.enhance();var c=["navUp","navRight","navDown","navLeft","navAction","navFocus","navBlur"];d.each(c,function(a){b[a]=b.view[a]}),a.prototype.enhance.call(this)},triggerLoad:function(){this.trigger("load")}});return e}),define("joshfire-framework/ui/factorymedia",["joshlib!ui/item","joshlib!utils/mediaplayerlib","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){var e=a.extend({initialize:function(b){this.mediaOptions=b.mediaOptions||{},a.prototype.initialize.call(this,b)},generate:function(e){var f=/^([0-9]{1,3})%$/,g=null,h=0,i=d.clone(this.mediaOptions);if(!this.model)return e(null,"");i.width&&d.isString(i.width)&&(g=i.width.match(f),g&&(h=parseInt(g[1],10),this.options.width?i.width=this.options.width*h/100:i.width=c(this.el).width()*h/100,i.width=Math.floor(i.width))),i.height&&d.isString(i.height)&&(g=i.height.match(f),g&&(h=parseInt(g[1],10),this.options.height?i.height=this.options.height*h/100:i.height=c(this.el).height()*h/100,i.height=Math.floor(i.height)));var j=b.resolve(this.model.toJSON(),i);j.toHtml(d.bind(function(b,c,f){if(this.template)d.extend(this.data,{media:{html:c,metadata:f},width:this.options.width,height:this.options.height}),a.prototype.generate.call(this,e);else return e(null,c)},this))}});return e}),define("joshfire-framework/ui/imagesloader",["joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){this.imageClass=c.imageClass,this.processImageEl=c.processImageEl;var d=this;this.getImages=c.getImages||function(){var a=b.map(this.$("img"),function(a){return d.imageClass&&b(a).addClass(d.imageClass),{el:a,url:b(a).attr("src")}});return a},this.customLoadEvent=!0,a.prototype.initialize.call(this,c)},enhance:function(){var d=this;if(!this.getImages){a.prototype.enhance.call(this),this.trigger("load");return}var e=this.getImages();if(!e||e.length===0){a.prototype.enhance.call(this),this.trigger("load");return}var f=0,g=function(a){a&&b(a).removeClass("loading"),f+=1,f===e.length&&d.trigger("load")};c.each(e,function(a){if(!a.el||!a.url)return g(a.el);var c=a.el;d.processImageEl&&(c=d.processImageEl(a.el)),b(c).addClass("loading");var e=new Image;e.onload=function(){g(c),e=null},e.onerror=function(){g(c),e=null},e.src=a.url}),a.prototype.enhance.call(this)}});return d}),define("joshfire-framework/ui/imageloader",["joshlib!ui/imagesloader","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){this.getImageUrl=c.getImageUrl||function(){return this.model?this.model.imageUrl:null};var d=this;c.getImages=function(){var a=null;return c.imageContainer&&(a=d.$(c.imageContainer)),a||(a=b(d.el)),[{el:a.get(0),url:d.getImageUrl()}]},a.prototype.initialize.call(this,c)},generate:function(a){if(!this.model){a(null,"");return}var b={model:this.model,obj:this.model,item:this.model?this.model.toJSON():{},imageUrl:this.getImageUrl.call(this)};c.extend(b,this.data),a(null,this.template(b))}});return d}),define("joshfire-framework/ui/listitem",["joshlib!uielement","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(c){this.view=c.view,this.offset=c.offset,this.customLoadEvent=!0,this.view&&this.view.bind("load",b.bind(function(){this.trigger("load")},this)),a.prototype.initialize.call(this,c)},setElement:function(a){this.view&&this.view.setElement(a)},generate:function(a){this.view.data.offset=this.offset,this.view.generate(a)},render:function(){this.view.render()},setContent:function(a){this.view.setContent(a)},hide:function(){this.view.hide()},show:function(){this.view.show()},enhance:function(){this.view.enhance()}});return c}),define("joshfire-framework/ui/list",["joshlib!uielement","joshlib!ui/listitem","joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d,e){var f=a.extend({initialize:function(f){f.templateEl?this.template=this.compileTemplate(d(f.templateEl).text()):this.template=this.compileTemplate("
    <%= children %>
"),this.UIItemClass=f.UIItemClass||b,this.itemOptions=f.itemOptions||{scroller:!1},this.itemTemplateEl=f.itemTemplateEl,this.itemOptions.templateEl=this.itemOptions.templateEl||this.itemTemplateEl,this.itemOptions.template=this.itemOptions.template||f.itemTemplate,this.contentSelector=f.contentSelector,this.items=[],this.itemFactory=f.itemFactory||function(a,b){var d={model:a,offset:b};return e.extend(d,this.itemOptions),new c(d)},this.customLoadEvent=!0,this.dataLoadingClass="loading",typeof f.dataLoadingClass!="undefined"&&(this.dataLoadingClass=f.dataLoadingClass),this.dataLoadingClass===!1&&(this.dataLoadingClass=null),this.bind("shown",function(){e.each(this.items,function(a){a.trigger("shown")})},this),this.bind("hidden",function(){e.each(this.items,function(a){a.trigger("hidden")})},this),a.prototype.initialize.call(this,f),f.collection&&this.setCollection(f.collection)},setCollection:function(a,b){this.collection&&(this.collection.unbind("change",this.update,this),this.collection.unbind("add",this.update,this),this.collection.unbind("remove",this.update,this),this.collection.unbind("reset",this.update,this),this.collection.unbind("syncstarted",this.syncStartedHandler,this),this.collection.unbind("syncsuccess",this.syncSuccessHandler,this),this.collection.unbind("syncerror",this.syncErrorHandler,this)),this.collection=a,a&&(a.bind("change",this.update,this),a.bind("add",this.update,this),a.bind("remove",this.update,this),a.bind("reset",this.update,this),a.bind("syncstarted",this.syncStartedHandler,this),a.bind("syncsuccess",this.syncSuccessHandler,this),a.bind("syncerror",this.syncErrorHandler,this)),this.update(b)},update:function(a){this.items=new Array(this.collection.length),this.itemsLoaded=0;var c=function(){++this.itemsLoaded,this.itemsLoaded===this.items.length&&this.trigger("load")};for(var d=0;d0&&(b=b.concat(a.children)),b},setColor:function(a,b){m("#color").remove(),window.Sid.css("css/"+this.deviceFamily+"."+a+".css",b)},setTitle:function(a){m("#title").html(a)},getClassName:function(a,b){if(b!=="list")return b==="single"?"single content detail":"content detail";switch(a){case"status":case"event":return"content hashed-list";case"photo":return"content mosaic-list";default:return"content simple-list"}},createToolbar:function(a){var b=new k.Collection,c=null;for(var d=0;dc&&(d.setModel(a.collection.at(c)),d.render()),b.view.showChild("detail","right")}},createListElement:function(a){return a.outputType==="photo"?new n({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list"),dataLoadingClass:"dataloading",loadingClass:"loading"}):new d({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list")})},createDetailContainer:function(a,c){var d=this;return new b({viewFactory:function(b){return l.extend(b,{slug:a.slug}),d.createDetailElement(b,c)},className:d.getClassName(a,c?"single":"detail")})},createDetailElement:function(a){if(!a.model)return new c({});var b=this.convertItemType(a.model.get("@type")),d=this;switch(b){case"video":return new g({templateEl:"#template-"+b,scroller:!0,scrollerSelector:".wrapper",width:d.getContentWidth(),height:d.getContentHeight(),mediaOptions:{strategy:"html5",width:"100%",height:"80%",adjustSize:!0}});case"sound":return new g({templateEl:"#template-"+b,mediaOptions:{strategy:"html5"}});case"status":return new h({templateEl:"#template-"+b,scroller:!0,getImageUrl:function(){return d.getAuthorThumbnail(a.model.toJSON())}});default:return new i({templateEl:"#template-"+b,scroller:!0,imageClass:"fadein",processImageEl:function(a){var b=document.createElement("div");b.setAttribute("class","loader inv");var c=document.createElement("div");return c.setAttribute("class","figure"),c.appendChild(b),a.getAttribute("width")?c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"):c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"),a.parentNode.replaceChild(c,a),c.appendChild(a),c}})}},itemFactory:function(a){var b=this;return function(d,e){var f=d.toJSON(),g=a.outputType||b.convertItemType(f["@type"]),i="#template-"+g+"-item",j={data:{section:a},model:d,offset:e,templateEl:i};switch(g){case"photo":case"video":case"product":case"news":return j.getImageUrl=function(){return b.getThumbnail(f,e,.2)},j.imageContainer=".figure",new h(j);case"status":return j.getImageUrl=function(){return b.getAuthorThumbnail(f,e)},j.imageContainer=".figure",new h(j);default:return new c(j)}}},createRoutes:function(a,b){return{routes:{"":"home"},home:function(){a.length?this[a[0].slug]():(m("#title").html("No data"),document.body.id="nodata",m("#refresh").hide())}}},getContentWidth:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).width()});return Math.floor(m(b).width())},getContentHeight:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).height()});return m(b).height()},getThumbnail:function(a,b,c){if(!a)return"";c=c||.2;var d=this.clientWidth*c,e=0,f=0,g=a.thumbnail,h=null,i=null,j=null;if(g&&g.length>0){j=g[0],f=j.width||0;for(var k=0;k=d&&(ef)j=g[k]}h=j.contentURL}return h||(a["@type"]==="ImageObject"&&a.contentURL?h=a.contentURL:a.image&&a.image.contentURL&&(h=a.image.contentURL)),h||(h=""),h},getAuthorThumbnail:function(a,b){if(!a)return"";var c="";return a.author&&a.author[0]&&(c=this.getThumbnail(a.author[0],b,.2)),c||(c=this.getThumbnail(a,b,.2)),c},slugify:function(a){return a=a.replace(/[^\-a-zA-Z0-9,&\s]+/ig,""),a=a.replace(/-/gi,"_"),a=a.replace(/\s/gi,"-"),a}}),o}),define("sleek.custom",["sleek"],function(a){return a}),define("sleek.desktop",["sleek.custom","joshlib!ui/layout","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){return a.extend({deviceFamily:"desktop",getClassName:function(a,b){if(b!=="list")return b==="single"?"single detail":"right-panel detail";switch(a){case"status":case"event":return"left-panel hashed-list";case"photo":return"section mosaic-list";default:return"left-panel simple-list"}},createListAndDetailView:function(a,c){var d=new b({children:{list:a,detail:c},className:"split-view"});return d},getContentWidth:function(){var a=c(".right-panel").get(),b=d.max(a,function(a){return c(a).width()});return c(b).width()},getContentHeight:function(){var a=c(".right-panel").get(),b=d.max(a,function(a){return c(a).height()});return c(b).height()},showList:function(a,b){this.showDetail(a,b,0)},moveToList:function(a){},showDetail:function(a,b,d){if(a.collection.length<=d)return;var e=b.view.children||{};e.detail?(e.detail.setModel(a.collection.at(d)),e.detail.render()):(b.setModel(a.collection.at(d)),b.render()),e.list&&(e.list.$(".active").removeClass("active"),c(e.list.$("li")[d]).addClass("active"))},createRoutes:function(b,e){var f=a.prototype.createRoutes.call(this,b,e),g=c("#toolbar"),h=this;return d.forEach(b,function(a){f.routes[a.slug]=a.slug,f[a.slug]=function(){document.body.id=a.outputType,h.setTitle(a.name),c("iframe, audio, video, object, embed").remove(),g.find(".active").removeClass("active"),g.find(".section-"+a.slug).addClass("active");var b=e.children[a.slug];a.collection.length?(h.moveToList(b),e.showChild(a.slug)):(e.showChild(a.slug),h.updateList(a,b))},a.outputType!=="photo"&&(f.routes[a.slug+"/:offset"]=a.slug+"Detail",f[a.slug+"Detail"]=function(b){b=parseInt(b,10),c("iframe, audio, video, object").remove(),document.body.id=a.outputType,h.setTitle(a.name),g.find(".active").removeClass("active"),g.find(".section-"+a.slug).addClass("active");var d=e.children[a.slug];e.showChild(a.slug),a.collection.length?h.showDetail(a,d,b):h.updateDetail(a,d,b)})}),f}})}),define("app.desktop",["sleek.desktop","joshlib!utils/onready"],function(a,b){var c=new a;b(c.initialize)}) \ No newline at end of file +!function(a,b){function c(a,b){function c(){}c[i]=this[i];var e=this,f=new c,g=j(a),h=g?a:this,k=g?{}:a,l=function(){this.initialize?this.initialize.apply(this,arguments):(b||g&&e.apply(this,arguments),h.apply(this,arguments))};return l.methods=function(a){return d(f,a,e),l[i]=f,this},l.methods.call(l,k).prototype.constructor=l,l.extend=arguments.callee,l[i].implement=l.statics=function(a,b){return a=typeof a=="string"?function(){var c={};return c[a]=b,c}():a,d(this,a,e),this},l}function d(a,b,c){for(var d in b)b.hasOwnProperty(d)&&(a[d]=j(b[d])&&j(c[i][d])&&g.test(b[d])?e(d,b[d],c):b[d])}function e(a,b,c){return function(){var d=this.supr;this.supr=c[i][a];var e=b.apply(this,arguments);return this.supr=d,e}}function f(a){return c.call(j(a)?a:h,a,1)}var g=/xyz/.test(function(){xyz})?/\bsupr\b/:/.*/,h=function(){},i="prototype",j=function(a){return typeof a===b};if(typeof module!="undefined"&&module.exports)module.exports=f;else{var k=a.klass;f.noConflict=function(){return a.klass=k,this},a.klass=f}}(this,"function"),define("vendor/klass",function(){}),function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=[].slice,c=b.call(arguments,1),d=this,e=function(){},f=function(){return d.apply(this instanceof e?this:a||{},c.concat(b.call(arguments)))};return e.prototype=d.prototype,f.prototype=new e,f}),typeof a.Code=="undefined"&&(a.Code={}),a.Code.Util={registerNamespace:function(){var b=arguments,c=null,d,f,g,h,i;d=0;for(h=b.length;db.DOM.windowHeight()}},b.Browser._detect()}(window,window.Code.Util),function(a,b){b.extend(b,{Events:{add:function(a,b,c){this._checkHandlersProperty(a),b==="mousewheel"&&(b=this._normaliseMouseWheelType()),typeof a.__eventHandlers[b]=="undefined"&&(a.__eventHandlers[b]=[]),a.__eventHandlers[b].push(c),this._isBrowserObject(a)&&a.addEventListener(b,c,!1)},remove:function(a,d,e){this._checkHandlersProperty(a),d==="mousewheel"&&(d=this._normaliseMouseWheelType());if(a.__eventHandlers[d]instanceof Array){var f,g,h=a.__eventHandlers[d];if(b.isNothing(e)){if(this._isBrowserObject(a)){f=0;for(g=h.length;f=1;)a.removeChild(a.childNodes[a.childNodes.length-1])},hasAttribute:function(a,d){return!b.isNothing(a.getAttribute(d))},getAttribute:function(a,d,e){return a=a.getAttribute(d),b.isNothing(a)&&!b.isNothing(e)&&(a=e),a},setAttribute:function(a,d,e){if(b.isLikeArray(a)){var f,g;f=0;for(g=a.length;f=1&&b.DOM.setStyle(d,"opacity",0),b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",i,f,g,h):b.isNothing(a.jQuery)||a.jQuery(d).fadeTo(f,i,g)},fadeTo:function(a,b,c,d,e){this.fadeIn(a,c,d,e,b)},fadeOut:function(d,f,g,h){if(f<=0&&(b.DOM.setStyle(d,"opacity",0),!b.isNothing(g))){g(d);return}b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",0,f,g,h):a.jQuery(d).fadeTo(f,0,g)},slideBy:function(d,f,g,h,i,j){var k={},f=b.coalesce(f,0),g=b.coalesce(g,0),j=b.coalesce(j,"ease-out");k[this._transitionPrefix+"Property"]="all",k[this._transitionPrefix+"Delay"]="0",h===0?(k[this._transitionPrefix+"Duration"]="",k[this._transitionPrefix+"TimingFunction"]=""):(k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=b.coalesce(j,"ease-out"),b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler())),k[this._transformLabel]=b.Browser.is3dSupported?"translate3d("+f+"px, "+g+"px, 0px)":"translate("+f+"px, "+g+"px)",b.isNothing(i)||(d.cclallcallback=i),b.DOM.setStyle(d,k),h===0&&a.setTimeout(function(){this._leaveTransforms(d)}.bind(this),this._applyTransitionDelay)},resetTranslate:function(a){var d={};d[this._transformLabel]=d[this._transformLabel]=b.Browser.is3dSupported?"translate3d(0px, 0px, 0px)":"translate(0px, 0px)",b.DOM.setStyle(a,d)},_applyTransition:function(d,f,g,h,i,j){var k={},j=b.coalesce(j,"ease-in");k[this._transitionPrefix+"Property"]=f,k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=j,k[this._transitionPrefix+"Delay"]="0",b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler()),b.DOM.setStyle(d,k),b.isNothing(i)||(d["ccl"+f+"callback"]=i),a.setTimeout(function(){b.DOM.setStyle(d,f,g)},this._applyTransitionDelay)},_onTransitionEnd:function(a){b.Events.remove(a.currentTarget,this._transitionEndLabel,this._getTransitionEndHandler()),this._leaveTransforms(a.currentTarget)},_leaveTransforms:function(d){var f=d.style[this._transitionPrefix+"Property"],g=f!==""?"ccl"+f+"callback":"cclallcallback",h,f=b.coalesce(d.style.webkitTransform,d.style.MozTransform,d.style.transform),i,j=a.parseInt(b.DOM.getStyle(d,"left"),0),k=a.parseInt(b.DOM.getStyle(d,"top"),0),l,m,n={};f!==""&&(f=b.Browser.is3dSupported?f.match(/translate3d\((.*?)\)/):f.match(/translate\((.*?)\)/),b.isNothing(f)||(i=f[1].split(", "),l=a.parseInt(i[0],0),m=a.parseInt(i[1],0))),n[this._transitionPrefix+"Property"]="",n[this._transitionPrefix+"Duration"]="",n[this._transitionPrefix+"TimingFunction"]="",n[this._transitionPrefix+"Delay"]="",b.DOM.setStyle(d,n),a.setTimeout(function(){b.isNothing(i)||(n={},n[this._transformLabel]="",n.left=j+l+"px",n.top=k+m+"px",b.DOM.setStyle(d,n)),b.isNothing(d[g])||(h=d[g],delete d[g],h(d))}.bind(this),this._applyTransitionDelay)}}})}(window,window.Code.Util),function(a,b,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(a,b,c){c.registerNamespace("Code.Util.TouchElement"),c.TouchElement.TouchElementClass=b({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 a;this.removeEventHandlers();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(a,b){this.el=a,this.captureSettings={swipe:!1,move:!1,gesture:!1,doubleTap:!1,preventDefaultTouchEvents:!0},c.extend(this.captureSettings,b),this.swipeThreshold=50,this.doubleTapSpeed=this.swipeTimeThreshold=250,this.touchStartPoint={x:0,y:0},this.touchEndPoint={x:0,y:0}},addEventHandlers:function(){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),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),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),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),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(a){return{x:a[0].pageX,y:a[0].pageY}},fireTouchEvent:function(b){var d=0,f=0,g=0,h,d=this.touchEndPoint.x-this.touchStartPoint.x,f=this.touchEndPoint.y-this.touchStartPoint.y,g=Math.sqrt(d*d+f*f);if(this.captureSettings.swipe&&(h=new Date,h-=this.touchStartTime,h<=this.swipeTimeThreshold)){if(a.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.swipeLeft:c.TouchElement.ActionTypes.swipeRight,targetEl:b.target,currentTargetEl:b.currentTarget});return}if(a.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.swipeUp:c.TouchElement.ActionTypes.swipeDown,targetEl:b.target,currentTargetEl:b.currentTarget});return}}g>1?c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMoveEnd,point:this.touchEndPoint,targetEl:b.target,currentTargetEl:b.currentTarget}):this.captureSettings.doubleTap?c.isNothing(this.doubleTapTimeout)?this.doubleTapTimeout=a.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:b.target,currentTargetEl:b.currentTarget})}.bind(this),this.doubleTapSpeed):(a.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:b.target,currentTargetEl:b.currentTarget})):c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:c.TouchElement.ActionTypes.tap,targetEl:b.target,currentTargetEl:b.currentTarget})},onTouchStart:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault(),c.Events.remove(this.el,"mousedown",this.mouseDownHandler);var b=c.Events.getTouchEvent(a).touches;b.length>1&&this.captureSettings.gesture?this.isGesture=!0:(this.touchStartTime=new Date,this.isGesture=!1,this.touchStartPoint=this.getTouchPoint(b),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget}))},onTouchMove:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();if(!this.isGesture||!this.captureSettings.gesture){var b=c.Events.getTouchEvent(a).touches;c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:this.getTouchPoint(b),targetEl:a.target,currentTargetEl:a.currentTarget})}},onTouchEnd:function(a){if(!this.isGesture||!this.captureSettings.gesture){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();var b=c.Events.getTouchEvent(a);this.touchEndPoint=this.getTouchPoint(c.isNothing(b.changedTouches)?b.touches:b.changedTouches),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)}},onMouseDown:function(a){a.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),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=!1,this.touchStartPoint=c.Events.getMousePosition(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseMove:function(a){a.preventDefault(),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:c.Events.getMousePosition(a),targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseUp:function(a){a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)},onMouseOut:function(a){var b=a.relatedTarget;this.el!==b&&!c.DOM.isChildOf(b,this.el)&&(a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a))},onGestureStart:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureStart,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureChange:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureChange,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureEnd:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureEnd,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image"),a.Code.PhotoSwipe.Image.EventTypes={onLoad:"onLoad",onError:"onError"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image");var d=a.Code.PhotoSwipe;d.Image.ImageClass=b({refObj:null,imageEl:null,src:null,caption:null,metaData:null,imageLoadHandler:null,imageErrorHandler:null,dispose:function(){var a;this.shrinkImage();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,c,d,f){this.refObj=b,this.src=this.originalSrc=c,this.caption=d,this.metaData=f,this.imageEl=new a.Image,this.imageLoadHandler=this.onImageLoad.bind(this),this.imageErrorHandler=this.onImageError.bind(this)},load:function(){this.imageEl.originalSrc=c.coalesce(this.imageEl.originalSrc,""),this.imageEl.originalSrc===this.src?this.imageEl.isError?c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this}):c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this}):(this.imageEl.isError=!1,this.imageEl.isLoading=!0,this.imageEl.naturalWidth=null,this.imageEl.naturalHeight=null,this.imageEl.isLandscape=!1,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(){!c.isNothing(this.imageEl)&&this.imageEl.src.indexOf(this.src)>-1&&(this.imageEl.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",c.isNothing(this.imageEl.parentNode)||c.DOM.removeChild(this.imageEl,this.imageEl.parentNode))},onImageLoad:function(){this.imageEl.onload=null,this.imageEl.naturalWidth=c.coalesce(this.imageEl.naturalWidth,this.imageEl.width),this.imageEl.naturalHeight=c.coalesce(this.imageEl.naturalHeight,this.imageEl.height),this.imageEl.isLandscape=this.imageEl.naturalWidth>this.imageEl.naturalHeight,this.imageEl.isLoading=!1,c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this})},onImageError:function(){this.imageEl.onload=null,this.imageEl.onerror=null,this.imageEl.onabort=null,this.imageEl.isLoading=!1,this.imageEl.isError=!0,c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Cache"),a=a.Code.PhotoSwipe,a.Cache.Mode={normal:"normal",aggressive:"aggressive"},a.Cache.Functions={getImageSource:function(a){return a.href},getImageCaption:function(a){if(a.nodeName==="IMG")return c.DOM.getAttribute(a,"alt");var b,d,e;b=0;for(d=a.childNodes.length;bd&&(d=c.DOM.windowHeight())):(b=c.DOM.width(this.settings.target),d=c.DOM.height(this.settings.target),f="0px"),c.DOM.setStyle(this.el,{width:b,height:d,top:f})},fadeIn:function(a,b){this.resetPosition(),c.DOM.setStyle(this.el,"opacity",0),c.DOM.show(this.el),c.Animation.fadeIn(this.el,a,b)}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel"),a=a.Code.PhotoSwipe,a.Carousel.EventTypes={onSlideByEnd:"PhotoSwipeCarouselOnSlideByEnd",onSlideshowStart:"PhotoSwipeCarouselOnSlideshowStart",onSlideshowStop:"PhotoSwipeCarouselOnSlideshowStop"},a.Carousel.CssClasses={carousel:"ps-carousel",content:"ps-carousel-content",item:"ps-carousel-item",itemLoading:"ps-carousel-item-loading",itemError:"ps-carousel-item-error"},a.Carousel.SlideByAction={previous:"previous",current:"current",next:"next"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel");var d=a.Code.PhotoSwipe;d.Carousel.CarouselClass=b({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 a,b,e;b=0;for(e=this.cache.images.length;b0&&c.DOM.setStyle(i,{marginRight:this.settings.margin+"px"}),c.DOM.appendChild(i,this.contentEl);this.settings.target===a?c.DOM.appendToBody(this.el):c.DOM.appendChild(this.el,this.settings.target)},resetPosition:function(){var b,f,g,h,i,j;this.settings.target===a?(b=c.DOM.windowWidth(),f=c.DOM.windowHeight(),g=c.DOM.windowScrollTop()+"px"):(b=c.DOM.width(this.settings.target),f=c.DOM.height(this.settings.target),g="0px"),h=this.settings.margin>0?b+this.settings.margin:b,i=c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl),h*=i.length,c.DOM.setStyle(this.el,{top:g,width:b,height:f}),c.DOM.setStyle(this.contentEl,{width:h,height:f}),g=0;for(h=i.length;gf&&(b=f/d,d=Math.round(d*b),e=Math.round(e*b)),e>g&&(b=g/e,e=Math.round(e*b),d=Math.round(d*b))):(b=a.isLandscape?f/a.naturalWidth:g/a.naturalHeight,d=Math.round(a.naturalWidth*b),e=Math.round(a.naturalHeight*b),this.settings.imageScaleMethod==="zoom"?(b=1,ef?b=f/d:e>g&&(b=g/e),b!==1&&(d=Math.round(d*b),e=Math.round(e*b)))),c.DOM.setStyle(a,{position:"absolute",width:d,height:e,top:Math.round((g-e)/2)+"px",left:Math.round((f-d)/2)+"px",display:"block"})}},setContentLeftPosition:function(){var b,d,f;b=this.settings.target===a?c.DOM.windowWidth():c.DOM.width(this.settings.target),d=this.getItemEls(),f=0,this.settings.loop?f=(b+this.settings.margin)*-1:this.currentCacheIndex===this.cache.images.length-1?f=(d.length-1)*(b+this.settings.margin)*-1:this.currentCacheIndex>0&&(f=(b+this.settings.margin)*-1),c.DOM.setStyle(this.contentEl,{left:f+"px"})},show:function(a){this.currentCacheIndex=a,this.resetPosition(),this.setImages(!1),c.DOM.show(this.el),c.Animation.resetTranslate(this.contentEl);var a=this.getItemEls(),b,e;b=0;for(e=a.length;bthis.cache.images.length-1&&(b=0),d<0&&(d=this.cache.images.length-1),b=this.cache.getImages([d,this.currentCacheIndex,b]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[0],c[0])):c.length===1?a||(b=this.cache.getImages([this.currentCacheIndex]),this.addCacheImageToItemEl(b[0],c[0])):c.length===2?this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[0],c[0])):this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1,this.currentCacheIndex+2]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])):(this.currentCacheIndex===this.cache.images.length-1?(b=this.cache.getImages([this.currentCacheIndex-2,this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])),this.addCacheImageToItemEl(b[0],c[0]))},addCacheImageToItemEl:function(a,b){c.DOM.removeClass(b,d.Carousel.CssClasses.itemError),c.DOM.addClass(b,d.Carousel.CssClasses.itemLoading),c.DOM.removeChildren(b),c.DOM.setStyle(a.imageEl,{display:"none"}),c.DOM.appendChild(a.imageEl,b),c.Animation.resetTranslate(a.imageEl),c.Events.add(a,d.Image.EventTypes.onLoad,this.imageLoadHandler),c.Events.add(a,d.Image.EventTypes.onError,this.imageErrorHandler),a.load()},slideCarousel:function(b,f,g){if(!this.isSliding){var h,i;h=this.settings.target===a?c.DOM.windowWidth()+this.settings.margin:c.DOM.width(this.settings.target)+this.settings.margin,g=c.coalesce(g,this.settings.slideSpeed);if(!(a.Math.abs(i)<1)){switch(f){case c.TouchElement.ActionTypes.swipeLeft:b=h*-1;break;case c.TouchElement.ActionTypes.swipeRight:b=h;break;default:i=b.x-this.touchStartPoint.x,b=a.Math.abs(i)>h/2?i>0?h:h*-1:0}this.lastSlideByAction=b<0?d.Carousel.SlideByAction.next:b>0?d.Carousel.SlideByAction.previous:d.Carousel.SlideByAction.current,!this.settings.loop&&(this.lastSlideByAction===d.Carousel.SlideByAction.previous&&this.currentCacheIndex===0||this.lastSlideByAction===d.Carousel.SlideByAction.next&&this.currentCacheIndex===this.cache.images.length-1)&&(b=0,this.lastSlideByAction=d.Carousel.SlideByAction.current),this.isSliding=!0,this.doSlideCarousel(b,g)}}},moveCarousel:function(a){this.isSliding||this.settings.enableDrag&&this.doMoveCarousel(a.x-this.touchStartPoint.x)},getItemEls:function(){return c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl)},previous:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeRight,this.settings.nextPreviousSlideSpeed)},next:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft,this.settings.nextPreviousSlideSpeed)},slideshowNext:function(){this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft)},startSlideshow:function(){this.stopSlideshow(),this.isSlideshowActive=!0,this.slideshowTimeout=a.setTimeout(this.slideshowNext.bind(this),this.settings.slideshowDelay),c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStart,target:this})},stopSlideshow:function(){c.isNothing(this.slideshowTimeout)||(a.clearTimeout(this.slideshowTimeout),this.slideshowTimeout=null,this.isSlideshowActive=!1,c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStop,target:this}))},onSlideByEnd:function(){if(!c.isNothing(this.isSliding)){var a=this.getItemEls();this.isSliding=!1,this.lastSlideByAction===d.Carousel.SlideByAction.next?this.currentCacheIndex+=1:this.lastSlideByAction===d.Carousel.SlideByAction.previous&&(this.currentCacheIndex-=1),this.settings.loop?(this.lastSlideByAction===d.Carousel.SlideByAction.next?c.DOM.appendChild(a[0],this.contentEl):this.lastSlideByAction===d.Carousel.SlideByAction.previous&&c.DOM.insertBefore(a[a.length-1],a[0],this.contentEl),this.currentCacheIndex<0)?this.currentCacheIndex=this.cache.images.length-1:this.currentCacheIndex===this.cache.images.length&&(this.currentCacheIndex=0):this.cache.images.length>3&&(this.currentCacheIndex>1&&this.currentCacheIndex
'}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Toolbar");var d=a.Code.PhotoSwipe;d.Toolbar.ToolbarClass=b({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 a;this.clearTimeout(),this.removeEventHandlers(),c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),c.DOM.removeChild(this.toolbarEl,this.toolbarEl.parentNode),c.DOM.removeChild(this.captionEl,this.captionEl.parentNode);for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,f){var g;this.settings=f,this.cache=b,this.isVisible=!1,this.fadeOutHandler=this.onFadeOut.bind(this),this.touchStartHandler=this.onTouchStart.bind(this),this.touchMoveHandler=this.onTouchMove.bind(this),this.clickHandler=this.onClick.bind(this),g=d.Toolbar.CssClasses.toolbar,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.toolbarTop),this.toolbarEl=c.DOM.createElement("div",{"class":g},this.settings.getToolbar()),c.DOM.setStyle(this.toolbarEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.toolbarEl):c.DOM.appendChild(this.toolbarEl,this.settings.target),c.DOM.hide(this.toolbarEl),this.closeEl=c.DOM.find("."+d.Toolbar.CssClasses.close,this.toolbarEl)[0],this.settings.preventHide&&!c.isNothing(this.closeEl)&&c.DOM.hide(this.closeEl),this.playEl=c.DOM.find("."+d.Toolbar.CssClasses.play,this.toolbarEl)[0],this.settings.preventSlideshow&&!c.isNothing(this.playEl)&&c.DOM.hide(this.playEl),this.nextEl=c.DOM.find("."+d.Toolbar.CssClasses.next,this.toolbarEl)[0],this.previousEl=c.DOM.find("."+d.Toolbar.CssClasses.previous,this.toolbarEl)[0],g=d.Toolbar.CssClasses.caption,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.captionBottom),this.captionEl=c.DOM.createElement("div",{"class":g},""),c.DOM.setStyle(this.captionEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.captionEl):c.DOM.appendChild(this.captionEl,this.settings.target),c.DOM.hide(this.captionEl),this.captionContentEl=c.DOM.createElement("div",{"class":d.Toolbar.CssClasses.captionContent},""),c.DOM.appendChild(this.captionContentEl,this.captionEl),this.addEventHandlers()},resetPosition:function(){var b,d,f;this.settings.target===a?(this.settings.captionAndToolbarFlipPosition?(d=c.DOM.windowScrollTop(),f=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.captionEl)):(d=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.toolbarEl),f=c.DOM.windowScrollTop()),b=c.DOM.windowWidth()):(this.settings.captionAndToolbarFlipPosition?(d="0",f=c.DOM.height(this.settings.target)-c.DOM.height(this.captionEl)):(d=c.DOM.height(this.settings.target)-c.DOM.height(this.toolbarEl),f=0),b=c.DOM.width(this.settings.target)),c.DOM.setStyle(this.toolbarEl,{top:d+"px",width:b}),c.DOM.setStyle(this.captionEl,{top:f+"px",width:b})},toggleVisibility:function(a){this.isVisible?this.fadeOut():this.show(a)},show:function(a){c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),this.resetPosition(),this.setToolbarStatus(a),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeShow,target:this}),this.showToolbar(),this.setCaption(a),this.showCaption(),this.isVisible=!0,this.setTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onShow,target:this})},setTimeout:function(){this.settings.captionAndToolbarAutoHideDelay>0&&(this.clearTimeout(),this.timeout=a.setTimeout(this.fadeOut.bind(this),this.settings.captionAndToolbarAutoHideDelay))},clearTimeout:function(){c.isNothing(this.timeout)||(a.clearTimeout(this.timeout),this.timeout=null)},fadeOut:function(){this.clearTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeHide,target:this}),c.Animation.fadeOut(this.toolbarEl,this.settings.fadeOutSpeed),c.Animation.fadeOut(this.captionEl,this.settings.fadeOutSpeed,this.fadeOutHandler),this.isVisible=!1},addEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.add(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.add(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.add(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.add(this.toolbarEl,"click",this.clickHandler)},removeEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.remove(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.remove(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.remove(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.remove(this.toolbarEl,"click",this.clickHandler)},handleTap:function(a){this.clearTimeout();var b;if(a.target===this.nextEl||c.DOM.isChildOf(a.target,this.nextEl))b=d.Toolbar.ToolbarAction.next;else if(a.target===this.previousEl||c.DOM.isChildOf(a.target,this.previousEl))b=d.Toolbar.ToolbarAction.previous;else if(a.target===this.closeEl||c.DOM.isChildOf(a.target,this.closeEl))b=d.Toolbar.ToolbarAction.close;else if(a.target===this.playEl||c.DOM.isChildOf(a.target,this.playEl))b=d.Toolbar.ToolbarAction.play;this.setTimeout(),c.isNothing(b)&&(b=d.Toolbar.ToolbarAction.none),c.Events.fire(this,{type:d.Toolbar.EventTypes.onTap,target:this,action:b,tapTarget:a.target})},setCaption:function(a){c.DOM.removeChildren(this.captionContentEl),this.currentCaption=c.coalesce(this.cache.images[a].caption," "),c.isObject(this.currentCaption)?c.DOM.appendChild(this.currentCaption,this.captionContentEl):(this.currentCaption===""&&(this.currentCaption=" "),c.DOM.appendText(this.currentCaption,this.captionContentEl)),this.currentCaption=this.currentCaption===" "?"":this.currentCaption,this.resetPosition()},showToolbar:function(){c.DOM.setStyle(this.toolbarEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.toolbarEl)},showCaption:function(){(this.currentCaption===""||this.captionContentEl.childNodes.length<1)&&!this.settings.captionAndToolbarShowEmptyCaptions?c.DOM.hide(this.captionEl):(c.DOM.setStyle(this.captionEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.captionEl))},setToolbarStatus:function(a){this.settings.loop||(c.DOM.removeClass(this.previousEl,d.Toolbar.CssClasses.previousDisabled),c.DOM.removeClass(this.nextEl,d.Toolbar.CssClasses.nextDisabled),a>0&&athis.settings.maxUserZoom&&(a=this.settings.maxUserZoom),a},setStartingScaleAndRotation:function(a,b){this.transformSettings.startingScale=this.getScale(a),this.transformSettings.startingRotation=(this.transformSettings.startingRotation+b)%360},zoomRotate:function(a,b){this.transformSettings.scale=this.getScale(a),this.transformSettings.rotation=this.transformSettings.startingRotation+b,this.applyTransform()},panStart:function(a){this.setStartingTranslateFromCurrentTransform(),this.panStartingPoint={x:a.x,y:a.y}},pan:function(a){var b=(a.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=this.transformSettings.startingTranslateX+(a.x-this.panStartingPoint.x)/this.transformSettings.scale,this.transformSettings.translateY=this.transformSettings.startingTranslateY+b,this.applyTransform()},zoomAndPanToPoint:function(b,d){if(this.settings.target===a){this.panStart({x:c.DOM.windowWidth()/2,y:c.DOM.windowHeight()/2});var f=(d.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=(this.transformSettings.startingTranslateX+(d.x-this.panStartingPoint.x)/this.transformSettings.scale)*-1,this.transformSettings.translateY=(this.transformSettings.startingTranslateY+f)*-1}this.setStartingScaleAndRotation(b,0),this.transformSettings.scale=this.transformSettings.startingScale,this.transformSettings.rotation=0,this.applyTransform()},applyTransform:function(){var b=this.transformSettings.rotation%360,f=a.parseInt(this.transformSettings.translateX,10),g=a.parseInt(this.transformSettings.translateY,10),h="scale("+this.transformSettings.scale+") rotate("+b+"deg) translate("+f+"px, "+g+"px)";c.DOM.setStyle(this.transformEl,{webkitTransform:h,MozTransform:h,msTransform:h,transform:h}),c.Events.fire(this,{target:this,type:d.ZoomPanRotate.EventTypes.onTransform,scale:this.transformSettings.scale,rotation:this.transformSettings.rotation,rotationDegs:b,translateX:f,translateY:g})}})}(window,window.klass,window.Code.Util),function(a,b){b.registerNamespace("Code.PhotoSwipe");var c=a.Code.PhotoSwipe;c.CssClasses={buildingBody:"ps-building",activeBody:"ps-active"},c.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"},c.instances=[],c.activeInstances=[],c.setActivateInstance=function(a){if(b.arrayIndexOf(a.settings.target,c.activeInstances,"target")>-1)throw"Code.PhotoSwipe.activateInstance: Unable to active instance as another instance is already active for this target";c.activeInstances.push({target:a.settings.target,instance:a})},c.unsetActivateInstance=function(a){a=b.arrayIndexOf(a,c.activeInstances,"instance"),c.activeInstances.splice(a,1)},c.attach=function(a,d,e){var f,g;f=c.createInstance(a,d,e),d=0;for(e=a.length;d=2.1&&(this.isBackEventSupported=!0),this.isBackEventSupported||(this.isBackEventSupported=c.objectHasProperty(a,"onhashchange")),this.settings={fadeInSpeed:250,fadeOutSpeed:250,preventHide:!1,preventSlideshow:!1,zIndex:1e3,backButtonHideEnabled:!0,enableKeyboard:!0,enableMouseWheel:!0,mouseWheelSpeed:350,autoStartSlideshow:!1,jQueryMobile:!c.isNothing(a.jQuery)&&!c.isNothing(a.jQuery.mobile),jQueryMobileDialogHash:"&ui-state=dialog",enableUIWebViewRepositionTimeout:!1,uiWebViewResetPositionDelay:500,target:a,preventDefaultTouchEvents:!0,loop:!0,slideSpeed:250,nextPreviousSlideSpeed:0,enableDrag:!0,swipeThreshold:50,swipeTimeThreshold:250,slideTimingFunction:"ease-out",slideshowDelay:3e3,doubleTapSpeed:250,margin:20,imageScaleMethod:"fit",captionAndToolbarHide:!1,captionAndToolbarFlipPosition:!1,captionAndToolbarAutoHideDelay:5e3,captionAndToolbarOpacity:.8,captionAndToolbarShowEmptyCaptions:!0,getToolbar:j.Toolbar.getToolbar,allowUserZoom:!0,allowRotationOnUserZoom:!1,maxUserZoom:5,minUserZoom:.5,doubleTapZoomLevel:2.5,getImageSource:j.Cache.Functions.getImageSource,getImageCaption:j.Cache.Functions.getImageCaption,getImageMetaData:j.Cache.Functions.getImageMetaData,cacheMode:j.Cache.Mode.normal},c.extend(this.settings,e),this.settings.target!==a&&(e=c.DOM.getStyle(this.settings.target,"position"),(e!=="relative"||e!=="absolute")&&c.DOM.setStyle(this.settings.target,"position","relative")),this.settings.target!==a?(this.isBackEventSupported=!1,this.settings.backButtonHideEnabled=!1):this.settings.preventHide&&(this.settings.backButtonHideEnabled=!1),this.cache=new d.CacheClass(b,this.settings)},show:function(b){var d,e;this.backButtonClicked=this._isResettingPosition=!1;if(c.isNumber(b))this.currentIndex=b;else{this.currentIndex=-1,d=0;for(e=this.originalImages.length;dthis.originalImages.length-1)throw"Code.PhotoSwipe.PhotoSwipeClass.show: Starting index out of range";this.isAlreadyGettingPage=this.getWindowDimensions(),j.setActivateInstance(this),this.windowDimensions=this.getWindowDimensions(),this.settings.target===a?c.DOM.addClass(a.document.body,j.CssClasses.buildingBody):c.DOM.addClass(this.settings.target,j.CssClasses.buildingBody),this.createComponents(),c.Events.fire(this,{type:j.EventTypes.onBeforeShow,target:this}),this.documentOverlay.fadeIn(this.settings.fadeInSpeed,this.onDocumentOverlayFadeIn.bind(this))},getWindowDimensions:function(){return{width:c.DOM.windowWidth(),height:c.DOM.windowHeight()}},createComponents:function(){this.documentOverlay=new e.DocumentOverlayClass(this.settings),this.carousel=new f.CarouselClass(this.cache,this.settings),this.uiLayer=new h.UILayerClass(this.settings),this.settings.captionAndToolbarHide||(this.toolbar=new g.ToolbarClass(this.cache,this.settings))},resetPosition:function(){if(!this._isResettingPosition){var a=this.getWindowDimensions();if(c.isNothing(this.windowDimensions)||a.width!==this.windowDimensions.width||a.height!==this.windowDimensions.height)this._isResettingPosition=!0,this.windowDimensions=a,this.destroyZoomPanRotate(),this.documentOverlay.resetPosition(),this.carousel.resetPosition(),c.isNothing(this.toolbar)||this.toolbar.resetPosition(),this.uiLayer.resetPosition(),this._isResettingPosition=!1,c.Events.fire(this,{type:j.EventTypes.onResetPosition,target:this})}},addEventHandler:function(a,b){c.Events.add(this,a,b)},addEventHandlers:function(){c.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)),c.Browser.android?this.orientationEventName="resize":c.Browser.iOS&&!c.Browser.safari?c.Events.add(a.document.body,"orientationchange",this.windowOrientationChangeHandler):this.orientationEventName=c.isNothing(a.onorientationchange)?"resize":"orientationchange",c.isNothing(this.orientationEventName)||c.Events.add(a,this.orientationEventName,this.windowOrientationChangeHandler),this.settings.target===a&&c.Events.add(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.add(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.windowHashChangeHandler=this.onWindowHashChange.bind(this),this.settings.jQueryMobile?a.location.hash=this.settings.jQueryMobileDialogHash:(this.currentHistoryHashValue="PhotoSwipe"+(new Date).getTime().toString(),a.location.hash=this.currentHistoryHashValue),c.Events.add(a,"hashchange",this.windowHashChangeHandler)),this.settings.enableMouseWheel&&c.Events.add(a,"mousewheel",this.mouseWheelHandler),c.Events.add(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.Events.add(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler),c.isNothing(this.toolbar)||(c.Events.add(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.add(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.add(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},removeEventHandlers:function(){c.Browser.iOS&&!c.Browser.safari&&c.Events.remove(a.document.body,"orientationchange",this.windowOrientationChangeHandler),c.isNothing(this.orientationEventName)||c.Events.remove(a,this.orientationEventName,this.windowOrientationChangeHandler),c.Events.remove(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.remove(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&c.Events.remove(a,"hashchange",this.windowHashChangeHandler),this.settings.enableMouseWheel&&c.Events.remove(a,"mousewheel",this.mouseWheelHandler),c.isNothing(this.uiLayer)||c.Events.remove(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.isNothing(this.toolbar)||(c.Events.remove(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler)),c.isNothing(this.toolbar)||(c.Events.remove(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.remove(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},hide:function(){if(!this.settings.preventHide){if(c.isNothing(this.documentOverlay))throw"Code.PhotoSwipe.PhotoSwipeClass.hide: PhotoSwipe instance is already hidden";c.isNothing(this.hiding)&&(this.clearUIWebViewResetPositionTimeout(),this.destroyZoomPanRotate(),this.removeEventHandlers(),c.Events.fire(this,{type:j.EventTypes.onBeforeHide,target:this}),this.uiLayer.dispose(),this.uiLayer=null,c.isNothing(this.toolbar)||(this.toolbar.dispose(),this.toolbar=null),this.carousel.dispose(),this.carousel=null,c.DOM.removeClass(a.document.body,j.CssClasses.activeBody),this.documentOverlay.dispose(),this.documentOverlay=null,this._isResettingPosition=!1,j.unsetActivateInstance(this),c.Events.fire(this,{type:j.EventTypes.onHide,target:this}),this.goBackInHistory())}},goBackInHistory:function(){this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.backButtonClicked||a.history.back())},play:function(){!this.isZoomActive()&&!this.settings.preventSlideshow&&!c.isNothing(this.carousel)&&(!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut(),this.carousel.startSlideshow())},stop:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.stopSlideshow()},previous:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.previous()},next:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.next()},toggleToolbar:function(){this.isZoomActive()||c.isNothing(this.toolbar)||this.toolbar.toggleVisibility(this.currentIndex)},fadeOutToolbarIfVisible:function(){!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.settings.captionAndToolbarAutoHideDelay>0&&this.toolbar.fadeOut()},createZoomPanRotate:function(){this.stop(),this.canUserZoom()&&!this.isZoomActive()&&(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateShow),this.zoomPanRotate=new i.ZoomPanRotateClass(this.settings,this.cache.images[this.currentIndex],this.uiLayer),this.uiLayer.captureSettings.preventDefaultTouchEvents=!0,c.Events.add(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),c.Events.fire(this,j.EventTypes.onZoomPanRotateShow),!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut())},destroyZoomPanRotate:function(){c.isNothing(this.zoomPanRotate)||(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateHide),c.Events.remove(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),this.zoomPanRotate.dispose(),this.zoomPanRotate=null,this.uiLayer.captureSettings.preventDefaultTouchEvents=this.settings.preventDefaultTouchEvents,c.Events.fire(this,j.EventTypes.onZoomPanRotateHide))},canUserZoom:function(){var a;if(c.Browser.msie){if(a=document.createElement("div"),c.isNothing(a.style.msTransform))return!1}else if(!c.Browser.isCSSTransformSupported)return!1;return this.settings.allowUserZoom?this.carousel.isSliding?!1:(a=this.cache.images[this.currentIndex],c.isNothing(a)?!1:a.isLoading?!1:!0):!1},isZoomActive:function(){return!c.isNothing(this.zoomPanRotate)},getCurrentImage:function(){return this.cache.images[this.currentIndex]},onDocumentOverlayFadeIn:function(){a.setTimeout(function(){var b=this.settings.target===a?a.document.body:this.settings.target;c.DOM.removeClass(b,j.CssClasses.buildingBody),c.DOM.addClass(b,j.CssClasses.activeBody),this.addEventHandlers(),this.carousel.show(this.currentIndex),this.uiLayer.show(),this.settings.autoStartSlideshow?this.play():c.isNothing(this.toolbar)||this.toolbar.show(this.currentIndex),c.Events.fire(this,{type:j.EventTypes.onShow,target:this}),this.setUIWebViewResetPositionTimeout()}.bind(this),250)},setUIWebViewResetPositionTimeout:function(){this.settings.enableUIWebViewRepositionTimeout&&c.Browser.iOS&&!c.Browser.safari&&(c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout),this._uiWebViewResetPositionTimeout=a.setTimeout(function(){this.resetPosition(),this.setUIWebViewResetPositionTimeout()}.bind(this),this.settings.uiWebViewResetPositionDelay))},clearUIWebViewResetPositionTimeout:function(){c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout)},onWindowScroll:function(){this.resetPosition()},onWindowOrientationChange:function(){this.resetPosition()},onWindowHashChange:function(){a.location.hash!=="#"+(this.settings.jQueryMobile?this.settings.jQueryMobileDialogHash:this.currentHistoryHashValue)&&(this.backButtonClicked=!0,this.hide())},onKeyDown:function(a){a.keyCode===37?(a.preventDefault(),this.previous()):a.keyCode===39?(a.preventDefault(),this.next()):a.keyCode===38||a.keyCode===40?a.preventDefault():a.keyCode===27?(a.preventDefault(),this.hide()):a.keyCode===32?(this.settings.hideToolbar?this.hide():this.toggleToolbar(),a.preventDefault()):a.keyCode===13&&(a.preventDefault(),this.play())},onUILayerTouch:function(b){if(this.isZoomActive())switch(b.action){case c.TouchElement.ActionTypes.gestureChange:this.zoomPanRotate.zoomRotate(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.gestureEnd:this.zoomPanRotate.setStartingScaleAndRotation(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.touchStart:this.zoomPanRotate.panStart(b.point);break;case c.TouchElement.ActionTypes.touchMove:this.zoomPanRotate.pan(b.point);break;case c.TouchElement.ActionTypes.doubleTap:this.destroyZoomPanRotate(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeLeft:this.destroyZoomPanRotate(),this.next(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeRight:this.destroyZoomPanRotate(),this.previous(),this.toggleToolbar()}else switch(b.action){case c.TouchElement.ActionTypes.touchMove:case c.TouchElement.ActionTypes.swipeLeft:case c.TouchElement.ActionTypes.swipeRight:this.fadeOutToolbarIfVisible(),this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.touchStart:case c.TouchElement.ActionTypes.touchMoveEnd:this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.tap:this.toggleToolbar();break;case c.TouchElement.ActionTypes.doubleTap:this.settings.target===a&&(b.point.x-=c.DOM.windowScrollLeft(),b.point.y-=c.DOM.windowScrollTop());var d=this.cache.images[this.currentIndex].imageEl,e=a.parseInt(c.DOM.getStyle(d,"top"),10),f=a.parseInt(c.DOM.getStyle(d,"left"),10),g=f+c.DOM.width(d),d=e+c.DOM.height(d);b.point.xg&&(b.point.x=g),b.point.yd&&(b.point.y=d),this.createZoomPanRotate(),this.isZoomActive()&&this.zoomPanRotate.zoomAndPanToPoint(this.settings.doubleTapZoomLevel,b.point);break;case c.TouchElement.ActionTypes.gestureStart:this.createZoomPanRotate()}c.Events.fire(this,{type:j.EventTypes.onTouch,target:this,point:b.point,action:b.action})},onCarouselSlideByEnd:function(a){this.currentIndex=a.cacheIndex,c.isNothing(this.toolbar)||(this.toolbar.setCaption(this.currentIndex),this.toolbar.setToolbarStatus(this.currentIndex)),c.Events.fire(this,{type:j.EventTypes.onDisplayImage,target:this,action:a.action,index:a.cacheIndex})},onToolbarTap:function(a){switch(a.action){case g.ToolbarAction.next:this.next();break;case g.ToolbarAction.previous:this.previous();break;case g.ToolbarAction.close:this.hide();break;case g.ToolbarAction.play:this.play()}c.Events.fire(this,{type:j.EventTypes.onToolbarTap,target:this,toolbarAction:a.action,tapTarget:a.tapTarget})},onMouseWheel:function(a){var b=c.Events.getWheelDelta(a);a.timeStamp-(this.mouseWheelStartTime||0)0&&this.previous())},onCarouselSlideshowStart:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStart,target:this})},onCarouselSlideshowStop:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStop,target:this})},onToolbarBeforeShow:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarShow,target:this})},onToolbarShow:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarShow,target:this})},onToolbarBeforeHide:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarHide,target:this})},onToolbarHide:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarHide,target:this})},onZoomPanRotateTransform:function(a){c.Events.fire(this,{target:this,type:j.EventTypes.onZoomPanRotateTransform,scale:a.scale,rotation:a.rotation,rotationDegs:a.rotationDegs,translateX:a.translateX,translateY:a.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),define("vendor/photoswipe",function(){}),1,function(){var a;typeof Joshfire=="undefined"&&(Joshfire={}),a={version:[0,9,3],onReady:function(a){a()},adapter:"ios",adapterModules:{android:["app","dependencies.json","inputs/touch","ui/toolbar","uielements/list","uielements/panel","uielements/video.mediaelement","vendor/iscroll"],browser:["app","inputs/http","inputs/keyboard","inputs/mouse","uielement","uielements/list","uielements/mediacontrols","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","uielements/video.popup","uielements/video.youtube.swf","utils/activitymonitor","utils/datasource","utils/dollar","utils/localstorage","utils/navigation","utils/onready","utils/stresstest"],googletv:["dependencies.json","inputs/keyboard","ui/videoplayer","uielement"],ios:["dependencies.json"],lgtv:["dependencies.json","ui/videoplayer","uielement","utils/dollar"],node:["app.factory","app","class","global.exec","inputs/http","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","utils/datasource","utils/dollar","utils/eventsocket","utils/templatecompiler.cli","utils/templatecompiler","vendor/json2","view"],none:[],philips:["dependencies.json","ui/videoplayer","uielement","uielements/list","uielements/video.mediaelement","utils/dollar","utils/stresstest"],phone:["collection","ui/toolbar","uielement","utils/dollar","utils/onready"],qt4:[],samsungtv:["dependencies.json","inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready","utils/widgetapi","view"],tv:["inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready"]},adapterDeps:["phone"],debug:!1,path:(Joshfire.framework||{}).path||"joshfire"};if(typeof document!="undefined"){var b=document.getElementsByTagName("script"),c,d=new RegExp("^(.*)/adapters/"+a.adapter+"/bootstrap.js$");for(var e=b.length-1;e>=0;e--)c=d.exec(b[e].getAttribute("src")),c&&(a.path=c[1])}typeof require!="undefined"&&require.config&&require.config({paths:{"joshfire-framework":a.path},urlArgs:Joshfire.debug?"bust="+(new Date).getTime():""}),Joshfire.framework=a,typeof module!="undefined"&&module.exports&&(module.exports.JoshfireFramework=a)}.call(this),function(a){a.onReady=function(b){a.require(["joshfire/vendor/zepto"],function(a){b.call()})}}(Joshfire),define("joshlib",{normalize:function(a,b){var c=[Joshfire.framework.adapter].concat(Joshfire.framework.adapterDeps),d=Joshfire.framework.adapterModules,e="joshfire-framework/";if(a.substring(0,14)=="adapters/none/")return e+a.substring(14);if(a.substring(0,9)=="adapters/")return e+a;for(var f=0;fd[a+"ScrollbarMaxScroll"]&&(d.options.fixedScrollbar?e=d[a+"ScrollbarMaxScroll"]:(f=d[a+"ScrollbarIndicatorSize"]-c.round((e-d[a+"ScrollbarMaxScroll"])*3),f<8&&(f=8),d[a+"ScrollbarIndicator"].style[a=="h"?"width":"height"]=f+"px",e=d[a+"ScrollbarMaxScroll"]+(d[a+"ScrollbarIndicatorSize"]-f))),d[a+"ScrollbarWrapper"].style[l]="0",d[a+"ScrollbarWrapper"].style.opacity=b&&d.options.hideScrollbar?"0":"1",d[a+"ScrollbarIndicator"].style[g]="translate("+(a=="h"?e+"px,0)":"0,"+e+"px)")+C},_start:function(a){var b=this,d=q?a.touches[0]:a,e,f,h,i,j;if(!b.enabled)return;b.options.onBeforeScrollStart&&b.options.onBeforeScrollStart.call(b,a),(b.options.useTransition||b.options.zoom)&&b._transitionTime(0),b.moved=!1,b.animating=!1,b.zoomed=!1,b.distX=0,b.distY=0,b.absDistX=0,b.absDistY=0,b.dirX=0,b.dirY=0,b.options.zoom&&q&&a.touches.length>1&&(i=c.abs(a.touches[0].pageX-a.touches[1].pageX),j=c.abs(a.touches[0].pageY-a.touches[1].pageY),b.touchesDistStart=c.sqrt(i*i+j*j),b.originX=c.abs(a.touches[0].pageX+a.touches[1].pageX-b.wrapperOffsetLeft*2)/2-b.x,b.originY=c.abs(a.touches[0].pageY+a.touches[1].pageY-b.wrapperOffsetTop*2)/2-b.y,b.options.onZoomStart&&b.options.onZoomStart.call(b,a));if(b.options.momentum){b.options.useTransform?(e=getComputedStyle(b.scroller,null)[g].replace(/[^0-9\-.,]/g,"").split(","),f=e[4]*1,h=e[5]*1):(f=getComputedStyle(b.scroller,null).left.replace(/[^0-9-]/g,"")*1,h=getComputedStyle(b.scroller,null).top.replace(/[^0-9-]/g,"")*1);if(f!=b.x||h!=b.y)b.options.useTransition?b._unbind(z):B(b.aniTime),b.steps=[],b._pos(f,h)}b.absStartX=b.x,b.absStartY=b.y,b.startX=b.x,b.startY=b.y,b.pointX=d.pageX,b.pointY=d.pageY,b.startTime=a.timeStamp||Date.now(),b.options.onScrollStart&&b.options.onScrollStart.call(b,a),b._bind(v),b._bind(w),b._bind(x)},_move:function(a){var b=this,d=q?a.touches[0]:a,e=d.pageX-b.pointX,f=d.pageY-b.pointY,h=b.x+e,i=b.y+f,j,k,l,m=a.timeStamp||Date.now();b.options.onBeforeScrollMove&&b.options.onBeforeScrollMove.call(b,a);if(b.options.zoom&&q&&a.touches.length>1){j=c.abs(a.touches[0].pageX-a.touches[1].pageX),k=c.abs(a.touches[0].pageY-a.touches[1].pageY),b.touchesDist=c.sqrt(j*j+k*k),b.zoomed=!0,l=1/b.touchesDistStart*b.touchesDist*this.scale,lb.options.zoomMax&&(l=2*b.options.zoomMax*Math.pow(.5,b.options.zoomMax/l)),b.lastScale=l/this.scale,h=this.originX-this.originX*b.lastScale+this.x,i=this.originY-this.originY*b.lastScale+this.y,this.scroller.style[g]="translate("+h+"px,"+i+"px) scale("+l+")"+C,b.options.onZoom&&b.options.onZoom.call(b,a);return}b.pointX=d.pageX,b.pointY=d.pageY;if(h>0||h=0||b.maxScrollX>=0?0:b.maxScrollX;if(i>b.minScrollY||i=b.minScrollY||b.maxScrollY>=0?b.minScrollY:b.maxScrollY;b.distX+=e,b.distY+=f,b.absDistX=c.abs(b.distX),b.absDistY=c.abs(b.distY);if(b.absDistX<6&&b.absDistY<6)return;b.options.lockDirection&&(b.absDistX>b.absDistY+5?(i=b.y,f=0):b.absDistY>b.absDistX+5&&(h=b.x,e=0)),b.moved=!0,b._pos(h,i),b.dirX=e>0?-1:e<0?1:0,b.dirY=f>0?-1:f<0?1:0,m-b.startTime>300&&(b.startTime=m,b.startX=b.x,b.startY=b.y),b.options.onScrollMove&&b.options.onScrollMove.call(b,a)},_end:function(a){if(q&&a.touches.length!==0)return;var d=this,e=q?a.changedTouches[0]:a,f,h,j={dist:0,time:0},k={dist:0,time:0},l=(a.timeStamp||Date.now())-d.startTime,m=d.x,n=d.y,o,p,r,s,t;d._unbind(v),d._unbind(w),d._unbind(x),d.options.onBeforeScrollEnd&&d.options.onBeforeScrollEnd.call(d,a);if(d.zoomed){t=d.scale*d.lastScale,t=Math.max(d.options.zoomMin,t),t=Math.min(d.options.zoomMax,t),d.lastScale=t/d.scale,d.scale=t,d.x=d.originX-d.originX*d.lastScale+d.x,d.y=d.originY-d.originY*d.lastScale+d.y,d.scroller.style[i]="200ms",d.scroller.style[g]="translate("+d.x+"px,"+d.y+"px) scale("+d.scale+")"+C,d.zoomed=!1,d.refresh(),d.options.onZoomEnd&&d.options.onZoomEnd.call(d,a);return}if(!d.moved){q&&(d.doubleTapTimer&&d.options.zoom?(clearTimeout(d.doubleTapTimer),d.doubleTapTimer=null,d.options.onZoomStart&&d.options.onZoomStart.call(d,a),d.zoom(d.pointX,d.pointY,d.scale==1?d.options.doubleTapZoom:1),d.options.onZoomEnd&&setTimeout(function(){d.options.onZoomEnd.call(d,a)},200)):this.options.handleClick&&(d.doubleTapTimer=setTimeout(function(){d.doubleTapTimer=null,f=e.target;while(f.nodeType!=1)f=f.parentNode;f.tagName!="SELECT"&&f.tagName!="INPUT"&&f.tagName!="TEXTAREA"&&(h=b.createEvent("MouseEvents"),h.initMouseEvent("click",!0,!0,a.view,1,e.screenX,e.screenY,e.clientX,e.clientY,a.ctrlKey,a.altKey,a.shiftKey,a.metaKey,0,null),h._fake=!0,f.dispatchEvent(h))},d.options.zoom?250:0))),d._resetPos(200),d.options.onTouchEnd&&d.options.onTouchEnd.call(d,a);return}if(l<300&&d.options.momentum){j=m?d._momentum(m-d.startX,l,-d.x,d.scrollerW-d.wrapperW+d.x,d.options.bounce?d.wrapperW:0):j,k=n?d._momentum(n-d.startY,l,-d.y,d.maxScrollY<0?d.scrollerH-d.wrapperH+d.y-d.minScrollY:0,d.options.bounce?d.wrapperH:0):k,m=d.x+j.dist,n=d.y+k.dist;if(d.x>0&&m>0||d.xd.minScrollY&&n>d.minScrollY||d.y=0?0:b.x=b.minScrollY||b.maxScrollY>0?b.minScrollY:b.yb.options.zoomMax&&(g=b.options.zoomMax),g!=b.scale&&(!b.wheelZoomCount&&b.options.onZoomStart&&b.options.onZoomStart.call(b,a),b.wheelZoomCount++,b.zoom(a.pageX,a.pageY,g,400),setTimeout(function(){b.wheelZoomCount--,!b.wheelZoomCount&&b.options.onZoomEnd&&b.options.onZoomEnd.call(b,a)},400));return}e=b.x+c,f=b.y+d,e>0?e=0:eb.minScrollY?f=b.minScrollY:f=e+f.time){a._pos(f.x,f.y),a.animating=!1,a.options.onAnimationEnd&&a.options.onAnimationEnd.call(a),a._startAni();return}i=(i-e)/f.time-1,g=c.sqrt(1-i*i),j=(f.x-b)*g+b,k=(f.y-d)*g+d,a._pos(j,k),a.animating&&(a.aniTime=A(h))},h()},_transitionTime:function(a){a+="ms",this.scroller.style[i]=a,this.hScrollbar&&(this.hScrollbarIndicator.style[i]=a),this.vScrollbar&&(this.vScrollbarIndicator.style[i]=a)},_momentum:function(a,b,d,e,f){var g=6e-4,h=c.abs(a)/b,i=h*h/(2*g),j=0,k=0;return a>0&&i>d?(k=f/(6/(i/h*g)),d+=k,h=h*d/i,i=d):a<0&&i>e&&(k=f/(6/(i/h*g)),e+=k,h=h*e/i,i=e),i*=a<0?-1:1,j=h/g,{dist:i,time:c.round(j)}},_offset:function(a){var b=-a.offsetLeft,c=-a.offsetTop;while(a=a.offsetParent)b-=a.offsetLeft,c-=a.offsetTop;return a!=this.wrapper&&(b*=this.scale,c*=this.scale),{left:b,top:c}},_snap:function(a,b){var d=this,e,f,g,h,i,j;g=d.pagesX.length-1;for(e=0,f=d.pagesX.length;e=d.pagesX[e]){g=e;break}g==d.currPageX&&g>0&&d.dirX<0&&g--,a=d.pagesX[g],i=c.abs(a-d.pagesX[d.currPageX]),i=i?c.abs(d.x-a)/i*500:0,d.currPageX=g,g=d.pagesY.length-1;for(e=0;e=d.pagesY[e]){g=e;break}return g==d.currPageY&&g>0&&d.dirY<0&&g--,b=d.pagesY[g],j=c.abs(b-d.pagesY[d.currPageY]),j=j?c.abs(d.y-b)/j*500:0,d.currPageY=g,h=c.round(c.max(i,j))||200,{x:a,y:b,time:h}},_bind:function(a,b,c){(b||this.scroller).addEventListener(a,this,!!c)},_unbind:function(a,b,c){(b||this.scroller).removeEventListener(a,this,!!c)},destroy:function(){var b=this;b.scroller.style[g]="",b.hScrollbar=!1,b.vScrollbar=!1,b._scrollbar("h"),b._scrollbar("v"),b._unbind(t,a),b._unbind(u),b._unbind(v),b._unbind(w),b._unbind(x),b.options.hasTouch||(b._unbind("mouseout",b.wrapper),b._unbind(y)),b.options.useTransition&&b._unbind(z),b.options.checkDOMChanges&&clearInterval(b.checkDOMTime),b.options.onDestroy&&b.options.onDestroy.call(b)},refresh:function(){var a=this,b,d,e,f,g=0,h=0;a.scalea.wrapperH),a.hScrollbar=a.hScroll&&a.options.hScrollbar,a.vScrollbar=a.vScroll&&a.options.vScrollbar&&a.scrollerH>a.wrapperH,b=a._offset(a.wrapper),a.wrapperOffsetLeft=-b.left,a.wrapperOffsetTop=-b.top;if(typeof a.options.snap=="string"){a.pagesX=[],a.pagesY=[],f=a.scroller.querySelectorAll(a.options.snap);for(d=0,e=f.length;d=a.maxScrollX)a.pagesX[h]=g,g-=a.wrapperW,h++;a.maxScrollX%a.wrapperW&&(a.pagesX[a.pagesX.length]=a.maxScrollX-a.pagesX[a.pagesX.length-1]+a.pagesX[a.pagesX.length-1]),g=0,h=0,a.pagesY=[];while(g>=a.maxScrollY)a.pagesY[h]=g,g-=a.wrapperH,h++;a.maxScrollY%a.wrapperH&&(a.pagesY[a.pagesY.length]=a.maxScrollY-a.pagesY[a.pagesY.length-1]+a.pagesY[a.pagesY.length-1])}a._scrollbar("h"),a._scrollbar("v"),a.zoomed||(a.scroller.style[i]="0",a._resetPos(200))},scrollTo:function(a,b,c,d){var e=this,f=a,g,h;e.stop(),f.length||(f=[{x:a,y:b,time:c,relative:d}]);for(g=0,h=f.length;g0?0:e.leftd.minScrollY?d.minScrollY:e.topd.pagesX.length-1?d.pagesX.length-1:a,b=b<0?0:b>d.pagesY.length-1?d.pagesY.length-1:b,d.currPageX=a,d.currPageY=b,e=d.pagesX[a],f=d.pagesY[b]):(e=-d.wrapperW*a,f=-d.wrapperH*b,e0?0:e.xe.minScrollY?e.minScrollY:e.y>>0,e=0,f;if(typeof b!="function")throw new TypeError;if(d==0&&arguments.length==1)throw new TypeError;if(arguments.length>=2)f=arguments[1];else do{if(e in c){f=c[e++];break}if(++e>=d)throw new TypeError}while(!0);while(e0?[].concat.apply([],a):a}function H(a){return a.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function I(a){return a in i?i[a]:i[a]=new RegExp("(^|\\s)"+a+"(\\s|$)")}function J(a,b){return typeof b=="number"&&!k[H(a)]?b+"px":b}function K(a){var b,c;return h[a]||(b=g.createElement(a),g.body.appendChild(b),c=j(b,"").getPropertyValue("display"),b.parentNode.removeChild(b),c=="none"&&(c="block"),h[a]=c),h[a]}function L(b,d){return d===a?c(b):c(b).filter(d)}function M(a,b,c,d){return A(b)?b.call(a,c,d):b}function N(a,b,d){var e=a%2?b:b.parentNode;e?e.insertBefore(d,a?a==1?e.firstChild:a==2?b:null:b.nextSibling):c(d).remove()}function O(a,b){b(a);for(var c in a.childNodes)O(a.childNodes[c],b)}function P(a){var b=a.innerHTML||"",c=a.getAttribute("src"),d=null,e=null;b?window.eval.call(window,b):c&&(d=g.getElementsByTagName("head")[0]||g.documentElement,e=g.createElement("script"),e.type="text/javascript",e.setAttribute("src",c),d.insertBefore(e,d.firstChild)),a.parentNode&&a.parentNode.removeChild(a)}var a,b,c,d,e=[],f=e.slice,g=window.document,h={},i={},j=g.defaultView.getComputedStyle,k={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,m=[1,3,8,9,11],n=["after","prepend","before","append"],o=g.createElement("table"),p=g.createElement("tr"),q={tr:g.createElement("tbody"),tbody:o,thead:o,tfoot:o,td:p,th:p,"*":g.createElement("div")},r=/complete|loaded|interactive/,s=/^\.([\w-]+)$/,t=/^#([\w-]+)$/,u=/^[\w-]+$/,v={}.toString,w={},x,y,z=g.createElement("div");return w.matches=function(a,b){if(!a||a.nodeType!==1)return!1;var c=a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.matchesSelector;if(c)return c.call(a,b);var d,e=a.parentNode,f=!e;return f&&(e=z).appendChild(a),d=~w.qsa(e,b).indexOf(a),f&&z.removeChild(a),d},x=function(a){return a.replace(/-+(.)?/g,function(a,b){return b?b.toUpperCase():""})},y=function(a){return a.filter(function(b,c){return a.indexOf(b)==c})},w.fragment=function(b,d){d===a&&(d=l.test(b)&&RegExp.$1),d in q||(d="*");var e=q[d];return e.innerHTML=""+b,c.each(f.call(e.childNodes),function(){e.removeChild(this)})},w.Z=function(a,b){return a=a||[],a.__proto__=arguments.callee.prototype,a.selector=b||"",a},w.isZ=function(a){return a instanceof w.Z},w.init=function(b,d){if(!b)return w.Z();if(A(b))return c(g).ready(b);if(w.isZ(b))return b;var e;if(D(b))e=F(b);else if(C(b))e=[c.extend({},b)],b=null;else if(m.indexOf(b.nodeType)>=0||b===window)e=[b],b=null;else if(l.test(b))e=w.fragment(b.trim(),RegExp.$1),b=null;else{if(d!==a)return c(d).find(b);e=w.qsa(g,b)}return w.Z(e,b)},c=function(a,b){return w.init(a,b)},c.extend=function(c){return f.call(arguments,1).forEach(function(d){for(b in d)d[b]!==a&&(c[b]=d[b])}),c},w.qsa=function(a,b){var c;return a===g&&t.test(b)?(c=a.getElementById(RegExp.$1))?[c]:e:a.nodeType!==1&&a.nodeType!==9?e:f.call(s.test(b)?a.getElementsByClassName(RegExp.$1):u.test(b)?a.getElementsByTagName(b):a.querySelectorAll(b))},c.isFunction=A,c.isObject=B,c.isArray=D,c.isPlainObject=C,c.inArray=function(a,b,c){return e.indexOf.call(b,a,c)},c.trim=function(a){return a.trim()},c.uuid=0,c.map=function(a,b){var c,d=[],e,f;if(E(a))for(e=0;e0&&w.matches(this[0],a)},not:function(b){var d=[];if(A(b)&&b.call!==a)this.each(function(a){b.call(this,a)||d.push(this)});else{var e=typeof b=="string"?this.filter(b):E(b)&&A(b.item)?f.call(b):c(b);this.forEach(function(a){e.indexOf(a)<0&&d.push(a)})}return c(d)},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){var a=this[0];return a&&!B(a)?a:c(a)},last:function(){var a=this[this.length-1];return a&&!B(a)?a:c(a)},find:function(a){var b;return this.length==1?b=w.qsa(this[0],a):b=this.map(function(){return w.qsa(this,a)}),c(b)},closest:function(a,b){var d=this[0];while(d&&!w.matches(d,a))d=d!==b&&d!==g&&d.parentNode;return c(d)},parents:function(a){var b=[],d=this;while(d.length>0)d=c.map(d,function(a){if((a=a.parentNode)&&a!==g&&b.indexOf(a)<0)return b.push(a),a});return L(b,a)},parent:function(a){return L(y(this.pluck("parentNode")),a)},children:function(a){return L(this.map(function(){return f.call(this.children)}),a)},siblings:function(a){return L(this.map(function(a,b){return f.call(b.parentNode.children).filter(function(a){return a!==b})}),a)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(a){return this.map(function(){return this[a]})},show:function(){return this.each(function(){this.style.display=="none"&&(this.style.display=null),j(this,"").getPropertyValue("display")=="none"&&(this.style.display=K(this.nodeName))})},replaceWith:function(a){return this.before(a).remove()},wrap:function(a){return this.each(function(){c(this).wrapAll(c(a)[0].cloneNode(!1))})},wrapAll:function(a){return this[0]&&(c(this[0]).before(a=c(a)),a.append(this)),this},unwrap:function(){return this.parent().each(function(){c(this).replaceWith(c(this).children())}),this},clone:function(){return c(this.map(function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(b){return(b===a?this.css("display")=="none":b)?this.show():this.hide()},prev:function(){return c(this.pluck("previousElementSibling"))},next:function(){return c(this.pluck("nextElementSibling"))},html:function(b){return b===a?this.length>0?this[0].innerHTML:null:this.each(function(a){var d=this.innerHTML;c(this).empty().append(M(this,b,a,d))})},text:function(b){return b===a?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=b})},attr:function(c,d){var e;return typeof c=="string"&&d===a?this.length==0||this[0].nodeType!==1?a:c=="value"&&this[0].nodeName=="INPUT"?this.val():!(e=this[0].getAttribute(c))&&c in this[0]?this[0][c]:e:this.each(function(a){if(this.nodeType!==1)return;if(B(c))for(b in c)this.setAttribute(b,c[b]);else this.setAttribute(c,M(this,d,a,this.getAttribute(c)))})},removeAttr:function(a){return this.each(function(){this.nodeType===1&&this.removeAttribute(a)})},prop:function(b,c){return c===a?this[0]?this[0][b]:a:this.each(function(a){this[b]=M(this,c,a,this[b])})},data:function(b,c){var d=this.attr("data-"+H(b),c);return d!==null?d:a},val:function(b){return b===a?this.length>0?this[0].value:a:this.each(function(a){this.value=M(this,b,a,this.value)})},offset:function(){if(this.length==0)return null;var a=this[0].getBoundingClientRect();return{left:a.left+window.pageXOffset,top:a.top+window.pageYOffset,width:a.width,height:a.height}},css:function(c,d){if(d===a&&typeof c=="string")return this.length==0?a:this[0].style[x(c)]||j(this[0],"").getPropertyValue(c);var e="";for(b in c)typeof c[b]=="string"&&c[b]==""?this.each(function(){this.style.removeProperty(H(b))}):e+=H(b)+":"+J(b,c[b])+";";return typeof c=="string"&&(d==""?this.each(function(){this.style.removeProperty(H(c))}):e=H(c)+":"+J(c,d)),this.each(function(){this.style.cssText+=";"+e})},index:function(a){return a?this.indexOf(c(a)[0]):this.parent().children().indexOf(this[0])},hasClass:function(a){return this.length<1?!1:I(a).test(this[0].className)},addClass:function(a){return this.each(function(b){d=[];var e=this.className,f=M(this,a,b,e);f.split(/\s+/g).forEach(function(a){c(this).hasClass(a)||d.push(a)},this),d.length&&(this.className+=(e?" ":"")+d.join(" "))})},removeClass:function(b){return this.each(function(c){if(b===a)return this.className="";d=this.className,M(this,b,c,d).split(/\s+/g).forEach(function(a){d=d.replace(I(a)," ")}),this.className=d.trim()})},toggleClass:function(b,d){return this.each(function(e){var f=M(this,b,e,this.className);(d===a?!c(this).hasClass(f):d)?c(this).addClass(f):c(this).removeClass(f)})}},["width","height"].forEach(function(b){c.fn[b]=function(d){var e,f=b.replace(/./,function(a){return a[0].toUpperCase()});return d===a?this[0]==window?window["inner"+f]:this[0]==g?g.documentElement["offset"+f]:(e=this.offset())&&e[b]:this.each(function(a){var e=c(this);e.css(b,M(this,d,a,e[b]()))})}}),n.forEach(function(a,b){c.fn[a]=function(){var a=c.map(arguments,function(a){return B(a)?a:w.fragment(a)});if(a.length<1)return this;var d=this.length,e=d>1,f=b<2;return this.each(function(c,g){for(var h=0;h0&&this.bind(o,n),setTimeout(function(){m.css(i),e<=0&&setTimeout(function(){m.each(function(){n.call(this)})},0)},0),this},i=null}(Zepto),function($){function triggerAndReturn(a,b,c){var d=$.Event(b);return $(a).trigger(d,c),!d.defaultPrevented}function triggerGlobal(a,b,c,d){if(a.global)return triggerAndReturn(b||document,c,d)}function ajaxStart(a){a.global&&$.active++===0&&triggerGlobal(a,null,"ajaxStart")}function ajaxStop(a){a.global&&!--$.active&&triggerGlobal(a,null,"ajaxStop")}function ajaxBeforeSend(a,b){var c=b.context;if(b.beforeSend.call(c,a,b)===!1||triggerGlobal(b,c,"ajaxBeforeSend",[a,b])===!1)return!1;triggerGlobal(b,c,"ajaxSend",[a,b])}function ajaxSuccess(a,b,c){var d=c.context,e="success";c.success.call(d,a,e,b),triggerGlobal(c,d,"ajaxSuccess",[b,c,a]),ajaxComplete(e,b,c)}function ajaxError(a,b,c,d){var e=d.context;d.error.call(e,c,b,a),triggerGlobal(d,e,"ajaxError",[c,d,a]),ajaxComplete(b,c,d)}function ajaxComplete(a,b,c){var d=c.context;c.complete.call(d,b,a),triggerGlobal(c,d,"ajaxComplete",[b,c]),ajaxStop(c)}function empty(){}function mimeToDataType(a){return a&&(a==htmlType?"html":a==jsonType?"json":scriptTypeRE.test(a)?"script":xmlTypeRE.test(a)&&"xml")||"text"}function appendQuery(a,b){return(a+"&"+b).replace(/[&?]{1,2}/,"?")}function serializeData(a){isObject(settings.data)&&(!settings.contentType||settings.contentType==="application/x-www-form-urlencoded"?settings.data=$.param(settings.data):settings.contentType==="application/json"&&(settings.data=JSON.stringify(settings.data))),a.data&&(!a.type||a.type.toUpperCase()=="GET")&&(a.url=appendQuery(a.url,a.data))}function serialize(a,b,c,d){var e=$.isArray(b);$.each(b,function(b,f){d&&(b=c?d:d+"["+(e?"":b)+"]"),!d&&e?a.add(f.name,f.value):(c?$.isArray(f):isObject(f))?serialize(a,f,c,b):a.add(b,f)})}var jsonpID=0,isObject=$.isObject,document=window.document,key,name,rscript=/)<[^<]*)*<\/script>/gi,scriptTypeRE=/^(?:text|application)\/javascript/i,xmlTypeRE=/^(?:text|application)\/xml/i,jsonType="application/json",htmlType="text/html",blankRE=/^\s*$/;$.active=0,$.ajaxJSONP=function(a){var b="jsonp"+ ++jsonpID,c=document.createElement("script"),d=function(){$(c).remove(),b in window&&(window[b]=empty),ajaxComplete("abort",e,a)},e={abort:d},f;return a.error&&(c.onerror=function(){e.abort(),a.error()}),window[b]=function(d){clearTimeout(f),$(c).remove(),delete window[b],ajaxSuccess(d,e,a)},serializeData(a),c.src=a.url.replace(/=\?/,"="+b),$("head").append(c),a.timeout>0&&(f=setTimeout(function(){e.abort(),ajaxComplete("timeout",e,a)},a.timeout)),e},$.ajaxSettings={type:"GET",beforeSend:empty,success:empty,error:empty,complete:empty,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript",json:jsonType,xml:"application/xml, text/xml",html:htmlType,text:"text/plain"},crossDomain:!1,timeout:0},$.ajax=function(options){var settings=$.extend({},options||{});for(key in $.ajaxSettings)settings[key]===undefined&&(settings[key]=$.ajaxSettings[key]);ajaxStart(settings),settings.crossDomain||(settings.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(settings.url)&&RegExp.$2!=window.location.host);var dataType=settings.dataType,hasPlaceholder=/=\?/.test(settings.url);if(dataType=="jsonp"||hasPlaceholder)return hasPlaceholder||(settings.url=appendQuery(settings.url,"callback=?")),$.ajaxJSONP(settings);settings.url||(settings.url=window.location.toString()),serializeData(settings);var mime=settings.accepts[dataType],baseHeaders={},protocol=/^([\w-]+:)\/\//.test(settings.url)?RegExp.$1:window.location.protocol,xhr=$.ajaxSettings.xhr(),abortTimeout;settings.crossDomain||(baseHeaders["X-Requested-With"]="XMLHttpRequest"),mime&&(baseHeaders.Accept=mime,mime.indexOf(",")>-1&&(mime=mime.split(",",2)[0]),xhr.overrideMimeType&&xhr.overrideMimeType(mime));if(settings.xhrFields)for(var i in settings.xhrFields)xhr[i]=settings.xhrFields[i];if(settings.contentType||settings.data&&settings.type.toUpperCase()!="GET")baseHeaders["Content-Type"]=settings.contentType||"application/x-www-form-urlencoded";settings.headers=$.extend(baseHeaders,settings.headers||{}),xhr.onreadystatechange=function(){if(xhr.readyState==4){clearTimeout(abortTimeout);var result,error=!1;if(xhr.status>=200&&xhr.status<300||xhr.status==304||xhr.status==0&&protocol=="file:"){dataType=dataType||mimeToDataType(xhr.getResponseHeader("content-type")),result=xhr.responseText;try{dataType=="script"?(1,eval)(result):dataType=="xml"?result=xhr.responseXML:dataType=="json"&&(result=blankRE.test(result)?null:JSON.parse(result))}catch(e){error=e}error?ajaxError(error,"parsererror",xhr,settings):ajaxSuccess(result,xhr,settings)}else ajaxError(null,"error",xhr,settings)}};var async="async"in settings?settings.async:!0;xhr.open(settings.type,settings.url,async);for(name in settings.headers)xhr.setRequestHeader(name,settings.headers[name]);return ajaxBeforeSend(xhr,settings)===!1?(xhr.abort(),!1):(settings.timeout>0&&(abortTimeout=setTimeout(function(){xhr.onreadystatechange=empty,xhr.abort(),ajaxError(null,"timeout",xhr,settings)},settings.timeout)),xhr.send(settings.data?settings.data:null),xhr)},$.get=function(a,b){return $.ajax({url:a,success:b})},$.post=function(a,b,c,d){return $.isFunction(b)&&(d=d||c,c=b,b=null),$.ajax({type:"POST",url:a,data:b,success:c,dataType:d})},$.getJSON=function(a,b){return $.ajax({url:a,success:b,dataType:"json"})},$.fn.load=function(a,b){if(!this.length)return this;var c=this,d=a.split(/\s/),e;return d.length>1&&(a=d[0],e=d[1]),$.get(a,function(a){c.html(e?$(document.createElement("div")).html(a.replace(rscript,"")).find(e).html():a),b&&b.call(c)}),this};var escape=encodeURIComponent;$.param=function(a,b){var c=[];return c.add=function(a,b){this.push(escape(a)+"="+escape(b))},serialize(c,a,b),c.join("&").replace("%20","+")}}(Zepto),function(a){a.fn.serializeArray=function(){var b=[],c;return a(Array.prototype.slice.call(this.get(0).elements)).each(function(){c=a(this);var d=c.attr("type");this.nodeName.toLowerCase()!="fieldset"&&!this.disabled&&d!="submit"&&d!="reset"&&d!="button"&&(d!="radio"&&d!="checkbox"||this.checked)&&b.push({name:c.attr("name"),value:c.val()})}),b},a.fn.serialize=function(){var a=[];return this.serializeArray().forEach(function(b){a.push(encodeURIComponent(b.name)+"="+encodeURIComponent(b.value))}),a.join("&")},a.fn.submit=function(b){if(b)this.bind("submit",b);else if(this.length){var c=a.Event("submit");this.eq(0).trigger(c),c.defaultPrevented||this.get(0).submit()}return this}}(Zepto),function(a){function d(a){return"tagName"in a?a:a.parentNode}function e(a,b,c,d){var e=Math.abs(a-b),f=Math.abs(c-d);return e>=f?a-b>0?"Left":"Right":c-d>0?"Up":"Down"}function h(){g=null,b.last&&(b.el.trigger("longTap"),b={})}function i(){g&&clearTimeout(g),g=null}var b={},c,f=750,g;a(document).ready(function(){var j,k;a(document.body).bind("touchstart",function(e){j=Date.now(),k=j-(b.last||j),b.el=a(d(e.touches[0].target)),c&&clearTimeout(c),b.x1=e.touches[0].pageX,b.y1=e.touches[0].pageY,k>0&&k<=250&&(b.isDoubleTap=!0),b.last=j,g=setTimeout(h,f)}).bind("touchmove",function(a){i(),b.x2=a.touches[0].pageX,b.y2=a.touches[0].pageY}).bind("touchend",function(a){i(),b.isDoubleTap?(b.el.trigger("doubleTap"),b={}):b.x2&&Math.abs(b.x1-b.x2)>30||b.y2&&Math.abs(b.y1-b.y2)>30?(b.el.trigger("swipe")&&b.el.trigger("swipe"+e(b.x1,b.x2,b.y1,b.y2)),b={}):"last"in b&&(b.el.trigger("tap"),c=setTimeout(function(){c=null,b.el.trigger("singleTap"),b={}},250))}).bind("touchcancel",function(){c&&clearTimeout(c),g&&clearTimeout(g),g=c=null,b={}})}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(b){a.fn[b]=function(a){return this.bind(b,a)}})}(Zepto),Zepto}),define("joshfire-framework/adapters/phone/utils/dollar",["joshlib!vendor/zepto"],function(a){return a}),define("joshfire-framework/vendor/underscore",[],function(){return function(){function A(a,b,c){if(a===b)return a!==0||1/a==1/b;if(a==null||b==null)return a===b;a._chain&&(a=a._wrapped),b._chain&&(b=b._wrapped);if(a.isEqual&&w.isFunction(a.isEqual))return a.isEqual(b);if(b.isEqual&&w.isFunction(b.isEqual))return b.isEqual(a);var d=i.call(a);if(d!=i.call(b))return!1;switch(d){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:a==0?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if(typeof a!="object"||typeof b!="object")return!1;var e=c.length;while(e--)if(c[e]==a)return!0;c.push(a);var f=0,g=!0;if(d=="[object Array]"){f=a.length,g=f==b.length;if(g)while(f--)if(!(g=f in a==f in b&&A(a[f],b[f],c)))break}else{if("constructor"in a!="constructor"in b||a.constructor!=b.constructor)return!1;for(var h in a)if(w.has(a,h)){f++;if(!(g=w.has(b,h)&&A(a[h],b[h],c)))break}if(g){for(h in b)if(w.has(b,h)&&!(f--))break;g=!f}}return c.pop(),g}var a=this,b=a._,c={},d=Array.prototype,e=Object.prototype,f=Function.prototype,g=d.slice,h=d.unshift,i=e.toString,j=e.hasOwnProperty,k=d.forEach,l=d.map,m=d.reduce,n=d.reduceRight,o=d.filter,p=d.every,q=d.some,r=d.indexOf,s=d.lastIndexOf,t=Array.isArray,u=Object.keys,v=f.bind,w=function(a){return new I(a)};typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=w),exports._=w):a._=w,w.VERSION="1.3.3";var x=w.each=w.forEach=function(a,b,d){if(a==null)return;if(k&&a.forEach===k)a.forEach(b,d);else if(a.length===+a.length){for(var e=0,f=a.length;e2;a==null&&(a=[]);if(m&&a.reduce===m)return d&&(b=w.bind(b,d)),e?a.reduce(b,c):a.reduce(b);x(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)});if(!e)throw new TypeError("Reduce of empty array with no initial value");return c},w.reduceRight=w.foldr=function(a,b,c,d){var e=arguments.length>2;a==null&&(a=[]);if(n&&a.reduceRight===n)return d&&(b=w.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=w.toArray(a).reverse();return d&&!e&&(b=w.bind(b,d)),e?w.reduce(f,b,c,d):w.reduce(f,b)},w.find=w.detect=function(a,b,c){var d;return y(a,function(a,e,f){if(b.call(c,a,e,f))return d=a,!0}),d},w.filter=w.select=function(a,b,c){var d=[];return a==null?d:o&&a.filter===o?a.filter(b,c):(x(a,function(a,e,f){b.call(c,a,e,f)&&(d[d.length]=a)}),d)},w.reject=function(a,b,c){var d=[];return a==null?d:(x(a,function(a,e,f){b.call(c,a,e,f)||(d[d.length]=a)}),d)},w.every=w.all=function(a,b,d){var e=!0;return a==null?e:p&&a.every===p?a.every(b,d):(x(a,function(a,f,g){if(!(e=e&&b.call(d,a,f,g)))return c}),!!e)};var y=w.some=w.any=function(a,b,d){b||(b=w.identity);var e=!1;return a==null?e:q&&a.some===q?a.some(b,d):(x(a,function(a,f,g){if(e||(e=b.call(d,a,f,g)))return c}),!!e)};w.include=w.contains=function(a,b){var c=!1;return a==null?c:r&&a.indexOf===r?a.indexOf(b)!=-1:(c=y(a,function(a){return a===b}),c)},w.invoke=function(a,b){var c=g.call(arguments,2);return w.map(a,function(a){return(w.isFunction(b)?b||a:a[b]).apply(a,c)})},w.pluck=function(a,b){return w.map(a,function(a){return a[b]})},w.max=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.max.apply(Math,a);if(!b&&w.isEmpty(a))return-Infinity;var d={computed:-Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>=d.computed&&(d={value:a,computed:g})}),d.value},w.min=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.min.apply(Math,a);if(!b&&w.isEmpty(a))return Infinity;var d={computed:Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;gd?1:0}),"value")},w.groupBy=function(a,b){var c={},d=w.isFunction(b)?b:function(a){return a[b]};return x(a,function(a,b){var e=d(a,b);(c[e]||(c[e]=[])).push(a)}),c},w.sortedIndex=function(a,b,c){c||(c=w.identity);var d=0,e=a.length;while(d>1;c(a[f])=0})})},w.difference=function(a){var b=w.flatten(g.call(arguments,1),!0);return w.filter(a,function(a){return!w.include(b,a)})},w.zip=function(){var a=g.call(arguments),b=w.max(w.pluck(a,"length")),c=new Array(b);for(var d=0;d=0;c--)b=[a[c].apply(this,b)];return b[0]}},w.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}},w.keys=u||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)w.has(a,c)&&(b[b.length]=c);return b},w.values=function(a){return w.map(a,w.identity)},w.functions=w.methods=function(a){var b=[];for(var c in a)w.isFunction(a[c])&&b.push(c);return b.sort()},w.extend=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a},w.pick=function(a){var b={};return x(w.flatten(g.call(arguments,1)),function(c){c in a&&(b[c]=a[c])}),b},w.defaults=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]==null&&(a[c]=b[c])}),a},w.clone=function(a){return w.isObject(a)?w.isArray(a)?a.slice():w.extend({},a):a},w.tap=function(a,b){return b(a),a},w.isEqual=function(a,b){return A(a,b,[])},w.isEmpty=function(a){if(a==null)return!0;if(w.isArray(a)||w.isString(a))return a.length===0;for(var b in a)if(w.has(a,b))return!1;return!0},w.isElement=function(a){return!!a&&a.nodeType==1},w.isArray=t||function(a){return i.call(a)=="[object Array]"},w.isObject=function(a){return a===Object(a)},w.isArguments=function(a){return i.call(a)=="[object Arguments]"},w.isArguments(arguments)||(w.isArguments=function(a){return!!a&&!!w.has(a,"callee")}),w.isFunction=function(a){return i.call(a)=="[object Function]"},w.isString=function(a){return i.call(a)=="[object String]"},w.isNumber=function(a){return i.call(a)=="[object Number]"},w.isFinite=function(a){return w.isNumber(a)&&isFinite(a)},w.isNaN=function(a){return a!==a},w.isBoolean=function(a){return a===!0||a===!1||i.call(a)=="[object Boolean]"},w.isDate=function(a){return i.call(a)=="[object Date]"},w.isRegExp=function(a){return i.call(a)=="[object RegExp]"},w.isNull=function(a){return a===null},w.isUndefined=function(a){return a===void 0},w.has=function(a,b){return j.call(a,b)},w.noConflict=function(){return a._=b,this},w.identity=function(a){return a},w.times=function(a,b,c){for(var d=0;d/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},w.result=function(a,b){if(a==null)return null;var c=a[b];return w.isFunction(c)?c.call(a):c},w.mixin=function(a){x(w.functions(a),function(b){K(b,w[b]=a[b])})};var B=0;w.uniqueId=function(a){var b=B++;return a?a+b:b},w.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var C=/.^/,D={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"};for(var E in D)D[D[E]]=E;var F=/\\|'|\r|\n|\t|\u2028|\u2029/g,G=/\\(\\|'|r|n|t|u2028|u2029)/g,H=function(a){return a.replace(G,function(a,b){return D[b]})};w.template=function(a,b,c){c=w.defaults(c||{},w.templateSettings);var d="__p+='"+a.replace(F,function(a){return"\\"+D[a]}).replace(c.escape||C,function(a,b){return"'+\n_.escape("+H(b)+")+\n'"}).replace(c.interpolate||C,function(a,b){return"'+\n("+H(b)+")+\n'"}).replace(c.evaluate||C,function(a,b){return"';\n"+H(b)+"\n;__p+='"})+"';\n";c.variable||(d="with(obj||{}){\n"+d+"}\n"),d="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+d+"return __p;\n";var e=new Function(c.variable||"obj","_",d);if(b)return e(b,w);var f=function(a){return e.call(this,a,w)};return f.source="function("+(c.variable||"obj")+"){\n"+d+"}",f},w.chain=function(a){return w(a).chain()};var I=function(a){this._wrapped=a};w.prototype=I.prototype;var J=function(a,b){return b?w(a).chain():a},K=function(a,b){I.prototype[a]=function(){var a=g.call(arguments);return h.call(a,this._wrapped),J(b.apply(w,a),this._chain)}};w.mixin(w),x(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=d[a];I.prototype[a]=function(){var c=this._wrapped;b.apply(c,arguments);var d=c.length;return(a=="shift"||a=="splice")&&d===0&&delete c[0],J(c,this._chain)}}),x(["concat","join","slice"],function(a){var b=d[a];I.prototype[a]=function(){return J(b.apply(this._wrapped,arguments),this._chain)}}),I.prototype.chain=function(){return this._chain=!0,this},I.prototype.value=function(){return this._wrapped}}.call(this),typeof exports!="undefined"?typeof module!="undefined"&&module.exports?exports:exports._:this._}),function(a){var b=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a},c=function(a){if(a["@type"]==="VideoObject"||a["@type"]==="AudioObject")return a;var b=null;switch(a["@type"]){case"MusicRecording":b=["audio","associatedMedia","video"];break;default:b=["video","associatedMedia","audio"]}for(var c=0,d=b.length;cc.width+1?c.height=e.height:e.width';for(var e=0;e'}d+="",typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),h=e.extend({initialize:function(a){this.sources=a.sources,this.poster=a.poster||"",this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},addPolyFill:function(){var a=document.getElementsByTagName("body")[0],b=document.createElement("link"),c=document.createElement("script");b.setAttribute("href","http://vjs.zencdn.net/c/video-js.css"),b.setAttribute("rel","stylesheet"),c.setAttribute("src","http://vjs.zencdn.net/c/video.js"),a.appendChild(b),a.appendChild(c)},toHtml:function(a){var b=this.poster?' poster="'+this.poster+'"':"",c=this.autoPlay?" autoplay":"",d='",typeof window!="undefined"&&typeof window.VideoJS=="undefined"&&this.addPolyFill(),typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),i=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||40,this.autoPlay=a.autoPlay||!1},iCanHazAudioTag:function(a){if(!document)return!1;var b=document.createElement("audio");return b.canPlayType},toHtml:function(a){var b="";if(this.sources&&this.sources.length){for(var c=0;c";break}b||(b='Play')}typeof a=="function"&&a(null,b,{})}}),j=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},toHtml:function(a){var b="mediaplayerlib-mediaelement-video-"+j.nextId++,c=this.poster?' poster="'+this.poster+'"':"",d=this.autoPlay?" autoplay":"",e='",e+="",typeof a=="function"&&a(null,e,{width:this.width,height:this.height})}});j.nextId=0;var k=e.extend({initialize:function(a){this.options=a},toHtml:function(b){var c=null;for(var d=0;d';typeof a=="function"&&a(null,b,{width:this.width,height:this.height})}}),m=e.extend({initialize:function(a){this.url=a.url,this.publisher=a.publisher,this.width=a.width||500,this.height=a.height||281},toHtml:function(a){var b=this.url||"",c="",d="",e=function(){var a=function(){return((1+Math.random())*65536|0).toString(16).substring(1)};return"mediaplayerlib-"+a()+a()+a()};d=e(),this.publisher==="Ooyala"?(b+=(b.indexOf("?")===-1?"?":"&")+"width="+encodeURIComponent(this.width)+"&height="+encodeURIComponent(this.height),c='
'+'"+''):c='',typeof a=="function"&&a(null,c,{width:this.width,height:this.height})}}),n=e.extend({toHtml:function(a){typeof a=="function"&&a(new Error("Unknown media type."),"Unknown media type.")}}),o=function(){};b(o.prototype,{execute:function(a,b){return new n(b)}}),o.extend=function(a){var c=function(a){o.call(this,a)};return b(c.prototype,a),c};var p=o.extend({execute:function(a,e){var f,g=c(a)||{},i=d(g,e);b(e,i);if(g["@type"]==="VideoObject")if(g.playerType==="iframe")b(e,{url:g.embedURL}),f=new l(e);else if(g.playerType==="script")b(e,{url:g.embedURL,publisher:g.publisher?g.publisher.name:null}),f=new m(e);else if(g.contentURL){var j=null;g.image&&g.image.contentURL&&(j=g.image.contentURL),b(e,{poster:j,sources:[g.contentURL]}),f=new h(e)}return f||new n}}),q=o.extend({execute:function(a,e){var f,h=c(a)||{},j=d(h,e);b(e,j);if(h.playerType==="iframe")b(e,{url:h.embedURL,html5:!0}),f=new l(e);else if(h.playerType==="script")b(e,{url:h.embedURL,html5:!0,publisher:h.publisher?h.publisher.name:null}),f=new m(e);else if(h["@type"]==="VideoObject"){if(h.contentURL){var k=null;h.image&&(k=h.image.contentURL),b(e,{poster:k,sources:[h.contentURL]}),f=new g(e)}}else h["@type"]==="AudioObject"&&h.contentURL&&(b(e,{sources:[h.contentURL]}),f=new i(e));return f}}),r=o.extend({execute:function(a,e){var f=c(a)||{},g=d(f,e);b(e,g);var h;if(a["@type"]==="VideoObject"){if(typeof a.contentURL!="undefined"){var i=null;f.image&&(i=f.image.contentURL),b(e,{poster:i,sources:[a.contentURL]}),h=new j(e)}}else a["@type"]==="AudioObject"&&typeof a.contentURL!="undefined"&&b(e,{sources:[a.contentURL]});return h}}),s=o.extend({execute:function(a,c){var d;return typeof a.url!="undefined"&&(b(c,{url:a.url}),d=new k(c)),d}}),t=function(){this.strategies={def:new p,html5:new q,mediaElement:new r,oembed:new s}};b(t.prototype,{resolve:function(a,b){b=b||{};var c;if(typeof b.strategy!="undefined"&&typeof this.strategies[b.strategy]!="undefined"){var d=this.strategies[b.strategy];c=d.execute(a,b)}return c||this.strategies.def.execute(a,b)},insertFragment:function(a,b){function d(a,b){b(a);for(var c in a.childNodes)d(a.childNodes[c],b)}function e(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()}function f(a){var b=a.text||a.textContent||a.innerHTML||"",c=a.getAttribute("src"),d=document.getElementsByTagName("head")[0]||document.documentElement,e=document.createElement("script");e.type="text/javascript",c&&e.setAttribute("src",c),b&&e.appendChild(document.createTextNode(b)),d.insertBefore(e,d.firstChild),a.parentNode&&a.parentNode.removeChild(a)}var c=null;Object.prototype.toString.call(b)==="[object String]"?c=document.getElementById(b):c=b,c.innerHTML=(""+a).trim();var g=[],h=null;d(c,function(a){a.nodeName&&a.nodeName.toUpperCase()==="SCRIPT"&&(!a.type||a.type==="text/javascript")&&g.push(a)});for(h in g)f(g[h])},insert:function(a,b,c,d){var e=this,f=this.resolve(a,b).toHtml(function(a,b){e.insertFragment(b,c),typeof d=="function"&&d(null)})}}),typeof Joshfire!="undefined"&&typeof Joshfire.define!="undefined"?Joshfire.define([],function(){return new t}):typeof define!="undefined"?define("joshfire-framework/utils/mediaplayerlib",[],function(){return new t}):a.mediaFactory=new t}(typeof module!="undefined"?module.exports:window),define("joshfire-framework/vendor/backbone",["joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b){return function(){var c=this,d=c.Backbone,e=Array.prototype.slice,f=Array.prototype.splice,g;typeof exports!="undefined"?g=exports:g=c.Backbone={},g.VERSION="0.9.2",g.setDomLibrary=function(a){b=a},g.noConflict=function(){return c.Backbone=d,this},g.emulateHTTP=!1,g.emulateJSON=!1;var h=/\s+/,i=g.Events={on:function(a,b,c){var d,e,f,g,i;if(!b)return this;a=a.split(h),d=this._callbacks||(this._callbacks={});while(e=a.shift())i=d[e],f=i?i.tail:{},f.next=g={},f.context=c,f.callback=b,d[e]={tail:g,next:i?i.next:f};return this},off:function(b,c,d){var e,f,g,i,j,k;if(!(f=this._callbacks))return;if(!(b||c||d))return delete this._callbacks,this;b=b?b.split(h):a.keys(f);while(e=b.shift()){g=f[e],delete f[e];if(!g||!c&&!d)continue;i=g.tail;while((g=g.next)!==i)j=g.callback,k=g.context,(c&&j!==c||d&&k!==d)&&this.on(e,j,k)}return this},trigger:function(a){var b,c,d,f,g,i,j;if(!(d=this._callbacks))return this;i=d.all,a=a.split(h),j=e.call(arguments,1);while(b=a.shift()){if(c=d[b]){f=c.tail;while((c=c.next)!==f)c.callback.apply(c.context||this,j)}if(c=i){f=c.tail,g=[b].concat(j);while((c=c.next)!==f)c.callback.apply(c.context||this,g)}}return this}};i.bind=i.on,i.unbind=i.off;var j=g.Model=function(b,c){var d;b||(b={}),c&&c.parse&&(b=this.parse(b));if(d=A(this,"defaults"))b=a.extend({},d,b);c&&c.collection&&(this.collection=c.collection),this.attributes={},this._escapedAttributes={},this.cid=a.uniqueId("c"),this.changed={},this._silent={},this._pending={},this.set(b,{silent:!0}),this.changed={},this._silent={},this._pending={},this._previousAttributes=a.clone(this.attributes),this.initialize.apply(this,arguments)};a.extend(j.prototype,i,{changed:null,_silent:null,_pending:null,idAttribute:"id",initialize:function(){},toJSON:function(b){return a.clone(this.attributes)},get:function(a){return this.attributes[a]},escape:function(b){var c;if(c=this._escapedAttributes[b])return c;var d=this.get(b);return this._escapedAttributes[b]=a.escape(d==null?"":""+d)},has:function(a){return this.get(a)!=null},set:function(b,c,d){var e,f,g;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d||(d={});if(!e)return this;e instanceof j&&(e=e.attributes);if(d.unset)for(f in e)e[f]=void 0;if(!this._validate(e,d))return!1;this.idAttribute in e&&(this.id=e[this.idAttribute]);var h=d.changes={},i=this.attributes,k=this._escapedAttributes,l=this._previousAttributes||{};for(f in e){g=e[f];if(!a.isEqual(i[f],g)||d.unset&&a.has(i,f))delete k[f],(d.silent?this._silent:h)[f]=!0;d.unset?delete i[f]:i[f]=g,!a.isEqual(l[f],g)||a.has(i,f)!=a.has(l,f)?(this.changed[f]=g,d.silent||(this._pending[f]=!0)):(delete this.changed[f],delete this._pending[f])}return d.silent||this.change(d),this},unset:function(a,b){return(b||(b={})).unset=!0,this.set(a,null,b)},clear:function(b){return(b||(b={})).unset=!0,this.set(a.clone(this.attributes),b)},fetch:function(b){b=b?a.clone(b):{};var c=this,d=b.success;return b.success=function(a,e,f){if(!c.set(c.parse(a,f),b))return!1;d&&d(c,a)},b.error=g.wrapError(b.error,c,b),(this.sync||g.sync).call(this,"read",this,b)},save:function(b,c,d){var e,f;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d=d?a.clone(d):{};if(d.wait){if(!this._validate(e,d))return!1;f=a.clone(this.attributes)}var h=a.extend({},d,{silent:!0});if(e&&!this.set(e,d.wait?h:d))return!1;var i=this,j=d.success;d.success=function(b,c,f){var g=i.parse(b,f);d.wait&&(delete d.wait,g=a.extend(e||{},g));if(!i.set(g,d))return!1;j?j(i,b):i.trigger("sync",i,b,d)},d.error=g.wrapError(d.error,i,d);var k=this.isNew()?"create":"update",l=(this.sync||g.sync).call(this,k,this,d);return d.wait&&this.set(f,h),l},destroy:function(b){b=b?a.clone(b):{};var c=this,d=b.success,e=function(){c.trigger("destroy",c,c.collection,b)};if(this.isNew())return e(),!1;b.success=function(a){b.wait&&e(),d?d(c,a):c.trigger("sync",c,a,b)},b.error=g.wrapError(b.error,c,b);var f=(this.sync||g.sync).call(this,"delete",this,b);return b.wait||e(),f},url:function(){var a=A(this,"urlRoot")||A(this.collection,"url")||B();return this.isNew()?a:a+(a.charAt(a.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},parse:function(a,b){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},change:function(b){b||(b={});var c=this._changing;this._changing=!0;for(var d in this._silent)this._pending[d]=!0;var e=a.extend({},b.changes,this._silent);this._silent={};for(var d in e)this.trigger("change:"+d,this,this.get(d),b);if(c)return this;while(!a.isEmpty(this._pending)){this._pending={},this.trigger("change",this,b);for(var d in this.changed){if(this._pending[d]||this._silent[d])continue;delete this.changed[d]}this._previousAttributes=a.clone(this.attributes)}return this._changing=!1,this},hasChanged:function(b){return arguments.length?a.has(this.changed,b):!a.isEmpty(this.changed)},changedAttributes:function(b){if(!b)return this.hasChanged()?a.clone(this.changed):!1;var c,d=!1,e=this._previousAttributes;for(var f in b){if(a.isEqual(e[f],c=b[f]))continue;(d||(d={}))[f]=c}return d},previous:function(a){return!arguments.length||!this._previousAttributes?null:this._previousAttributes[a]},previousAttributes:function(){return a.clone(this._previousAttributes)},isValid:function(){return!this.validate(this.attributes)},_validate:function(b,c){if(c.silent||!this.validate)return!0;b=a.extend({},this.attributes,b);var d=this.validate(b,c);return d?(c&&c.error?c.error(this,d,c):this.trigger("error",this,d,c),!1):!0}});var k=g.Collection=function(a,b){b||(b={}),b.model&&(this.model=b.model),b.comparator&&(this.comparator=b.comparator),this._reset(),this.initialize.apply(this,arguments),a&&this.reset(a,{silent:!0,parse:b.parse})};a.extend(k.prototype,i,{model:j,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},add:function(b,c){var d,e,g,h,i,j,k={},l={},m=[];c||(c={}),b=a.isArray(b)?b.slice():[b];for(d=0,g=b.length;d').hide().appendTo("body")[0].contentWindow,this.navigate(d)),this._hasPushState?b(window).bind("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!f?b(window).bind("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=d;var g=window.location,h=g.pathname==this.options.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!h)return this.fragment=this.getFragment(null,!0),window.location.replace(this.options.root+"#"+this.fragment),!0;this._wantsPushState&&this._hasPushState&&h&&g.hash&&(this.fragment=this.getHash().replace(r,""),window.history.replaceState({},document.title,g.protocol+"//"+g.host+this.options.root+this.fragment));if(!this.options.silent)return this.loadUrl()},stop:function(){b(window).unbind("popstate",this.checkUrl).unbind("hashchange",this.checkUrl),clearInterval(this._checkUrlInterval),q.started=!1},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(a){var b=this.getFragment();b==this.fragment&&this.iframe&&(b=this.getFragment(this.getHash(this.iframe)));if(b==this.fragment)return!1;this.iframe&&this.navigate(b),this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(b){var c=this.fragment=this.getFragment(b),d=a.any(this.handlers,function(a){if(a.route.test(c))return a.callback(c),!0});return d},navigate:function(a,b){if(!q.started)return!1;if(!b||b===!0)b={trigger:b};var c=(a||"").replace(r,"");if(this.fragment==c)return;this._hasPushState?(c.indexOf(this.options.root)!=0&&(c=this.options.root+c),this.fragment=c,window.history[b.replace?"replaceState":"pushState"]({},document.title,c)):this._wantsHashChange?(this.fragment=c,this._updateHash(window.location,c,b.replace),this.iframe&&c!=this.getFragment(this.getHash(this.iframe))&&(b.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,c,b.replace))):window.location.assign(this.options.root+a),b.trigger&&this.loadUrl(a)},_updateHash:function(a,b,c){c?a.replace(a.toString().replace(/(javascript:|#).*$/,"")+"#"+b):a.hash=b}});var t=g.View=function(b){this.cid=a.uniqueId("view"),this._configure(b||{}),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},u=/^(\S+)\s*(.*)$/,v=["model","collection","el","id","attributes","className","tagName"];a.extend(t.prototype,i,{tagName:"div",$:function(a){return this.$el.find(a)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this},make:function(a,c,d){var e=document.createElement(a);return c&&b(e).attr(c),d&&b(e).html(d),e},setElement:function(a,c){return this.$el&&this.undelegateEvents(),this.$el=a instanceof b?a:b(a),this.el=this.$el[0],c!==!1&&this.delegateEvents(),this},delegateEvents:function(b){if(!b&&!(b=A(this,"events")))return;this.undelegateEvents();for(var c in b){var d=b[c];a.isFunction(d)||(d=this[b[c]]);if(!d)throw new Error('Method "'+b[c]+'" does not exist');var e=c.match(u),f=e[1],g=e[2];d=a.bind(d,this),f+=".delegateEvents"+this.cid,g===""?this.$el.bind(f,d):this.$el.delegate(g,f,d)}},undelegateEvents:function(){this.$el.unbind(".delegateEvents"+this.cid)},_configure:function(b){this.options&&(b=a.extend({},this.options,b));for(var c=0,d=v.length;c/g,">").replace(/"+a+"";var c="<"+this.el.nodeName.toLowerCase();for(var d=0;d",c},hide:function(){c(this.el).hide(),this.trigger("hidden")},show:function(){c(this.el).show(),this.trigger("shown")},enhance:function(){this.customLoadEvent||this.trigger("load"),this.loadingClass&&c(this.el)&&(c(this.el).addClass(this.loadingClass),this.unbind("load",this.removeLoadingClass,this),this.bind("load",this.removeLoadingClass,this))},removeLoadingClass:function(){c(this.el).removeClass(this.loadingClass)}});return d}),define("joshfire-framework/uielement",["joshlib!view"],function(a){var b=a.extend({});return b}),define("joshfire-framework/adapters/phone/uielement",["joshlib!adapters/none/uielement","joshlib!vendor/iscroll","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c,d){var e=a.extend({initialize:function(b){this.options.scroller&&d(this.el).css({overflow:"hidden"}),this.options.scrollerSelector&&(this.scrollerSelector=this.options.scrollerSelector),this.bind("shown",function(){this.hasScroller&&this.iScroller&&this.iScroller.refresh()},this),a.prototype.initialize.call(this,b)},enhance:function(){var b=this;if(this.options.scroller){b.insertScroller(),window.skiped&&b.iScroller.scrollToElement("li:nth-child("+window.skiped+")",200);var c=b.$("img");c.length&&b.$("img").bind("load",function(){setTimeout(function(){b.iScroller.refresh()},10)})}a.prototype.enhance.call(this)},insertScroller:function(){var a=this;this.hasScroller=!0,a.iScroller&&a.iScroller.destroy();var e=a.el;a.scrollerSelector&&(e=d(a.scrollerSelector,a.el).get(0)||a.el),a.iScroller=new b(e,c.extend({useTransition:!0,onScrollMove:function(){a.$("a").bind("click.iscrollprevent",function(a){a.preventDefault()})},onScrollEnd:function(){setTimeout(function(){a.$("a").unbind("click.iscrollprevent")},100)},onBeforeScrollStart:function(a){var b=a.target;while(b.nodeType!=1)b=b.parentNode;b.tagName!="SELECT"&&b.tagName!="INPUT"&&b.tagName!="TEXTAREA"&&a.preventDefault()}},a.options.scrollOptions||{})),a.options.scrollOptions&&a.options.scrollOptions.disabled&&a.iScroller.disable(),document.addEventListener("orientationChanged",function(b){a.iScroller&&a.iScroller.refresh()})}});return e}),define("joshfire-framework/ui/layout",["joshlib!uielement","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(c){c.template?this.template=this.compileTemplate(c.template):c.templateEl&&(this.template=this.compileTemplate($(c.templateEl).text())),this.customLoadEvent=!0,this.setChildren(c.children),this.bind("shown",function(){b.each(this.children,function(a){a.trigger("shown")})},this),this.bind("hidden",function(){b.each(this.children,function(a){a.trigger("hidden")})},this),a.prototype.initialize.call(this,c)},setChildren:function(a){this.children=a,this.numChildren=0,this.numChildrenLoaded=0,a&&b.each(a,b.bind(function(a){++this.numChildren,a.bind("load",b.bind(function(){++this.numChildrenLoaded,this.numChildrenLoaded===this.numChildren&&this.trigger("load")},this))},this))},getChild:function(a){if(a)return this.children[a]},generate:function(a){if(!this.children)return a(null,"");this.childrenOffsets={},this.numChildrenLoaded=0;var c=0,d="";b.each(this.children,b.bind(function(e,f){e.generate(b.bind(function(b,g){var h=e.wrapContent(g);this.childrenOffsets[f]=c,d+=h;if(++c===this.numChildren){var i=null;this.template?i=this.template({childrenOuterHTML:d}):i=d,a(null,i)}},this))},this))},setContent:function(b){a.prototype.setContent.call(this,b),this.children&&this.el&&this.setChildrenElements(!0)},setElement:function(b,c){a.prototype.setElement.call(this,b,c),this.setChildrenElements(c)},setChildrenElements:function(a){b.each(this.children,b.bind(function(a,b){var c=this.el.childNodes[this.childrenOffsets[b]];a.setElement(c,!0)},this))},enhance:function(){a.prototype.enhance.call(this),this.children&&this.el&&b.each(this.children,b.bind(function(a,b){a.enhance()},this)),(!this.children||this.children.length===0)&&this.trigger("load")}});return c}),define("joshfire-framework/ui/cardpanel",["joshlib!ui/layout","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(b){this.showChild(b.currentChild||b.defaultChildren),a.prototype.initialize.call(this,b)},showChild:function(a){if(this.currentChild===a)return;this.canUseDOM&&this.transition(this.currentChild,a),this.currentChild=a},showChildren:function(a){this.showChild(a)},transition:function(a,c){b.each(this.children,function(a,b){b!=c&&a.hide()}),c&&this.children[c].show()},enhance:function(){a.prototype.enhance.call(this),this.currentChild&&this.transition(null,this.currentChild),this.canUseDOM=!0}});return c}),define("joshfire-framework/ui/fadeinpanel",["joshlib!ui/cardpanel","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c){var d=a.extend({initialize:function(b){this.cssTransition=b.cssTransition||".4s ease-in-out all",a.prototype.initialize.call(this,b)},transition:function(a,d){var e=this.children[d];e.hide(),c(e.el).css({filter:"alpha(opacity=0)","-khtml-opacity":0,"-moz-opacity":0,"-ms-opacity":0,"-o-opacity":0,opacity:0,"-webkit-transition":"none","-moz-transition":"none","-ms-transition":"none","-o-transition":"none",transition:"none"}),b.each(this.children,b.bind(function(a,b){a.hide()},this)),e.show(),c(e.el).css({filter:"alpha(opacity=100)","-khtml-opacity":1,"-moz-opacity":1,"-ms-opacity":1,"-o-opacity":1,opacity:1,"-webkit-transition":"0.7s ease-in-out all","-moz-transition":"0.7s ease-in-out all","-ms-transition":"0.7s ease-in-out all","-o-transition":"0.7s ease-in-out all",transition:"0.7s ease-in-out all","-webkit-backface-visibility":"hidden"})}});return d}),define("joshfire-framework/ui/item",["joshlib!uielement","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){c.template?this.template=this.compileTemplate(c.template):c.templateEl&&(this.template=this.compileTemplate(b(c.templateEl).text())),this.setModel(c.model),a.prototype.initialize.call(this,c)},setModel:function(a,b){this.model=a,a&&a.bind("change",this.render,this),b&&this.render()},generate:function(a){if(!this.template)return a(null,"");if(!this.model)return a(null,"");var b={model:this.model,obj:this.model,item:this.model?this.model.toJSON():{}};c.extend(b,this.data),a(null,this.template(b))}});return d}),define("joshfire-framework/ui/dynamiccontainer",["joshlib!uielement","joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){var e=a.extend({initialize:function(e){this.setModel(e.model),this.setCollection(e.collection),this.viewTemplateEl=e.viewTemplateEl||e.itemTemplateEl,this.viewOptions=e.viewOptions||e.itemOptions||{},this.viewOptions.templateEl=this.viewOptions.templateEl||this.viewTemplateEl,this.viewOptions.template=this.viewOptions.template||e.viewTemplate||e.itemTemplate,e.template?this.template=this.compileTemplate(e.template):e.templateEl&&(this.template=this.compileTemplate(c(e.templateEl).text())),this.viewFactory=function(a,c){var f={model:a,collection:c};return d.extend(f,this.viewOptions),factory=e.viewFactory||e.itemFactory,factory?factory(f):new b(f)},this.customLoadEvent=!0,this.bind("shown",function(){this.view&&this.view.trigger("shown")},this),this.bind("hidden",function(){this.view&&this.view.trigger("hidden")},this),a.prototype.initialize.call(this,e)},setModel:function(a,b){this.model&&this.model.unbind("change",this.render,this),this.model=a,a&&a.bind("change",this.render,this),b&&this.render()},setCollection:function(a,b){this.collection&&(this.collection.unbind("change",this.render,this),this.collection.unbind("add",this.render,this),this.collection.unbind("remove",this.render,this),this.collection.unbind("reset",this.render,this)),this.collection=a,a&&(a.bind("change",this.render,this),a.bind("add",this.render,this),a.bind("remove",this.render,this),a.bind("reset",this.render,this)),b&&this.render()},generate:function(a){var b=this;this.view&&this.view.unbind("load",this.triggerLoad,this),this.view=this.viewFactory(this.model,this.collection);if(!this.view)return a(null,"");this.view.bind("load",this.triggerLoad,this),!this.view.model&&this.view.setModel&&this.view.setModel(this.model),!this.view.collection&&this.view.setCollection&&this.view.setCollection(this.collection),this.view.generate(function(c,d){var e=b.view.wrapContent(d),f=null;return e&&b.template?f=b.template({child:e}):f=e?e:"",a(c,f)})},setContent:function(b){a.prototype.setContent.call(this,b),this.view&&this.el&&this.setViewElement(!0)},setElement:function(b,c){a.prototype.setElement.call(this,b,c),this.setViewElement(c)},setViewElement:function(a){this.view&&this.view.setElement(this.el.firstChild,a)},enhance:function(){var b=this;this.view.enhance();var c=["navUp","navRight","navDown","navLeft","navAction","navFocus","navBlur"];d.each(c,function(a){b[a]=b.view[a]}),a.prototype.enhance.call(this)},triggerLoad:function(){this.trigger("load")}});return e}),define("joshfire-framework/ui/factorymedia",["joshlib!ui/item","joshlib!utils/mediaplayerlib","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){var e=a.extend({initialize:function(b){this.mediaOptions=b.mediaOptions||{},a.prototype.initialize.call(this,b)},generate:function(e){var f=/^([0-9]{1,3})%$/,g=null,h=0,i=d.clone(this.mediaOptions);if(!this.model)return e(null,"");i.width&&d.isString(i.width)&&(g=i.width.match(f),g&&(h=parseInt(g[1],10),this.options.width?i.width=this.options.width*h/100:i.width=c(this.el).width()*h/100,i.width=Math.floor(i.width))),i.height&&d.isString(i.height)&&(g=i.height.match(f),g&&(h=parseInt(g[1],10),this.options.height?i.height=this.options.height*h/100:i.height=c(this.el).height()*h/100,i.height=Math.floor(i.height)));var j=b.resolve(this.model.toJSON(),i);j.toHtml(d.bind(function(b,c,f){if(this.template)d.extend(this.data,{media:{html:c,metadata:f},width:this.options.width,height:this.options.height}),a.prototype.generate.call(this,e);else return e(null,c)},this))}});return e}),define("joshfire-framework/ui/imagesloader",["joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){this.imageClass=c.imageClass,this.processImageEl=c.processImageEl;var d=this;this.getImages=c.getImages||function(){var a=b.map(this.$("img"),function(a){return d.imageClass&&b(a).addClass(d.imageClass),{el:a,url:b(a).attr("src")}});return a},this.customLoadEvent=!0,a.prototype.initialize.call(this,c)},enhance:function(){var d=this;if(!this.getImages){a.prototype.enhance.call(this),this.trigger("load");return}var e=this.getImages();if(!e||e.length===0){a.prototype.enhance.call(this),this.trigger("load");return}var f=0,g=function(a){a&&b(a).removeClass("loading"),f+=1,f===e.length&&d.trigger("load")};c.each(e,function(a){if(!a.el||!a.url)return g(a.el);var c=a.el;d.processImageEl&&(c=d.processImageEl(a.el)),b(c).addClass("loading");var e=new Image;e.onload=function(){g(c),e=null},e.onerror=function(){g(c),e=null},e.src=a.url}),a.prototype.enhance.call(this)}});return d}),define("joshfire-framework/ui/imageloader",["joshlib!ui/imagesloader","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){this.getImageUrl=c.getImageUrl||function(){return this.model?this.model.imageUrl:null};var d=this;c.getImages=function(){var a=null;return c.imageContainer&&(a=d.$(c.imageContainer)),a||(a=b(d.el)),[{el:a.get(0),url:d.getImageUrl()}]},a.prototype.initialize.call(this,c)},generate:function(a){if(!this.model){a(null,"");return}var b={model:this.model,obj:this.model,item:this.model?this.model.toJSON():{},imageUrl:this.getImageUrl.call(this)};c.extend(b,this.data),a(null,this.template(b))}});return d}),define("joshfire-framework/ui/listitem",["joshlib!uielement","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(c){this.view=c.view,this.offset=c.offset,this.customLoadEvent=!0,this.view&&this.view.bind("load",b.bind(function(){this.trigger("load")},this)),a.prototype.initialize.call(this,c)},setElement:function(a){this.view&&this.view.setElement(a)},generate:function(a){this.view.data.offset=this.offset,this.view.generate(a)},render:function(){this.view.render()},setContent:function(a){this.view.setContent(a)},hide:function(){this.view.hide()},show:function(){this.view.show()},enhance:function(){this.view.enhance()}});return c}),define("joshfire-framework/ui/list",["joshlib!uielement","joshlib!ui/listitem","joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d,e){var f=a.extend({initialize:function(f){f.templateEl?this.template=this.compileTemplate(d(f.templateEl).text()):this.template=this.compileTemplate("
    <%= children %>
"),this.UIItemClass=f.UIItemClass||b,this.itemOptions=f.itemOptions||{scroller:!1},this.itemTemplateEl=f.itemTemplateEl,this.itemOptions.templateEl=this.itemOptions.templateEl||this.itemTemplateEl,this.itemOptions.template=this.itemOptions.template||f.itemTemplate,this.contentSelector=f.contentSelector,this.items=[],this.itemFactory=f.itemFactory||function(a,b){var d={model:a,offset:b};return e.extend(d,this.itemOptions),new c(d)},this.customLoadEvent=!0,this.dataLoadingClass="loading",typeof f.dataLoadingClass!="undefined"&&(this.dataLoadingClass=f.dataLoadingClass),this.dataLoadingClass===!1&&(this.dataLoadingClass=null),this.bind("shown",function(){e.each(this.items,function(a){a.trigger("shown")})},this),this.bind("hidden",function(){e.each(this.items,function(a){a.trigger("hidden")})},this),a.prototype.initialize.call(this,f),f.collection&&this.setCollection(f.collection)},setCollection:function(a,b){this.collection&&(this.collection.unbind("change",this.update,this),this.collection.unbind("add",this.update,this),this.collection.unbind("remove",this.update,this),this.collection.unbind("reset",this.update,this),this.collection.unbind("syncstarted",this.syncStartedHandler,this),this.collection.unbind("syncsuccess",this.syncSuccessHandler,this),this.collection.unbind("syncerror",this.syncErrorHandler,this)),this.collection=a,a&&(a.bind("change",this.update,this),a.bind("add",this.update,this),a.bind("remove",this.update,this),a.bind("reset",this.update,this),a.bind("syncstarted",this.syncStartedHandler,this),a.bind("syncsuccess",this.syncSuccessHandler,this),a.bind("syncerror",this.syncErrorHandler,this)),this.update(b)},update:function(a){this.items=new Array(this.collection.length),this.itemsLoaded=0;var c=function(){++this.itemsLoaded,this.itemsLoaded===this.items.length&&this.trigger("load")};for(var d=0;d0&&(b=b.concat(a.children)),b},setColor:function(a,b){m("#color").remove(),window.Sid.css("css/"+this.deviceFamily+"."+a+".css",b)},setTitle:function(a){m("#title").html(a)},getClassName:function(a,b){if(b!=="list")return b==="single"?"single content detail":"content detail";switch(a){case"status":case"event":return"content hashed-list";case"photo":return"content mosaic-list";default:return"content simple-list"}},createToolbar:function(a){var b=new k.Collection,c=null;for(var d=0;dc&&(d.setModel(a.collection.at(c)),d.render()),b.view.showChild("detail","right")}},createListElement:function(a){return a.outputType==="photo"?new n({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list"),dataLoadingClass:"dataloading",loadingClass:"loading"}):new d({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list")})},createDetailContainer:function(a,c){var d=this;return new b({viewFactory:function(b){return l.extend(b,{slug:a.slug}),d.createDetailElement(b,c)},className:d.getClassName(a,c?"single":"detail")})},createDetailElement:function(a){if(!a.model)return new c({});var b=this.convertItemType(a.model.get("@type")),d=this;switch(b){case"video":return new g({templateEl:"#template-"+b,scroller:!0,scrollerSelector:".wrapper",width:d.getContentWidth(),height:d.getContentHeight(),mediaOptions:{strategy:"html5",width:"100%",height:"80%",adjustSize:!0}});case"sound":return new g({templateEl:"#template-"+b,mediaOptions:{strategy:"html5"}});case"status":return new h({templateEl:"#template-"+b,scroller:!0,getImageUrl:function(){return d.getAuthorThumbnail(a.model.toJSON())}});default:return new i({templateEl:"#template-"+b,scroller:!0,imageClass:"fadein",processImageEl:function(a){var b=document.createElement("div");b.setAttribute("class","loader inv");var c=document.createElement("div");return c.setAttribute("class","figure"),c.appendChild(b),a.getAttribute("width")?c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"):c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"),a.parentNode.replaceChild(c,a),c.appendChild(a),c}})}},itemFactory:function(a){var b=this;return function(d,e){var f=d.toJSON(),g=a.outputType||b.convertItemType(f["@type"]),i="#template-"+g+"-item",j={data:{section:a},model:d,offset:e,templateEl:i};switch(g){case"photo":case"video":case"product":case"news":return j.getImageUrl=function(){return b.getThumbnail(f,e,.2)},j.imageContainer=".figure",new h(j);case"status":return j.getImageUrl=function(){return b.getAuthorThumbnail(f,e)},j.imageContainer=".figure",new h(j);default:return new c(j)}}},createRoutes:function(a,b){return{routes:{"":"home"},home:function(){a.length?this[a[0].slug]():(m("#title").html("No data"),document.body.id="nodata",m("#refresh").hide())}}},getContentWidth:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).width()});return Math.floor(m(b).width())},getContentHeight:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).height()});return m(b).height()},getThumbnail:function(a,b,c){if(!a)return"";c=c||.2;var d=this.clientWidth*c,e=0,f=0,g=a.thumbnail,h=null,i=null,j=null;if(g&&g.length>0){j=g[0],f=j.width||0;for(var k=0;k=d&&(ef)j=g[k]}h=j.contentURL}return h||(a["@type"]==="ImageObject"&&a.contentURL?h=a.contentURL:a.image&&a.image.contentURL&&(h=a.image.contentURL)),h||(h=""),h},getAuthorThumbnail:function(a,b){if(!a)return"";var c="";return a.author&&a.author[0]&&(c=this.getThumbnail(a.author[0],b,.2)),c||(c=this.getThumbnail(a,b,.2)),c},slugify:function(a){return a=a.replace(/[^\-a-zA-Z0-9,&\s]+/ig,""),a=a.replace(/-/gi,"_"),a=a.replace(/\s/gi,"-"),a}}),o}),define("sleek.custom",["sleek"],function(a){return a}),define("sleek.desktop",["sleek.custom","joshlib!ui/layout","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){return a.extend({deviceFamily:"desktop",getClassName:function(a,b){if(b!=="list")return b==="single"?"single detail":"right-panel detail";switch(a){case"status":case"event":return"left-panel hashed-list";case"photo":return"section mosaic-list";default:return"left-panel simple-list"}},createListAndDetailView:function(a,c){var d=new b({children:{list:a,detail:c},className:"split-view"});return d},getContentWidth:function(){var a=c(".right-panel").get(),b=d.max(a,function(a){return c(a).width()});return c(b).width()},getContentHeight:function(){var a=c(".right-panel").get(),b=d.max(a,function(a){return c(a).height()});return c(b).height()},showList:function(a,b){this.showDetail(a,b,0)},moveToList:function(a){},showDetail:function(a,b,d){if(a.collection.length<=d)return;var e=b.view.children||{};e.detail?(e.detail.setModel(a.collection.at(d)),e.detail.render()):(b.setModel(a.collection.at(d)),b.render()),e.list&&(e.list.$(".active").removeClass("active"),c(e.list.$("li")[d]).addClass("active"))},createRoutes:function(b,e){var f=a.prototype.createRoutes.call(this,b,e),g=c("#toolbar"),h=this;return d.forEach(b,function(a){f.routes[a.slug]=a.slug,f[a.slug]=function(){document.body.id=a.outputType,h.setTitle(a.name),c("iframe, audio, video, object, embed").remove(),g.find(".active").removeClass("active"),g.find(".section-"+a.slug).addClass("active");var b=e.children[a.slug];a.collection.length?(h.moveToList(b),e.showChild(a.slug)):(e.showChild(a.slug),h.updateList(a,b))},a.outputType!=="photo"&&(f.routes[a.slug+"/:offset"]=a.slug+"Detail",f[a.slug+"Detail"]=function(b){b=parseInt(b,10),c("iframe, audio, video, object").remove(),document.body.id=a.outputType,h.setTitle(a.name),g.find(".active").removeClass("active"),g.find(".section-"+a.slug).addClass("active");var d=e.children[a.slug];e.showChild(a.slug),a.collection.length?h.showDetail(a,d,b):h.updateDetail(a,d,b)})}),f}})}),define("app.desktop",["sleek.desktop","joshlib!utils/onready"],function(a,b){var c=new a;b(c.initialize)}) \ No newline at end of file diff --git a/app/app.phone.optimized.js b/app/app.phone.optimized.js index f66f52f..927515c 100644 --- a/app/app.phone.optimized.js +++ b/app/app.phone.optimized.js @@ -26,4 +26,4 @@ * iScroll v4.2 ~ Copyright (c) 2012 Matteo Spinelli, http://cubiq.org * Released under MIT license, http://cubiq.org/license */ -!function(a,b){function c(a,b){function c(){}c[i]=this[i];var e=this,f=new c,g=j(a),h=g?a:this,k=g?{}:a,l=function(){this.initialize?this.initialize.apply(this,arguments):(b||g&&e.apply(this,arguments),h.apply(this,arguments))};return l.methods=function(a){return d(f,a,e),l[i]=f,this},l.methods.call(l,k).prototype.constructor=l,l.extend=arguments.callee,l[i].implement=l.statics=function(a,b){return a=typeof a=="string"?function(){var c={};return c[a]=b,c}():a,d(this,a,e),this},l}function d(a,b,c){for(var d in b)b.hasOwnProperty(d)&&(a[d]=j(b[d])&&j(c[i][d])&&g.test(b[d])?e(d,b[d],c):b[d])}function e(a,b,c){return function(){var d=this.supr;this.supr=c[i][a];var e=b.apply(this,arguments);return this.supr=d,e}}function f(a){return c.call(j(a)?a:h,a,1)}var g=/xyz/.test(function(){xyz})?/\bsupr\b/:/.*/,h=function(){},i="prototype",j=function(a){return typeof a===b};if(typeof module!="undefined"&&module.exports)module.exports=f;else{var k=a.klass;f.noConflict=function(){return a.klass=k,this},a.klass=f}}(this,"function"),define("vendor/klass",function(){}),function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=[].slice,c=b.call(arguments,1),d=this,e=function(){},f=function(){return d.apply(this instanceof e?this:a||{},c.concat(b.call(arguments)))};return e.prototype=d.prototype,f.prototype=new e,f}),typeof a.Code=="undefined"&&(a.Code={}),a.Code.Util={registerNamespace:function(){var b=arguments,c=null,d,f,g,h,i;d=0;for(h=b.length;db.DOM.windowHeight()}},b.Browser._detect()}(window,window.Code.Util),function(a,b){b.extend(b,{Events:{add:function(a,b,c){this._checkHandlersProperty(a),b==="mousewheel"&&(b=this._normaliseMouseWheelType()),typeof a.__eventHandlers[b]=="undefined"&&(a.__eventHandlers[b]=[]),a.__eventHandlers[b].push(c),this._isBrowserObject(a)&&a.addEventListener(b,c,!1)},remove:function(a,d,e){this._checkHandlersProperty(a),d==="mousewheel"&&(d=this._normaliseMouseWheelType());if(a.__eventHandlers[d]instanceof Array){var f,g,h=a.__eventHandlers[d];if(b.isNothing(e)){if(this._isBrowserObject(a)){f=0;for(g=h.length;f=1;)a.removeChild(a.childNodes[a.childNodes.length-1])},hasAttribute:function(a,d){return!b.isNothing(a.getAttribute(d))},getAttribute:function(a,d,e){return a=a.getAttribute(d),b.isNothing(a)&&!b.isNothing(e)&&(a=e),a},setAttribute:function(a,d,e){if(b.isLikeArray(a)){var f,g;f=0;for(g=a.length;f=1&&b.DOM.setStyle(d,"opacity",0),b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",i,f,g,h):b.isNothing(a.jQuery)||a.jQuery(d).fadeTo(f,i,g)},fadeTo:function(a,b,c,d,e){this.fadeIn(a,c,d,e,b)},fadeOut:function(d,f,g,h){if(f<=0&&(b.DOM.setStyle(d,"opacity",0),!b.isNothing(g))){g(d);return}b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",0,f,g,h):a.jQuery(d).fadeTo(f,0,g)},slideBy:function(d,f,g,h,i,j){var k={},f=b.coalesce(f,0),g=b.coalesce(g,0),j=b.coalesce(j,"ease-out");k[this._transitionPrefix+"Property"]="all",k[this._transitionPrefix+"Delay"]="0",h===0?(k[this._transitionPrefix+"Duration"]="",k[this._transitionPrefix+"TimingFunction"]=""):(k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=b.coalesce(j,"ease-out"),b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler())),k[this._transformLabel]=b.Browser.is3dSupported?"translate3d("+f+"px, "+g+"px, 0px)":"translate("+f+"px, "+g+"px)",b.isNothing(i)||(d.cclallcallback=i),b.DOM.setStyle(d,k),h===0&&a.setTimeout(function(){this._leaveTransforms(d)}.bind(this),this._applyTransitionDelay)},resetTranslate:function(a){var d={};d[this._transformLabel]=d[this._transformLabel]=b.Browser.is3dSupported?"translate3d(0px, 0px, 0px)":"translate(0px, 0px)",b.DOM.setStyle(a,d)},_applyTransition:function(d,f,g,h,i,j){var k={},j=b.coalesce(j,"ease-in");k[this._transitionPrefix+"Property"]=f,k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=j,k[this._transitionPrefix+"Delay"]="0",b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler()),b.DOM.setStyle(d,k),b.isNothing(i)||(d["ccl"+f+"callback"]=i),a.setTimeout(function(){b.DOM.setStyle(d,f,g)},this._applyTransitionDelay)},_onTransitionEnd:function(a){b.Events.remove(a.currentTarget,this._transitionEndLabel,this._getTransitionEndHandler()),this._leaveTransforms(a.currentTarget)},_leaveTransforms:function(d){var f=d.style[this._transitionPrefix+"Property"],g=f!==""?"ccl"+f+"callback":"cclallcallback",h,f=b.coalesce(d.style.webkitTransform,d.style.MozTransform,d.style.transform),i,j=a.parseInt(b.DOM.getStyle(d,"left"),0),k=a.parseInt(b.DOM.getStyle(d,"top"),0),l,m,n={};f!==""&&(f=b.Browser.is3dSupported?f.match(/translate3d\((.*?)\)/):f.match(/translate\((.*?)\)/),b.isNothing(f)||(i=f[1].split(", "),l=a.parseInt(i[0],0),m=a.parseInt(i[1],0))),n[this._transitionPrefix+"Property"]="",n[this._transitionPrefix+"Duration"]="",n[this._transitionPrefix+"TimingFunction"]="",n[this._transitionPrefix+"Delay"]="",b.DOM.setStyle(d,n),a.setTimeout(function(){b.isNothing(i)||(n={},n[this._transformLabel]="",n.left=j+l+"px",n.top=k+m+"px",b.DOM.setStyle(d,n)),b.isNothing(d[g])||(h=d[g],delete d[g],h(d))}.bind(this),this._applyTransitionDelay)}}})}(window,window.Code.Util),function(a,b,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(a,b,c){c.registerNamespace("Code.Util.TouchElement"),c.TouchElement.TouchElementClass=b({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 a;this.removeEventHandlers();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(a,b){this.el=a,this.captureSettings={swipe:!1,move:!1,gesture:!1,doubleTap:!1,preventDefaultTouchEvents:!0},c.extend(this.captureSettings,b),this.swipeThreshold=50,this.doubleTapSpeed=this.swipeTimeThreshold=250,this.touchStartPoint={x:0,y:0},this.touchEndPoint={x:0,y:0}},addEventHandlers:function(){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),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),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),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),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(a){return{x:a[0].pageX,y:a[0].pageY}},fireTouchEvent:function(b){var d=0,f=0,g=0,h,d=this.touchEndPoint.x-this.touchStartPoint.x,f=this.touchEndPoint.y-this.touchStartPoint.y,g=Math.sqrt(d*d+f*f);if(this.captureSettings.swipe&&(h=new Date,h-=this.touchStartTime,h<=this.swipeTimeThreshold)){if(a.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.swipeLeft:c.TouchElement.ActionTypes.swipeRight,targetEl:b.target,currentTargetEl:b.currentTarget});return}if(a.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.swipeUp:c.TouchElement.ActionTypes.swipeDown,targetEl:b.target,currentTargetEl:b.currentTarget});return}}g>1?c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMoveEnd,point:this.touchEndPoint,targetEl:b.target,currentTargetEl:b.currentTarget}):this.captureSettings.doubleTap?c.isNothing(this.doubleTapTimeout)?this.doubleTapTimeout=a.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:b.target,currentTargetEl:b.currentTarget})}.bind(this),this.doubleTapSpeed):(a.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:b.target,currentTargetEl:b.currentTarget})):c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:c.TouchElement.ActionTypes.tap,targetEl:b.target,currentTargetEl:b.currentTarget})},onTouchStart:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault(),c.Events.remove(this.el,"mousedown",this.mouseDownHandler);var b=c.Events.getTouchEvent(a).touches;b.length>1&&this.captureSettings.gesture?this.isGesture=!0:(this.touchStartTime=new Date,this.isGesture=!1,this.touchStartPoint=this.getTouchPoint(b),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget}))},onTouchMove:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();if(!this.isGesture||!this.captureSettings.gesture){var b=c.Events.getTouchEvent(a).touches;c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:this.getTouchPoint(b),targetEl:a.target,currentTargetEl:a.currentTarget})}},onTouchEnd:function(a){if(!this.isGesture||!this.captureSettings.gesture){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();var b=c.Events.getTouchEvent(a);this.touchEndPoint=this.getTouchPoint(c.isNothing(b.changedTouches)?b.touches:b.changedTouches),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)}},onMouseDown:function(a){a.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),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=!1,this.touchStartPoint=c.Events.getMousePosition(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseMove:function(a){a.preventDefault(),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:c.Events.getMousePosition(a),targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseUp:function(a){a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)},onMouseOut:function(a){var b=a.relatedTarget;this.el!==b&&!c.DOM.isChildOf(b,this.el)&&(a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a))},onGestureStart:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureStart,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureChange:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureChange,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureEnd:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureEnd,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image"),a.Code.PhotoSwipe.Image.EventTypes={onLoad:"onLoad",onError:"onError"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image");var d=a.Code.PhotoSwipe;d.Image.ImageClass=b({refObj:null,imageEl:null,src:null,caption:null,metaData:null,imageLoadHandler:null,imageErrorHandler:null,dispose:function(){var a;this.shrinkImage();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,c,d,f){this.refObj=b,this.src=this.originalSrc=c,this.caption=d,this.metaData=f,this.imageEl=new a.Image,this.imageLoadHandler=this.onImageLoad.bind(this),this.imageErrorHandler=this.onImageError.bind(this)},load:function(){this.imageEl.originalSrc=c.coalesce(this.imageEl.originalSrc,""),this.imageEl.originalSrc===this.src?this.imageEl.isError?c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this}):c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this}):(this.imageEl.isError=!1,this.imageEl.isLoading=!0,this.imageEl.naturalWidth=null,this.imageEl.naturalHeight=null,this.imageEl.isLandscape=!1,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(){!c.isNothing(this.imageEl)&&this.imageEl.src.indexOf(this.src)>-1&&(this.imageEl.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",c.isNothing(this.imageEl.parentNode)||c.DOM.removeChild(this.imageEl,this.imageEl.parentNode))},onImageLoad:function(){this.imageEl.onload=null,this.imageEl.naturalWidth=c.coalesce(this.imageEl.naturalWidth,this.imageEl.width),this.imageEl.naturalHeight=c.coalesce(this.imageEl.naturalHeight,this.imageEl.height),this.imageEl.isLandscape=this.imageEl.naturalWidth>this.imageEl.naturalHeight,this.imageEl.isLoading=!1,c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this})},onImageError:function(){this.imageEl.onload=null,this.imageEl.onerror=null,this.imageEl.onabort=null,this.imageEl.isLoading=!1,this.imageEl.isError=!0,c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Cache"),a=a.Code.PhotoSwipe,a.Cache.Mode={normal:"normal",aggressive:"aggressive"},a.Cache.Functions={getImageSource:function(a){return a.href},getImageCaption:function(a){if(a.nodeName==="IMG")return c.DOM.getAttribute(a,"alt");var b,d,e;b=0;for(d=a.childNodes.length;bd&&(d=c.DOM.windowHeight())):(b=c.DOM.width(this.settings.target),d=c.DOM.height(this.settings.target),f="0px"),c.DOM.setStyle(this.el,{width:b,height:d,top:f})},fadeIn:function(a,b){this.resetPosition(),c.DOM.setStyle(this.el,"opacity",0),c.DOM.show(this.el),c.Animation.fadeIn(this.el,a,b)}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel"),a=a.Code.PhotoSwipe,a.Carousel.EventTypes={onSlideByEnd:"PhotoSwipeCarouselOnSlideByEnd",onSlideshowStart:"PhotoSwipeCarouselOnSlideshowStart",onSlideshowStop:"PhotoSwipeCarouselOnSlideshowStop"},a.Carousel.CssClasses={carousel:"ps-carousel",content:"ps-carousel-content",item:"ps-carousel-item",itemLoading:"ps-carousel-item-loading",itemError:"ps-carousel-item-error"},a.Carousel.SlideByAction={previous:"previous",current:"current",next:"next"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel");var d=a.Code.PhotoSwipe;d.Carousel.CarouselClass=b({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 a,b,e;b=0;for(e=this.cache.images.length;b0&&c.DOM.setStyle(i,{marginRight:this.settings.margin+"px"}),c.DOM.appendChild(i,this.contentEl);this.settings.target===a?c.DOM.appendToBody(this.el):c.DOM.appendChild(this.el,this.settings.target)},resetPosition:function(){var b,f,g,h,i,j;this.settings.target===a?(b=c.DOM.windowWidth(),f=c.DOM.windowHeight(),g=c.DOM.windowScrollTop()+"px"):(b=c.DOM.width(this.settings.target),f=c.DOM.height(this.settings.target),g="0px"),h=this.settings.margin>0?b+this.settings.margin:b,i=c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl),h*=i.length,c.DOM.setStyle(this.el,{top:g,width:b,height:f}),c.DOM.setStyle(this.contentEl,{width:h,height:f}),g=0;for(h=i.length;gf&&(b=f/d,d=Math.round(d*b),e=Math.round(e*b)),e>g&&(b=g/e,e=Math.round(e*b),d=Math.round(d*b))):(b=a.isLandscape?f/a.naturalWidth:g/a.naturalHeight,d=Math.round(a.naturalWidth*b),e=Math.round(a.naturalHeight*b),this.settings.imageScaleMethod==="zoom"?(b=1,ef?b=f/d:e>g&&(b=g/e),b!==1&&(d=Math.round(d*b),e=Math.round(e*b)))),c.DOM.setStyle(a,{position:"absolute",width:d,height:e,top:Math.round((g-e)/2)+"px",left:Math.round((f-d)/2)+"px",display:"block"})}},setContentLeftPosition:function(){var b,d,f;b=this.settings.target===a?c.DOM.windowWidth():c.DOM.width(this.settings.target),d=this.getItemEls(),f=0,this.settings.loop?f=(b+this.settings.margin)*-1:this.currentCacheIndex===this.cache.images.length-1?f=(d.length-1)*(b+this.settings.margin)*-1:this.currentCacheIndex>0&&(f=(b+this.settings.margin)*-1),c.DOM.setStyle(this.contentEl,{left:f+"px"})},show:function(a){this.currentCacheIndex=a,this.resetPosition(),this.setImages(!1),c.DOM.show(this.el),c.Animation.resetTranslate(this.contentEl);var a=this.getItemEls(),b,e;b=0;for(e=a.length;bthis.cache.images.length-1&&(b=0),d<0&&(d=this.cache.images.length-1),b=this.cache.getImages([d,this.currentCacheIndex,b]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[0],c[0])):c.length===1?a||(b=this.cache.getImages([this.currentCacheIndex]),this.addCacheImageToItemEl(b[0],c[0])):c.length===2?this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[0],c[0])):this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1,this.currentCacheIndex+2]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])):(this.currentCacheIndex===this.cache.images.length-1?(b=this.cache.getImages([this.currentCacheIndex-2,this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])),this.addCacheImageToItemEl(b[0],c[0]))},addCacheImageToItemEl:function(a,b){c.DOM.removeClass(b,d.Carousel.CssClasses.itemError),c.DOM.addClass(b,d.Carousel.CssClasses.itemLoading),c.DOM.removeChildren(b),c.DOM.setStyle(a.imageEl,{display:"none"}),c.DOM.appendChild(a.imageEl,b),c.Animation.resetTranslate(a.imageEl),c.Events.add(a,d.Image.EventTypes.onLoad,this.imageLoadHandler),c.Events.add(a,d.Image.EventTypes.onError,this.imageErrorHandler),a.load()},slideCarousel:function(b,f,g){if(!this.isSliding){var h,i;h=this.settings.target===a?c.DOM.windowWidth()+this.settings.margin:c.DOM.width(this.settings.target)+this.settings.margin,g=c.coalesce(g,this.settings.slideSpeed);if(!(a.Math.abs(i)<1)){switch(f){case c.TouchElement.ActionTypes.swipeLeft:b=h*-1;break;case c.TouchElement.ActionTypes.swipeRight:b=h;break;default:i=b.x-this.touchStartPoint.x,b=a.Math.abs(i)>h/2?i>0?h:h*-1:0}this.lastSlideByAction=b<0?d.Carousel.SlideByAction.next:b>0?d.Carousel.SlideByAction.previous:d.Carousel.SlideByAction.current,!this.settings.loop&&(this.lastSlideByAction===d.Carousel.SlideByAction.previous&&this.currentCacheIndex===0||this.lastSlideByAction===d.Carousel.SlideByAction.next&&this.currentCacheIndex===this.cache.images.length-1)&&(b=0,this.lastSlideByAction=d.Carousel.SlideByAction.current),this.isSliding=!0,this.doSlideCarousel(b,g)}}},moveCarousel:function(a){this.isSliding||this.settings.enableDrag&&this.doMoveCarousel(a.x-this.touchStartPoint.x)},getItemEls:function(){return c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl)},previous:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeRight,this.settings.nextPreviousSlideSpeed)},next:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft,this.settings.nextPreviousSlideSpeed)},slideshowNext:function(){this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft)},startSlideshow:function(){this.stopSlideshow(),this.isSlideshowActive=!0,this.slideshowTimeout=a.setTimeout(this.slideshowNext.bind(this),this.settings.slideshowDelay),c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStart,target:this})},stopSlideshow:function(){c.isNothing(this.slideshowTimeout)||(a.clearTimeout(this.slideshowTimeout),this.slideshowTimeout=null,this.isSlideshowActive=!1,c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStop,target:this}))},onSlideByEnd:function(){if(!c.isNothing(this.isSliding)){var a=this.getItemEls();this.isSliding=!1,this.lastSlideByAction===d.Carousel.SlideByAction.next?this.currentCacheIndex+=1:this.lastSlideByAction===d.Carousel.SlideByAction.previous&&(this.currentCacheIndex-=1),this.settings.loop?(this.lastSlideByAction===d.Carousel.SlideByAction.next?c.DOM.appendChild(a[0],this.contentEl):this.lastSlideByAction===d.Carousel.SlideByAction.previous&&c.DOM.insertBefore(a[a.length-1],a[0],this.contentEl),this.currentCacheIndex<0)?this.currentCacheIndex=this.cache.images.length-1:this.currentCacheIndex===this.cache.images.length&&(this.currentCacheIndex=0):this.cache.images.length>3&&(this.currentCacheIndex>1&&this.currentCacheIndex
'}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Toolbar");var d=a.Code.PhotoSwipe;d.Toolbar.ToolbarClass=b({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 a;this.clearTimeout(),this.removeEventHandlers(),c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),c.DOM.removeChild(this.toolbarEl,this.toolbarEl.parentNode),c.DOM.removeChild(this.captionEl,this.captionEl.parentNode);for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,f){var g;this.settings=f,this.cache=b,this.isVisible=!1,this.fadeOutHandler=this.onFadeOut.bind(this),this.touchStartHandler=this.onTouchStart.bind(this),this.touchMoveHandler=this.onTouchMove.bind(this),this.clickHandler=this.onClick.bind(this),g=d.Toolbar.CssClasses.toolbar,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.toolbarTop),this.toolbarEl=c.DOM.createElement("div",{"class":g},this.settings.getToolbar()),c.DOM.setStyle(this.toolbarEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.toolbarEl):c.DOM.appendChild(this.toolbarEl,this.settings.target),c.DOM.hide(this.toolbarEl),this.closeEl=c.DOM.find("."+d.Toolbar.CssClasses.close,this.toolbarEl)[0],this.settings.preventHide&&!c.isNothing(this.closeEl)&&c.DOM.hide(this.closeEl),this.playEl=c.DOM.find("."+d.Toolbar.CssClasses.play,this.toolbarEl)[0],this.settings.preventSlideshow&&!c.isNothing(this.playEl)&&c.DOM.hide(this.playEl),this.nextEl=c.DOM.find("."+d.Toolbar.CssClasses.next,this.toolbarEl)[0],this.previousEl=c.DOM.find("."+d.Toolbar.CssClasses.previous,this.toolbarEl)[0],g=d.Toolbar.CssClasses.caption,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.captionBottom),this.captionEl=c.DOM.createElement("div",{"class":g},""),c.DOM.setStyle(this.captionEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.captionEl):c.DOM.appendChild(this.captionEl,this.settings.target),c.DOM.hide(this.captionEl),this.captionContentEl=c.DOM.createElement("div",{"class":d.Toolbar.CssClasses.captionContent},""),c.DOM.appendChild(this.captionContentEl,this.captionEl),this.addEventHandlers()},resetPosition:function(){var b,d,f;this.settings.target===a?(this.settings.captionAndToolbarFlipPosition?(d=c.DOM.windowScrollTop(),f=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.captionEl)):(d=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.toolbarEl),f=c.DOM.windowScrollTop()),b=c.DOM.windowWidth()):(this.settings.captionAndToolbarFlipPosition?(d="0",f=c.DOM.height(this.settings.target)-c.DOM.height(this.captionEl)):(d=c.DOM.height(this.settings.target)-c.DOM.height(this.toolbarEl),f=0),b=c.DOM.width(this.settings.target)),c.DOM.setStyle(this.toolbarEl,{top:d+"px",width:b}),c.DOM.setStyle(this.captionEl,{top:f+"px",width:b})},toggleVisibility:function(a){this.isVisible?this.fadeOut():this.show(a)},show:function(a){c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),this.resetPosition(),this.setToolbarStatus(a),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeShow,target:this}),this.showToolbar(),this.setCaption(a),this.showCaption(),this.isVisible=!0,this.setTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onShow,target:this})},setTimeout:function(){this.settings.captionAndToolbarAutoHideDelay>0&&(this.clearTimeout(),this.timeout=a.setTimeout(this.fadeOut.bind(this),this.settings.captionAndToolbarAutoHideDelay))},clearTimeout:function(){c.isNothing(this.timeout)||(a.clearTimeout(this.timeout),this.timeout=null)},fadeOut:function(){this.clearTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeHide,target:this}),c.Animation.fadeOut(this.toolbarEl,this.settings.fadeOutSpeed),c.Animation.fadeOut(this.captionEl,this.settings.fadeOutSpeed,this.fadeOutHandler),this.isVisible=!1},addEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.add(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.add(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.add(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.add(this.toolbarEl,"click",this.clickHandler)},removeEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.remove(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.remove(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.remove(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.remove(this.toolbarEl,"click",this.clickHandler)},handleTap:function(a){this.clearTimeout();var b;if(a.target===this.nextEl||c.DOM.isChildOf(a.target,this.nextEl))b=d.Toolbar.ToolbarAction.next;else if(a.target===this.previousEl||c.DOM.isChildOf(a.target,this.previousEl))b=d.Toolbar.ToolbarAction.previous;else if(a.target===this.closeEl||c.DOM.isChildOf(a.target,this.closeEl))b=d.Toolbar.ToolbarAction.close;else if(a.target===this.playEl||c.DOM.isChildOf(a.target,this.playEl))b=d.Toolbar.ToolbarAction.play;this.setTimeout(),c.isNothing(b)&&(b=d.Toolbar.ToolbarAction.none),c.Events.fire(this,{type:d.Toolbar.EventTypes.onTap,target:this,action:b,tapTarget:a.target})},setCaption:function(a){c.DOM.removeChildren(this.captionContentEl),this.currentCaption=c.coalesce(this.cache.images[a].caption," "),c.isObject(this.currentCaption)?c.DOM.appendChild(this.currentCaption,this.captionContentEl):(this.currentCaption===""&&(this.currentCaption=" "),c.DOM.appendText(this.currentCaption,this.captionContentEl)),this.currentCaption=this.currentCaption===" "?"":this.currentCaption,this.resetPosition()},showToolbar:function(){c.DOM.setStyle(this.toolbarEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.toolbarEl)},showCaption:function(){(this.currentCaption===""||this.captionContentEl.childNodes.length<1)&&!this.settings.captionAndToolbarShowEmptyCaptions?c.DOM.hide(this.captionEl):(c.DOM.setStyle(this.captionEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.captionEl))},setToolbarStatus:function(a){this.settings.loop||(c.DOM.removeClass(this.previousEl,d.Toolbar.CssClasses.previousDisabled),c.DOM.removeClass(this.nextEl,d.Toolbar.CssClasses.nextDisabled),a>0&&athis.settings.maxUserZoom&&(a=this.settings.maxUserZoom),a},setStartingScaleAndRotation:function(a,b){this.transformSettings.startingScale=this.getScale(a),this.transformSettings.startingRotation=(this.transformSettings.startingRotation+b)%360},zoomRotate:function(a,b){this.transformSettings.scale=this.getScale(a),this.transformSettings.rotation=this.transformSettings.startingRotation+b,this.applyTransform()},panStart:function(a){this.setStartingTranslateFromCurrentTransform(),this.panStartingPoint={x:a.x,y:a.y}},pan:function(a){var b=(a.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=this.transformSettings.startingTranslateX+(a.x-this.panStartingPoint.x)/this.transformSettings.scale,this.transformSettings.translateY=this.transformSettings.startingTranslateY+b,this.applyTransform()},zoomAndPanToPoint:function(b,d){if(this.settings.target===a){this.panStart({x:c.DOM.windowWidth()/2,y:c.DOM.windowHeight()/2});var f=(d.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=(this.transformSettings.startingTranslateX+(d.x-this.panStartingPoint.x)/this.transformSettings.scale)*-1,this.transformSettings.translateY=(this.transformSettings.startingTranslateY+f)*-1}this.setStartingScaleAndRotation(b,0),this.transformSettings.scale=this.transformSettings.startingScale,this.transformSettings.rotation=0,this.applyTransform()},applyTransform:function(){var b=this.transformSettings.rotation%360,f=a.parseInt(this.transformSettings.translateX,10),g=a.parseInt(this.transformSettings.translateY,10),h="scale("+this.transformSettings.scale+") rotate("+b+"deg) translate("+f+"px, "+g+"px)";c.DOM.setStyle(this.transformEl,{webkitTransform:h,MozTransform:h,msTransform:h,transform:h}),c.Events.fire(this,{target:this,type:d.ZoomPanRotate.EventTypes.onTransform,scale:this.transformSettings.scale,rotation:this.transformSettings.rotation,rotationDegs:b,translateX:f,translateY:g})}})}(window,window.klass,window.Code.Util),function(a,b){b.registerNamespace("Code.PhotoSwipe");var c=a.Code.PhotoSwipe;c.CssClasses={buildingBody:"ps-building",activeBody:"ps-active"},c.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"},c.instances=[],c.activeInstances=[],c.setActivateInstance=function(a){if(b.arrayIndexOf(a.settings.target,c.activeInstances,"target")>-1)throw"Code.PhotoSwipe.activateInstance: Unable to active instance as another instance is already active for this target";c.activeInstances.push({target:a.settings.target,instance:a})},c.unsetActivateInstance=function(a){a=b.arrayIndexOf(a,c.activeInstances,"instance"),c.activeInstances.splice(a,1)},c.attach=function(a,d,e){var f,g;f=c.createInstance(a,d,e),d=0;for(e=a.length;d=2.1&&(this.isBackEventSupported=!0),this.isBackEventSupported||(this.isBackEventSupported=c.objectHasProperty(a,"onhashchange")),this.settings={fadeInSpeed:250,fadeOutSpeed:250,preventHide:!1,preventSlideshow:!1,zIndex:1e3,backButtonHideEnabled:!0,enableKeyboard:!0,enableMouseWheel:!0,mouseWheelSpeed:350,autoStartSlideshow:!1,jQueryMobile:!c.isNothing(a.jQuery)&&!c.isNothing(a.jQuery.mobile),jQueryMobileDialogHash:"&ui-state=dialog",enableUIWebViewRepositionTimeout:!1,uiWebViewResetPositionDelay:500,target:a,preventDefaultTouchEvents:!0,loop:!0,slideSpeed:250,nextPreviousSlideSpeed:0,enableDrag:!0,swipeThreshold:50,swipeTimeThreshold:250,slideTimingFunction:"ease-out",slideshowDelay:3e3,doubleTapSpeed:250,margin:20,imageScaleMethod:"fit",captionAndToolbarHide:!1,captionAndToolbarFlipPosition:!1,captionAndToolbarAutoHideDelay:5e3,captionAndToolbarOpacity:.8,captionAndToolbarShowEmptyCaptions:!0,getToolbar:j.Toolbar.getToolbar,allowUserZoom:!0,allowRotationOnUserZoom:!1,maxUserZoom:5,minUserZoom:.5,doubleTapZoomLevel:2.5,getImageSource:j.Cache.Functions.getImageSource,getImageCaption:j.Cache.Functions.getImageCaption,getImageMetaData:j.Cache.Functions.getImageMetaData,cacheMode:j.Cache.Mode.normal},c.extend(this.settings,e),this.settings.target!==a&&(e=c.DOM.getStyle(this.settings.target,"position"),(e!=="relative"||e!=="absolute")&&c.DOM.setStyle(this.settings.target,"position","relative")),this.settings.target!==a?(this.isBackEventSupported=!1,this.settings.backButtonHideEnabled=!1):this.settings.preventHide&&(this.settings.backButtonHideEnabled=!1),this.cache=new d.CacheClass(b,this.settings)},show:function(b){var d,e;this.backButtonClicked=this._isResettingPosition=!1;if(c.isNumber(b))this.currentIndex=b;else{this.currentIndex=-1,d=0;for(e=this.originalImages.length;dthis.originalImages.length-1)throw"Code.PhotoSwipe.PhotoSwipeClass.show: Starting index out of range";this.isAlreadyGettingPage=this.getWindowDimensions(),j.setActivateInstance(this),this.windowDimensions=this.getWindowDimensions(),this.settings.target===a?c.DOM.addClass(a.document.body,j.CssClasses.buildingBody):c.DOM.addClass(this.settings.target,j.CssClasses.buildingBody),this.createComponents(),c.Events.fire(this,{type:j.EventTypes.onBeforeShow,target:this}),this.documentOverlay.fadeIn(this.settings.fadeInSpeed,this.onDocumentOverlayFadeIn.bind(this))},getWindowDimensions:function(){return{width:c.DOM.windowWidth(),height:c.DOM.windowHeight()}},createComponents:function(){this.documentOverlay=new e.DocumentOverlayClass(this.settings),this.carousel=new f.CarouselClass(this.cache,this.settings),this.uiLayer=new h.UILayerClass(this.settings),this.settings.captionAndToolbarHide||(this.toolbar=new g.ToolbarClass(this.cache,this.settings))},resetPosition:function(){if(!this._isResettingPosition){var a=this.getWindowDimensions();if(c.isNothing(this.windowDimensions)||a.width!==this.windowDimensions.width||a.height!==this.windowDimensions.height)this._isResettingPosition=!0,this.windowDimensions=a,this.destroyZoomPanRotate(),this.documentOverlay.resetPosition(),this.carousel.resetPosition(),c.isNothing(this.toolbar)||this.toolbar.resetPosition(),this.uiLayer.resetPosition(),this._isResettingPosition=!1,c.Events.fire(this,{type:j.EventTypes.onResetPosition,target:this})}},addEventHandler:function(a,b){c.Events.add(this,a,b)},addEventHandlers:function(){c.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)),c.Browser.android?this.orientationEventName="resize":c.Browser.iOS&&!c.Browser.safari?c.Events.add(a.document.body,"orientationchange",this.windowOrientationChangeHandler):this.orientationEventName=c.isNothing(a.onorientationchange)?"resize":"orientationchange",c.isNothing(this.orientationEventName)||c.Events.add(a,this.orientationEventName,this.windowOrientationChangeHandler),this.settings.target===a&&c.Events.add(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.add(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.windowHashChangeHandler=this.onWindowHashChange.bind(this),this.settings.jQueryMobile?a.location.hash=this.settings.jQueryMobileDialogHash:(this.currentHistoryHashValue="PhotoSwipe"+(new Date).getTime().toString(),a.location.hash=this.currentHistoryHashValue),c.Events.add(a,"hashchange",this.windowHashChangeHandler)),this.settings.enableMouseWheel&&c.Events.add(a,"mousewheel",this.mouseWheelHandler),c.Events.add(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.Events.add(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler),c.isNothing(this.toolbar)||(c.Events.add(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.add(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.add(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},removeEventHandlers:function(){c.Browser.iOS&&!c.Browser.safari&&c.Events.remove(a.document.body,"orientationchange",this.windowOrientationChangeHandler),c.isNothing(this.orientationEventName)||c.Events.remove(a,this.orientationEventName,this.windowOrientationChangeHandler),c.Events.remove(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.remove(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&c.Events.remove(a,"hashchange",this.windowHashChangeHandler),this.settings.enableMouseWheel&&c.Events.remove(a,"mousewheel",this.mouseWheelHandler),c.isNothing(this.uiLayer)||c.Events.remove(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.isNothing(this.toolbar)||(c.Events.remove(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler)),c.isNothing(this.toolbar)||(c.Events.remove(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.remove(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},hide:function(){if(!this.settings.preventHide){if(c.isNothing(this.documentOverlay))throw"Code.PhotoSwipe.PhotoSwipeClass.hide: PhotoSwipe instance is already hidden";c.isNothing(this.hiding)&&(this.clearUIWebViewResetPositionTimeout(),this.destroyZoomPanRotate(),this.removeEventHandlers(),c.Events.fire(this,{type:j.EventTypes.onBeforeHide,target:this}),this.uiLayer.dispose(),this.uiLayer=null,c.isNothing(this.toolbar)||(this.toolbar.dispose(),this.toolbar=null),this.carousel.dispose(),this.carousel=null,c.DOM.removeClass(a.document.body,j.CssClasses.activeBody),this.documentOverlay.dispose(),this.documentOverlay=null,this._isResettingPosition=!1,j.unsetActivateInstance(this),c.Events.fire(this,{type:j.EventTypes.onHide,target:this}),this.goBackInHistory())}},goBackInHistory:function(){this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.backButtonClicked||a.history.back())},play:function(){!this.isZoomActive()&&!this.settings.preventSlideshow&&!c.isNothing(this.carousel)&&(!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut(),this.carousel.startSlideshow())},stop:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.stopSlideshow()},previous:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.previous()},next:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.next()},toggleToolbar:function(){this.isZoomActive()||c.isNothing(this.toolbar)||this.toolbar.toggleVisibility(this.currentIndex)},fadeOutToolbarIfVisible:function(){!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.settings.captionAndToolbarAutoHideDelay>0&&this.toolbar.fadeOut()},createZoomPanRotate:function(){this.stop(),this.canUserZoom()&&!this.isZoomActive()&&(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateShow),this.zoomPanRotate=new i.ZoomPanRotateClass(this.settings,this.cache.images[this.currentIndex],this.uiLayer),this.uiLayer.captureSettings.preventDefaultTouchEvents=!0,c.Events.add(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),c.Events.fire(this,j.EventTypes.onZoomPanRotateShow),!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut())},destroyZoomPanRotate:function(){c.isNothing(this.zoomPanRotate)||(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateHide),c.Events.remove(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),this.zoomPanRotate.dispose(),this.zoomPanRotate=null,this.uiLayer.captureSettings.preventDefaultTouchEvents=this.settings.preventDefaultTouchEvents,c.Events.fire(this,j.EventTypes.onZoomPanRotateHide))},canUserZoom:function(){var a;if(c.Browser.msie){if(a=document.createElement("div"),c.isNothing(a.style.msTransform))return!1}else if(!c.Browser.isCSSTransformSupported)return!1;return this.settings.allowUserZoom?this.carousel.isSliding?!1:(a=this.cache.images[this.currentIndex],c.isNothing(a)?!1:a.isLoading?!1:!0):!1},isZoomActive:function(){return!c.isNothing(this.zoomPanRotate)},getCurrentImage:function(){return this.cache.images[this.currentIndex]},onDocumentOverlayFadeIn:function(){a.setTimeout(function(){var b=this.settings.target===a?a.document.body:this.settings.target;c.DOM.removeClass(b,j.CssClasses.buildingBody),c.DOM.addClass(b,j.CssClasses.activeBody),this.addEventHandlers(),this.carousel.show(this.currentIndex),this.uiLayer.show(),this.settings.autoStartSlideshow?this.play():c.isNothing(this.toolbar)||this.toolbar.show(this.currentIndex),c.Events.fire(this,{type:j.EventTypes.onShow,target:this}),this.setUIWebViewResetPositionTimeout()}.bind(this),250)},setUIWebViewResetPositionTimeout:function(){this.settings.enableUIWebViewRepositionTimeout&&c.Browser.iOS&&!c.Browser.safari&&(c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout),this._uiWebViewResetPositionTimeout=a.setTimeout(function(){this.resetPosition(),this.setUIWebViewResetPositionTimeout()}.bind(this),this.settings.uiWebViewResetPositionDelay))},clearUIWebViewResetPositionTimeout:function(){c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout)},onWindowScroll:function(){this.resetPosition()},onWindowOrientationChange:function(){this.resetPosition()},onWindowHashChange:function(){a.location.hash!=="#"+(this.settings.jQueryMobile?this.settings.jQueryMobileDialogHash:this.currentHistoryHashValue)&&(this.backButtonClicked=!0,this.hide())},onKeyDown:function(a){a.keyCode===37?(a.preventDefault(),this.previous()):a.keyCode===39?(a.preventDefault(),this.next()):a.keyCode===38||a.keyCode===40?a.preventDefault():a.keyCode===27?(a.preventDefault(),this.hide()):a.keyCode===32?(this.settings.hideToolbar?this.hide():this.toggleToolbar(),a.preventDefault()):a.keyCode===13&&(a.preventDefault(),this.play())},onUILayerTouch:function(b){if(this.isZoomActive())switch(b.action){case c.TouchElement.ActionTypes.gestureChange:this.zoomPanRotate.zoomRotate(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.gestureEnd:this.zoomPanRotate.setStartingScaleAndRotation(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.touchStart:this.zoomPanRotate.panStart(b.point);break;case c.TouchElement.ActionTypes.touchMove:this.zoomPanRotate.pan(b.point);break;case c.TouchElement.ActionTypes.doubleTap:this.destroyZoomPanRotate(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeLeft:this.destroyZoomPanRotate(),this.next(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeRight:this.destroyZoomPanRotate(),this.previous(),this.toggleToolbar()}else switch(b.action){case c.TouchElement.ActionTypes.touchMove:case c.TouchElement.ActionTypes.swipeLeft:case c.TouchElement.ActionTypes.swipeRight:this.fadeOutToolbarIfVisible(),this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.touchStart:case c.TouchElement.ActionTypes.touchMoveEnd:this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.tap:this.toggleToolbar();break;case c.TouchElement.ActionTypes.doubleTap:this.settings.target===a&&(b.point.x-=c.DOM.windowScrollLeft(),b.point.y-=c.DOM.windowScrollTop());var d=this.cache.images[this.currentIndex].imageEl,e=a.parseInt(c.DOM.getStyle(d,"top"),10),f=a.parseInt(c.DOM.getStyle(d,"left"),10),g=f+c.DOM.width(d),d=e+c.DOM.height(d);b.point.xg&&(b.point.x=g),b.point.yd&&(b.point.y=d),this.createZoomPanRotate(),this.isZoomActive()&&this.zoomPanRotate.zoomAndPanToPoint(this.settings.doubleTapZoomLevel,b.point);break;case c.TouchElement.ActionTypes.gestureStart:this.createZoomPanRotate()}c.Events.fire(this,{type:j.EventTypes.onTouch,target:this,point:b.point,action:b.action})},onCarouselSlideByEnd:function(a){this.currentIndex=a.cacheIndex,c.isNothing(this.toolbar)||(this.toolbar.setCaption(this.currentIndex),this.toolbar.setToolbarStatus(this.currentIndex)),c.Events.fire(this,{type:j.EventTypes.onDisplayImage,target:this,action:a.action,index:a.cacheIndex})},onToolbarTap:function(a){switch(a.action){case g.ToolbarAction.next:this.next();break;case g.ToolbarAction.previous:this.previous();break;case g.ToolbarAction.close:this.hide();break;case g.ToolbarAction.play:this.play()}c.Events.fire(this,{type:j.EventTypes.onToolbarTap,target:this,toolbarAction:a.action,tapTarget:a.tapTarget})},onMouseWheel:function(a){var b=c.Events.getWheelDelta(a);a.timeStamp-(this.mouseWheelStartTime||0)0&&this.previous())},onCarouselSlideshowStart:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStart,target:this})},onCarouselSlideshowStop:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStop,target:this})},onToolbarBeforeShow:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarShow,target:this})},onToolbarShow:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarShow,target:this})},onToolbarBeforeHide:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarHide,target:this})},onToolbarHide:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarHide,target:this})},onZoomPanRotateTransform:function(a){c.Events.fire(this,{target:this,type:j.EventTypes.onZoomPanRotateTransform,scale:a.scale,rotation:a.rotation,rotationDegs:a.rotationDegs,translateX:a.translateX,translateY:a.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),define("vendor/photoswipe",function(){}),1,function(){var a;typeof Joshfire=="undefined"&&(Joshfire={}),a={version:[0,9,3],onReady:function(a){a()},adapter:"ios",adapterModules:{android:["app","dependencies.json","inputs/touch","ui/toolbar","uielements/list","uielements/panel","uielements/video.mediaelement","vendor/iscroll"],browser:["app","inputs/http","inputs/keyboard","inputs/mouse","uielement","uielements/list","uielements/mediacontrols","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","uielements/video.popup","uielements/video.youtube.swf","utils/activitymonitor","utils/datasource","utils/dollar","utils/localstorage","utils/navigation","utils/onready","utils/stresstest"],googletv:["dependencies.json","inputs/keyboard","ui/videoplayer","uielement"],ios:["dependencies.json"],lgtv:["dependencies.json","ui/videoplayer","uielement","utils/dollar"],node:["app.factory","app","class","global.exec","inputs/http","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","utils/datasource","utils/dollar","utils/eventsocket","utils/templatecompiler.cli","utils/templatecompiler","vendor/json2","view"],none:[],philips:["dependencies.json","ui/videoplayer","uielement","uielements/list","uielements/video.mediaelement","utils/dollar","utils/stresstest"],phone:["collection","ui/toolbar","uielement","utils/dollar","utils/onready"],qt4:[],samsungtv:["dependencies.json","inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready","utils/widgetapi","view"],tv:["inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready"]},adapterDeps:["phone"],debug:!1,path:(Joshfire.framework||{}).path||"joshfire"};if(typeof document!="undefined"){var b=document.getElementsByTagName("script"),c,d=new RegExp("^(.*)/adapters/"+a.adapter+"/bootstrap.js$");for(var e=b.length-1;e>=0;e--)c=d.exec(b[e].getAttribute("src")),c&&(a.path=c[1])}typeof require!="undefined"&&require.config&&require.config({paths:{"joshfire-framework":a.path},urlArgs:Joshfire.debug?"bust="+(new Date).getTime():""}),Joshfire.framework=a,typeof module!="undefined"&&module.exports&&(module.exports.JoshfireFramework=a)}.call(this),function(a){a.onReady=function(b){a.require(["joshfire/vendor/zepto"],function(a){b.call()})}}(Joshfire),define("joshlib",{normalize:function(a,b){var c=[Joshfire.framework.adapter].concat(Joshfire.framework.adapterDeps),d=Joshfire.framework.adapterModules,e="joshfire-framework/";if(a.substring(0,14)=="adapters/none/")return e+a.substring(14);if(a.substring(0,9)=="adapters/")return e+a;for(var f=0;f>>0,e=0,f;if(typeof b!="function")throw new TypeError;if(d==0&&arguments.length==1)throw new TypeError;if(arguments.length>=2)f=arguments[1];else do{if(e in c){f=c[e++];break}if(++e>=d)throw new TypeError}while(!0);while(e0?[].concat.apply([],a):a}function H(a){return a.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function I(a){return a in i?i[a]:i[a]=new RegExp("(^|\\s)"+a+"(\\s|$)")}function J(a,b){return typeof b=="number"&&!k[H(a)]?b+"px":b}function K(a){var b,c;return h[a]||(b=g.createElement(a),g.body.appendChild(b),c=j(b,"").getPropertyValue("display"),b.parentNode.removeChild(b),c=="none"&&(c="block"),h[a]=c),h[a]}function L(b,d){return d===a?c(b):c(b).filter(d)}function M(a,b,c,d){return A(b)?b.call(a,c,d):b}function N(a,b,d){var e=a%2?b:b.parentNode;e?e.insertBefore(d,a?a==1?e.firstChild:a==2?b:null:b.nextSibling):c(d).remove()}function O(a,b){b(a);for(var c in a.childNodes)O(a.childNodes[c],b)}function P(a){var b=a.innerHTML||"",c=a.getAttribute("src"),d=null,e=null;b?window.eval.call(window,b):c&&(d=g.getElementsByTagName("head")[0]||g.documentElement,e=g.createElement("script"),e.type="text/javascript",e.setAttribute("src",c),d.insertBefore(e,d.firstChild)),a.parentNode&&a.parentNode.removeChild(a)}var a,b,c,d,e=[],f=e.slice,g=window.document,h={},i={},j=g.defaultView.getComputedStyle,k={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,m=[1,3,8,9,11],n=["after","prepend","before","append"],o=g.createElement("table"),p=g.createElement("tr"),q={tr:g.createElement("tbody"),tbody:o,thead:o,tfoot:o,td:p,th:p,"*":g.createElement("div")},r=/complete|loaded|interactive/,s=/^\.([\w-]+)$/,t=/^#([\w-]+)$/,u=/^[\w-]+$/,v={}.toString,w={},x,y,z=g.createElement("div");return w.matches=function(a,b){if(!a||a.nodeType!==1)return!1;var c=a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.matchesSelector;if(c)return c.call(a,b);var d,e=a.parentNode,f=!e;return f&&(e=z).appendChild(a),d=~w.qsa(e,b).indexOf(a),f&&z.removeChild(a),d},x=function(a){return a.replace(/-+(.)?/g,function(a,b){return b?b.toUpperCase():""})},y=function(a){return a.filter(function(b,c){return a.indexOf(b)==c})},w.fragment=function(b,d){d===a&&(d=l.test(b)&&RegExp.$1),d in q||(d="*");var e=q[d];return e.innerHTML=""+b,c.each(f.call(e.childNodes),function(){e.removeChild(this)})},w.Z=function(a,b){return a=a||[],a.__proto__=arguments.callee.prototype,a.selector=b||"",a},w.isZ=function(a){return a instanceof w.Z},w.init=function(b,d){if(!b)return w.Z();if(A(b))return c(g).ready(b);if(w.isZ(b))return b;var e;if(D(b))e=F(b);else if(C(b))e=[c.extend({},b)],b=null;else if(m.indexOf(b.nodeType)>=0||b===window)e=[b],b=null;else if(l.test(b))e=w.fragment(b.trim(),RegExp.$1),b=null;else{if(d!==a)return c(d).find(b);e=w.qsa(g,b)}return w.Z(e,b)},c=function(a,b){return w.init(a,b)},c.extend=function(c){return f.call(arguments,1).forEach(function(d){for(b in d)d[b]!==a&&(c[b]=d[b])}),c},w.qsa=function(a,b){var c;return a===g&&t.test(b)?(c=a.getElementById(RegExp.$1))?[c]:e:a.nodeType!==1&&a.nodeType!==9?e:f.call(s.test(b)?a.getElementsByClassName(RegExp.$1):u.test(b)?a.getElementsByTagName(b):a.querySelectorAll(b))},c.isFunction=A,c.isObject=B,c.isArray=D,c.isPlainObject=C,c.inArray=function(a,b,c){return e.indexOf.call(b,a,c)},c.trim=function(a){return a.trim()},c.uuid=0,c.map=function(a,b){var c,d=[],e,f;if(E(a))for(e=0;e0&&w.matches(this[0],a)},not:function(b){var d=[];if(A(b)&&b.call!==a)this.each(function(a){b.call(this,a)||d.push(this)});else{var e=typeof b=="string"?this.filter(b):E(b)&&A(b.item)?f.call(b):c(b);this.forEach(function(a){e.indexOf(a)<0&&d.push(a)})}return c(d)},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){var a=this[0];return a&&!B(a)?a:c(a)},last:function(){var a=this[this.length-1];return a&&!B(a)?a:c(a)},find:function(a){var b;return this.length==1?b=w.qsa(this[0],a):b=this.map(function(){return w.qsa(this,a)}),c(b)},closest:function(a,b){var d=this[0];while(d&&!w.matches(d,a))d=d!==b&&d!==g&&d.parentNode;return c(d)},parents:function(a){var b=[],d=this;while(d.length>0)d=c.map(d,function(a){if((a=a.parentNode)&&a!==g&&b.indexOf(a)<0)return b.push(a),a});return L(b,a)},parent:function(a){return L(y(this.pluck("parentNode")),a)},children:function(a){return L(this.map(function(){return f.call(this.children)}),a)},siblings:function(a){return L(this.map(function(a,b){return f.call(b.parentNode.children).filter(function(a){return a!==b})}),a)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(a){return this.map(function(){return this[a]})},show:function(){return this.each(function(){this.style.display=="none"&&(this.style.display=null),j(this,"").getPropertyValue("display")=="none"&&(this.style.display=K(this.nodeName))})},replaceWith:function(a){return this.before(a).remove()},wrap:function(a){return this.each(function(){c(this).wrapAll(c(a)[0].cloneNode(!1))})},wrapAll:function(a){return this[0]&&(c(this[0]).before(a=c(a)),a.append(this)),this},unwrap:function(){return this.parent().each(function(){c(this).replaceWith(c(this).children())}),this},clone:function(){return c(this.map(function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(b){return(b===a?this.css("display")=="none":b)?this.show():this.hide()},prev:function(){return c(this.pluck("previousElementSibling"))},next:function(){return c(this.pluck("nextElementSibling"))},html:function(b){return b===a?this.length>0?this[0].innerHTML:null:this.each(function(a){var d=this.innerHTML;c(this).empty().append(M(this,b,a,d))})},text:function(b){return b===a?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=b})},attr:function(c,d){var e;return typeof c=="string"&&d===a?this.length==0||this[0].nodeType!==1?a:c=="value"&&this[0].nodeName=="INPUT"?this.val():!(e=this[0].getAttribute(c))&&c in this[0]?this[0][c]:e:this.each(function(a){if(this.nodeType!==1)return;if(B(c))for(b in c)this.setAttribute(b,c[b]);else this.setAttribute(c,M(this,d,a,this.getAttribute(c)))})},removeAttr:function(a){return this.each(function(){this.nodeType===1&&this.removeAttribute(a)})},prop:function(b,c){return c===a?this[0]?this[0][b]:a:this.each(function(a){this[b]=M(this,c,a,this[b])})},data:function(b,c){var d=this.attr("data-"+H(b),c);return d!==null?d:a},val:function(b){return b===a?this.length>0?this[0].value:a:this.each(function(a){this.value=M(this,b,a,this.value)})},offset:function(){if(this.length==0)return null;var a=this[0].getBoundingClientRect();return{left:a.left+window.pageXOffset,top:a.top+window.pageYOffset,width:a.width,height:a.height}},css:function(c,d){if(d===a&&typeof c=="string")return this.length==0?a:this[0].style[x(c)]||j(this[0],"").getPropertyValue(c);var e="";for(b in c)typeof c[b]=="string"&&c[b]==""?this.each(function(){this.style.removeProperty(H(b))}):e+=H(b)+":"+J(b,c[b])+";";return typeof c=="string"&&(d==""?this.each(function(){this.style.removeProperty(H(c))}):e=H(c)+":"+J(c,d)),this.each(function(){this.style.cssText+=";"+e})},index:function(a){return a?this.indexOf(c(a)[0]):this.parent().children().indexOf(this[0])},hasClass:function(a){return this.length<1?!1:I(a).test(this[0].className)},addClass:function(a){return this.each(function(b){d=[];var e=this.className,f=M(this,a,b,e);f.split(/\s+/g).forEach(function(a){c(this).hasClass(a)||d.push(a)},this),d.length&&(this.className+=(e?" ":"")+d.join(" "))})},removeClass:function(b){return this.each(function(c){if(b===a)return this.className="";d=this.className,M(this,b,c,d).split(/\s+/g).forEach(function(a){d=d.replace(I(a)," ")}),this.className=d.trim()})},toggleClass:function(b,d){return this.each(function(e){var f=M(this,b,e,this.className);(d===a?!c(this).hasClass(f):d)?c(this).addClass(f):c(this).removeClass(f)})}},["width","height"].forEach(function(b){c.fn[b]=function(d){var e,f=b.replace(/./,function(a){return a[0].toUpperCase()});return d===a?this[0]==window?window["inner"+f]:this[0]==g?g.documentElement["offset"+f]:(e=this.offset())&&e[b]:this.each(function(a){var e=c(this);e.css(b,M(this,d,a,e[b]()))})}}),n.forEach(function(a,b){c.fn[a]=function(){var a=c.map(arguments,function(a){return B(a)?a:w.fragment(a)});if(a.length<1)return this;var d=this.length,e=d>1,f=b<2;return this.each(function(c,g){for(var h=0;h0&&this.bind(o,n),setTimeout(function(){m.css(i),e<=0&&setTimeout(function(){m.each(function(){n.call(this)})},0)},0),this},i=null}(Zepto),function($){function triggerAndReturn(a,b,c){var d=$.Event(b);return $(a).trigger(d,c),!d.defaultPrevented}function triggerGlobal(a,b,c,d){if(a.global)return triggerAndReturn(b||document,c,d)}function ajaxStart(a){a.global&&$.active++===0&&triggerGlobal(a,null,"ajaxStart")}function ajaxStop(a){a.global&&!--$.active&&triggerGlobal(a,null,"ajaxStop")}function ajaxBeforeSend(a,b){var c=b.context;if(b.beforeSend.call(c,a,b)===!1||triggerGlobal(b,c,"ajaxBeforeSend",[a,b])===!1)return!1;triggerGlobal(b,c,"ajaxSend",[a,b])}function ajaxSuccess(a,b,c){var d=c.context,e="success";c.success.call(d,a,e,b),triggerGlobal(c,d,"ajaxSuccess",[b,c,a]),ajaxComplete(e,b,c)}function ajaxError(a,b,c,d){var e=d.context;d.error.call(e,c,b,a),triggerGlobal(d,e,"ajaxError",[c,d,a]),ajaxComplete(b,c,d)}function ajaxComplete(a,b,c){var d=c.context;c.complete.call(d,b,a),triggerGlobal(c,d,"ajaxComplete",[b,c]),ajaxStop(c)}function empty(){}function mimeToDataType(a){return a&&(a==htmlType?"html":a==jsonType?"json":scriptTypeRE.test(a)?"script":xmlTypeRE.test(a)&&"xml")||"text"}function appendQuery(a,b){return(a+"&"+b).replace(/[&?]{1,2}/,"?")}function serializeData(a){isObject(settings.data)&&(!settings.contentType||settings.contentType==="application/x-www-form-urlencoded"?settings.data=$.param(settings.data):settings.contentType==="application/json"&&(settings.data=JSON.stringify(settings.data))),a.data&&(!a.type||a.type.toUpperCase()=="GET")&&(a.url=appendQuery(a.url,a.data))}function serialize(a,b,c,d){var e=$.isArray(b);$.each(b,function(b,f){d&&(b=c?d:d+"["+(e?"":b)+"]"),!d&&e?a.add(f.name,f.value):(c?$.isArray(f):isObject(f))?serialize(a,f,c,b):a.add(b,f)})}var jsonpID=0,isObject=$.isObject,document=window.document,key,name,rscript=/)<[^<]*)*<\/script>/gi,scriptTypeRE=/^(?:text|application)\/javascript/i,xmlTypeRE=/^(?:text|application)\/xml/i,jsonType="application/json",htmlType="text/html",blankRE=/^\s*$/;$.active=0,$.ajaxJSONP=function(a){var b="jsonp"+ ++jsonpID,c=document.createElement("script"),d=function(){$(c).remove(),b in window&&(window[b]=empty),ajaxComplete("abort",e,a)},e={abort:d},f;return a.error&&(c.onerror=function(){e.abort(),a.error()}),window[b]=function(d){clearTimeout(f),$(c).remove(),delete window[b],ajaxSuccess(d,e,a)},serializeData(a),c.src=a.url.replace(/=\?/,"="+b),$("head").append(c),a.timeout>0&&(f=setTimeout(function(){e.abort(),ajaxComplete("timeout",e,a)},a.timeout)),e},$.ajaxSettings={type:"GET",beforeSend:empty,success:empty,error:empty,complete:empty,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript",json:jsonType,xml:"application/xml, text/xml",html:htmlType,text:"text/plain"},crossDomain:!1,timeout:0},$.ajax=function(options){var settings=$.extend({},options||{});for(key in $.ajaxSettings)settings[key]===undefined&&(settings[key]=$.ajaxSettings[key]);ajaxStart(settings),settings.crossDomain||(settings.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(settings.url)&&RegExp.$2!=window.location.host);var dataType=settings.dataType,hasPlaceholder=/=\?/.test(settings.url);if(dataType=="jsonp"||hasPlaceholder)return hasPlaceholder||(settings.url=appendQuery(settings.url,"callback=?")),$.ajaxJSONP(settings);settings.url||(settings.url=window.location.toString()),serializeData(settings);var mime=settings.accepts[dataType],baseHeaders={},protocol=/^([\w-]+:)\/\//.test(settings.url)?RegExp.$1:window.location.protocol,xhr=$.ajaxSettings.xhr(),abortTimeout;settings.crossDomain||(baseHeaders["X-Requested-With"]="XMLHttpRequest"),mime&&(baseHeaders.Accept=mime,mime.indexOf(",")>-1&&(mime=mime.split(",",2)[0]),xhr.overrideMimeType&&xhr.overrideMimeType(mime));if(settings.xhrFields)for(var i in settings.xhrFields)xhr[i]=settings.xhrFields[i];if(settings.contentType||settings.data&&settings.type.toUpperCase()!="GET")baseHeaders["Content-Type"]=settings.contentType||"application/x-www-form-urlencoded";settings.headers=$.extend(baseHeaders,settings.headers||{}),xhr.onreadystatechange=function(){if(xhr.readyState==4){clearTimeout(abortTimeout);var result,error=!1;if(xhr.status>=200&&xhr.status<300||xhr.status==304||xhr.status==0&&protocol=="file:"){dataType=dataType||mimeToDataType(xhr.getResponseHeader("content-type")),result=xhr.responseText;try{dataType=="script"?(1,eval)(result):dataType=="xml"?result=xhr.responseXML:dataType=="json"&&(result=blankRE.test(result)?null:JSON.parse(result))}catch(e){error=e}error?ajaxError(error,"parsererror",xhr,settings):ajaxSuccess(result,xhr,settings)}else ajaxError(null,"error",xhr,settings)}};var async="async"in settings?settings.async:!0;xhr.open(settings.type,settings.url,async);for(name in settings.headers)xhr.setRequestHeader(name,settings.headers[name]);return ajaxBeforeSend(xhr,settings)===!1?(xhr.abort(),!1):(settings.timeout>0&&(abortTimeout=setTimeout(function(){xhr.onreadystatechange=empty,xhr.abort(),ajaxError(null,"timeout",xhr,settings)},settings.timeout)),xhr.send(settings.data?settings.data:null),xhr)},$.get=function(a,b){return $.ajax({url:a,success:b})},$.post=function(a,b,c,d){return $.isFunction(b)&&(d=d||c,c=b,b=null),$.ajax({type:"POST",url:a,data:b,success:c,dataType:d})},$.getJSON=function(a,b){return $.ajax({url:a,success:b,dataType:"json"})},$.fn.load=function(a,b){if(!this.length)return this;var c=this,d=a.split(/\s/),e;return d.length>1&&(a=d[0],e=d[1]),$.get(a,function(a){c.html(e?$(document.createElement("div")).html(a.replace(rscript,"")).find(e).html():a),b&&b.call(c)}),this};var escape=encodeURIComponent;$.param=function(a,b){var c=[];return c.add=function(a,b){this.push(escape(a)+"="+escape(b))},serialize(c,a,b),c.join("&").replace("%20","+")}}(Zepto),function(a){a.fn.serializeArray=function(){var b=[],c;return a(Array.prototype.slice.call(this.get(0).elements)).each(function(){c=a(this);var d=c.attr("type");this.nodeName.toLowerCase()!="fieldset"&&!this.disabled&&d!="submit"&&d!="reset"&&d!="button"&&(d!="radio"&&d!="checkbox"||this.checked)&&b.push({name:c.attr("name"),value:c.val()})}),b},a.fn.serialize=function(){var a=[];return this.serializeArray().forEach(function(b){a.push(encodeURIComponent(b.name)+"="+encodeURIComponent(b.value))}),a.join("&")},a.fn.submit=function(b){if(b)this.bind("submit",b);else if(this.length){var c=a.Event("submit");this.eq(0).trigger(c),c.defaultPrevented||this.get(0).submit()}return this}}(Zepto),function(a){function d(a){return"tagName"in a?a:a.parentNode}function e(a,b,c,d){var e=Math.abs(a-b),f=Math.abs(c-d);return e>=f?a-b>0?"Left":"Right":c-d>0?"Up":"Down"}function h(){g=null,b.last&&(b.el.trigger("longTap"),b={})}function i(){g&&clearTimeout(g),g=null}var b={},c,f=750,g;a(document).ready(function(){var j,k;a(document.body).bind("touchstart",function(e){j=Date.now(),k=j-(b.last||j),b.el=a(d(e.touches[0].target)),c&&clearTimeout(c),b.x1=e.touches[0].pageX,b.y1=e.touches[0].pageY,k>0&&k<=250&&(b.isDoubleTap=!0),b.last=j,g=setTimeout(h,f)}).bind("touchmove",function(a){i(),b.x2=a.touches[0].pageX,b.y2=a.touches[0].pageY}).bind("touchend",function(a){i(),b.isDoubleTap?(b.el.trigger("doubleTap"),b={}):b.x2&&Math.abs(b.x1-b.x2)>30||b.y2&&Math.abs(b.y1-b.y2)>30?(b.el.trigger("swipe")&&b.el.trigger("swipe"+e(b.x1,b.x2,b.y1,b.y2)),b={}):"last"in b&&(b.el.trigger("tap"),c=setTimeout(function(){c=null,b.el.trigger("singleTap"),b={}},250))}).bind("touchcancel",function(){c&&clearTimeout(c),g&&clearTimeout(g),g=c=null,b={}})}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(b){a.fn[b]=function(a){return this.bind(b,a)}})}(Zepto),Zepto}),define("joshfire-framework/adapters/phone/utils/dollar",["joshlib!vendor/zepto"],function(a){return a}),define("joshfire-framework/vendor/underscore",[],function(){return function(){function A(a,b,c){if(a===b)return a!==0||1/a==1/b;if(a==null||b==null)return a===b;a._chain&&(a=a._wrapped),b._chain&&(b=b._wrapped);if(a.isEqual&&w.isFunction(a.isEqual))return a.isEqual(b);if(b.isEqual&&w.isFunction(b.isEqual))return b.isEqual(a);var d=i.call(a);if(d!=i.call(b))return!1;switch(d){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:a==0?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if(typeof a!="object"||typeof b!="object")return!1;var e=c.length;while(e--)if(c[e]==a)return!0;c.push(a);var f=0,g=!0;if(d=="[object Array]"){f=a.length,g=f==b.length;if(g)while(f--)if(!(g=f in a==f in b&&A(a[f],b[f],c)))break}else{if("constructor"in a!="constructor"in b||a.constructor!=b.constructor)return!1;for(var h in a)if(w.has(a,h)){f++;if(!(g=w.has(b,h)&&A(a[h],b[h],c)))break}if(g){for(h in b)if(w.has(b,h)&&!(f--))break;g=!f}}return c.pop(),g}var a=this,b=a._,c={},d=Array.prototype,e=Object.prototype,f=Function.prototype,g=d.slice,h=d.unshift,i=e.toString,j=e.hasOwnProperty,k=d.forEach,l=d.map,m=d.reduce,n=d.reduceRight,o=d.filter,p=d.every,q=d.some,r=d.indexOf,s=d.lastIndexOf,t=Array.isArray,u=Object.keys,v=f.bind,w=function(a){return new I(a)};typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=w),exports._=w):a._=w,w.VERSION="1.3.3";var x=w.each=w.forEach=function(a,b,d){if(a==null)return;if(k&&a.forEach===k)a.forEach(b,d);else if(a.length===+a.length){for(var e=0,f=a.length;e2;a==null&&(a=[]);if(m&&a.reduce===m)return d&&(b=w.bind(b,d)),e?a.reduce(b,c):a.reduce(b);x(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)});if(!e)throw new TypeError("Reduce of empty array with no initial value");return c},w.reduceRight=w.foldr=function(a,b,c,d){var e=arguments.length>2;a==null&&(a=[]);if(n&&a.reduceRight===n)return d&&(b=w.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=w.toArray(a).reverse();return d&&!e&&(b=w.bind(b,d)),e?w.reduce(f,b,c,d):w.reduce(f,b)},w.find=w.detect=function(a,b,c){var d;return y(a,function(a,e,f){if(b.call(c,a,e,f))return d=a,!0}),d},w.filter=w.select=function(a,b,c){var d=[];return a==null?d:o&&a.filter===o?a.filter(b,c):(x(a,function(a,e,f){b.call(c,a,e,f)&&(d[d.length]=a)}),d)},w.reject=function(a,b,c){var d=[];return a==null?d:(x(a,function(a,e,f){b.call(c,a,e,f)||(d[d.length]=a)}),d)},w.every=w.all=function(a,b,d){var e=!0;return a==null?e:p&&a.every===p?a.every(b,d):(x(a,function(a,f,g){if(!(e=e&&b.call(d,a,f,g)))return c}),!!e)};var y=w.some=w.any=function(a,b,d){b||(b=w.identity);var e=!1;return a==null?e:q&&a.some===q?a.some(b,d):(x(a,function(a,f,g){if(e||(e=b.call(d,a,f,g)))return c}),!!e)};w.include=w.contains=function(a,b){var c=!1;return a==null?c:r&&a.indexOf===r?a.indexOf(b)!=-1:(c=y(a,function(a){return a===b}),c)},w.invoke=function(a,b){var c=g.call(arguments,2);return w.map(a,function(a){return(w.isFunction(b)?b||a:a[b]).apply(a,c)})},w.pluck=function(a,b){return w.map(a,function(a){return a[b]})},w.max=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.max.apply(Math,a);if(!b&&w.isEmpty(a))return-Infinity;var d={computed:-Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>=d.computed&&(d={value:a,computed:g})}),d.value},w.min=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.min.apply(Math,a);if(!b&&w.isEmpty(a))return Infinity;var d={computed:Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;gd?1:0}),"value")},w.groupBy=function(a,b){var c={},d=w.isFunction(b)?b:function(a){return a[b]};return x(a,function(a,b){var e=d(a,b);(c[e]||(c[e]=[])).push(a)}),c},w.sortedIndex=function(a,b,c){c||(c=w.identity);var d=0,e=a.length;while(d>1;c(a[f])=0})})},w.difference=function(a){var b=w.flatten(g.call(arguments,1),!0);return w.filter(a,function(a){return!w.include(b,a)})},w.zip=function(){var a=g.call(arguments),b=w.max(w.pluck(a,"length")),c=new Array(b);for(var d=0;d=0;c--)b=[a[c].apply(this,b)];return b[0]}},w.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}},w.keys=u||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)w.has(a,c)&&(b[b.length]=c);return b},w.values=function(a){return w.map(a,w.identity)},w.functions=w.methods=function(a){var b=[];for(var c in a)w.isFunction(a[c])&&b.push(c);return b.sort()},w.extend=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a},w.pick=function(a){var b={};return x(w.flatten(g.call(arguments,1)),function(c){c in a&&(b[c]=a[c])}),b},w.defaults=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]==null&&(a[c]=b[c])}),a},w.clone=function(a){return w.isObject(a)?w.isArray(a)?a.slice():w.extend({},a):a},w.tap=function(a,b){return b(a),a},w.isEqual=function(a,b){return A(a,b,[])},w.isEmpty=function(a){if(a==null)return!0;if(w.isArray(a)||w.isString(a))return a.length===0;for(var b in a)if(w.has(a,b))return!1;return!0},w.isElement=function(a){return!!a&&a.nodeType==1},w.isArray=t||function(a){return i.call(a)=="[object Array]"},w.isObject=function(a){return a===Object(a)},w.isArguments=function(a){return i.call(a)=="[object Arguments]"},w.isArguments(arguments)||(w.isArguments=function(a){return!!a&&!!w.has(a,"callee")}),w.isFunction=function(a){return i.call(a)=="[object Function]"},w.isString=function(a){return i.call(a)=="[object String]"},w.isNumber=function(a){return i.call(a)=="[object Number]"},w.isFinite=function(a){return w.isNumber(a)&&isFinite(a)},w.isNaN=function(a){return a!==a},w.isBoolean=function(a){return a===!0||a===!1||i.call(a)=="[object Boolean]"},w.isDate=function(a){return i.call(a)=="[object Date]"},w.isRegExp=function(a){return i.call(a)=="[object RegExp]"},w.isNull=function(a){return a===null},w.isUndefined=function(a){return a===void 0},w.has=function(a,b){return j.call(a,b)},w.noConflict=function(){return a._=b,this},w.identity=function(a){return a},w.times=function(a,b,c){for(var d=0;d/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},w.result=function(a,b){if(a==null)return null;var c=a[b];return w.isFunction(c)?c.call(a):c},w.mixin=function(a){x(w.functions(a),function(b){K(b,w[b]=a[b])})};var B=0;w.uniqueId=function(a){var b=B++;return a?a+b:b},w.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var C=/.^/,D={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"};for(var E in D)D[D[E]]=E;var F=/\\|'|\r|\n|\t|\u2028|\u2029/g,G=/\\(\\|'|r|n|t|u2028|u2029)/g,H=function(a){return a.replace(G,function(a,b){return D[b]})};w.template=function(a,b,c){c=w.defaults(c||{},w.templateSettings);var d="__p+='"+a.replace(F,function(a){return"\\"+D[a]}).replace(c.escape||C,function(a,b){return"'+\n_.escape("+H(b)+")+\n'"}).replace(c.interpolate||C,function(a,b){return"'+\n("+H(b)+")+\n'"}).replace(c.evaluate||C,function(a,b){return"';\n"+H(b)+"\n;__p+='"})+"';\n";c.variable||(d="with(obj||{}){\n"+d+"}\n"),d="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+d+"return __p;\n";var e=new Function(c.variable||"obj","_",d);if(b)return e(b,w);var f=function(a){return e.call(this,a,w)};return f.source="function("+(c.variable||"obj")+"){\n"+d+"}",f},w.chain=function(a){return w(a).chain()};var I=function(a){this._wrapped=a};w.prototype=I.prototype;var J=function(a,b){return b?w(a).chain():a},K=function(a,b){I.prototype[a]=function(){var a=g.call(arguments);return h.call(a,this._wrapped),J(b.apply(w,a),this._chain)}};w.mixin(w),x(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=d[a];I.prototype[a]=function(){var c=this._wrapped;b.apply(c,arguments);var d=c.length;return(a=="shift"||a=="splice")&&d===0&&delete c[0],J(c,this._chain)}}),x(["concat","join","slice"],function(a){var b=d[a];I.prototype[a]=function(){return J(b.apply(this._wrapped,arguments),this._chain)}}),I.prototype.chain=function(){return this._chain=!0,this},I.prototype.value=function(){return this._wrapped}}.call(this),typeof exports!="undefined"?typeof module!="undefined"&&module.exports?exports:exports._:this._}),define("joshfire-framework/vendor/iscroll",[],function(){return function(a,b){function E(a){return e===""?a:(a=a.charAt(0).toUpperCase()+a.substr(1),e+a)}var c=Math,d=b.createElement("div").style,e=function(){var a="t,webkitT,MozT,msT,OT".split(","),b,c=0,e=a.length;for(;cd[a+"ScrollbarMaxScroll"]&&(d.options.fixedScrollbar?e=d[a+"ScrollbarMaxScroll"]:(f=d[a+"ScrollbarIndicatorSize"]-c.round((e-d[a+"ScrollbarMaxScroll"])*3),f<8&&(f=8),d[a+"ScrollbarIndicator"].style[a=="h"?"width":"height"]=f+"px",e=d[a+"ScrollbarMaxScroll"]+(d[a+"ScrollbarIndicatorSize"]-f))),d[a+"ScrollbarWrapper"].style[l]="0",d[a+"ScrollbarWrapper"].style.opacity=b&&d.options.hideScrollbar?"0":"1",d[a+"ScrollbarIndicator"].style[g]="translate("+(a=="h"?e+"px,0)":"0,"+e+"px)")+C},_start:function(a){var b=this,d=q?a.touches[0]:a,e,f,h,i,j;if(!b.enabled)return;b.options.onBeforeScrollStart&&b.options.onBeforeScrollStart.call(b,a),(b.options.useTransition||b.options.zoom)&&b._transitionTime(0),b.moved=!1,b.animating=!1,b.zoomed=!1,b.distX=0,b.distY=0,b.absDistX=0,b.absDistY=0,b.dirX=0,b.dirY=0,b.options.zoom&&q&&a.touches.length>1&&(i=c.abs(a.touches[0].pageX-a.touches[1].pageX),j=c.abs(a.touches[0].pageY-a.touches[1].pageY),b.touchesDistStart=c.sqrt(i*i+j*j),b.originX=c.abs(a.touches[0].pageX+a.touches[1].pageX-b.wrapperOffsetLeft*2)/2-b.x,b.originY=c.abs(a.touches[0].pageY+a.touches[1].pageY-b.wrapperOffsetTop*2)/2-b.y,b.options.onZoomStart&&b.options.onZoomStart.call(b,a));if(b.options.momentum){b.options.useTransform?(e=getComputedStyle(b.scroller,null)[g].replace(/[^0-9\-.,]/g,"").split(","),f=e[4]*1,h=e[5]*1):(f=getComputedStyle(b.scroller,null).left.replace(/[^0-9-]/g,"")*1,h=getComputedStyle(b.scroller,null).top.replace(/[^0-9-]/g,"")*1);if(f!=b.x||h!=b.y)b.options.useTransition?b._unbind(z):B(b.aniTime),b.steps=[],b._pos(f,h)}b.absStartX=b.x,b.absStartY=b.y,b.startX=b.x,b.startY=b.y,b.pointX=d.pageX,b.pointY=d.pageY,b.startTime=a.timeStamp||Date.now(),b.options.onScrollStart&&b.options.onScrollStart.call(b,a),b._bind(v),b._bind(w),b._bind(x)},_move:function(a){var b=this,d=q?a.touches[0]:a,e=d.pageX-b.pointX,f=d.pageY-b.pointY,h=b.x+e,i=b.y+f,j,k,l,m=a.timeStamp||Date.now();b.options.onBeforeScrollMove&&b.options.onBeforeScrollMove.call(b,a);if(b.options.zoom&&q&&a.touches.length>1){j=c.abs(a.touches[0].pageX-a.touches[1].pageX),k=c.abs(a.touches[0].pageY-a.touches[1].pageY),b.touchesDist=c.sqrt(j*j+k*k),b.zoomed=!0,l=1/b.touchesDistStart*b.touchesDist*this.scale,lb.options.zoomMax&&(l=2*b.options.zoomMax*Math.pow(.5,b.options.zoomMax/l)),b.lastScale=l/this.scale,h=this.originX-this.originX*b.lastScale+this.x,i=this.originY-this.originY*b.lastScale+this.y,this.scroller.style[g]="translate("+h+"px,"+i+"px) scale("+l+")"+C,b.options.onZoom&&b.options.onZoom.call(b,a);return}b.pointX=d.pageX,b.pointY=d.pageY;if(h>0||h=0||b.maxScrollX>=0?0:b.maxScrollX;if(i>b.minScrollY||i=b.minScrollY||b.maxScrollY>=0?b.minScrollY:b.maxScrollY;b.distX+=e,b.distY+=f,b.absDistX=c.abs(b.distX),b.absDistY=c.abs(b.distY);if(b.absDistX<6&&b.absDistY<6)return;b.options.lockDirection&&(b.absDistX>b.absDistY+5?(i=b.y,f=0):b.absDistY>b.absDistX+5&&(h=b.x,e=0)),b.moved=!0,b._pos(h,i),b.dirX=e>0?-1:e<0?1:0,b.dirY=f>0?-1:f<0?1:0,m-b.startTime>300&&(b.startTime=m,b.startX=b.x,b.startY=b.y),b.options.onScrollMove&&b.options.onScrollMove.call(b,a)},_end:function(a){if(q&&a.touches.length!==0)return;var d=this,e=q?a.changedTouches[0]:a,f,h,j={dist:0,time:0},k={dist:0,time:0},l=(a.timeStamp||Date.now())-d.startTime,m=d.x,n=d.y,o,p,r,s,t;d._unbind(v),d._unbind(w),d._unbind(x),d.options.onBeforeScrollEnd&&d.options.onBeforeScrollEnd.call(d,a);if(d.zoomed){t=d.scale*d.lastScale,t=Math.max(d.options.zoomMin,t),t=Math.min(d.options.zoomMax,t),d.lastScale=t/d.scale,d.scale=t,d.x=d.originX-d.originX*d.lastScale+d.x,d.y=d.originY-d.originY*d.lastScale+d.y,d.scroller.style[i]="200ms",d.scroller.style[g]="translate("+d.x+"px,"+d.y+"px) scale("+d.scale+")"+C,d.zoomed=!1,d.refresh(),d.options.onZoomEnd&&d.options.onZoomEnd.call(d,a);return}if(!d.moved){q&&(d.doubleTapTimer&&d.options.zoom?(clearTimeout(d.doubleTapTimer),d.doubleTapTimer=null,d.options.onZoomStart&&d.options.onZoomStart.call(d,a),d.zoom(d.pointX,d.pointY,d.scale==1?d.options.doubleTapZoom:1),d.options.onZoomEnd&&setTimeout(function(){d.options.onZoomEnd.call(d,a)},200)):this.options.handleClick&&(d.doubleTapTimer=setTimeout(function(){d.doubleTapTimer=null,f=e.target;while(f.nodeType!=1)f=f.parentNode;f.tagName!="SELECT"&&f.tagName!="INPUT"&&f.tagName!="TEXTAREA"&&(h=b.createEvent("MouseEvents"),h.initMouseEvent("click",!0,!0,a.view,1,e.screenX,e.screenY,e.clientX,e.clientY,a.ctrlKey,a.altKey,a.shiftKey,a.metaKey,0,null),h._fake=!0,f.dispatchEvent(h))},d.options.zoom?250:0))),d._resetPos(200),d.options.onTouchEnd&&d.options.onTouchEnd.call(d,a);return}if(l<300&&d.options.momentum){j=m?d._momentum(m-d.startX,l,-d.x,d.scrollerW-d.wrapperW+d.x,d.options.bounce?d.wrapperW:0):j,k=n?d._momentum(n-d.startY,l,-d.y,d.maxScrollY<0?d.scrollerH-d.wrapperH+d.y-d.minScrollY:0,d.options.bounce?d.wrapperH:0):k,m=d.x+j.dist,n=d.y+k.dist;if(d.x>0&&m>0||d.xd.minScrollY&&n>d.minScrollY||d.y=0?0:b.x=b.minScrollY||b.maxScrollY>0?b.minScrollY:b.yb.options.zoomMax&&(g=b.options.zoomMax),g!=b.scale&&(!b.wheelZoomCount&&b.options.onZoomStart&&b.options.onZoomStart.call(b,a),b.wheelZoomCount++,b.zoom(a.pageX,a.pageY,g,400),setTimeout(function(){b.wheelZoomCount--,!b.wheelZoomCount&&b.options.onZoomEnd&&b.options.onZoomEnd.call(b,a)},400));return}e=b.x+c,f=b.y+d,e>0?e=0:eb.minScrollY?f=b.minScrollY:f=e+f.time){a._pos(f.x,f.y),a.animating=!1,a.options.onAnimationEnd&&a.options.onAnimationEnd.call(a),a._startAni();return}i=(i-e)/f.time-1,g=c.sqrt(1-i*i),j=(f.x-b)*g+b,k=(f.y-d)*g+d,a._pos(j,k),a.animating&&(a.aniTime=A(h))},h()},_transitionTime:function(a){a+="ms",this.scroller.style[i]=a,this.hScrollbar&&(this.hScrollbarIndicator.style[i]=a),this.vScrollbar&&(this.vScrollbarIndicator.style[i]=a)},_momentum:function(a,b,d,e,f){var g=6e-4,h=c.abs(a)/b,i=h*h/(2*g),j=0,k=0;return a>0&&i>d?(k=f/(6/(i/h*g)),d+=k,h=h*d/i,i=d):a<0&&i>e&&(k=f/(6/(i/h*g)),e+=k,h=h*e/i,i=e),i*=a<0?-1:1,j=h/g,{dist:i,time:c.round(j)}},_offset:function(a){var b=-a.offsetLeft,c=-a.offsetTop;while(a=a.offsetParent)b-=a.offsetLeft,c-=a.offsetTop;return a!=this.wrapper&&(b*=this.scale,c*=this.scale),{left:b,top:c}},_snap:function(a,b){var d=this,e,f,g,h,i,j;g=d.pagesX.length-1;for(e=0,f=d.pagesX.length;e=d.pagesX[e]){g=e;break}g==d.currPageX&&g>0&&d.dirX<0&&g--,a=d.pagesX[g],i=c.abs(a-d.pagesX[d.currPageX]),i=i?c.abs(d.x-a)/i*500:0,d.currPageX=g,g=d.pagesY.length-1;for(e=0;e=d.pagesY[e]){g=e;break}return g==d.currPageY&&g>0&&d.dirY<0&&g--,b=d.pagesY[g],j=c.abs(b-d.pagesY[d.currPageY]),j=j?c.abs(d.y-b)/j*500:0,d.currPageY=g,h=c.round(c.max(i,j))||200,{x:a,y:b,time:h}},_bind:function(a,b,c){(b||this.scroller).addEventListener(a,this,!!c)},_unbind:function(a,b,c){(b||this.scroller).removeEventListener(a,this,!!c)},destroy:function(){var b=this;b.scroller.style[g]="",b.hScrollbar=!1,b.vScrollbar=!1,b._scrollbar("h"),b._scrollbar("v"),b._unbind(t,a),b._unbind(u),b._unbind(v),b._unbind(w),b._unbind(x),b.options.hasTouch||(b._unbind("mouseout",b.wrapper),b._unbind(y)),b.options.useTransition&&b._unbind(z),b.options.checkDOMChanges&&clearInterval(b.checkDOMTime),b.options.onDestroy&&b.options.onDestroy.call(b)},refresh:function(){var a=this,b,d,e,f,g=0,h=0;a.scalea.wrapperH),a.hScrollbar=a.hScroll&&a.options.hScrollbar,a.vScrollbar=a.vScroll&&a.options.vScrollbar&&a.scrollerH>a.wrapperH,b=a._offset(a.wrapper),a.wrapperOffsetLeft=-b.left,a.wrapperOffsetTop=-b.top;if(typeof a.options.snap=="string"){a.pagesX=[],a.pagesY=[],f=a.scroller.querySelectorAll(a.options.snap);for(d=0,e=f.length;d=a.maxScrollX)a.pagesX[h]=g,g-=a.wrapperW,h++;a.maxScrollX%a.wrapperW&&(a.pagesX[a.pagesX.length]=a.maxScrollX-a.pagesX[a.pagesX.length-1]+a.pagesX[a.pagesX.length-1]),g=0,h=0,a.pagesY=[];while(g>=a.maxScrollY)a.pagesY[h]=g,g-=a.wrapperH,h++;a.maxScrollY%a.wrapperH&&(a.pagesY[a.pagesY.length]=a.maxScrollY-a.pagesY[a.pagesY.length-1]+a.pagesY[a.pagesY.length-1])}a._scrollbar("h"),a._scrollbar("v"),a.zoomed||(a.scroller.style[i]="0",a._resetPos(200))},scrollTo:function(a,b,c,d){var e=this,f=a,g,h;e.stop(),f.length||(f=[{x:a,y:b,time:c,relative:d}]);for(g=0,h=f.length;g0?0:e.leftd.minScrollY?d.minScrollY:e.topd.pagesX.length-1?d.pagesX.length-1:a,b=b<0?0:b>d.pagesY.length-1?d.pagesY.length-1:b,d.currPageX=a,d.currPageY=b,e=d.pagesX[a],f=d.pagesY[b]):(e=-d.wrapperW*a,f=-d.wrapperH*b,e0?0:e.xe.minScrollY?e.minScrollY:e.yc.width+1?c.height=e.height:e.width';for(var e=0;e'}d+="",typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),h=e.extend({initialize:function(a){this.sources=a.sources,this.poster=a.poster||"",this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},addPolyFill:function(){var a=document.getElementsByTagName("body")[0],b=document.createElement("link"),c=document.createElement("script");b.setAttribute("href","http://vjs.zencdn.net/c/video-js.css"),b.setAttribute("rel","stylesheet"),c.setAttribute("src","http://vjs.zencdn.net/c/video.js"),a.appendChild(b),a.appendChild(c)},toHtml:function(a){var b=this.poster?' poster="'+this.poster+'"':"",c=this.autoPlay?" autoplay":"",d='",typeof window!="undefined"&&typeof window.VideoJS=="undefined"&&this.addPolyFill(),typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),i=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||40,this.autoPlay=a.autoPlay||!1},iCanHazAudioTag:function(a){if(!document)return!1;var b=document.createElement("audio");return b.canPlayType},toHtml:function(a){var b="";if(this.sources&&this.sources.length){for(var c=0;c";break}b||(b='Play')}typeof a=="function"&&a(null,b,{})}}),j=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},toHtml:function(a){var b="mediaplayerlib-mediaelement-video-"+j.nextId++,c=this.poster?' poster="'+this.poster+'"':"",d=this.autoPlay?" autoplay":"",e='",e+="",typeof a=="function"&&a(null,e,{width:this.width,height:this.height})}});j.nextId=0;var k=e.extend({initialize:function(a){this.options=a},toHtml:function(b){var c=null;for(var d=0;d';typeof a=="function"&&a(null,b,{width:this.width,height:this.height})}}),m=e.extend({initialize:function(a){this.url=a.url,this.publisher=a.publisher,this.width=a.width||500,this.height=a.height||281},toHtml:function(a){var b=this.url||"",c="",d="",e=function(){var a=function(){return((1+Math.random())*65536|0).toString(16).substring(1)};return"mediaplayerlib-"+a()+a()+a()};d=e(),this.publisher==="Ooyala"?(b+=(b.indexOf("?")===-1?"?":"&")+"width="+encodeURIComponent(this.width)+"&height="+encodeURIComponent(this.height),c='
'+'"+''):c='',typeof a=="function"&&a(null,c,{width:this.width,height:this.height})}}),n=e.extend({toHtml:function(a){typeof a=="function"&&a(new Error("Unknown media type."),"Unknown media type.")}}),o=function(){};b(o.prototype,{execute:function(a,b){return new n(b)}}),o.extend=function(a){var c=function(a){o.call(this,a)};return b(c.prototype,a),c};var p=o.extend({execute:function(a,e){var f,g=c(a)||{},i=d(g,e);b(e,i);if(g["@type"]==="VideoObject")if(g.playerType==="iframe")b(e,{url:g.embedURL}),f=new l(e);else if(g.playerType==="script")b(e,{url:g.embedURL,publisher:g.publisher?g.publisher.name:null}),f=new m(e);else if(g.contentURL){var j=null;g.image&&g.image.contentURL&&(j=g.image.contentURL),b(e,{poster:j,sources:[g.contentURL]}),f=new h(e)}return f||new n}}),q=o.extend({execute:function(a,e){var f,h=c(a)||{},j=d(h,e);b(e,j);if(h.playerType==="iframe")b(e,{url:h.embedURL,html5:!0}),f=new l(e);else if(h.playerType==="script")b(e,{url:h.embedURL,html5:!0,publisher:h.publisher?h.publisher.name:null}),f=new m(e);else if(h["@type"]==="VideoObject"){if(h.contentURL){var k=null;h.image&&(k=h.image.contentURL),b(e,{poster:k,sources:[h.contentURL]}),f=new g(e)}}else h["@type"]==="AudioObject"&&h.contentURL&&(b(e,{sources:[h.contentURL]}),f=new i(e));return f}}),r=o.extend({execute:function(a,e){var f=c(a)||{},g=d(f,e);b(e,g);var h;if(a["@type"]==="VideoObject"){if(typeof a.contentURL!="undefined"){var i=null;f.image&&(i=f.image.contentURL),b(e,{poster:i,sources:[a.contentURL]}),h=new j(e)}}else a["@type"]==="AudioObject"&&typeof a.contentURL!="undefined"&&b(e,{sources:[a.contentURL]});return h}}),s=o.extend({execute:function(a,c){var d;return typeof a.url!="undefined"&&(b(c,{url:a.url}),d=new k(c)),d}}),t=function(){this.strategies={def:new p,html5:new q,mediaElement:new r,oembed:new s}};b(t.prototype,{resolve:function(a,b){b=b||{};var c;if(typeof b.strategy!="undefined"&&typeof this.strategies[b.strategy]!="undefined"){var d=this.strategies[b.strategy];c=d.execute(a,b)}return c||this.strategies.def.execute(a,b)},insertFragment:function(a,b){function d(a,b){b(a);for(var c in a.childNodes)d(a.childNodes[c],b)}function e(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()}function f(a){var b=a.text||a.textContent||a.innerHTML||"",c=a.getAttribute("src"),d=document.getElementsByTagName("head")[0]||document.documentElement,e=document.createElement("script");e.type="text/javascript",c&&e.setAttribute("src",c),b&&e.appendChild(document.createTextNode(b)),d.insertBefore(e,d.firstChild),a.parentNode&&a.parentNode.removeChild(a)}var c=null;Object.prototype.toString.call(b)==="[object String]"?c=document.getElementById(b):c=b,c.innerHTML=(""+a).trim();var g=[],h=null;d(c,function(a){a.nodeName&&a.nodeName.toUpperCase()==="SCRIPT"&&(!a.type||a.type==="text/javascript")&&g.push(a)});for(h in g)f(g[h])},insert:function(a,b,c,d){var e=this,f=this.resolve(a,b).toHtml(function(a,b){e.insertFragment(b,c),typeof d=="function"&&d(null)})}}),typeof Joshfire!="undefined"&&typeof Joshfire.define!="undefined"?Joshfire.define([],function(){return new t}):typeof define!="undefined"?define("joshfire-framework/utils/mediaplayerlib",[],function(){return new t}):a.mediaFactory=new t}(typeof module!="undefined"?module.exports:window),define("joshfire-framework/vendor/backbone",["joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b){return function(){var c=this,d=c.Backbone,e=Array.prototype.slice,f=Array.prototype.splice,g;typeof exports!="undefined"?g=exports:g=c.Backbone={},g.VERSION="0.9.2",g.setDomLibrary=function(a){b=a},g.noConflict=function(){return c.Backbone=d,this},g.emulateHTTP=!1,g.emulateJSON=!1;var h=/\s+/,i=g.Events={on:function(a,b,c){var d,e,f,g,i;if(!b)return this;a=a.split(h),d=this._callbacks||(this._callbacks={});while(e=a.shift())i=d[e],f=i?i.tail:{},f.next=g={},f.context=c,f.callback=b,d[e]={tail:g,next:i?i.next:f};return this},off:function(b,c,d){var e,f,g,i,j,k;if(!(f=this._callbacks))return;if(!(b||c||d))return delete this._callbacks,this;b=b?b.split(h):a.keys(f);while(e=b.shift()){g=f[e],delete f[e];if(!g||!c&&!d)continue;i=g.tail;while((g=g.next)!==i)j=g.callback,k=g.context,(c&&j!==c||d&&k!==d)&&this.on(e,j,k)}return this},trigger:function(a){var b,c,d,f,g,i,j;if(!(d=this._callbacks))return this;i=d.all,a=a.split(h),j=e.call(arguments,1);while(b=a.shift()){if(c=d[b]){f=c.tail;while((c=c.next)!==f)c.callback.apply(c.context||this,j)}if(c=i){f=c.tail,g=[b].concat(j);while((c=c.next)!==f)c.callback.apply(c.context||this,g)}}return this}};i.bind=i.on,i.unbind=i.off;var j=g.Model=function(b,c){var d;b||(b={}),c&&c.parse&&(b=this.parse(b));if(d=A(this,"defaults"))b=a.extend({},d,b);c&&c.collection&&(this.collection=c.collection),this.attributes={},this._escapedAttributes={},this.cid=a.uniqueId("c"),this.changed={},this._silent={},this._pending={},this.set(b,{silent:!0}),this.changed={},this._silent={},this._pending={},this._previousAttributes=a.clone(this.attributes),this.initialize.apply(this,arguments)};a.extend(j.prototype,i,{changed:null,_silent:null,_pending:null,idAttribute:"id",initialize:function(){},toJSON:function(b){return a.clone(this.attributes)},get:function(a){return this.attributes[a]},escape:function(b){var c;if(c=this._escapedAttributes[b])return c;var d=this.get(b);return this._escapedAttributes[b]=a.escape(d==null?"":""+d)},has:function(a){return this.get(a)!=null},set:function(b,c,d){var e,f,g;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d||(d={});if(!e)return this;e instanceof j&&(e=e.attributes);if(d.unset)for(f in e)e[f]=void 0;if(!this._validate(e,d))return!1;this.idAttribute in e&&(this.id=e[this.idAttribute]);var h=d.changes={},i=this.attributes,k=this._escapedAttributes,l=this._previousAttributes||{};for(f in e){g=e[f];if(!a.isEqual(i[f],g)||d.unset&&a.has(i,f))delete k[f],(d.silent?this._silent:h)[f]=!0;d.unset?delete i[f]:i[f]=g,!a.isEqual(l[f],g)||a.has(i,f)!=a.has(l,f)?(this.changed[f]=g,d.silent||(this._pending[f]=!0)):(delete this.changed[f],delete this._pending[f])}return d.silent||this.change(d),this},unset:function(a,b){return(b||(b={})).unset=!0,this.set(a,null,b)},clear:function(b){return(b||(b={})).unset=!0,this.set(a.clone(this.attributes),b)},fetch:function(b){b=b?a.clone(b):{};var c=this,d=b.success;return b.success=function(a,e,f){if(!c.set(c.parse(a,f),b))return!1;d&&d(c,a)},b.error=g.wrapError(b.error,c,b),(this.sync||g.sync).call(this,"read",this,b)},save:function(b,c,d){var e,f;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d=d?a.clone(d):{};if(d.wait){if(!this._validate(e,d))return!1;f=a.clone(this.attributes)}var h=a.extend({},d,{silent:!0});if(e&&!this.set(e,d.wait?h:d))return!1;var i=this,j=d.success;d.success=function(b,c,f){var g=i.parse(b,f);d.wait&&(delete d.wait,g=a.extend(e||{},g));if(!i.set(g,d))return!1;j?j(i,b):i.trigger("sync",i,b,d)},d.error=g.wrapError(d.error,i,d);var k=this.isNew()?"create":"update",l=(this.sync||g.sync).call(this,k,this,d);return d.wait&&this.set(f,h),l},destroy:function(b){b=b?a.clone(b):{};var c=this,d=b.success,e=function(){c.trigger("destroy",c,c.collection,b)};if(this.isNew())return e(),!1;b.success=function(a){b.wait&&e(),d?d(c,a):c.trigger("sync",c,a,b)},b.error=g.wrapError(b.error,c,b);var f=(this.sync||g.sync).call(this,"delete",this,b);return b.wait||e(),f},url:function(){var a=A(this,"urlRoot")||A(this.collection,"url")||B();return this.isNew()?a:a+(a.charAt(a.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},parse:function(a,b){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},change:function(b){b||(b={});var c=this._changing;this._changing=!0;for(var d in this._silent)this._pending[d]=!0;var e=a.extend({},b.changes,this._silent);this._silent={};for(var d in e)this.trigger("change:"+d,this,this.get(d),b);if(c)return this;while(!a.isEmpty(this._pending)){this._pending={},this.trigger("change",this,b);for(var d in this.changed){if(this._pending[d]||this._silent[d])continue;delete this.changed[d]}this._previousAttributes=a.clone(this.attributes)}return this._changing=!1,this},hasChanged:function(b){return arguments.length?a.has(this.changed,b):!a.isEmpty(this.changed)},changedAttributes:function(b){if(!b)return this.hasChanged()?a.clone(this.changed):!1;var c,d=!1,e=this._previousAttributes;for(var f in b){if(a.isEqual(e[f],c=b[f]))continue;(d||(d={}))[f]=c}return d},previous:function(a){return!arguments.length||!this._previousAttributes?null:this._previousAttributes[a]},previousAttributes:function(){return a.clone(this._previousAttributes)},isValid:function(){return!this.validate(this.attributes)},_validate:function(b,c){if(c.silent||!this.validate)return!0;b=a.extend({},this.attributes,b);var d=this.validate(b,c);return d?(c&&c.error?c.error(this,d,c):this.trigger("error",this,d,c),!1):!0}});var k=g.Collection=function(a,b){b||(b={}),b.model&&(this.model=b.model),b.comparator&&(this.comparator=b.comparator),this._reset(),this.initialize.apply(this,arguments),a&&this.reset(a,{silent:!0,parse:b.parse})};a.extend(k.prototype,i,{model:j,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},add:function(b,c){var d,e,g,h,i,j,k={},l={},m=[];c||(c={}),b=a.isArray(b)?b.slice():[b];for(d=0,g=b.length;d').hide().appendTo("body")[0].contentWindow,this.navigate(d)),this._hasPushState?b(window).bind("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!f?b(window).bind("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=d;var g=window.location,h=g.pathname==this.options.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!h)return this.fragment=this.getFragment(null,!0),window.location.replace(this.options.root+"#"+this.fragment),!0;this._wantsPushState&&this._hasPushState&&h&&g.hash&&(this.fragment=this.getHash().replace(r,""),window.history.replaceState({},document.title,g.protocol+"//"+g.host+this.options.root+this.fragment));if(!this.options.silent)return this.loadUrl()},stop:function(){b(window).unbind("popstate",this.checkUrl).unbind("hashchange",this.checkUrl),clearInterval(this._checkUrlInterval),q.started=!1},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(a){var b=this.getFragment();b==this.fragment&&this.iframe&&(b=this.getFragment(this.getHash(this.iframe)));if(b==this.fragment)return!1;this.iframe&&this.navigate(b),this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(b){var c=this.fragment=this.getFragment(b),d=a.any(this.handlers,function(a){if(a.route.test(c))return a.callback(c),!0});return d},navigate:function(a,b){if(!q.started)return!1;if(!b||b===!0)b={trigger:b};var c=(a||"").replace(r,"");if(this.fragment==c)return;this._hasPushState?(c.indexOf(this.options.root)!=0&&(c=this.options.root+c),this.fragment=c,window.history[b.replace?"replaceState":"pushState"]({},document.title,c)):this._wantsHashChange?(this.fragment=c,this._updateHash(window.location,c,b.replace),this.iframe&&c!=this.getFragment(this.getHash(this.iframe))&&(b.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,c,b.replace))):window.location.assign(this.options.root+a),b.trigger&&this.loadUrl(a)},_updateHash:function(a,b,c){c?a.replace(a.toString().replace(/(javascript:|#).*$/,"")+"#"+b):a.hash=b}});var t=g.View=function(b){this.cid=a.uniqueId("view"),this._configure(b||{}),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},u=/^(\S+)\s*(.*)$/,v=["model","collection","el","id","attributes","className","tagName"];a.extend(t.prototype,i,{tagName:"div",$:function(a){return this.$el.find(a)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this},make:function(a,c,d){var e=document.createElement(a);return c&&b(e).attr(c),d&&b(e).html(d),e},setElement:function(a,c){return this.$el&&this.undelegateEvents(),this.$el=a instanceof b?a:b(a),this.el=this.$el[0],c!==!1&&this.delegateEvents(),this},delegateEvents:function(b){if(!b&&!(b=A(this,"events")))return;this.undelegateEvents();for(var c in b){var d=b[c];a.isFunction(d)||(d=this[b[c]]);if(!d)throw new Error('Method "'+b[c]+'" does not exist');var e=c.match(u),f=e[1],g=e[2];d=a.bind(d,this),f+=".delegateEvents"+this.cid,g===""?this.$el.bind(f,d):this.$el.delegate(g,f,d)}},undelegateEvents:function(){this.$el.unbind(".delegateEvents"+this.cid)},_configure:function(b){this.options&&(b=a.extend({},this.options,b));for(var c=0,d=v.length;c/g,">").replace(/"+a+"";var c="<"+this.el.nodeName.toLowerCase();for(var d=0;d",c},hide:function(){c(this.el).hide(),this.trigger("hidden")},show:function(){c(this.el).show(),this.trigger("shown")},enhance:function(){this.customLoadEvent||this.trigger("load"),this.loadingClass&&c(this.el)&&(c(this.el).addClass(this.loadingClass),this.unbind("load",this.removeLoadingClass,this),this.bind("load",this.removeLoadingClass,this))},removeLoadingClass:function(){c(this.el).removeClass(this.loadingClass)}});return d}),define("joshfire-framework/uielement",["joshlib!view"],function(a){var b=a.extend({});return b}),define("joshfire-framework/adapters/phone/uielement",["joshlib!adapters/none/uielement","joshlib!vendor/iscroll","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c,d){var e=a.extend({initialize:function(b){this.options.scroller&&d(this.el).css({overflow:"hidden"}),this.options.scrollerSelector&&(this.scrollerSelector=this.options.scrollerSelector),this.bind("shown",function(){this.hasScroller&&this.iScroller&&this.iScroller.refresh()},this),a.prototype.initialize.call(this,b)},enhance:function(){var b=this;if(this.options.scroller){b.insertScroller(),window.skiped&&b.iScroller.scrollToElement("li:nth-child("+window.skiped+")",200);var c=b.$("img");c.length&&b.$("img").bind("load",function(){setTimeout(function(){b.iScroller.refresh()},10)})}a.prototype.enhance.call(this)},insertScroller:function(){var a=this;this.hasScroller=!0,a.iScroller&&a.iScroller.destroy();var e=a.el;a.scrollerSelector&&(e=d(a.scrollerSelector,a.el).get(0)||a.el),a.iScroller=new b(e,c.extend({useTransition:!0,onScrollMove:function(){a.$("a").bind("click.iscrollprevent",function(a){a.preventDefault()})},onScrollEnd:function(){setTimeout(function(){a.$("a").unbind("click.iscrollprevent")},100)},onBeforeScrollStart:function(a){var b=a.target;while(b.nodeType!=1)b=b.parentNode;b.tagName!="SELECT"&&b.tagName!="INPUT"&&b.tagName!="TEXTAREA"&&a.preventDefault()}},a.options.scrollOptions||{})),a.options.scrollOptions&&a.options.scrollOptions.disabled&&a.iScroller.disable(),document.addEventListener("orientationChanged",function(b){a.iScroller&&a.iScroller.refresh()})}});return e}),define("joshfire-framework/ui/item",["joshlib!uielement","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){c.template?this.template=this.compileTemplate(c.template):c.templateEl&&(this.template=this.compileTemplate(b(c.templateEl).text())),this.setModel(c.model),a.prototype.initialize.call(this,c)},setModel:function(a,b){this.model=a,a&&a.bind("change",this.render,this),b&&this.render()},generate:function(a){if(!this.template)return a(null,"");if(!this.model)return a(null,"");var b={model:this.model,obj:this.model,item:this.model?this.model.toJSON():{}};c.extend(b,this.data),a(null,this.template(b))}});return d}),define("joshfire-framework/ui/dynamiccontainer",["joshlib!uielement","joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){var e=a.extend({initialize:function(e){this.setModel(e.model),this.setCollection(e.collection),this.viewTemplateEl=e.viewTemplateEl||e.itemTemplateEl,this.viewOptions=e.viewOptions||e.itemOptions||{},this.viewOptions.templateEl=this.viewOptions.templateEl||this.viewTemplateEl,this.viewOptions.template=this.viewOptions.template||e.viewTemplate||e.itemTemplate,e.template?this.template=this.compileTemplate(e.template):e.templateEl&&(this.template=this.compileTemplate(c(e.templateEl).text())),this.viewFactory=function(a,c){var f={model:a,collection:c};return d.extend(f,this.viewOptions),factory=e.viewFactory||e.itemFactory,factory?factory(f):new b(f)},this.customLoadEvent=!0,this.bind("shown",function(){this.view&&this.view.trigger("shown")},this),this.bind("hidden",function(){this.view&&this.view.trigger("hidden")},this),a.prototype.initialize.call(this,e)},setModel:function(a,b){this.model&&this.model.unbind("change",this.render,this),this.model=a,a&&a.bind("change",this.render,this),b&&this.render()},setCollection:function(a,b){this.collection&&(this.collection.unbind("change",this.render,this),this.collection.unbind("add",this.render,this),this.collection.unbind("remove",this.render,this),this.collection.unbind("reset",this.render,this)),this.collection=a,a&&(a.bind("change",this.render,this),a.bind("add",this.render,this),a.bind("remove",this.render,this),a.bind("reset",this.render,this)),b&&this.render()},generate:function(a){var b=this;this.view&&this.view.unbind("load",this.triggerLoad,this),this.view=this.viewFactory(this.model,this.collection);if(!this.view)return a(null,"");this.view.bind("load",this.triggerLoad,this),!this.view.model&&this.view.setModel&&this.view.setModel(this.model),!this.view.collection&&this.view.setCollection&&this.view.setCollection(this.collection),this.view.generate(function(c,d){var e=b.view.wrapContent(d),f=null;return e&&b.template?f=b.template({child:e}):f=e?e:"",a(c,f)})},setContent:function(b){a.prototype.setContent.call(this,b),this.view&&this.el&&this.setViewElement(!0)},setElement:function(b,c){a.prototype.setElement.call(this,b,c),this.setViewElement(c)},setViewElement:function(a){this.view&&this.view.setElement(this.el.firstChild,a)},enhance:function(){var b=this;this.view.enhance();var c=["navUp","navRight","navDown","navLeft","navAction","navFocus","navBlur"];d.each(c,function(a){b[a]=b.view[a]}),a.prototype.enhance.call(this)},triggerLoad:function(){this.trigger("load")}});return e}),define("joshfire-framework/ui/factorymedia",["joshlib!ui/item","joshlib!utils/mediaplayerlib","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){var e=a.extend({initialize:function(b){this.mediaOptions=b.mediaOptions||{},a.prototype.initialize.call(this,b)},generate:function(e){var f=/^([0-9]{1,3})%$/,g=null,h=0,i=d.clone(this.mediaOptions);if(!this.model)return e(null,"");i.width&&d.isString(i.width)&&(g=i.width.match(f),g&&(h=parseInt(g[1],10),this.options.width?i.width=this.options.width*h/100:i.width=c(this.el).width()*h/100,i.width=Math.floor(i.width))),i.height&&d.isString(i.height)&&(g=i.height.match(f),g&&(h=parseInt(g[1],10),this.options.height?i.height=this.options.height*h/100:i.height=c(this.el).height()*h/100,i.height=Math.floor(i.height)));var j=b.resolve(this.model.toJSON(),i);j.toHtml(d.bind(function(b,c,f){if(this.template)d.extend(this.data,{media:{html:c,metadata:f},width:this.options.width,height:this.options.height}),a.prototype.generate.call(this,e);else return e(null,c)},this))}});return e}),define("joshfire-framework/ui/imagesloader",["joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){this.imageClass=c.imageClass,this.processImageEl=c.processImageEl;var d=this;this.getImages=c.getImages||function(){var a=b.map(this.$("img"),function(a){return d.imageClass&&b(a).addClass(d.imageClass),{el:a,url:b(a).attr("src")}});return a},this.customLoadEvent=!0,a.prototype.initialize.call(this,c)},enhance:function(){var d=this;if(!this.getImages){a.prototype.enhance.call(this),this.trigger("load");return}var e=this.getImages();if(!e||e.length===0){a.prototype.enhance.call(this),this.trigger("load");return}var f=0,g=function(a){a&&b(a).removeClass("loading"),f+=1,f===e.length&&d.trigger("load")};c.each(e,function(a){if(!a.el||!a.url)return g(a.el);var c=a.el;d.processImageEl&&(c=d.processImageEl(a.el)),b(c).addClass("loading");var e=new Image;e.onload=function(){g(c),e=null},e.onerror=function(){g(c),e=null},e.src=a.url}),a.prototype.enhance.call(this)}});return d}),define("joshfire-framework/ui/imageloader",["joshlib!ui/imagesloader","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){this.getImageUrl=c.getImageUrl||function(){return this.model?this.model.imageUrl:null};var d=this;c.getImages=function(){var a=null;return c.imageContainer&&(a=d.$(c.imageContainer)),a||(a=b(d.el)),[{el:a.get(0),url:d.getImageUrl()}]},a.prototype.initialize.call(this,c)},generate:function(a){if(!this.model){a(null,"");return}var b={model:this.model,obj:this.model,item:this.model?this.model.toJSON():{},imageUrl:this.getImageUrl.call(this)};c.extend(b,this.data),a(null,this.template(b))}});return d}),define("joshfire-framework/ui/listitem",["joshlib!uielement","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(c){this.view=c.view,this.offset=c.offset,this.customLoadEvent=!0,this.view&&this.view.bind("load",b.bind(function(){this.trigger("load")},this)),a.prototype.initialize.call(this,c)},setElement:function(a){this.view&&this.view.setElement(a)},generate:function(a){this.view.data.offset=this.offset,this.view.generate(a)},render:function(){this.view.render()},setContent:function(a){this.view.setContent(a)},hide:function(){this.view.hide()},show:function(){this.view.show()},enhance:function(){this.view.enhance()}});return c}),define("joshfire-framework/ui/list",["joshlib!uielement","joshlib!ui/listitem","joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d,e){var f=a.extend({initialize:function(f){f.templateEl?this.template=this.compileTemplate(d(f.templateEl).text()):this.template=this.compileTemplate("
    <%= children %>
"),this.UIItemClass=f.UIItemClass||b,this.itemOptions=f.itemOptions||{scroller:!1},this.itemTemplateEl=f.itemTemplateEl,this.itemOptions.templateEl=this.itemOptions.templateEl||this.itemTemplateEl,this.itemOptions.template=this.itemOptions.template||f.itemTemplate,this.contentSelector=f.contentSelector,this.items=[],this.itemFactory=f.itemFactory||function(a,b){var d={model:a,offset:b};return e.extend(d,this.itemOptions),new c(d)},this.customLoadEvent=!0,this.dataLoadingClass="loading",typeof f.dataLoadingClass!="undefined"&&(this.dataLoadingClass=f.dataLoadingClass),this.dataLoadingClass===!1&&(this.dataLoadingClass=null),this.bind("shown",function(){e.each(this.items,function(a){a.trigger("shown")})},this),this.bind("hidden",function(){e.each(this.items,function(a){a.trigger("hidden")})},this),a.prototype.initialize.call(this,f),f.collection&&this.setCollection(f.collection)},setCollection:function(a,b){this.collection&&(this.collection.unbind("change",this.update,this),this.collection.unbind("add",this.update,this),this.collection.unbind("remove",this.update,this),this.collection.unbind("reset",this.update,this),this.collection.unbind("syncstarted",this.syncStartedHandler,this),this.collection.unbind("syncsuccess",this.syncSuccessHandler,this),this.collection.unbind("syncerror",this.syncErrorHandler,this)),this.collection=a,a&&(a.bind("change",this.update,this),a.bind("add",this.update,this),a.bind("remove",this.update,this),a.bind("reset",this.update,this),a.bind("syncstarted",this.syncStartedHandler,this),a.bind("syncsuccess",this.syncSuccessHandler,this),a.bind("syncerror",this.syncErrorHandler,this)),this.update(b)},update:function(a){this.items=new Array(this.collection.length),this.itemsLoaded=0;var c=function(){++this.itemsLoaded,this.itemsLoaded===this.items.length&&this.trigger("load")};for(var d=0;d
  • ');this.$(".next").parent().css({width:f-this.margin+"px","padding-left":this.margin+"px"}),this.$(".prev").parent().css({width:f-this.margin+"px","padding-left":this.margin*2+"px"}),this.$(".next").bind("click",c.bind(function(a){return a.preventDefault(),this.currPage=Math.min(g,this.currPage+1),this.iScroller.scrollToPage.call(this.iScroller,this.currPage,0,200),!1},this)),this.$(".prev").bind("click",c.bind(function(a){return a.preventDefault(),this.currPage=Math.max(0,this.currPage-1),this.iScroller.scrollToPage.call(this.iScroller,this.currPage,0,200),!1},this))}};e.call(this),a.prototype.enhance.call(this),window.addEventListener("resize",c.bind(e,this))}});return d}),define("joshfire-framework/ui/layout",["joshlib!uielement","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(c){c.template?this.template=this.compileTemplate(c.template):c.templateEl&&(this.template=this.compileTemplate($(c.templateEl).text())),this.customLoadEvent=!0,this.setChildren(c.children),this.bind("shown",function(){b.each(this.children,function(a){a.trigger("shown")})},this),this.bind("hidden",function(){b.each(this.children,function(a){a.trigger("hidden")})},this),a.prototype.initialize.call(this,c)},setChildren:function(a){this.children=a,this.numChildren=0,this.numChildrenLoaded=0,a&&b.each(a,b.bind(function(a){++this.numChildren,a.bind("load",b.bind(function(){++this.numChildrenLoaded,this.numChildrenLoaded===this.numChildren&&this.trigger("load")},this))},this))},getChild:function(a){if(a)return this.children[a]},generate:function(a){if(!this.children)return a(null,"");this.childrenOffsets={},this.numChildrenLoaded=0;var c=0,d="";b.each(this.children,b.bind(function(e,f){e.generate(b.bind(function(b,g){var h=e.wrapContent(g);this.childrenOffsets[f]=c,d+=h;if(++c===this.numChildren){var i=null;this.template?i=this.template({childrenOuterHTML:d}):i=d,a(null,i)}},this))},this))},setContent:function(b){a.prototype.setContent.call(this,b),this.children&&this.el&&this.setChildrenElements(!0)},setElement:function(b,c){a.prototype.setElement.call(this,b,c),this.setChildrenElements(c)},setChildrenElements:function(a){b.each(this.children,b.bind(function(a,b){var c=this.el.childNodes[this.childrenOffsets[b]];a.setElement(c,!0)},this))},enhance:function(){a.prototype.enhance.call(this),this.children&&this.el&&b.each(this.children,b.bind(function(a,b){a.enhance()},this)),(!this.children||this.children.length===0)&&this.trigger("load")}});return c}),define("joshfire-framework/ui/cardpanel",["joshlib!ui/layout","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(b){this.showChild(b.currentChild||b.defaultChildren),a.prototype.initialize.call(this,b)},showChild:function(a){if(this.currentChild===a)return;this.canUseDOM&&this.transition(this.currentChild,a),this.currentChild=a},showChildren:function(a){this.showChild(a)},transition:function(a,c){b.each(this.children,function(a,b){b!=c&&a.hide()}),c&&this.children[c].show()},enhance:function(){a.prototype.enhance.call(this),this.currentChild&&this.transition(null,this.currentChild),this.canUseDOM=!0}});return c}),define("joshfire-framework/ui/slidepanel",["joshlib!ui/cardpanel","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c){var d=a.extend({initialize:function(b){this.cssTransition=b.cssTransition||".4s ease-in-out all",a.prototype.initialize.call(this,b)},showChild:function(b,c){this.transitionDirection=c||"none",a.prototype.showChild.call(this,b)},transition:function(d,e){if(!this.transitionDirection||this.transitionDirection==="none"){a.prototype.transition.call(this,d,e);return}var f=this.children[e];f.hide(),c(f.el).css({position:"absolute",width:"100%",height:"100%",left:0,top:0});if(d){var g=0,h=0,i=this.children[d],j=c(this.el).width(),k=c(this.el).height(),l={position:"absolute",width:"100%",height:"100%"};switch(this.transitionDirection){case"left":b.extend(l,{position:"absolute",width:"100%",height:"100%",left:"100%",top:0}),g="-"+j+"px",h=0;break;case"right":b.extend(l,{position:"absolute",width:"100%",height:"100%",left:"-100%",top:0}),g=j+"px",h=0;break;case"up":b.extend(l,{position:"absolute",width:"100%",height:"100%",left:0,top:"100%"}),g=0,h="-"+k+"px";break;case"down":b.extend(l,{position:"absolute",width:"100%",height:"100%",left:0,top:"-100%"}),g=0,h=k+"px"}c(i.el).css(l);var m="translate("+g+","+h+")";c(this.el).css({"-webkit-transition":"none","-moz-transition":"none","-ms-transition":"none","-o-transition":"none",transition:"none","-webkit-transform":m,"-moz-transform":m,"-ms-transform":m,"-o-transform":m,transform:m})}b.each(this.children,b.bind(function(a,b){b===d||b===e?a.show():a.hide()},this)),c(this.el).css({"-webkit-transition":this.cssTransition,"-moz-transition":this.cssTransition,"-ms-transition":this.cssTransition,"-o-transition":this.cssTransition,transition:this.cssTransition,"-webkit-transform":"translate(0,0)","-moz-transform":"translate(0,0)","-ms-transform":"translate(0,0)","-o-transform":"translate(0,0)",transform:"translate(0,0)"})}});return d}),define("joshfire-framework/ui/fadeinpanel",["joshlib!ui/cardpanel","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c){var d=a.extend({initialize:function(b){this.cssTransition=b.cssTransition||".4s ease-in-out all",a.prototype.initialize.call(this,b)},transition:function(a,d){var e=this.children[d];e.hide(),c(e.el).css({filter:"alpha(opacity=0)","-khtml-opacity":0,"-moz-opacity":0,"-ms-opacity":0,"-o-opacity":0,opacity:0,"-webkit-transition":"none","-moz-transition":"none","-ms-transition":"none","-o-transition":"none",transition:"none"}),b.each(this.children,b.bind(function(a,b){a.hide()},this)),e.show(),c(e.el).css({filter:"alpha(opacity=100)","-khtml-opacity":1,"-moz-opacity":1,"-ms-opacity":1,"-o-opacity":1,opacity:1,"-webkit-transition":"0.7s ease-in-out all","-moz-transition":"0.7s ease-in-out all","-ms-transition":"0.7s ease-in-out all","-o-transition":"0.7s ease-in-out all",transition:"0.7s ease-in-out all","-webkit-backface-visibility":"hidden"})}});return d}),define("joshfire-framework/router",["joshlib!vendor/backbone","joshlib!vendor/underscore"],function(a,b){var c=function(c){b.extend(c,{historyStart:function(b){a.history.start(b)}});var d=a.Router.extend(c);return new d};return c}),define("sleek",["joshlib!collection","joshlib!ui/dynamiccontainer","joshlib!ui/item","joshlib!ui/list","joshlib!ui/cardpanel","joshlib!ui/fadeinpanel","joshlib!ui/factorymedia","joshlib!ui/imageloader","joshlib!ui/imagesloader","joshlib!router","joshlib!vendor/backbone","joshlib!vendor/underscore","joshlib!utils/dollar","ui/imagegallery"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o=function(){l.bindAll(this,"initialize","setColor","slugify")};return o.extend=k.View.extend,l.extend(o.prototype,{deviceFamily:"all",clientWidth:document.body.clientWidth,convertItemType:function(a){var b=null;switch(a){case"Article/Status":b="status";break;case"NewsArticle":case"BlogPosting":case"Article":case"CreativeWork":b="news";break;case"Event":b="event";break;case"ImageObject":b="photo";break;case"VideoObject":b="video";break;case"MusicRecording":b="sound";break;case"Product":b="product";break;default:b="other"}return b},initialize:function(b){var c=this;this.title=Joshfire.factory.config.app.name,this.tabs=Joshfire.factory.config.template.options.tabs||[],this.tabicons=Joshfire.factory.config.template.options.tabicons||[],this.backgroundURL=Joshfire.factory.config.template.options.backgroundimage?Joshfire.factory.config.template.options.backgroundimage.url:Joshfire.factory.config.template.options.backgroundurl,this.logoURL=Joshfire.factory.config.app.logo?Joshfire.factory.config.app.logo.contentURL:null,document.title=this.title,this.setColor(Joshfire.factory.config.template.options.color||"gray",function(){var d=c.getDatasources(),e=new Array(d.length),f=0;l.forEach(d,l.bind(function(b,d){var f=this.tabs[d]||b.name||"",g=this.tabicons[d],h=d+"--"+this.slugify(f.toLowerCase()),i=new a([],{dataSource:b,dataSourceQuery:{}}),j=b.getOutputType();e[d]={name:f,slug:h,icon:g||c.convertItemType(j),outputType:c.convertItemType(j),collection:i,index:d}},c));var g=c.createViews(e),h=c.createRoutes(e,g),i=j(h);i.historyStart(),b&&b()})},getDatasources:function(){var a=Joshfire.factory.getDataSource("main"),b=[];return a&&a.children&&a.children.length>0&&(b=b.concat(a.children)),b},setColor:function(a,b){m("#color").remove(),window.Sid.css("css/"+this.deviceFamily+"."+a+".css",b)},setTitle:function(a){m("#title").html(a)},getClassName:function(a,b){if(b!=="list")return b==="single"?"single content detail":"content detail";switch(a){case"status":case"event":return"content hashed-list";case"photo":return"content mosaic-list";default:return"content simple-list"}},createToolbar:function(a){var b=new k.Collection,c=null;for(var d=0;dc&&(d.setModel(a.collection.at(c)),d.render()),b.view.showChild("detail","right")}},createListElement:function(a){return a.outputType==="photo"?new n({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list"),dataLoadingClass:"dataloading",loadingClass:"loading"}):new d({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list")})},createDetailContainer:function(a,c){var d=this;return new b({viewFactory:function(b){return l.extend(b,{slug:a.slug}),d.createDetailElement(b,c)},className:d.getClassName(a,c?"single":"detail")})},createDetailElement:function(a){if(!a.model)return new c({});var b=this.convertItemType(a.model.get("@type")),d=this;switch(b){case"video":return new g({templateEl:"#template-"+b,scroller:!0,scrollerSelector:".wrapper",width:d.getContentWidth(),height:d.getContentHeight(),mediaOptions:{strategy:"html5",width:"100%",height:"80%",adjustSize:!0}});case"sound":return new g({templateEl:"#template-"+b,mediaOptions:{strategy:"html5"}});case"status":return new h({templateEl:"#template-"+b,scroller:!0,getImageUrl:function(){return d.getAuthorThumbnail(a.model.toJSON())}});default:return new i({templateEl:"#template-"+b,scroller:!0,imageClass:"fadein",processImageEl:function(a){var b=document.createElement("div");b.setAttribute("class","loader inv");var c=document.createElement("div");return c.setAttribute("class","figure"),c.appendChild(b),a.getAttribute("width")?c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"):c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"),a.parentNode.replaceChild(c,a),c.appendChild(a),c}})}},itemFactory:function(a){var b=this;return function(d,e){var f=d.toJSON(),g=a.outputType||b.convertItemType(f["@type"]),i="#template-"+g+"-item",j={data:{section:a},model:d,offset:e,templateEl:i};switch(g){case"photo":case"video":case"product":case"news":return j.getImageUrl=function(){return b.getThumbnail(f,e,.2)},j.imageContainer=".figure",new h(j);case"status":return j.getImageUrl=function(){return b.getAuthorThumbnail(f,e)},j.imageContainer=".figure",new h(j);default:return new c(j)}}},createRoutes:function(a,b){return{routes:{"":"home"},home:function(){a.length?this[a[0].slug]():(m("#title").html("No data"),document.body.id="nodata",m("#refresh").hide())}}},getContentWidth:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).width()});return Math.floor(m(b).width())},getContentHeight:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).height()});return m(b).height()},getThumbnail:function(a,b,c){if(!a)return"";c=c||.2;var d=this.clientWidth*c,e=0,f=0,g=a.thumbnail,h=null,i=null,j=null;if(g&&g.length>0){j=g[0],f=j.width||0;for(var k=0;k=d&&(ef)j=g[k]}h=j.contentURL}return h||(a["@type"]==="ImageObject"&&a.contentURL?h=a.contentURL:a.image&&a.image.contentURL&&(h=a.image.contentURL)),h||(h=""),h},getAuthorThumbnail:function(a,b){if(!a)return"";var c="";return a.author&&a.author[0]&&(c=this.getThumbnail(a.author[0],b,.2)),c||(c=this.getThumbnail(a,b,.2)),c},slugify:function(a){return a=a.replace(/[^\-a-zA-Z0-9,&\s]+/ig,""),a=a.replace(/-/gi,"_"),a=a.replace(/\s/gi,"-"),a}}),o}),define("sleek.custom",["sleek"],function(a){return a}),define("sleek.phone",["sleek.custom","joshlib!ui/toolbar","joshlib!ui/slidepanel","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d,e){return a.extend({deviceFamily:"phone",createToolbarElement:function(){return new b({el:"#toolbar",templateEl:"#template-toolbar",itemTemplateEl:"#toolbar-item",scroller:!0,scrollOptions:{vScroll:!1,hScrollbar:!1,snap:!0,bounce:!1,disabled:!0},useWindowWidth:!0})},createListAndDetailView:function(a,b){var d=new c({children:{list:a,detail:b},currentChild:"list",className:"slide-panel"});return d},createRoutes:function(b,c){var f=a.prototype.createRoutes.call(this,b,c),g=d("#title"),h=d("#toolbar"),i=d("#back"),j=d("#refresh"),k=this;return e.forEach(b,function(a){f.routes[a.slug]=a.slug,f[a.slug]=function(){g.html(a.name),document.body.id=a.outputType,d("iframe, audio, video, object, embed").remove(),h.find(".active").removeClass("active"),h.find(".section-"+a.slug).addClass("active"),j.show().unbind("click").bind("click",e.bind(function(c){return k.refreshList(a,b),c.preventDefault(),!1},this)),i.hide();var b=c.children[a.slug];a.collection.length?(k.moveToList(b),c.showChild(a.slug)):(c.showChild(a.slug),k.updateList(a,b))},a.outputType!=="photo"&&(f.routes[a.slug+"/:offset"]=a.slug+"Detail",f[a.slug+"Detail"]=function(b){b=parseInt(b,10),g.html(a.name),document.body.id=a.outputType,d("iframe, audio, video, object, embed").remove(),h.find(".active").removeClass("active"),h.find(".section-"+a.slug).addClass("active"),j.hide(),i.attr("href","#"+a.slug),i.css({display:"block"});var e=c.children[a.slug];c.showChild(a.slug),a.collection.length?k.showDetail(a,e,b):k.updateDetail(a,e,b)})}),f}})}),define("app.phone",["sleek.phone","joshlib!utils/onready"],function(a,b){var c=new a;b(c.initialize)}) \ No newline at end of file +!function(a,b){function c(a,b){function c(){}c[i]=this[i];var e=this,f=new c,g=j(a),h=g?a:this,k=g?{}:a,l=function(){this.initialize?this.initialize.apply(this,arguments):(b||g&&e.apply(this,arguments),h.apply(this,arguments))};return l.methods=function(a){return d(f,a,e),l[i]=f,this},l.methods.call(l,k).prototype.constructor=l,l.extend=arguments.callee,l[i].implement=l.statics=function(a,b){return a=typeof a=="string"?function(){var c={};return c[a]=b,c}():a,d(this,a,e),this},l}function d(a,b,c){for(var d in b)b.hasOwnProperty(d)&&(a[d]=j(b[d])&&j(c[i][d])&&g.test(b[d])?e(d,b[d],c):b[d])}function e(a,b,c){return function(){var d=this.supr;this.supr=c[i][a];var e=b.apply(this,arguments);return this.supr=d,e}}function f(a){return c.call(j(a)?a:h,a,1)}var g=/xyz/.test(function(){xyz})?/\bsupr\b/:/.*/,h=function(){},i="prototype",j=function(a){return typeof a===b};if(typeof module!="undefined"&&module.exports)module.exports=f;else{var k=a.klass;f.noConflict=function(){return a.klass=k,this},a.klass=f}}(this,"function"),define("vendor/klass",function(){}),function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=[].slice,c=b.call(arguments,1),d=this,e=function(){},f=function(){return d.apply(this instanceof e?this:a||{},c.concat(b.call(arguments)))};return e.prototype=d.prototype,f.prototype=new e,f}),typeof a.Code=="undefined"&&(a.Code={}),a.Code.Util={registerNamespace:function(){var b=arguments,c=null,d,f,g,h,i;d=0;for(h=b.length;db.DOM.windowHeight()}},b.Browser._detect()}(window,window.Code.Util),function(a,b){b.extend(b,{Events:{add:function(a,b,c){this._checkHandlersProperty(a),b==="mousewheel"&&(b=this._normaliseMouseWheelType()),typeof a.__eventHandlers[b]=="undefined"&&(a.__eventHandlers[b]=[]),a.__eventHandlers[b].push(c),this._isBrowserObject(a)&&a.addEventListener(b,c,!1)},remove:function(a,d,e){this._checkHandlersProperty(a),d==="mousewheel"&&(d=this._normaliseMouseWheelType());if(a.__eventHandlers[d]instanceof Array){var f,g,h=a.__eventHandlers[d];if(b.isNothing(e)){if(this._isBrowserObject(a)){f=0;for(g=h.length;f=1;)a.removeChild(a.childNodes[a.childNodes.length-1])},hasAttribute:function(a,d){return!b.isNothing(a.getAttribute(d))},getAttribute:function(a,d,e){return a=a.getAttribute(d),b.isNothing(a)&&!b.isNothing(e)&&(a=e),a},setAttribute:function(a,d,e){if(b.isLikeArray(a)){var f,g;f=0;for(g=a.length;f=1&&b.DOM.setStyle(d,"opacity",0),b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",i,f,g,h):b.isNothing(a.jQuery)||a.jQuery(d).fadeTo(f,i,g)},fadeTo:function(a,b,c,d,e){this.fadeIn(a,c,d,e,b)},fadeOut:function(d,f,g,h){if(f<=0&&(b.DOM.setStyle(d,"opacity",0),!b.isNothing(g))){g(d);return}b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",0,f,g,h):a.jQuery(d).fadeTo(f,0,g)},slideBy:function(d,f,g,h,i,j){var k={},f=b.coalesce(f,0),g=b.coalesce(g,0),j=b.coalesce(j,"ease-out");k[this._transitionPrefix+"Property"]="all",k[this._transitionPrefix+"Delay"]="0",h===0?(k[this._transitionPrefix+"Duration"]="",k[this._transitionPrefix+"TimingFunction"]=""):(k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=b.coalesce(j,"ease-out"),b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler())),k[this._transformLabel]=b.Browser.is3dSupported?"translate3d("+f+"px, "+g+"px, 0px)":"translate("+f+"px, "+g+"px)",b.isNothing(i)||(d.cclallcallback=i),b.DOM.setStyle(d,k),h===0&&a.setTimeout(function(){this._leaveTransforms(d)}.bind(this),this._applyTransitionDelay)},resetTranslate:function(a){var d={};d[this._transformLabel]=d[this._transformLabel]=b.Browser.is3dSupported?"translate3d(0px, 0px, 0px)":"translate(0px, 0px)",b.DOM.setStyle(a,d)},_applyTransition:function(d,f,g,h,i,j){var k={},j=b.coalesce(j,"ease-in");k[this._transitionPrefix+"Property"]=f,k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=j,k[this._transitionPrefix+"Delay"]="0",b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler()),b.DOM.setStyle(d,k),b.isNothing(i)||(d["ccl"+f+"callback"]=i),a.setTimeout(function(){b.DOM.setStyle(d,f,g)},this._applyTransitionDelay)},_onTransitionEnd:function(a){b.Events.remove(a.currentTarget,this._transitionEndLabel,this._getTransitionEndHandler()),this._leaveTransforms(a.currentTarget)},_leaveTransforms:function(d){var f=d.style[this._transitionPrefix+"Property"],g=f!==""?"ccl"+f+"callback":"cclallcallback",h,f=b.coalesce(d.style.webkitTransform,d.style.MozTransform,d.style.transform),i,j=a.parseInt(b.DOM.getStyle(d,"left"),0),k=a.parseInt(b.DOM.getStyle(d,"top"),0),l,m,n={};f!==""&&(f=b.Browser.is3dSupported?f.match(/translate3d\((.*?)\)/):f.match(/translate\((.*?)\)/),b.isNothing(f)||(i=f[1].split(", "),l=a.parseInt(i[0],0),m=a.parseInt(i[1],0))),n[this._transitionPrefix+"Property"]="",n[this._transitionPrefix+"Duration"]="",n[this._transitionPrefix+"TimingFunction"]="",n[this._transitionPrefix+"Delay"]="",b.DOM.setStyle(d,n),a.setTimeout(function(){b.isNothing(i)||(n={},n[this._transformLabel]="",n.left=j+l+"px",n.top=k+m+"px",b.DOM.setStyle(d,n)),b.isNothing(d[g])||(h=d[g],delete d[g],h(d))}.bind(this),this._applyTransitionDelay)}}})}(window,window.Code.Util),function(a,b,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(a,b,c){c.registerNamespace("Code.Util.TouchElement"),c.TouchElement.TouchElementClass=b({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 a;this.removeEventHandlers();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(a,b){this.el=a,this.captureSettings={swipe:!1,move:!1,gesture:!1,doubleTap:!1,preventDefaultTouchEvents:!0},c.extend(this.captureSettings,b),this.swipeThreshold=50,this.doubleTapSpeed=this.swipeTimeThreshold=250,this.touchStartPoint={x:0,y:0},this.touchEndPoint={x:0,y:0}},addEventHandlers:function(){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),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),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),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),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(a){return{x:a[0].pageX,y:a[0].pageY}},fireTouchEvent:function(b){var d=0,f=0,g=0,h,d=this.touchEndPoint.x-this.touchStartPoint.x,f=this.touchEndPoint.y-this.touchStartPoint.y,g=Math.sqrt(d*d+f*f);if(this.captureSettings.swipe&&(h=new Date,h-=this.touchStartTime,h<=this.swipeTimeThreshold)){if(a.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.swipeLeft:c.TouchElement.ActionTypes.swipeRight,targetEl:b.target,currentTargetEl:b.currentTarget});return}if(a.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.swipeUp:c.TouchElement.ActionTypes.swipeDown,targetEl:b.target,currentTargetEl:b.currentTarget});return}}g>1?c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMoveEnd,point:this.touchEndPoint,targetEl:b.target,currentTargetEl:b.currentTarget}):this.captureSettings.doubleTap?c.isNothing(this.doubleTapTimeout)?this.doubleTapTimeout=a.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:b.target,currentTargetEl:b.currentTarget})}.bind(this),this.doubleTapSpeed):(a.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:b.target,currentTargetEl:b.currentTarget})):c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:c.TouchElement.ActionTypes.tap,targetEl:b.target,currentTargetEl:b.currentTarget})},onTouchStart:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault(),c.Events.remove(this.el,"mousedown",this.mouseDownHandler);var b=c.Events.getTouchEvent(a).touches;b.length>1&&this.captureSettings.gesture?this.isGesture=!0:(this.touchStartTime=new Date,this.isGesture=!1,this.touchStartPoint=this.getTouchPoint(b),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget}))},onTouchMove:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();if(!this.isGesture||!this.captureSettings.gesture){var b=c.Events.getTouchEvent(a).touches;c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:this.getTouchPoint(b),targetEl:a.target,currentTargetEl:a.currentTarget})}},onTouchEnd:function(a){if(!this.isGesture||!this.captureSettings.gesture){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();var b=c.Events.getTouchEvent(a);this.touchEndPoint=this.getTouchPoint(c.isNothing(b.changedTouches)?b.touches:b.changedTouches),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)}},onMouseDown:function(a){a.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),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=!1,this.touchStartPoint=c.Events.getMousePosition(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseMove:function(a){a.preventDefault(),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:c.Events.getMousePosition(a),targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseUp:function(a){a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)},onMouseOut:function(a){var b=a.relatedTarget;this.el!==b&&!c.DOM.isChildOf(b,this.el)&&(a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a))},onGestureStart:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureStart,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureChange:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureChange,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureEnd:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureEnd,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image"),a.Code.PhotoSwipe.Image.EventTypes={onLoad:"onLoad",onError:"onError"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image");var d=a.Code.PhotoSwipe;d.Image.ImageClass=b({refObj:null,imageEl:null,src:null,caption:null,metaData:null,imageLoadHandler:null,imageErrorHandler:null,dispose:function(){var a;this.shrinkImage();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,c,d,f){this.refObj=b,this.src=this.originalSrc=c,this.caption=d,this.metaData=f,this.imageEl=new a.Image,this.imageLoadHandler=this.onImageLoad.bind(this),this.imageErrorHandler=this.onImageError.bind(this)},load:function(){this.imageEl.originalSrc=c.coalesce(this.imageEl.originalSrc,""),this.imageEl.originalSrc===this.src?this.imageEl.isError?c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this}):c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this}):(this.imageEl.isError=!1,this.imageEl.isLoading=!0,this.imageEl.naturalWidth=null,this.imageEl.naturalHeight=null,this.imageEl.isLandscape=!1,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(){!c.isNothing(this.imageEl)&&this.imageEl.src.indexOf(this.src)>-1&&(this.imageEl.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",c.isNothing(this.imageEl.parentNode)||c.DOM.removeChild(this.imageEl,this.imageEl.parentNode))},onImageLoad:function(){this.imageEl.onload=null,this.imageEl.naturalWidth=c.coalesce(this.imageEl.naturalWidth,this.imageEl.width),this.imageEl.naturalHeight=c.coalesce(this.imageEl.naturalHeight,this.imageEl.height),this.imageEl.isLandscape=this.imageEl.naturalWidth>this.imageEl.naturalHeight,this.imageEl.isLoading=!1,c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this})},onImageError:function(){this.imageEl.onload=null,this.imageEl.onerror=null,this.imageEl.onabort=null,this.imageEl.isLoading=!1,this.imageEl.isError=!0,c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Cache"),a=a.Code.PhotoSwipe,a.Cache.Mode={normal:"normal",aggressive:"aggressive"},a.Cache.Functions={getImageSource:function(a){return a.href},getImageCaption:function(a){if(a.nodeName==="IMG")return c.DOM.getAttribute(a,"alt");var b,d,e;b=0;for(d=a.childNodes.length;bd&&(d=c.DOM.windowHeight())):(b=c.DOM.width(this.settings.target),d=c.DOM.height(this.settings.target),f="0px"),c.DOM.setStyle(this.el,{width:b,height:d,top:f})},fadeIn:function(a,b){this.resetPosition(),c.DOM.setStyle(this.el,"opacity",0),c.DOM.show(this.el),c.Animation.fadeIn(this.el,a,b)}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel"),a=a.Code.PhotoSwipe,a.Carousel.EventTypes={onSlideByEnd:"PhotoSwipeCarouselOnSlideByEnd",onSlideshowStart:"PhotoSwipeCarouselOnSlideshowStart",onSlideshowStop:"PhotoSwipeCarouselOnSlideshowStop"},a.Carousel.CssClasses={carousel:"ps-carousel",content:"ps-carousel-content",item:"ps-carousel-item",itemLoading:"ps-carousel-item-loading",itemError:"ps-carousel-item-error"},a.Carousel.SlideByAction={previous:"previous",current:"current",next:"next"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel");var d=a.Code.PhotoSwipe;d.Carousel.CarouselClass=b({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 a,b,e;b=0;for(e=this.cache.images.length;b0&&c.DOM.setStyle(i,{marginRight:this.settings.margin+"px"}),c.DOM.appendChild(i,this.contentEl);this.settings.target===a?c.DOM.appendToBody(this.el):c.DOM.appendChild(this.el,this.settings.target)},resetPosition:function(){var b,f,g,h,i,j;this.settings.target===a?(b=c.DOM.windowWidth(),f=c.DOM.windowHeight(),g=c.DOM.windowScrollTop()+"px"):(b=c.DOM.width(this.settings.target),f=c.DOM.height(this.settings.target),g="0px"),h=this.settings.margin>0?b+this.settings.margin:b,i=c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl),h*=i.length,c.DOM.setStyle(this.el,{top:g,width:b,height:f}),c.DOM.setStyle(this.contentEl,{width:h,height:f}),g=0;for(h=i.length;gf&&(b=f/d,d=Math.round(d*b),e=Math.round(e*b)),e>g&&(b=g/e,e=Math.round(e*b),d=Math.round(d*b))):(b=a.isLandscape?f/a.naturalWidth:g/a.naturalHeight,d=Math.round(a.naturalWidth*b),e=Math.round(a.naturalHeight*b),this.settings.imageScaleMethod==="zoom"?(b=1,ef?b=f/d:e>g&&(b=g/e),b!==1&&(d=Math.round(d*b),e=Math.round(e*b)))),c.DOM.setStyle(a,{position:"absolute",width:d,height:e,top:Math.round((g-e)/2)+"px",left:Math.round((f-d)/2)+"px",display:"block"})}},setContentLeftPosition:function(){var b,d,f;b=this.settings.target===a?c.DOM.windowWidth():c.DOM.width(this.settings.target),d=this.getItemEls(),f=0,this.settings.loop?f=(b+this.settings.margin)*-1:this.currentCacheIndex===this.cache.images.length-1?f=(d.length-1)*(b+this.settings.margin)*-1:this.currentCacheIndex>0&&(f=(b+this.settings.margin)*-1),c.DOM.setStyle(this.contentEl,{left:f+"px"})},show:function(a){this.currentCacheIndex=a,this.resetPosition(),this.setImages(!1),c.DOM.show(this.el),c.Animation.resetTranslate(this.contentEl);var a=this.getItemEls(),b,e;b=0;for(e=a.length;bthis.cache.images.length-1&&(b=0),d<0&&(d=this.cache.images.length-1),b=this.cache.getImages([d,this.currentCacheIndex,b]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[0],c[0])):c.length===1?a||(b=this.cache.getImages([this.currentCacheIndex]),this.addCacheImageToItemEl(b[0],c[0])):c.length===2?this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[0],c[0])):this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1,this.currentCacheIndex+2]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])):(this.currentCacheIndex===this.cache.images.length-1?(b=this.cache.getImages([this.currentCacheIndex-2,this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])),this.addCacheImageToItemEl(b[0],c[0]))},addCacheImageToItemEl:function(a,b){c.DOM.removeClass(b,d.Carousel.CssClasses.itemError),c.DOM.addClass(b,d.Carousel.CssClasses.itemLoading),c.DOM.removeChildren(b),c.DOM.setStyle(a.imageEl,{display:"none"}),c.DOM.appendChild(a.imageEl,b),c.Animation.resetTranslate(a.imageEl),c.Events.add(a,d.Image.EventTypes.onLoad,this.imageLoadHandler),c.Events.add(a,d.Image.EventTypes.onError,this.imageErrorHandler),a.load()},slideCarousel:function(b,f,g){if(!this.isSliding){var h,i;h=this.settings.target===a?c.DOM.windowWidth()+this.settings.margin:c.DOM.width(this.settings.target)+this.settings.margin,g=c.coalesce(g,this.settings.slideSpeed);if(!(a.Math.abs(i)<1)){switch(f){case c.TouchElement.ActionTypes.swipeLeft:b=h*-1;break;case c.TouchElement.ActionTypes.swipeRight:b=h;break;default:i=b.x-this.touchStartPoint.x,b=a.Math.abs(i)>h/2?i>0?h:h*-1:0}this.lastSlideByAction=b<0?d.Carousel.SlideByAction.next:b>0?d.Carousel.SlideByAction.previous:d.Carousel.SlideByAction.current,!this.settings.loop&&(this.lastSlideByAction===d.Carousel.SlideByAction.previous&&this.currentCacheIndex===0||this.lastSlideByAction===d.Carousel.SlideByAction.next&&this.currentCacheIndex===this.cache.images.length-1)&&(b=0,this.lastSlideByAction=d.Carousel.SlideByAction.current),this.isSliding=!0,this.doSlideCarousel(b,g)}}},moveCarousel:function(a){this.isSliding||this.settings.enableDrag&&this.doMoveCarousel(a.x-this.touchStartPoint.x)},getItemEls:function(){return c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl)},previous:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeRight,this.settings.nextPreviousSlideSpeed)},next:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft,this.settings.nextPreviousSlideSpeed)},slideshowNext:function(){this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft)},startSlideshow:function(){this.stopSlideshow(),this.isSlideshowActive=!0,this.slideshowTimeout=a.setTimeout(this.slideshowNext.bind(this),this.settings.slideshowDelay),c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStart,target:this})},stopSlideshow:function(){c.isNothing(this.slideshowTimeout)||(a.clearTimeout(this.slideshowTimeout),this.slideshowTimeout=null,this.isSlideshowActive=!1,c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStop,target:this}))},onSlideByEnd:function(){if(!c.isNothing(this.isSliding)){var a=this.getItemEls();this.isSliding=!1,this.lastSlideByAction===d.Carousel.SlideByAction.next?this.currentCacheIndex+=1:this.lastSlideByAction===d.Carousel.SlideByAction.previous&&(this.currentCacheIndex-=1),this.settings.loop?(this.lastSlideByAction===d.Carousel.SlideByAction.next?c.DOM.appendChild(a[0],this.contentEl):this.lastSlideByAction===d.Carousel.SlideByAction.previous&&c.DOM.insertBefore(a[a.length-1],a[0],this.contentEl),this.currentCacheIndex<0)?this.currentCacheIndex=this.cache.images.length-1:this.currentCacheIndex===this.cache.images.length&&(this.currentCacheIndex=0):this.cache.images.length>3&&(this.currentCacheIndex>1&&this.currentCacheIndex
    '}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Toolbar");var d=a.Code.PhotoSwipe;d.Toolbar.ToolbarClass=b({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 a;this.clearTimeout(),this.removeEventHandlers(),c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),c.DOM.removeChild(this.toolbarEl,this.toolbarEl.parentNode),c.DOM.removeChild(this.captionEl,this.captionEl.parentNode);for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,f){var g;this.settings=f,this.cache=b,this.isVisible=!1,this.fadeOutHandler=this.onFadeOut.bind(this),this.touchStartHandler=this.onTouchStart.bind(this),this.touchMoveHandler=this.onTouchMove.bind(this),this.clickHandler=this.onClick.bind(this),g=d.Toolbar.CssClasses.toolbar,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.toolbarTop),this.toolbarEl=c.DOM.createElement("div",{"class":g},this.settings.getToolbar()),c.DOM.setStyle(this.toolbarEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.toolbarEl):c.DOM.appendChild(this.toolbarEl,this.settings.target),c.DOM.hide(this.toolbarEl),this.closeEl=c.DOM.find("."+d.Toolbar.CssClasses.close,this.toolbarEl)[0],this.settings.preventHide&&!c.isNothing(this.closeEl)&&c.DOM.hide(this.closeEl),this.playEl=c.DOM.find("."+d.Toolbar.CssClasses.play,this.toolbarEl)[0],this.settings.preventSlideshow&&!c.isNothing(this.playEl)&&c.DOM.hide(this.playEl),this.nextEl=c.DOM.find("."+d.Toolbar.CssClasses.next,this.toolbarEl)[0],this.previousEl=c.DOM.find("."+d.Toolbar.CssClasses.previous,this.toolbarEl)[0],g=d.Toolbar.CssClasses.caption,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.captionBottom),this.captionEl=c.DOM.createElement("div",{"class":g},""),c.DOM.setStyle(this.captionEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.captionEl):c.DOM.appendChild(this.captionEl,this.settings.target),c.DOM.hide(this.captionEl),this.captionContentEl=c.DOM.createElement("div",{"class":d.Toolbar.CssClasses.captionContent},""),c.DOM.appendChild(this.captionContentEl,this.captionEl),this.addEventHandlers()},resetPosition:function(){var b,d,f;this.settings.target===a?(this.settings.captionAndToolbarFlipPosition?(d=c.DOM.windowScrollTop(),f=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.captionEl)):(d=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.toolbarEl),f=c.DOM.windowScrollTop()),b=c.DOM.windowWidth()):(this.settings.captionAndToolbarFlipPosition?(d="0",f=c.DOM.height(this.settings.target)-c.DOM.height(this.captionEl)):(d=c.DOM.height(this.settings.target)-c.DOM.height(this.toolbarEl),f=0),b=c.DOM.width(this.settings.target)),c.DOM.setStyle(this.toolbarEl,{top:d+"px",width:b}),c.DOM.setStyle(this.captionEl,{top:f+"px",width:b})},toggleVisibility:function(a){this.isVisible?this.fadeOut():this.show(a)},show:function(a){c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),this.resetPosition(),this.setToolbarStatus(a),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeShow,target:this}),this.showToolbar(),this.setCaption(a),this.showCaption(),this.isVisible=!0,this.setTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onShow,target:this})},setTimeout:function(){this.settings.captionAndToolbarAutoHideDelay>0&&(this.clearTimeout(),this.timeout=a.setTimeout(this.fadeOut.bind(this),this.settings.captionAndToolbarAutoHideDelay))},clearTimeout:function(){c.isNothing(this.timeout)||(a.clearTimeout(this.timeout),this.timeout=null)},fadeOut:function(){this.clearTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeHide,target:this}),c.Animation.fadeOut(this.toolbarEl,this.settings.fadeOutSpeed),c.Animation.fadeOut(this.captionEl,this.settings.fadeOutSpeed,this.fadeOutHandler),this.isVisible=!1},addEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.add(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.add(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.add(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.add(this.toolbarEl,"click",this.clickHandler)},removeEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.remove(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.remove(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.remove(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.remove(this.toolbarEl,"click",this.clickHandler)},handleTap:function(a){this.clearTimeout();var b;if(a.target===this.nextEl||c.DOM.isChildOf(a.target,this.nextEl))b=d.Toolbar.ToolbarAction.next;else if(a.target===this.previousEl||c.DOM.isChildOf(a.target,this.previousEl))b=d.Toolbar.ToolbarAction.previous;else if(a.target===this.closeEl||c.DOM.isChildOf(a.target,this.closeEl))b=d.Toolbar.ToolbarAction.close;else if(a.target===this.playEl||c.DOM.isChildOf(a.target,this.playEl))b=d.Toolbar.ToolbarAction.play;this.setTimeout(),c.isNothing(b)&&(b=d.Toolbar.ToolbarAction.none),c.Events.fire(this,{type:d.Toolbar.EventTypes.onTap,target:this,action:b,tapTarget:a.target})},setCaption:function(a){c.DOM.removeChildren(this.captionContentEl),this.currentCaption=c.coalesce(this.cache.images[a].caption," "),c.isObject(this.currentCaption)?c.DOM.appendChild(this.currentCaption,this.captionContentEl):(this.currentCaption===""&&(this.currentCaption=" "),c.DOM.appendText(this.currentCaption,this.captionContentEl)),this.currentCaption=this.currentCaption===" "?"":this.currentCaption,this.resetPosition()},showToolbar:function(){c.DOM.setStyle(this.toolbarEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.toolbarEl)},showCaption:function(){(this.currentCaption===""||this.captionContentEl.childNodes.length<1)&&!this.settings.captionAndToolbarShowEmptyCaptions?c.DOM.hide(this.captionEl):(c.DOM.setStyle(this.captionEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.captionEl))},setToolbarStatus:function(a){this.settings.loop||(c.DOM.removeClass(this.previousEl,d.Toolbar.CssClasses.previousDisabled),c.DOM.removeClass(this.nextEl,d.Toolbar.CssClasses.nextDisabled),a>0&&athis.settings.maxUserZoom&&(a=this.settings.maxUserZoom),a},setStartingScaleAndRotation:function(a,b){this.transformSettings.startingScale=this.getScale(a),this.transformSettings.startingRotation=(this.transformSettings.startingRotation+b)%360},zoomRotate:function(a,b){this.transformSettings.scale=this.getScale(a),this.transformSettings.rotation=this.transformSettings.startingRotation+b,this.applyTransform()},panStart:function(a){this.setStartingTranslateFromCurrentTransform(),this.panStartingPoint={x:a.x,y:a.y}},pan:function(a){var b=(a.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=this.transformSettings.startingTranslateX+(a.x-this.panStartingPoint.x)/this.transformSettings.scale,this.transformSettings.translateY=this.transformSettings.startingTranslateY+b,this.applyTransform()},zoomAndPanToPoint:function(b,d){if(this.settings.target===a){this.panStart({x:c.DOM.windowWidth()/2,y:c.DOM.windowHeight()/2});var f=(d.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=(this.transformSettings.startingTranslateX+(d.x-this.panStartingPoint.x)/this.transformSettings.scale)*-1,this.transformSettings.translateY=(this.transformSettings.startingTranslateY+f)*-1}this.setStartingScaleAndRotation(b,0),this.transformSettings.scale=this.transformSettings.startingScale,this.transformSettings.rotation=0,this.applyTransform()},applyTransform:function(){var b=this.transformSettings.rotation%360,f=a.parseInt(this.transformSettings.translateX,10),g=a.parseInt(this.transformSettings.translateY,10),h="scale("+this.transformSettings.scale+") rotate("+b+"deg) translate("+f+"px, "+g+"px)";c.DOM.setStyle(this.transformEl,{webkitTransform:h,MozTransform:h,msTransform:h,transform:h}),c.Events.fire(this,{target:this,type:d.ZoomPanRotate.EventTypes.onTransform,scale:this.transformSettings.scale,rotation:this.transformSettings.rotation,rotationDegs:b,translateX:f,translateY:g})}})}(window,window.klass,window.Code.Util),function(a,b){b.registerNamespace("Code.PhotoSwipe");var c=a.Code.PhotoSwipe;c.CssClasses={buildingBody:"ps-building",activeBody:"ps-active"},c.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"},c.instances=[],c.activeInstances=[],c.setActivateInstance=function(a){if(b.arrayIndexOf(a.settings.target,c.activeInstances,"target")>-1)throw"Code.PhotoSwipe.activateInstance: Unable to active instance as another instance is already active for this target";c.activeInstances.push({target:a.settings.target,instance:a})},c.unsetActivateInstance=function(a){a=b.arrayIndexOf(a,c.activeInstances,"instance"),c.activeInstances.splice(a,1)},c.attach=function(a,d,e){var f,g;f=c.createInstance(a,d,e),d=0;for(e=a.length;d=2.1&&(this.isBackEventSupported=!0),this.isBackEventSupported||(this.isBackEventSupported=c.objectHasProperty(a,"onhashchange")),this.settings={fadeInSpeed:250,fadeOutSpeed:250,preventHide:!1,preventSlideshow:!1,zIndex:1e3,backButtonHideEnabled:!0,enableKeyboard:!0,enableMouseWheel:!0,mouseWheelSpeed:350,autoStartSlideshow:!1,jQueryMobile:!c.isNothing(a.jQuery)&&!c.isNothing(a.jQuery.mobile),jQueryMobileDialogHash:"&ui-state=dialog",enableUIWebViewRepositionTimeout:!1,uiWebViewResetPositionDelay:500,target:a,preventDefaultTouchEvents:!0,loop:!0,slideSpeed:250,nextPreviousSlideSpeed:0,enableDrag:!0,swipeThreshold:50,swipeTimeThreshold:250,slideTimingFunction:"ease-out",slideshowDelay:3e3,doubleTapSpeed:250,margin:20,imageScaleMethod:"fit",captionAndToolbarHide:!1,captionAndToolbarFlipPosition:!1,captionAndToolbarAutoHideDelay:5e3,captionAndToolbarOpacity:.8,captionAndToolbarShowEmptyCaptions:!0,getToolbar:j.Toolbar.getToolbar,allowUserZoom:!0,allowRotationOnUserZoom:!1,maxUserZoom:5,minUserZoom:.5,doubleTapZoomLevel:2.5,getImageSource:j.Cache.Functions.getImageSource,getImageCaption:j.Cache.Functions.getImageCaption,getImageMetaData:j.Cache.Functions.getImageMetaData,cacheMode:j.Cache.Mode.normal},c.extend(this.settings,e),this.settings.target!==a&&(e=c.DOM.getStyle(this.settings.target,"position"),(e!=="relative"||e!=="absolute")&&c.DOM.setStyle(this.settings.target,"position","relative")),this.settings.target!==a?(this.isBackEventSupported=!1,this.settings.backButtonHideEnabled=!1):this.settings.preventHide&&(this.settings.backButtonHideEnabled=!1),this.cache=new d.CacheClass(b,this.settings)},show:function(b){var d,e;this.backButtonClicked=this._isResettingPosition=!1;if(c.isNumber(b))this.currentIndex=b;else{this.currentIndex=-1,d=0;for(e=this.originalImages.length;dthis.originalImages.length-1)throw"Code.PhotoSwipe.PhotoSwipeClass.show: Starting index out of range";this.isAlreadyGettingPage=this.getWindowDimensions(),j.setActivateInstance(this),this.windowDimensions=this.getWindowDimensions(),this.settings.target===a?c.DOM.addClass(a.document.body,j.CssClasses.buildingBody):c.DOM.addClass(this.settings.target,j.CssClasses.buildingBody),this.createComponents(),c.Events.fire(this,{type:j.EventTypes.onBeforeShow,target:this}),this.documentOverlay.fadeIn(this.settings.fadeInSpeed,this.onDocumentOverlayFadeIn.bind(this))},getWindowDimensions:function(){return{width:c.DOM.windowWidth(),height:c.DOM.windowHeight()}},createComponents:function(){this.documentOverlay=new e.DocumentOverlayClass(this.settings),this.carousel=new f.CarouselClass(this.cache,this.settings),this.uiLayer=new h.UILayerClass(this.settings),this.settings.captionAndToolbarHide||(this.toolbar=new g.ToolbarClass(this.cache,this.settings))},resetPosition:function(){if(!this._isResettingPosition){var a=this.getWindowDimensions();if(c.isNothing(this.windowDimensions)||a.width!==this.windowDimensions.width||a.height!==this.windowDimensions.height)this._isResettingPosition=!0,this.windowDimensions=a,this.destroyZoomPanRotate(),this.documentOverlay.resetPosition(),this.carousel.resetPosition(),c.isNothing(this.toolbar)||this.toolbar.resetPosition(),this.uiLayer.resetPosition(),this._isResettingPosition=!1,c.Events.fire(this,{type:j.EventTypes.onResetPosition,target:this})}},addEventHandler:function(a,b){c.Events.add(this,a,b)},addEventHandlers:function(){c.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)),c.Browser.android?this.orientationEventName="resize":c.Browser.iOS&&!c.Browser.safari?c.Events.add(a.document.body,"orientationchange",this.windowOrientationChangeHandler):this.orientationEventName=c.isNothing(a.onorientationchange)?"resize":"orientationchange",c.isNothing(this.orientationEventName)||c.Events.add(a,this.orientationEventName,this.windowOrientationChangeHandler),this.settings.target===a&&c.Events.add(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.add(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.windowHashChangeHandler=this.onWindowHashChange.bind(this),this.settings.jQueryMobile?a.location.hash=this.settings.jQueryMobileDialogHash:(this.currentHistoryHashValue="PhotoSwipe"+(new Date).getTime().toString(),a.location.hash=this.currentHistoryHashValue),c.Events.add(a,"hashchange",this.windowHashChangeHandler)),this.settings.enableMouseWheel&&c.Events.add(a,"mousewheel",this.mouseWheelHandler),c.Events.add(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.Events.add(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler),c.isNothing(this.toolbar)||(c.Events.add(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.add(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.add(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},removeEventHandlers:function(){c.Browser.iOS&&!c.Browser.safari&&c.Events.remove(a.document.body,"orientationchange",this.windowOrientationChangeHandler),c.isNothing(this.orientationEventName)||c.Events.remove(a,this.orientationEventName,this.windowOrientationChangeHandler),c.Events.remove(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.remove(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&c.Events.remove(a,"hashchange",this.windowHashChangeHandler),this.settings.enableMouseWheel&&c.Events.remove(a,"mousewheel",this.mouseWheelHandler),c.isNothing(this.uiLayer)||c.Events.remove(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.isNothing(this.toolbar)||(c.Events.remove(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler)),c.isNothing(this.toolbar)||(c.Events.remove(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.remove(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},hide:function(){if(!this.settings.preventHide){if(c.isNothing(this.documentOverlay))throw"Code.PhotoSwipe.PhotoSwipeClass.hide: PhotoSwipe instance is already hidden";c.isNothing(this.hiding)&&(this.clearUIWebViewResetPositionTimeout(),this.destroyZoomPanRotate(),this.removeEventHandlers(),c.Events.fire(this,{type:j.EventTypes.onBeforeHide,target:this}),this.uiLayer.dispose(),this.uiLayer=null,c.isNothing(this.toolbar)||(this.toolbar.dispose(),this.toolbar=null),this.carousel.dispose(),this.carousel=null,c.DOM.removeClass(a.document.body,j.CssClasses.activeBody),this.documentOverlay.dispose(),this.documentOverlay=null,this._isResettingPosition=!1,j.unsetActivateInstance(this),c.Events.fire(this,{type:j.EventTypes.onHide,target:this}),this.goBackInHistory())}},goBackInHistory:function(){this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.backButtonClicked||a.history.back())},play:function(){!this.isZoomActive()&&!this.settings.preventSlideshow&&!c.isNothing(this.carousel)&&(!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut(),this.carousel.startSlideshow())},stop:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.stopSlideshow()},previous:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.previous()},next:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.next()},toggleToolbar:function(){this.isZoomActive()||c.isNothing(this.toolbar)||this.toolbar.toggleVisibility(this.currentIndex)},fadeOutToolbarIfVisible:function(){!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.settings.captionAndToolbarAutoHideDelay>0&&this.toolbar.fadeOut()},createZoomPanRotate:function(){this.stop(),this.canUserZoom()&&!this.isZoomActive()&&(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateShow),this.zoomPanRotate=new i.ZoomPanRotateClass(this.settings,this.cache.images[this.currentIndex],this.uiLayer),this.uiLayer.captureSettings.preventDefaultTouchEvents=!0,c.Events.add(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),c.Events.fire(this,j.EventTypes.onZoomPanRotateShow),!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut())},destroyZoomPanRotate:function(){c.isNothing(this.zoomPanRotate)||(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateHide),c.Events.remove(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),this.zoomPanRotate.dispose(),this.zoomPanRotate=null,this.uiLayer.captureSettings.preventDefaultTouchEvents=this.settings.preventDefaultTouchEvents,c.Events.fire(this,j.EventTypes.onZoomPanRotateHide))},canUserZoom:function(){var a;if(c.Browser.msie){if(a=document.createElement("div"),c.isNothing(a.style.msTransform))return!1}else if(!c.Browser.isCSSTransformSupported)return!1;return this.settings.allowUserZoom?this.carousel.isSliding?!1:(a=this.cache.images[this.currentIndex],c.isNothing(a)?!1:a.isLoading?!1:!0):!1},isZoomActive:function(){return!c.isNothing(this.zoomPanRotate)},getCurrentImage:function(){return this.cache.images[this.currentIndex]},onDocumentOverlayFadeIn:function(){a.setTimeout(function(){var b=this.settings.target===a?a.document.body:this.settings.target;c.DOM.removeClass(b,j.CssClasses.buildingBody),c.DOM.addClass(b,j.CssClasses.activeBody),this.addEventHandlers(),this.carousel.show(this.currentIndex),this.uiLayer.show(),this.settings.autoStartSlideshow?this.play():c.isNothing(this.toolbar)||this.toolbar.show(this.currentIndex),c.Events.fire(this,{type:j.EventTypes.onShow,target:this}),this.setUIWebViewResetPositionTimeout()}.bind(this),250)},setUIWebViewResetPositionTimeout:function(){this.settings.enableUIWebViewRepositionTimeout&&c.Browser.iOS&&!c.Browser.safari&&(c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout),this._uiWebViewResetPositionTimeout=a.setTimeout(function(){this.resetPosition(),this.setUIWebViewResetPositionTimeout()}.bind(this),this.settings.uiWebViewResetPositionDelay))},clearUIWebViewResetPositionTimeout:function(){c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout)},onWindowScroll:function(){this.resetPosition()},onWindowOrientationChange:function(){this.resetPosition()},onWindowHashChange:function(){a.location.hash!=="#"+(this.settings.jQueryMobile?this.settings.jQueryMobileDialogHash:this.currentHistoryHashValue)&&(this.backButtonClicked=!0,this.hide())},onKeyDown:function(a){a.keyCode===37?(a.preventDefault(),this.previous()):a.keyCode===39?(a.preventDefault(),this.next()):a.keyCode===38||a.keyCode===40?a.preventDefault():a.keyCode===27?(a.preventDefault(),this.hide()):a.keyCode===32?(this.settings.hideToolbar?this.hide():this.toggleToolbar(),a.preventDefault()):a.keyCode===13&&(a.preventDefault(),this.play())},onUILayerTouch:function(b){if(this.isZoomActive())switch(b.action){case c.TouchElement.ActionTypes.gestureChange:this.zoomPanRotate.zoomRotate(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.gestureEnd:this.zoomPanRotate.setStartingScaleAndRotation(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.touchStart:this.zoomPanRotate.panStart(b.point);break;case c.TouchElement.ActionTypes.touchMove:this.zoomPanRotate.pan(b.point);break;case c.TouchElement.ActionTypes.doubleTap:this.destroyZoomPanRotate(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeLeft:this.destroyZoomPanRotate(),this.next(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeRight:this.destroyZoomPanRotate(),this.previous(),this.toggleToolbar()}else switch(b.action){case c.TouchElement.ActionTypes.touchMove:case c.TouchElement.ActionTypes.swipeLeft:case c.TouchElement.ActionTypes.swipeRight:this.fadeOutToolbarIfVisible(),this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.touchStart:case c.TouchElement.ActionTypes.touchMoveEnd:this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.tap:this.toggleToolbar();break;case c.TouchElement.ActionTypes.doubleTap:this.settings.target===a&&(b.point.x-=c.DOM.windowScrollLeft(),b.point.y-=c.DOM.windowScrollTop());var d=this.cache.images[this.currentIndex].imageEl,e=a.parseInt(c.DOM.getStyle(d,"top"),10),f=a.parseInt(c.DOM.getStyle(d,"left"),10),g=f+c.DOM.width(d),d=e+c.DOM.height(d);b.point.xg&&(b.point.x=g),b.point.yd&&(b.point.y=d),this.createZoomPanRotate(),this.isZoomActive()&&this.zoomPanRotate.zoomAndPanToPoint(this.settings.doubleTapZoomLevel,b.point);break;case c.TouchElement.ActionTypes.gestureStart:this.createZoomPanRotate()}c.Events.fire(this,{type:j.EventTypes.onTouch,target:this,point:b.point,action:b.action})},onCarouselSlideByEnd:function(a){this.currentIndex=a.cacheIndex,c.isNothing(this.toolbar)||(this.toolbar.setCaption(this.currentIndex),this.toolbar.setToolbarStatus(this.currentIndex)),c.Events.fire(this,{type:j.EventTypes.onDisplayImage,target:this,action:a.action,index:a.cacheIndex})},onToolbarTap:function(a){switch(a.action){case g.ToolbarAction.next:this.next();break;case g.ToolbarAction.previous:this.previous();break;case g.ToolbarAction.close:this.hide();break;case g.ToolbarAction.play:this.play()}c.Events.fire(this,{type:j.EventTypes.onToolbarTap,target:this,toolbarAction:a.action,tapTarget:a.tapTarget})},onMouseWheel:function(a){var b=c.Events.getWheelDelta(a);a.timeStamp-(this.mouseWheelStartTime||0)0&&this.previous())},onCarouselSlideshowStart:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStart,target:this})},onCarouselSlideshowStop:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStop,target:this})},onToolbarBeforeShow:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarShow,target:this})},onToolbarShow:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarShow,target:this})},onToolbarBeforeHide:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarHide,target:this})},onToolbarHide:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarHide,target:this})},onZoomPanRotateTransform:function(a){c.Events.fire(this,{target:this,type:j.EventTypes.onZoomPanRotateTransform,scale:a.scale,rotation:a.rotation,rotationDegs:a.rotationDegs,translateX:a.translateX,translateY:a.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),define("vendor/photoswipe",function(){}),1,function(){var a;typeof Joshfire=="undefined"&&(Joshfire={}),a={version:[0,9,3],onReady:function(a){a()},adapter:"ios",adapterModules:{android:["app","dependencies.json","inputs/touch","ui/toolbar","uielements/list","uielements/panel","uielements/video.mediaelement","vendor/iscroll"],browser:["app","inputs/http","inputs/keyboard","inputs/mouse","uielement","uielements/list","uielements/mediacontrols","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","uielements/video.popup","uielements/video.youtube.swf","utils/activitymonitor","utils/datasource","utils/dollar","utils/localstorage","utils/navigation","utils/onready","utils/stresstest"],googletv:["dependencies.json","inputs/keyboard","ui/videoplayer","uielement"],ios:["dependencies.json"],lgtv:["dependencies.json","ui/videoplayer","uielement","utils/dollar"],node:["app.factory","app","class","global.exec","inputs/http","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","utils/datasource","utils/dollar","utils/eventsocket","utils/templatecompiler.cli","utils/templatecompiler","vendor/json2","view"],none:[],philips:["dependencies.json","ui/videoplayer","uielement","uielements/list","uielements/video.mediaelement","utils/dollar","utils/stresstest"],phone:["collection","ui/toolbar","uielement","utils/dollar","utils/onready"],qt4:[],samsungtv:["dependencies.json","inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready","utils/widgetapi","view"],tv:["inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready"]},adapterDeps:["phone"],debug:!1,path:(Joshfire.framework||{}).path||"joshfire"};if(typeof document!="undefined"){var b=document.getElementsByTagName("script"),c,d=new RegExp("^(.*)/adapters/"+a.adapter+"/bootstrap.js$");for(var e=b.length-1;e>=0;e--)c=d.exec(b[e].getAttribute("src")),c&&(a.path=c[1])}typeof require!="undefined"&&require.config&&require.config({paths:{"joshfire-framework":a.path},urlArgs:Joshfire.debug?"bust="+(new Date).getTime():""}),Joshfire.framework=a,typeof module!="undefined"&&module.exports&&(module.exports.JoshfireFramework=a)}.call(this),function(a){a.onReady=function(b){a.require(["joshfire/vendor/zepto"],function(a){b.call()})}}(Joshfire),define("joshlib",{normalize:function(a,b){var c=[Joshfire.framework.adapter].concat(Joshfire.framework.adapterDeps),d=Joshfire.framework.adapterModules,e="joshfire-framework/";if(a.substring(0,14)=="adapters/none/")return e+a.substring(14);if(a.substring(0,9)=="adapters/")return e+a;for(var f=0;f>>0,e=0,f;if(typeof b!="function")throw new TypeError;if(d==0&&arguments.length==1)throw new TypeError;if(arguments.length>=2)f=arguments[1];else do{if(e in c){f=c[e++];break}if(++e>=d)throw new TypeError}while(!0);while(e0?[].concat.apply([],a):a}function H(a){return a.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function I(a){return a in i?i[a]:i[a]=new RegExp("(^|\\s)"+a+"(\\s|$)")}function J(a,b){return typeof b=="number"&&!k[H(a)]?b+"px":b}function K(a){var b,c;return h[a]||(b=g.createElement(a),g.body.appendChild(b),c=j(b,"").getPropertyValue("display"),b.parentNode.removeChild(b),c=="none"&&(c="block"),h[a]=c),h[a]}function L(b,d){return d===a?c(b):c(b).filter(d)}function M(a,b,c,d){return A(b)?b.call(a,c,d):b}function N(a,b,d){var e=a%2?b:b.parentNode;e?e.insertBefore(d,a?a==1?e.firstChild:a==2?b:null:b.nextSibling):c(d).remove()}function O(a,b){b(a);for(var c in a.childNodes)O(a.childNodes[c],b)}function P(a){var b=a.innerHTML||"",c=a.getAttribute("src"),d=null,e=null;b?window.eval.call(window,b):c&&(d=g.getElementsByTagName("head")[0]||g.documentElement,e=g.createElement("script"),e.type="text/javascript",e.setAttribute("src",c),d.insertBefore(e,d.firstChild)),a.parentNode&&a.parentNode.removeChild(a)}var a,b,c,d,e=[],f=e.slice,g=window.document,h={},i={},j=g.defaultView.getComputedStyle,k={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,m=[1,3,8,9,11],n=["after","prepend","before","append"],o=g.createElement("table"),p=g.createElement("tr"),q={tr:g.createElement("tbody"),tbody:o,thead:o,tfoot:o,td:p,th:p,"*":g.createElement("div")},r=/complete|loaded|interactive/,s=/^\.([\w-]+)$/,t=/^#([\w-]+)$/,u=/^[\w-]+$/,v={}.toString,w={},x,y,z=g.createElement("div");return w.matches=function(a,b){if(!a||a.nodeType!==1)return!1;var c=a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.matchesSelector;if(c)return c.call(a,b);var d,e=a.parentNode,f=!e;return f&&(e=z).appendChild(a),d=~w.qsa(e,b).indexOf(a),f&&z.removeChild(a),d},x=function(a){return a.replace(/-+(.)?/g,function(a,b){return b?b.toUpperCase():""})},y=function(a){return a.filter(function(b,c){return a.indexOf(b)==c})},w.fragment=function(b,d){d===a&&(d=l.test(b)&&RegExp.$1),d in q||(d="*");var e=q[d];return e.innerHTML=""+b,c.each(f.call(e.childNodes),function(){e.removeChild(this)})},w.Z=function(a,b){return a=a||[],a.__proto__=arguments.callee.prototype,a.selector=b||"",a},w.isZ=function(a){return a instanceof w.Z},w.init=function(b,d){if(!b)return w.Z();if(A(b))return c(g).ready(b);if(w.isZ(b))return b;var e;if(D(b))e=F(b);else if(C(b))e=[c.extend({},b)],b=null;else if(m.indexOf(b.nodeType)>=0||b===window)e=[b],b=null;else if(l.test(b))e=w.fragment(b.trim(),RegExp.$1),b=null;else{if(d!==a)return c(d).find(b);e=w.qsa(g,b)}return w.Z(e,b)},c=function(a,b){return w.init(a,b)},c.extend=function(c){return f.call(arguments,1).forEach(function(d){for(b in d)d[b]!==a&&(c[b]=d[b])}),c},w.qsa=function(a,b){var c;return a===g&&t.test(b)?(c=a.getElementById(RegExp.$1))?[c]:e:a.nodeType!==1&&a.nodeType!==9?e:f.call(s.test(b)?a.getElementsByClassName(RegExp.$1):u.test(b)?a.getElementsByTagName(b):a.querySelectorAll(b))},c.isFunction=A,c.isObject=B,c.isArray=D,c.isPlainObject=C,c.inArray=function(a,b,c){return e.indexOf.call(b,a,c)},c.trim=function(a){return a.trim()},c.uuid=0,c.map=function(a,b){var c,d=[],e,f;if(E(a))for(e=0;e0&&w.matches(this[0],a)},not:function(b){var d=[];if(A(b)&&b.call!==a)this.each(function(a){b.call(this,a)||d.push(this)});else{var e=typeof b=="string"?this.filter(b):E(b)&&A(b.item)?f.call(b):c(b);this.forEach(function(a){e.indexOf(a)<0&&d.push(a)})}return c(d)},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){var a=this[0];return a&&!B(a)?a:c(a)},last:function(){var a=this[this.length-1];return a&&!B(a)?a:c(a)},find:function(a){var b;return this.length==1?b=w.qsa(this[0],a):b=this.map(function(){return w.qsa(this,a)}),c(b)},closest:function(a,b){var d=this[0];while(d&&!w.matches(d,a))d=d!==b&&d!==g&&d.parentNode;return c(d)},parents:function(a){var b=[],d=this;while(d.length>0)d=c.map(d,function(a){if((a=a.parentNode)&&a!==g&&b.indexOf(a)<0)return b.push(a),a});return L(b,a)},parent:function(a){return L(y(this.pluck("parentNode")),a)},children:function(a){return L(this.map(function(){return f.call(this.children)}),a)},siblings:function(a){return L(this.map(function(a,b){return f.call(b.parentNode.children).filter(function(a){return a!==b})}),a)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(a){return this.map(function(){return this[a]})},show:function(){return this.each(function(){this.style.display=="none"&&(this.style.display=null),j(this,"").getPropertyValue("display")=="none"&&(this.style.display=K(this.nodeName))})},replaceWith:function(a){return this.before(a).remove()},wrap:function(a){return this.each(function(){c(this).wrapAll(c(a)[0].cloneNode(!1))})},wrapAll:function(a){return this[0]&&(c(this[0]).before(a=c(a)),a.append(this)),this},unwrap:function(){return this.parent().each(function(){c(this).replaceWith(c(this).children())}),this},clone:function(){return c(this.map(function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(b){return(b===a?this.css("display")=="none":b)?this.show():this.hide()},prev:function(){return c(this.pluck("previousElementSibling"))},next:function(){return c(this.pluck("nextElementSibling"))},html:function(b){return b===a?this.length>0?this[0].innerHTML:null:this.each(function(a){var d=this.innerHTML;c(this).empty().append(M(this,b,a,d))})},text:function(b){return b===a?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=b})},attr:function(c,d){var e;return typeof c=="string"&&d===a?this.length==0||this[0].nodeType!==1?a:c=="value"&&this[0].nodeName=="INPUT"?this.val():!(e=this[0].getAttribute(c))&&c in this[0]?this[0][c]:e:this.each(function(a){if(this.nodeType!==1)return;if(B(c))for(b in c)this.setAttribute(b,c[b]);else this.setAttribute(c,M(this,d,a,this.getAttribute(c)))})},removeAttr:function(a){return this.each(function(){this.nodeType===1&&this.removeAttribute(a)})},prop:function(b,c){return c===a?this[0]?this[0][b]:a:this.each(function(a){this[b]=M(this,c,a,this[b])})},data:function(b,c){var d=this.attr("data-"+H(b),c);return d!==null?d:a},val:function(b){return b===a?this.length>0?this[0].value:a:this.each(function(a){this.value=M(this,b,a,this.value)})},offset:function(){if(this.length==0)return null;var a=this[0].getBoundingClientRect();return{left:a.left+window.pageXOffset,top:a.top+window.pageYOffset,width:a.width,height:a.height}},css:function(c,d){if(d===a&&typeof c=="string")return this.length==0?a:this[0].style[x(c)]||j(this[0],"").getPropertyValue(c);var e="";for(b in c)typeof c[b]=="string"&&c[b]==""?this.each(function(){this.style.removeProperty(H(b))}):e+=H(b)+":"+J(b,c[b])+";";return typeof c=="string"&&(d==""?this.each(function(){this.style.removeProperty(H(c))}):e=H(c)+":"+J(c,d)),this.each(function(){this.style.cssText+=";"+e})},index:function(a){return a?this.indexOf(c(a)[0]):this.parent().children().indexOf(this[0])},hasClass:function(a){return this.length<1?!1:I(a).test(this[0].className)},addClass:function(a){return this.each(function(b){d=[];var e=this.className,f=M(this,a,b,e);f.split(/\s+/g).forEach(function(a){c(this).hasClass(a)||d.push(a)},this),d.length&&(this.className+=(e?" ":"")+d.join(" "))})},removeClass:function(b){return this.each(function(c){if(b===a)return this.className="";d=this.className,M(this,b,c,d).split(/\s+/g).forEach(function(a){d=d.replace(I(a)," ")}),this.className=d.trim()})},toggleClass:function(b,d){return this.each(function(e){var f=M(this,b,e,this.className);(d===a?!c(this).hasClass(f):d)?c(this).addClass(f):c(this).removeClass(f)})}},["width","height"].forEach(function(b){c.fn[b]=function(d){var e,f=b.replace(/./,function(a){return a[0].toUpperCase()});return d===a?this[0]==window?window["inner"+f]:this[0]==g?g.documentElement["offset"+f]:(e=this.offset())&&e[b]:this.each(function(a){var e=c(this);e.css(b,M(this,d,a,e[b]()))})}}),n.forEach(function(a,b){c.fn[a]=function(){var a=c.map(arguments,function(a){return B(a)?a:w.fragment(a)});if(a.length<1)return this;var d=this.length,e=d>1,f=b<2;return this.each(function(c,g){for(var h=0;h0&&this.bind(o,n),setTimeout(function(){m.css(i),e<=0&&setTimeout(function(){m.each(function(){n.call(this)})},0)},0),this},i=null}(Zepto),function($){function triggerAndReturn(a,b,c){var d=$.Event(b);return $(a).trigger(d,c),!d.defaultPrevented}function triggerGlobal(a,b,c,d){if(a.global)return triggerAndReturn(b||document,c,d)}function ajaxStart(a){a.global&&$.active++===0&&triggerGlobal(a,null,"ajaxStart")}function ajaxStop(a){a.global&&!--$.active&&triggerGlobal(a,null,"ajaxStop")}function ajaxBeforeSend(a,b){var c=b.context;if(b.beforeSend.call(c,a,b)===!1||triggerGlobal(b,c,"ajaxBeforeSend",[a,b])===!1)return!1;triggerGlobal(b,c,"ajaxSend",[a,b])}function ajaxSuccess(a,b,c){var d=c.context,e="success";c.success.call(d,a,e,b),triggerGlobal(c,d,"ajaxSuccess",[b,c,a]),ajaxComplete(e,b,c)}function ajaxError(a,b,c,d){var e=d.context;d.error.call(e,c,b,a),triggerGlobal(d,e,"ajaxError",[c,d,a]),ajaxComplete(b,c,d)}function ajaxComplete(a,b,c){var d=c.context;c.complete.call(d,b,a),triggerGlobal(c,d,"ajaxComplete",[b,c]),ajaxStop(c)}function empty(){}function mimeToDataType(a){return a&&(a==htmlType?"html":a==jsonType?"json":scriptTypeRE.test(a)?"script":xmlTypeRE.test(a)&&"xml")||"text"}function appendQuery(a,b){return(a+"&"+b).replace(/[&?]{1,2}/,"?")}function serializeData(a){isObject(settings.data)&&(!settings.contentType||settings.contentType==="application/x-www-form-urlencoded"?settings.data=$.param(settings.data):settings.contentType==="application/json"&&(settings.data=JSON.stringify(settings.data))),a.data&&(!a.type||a.type.toUpperCase()=="GET")&&(a.url=appendQuery(a.url,a.data))}function serialize(a,b,c,d){var e=$.isArray(b);$.each(b,function(b,f){d&&(b=c?d:d+"["+(e?"":b)+"]"),!d&&e?a.add(f.name,f.value):(c?$.isArray(f):isObject(f))?serialize(a,f,c,b):a.add(b,f)})}var jsonpID=0,isObject=$.isObject,document=window.document,key,name,rscript=/)<[^<]*)*<\/script>/gi,scriptTypeRE=/^(?:text|application)\/javascript/i,xmlTypeRE=/^(?:text|application)\/xml/i,jsonType="application/json",htmlType="text/html",blankRE=/^\s*$/;$.active=0,$.ajaxJSONP=function(a){var b="jsonp"+ ++jsonpID,c=document.createElement("script"),d=function(){$(c).remove(),b in window&&(window[b]=empty),ajaxComplete("abort",e,a)},e={abort:d},f;return a.error&&(c.onerror=function(){e.abort(),a.error()}),window[b]=function(d){clearTimeout(f),$(c).remove(),delete window[b],ajaxSuccess(d,e,a)},serializeData(a),c.src=a.url.replace(/=\?/,"="+b),$("head").append(c),a.timeout>0&&(f=setTimeout(function(){e.abort(),ajaxComplete("timeout",e,a)},a.timeout)),e},$.ajaxSettings={type:"GET",beforeSend:empty,success:empty,error:empty,complete:empty,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript",json:jsonType,xml:"application/xml, text/xml",html:htmlType,text:"text/plain"},crossDomain:!1,timeout:0},$.ajax=function(options){var settings=$.extend({},options||{});for(key in $.ajaxSettings)settings[key]===undefined&&(settings[key]=$.ajaxSettings[key]);ajaxStart(settings),settings.crossDomain||(settings.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(settings.url)&&RegExp.$2!=window.location.host);var dataType=settings.dataType,hasPlaceholder=/=\?/.test(settings.url);if(dataType=="jsonp"||hasPlaceholder)return hasPlaceholder||(settings.url=appendQuery(settings.url,"callback=?")),$.ajaxJSONP(settings);settings.url||(settings.url=window.location.toString()),serializeData(settings);var mime=settings.accepts[dataType],baseHeaders={},protocol=/^([\w-]+:)\/\//.test(settings.url)?RegExp.$1:window.location.protocol,xhr=$.ajaxSettings.xhr(),abortTimeout;settings.crossDomain||(baseHeaders["X-Requested-With"]="XMLHttpRequest"),mime&&(baseHeaders.Accept=mime,mime.indexOf(",")>-1&&(mime=mime.split(",",2)[0]),xhr.overrideMimeType&&xhr.overrideMimeType(mime));if(settings.xhrFields)for(var i in settings.xhrFields)xhr[i]=settings.xhrFields[i];if(settings.contentType||settings.data&&settings.type.toUpperCase()!="GET")baseHeaders["Content-Type"]=settings.contentType||"application/x-www-form-urlencoded";settings.headers=$.extend(baseHeaders,settings.headers||{}),xhr.onreadystatechange=function(){if(xhr.readyState==4){clearTimeout(abortTimeout);var result,error=!1;if(xhr.status>=200&&xhr.status<300||xhr.status==304||xhr.status==0&&protocol=="file:"){dataType=dataType||mimeToDataType(xhr.getResponseHeader("content-type")),result=xhr.responseText;try{dataType=="script"?(1,eval)(result):dataType=="xml"?result=xhr.responseXML:dataType=="json"&&(result=blankRE.test(result)?null:JSON.parse(result))}catch(e){error=e}error?ajaxError(error,"parsererror",xhr,settings):ajaxSuccess(result,xhr,settings)}else ajaxError(null,"error",xhr,settings)}};var async="async"in settings?settings.async:!0;xhr.open(settings.type,settings.url,async);for(name in settings.headers)xhr.setRequestHeader(name,settings.headers[name]);return ajaxBeforeSend(xhr,settings)===!1?(xhr.abort(),!1):(settings.timeout>0&&(abortTimeout=setTimeout(function(){xhr.onreadystatechange=empty,xhr.abort(),ajaxError(null,"timeout",xhr,settings)},settings.timeout)),xhr.send(settings.data?settings.data:null),xhr)},$.get=function(a,b){return $.ajax({url:a,success:b})},$.post=function(a,b,c,d){return $.isFunction(b)&&(d=d||c,c=b,b=null),$.ajax({type:"POST",url:a,data:b,success:c,dataType:d})},$.getJSON=function(a,b){return $.ajax({url:a,success:b,dataType:"json"})},$.fn.load=function(a,b){if(!this.length)return this;var c=this,d=a.split(/\s/),e;return d.length>1&&(a=d[0],e=d[1]),$.get(a,function(a){c.html(e?$(document.createElement("div")).html(a.replace(rscript,"")).find(e).html():a),b&&b.call(c)}),this};var escape=encodeURIComponent;$.param=function(a,b){var c=[];return c.add=function(a,b){this.push(escape(a)+"="+escape(b))},serialize(c,a,b),c.join("&").replace("%20","+")}}(Zepto),function(a){a.fn.serializeArray=function(){var b=[],c;return a(Array.prototype.slice.call(this.get(0).elements)).each(function(){c=a(this);var d=c.attr("type");this.nodeName.toLowerCase()!="fieldset"&&!this.disabled&&d!="submit"&&d!="reset"&&d!="button"&&(d!="radio"&&d!="checkbox"||this.checked)&&b.push({name:c.attr("name"),value:c.val()})}),b},a.fn.serialize=function(){var a=[];return this.serializeArray().forEach(function(b){a.push(encodeURIComponent(b.name)+"="+encodeURIComponent(b.value))}),a.join("&")},a.fn.submit=function(b){if(b)this.bind("submit",b);else if(this.length){var c=a.Event("submit");this.eq(0).trigger(c),c.defaultPrevented||this.get(0).submit()}return this}}(Zepto),function(a){function d(a){return"tagName"in a?a:a.parentNode}function e(a,b,c,d){var e=Math.abs(a-b),f=Math.abs(c-d);return e>=f?a-b>0?"Left":"Right":c-d>0?"Up":"Down"}function h(){g=null,b.last&&(b.el.trigger("longTap"),b={})}function i(){g&&clearTimeout(g),g=null}var b={},c,f=750,g;a(document).ready(function(){var j,k;a(document.body).bind("touchstart",function(e){j=Date.now(),k=j-(b.last||j),b.el=a(d(e.touches[0].target)),c&&clearTimeout(c),b.x1=e.touches[0].pageX,b.y1=e.touches[0].pageY,k>0&&k<=250&&(b.isDoubleTap=!0),b.last=j,g=setTimeout(h,f)}).bind("touchmove",function(a){i(),b.x2=a.touches[0].pageX,b.y2=a.touches[0].pageY}).bind("touchend",function(a){i(),b.isDoubleTap?(b.el.trigger("doubleTap"),b={}):b.x2&&Math.abs(b.x1-b.x2)>30||b.y2&&Math.abs(b.y1-b.y2)>30?(b.el.trigger("swipe")&&b.el.trigger("swipe"+e(b.x1,b.x2,b.y1,b.y2)),b={}):"last"in b&&(b.el.trigger("tap"),c=setTimeout(function(){c=null,b.el.trigger("singleTap"),b={}},250))}).bind("touchcancel",function(){c&&clearTimeout(c),g&&clearTimeout(g),g=c=null,b={}})}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(b){a.fn[b]=function(a){return this.bind(b,a)}})}(Zepto),Zepto}),define("joshfire-framework/adapters/phone/utils/dollar",["joshlib!vendor/zepto"],function(a){return a}),define("joshfire-framework/vendor/underscore",[],function(){return function(){function A(a,b,c){if(a===b)return a!==0||1/a==1/b;if(a==null||b==null)return a===b;a._chain&&(a=a._wrapped),b._chain&&(b=b._wrapped);if(a.isEqual&&w.isFunction(a.isEqual))return a.isEqual(b);if(b.isEqual&&w.isFunction(b.isEqual))return b.isEqual(a);var d=i.call(a);if(d!=i.call(b))return!1;switch(d){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:a==0?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if(typeof a!="object"||typeof b!="object")return!1;var e=c.length;while(e--)if(c[e]==a)return!0;c.push(a);var f=0,g=!0;if(d=="[object Array]"){f=a.length,g=f==b.length;if(g)while(f--)if(!(g=f in a==f in b&&A(a[f],b[f],c)))break}else{if("constructor"in a!="constructor"in b||a.constructor!=b.constructor)return!1;for(var h in a)if(w.has(a,h)){f++;if(!(g=w.has(b,h)&&A(a[h],b[h],c)))break}if(g){for(h in b)if(w.has(b,h)&&!(f--))break;g=!f}}return c.pop(),g}var a=this,b=a._,c={},d=Array.prototype,e=Object.prototype,f=Function.prototype,g=d.slice,h=d.unshift,i=e.toString,j=e.hasOwnProperty,k=d.forEach,l=d.map,m=d.reduce,n=d.reduceRight,o=d.filter,p=d.every,q=d.some,r=d.indexOf,s=d.lastIndexOf,t=Array.isArray,u=Object.keys,v=f.bind,w=function(a){return new I(a)};typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=w),exports._=w):a._=w,w.VERSION="1.3.3";var x=w.each=w.forEach=function(a,b,d){if(a==null)return;if(k&&a.forEach===k)a.forEach(b,d);else if(a.length===+a.length){for(var e=0,f=a.length;e2;a==null&&(a=[]);if(m&&a.reduce===m)return d&&(b=w.bind(b,d)),e?a.reduce(b,c):a.reduce(b);x(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)});if(!e)throw new TypeError("Reduce of empty array with no initial value");return c},w.reduceRight=w.foldr=function(a,b,c,d){var e=arguments.length>2;a==null&&(a=[]);if(n&&a.reduceRight===n)return d&&(b=w.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=w.toArray(a).reverse();return d&&!e&&(b=w.bind(b,d)),e?w.reduce(f,b,c,d):w.reduce(f,b)},w.find=w.detect=function(a,b,c){var d;return y(a,function(a,e,f){if(b.call(c,a,e,f))return d=a,!0}),d},w.filter=w.select=function(a,b,c){var d=[];return a==null?d:o&&a.filter===o?a.filter(b,c):(x(a,function(a,e,f){b.call(c,a,e,f)&&(d[d.length]=a)}),d)},w.reject=function(a,b,c){var d=[];return a==null?d:(x(a,function(a,e,f){b.call(c,a,e,f)||(d[d.length]=a)}),d)},w.every=w.all=function(a,b,d){var e=!0;return a==null?e:p&&a.every===p?a.every(b,d):(x(a,function(a,f,g){if(!(e=e&&b.call(d,a,f,g)))return c}),!!e)};var y=w.some=w.any=function(a,b,d){b||(b=w.identity);var e=!1;return a==null?e:q&&a.some===q?a.some(b,d):(x(a,function(a,f,g){if(e||(e=b.call(d,a,f,g)))return c}),!!e)};w.include=w.contains=function(a,b){var c=!1;return a==null?c:r&&a.indexOf===r?a.indexOf(b)!=-1:(c=y(a,function(a){return a===b}),c)},w.invoke=function(a,b){var c=g.call(arguments,2);return w.map(a,function(a){return(w.isFunction(b)?b||a:a[b]).apply(a,c)})},w.pluck=function(a,b){return w.map(a,function(a){return a[b]})},w.max=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.max.apply(Math,a);if(!b&&w.isEmpty(a))return-Infinity;var d={computed:-Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>=d.computed&&(d={value:a,computed:g})}),d.value},w.min=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.min.apply(Math,a);if(!b&&w.isEmpty(a))return Infinity;var d={computed:Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;gd?1:0}),"value")},w.groupBy=function(a,b){var c={},d=w.isFunction(b)?b:function(a){return a[b]};return x(a,function(a,b){var e=d(a,b);(c[e]||(c[e]=[])).push(a)}),c},w.sortedIndex=function(a,b,c){c||(c=w.identity);var d=0,e=a.length;while(d>1;c(a[f])=0})})},w.difference=function(a){var b=w.flatten(g.call(arguments,1),!0);return w.filter(a,function(a){return!w.include(b,a)})},w.zip=function(){var a=g.call(arguments),b=w.max(w.pluck(a,"length")),c=new Array(b);for(var d=0;d=0;c--)b=[a[c].apply(this,b)];return b[0]}},w.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}},w.keys=u||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)w.has(a,c)&&(b[b.length]=c);return b},w.values=function(a){return w.map(a,w.identity)},w.functions=w.methods=function(a){var b=[];for(var c in a)w.isFunction(a[c])&&b.push(c);return b.sort()},w.extend=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a},w.pick=function(a){var b={};return x(w.flatten(g.call(arguments,1)),function(c){c in a&&(b[c]=a[c])}),b},w.defaults=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]==null&&(a[c]=b[c])}),a},w.clone=function(a){return w.isObject(a)?w.isArray(a)?a.slice():w.extend({},a):a},w.tap=function(a,b){return b(a),a},w.isEqual=function(a,b){return A(a,b,[])},w.isEmpty=function(a){if(a==null)return!0;if(w.isArray(a)||w.isString(a))return a.length===0;for(var b in a)if(w.has(a,b))return!1;return!0},w.isElement=function(a){return!!a&&a.nodeType==1},w.isArray=t||function(a){return i.call(a)=="[object Array]"},w.isObject=function(a){return a===Object(a)},w.isArguments=function(a){return i.call(a)=="[object Arguments]"},w.isArguments(arguments)||(w.isArguments=function(a){return!!a&&!!w.has(a,"callee")}),w.isFunction=function(a){return i.call(a)=="[object Function]"},w.isString=function(a){return i.call(a)=="[object String]"},w.isNumber=function(a){return i.call(a)=="[object Number]"},w.isFinite=function(a){return w.isNumber(a)&&isFinite(a)},w.isNaN=function(a){return a!==a},w.isBoolean=function(a){return a===!0||a===!1||i.call(a)=="[object Boolean]"},w.isDate=function(a){return i.call(a)=="[object Date]"},w.isRegExp=function(a){return i.call(a)=="[object RegExp]"},w.isNull=function(a){return a===null},w.isUndefined=function(a){return a===void 0},w.has=function(a,b){return j.call(a,b)},w.noConflict=function(){return a._=b,this},w.identity=function(a){return a},w.times=function(a,b,c){for(var d=0;d/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},w.result=function(a,b){if(a==null)return null;var c=a[b];return w.isFunction(c)?c.call(a):c},w.mixin=function(a){x(w.functions(a),function(b){K(b,w[b]=a[b])})};var B=0;w.uniqueId=function(a){var b=B++;return a?a+b:b},w.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var C=/.^/,D={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"};for(var E in D)D[D[E]]=E;var F=/\\|'|\r|\n|\t|\u2028|\u2029/g,G=/\\(\\|'|r|n|t|u2028|u2029)/g,H=function(a){return a.replace(G,function(a,b){return D[b]})};w.template=function(a,b,c){c=w.defaults(c||{},w.templateSettings);var d="__p+='"+a.replace(F,function(a){return"\\"+D[a]}).replace(c.escape||C,function(a,b){return"'+\n_.escape("+H(b)+")+\n'"}).replace(c.interpolate||C,function(a,b){return"'+\n("+H(b)+")+\n'"}).replace(c.evaluate||C,function(a,b){return"';\n"+H(b)+"\n;__p+='"})+"';\n";c.variable||(d="with(obj||{}){\n"+d+"}\n"),d="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+d+"return __p;\n";var e=new Function(c.variable||"obj","_",d);if(b)return e(b,w);var f=function(a){return e.call(this,a,w)};return f.source="function("+(c.variable||"obj")+"){\n"+d+"}",f},w.chain=function(a){return w(a).chain()};var I=function(a){this._wrapped=a};w.prototype=I.prototype;var J=function(a,b){return b?w(a).chain():a},K=function(a,b){I.prototype[a]=function(){var a=g.call(arguments);return h.call(a,this._wrapped),J(b.apply(w,a),this._chain)}};w.mixin(w),x(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=d[a];I.prototype[a]=function(){var c=this._wrapped;b.apply(c,arguments);var d=c.length;return(a=="shift"||a=="splice")&&d===0&&delete c[0],J(c,this._chain)}}),x(["concat","join","slice"],function(a){var b=d[a];I.prototype[a]=function(){return J(b.apply(this._wrapped,arguments),this._chain)}}),I.prototype.chain=function(){return this._chain=!0,this},I.prototype.value=function(){return this._wrapped}}.call(this),typeof exports!="undefined"?typeof module!="undefined"&&module.exports?exports:exports._:this._}),define("joshfire-framework/vendor/iscroll",[],function(){return function(a,b){function E(a){return e===""?a:(a=a.charAt(0).toUpperCase()+a.substr(1),e+a)}var c=Math,d=b.createElement("div").style,e=function(){var a="t,webkitT,MozT,msT,OT".split(","),b,c=0,e=a.length;for(;cd[a+"ScrollbarMaxScroll"]&&(d.options.fixedScrollbar?e=d[a+"ScrollbarMaxScroll"]:(f=d[a+"ScrollbarIndicatorSize"]-c.round((e-d[a+"ScrollbarMaxScroll"])*3),f<8&&(f=8),d[a+"ScrollbarIndicator"].style[a=="h"?"width":"height"]=f+"px",e=d[a+"ScrollbarMaxScroll"]+(d[a+"ScrollbarIndicatorSize"]-f))),d[a+"ScrollbarWrapper"].style[l]="0",d[a+"ScrollbarWrapper"].style.opacity=b&&d.options.hideScrollbar?"0":"1",d[a+"ScrollbarIndicator"].style[g]="translate("+(a=="h"?e+"px,0)":"0,"+e+"px)")+C},_start:function(a){var b=this,d=q?a.touches[0]:a,e,f,h,i,j;if(!b.enabled)return;b.options.onBeforeScrollStart&&b.options.onBeforeScrollStart.call(b,a),(b.options.useTransition||b.options.zoom)&&b._transitionTime(0),b.moved=!1,b.animating=!1,b.zoomed=!1,b.distX=0,b.distY=0,b.absDistX=0,b.absDistY=0,b.dirX=0,b.dirY=0,b.options.zoom&&q&&a.touches.length>1&&(i=c.abs(a.touches[0].pageX-a.touches[1].pageX),j=c.abs(a.touches[0].pageY-a.touches[1].pageY),b.touchesDistStart=c.sqrt(i*i+j*j),b.originX=c.abs(a.touches[0].pageX+a.touches[1].pageX-b.wrapperOffsetLeft*2)/2-b.x,b.originY=c.abs(a.touches[0].pageY+a.touches[1].pageY-b.wrapperOffsetTop*2)/2-b.y,b.options.onZoomStart&&b.options.onZoomStart.call(b,a));if(b.options.momentum){b.options.useTransform?(e=getComputedStyle(b.scroller,null)[g].replace(/[^0-9\-.,]/g,"").split(","),f=e[4]*1,h=e[5]*1):(f=getComputedStyle(b.scroller,null).left.replace(/[^0-9-]/g,"")*1,h=getComputedStyle(b.scroller,null).top.replace(/[^0-9-]/g,"")*1);if(f!=b.x||h!=b.y)b.options.useTransition?b._unbind(z):B(b.aniTime),b.steps=[],b._pos(f,h)}b.absStartX=b.x,b.absStartY=b.y,b.startX=b.x,b.startY=b.y,b.pointX=d.pageX,b.pointY=d.pageY,b.startTime=a.timeStamp||Date.now(),b.options.onScrollStart&&b.options.onScrollStart.call(b,a),b._bind(v),b._bind(w),b._bind(x)},_move:function(a){var b=this,d=q?a.touches[0]:a,e=d.pageX-b.pointX,f=d.pageY-b.pointY,h=b.x+e,i=b.y+f,j,k,l,m=a.timeStamp||Date.now();b.options.onBeforeScrollMove&&b.options.onBeforeScrollMove.call(b,a);if(b.options.zoom&&q&&a.touches.length>1){j=c.abs(a.touches[0].pageX-a.touches[1].pageX),k=c.abs(a.touches[0].pageY-a.touches[1].pageY),b.touchesDist=c.sqrt(j*j+k*k),b.zoomed=!0,l=1/b.touchesDistStart*b.touchesDist*this.scale,lb.options.zoomMax&&(l=2*b.options.zoomMax*Math.pow(.5,b.options.zoomMax/l)),b.lastScale=l/this.scale,h=this.originX-this.originX*b.lastScale+this.x,i=this.originY-this.originY*b.lastScale+this.y,this.scroller.style[g]="translate("+h+"px,"+i+"px) scale("+l+")"+C,b.options.onZoom&&b.options.onZoom.call(b,a);return}b.pointX=d.pageX,b.pointY=d.pageY;if(h>0||h=0||b.maxScrollX>=0?0:b.maxScrollX;if(i>b.minScrollY||i=b.minScrollY||b.maxScrollY>=0?b.minScrollY:b.maxScrollY;b.distX+=e,b.distY+=f,b.absDistX=c.abs(b.distX),b.absDistY=c.abs(b.distY);if(b.absDistX<6&&b.absDistY<6)return;b.options.lockDirection&&(b.absDistX>b.absDistY+5?(i=b.y,f=0):b.absDistY>b.absDistX+5&&(h=b.x,e=0)),b.moved=!0,b._pos(h,i),b.dirX=e>0?-1:e<0?1:0,b.dirY=f>0?-1:f<0?1:0,m-b.startTime>300&&(b.startTime=m,b.startX=b.x,b.startY=b.y),b.options.onScrollMove&&b.options.onScrollMove.call(b,a)},_end:function(a){if(q&&a.touches.length!==0)return;var d=this,e=q?a.changedTouches[0]:a,f,h,j={dist:0,time:0},k={dist:0,time:0},l=(a.timeStamp||Date.now())-d.startTime,m=d.x,n=d.y,o,p,r,s,t;d._unbind(v),d._unbind(w),d._unbind(x),d.options.onBeforeScrollEnd&&d.options.onBeforeScrollEnd.call(d,a);if(d.zoomed){t=d.scale*d.lastScale,t=Math.max(d.options.zoomMin,t),t=Math.min(d.options.zoomMax,t),d.lastScale=t/d.scale,d.scale=t,d.x=d.originX-d.originX*d.lastScale+d.x,d.y=d.originY-d.originY*d.lastScale+d.y,d.scroller.style[i]="200ms",d.scroller.style[g]="translate("+d.x+"px,"+d.y+"px) scale("+d.scale+")"+C,d.zoomed=!1,d.refresh(),d.options.onZoomEnd&&d.options.onZoomEnd.call(d,a);return}if(!d.moved){q&&(d.doubleTapTimer&&d.options.zoom?(clearTimeout(d.doubleTapTimer),d.doubleTapTimer=null,d.options.onZoomStart&&d.options.onZoomStart.call(d,a),d.zoom(d.pointX,d.pointY,d.scale==1?d.options.doubleTapZoom:1),d.options.onZoomEnd&&setTimeout(function(){d.options.onZoomEnd.call(d,a)},200)):this.options.handleClick&&(d.doubleTapTimer=setTimeout(function(){d.doubleTapTimer=null,f=e.target;while(f.nodeType!=1)f=f.parentNode;f.tagName!="SELECT"&&f.tagName!="INPUT"&&f.tagName!="TEXTAREA"&&(h=b.createEvent("MouseEvents"),h.initMouseEvent("click",!0,!0,a.view,1,e.screenX,e.screenY,e.clientX,e.clientY,a.ctrlKey,a.altKey,a.shiftKey,a.metaKey,0,null),h._fake=!0,f.dispatchEvent(h))},d.options.zoom?250:0))),d._resetPos(200),d.options.onTouchEnd&&d.options.onTouchEnd.call(d,a);return}if(l<300&&d.options.momentum){j=m?d._momentum(m-d.startX,l,-d.x,d.scrollerW-d.wrapperW+d.x,d.options.bounce?d.wrapperW:0):j,k=n?d._momentum(n-d.startY,l,-d.y,d.maxScrollY<0?d.scrollerH-d.wrapperH+d.y-d.minScrollY:0,d.options.bounce?d.wrapperH:0):k,m=d.x+j.dist,n=d.y+k.dist;if(d.x>0&&m>0||d.xd.minScrollY&&n>d.minScrollY||d.y=0?0:b.x=b.minScrollY||b.maxScrollY>0?b.minScrollY:b.yb.options.zoomMax&&(g=b.options.zoomMax),g!=b.scale&&(!b.wheelZoomCount&&b.options.onZoomStart&&b.options.onZoomStart.call(b,a),b.wheelZoomCount++,b.zoom(a.pageX,a.pageY,g,400),setTimeout(function(){b.wheelZoomCount--,!b.wheelZoomCount&&b.options.onZoomEnd&&b.options.onZoomEnd.call(b,a)},400));return}e=b.x+c,f=b.y+d,e>0?e=0:eb.minScrollY?f=b.minScrollY:f=e+f.time){a._pos(f.x,f.y),a.animating=!1,a.options.onAnimationEnd&&a.options.onAnimationEnd.call(a),a._startAni();return}i=(i-e)/f.time-1,g=c.sqrt(1-i*i),j=(f.x-b)*g+b,k=(f.y-d)*g+d,a._pos(j,k),a.animating&&(a.aniTime=A(h))},h()},_transitionTime:function(a){a+="ms",this.scroller.style[i]=a,this.hScrollbar&&(this.hScrollbarIndicator.style[i]=a),this.vScrollbar&&(this.vScrollbarIndicator.style[i]=a)},_momentum:function(a,b,d,e,f){var g=6e-4,h=c.abs(a)/b,i=h*h/(2*g),j=0,k=0;return a>0&&i>d?(k=f/(6/(i/h*g)),d+=k,h=h*d/i,i=d):a<0&&i>e&&(k=f/(6/(i/h*g)),e+=k,h=h*e/i,i=e),i*=a<0?-1:1,j=h/g,{dist:i,time:c.round(j)}},_offset:function(a){var b=-a.offsetLeft,c=-a.offsetTop;while(a=a.offsetParent)b-=a.offsetLeft,c-=a.offsetTop;return a!=this.wrapper&&(b*=this.scale,c*=this.scale),{left:b,top:c}},_snap:function(a,b){var d=this,e,f,g,h,i,j;g=d.pagesX.length-1;for(e=0,f=d.pagesX.length;e=d.pagesX[e]){g=e;break}g==d.currPageX&&g>0&&d.dirX<0&&g--,a=d.pagesX[g],i=c.abs(a-d.pagesX[d.currPageX]),i=i?c.abs(d.x-a)/i*500:0,d.currPageX=g,g=d.pagesY.length-1;for(e=0;e=d.pagesY[e]){g=e;break}return g==d.currPageY&&g>0&&d.dirY<0&&g--,b=d.pagesY[g],j=c.abs(b-d.pagesY[d.currPageY]),j=j?c.abs(d.y-b)/j*500:0,d.currPageY=g,h=c.round(c.max(i,j))||200,{x:a,y:b,time:h}},_bind:function(a,b,c){(b||this.scroller).addEventListener(a,this,!!c)},_unbind:function(a,b,c){(b||this.scroller).removeEventListener(a,this,!!c)},destroy:function(){var b=this;b.scroller.style[g]="",b.hScrollbar=!1,b.vScrollbar=!1,b._scrollbar("h"),b._scrollbar("v"),b._unbind(t,a),b._unbind(u),b._unbind(v),b._unbind(w),b._unbind(x),b.options.hasTouch||(b._unbind("mouseout",b.wrapper),b._unbind(y)),b.options.useTransition&&b._unbind(z),b.options.checkDOMChanges&&clearInterval(b.checkDOMTime),b.options.onDestroy&&b.options.onDestroy.call(b)},refresh:function(){var a=this,b,d,e,f,g=0,h=0;a.scalea.wrapperH),a.hScrollbar=a.hScroll&&a.options.hScrollbar,a.vScrollbar=a.vScroll&&a.options.vScrollbar&&a.scrollerH>a.wrapperH,b=a._offset(a.wrapper),a.wrapperOffsetLeft=-b.left,a.wrapperOffsetTop=-b.top;if(typeof a.options.snap=="string"){a.pagesX=[],a.pagesY=[],f=a.scroller.querySelectorAll(a.options.snap);for(d=0,e=f.length;d=a.maxScrollX)a.pagesX[h]=g,g-=a.wrapperW,h++;a.maxScrollX%a.wrapperW&&(a.pagesX[a.pagesX.length]=a.maxScrollX-a.pagesX[a.pagesX.length-1]+a.pagesX[a.pagesX.length-1]),g=0,h=0,a.pagesY=[];while(g>=a.maxScrollY)a.pagesY[h]=g,g-=a.wrapperH,h++;a.maxScrollY%a.wrapperH&&(a.pagesY[a.pagesY.length]=a.maxScrollY-a.pagesY[a.pagesY.length-1]+a.pagesY[a.pagesY.length-1])}a._scrollbar("h"),a._scrollbar("v"),a.zoomed||(a.scroller.style[i]="0",a._resetPos(200))},scrollTo:function(a,b,c,d){var e=this,f=a,g,h;e.stop(),f.length||(f=[{x:a,y:b,time:c,relative:d}]);for(g=0,h=f.length;g0?0:e.leftd.minScrollY?d.minScrollY:e.topd.pagesX.length-1?d.pagesX.length-1:a,b=b<0?0:b>d.pagesY.length-1?d.pagesY.length-1:b,d.currPageX=a,d.currPageY=b,e=d.pagesX[a],f=d.pagesY[b]):(e=-d.wrapperW*a,f=-d.wrapperH*b,e0?0:e.xe.minScrollY?e.minScrollY:e.yc.width+1?c.height=e.height:e.width';for(var e=0;e'}d+="",typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),h=e.extend({initialize:function(a){this.sources=a.sources,this.poster=a.poster||"",this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},addPolyFill:function(){var a=document.getElementsByTagName("body")[0],b=document.createElement("link"),c=document.createElement("script");b.setAttribute("href","http://vjs.zencdn.net/c/video-js.css"),b.setAttribute("rel","stylesheet"),c.setAttribute("src","http://vjs.zencdn.net/c/video.js"),a.appendChild(b),a.appendChild(c)},toHtml:function(a){var b=this.poster?' poster="'+this.poster+'"':"",c=this.autoPlay?" autoplay":"",d='",typeof window!="undefined"&&typeof window.VideoJS=="undefined"&&this.addPolyFill(),typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),i=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||40,this.autoPlay=a.autoPlay||!1},iCanHazAudioTag:function(a){if(!document)return!1;var b=document.createElement("audio");return b.canPlayType},toHtml:function(a){var b="";if(this.sources&&this.sources.length){for(var c=0;c";break}b||(b='Play')}typeof a=="function"&&a(null,b,{})}}),j=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},toHtml:function(a){var b="mediaplayerlib-mediaelement-video-"+j.nextId++,c=this.poster?' poster="'+this.poster+'"':"",d=this.autoPlay?" autoplay":"",e='",e+="",typeof a=="function"&&a(null,e,{width:this.width,height:this.height})}});j.nextId=0;var k=e.extend({initialize:function(a){this.options=a},toHtml:function(b){var c=null;for(var d=0;d';typeof a=="function"&&a(null,b,{width:this.width,height:this.height})}}),m=e.extend({initialize:function(a){this.url=a.url,this.publisher=a.publisher,this.width=a.width||500,this.height=a.height||281},toHtml:function(a){var b=this.url||"",c="",d="",e=function(){var a=function(){return((1+Math.random())*65536|0).toString(16).substring(1)};return"mediaplayerlib-"+a()+a()+a()};d=e(),this.publisher==="Ooyala"?(b+=(b.indexOf("?")===-1?"?":"&")+"width="+encodeURIComponent(this.width)+"&height="+encodeURIComponent(this.height),c='
    '+'"+''):c='',typeof a=="function"&&a(null,c,{width:this.width,height:this.height})}}),n=e.extend({toHtml:function(a){typeof a=="function"&&a(new Error("Unknown media type."),"Unknown media type.")}}),o=function(){};b(o.prototype,{execute:function(a,b){return new n(b)}}),o.extend=function(a){var c=function(a){o.call(this,a)};return b(c.prototype,a),c};var p=o.extend({execute:function(a,e){var f,g=c(a)||{},i=d(g,e);b(e,i);if(g["@type"]==="VideoObject")if(g.playerType==="iframe")b(e,{url:g.embedURL}),f=new l(e);else if(g.playerType==="script")b(e,{url:g.embedURL,publisher:g.publisher?g.publisher.name:null}),f=new m(e);else if(g.contentURL){var j=null;g.image&&g.image.contentURL&&(j=g.image.contentURL),b(e,{poster:j,sources:[g.contentURL]}),f=new h(e)}return f||new n}}),q=o.extend({execute:function(a,e){var f,h=c(a)||{},j=d(h,e);b(e,j);if(h.playerType==="iframe")b(e,{url:h.embedURL,html5:!0}),f=new l(e);else if(h.playerType==="script")b(e,{url:h.embedURL,html5:!0,publisher:h.publisher?h.publisher.name:null}),f=new m(e);else if(h["@type"]==="VideoObject"){if(h.contentURL){var k=null;h.image&&(k=h.image.contentURL),b(e,{poster:k,sources:[h.contentURL]}),f=new g(e)}}else h["@type"]==="AudioObject"&&h.contentURL&&(b(e,{sources:[h.contentURL]}),f=new i(e));return f}}),r=o.extend({execute:function(a,e){var f=c(a)||{},g=d(f,e);b(e,g);var h;if(a["@type"]==="VideoObject"){if(typeof a.contentURL!="undefined"){var i=null;f.image&&(i=f.image.contentURL),b(e,{poster:i,sources:[a.contentURL]}),h=new j(e)}}else a["@type"]==="AudioObject"&&typeof a.contentURL!="undefined"&&b(e,{sources:[a.contentURL]});return h}}),s=o.extend({execute:function(a,c){var d;return typeof a.url!="undefined"&&(b(c,{url:a.url}),d=new k(c)),d}}),t=function(){this.strategies={def:new p,html5:new q,mediaElement:new r,oembed:new s}};b(t.prototype,{resolve:function(a,b){b=b||{};var c;if(typeof b.strategy!="undefined"&&typeof this.strategies[b.strategy]!="undefined"){var d=this.strategies[b.strategy];c=d.execute(a,b)}return c||this.strategies.def.execute(a,b)},insertFragment:function(a,b){function d(a,b){b(a);for(var c in a.childNodes)d(a.childNodes[c],b)}function e(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()}function f(a){var b=a.text||a.textContent||a.innerHTML||"",c=a.getAttribute("src"),d=document.getElementsByTagName("head")[0]||document.documentElement,e=document.createElement("script");e.type="text/javascript",c&&e.setAttribute("src",c),b&&e.appendChild(document.createTextNode(b)),d.insertBefore(e,d.firstChild),a.parentNode&&a.parentNode.removeChild(a)}var c=null;Object.prototype.toString.call(b)==="[object String]"?c=document.getElementById(b):c=b,c.innerHTML=(""+a).trim();var g=[],h=null;d(c,function(a){a.nodeName&&a.nodeName.toUpperCase()==="SCRIPT"&&(!a.type||a.type==="text/javascript")&&g.push(a)});for(h in g)f(g[h])},insert:function(a,b,c,d){var e=this,f=this.resolve(a,b).toHtml(function(a,b){e.insertFragment(b,c),typeof d=="function"&&d(null)})}}),typeof Joshfire!="undefined"&&typeof Joshfire.define!="undefined"?Joshfire.define([],function(){return new t}):typeof define!="undefined"?define("joshfire-framework/utils/mediaplayerlib",[],function(){return new t}):a.mediaFactory=new t}(typeof module!="undefined"?module.exports:window),define("joshfire-framework/vendor/backbone",["joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b){return function(){var c=this,d=c.Backbone,e=Array.prototype.slice,f=Array.prototype.splice,g;typeof exports!="undefined"?g=exports:g=c.Backbone={},g.VERSION="0.9.2",g.setDomLibrary=function(a){b=a},g.noConflict=function(){return c.Backbone=d,this},g.emulateHTTP=!1,g.emulateJSON=!1;var h=/\s+/,i=g.Events={on:function(a,b,c){var d,e,f,g,i;if(!b)return this;a=a.split(h),d=this._callbacks||(this._callbacks={});while(e=a.shift())i=d[e],f=i?i.tail:{},f.next=g={},f.context=c,f.callback=b,d[e]={tail:g,next:i?i.next:f};return this},off:function(b,c,d){var e,f,g,i,j,k;if(!(f=this._callbacks))return;if(!(b||c||d))return delete this._callbacks,this;b=b?b.split(h):a.keys(f);while(e=b.shift()){g=f[e],delete f[e];if(!g||!c&&!d)continue;i=g.tail;while((g=g.next)!==i)j=g.callback,k=g.context,(c&&j!==c||d&&k!==d)&&this.on(e,j,k)}return this},trigger:function(a){var b,c,d,f,g,i,j;if(!(d=this._callbacks))return this;i=d.all,a=a.split(h),j=e.call(arguments,1);while(b=a.shift()){if(c=d[b]){f=c.tail;while((c=c.next)!==f)c.callback.apply(c.context||this,j)}if(c=i){f=c.tail,g=[b].concat(j);while((c=c.next)!==f)c.callback.apply(c.context||this,g)}}return this}};i.bind=i.on,i.unbind=i.off;var j=g.Model=function(b,c){var d;b||(b={}),c&&c.parse&&(b=this.parse(b));if(d=A(this,"defaults"))b=a.extend({},d,b);c&&c.collection&&(this.collection=c.collection),this.attributes={},this._escapedAttributes={},this.cid=a.uniqueId("c"),this.changed={},this._silent={},this._pending={},this.set(b,{silent:!0}),this.changed={},this._silent={},this._pending={},this._previousAttributes=a.clone(this.attributes),this.initialize.apply(this,arguments)};a.extend(j.prototype,i,{changed:null,_silent:null,_pending:null,idAttribute:"id",initialize:function(){},toJSON:function(b){return a.clone(this.attributes)},get:function(a){return this.attributes[a]},escape:function(b){var c;if(c=this._escapedAttributes[b])return c;var d=this.get(b);return this._escapedAttributes[b]=a.escape(d==null?"":""+d)},has:function(a){return this.get(a)!=null},set:function(b,c,d){var e,f,g;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d||(d={});if(!e)return this;e instanceof j&&(e=e.attributes);if(d.unset)for(f in e)e[f]=void 0;if(!this._validate(e,d))return!1;this.idAttribute in e&&(this.id=e[this.idAttribute]);var h=d.changes={},i=this.attributes,k=this._escapedAttributes,l=this._previousAttributes||{};for(f in e){g=e[f];if(!a.isEqual(i[f],g)||d.unset&&a.has(i,f))delete k[f],(d.silent?this._silent:h)[f]=!0;d.unset?delete i[f]:i[f]=g,!a.isEqual(l[f],g)||a.has(i,f)!=a.has(l,f)?(this.changed[f]=g,d.silent||(this._pending[f]=!0)):(delete this.changed[f],delete this._pending[f])}return d.silent||this.change(d),this},unset:function(a,b){return(b||(b={})).unset=!0,this.set(a,null,b)},clear:function(b){return(b||(b={})).unset=!0,this.set(a.clone(this.attributes),b)},fetch:function(b){b=b?a.clone(b):{};var c=this,d=b.success;return b.success=function(a,e,f){if(!c.set(c.parse(a,f),b))return!1;d&&d(c,a)},b.error=g.wrapError(b.error,c,b),(this.sync||g.sync).call(this,"read",this,b)},save:function(b,c,d){var e,f;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d=d?a.clone(d):{};if(d.wait){if(!this._validate(e,d))return!1;f=a.clone(this.attributes)}var h=a.extend({},d,{silent:!0});if(e&&!this.set(e,d.wait?h:d))return!1;var i=this,j=d.success;d.success=function(b,c,f){var g=i.parse(b,f);d.wait&&(delete d.wait,g=a.extend(e||{},g));if(!i.set(g,d))return!1;j?j(i,b):i.trigger("sync",i,b,d)},d.error=g.wrapError(d.error,i,d);var k=this.isNew()?"create":"update",l=(this.sync||g.sync).call(this,k,this,d);return d.wait&&this.set(f,h),l},destroy:function(b){b=b?a.clone(b):{};var c=this,d=b.success,e=function(){c.trigger("destroy",c,c.collection,b)};if(this.isNew())return e(),!1;b.success=function(a){b.wait&&e(),d?d(c,a):c.trigger("sync",c,a,b)},b.error=g.wrapError(b.error,c,b);var f=(this.sync||g.sync).call(this,"delete",this,b);return b.wait||e(),f},url:function(){var a=A(this,"urlRoot")||A(this.collection,"url")||B();return this.isNew()?a:a+(a.charAt(a.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},parse:function(a,b){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},change:function(b){b||(b={});var c=this._changing;this._changing=!0;for(var d in this._silent)this._pending[d]=!0;var e=a.extend({},b.changes,this._silent);this._silent={};for(var d in e)this.trigger("change:"+d,this,this.get(d),b);if(c)return this;while(!a.isEmpty(this._pending)){this._pending={},this.trigger("change",this,b);for(var d in this.changed){if(this._pending[d]||this._silent[d])continue;delete this.changed[d]}this._previousAttributes=a.clone(this.attributes)}return this._changing=!1,this},hasChanged:function(b){return arguments.length?a.has(this.changed,b):!a.isEmpty(this.changed)},changedAttributes:function(b){if(!b)return this.hasChanged()?a.clone(this.changed):!1;var c,d=!1,e=this._previousAttributes;for(var f in b){if(a.isEqual(e[f],c=b[f]))continue;(d||(d={}))[f]=c}return d},previous:function(a){return!arguments.length||!this._previousAttributes?null:this._previousAttributes[a]},previousAttributes:function(){return a.clone(this._previousAttributes)},isValid:function(){return!this.validate(this.attributes)},_validate:function(b,c){if(c.silent||!this.validate)return!0;b=a.extend({},this.attributes,b);var d=this.validate(b,c);return d?(c&&c.error?c.error(this,d,c):this.trigger("error",this,d,c),!1):!0}});var k=g.Collection=function(a,b){b||(b={}),b.model&&(this.model=b.model),b.comparator&&(this.comparator=b.comparator),this._reset(),this.initialize.apply(this,arguments),a&&this.reset(a,{silent:!0,parse:b.parse})};a.extend(k.prototype,i,{model:j,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},add:function(b,c){var d,e,g,h,i,j,k={},l={},m=[];c||(c={}),b=a.isArray(b)?b.slice():[b];for(d=0,g=b.length;d').hide().appendTo("body")[0].contentWindow,this.navigate(d)),this._hasPushState?b(window).bind("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!f?b(window).bind("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=d;var g=window.location,h=g.pathname==this.options.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!h)return this.fragment=this.getFragment(null,!0),window.location.replace(this.options.root+"#"+this.fragment),!0;this._wantsPushState&&this._hasPushState&&h&&g.hash&&(this.fragment=this.getHash().replace(r,""),window.history.replaceState({},document.title,g.protocol+"//"+g.host+this.options.root+this.fragment));if(!this.options.silent)return this.loadUrl()},stop:function(){b(window).unbind("popstate",this.checkUrl).unbind("hashchange",this.checkUrl),clearInterval(this._checkUrlInterval),q.started=!1},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(a){var b=this.getFragment();b==this.fragment&&this.iframe&&(b=this.getFragment(this.getHash(this.iframe)));if(b==this.fragment)return!1;this.iframe&&this.navigate(b),this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(b){var c=this.fragment=this.getFragment(b),d=a.any(this.handlers,function(a){if(a.route.test(c))return a.callback(c),!0});return d},navigate:function(a,b){if(!q.started)return!1;if(!b||b===!0)b={trigger:b};var c=(a||"").replace(r,"");if(this.fragment==c)return;this._hasPushState?(c.indexOf(this.options.root)!=0&&(c=this.options.root+c),this.fragment=c,window.history[b.replace?"replaceState":"pushState"]({},document.title,c)):this._wantsHashChange?(this.fragment=c,this._updateHash(window.location,c,b.replace),this.iframe&&c!=this.getFragment(this.getHash(this.iframe))&&(b.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,c,b.replace))):window.location.assign(this.options.root+a),b.trigger&&this.loadUrl(a)},_updateHash:function(a,b,c){c?a.replace(a.toString().replace(/(javascript:|#).*$/,"")+"#"+b):a.hash=b}});var t=g.View=function(b){this.cid=a.uniqueId("view"),this._configure(b||{}),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},u=/^(\S+)\s*(.*)$/,v=["model","collection","el","id","attributes","className","tagName"];a.extend(t.prototype,i,{tagName:"div",$:function(a){return this.$el.find(a)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this},make:function(a,c,d){var e=document.createElement(a);return c&&b(e).attr(c),d&&b(e).html(d),e},setElement:function(a,c){return this.$el&&this.undelegateEvents(),this.$el=a instanceof b?a:b(a),this.el=this.$el[0],c!==!1&&this.delegateEvents(),this},delegateEvents:function(b){if(!b&&!(b=A(this,"events")))return;this.undelegateEvents();for(var c in b){var d=b[c];a.isFunction(d)||(d=this[b[c]]);if(!d)throw new Error('Method "'+b[c]+'" does not exist');var e=c.match(u),f=e[1],g=e[2];d=a.bind(d,this),f+=".delegateEvents"+this.cid,g===""?this.$el.bind(f,d):this.$el.delegate(g,f,d)}},undelegateEvents:function(){this.$el.unbind(".delegateEvents"+this.cid)},_configure:function(b){this.options&&(b=a.extend({},this.options,b));for(var c=0,d=v.length;c/g,">").replace(/"+a+"";var c="<"+this.el.nodeName.toLowerCase();for(var d=0;d",c},hide:function(){c(this.el).hide(),this.trigger("hidden")},show:function(){c(this.el).show(),this.trigger("shown")},enhance:function(){this.customLoadEvent||this.trigger("load"),this.loadingClass&&c(this.el)&&(c(this.el).addClass(this.loadingClass),this.unbind("load",this.removeLoadingClass,this),this.bind("load",this.removeLoadingClass,this))},removeLoadingClass:function(){c(this.el).removeClass(this.loadingClass)}});return d}),define("joshfire-framework/uielement",["joshlib!view"],function(a){var b=a.extend({});return b}),define("joshfire-framework/adapters/phone/uielement",["joshlib!adapters/none/uielement","joshlib!vendor/iscroll","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c,d){var e=a.extend({initialize:function(b){this.options.scroller&&d(this.el).css({overflow:"hidden"}),this.options.scrollerSelector&&(this.scrollerSelector=this.options.scrollerSelector),this.bind("shown",function(){this.hasScroller&&this.iScroller&&this.iScroller.refresh()},this),a.prototype.initialize.call(this,b)},enhance:function(){var b=this;if(this.options.scroller){b.insertScroller(),window.skiped&&b.iScroller.scrollToElement("li:nth-child("+window.skiped+")",200);var c=b.$("img");c.length&&b.$("img").bind("load",function(){setTimeout(function(){b.iScroller.refresh()},10)})}a.prototype.enhance.call(this)},insertScroller:function(){var a=this;this.hasScroller=!0,a.iScroller&&a.iScroller.destroy();var e=a.el;a.scrollerSelector&&(e=d(a.scrollerSelector,a.el).get(0)||a.el),a.iScroller=new b(e,c.extend({useTransition:!0,onScrollMove:function(){a.$("a").bind("click.iscrollprevent",function(a){a.preventDefault()})},onScrollEnd:function(){setTimeout(function(){a.$("a").unbind("click.iscrollprevent")},100)},onBeforeScrollStart:function(a){var b=a.target;while(b.nodeType!=1)b=b.parentNode;b.tagName!="SELECT"&&b.tagName!="INPUT"&&b.tagName!="TEXTAREA"&&a.preventDefault()}},a.options.scrollOptions||{})),a.options.scrollOptions&&a.options.scrollOptions.disabled&&a.iScroller.disable(),document.addEventListener("orientationChanged",function(b){a.iScroller&&a.iScroller.refresh()})}});return e}),define("joshfire-framework/ui/item",["joshlib!uielement","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){c.template?this.template=this.compileTemplate(c.template):c.templateEl&&(this.template=this.compileTemplate(b(c.templateEl).text())),this.setModel(c.model),a.prototype.initialize.call(this,c)},setModel:function(a,b){this.model=a,a&&a.bind("change",this.render,this),b&&this.render()},generate:function(a){if(!this.template)return a(null,"");if(!this.model)return a(null,"");var b={model:this.model,obj:this.model,item:this.model?this.model.toJSON():{}};c.extend(b,this.data),a(null,this.template(b))}});return d}),define("joshfire-framework/ui/dynamiccontainer",["joshlib!uielement","joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){var e=a.extend({initialize:function(e){this.setModel(e.model),this.setCollection(e.collection),this.viewTemplateEl=e.viewTemplateEl||e.itemTemplateEl,this.viewOptions=e.viewOptions||e.itemOptions||{},this.viewOptions.templateEl=this.viewOptions.templateEl||this.viewTemplateEl,this.viewOptions.template=this.viewOptions.template||e.viewTemplate||e.itemTemplate,e.template?this.template=this.compileTemplate(e.template):e.templateEl&&(this.template=this.compileTemplate(c(e.templateEl).text())),this.viewFactory=function(a,c){var f={model:a,collection:c};return d.extend(f,this.viewOptions),factory=e.viewFactory||e.itemFactory,factory?factory(f):new b(f)},this.customLoadEvent=!0,this.bind("shown",function(){this.view&&this.view.trigger("shown")},this),this.bind("hidden",function(){this.view&&this.view.trigger("hidden")},this),a.prototype.initialize.call(this,e)},setModel:function(a,b){this.model&&this.model.unbind("change",this.render,this),this.model=a,a&&a.bind("change",this.render,this),b&&this.render()},setCollection:function(a,b){this.collection&&(this.collection.unbind("change",this.render,this),this.collection.unbind("add",this.render,this),this.collection.unbind("remove",this.render,this),this.collection.unbind("reset",this.render,this)),this.collection=a,a&&(a.bind("change",this.render,this),a.bind("add",this.render,this),a.bind("remove",this.render,this),a.bind("reset",this.render,this)),b&&this.render()},generate:function(a){var b=this;this.view&&this.view.unbind("load",this.triggerLoad,this),this.view=this.viewFactory(this.model,this.collection);if(!this.view)return a(null,"");this.view.bind("load",this.triggerLoad,this),!this.view.model&&this.view.setModel&&this.view.setModel(this.model),!this.view.collection&&this.view.setCollection&&this.view.setCollection(this.collection),this.view.generate(function(c,d){var e=b.view.wrapContent(d),f=null;return e&&b.template?f=b.template({child:e}):f=e?e:"",a(c,f)})},setContent:function(b){a.prototype.setContent.call(this,b),this.view&&this.el&&this.setViewElement(!0)},setElement:function(b,c){a.prototype.setElement.call(this,b,c),this.setViewElement(c)},setViewElement:function(a){this.view&&this.view.setElement(this.el.firstChild,a)},enhance:function(){var b=this;this.view.enhance();var c=["navUp","navRight","navDown","navLeft","navAction","navFocus","navBlur"];d.each(c,function(a){b[a]=b.view[a]}),a.prototype.enhance.call(this)},triggerLoad:function(){this.trigger("load")}});return e}),define("joshfire-framework/ui/factorymedia",["joshlib!ui/item","joshlib!utils/mediaplayerlib","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){var e=a.extend({initialize:function(b){this.mediaOptions=b.mediaOptions||{},a.prototype.initialize.call(this,b)},generate:function(e){var f=/^([0-9]{1,3})%$/,g=null,h=0,i=d.clone(this.mediaOptions);if(!this.model)return e(null,"");i.width&&d.isString(i.width)&&(g=i.width.match(f),g&&(h=parseInt(g[1],10),this.options.width?i.width=this.options.width*h/100:i.width=c(this.el).width()*h/100,i.width=Math.floor(i.width))),i.height&&d.isString(i.height)&&(g=i.height.match(f),g&&(h=parseInt(g[1],10),this.options.height?i.height=this.options.height*h/100:i.height=c(this.el).height()*h/100,i.height=Math.floor(i.height)));var j=b.resolve(this.model.toJSON(),i);j.toHtml(d.bind(function(b,c,f){if(this.template)d.extend(this.data,{media:{html:c,metadata:f},width:this.options.width,height:this.options.height}),a.prototype.generate.call(this,e);else return e(null,c)},this))}});return e}),define("joshfire-framework/ui/imagesloader",["joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){this.imageClass=c.imageClass,this.processImageEl=c.processImageEl;var d=this;this.getImages=c.getImages||function(){var a=b.map(this.$("img"),function(a){return d.imageClass&&b(a).addClass(d.imageClass),{el:a,url:b(a).attr("src")}});return a},this.customLoadEvent=!0,a.prototype.initialize.call(this,c)},enhance:function(){var d=this;if(!this.getImages){a.prototype.enhance.call(this),this.trigger("load");return}var e=this.getImages();if(!e||e.length===0){a.prototype.enhance.call(this),this.trigger("load");return}var f=0,g=function(a){a&&b(a).removeClass("loading"),f+=1,f===e.length&&d.trigger("load")};c.each(e,function(a){if(!a.el||!a.url)return g(a.el);var c=a.el;d.processImageEl&&(c=d.processImageEl(a.el)),b(c).addClass("loading");var e=new Image;e.onload=function(){g(c),e=null},e.onerror=function(){g(c),e=null},e.src=a.url}),a.prototype.enhance.call(this)}});return d}),define("joshfire-framework/ui/imageloader",["joshlib!ui/imagesloader","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){this.getImageUrl=c.getImageUrl||function(){return this.model?this.model.imageUrl:null};var d=this;c.getImages=function(){var a=null;return c.imageContainer&&(a=d.$(c.imageContainer)),a||(a=b(d.el)),[{el:a.get(0),url:d.getImageUrl()}]},a.prototype.initialize.call(this,c)},generate:function(a){if(!this.model){a(null,"");return}var b={model:this.model,obj:this.model,item:this.model?this.model.toJSON():{},imageUrl:this.getImageUrl.call(this)};c.extend(b,this.data),a(null,this.template(b))}});return d}),define("joshfire-framework/ui/listitem",["joshlib!uielement","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(c){this.view=c.view,this.offset=c.offset,this.customLoadEvent=!0,this.view&&this.view.bind("load",b.bind(function(){this.trigger("load")},this)),a.prototype.initialize.call(this,c)},setElement:function(a){this.view&&this.view.setElement(a)},generate:function(a){this.view.data.offset=this.offset,this.view.generate(a)},render:function(){this.view.render()},setContent:function(a){this.view.setContent(a)},hide:function(){this.view.hide()},show:function(){this.view.show()},enhance:function(){this.view.enhance()}});return c}),define("joshfire-framework/ui/list",["joshlib!uielement","joshlib!ui/listitem","joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d,e){var f=a.extend({initialize:function(f){f.templateEl?this.template=this.compileTemplate(d(f.templateEl).text()):this.template=this.compileTemplate("
      <%= children %>
    "),this.UIItemClass=f.UIItemClass||b,this.itemOptions=f.itemOptions||{scroller:!1},this.itemTemplateEl=f.itemTemplateEl,this.itemOptions.templateEl=this.itemOptions.templateEl||this.itemTemplateEl,this.itemOptions.template=this.itemOptions.template||f.itemTemplate,this.contentSelector=f.contentSelector,this.items=[],this.itemFactory=f.itemFactory||function(a,b){var d={model:a,offset:b};return e.extend(d,this.itemOptions),new c(d)},this.customLoadEvent=!0,this.dataLoadingClass="loading",typeof f.dataLoadingClass!="undefined"&&(this.dataLoadingClass=f.dataLoadingClass),this.dataLoadingClass===!1&&(this.dataLoadingClass=null),this.bind("shown",function(){e.each(this.items,function(a){a.trigger("shown")})},this),this.bind("hidden",function(){e.each(this.items,function(a){a.trigger("hidden")})},this),a.prototype.initialize.call(this,f),f.collection&&this.setCollection(f.collection)},setCollection:function(a,b){this.collection&&(this.collection.unbind("change",this.update,this),this.collection.unbind("add",this.update,this),this.collection.unbind("remove",this.update,this),this.collection.unbind("reset",this.update,this),this.collection.unbind("syncstarted",this.syncStartedHandler,this),this.collection.unbind("syncsuccess",this.syncSuccessHandler,this),this.collection.unbind("syncerror",this.syncErrorHandler,this)),this.collection=a,a&&(a.bind("change",this.update,this),a.bind("add",this.update,this),a.bind("remove",this.update,this),a.bind("reset",this.update,this),a.bind("syncstarted",this.syncStartedHandler,this),a.bind("syncsuccess",this.syncSuccessHandler,this),a.bind("syncerror",this.syncErrorHandler,this)),this.update(b)},update:function(a){this.items=new Array(this.collection.length),this.itemsLoaded=0;var c=function(){++this.itemsLoaded,this.itemsLoaded===this.items.length&&this.trigger("load")};for(var d=0;d
  • ');this.$(".next").parent().css({width:f-this.margin+"px","padding-left":this.margin+"px"}),this.$(".prev").parent().css({width:f-this.margin+"px","padding-left":this.margin*2+"px"}),this.$(".next").bind("click",c.bind(function(a){return a.preventDefault(),this.currPage=Math.min(g,this.currPage+1),this.iScroller.scrollToPage.call(this.iScroller,this.currPage,0,200),!1},this)),this.$(".prev").bind("click",c.bind(function(a){return a.preventDefault(),this.currPage=Math.max(0,this.currPage-1),this.iScroller.scrollToPage.call(this.iScroller,this.currPage,0,200),!1},this))}};e.call(this),a.prototype.enhance.call(this),window.addEventListener("resize",c.bind(e,this))}});return d}),define("joshfire-framework/ui/layout",["joshlib!uielement","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(c){c.template?this.template=this.compileTemplate(c.template):c.templateEl&&(this.template=this.compileTemplate($(c.templateEl).text())),this.customLoadEvent=!0,this.setChildren(c.children),this.bind("shown",function(){b.each(this.children,function(a){a.trigger("shown")})},this),this.bind("hidden",function(){b.each(this.children,function(a){a.trigger("hidden")})},this),a.prototype.initialize.call(this,c)},setChildren:function(a){this.children=a,this.numChildren=0,this.numChildrenLoaded=0,a&&b.each(a,b.bind(function(a){++this.numChildren,a.bind("load",b.bind(function(){++this.numChildrenLoaded,this.numChildrenLoaded===this.numChildren&&this.trigger("load")},this))},this))},getChild:function(a){if(a)return this.children[a]},generate:function(a){if(!this.children)return a(null,"");this.childrenOffsets={},this.numChildrenLoaded=0;var c=0,d="";b.each(this.children,b.bind(function(e,f){e.generate(b.bind(function(b,g){var h=e.wrapContent(g);this.childrenOffsets[f]=c,d+=h;if(++c===this.numChildren){var i=null;this.template?i=this.template({childrenOuterHTML:d}):i=d,a(null,i)}},this))},this))},setContent:function(b){a.prototype.setContent.call(this,b),this.children&&this.el&&this.setChildrenElements(!0)},setElement:function(b,c){a.prototype.setElement.call(this,b,c),this.setChildrenElements(c)},setChildrenElements:function(a){b.each(this.children,b.bind(function(a,b){var c=this.el.childNodes[this.childrenOffsets[b]];a.setElement(c,!0)},this))},enhance:function(){a.prototype.enhance.call(this),this.children&&this.el&&b.each(this.children,b.bind(function(a,b){a.enhance()},this)),(!this.children||this.children.length===0)&&this.trigger("load")}});return c}),define("joshfire-framework/ui/cardpanel",["joshlib!ui/layout","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(b){this.showChild(b.currentChild||b.defaultChildren),a.prototype.initialize.call(this,b)},showChild:function(a){if(this.currentChild===a)return;this.canUseDOM&&this.transition(this.currentChild,a),this.currentChild=a},showChildren:function(a){this.showChild(a)},transition:function(a,c){b.each(this.children,function(a,b){b!=c&&a.hide()}),c&&this.children[c].show()},enhance:function(){a.prototype.enhance.call(this),this.currentChild&&this.transition(null,this.currentChild),this.canUseDOM=!0}});return c}),define("joshfire-framework/ui/slidepanel",["joshlib!ui/cardpanel","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c){var d=a.extend({initialize:function(b){this.cssTransition=b.cssTransition||".4s ease-in-out all",a.prototype.initialize.call(this,b)},showChild:function(b,c){this.transitionDirection=c||"none",a.prototype.showChild.call(this,b)},transition:function(d,e){if(!this.transitionDirection||this.transitionDirection==="none"){a.prototype.transition.call(this,d,e);return}var f=this.children[e];f.hide(),c(f.el).css({position:"absolute",width:"100%",height:"100%",left:0,top:0});if(d){var g=0,h=0,i=this.children[d],j=c(this.el).width(),k=c(this.el).height(),l={position:"absolute",width:"100%",height:"100%"};switch(this.transitionDirection){case"left":b.extend(l,{position:"absolute",width:"100%",height:"100%",left:"100%",top:0}),g="-"+j+"px",h=0;break;case"right":b.extend(l,{position:"absolute",width:"100%",height:"100%",left:"-100%",top:0}),g=j+"px",h=0;break;case"up":b.extend(l,{position:"absolute",width:"100%",height:"100%",left:0,top:"100%"}),g=0,h="-"+k+"px";break;case"down":b.extend(l,{position:"absolute",width:"100%",height:"100%",left:0,top:"-100%"}),g=0,h=k+"px"}c(i.el).css(l);var m="translate("+g+","+h+")";c(this.el).css({"-webkit-transition":"none","-moz-transition":"none","-ms-transition":"none","-o-transition":"none",transition:"none","-webkit-transform":m,"-moz-transform":m,"-ms-transform":m,"-o-transform":m,transform:m})}b.each(this.children,b.bind(function(a,b){b===d||b===e?a.show():a.hide()},this)),c(this.el).css({"-webkit-transition":this.cssTransition,"-moz-transition":this.cssTransition,"-ms-transition":this.cssTransition,"-o-transition":this.cssTransition,transition:this.cssTransition,"-webkit-transform":"translate(0,0)","-moz-transform":"translate(0,0)","-ms-transform":"translate(0,0)","-o-transform":"translate(0,0)",transform:"translate(0,0)"})}});return d}),define("joshfire-framework/ui/fadeinpanel",["joshlib!ui/cardpanel","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c){var d=a.extend({initialize:function(b){this.cssTransition=b.cssTransition||".4s ease-in-out all",a.prototype.initialize.call(this,b)},transition:function(a,d){var e=this.children[d];e.hide(),c(e.el).css({filter:"alpha(opacity=0)","-khtml-opacity":0,"-moz-opacity":0,"-ms-opacity":0,"-o-opacity":0,opacity:0,"-webkit-transition":"none","-moz-transition":"none","-ms-transition":"none","-o-transition":"none",transition:"none"}),b.each(this.children,b.bind(function(a,b){a.hide()},this)),e.show(),c(e.el).css({filter:"alpha(opacity=100)","-khtml-opacity":1,"-moz-opacity":1,"-ms-opacity":1,"-o-opacity":1,opacity:1,"-webkit-transition":"0.7s ease-in-out all","-moz-transition":"0.7s ease-in-out all","-ms-transition":"0.7s ease-in-out all","-o-transition":"0.7s ease-in-out all",transition:"0.7s ease-in-out all","-webkit-backface-visibility":"hidden"})}});return d}),define("joshfire-framework/router",["joshlib!vendor/backbone","joshlib!vendor/underscore"],function(a,b){var c=function(c){b.extend(c,{historyStart:function(b){a.history.start(b)}});var d=a.Router.extend(c);return new d};return c}),define("sleek",["joshlib!collection","joshlib!ui/dynamiccontainer","joshlib!ui/item","joshlib!ui/list","joshlib!ui/cardpanel","joshlib!ui/fadeinpanel","joshlib!ui/factorymedia","joshlib!ui/imageloader","joshlib!ui/imagesloader","joshlib!router","joshlib!vendor/backbone","joshlib!vendor/underscore","joshlib!utils/dollar","ui/imagegallery"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o=function(){l.bindAll(this,"initialize","setColor","slugify")};return o.extend=k.View.extend,l.extend(o.prototype,{deviceFamily:"all",clientWidth:document.body.clientWidth,convertItemType:function(a){var b=null;switch(a){case"Article/Status":b="status";break;case"NewsArticle":case"BlogPosting":case"Article":case"CreativeWork":b="news";break;case"Event":b="event";break;case"ImageObject":b="photo";break;case"VideoObject":b="video";break;case"MusicRecording":b="sound";break;case"Product":b="product";break;default:b="other"}return b},initialize:function(){var b=this;this.title=Joshfire.factory.config.app.name,this.tabs=Joshfire.factory.config.template.options.tabs||[],this.tabicons=Joshfire.factory.config.template.options.tabicons||[],this.backgroundURL=Joshfire.factory.config.template.options.backgroundimage?Joshfire.factory.config.template.options.backgroundimage.url:Joshfire.factory.config.template.options.backgroundurl,this.logoURL=Joshfire.factory.config.app.logo?Joshfire.factory.config.app.logo.contentURL:null,document.title=this.title,this.setColor(Joshfire.factory.config.template.options.color||"gray",function(){var c=b.getDatasources(),d=new Array(c.length),e=0;l.forEach(c,l.bind(function(c,e){var f=this.tabs[e]||c.name||"",g=this.tabicons[e],h=e+"--"+this.slugify(f.toLowerCase()),i=new a([],{dataSource:c,dataSourceQuery:{}}),j=c.getOutputType();d[e]={name:f,slug:h,icon:g||b.convertItemType(j),outputType:b.convertItemType(j),collection:i,index:e}},b));var f=b.createViews(d),g=b.createRoutes(d,f),h=j(g);h.historyStart()})},getDatasources:function(){var a=Joshfire.factory.getDataSource("main"),b=[];return a&&a.children&&a.children.length>0&&(b=b.concat(a.children)),b},setColor:function(a,b){m("#color").remove(),window.Sid.css("css/"+this.deviceFamily+"."+a+".css",b)},setTitle:function(a){m("#title").html(a)},getClassName:function(a,b){if(b!=="list")return b==="single"?"single content detail":"content detail";switch(a){case"status":case"event":return"content hashed-list";case"photo":return"content mosaic-list";default:return"content simple-list"}},createToolbar:function(a){var b=new k.Collection,c=null;for(var d=0;dc&&(d.setModel(a.collection.at(c)),d.render()),b.view.showChild("detail","right")}},createListElement:function(a){return a.outputType==="photo"?new n({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list"),dataLoadingClass:"dataloading",loadingClass:"loading"}):new d({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list")})},createDetailContainer:function(a,c){var d=this;return new b({viewFactory:function(b){return l.extend(b,{slug:a.slug}),d.createDetailElement(b,c)},className:d.getClassName(a,c?"single":"detail")})},createDetailElement:function(a){if(!a.model)return new c({});var b=this.convertItemType(a.model.get("@type")),d=this;switch(b){case"video":return new g({templateEl:"#template-"+b,scroller:!0,scrollerSelector:".wrapper",width:d.getContentWidth(),height:d.getContentHeight(),mediaOptions:{strategy:"html5",width:"100%",height:"80%",adjustSize:!0}});case"sound":return new g({templateEl:"#template-"+b,mediaOptions:{strategy:"html5"}});case"status":return new h({templateEl:"#template-"+b,scroller:!0,getImageUrl:function(){return d.getAuthorThumbnail(a.model.toJSON())}});default:return new i({templateEl:"#template-"+b,scroller:!0,imageClass:"fadein",processImageEl:function(a){var b=document.createElement("div");b.setAttribute("class","loader inv");var c=document.createElement("div");return c.setAttribute("class","figure"),c.appendChild(b),a.getAttribute("width")?c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"):c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"),a.parentNode.replaceChild(c,a),c.appendChild(a),c}})}},itemFactory:function(a){var b=this;return function(d,e){var f=d.toJSON(),g=a.outputType||b.convertItemType(f["@type"]),i="#template-"+g+"-item",j={data:{section:a},model:d,offset:e,templateEl:i};switch(g){case"photo":case"video":case"product":case"news":return j.getImageUrl=function(){return b.getThumbnail(f,e,.2)},j.imageContainer=".figure",new h(j);case"status":return j.getImageUrl=function(){return b.getAuthorThumbnail(f,e)},j.imageContainer=".figure",new h(j);default:return new c(j)}}},createRoutes:function(a,b){return{routes:{"":"home"},home:function(){a.length?this[a[0].slug]():(m("#title").html("No data"),document.body.id="nodata",m("#refresh").hide())}}},getContentWidth:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).width()});return Math.floor(m(b).width())},getContentHeight:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).height()});return m(b).height()},getThumbnail:function(a,b,c){if(!a)return"";c=c||.2;var d=this.clientWidth*c,e=0,f=0,g=a.thumbnail,h=null,i=null,j=null;if(g&&g.length>0){j=g[0],f=j.width||0;for(var k=0;k=d&&(ef)j=g[k]}h=j.contentURL}return h||(a["@type"]==="ImageObject"&&a.contentURL?h=a.contentURL:a.image&&a.image.contentURL&&(h=a.image.contentURL)),h||(h=""),h},getAuthorThumbnail:function(a,b){if(!a)return"";var c="";return a.author&&a.author[0]&&(c=this.getThumbnail(a.author[0],b,.2)),c||(c=this.getThumbnail(a,b,.2)),c},slugify:function(a){return a=a.replace(/[^\-a-zA-Z0-9,&\s]+/ig,""),a=a.replace(/-/gi,"_"),a=a.replace(/\s/gi,"-"),a}}),o}),define("sleek.custom",["sleek"],function(a){return a}),define("sleek.phone",["sleek.custom","joshlib!ui/toolbar","joshlib!ui/slidepanel","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d,e){return a.extend({deviceFamily:"phone",createToolbarElement:function(){return new b({el:"#toolbar",templateEl:"#template-toolbar",itemTemplateEl:"#toolbar-item",scroller:!0,scrollOptions:{vScroll:!1,hScrollbar:!1,snap:!0,bounce:!1,disabled:!0},useWindowWidth:!0})},createListAndDetailView:function(a,b){var d=new c({children:{list:a,detail:b},currentChild:"list",className:"slide-panel"});return d},createRoutes:function(b,c){var f=a.prototype.createRoutes.call(this,b,c),g=d("#title"),h=d("#toolbar"),i=d("#back"),j=d("#refresh"),k=this;return e.forEach(b,function(a){f.routes[a.slug]=a.slug,f[a.slug]=function(){g.html(a.name),document.body.id=a.outputType,d("iframe, audio, video, object, embed").remove(),h.find(".active").removeClass("active"),h.find(".section-"+a.slug).addClass("active"),j.show().unbind("click").bind("click",e.bind(function(c){return k.refreshList(a,b),c.preventDefault(),!1},this)),i.hide();var b=c.children[a.slug];a.collection.length?(k.moveToList(b),c.showChild(a.slug)):(c.showChild(a.slug),k.updateList(a,b))},a.outputType!=="photo"&&(f.routes[a.slug+"/:offset"]=a.slug+"Detail",f[a.slug+"Detail"]=function(b){b=parseInt(b,10),g.html(a.name),document.body.id=a.outputType,d("iframe, audio, video, object, embed").remove(),h.find(".active").removeClass("active"),h.find(".section-"+a.slug).addClass("active"),j.hide(),i.attr("href","#"+a.slug),i.css({display:"block"});var e=c.children[a.slug];c.showChild(a.slug),a.collection.length?k.showDetail(a,e,b):k.updateDetail(a,e,b)})}),f}})}),define("app.phone",["sleek.phone","joshlib!utils/onready"],function(a,b){var c=new a;b(c.initialize)}) \ No newline at end of file diff --git a/app/app.tablet.optimized.js b/app/app.tablet.optimized.js index 3a7e079..fb4cc59 100644 --- a/app/app.tablet.optimized.js +++ b/app/app.tablet.optimized.js @@ -26,4 +26,4 @@ * iScroll v4.2 ~ Copyright (c) 2012 Matteo Spinelli, http://cubiq.org * Released under MIT license, http://cubiq.org/license */ -!function(a,b){function c(a,b){function c(){}c[i]=this[i];var e=this,f=new c,g=j(a),h=g?a:this,k=g?{}:a,l=function(){this.initialize?this.initialize.apply(this,arguments):(b||g&&e.apply(this,arguments),h.apply(this,arguments))};return l.methods=function(a){return d(f,a,e),l[i]=f,this},l.methods.call(l,k).prototype.constructor=l,l.extend=arguments.callee,l[i].implement=l.statics=function(a,b){return a=typeof a=="string"?function(){var c={};return c[a]=b,c}():a,d(this,a,e),this},l}function d(a,b,c){for(var d in b)b.hasOwnProperty(d)&&(a[d]=j(b[d])&&j(c[i][d])&&g.test(b[d])?e(d,b[d],c):b[d])}function e(a,b,c){return function(){var d=this.supr;this.supr=c[i][a];var e=b.apply(this,arguments);return this.supr=d,e}}function f(a){return c.call(j(a)?a:h,a,1)}var g=/xyz/.test(function(){xyz})?/\bsupr\b/:/.*/,h=function(){},i="prototype",j=function(a){return typeof a===b};if(typeof module!="undefined"&&module.exports)module.exports=f;else{var k=a.klass;f.noConflict=function(){return a.klass=k,this},a.klass=f}}(this,"function"),define("vendor/klass",function(){}),function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=[].slice,c=b.call(arguments,1),d=this,e=function(){},f=function(){return d.apply(this instanceof e?this:a||{},c.concat(b.call(arguments)))};return e.prototype=d.prototype,f.prototype=new e,f}),typeof a.Code=="undefined"&&(a.Code={}),a.Code.Util={registerNamespace:function(){var b=arguments,c=null,d,f,g,h,i;d=0;for(h=b.length;db.DOM.windowHeight()}},b.Browser._detect()}(window,window.Code.Util),function(a,b){b.extend(b,{Events:{add:function(a,b,c){this._checkHandlersProperty(a),b==="mousewheel"&&(b=this._normaliseMouseWheelType()),typeof a.__eventHandlers[b]=="undefined"&&(a.__eventHandlers[b]=[]),a.__eventHandlers[b].push(c),this._isBrowserObject(a)&&a.addEventListener(b,c,!1)},remove:function(a,d,e){this._checkHandlersProperty(a),d==="mousewheel"&&(d=this._normaliseMouseWheelType());if(a.__eventHandlers[d]instanceof Array){var f,g,h=a.__eventHandlers[d];if(b.isNothing(e)){if(this._isBrowserObject(a)){f=0;for(g=h.length;f=1;)a.removeChild(a.childNodes[a.childNodes.length-1])},hasAttribute:function(a,d){return!b.isNothing(a.getAttribute(d))},getAttribute:function(a,d,e){return a=a.getAttribute(d),b.isNothing(a)&&!b.isNothing(e)&&(a=e),a},setAttribute:function(a,d,e){if(b.isLikeArray(a)){var f,g;f=0;for(g=a.length;f=1&&b.DOM.setStyle(d,"opacity",0),b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",i,f,g,h):b.isNothing(a.jQuery)||a.jQuery(d).fadeTo(f,i,g)},fadeTo:function(a,b,c,d,e){this.fadeIn(a,c,d,e,b)},fadeOut:function(d,f,g,h){if(f<=0&&(b.DOM.setStyle(d,"opacity",0),!b.isNothing(g))){g(d);return}b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",0,f,g,h):a.jQuery(d).fadeTo(f,0,g)},slideBy:function(d,f,g,h,i,j){var k={},f=b.coalesce(f,0),g=b.coalesce(g,0),j=b.coalesce(j,"ease-out");k[this._transitionPrefix+"Property"]="all",k[this._transitionPrefix+"Delay"]="0",h===0?(k[this._transitionPrefix+"Duration"]="",k[this._transitionPrefix+"TimingFunction"]=""):(k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=b.coalesce(j,"ease-out"),b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler())),k[this._transformLabel]=b.Browser.is3dSupported?"translate3d("+f+"px, "+g+"px, 0px)":"translate("+f+"px, "+g+"px)",b.isNothing(i)||(d.cclallcallback=i),b.DOM.setStyle(d,k),h===0&&a.setTimeout(function(){this._leaveTransforms(d)}.bind(this),this._applyTransitionDelay)},resetTranslate:function(a){var d={};d[this._transformLabel]=d[this._transformLabel]=b.Browser.is3dSupported?"translate3d(0px, 0px, 0px)":"translate(0px, 0px)",b.DOM.setStyle(a,d)},_applyTransition:function(d,f,g,h,i,j){var k={},j=b.coalesce(j,"ease-in");k[this._transitionPrefix+"Property"]=f,k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=j,k[this._transitionPrefix+"Delay"]="0",b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler()),b.DOM.setStyle(d,k),b.isNothing(i)||(d["ccl"+f+"callback"]=i),a.setTimeout(function(){b.DOM.setStyle(d,f,g)},this._applyTransitionDelay)},_onTransitionEnd:function(a){b.Events.remove(a.currentTarget,this._transitionEndLabel,this._getTransitionEndHandler()),this._leaveTransforms(a.currentTarget)},_leaveTransforms:function(d){var f=d.style[this._transitionPrefix+"Property"],g=f!==""?"ccl"+f+"callback":"cclallcallback",h,f=b.coalesce(d.style.webkitTransform,d.style.MozTransform,d.style.transform),i,j=a.parseInt(b.DOM.getStyle(d,"left"),0),k=a.parseInt(b.DOM.getStyle(d,"top"),0),l,m,n={};f!==""&&(f=b.Browser.is3dSupported?f.match(/translate3d\((.*?)\)/):f.match(/translate\((.*?)\)/),b.isNothing(f)||(i=f[1].split(", "),l=a.parseInt(i[0],0),m=a.parseInt(i[1],0))),n[this._transitionPrefix+"Property"]="",n[this._transitionPrefix+"Duration"]="",n[this._transitionPrefix+"TimingFunction"]="",n[this._transitionPrefix+"Delay"]="",b.DOM.setStyle(d,n),a.setTimeout(function(){b.isNothing(i)||(n={},n[this._transformLabel]="",n.left=j+l+"px",n.top=k+m+"px",b.DOM.setStyle(d,n)),b.isNothing(d[g])||(h=d[g],delete d[g],h(d))}.bind(this),this._applyTransitionDelay)}}})}(window,window.Code.Util),function(a,b,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(a,b,c){c.registerNamespace("Code.Util.TouchElement"),c.TouchElement.TouchElementClass=b({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 a;this.removeEventHandlers();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(a,b){this.el=a,this.captureSettings={swipe:!1,move:!1,gesture:!1,doubleTap:!1,preventDefaultTouchEvents:!0},c.extend(this.captureSettings,b),this.swipeThreshold=50,this.doubleTapSpeed=this.swipeTimeThreshold=250,this.touchStartPoint={x:0,y:0},this.touchEndPoint={x:0,y:0}},addEventHandlers:function(){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),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),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),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),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(a){return{x:a[0].pageX,y:a[0].pageY}},fireTouchEvent:function(b){var d=0,f=0,g=0,h,d=this.touchEndPoint.x-this.touchStartPoint.x,f=this.touchEndPoint.y-this.touchStartPoint.y,g=Math.sqrt(d*d+f*f);if(this.captureSettings.swipe&&(h=new Date,h-=this.touchStartTime,h<=this.swipeTimeThreshold)){if(a.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.swipeLeft:c.TouchElement.ActionTypes.swipeRight,targetEl:b.target,currentTargetEl:b.currentTarget});return}if(a.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.swipeUp:c.TouchElement.ActionTypes.swipeDown,targetEl:b.target,currentTargetEl:b.currentTarget});return}}g>1?c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMoveEnd,point:this.touchEndPoint,targetEl:b.target,currentTargetEl:b.currentTarget}):this.captureSettings.doubleTap?c.isNothing(this.doubleTapTimeout)?this.doubleTapTimeout=a.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:b.target,currentTargetEl:b.currentTarget})}.bind(this),this.doubleTapSpeed):(a.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:b.target,currentTargetEl:b.currentTarget})):c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:c.TouchElement.ActionTypes.tap,targetEl:b.target,currentTargetEl:b.currentTarget})},onTouchStart:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault(),c.Events.remove(this.el,"mousedown",this.mouseDownHandler);var b=c.Events.getTouchEvent(a).touches;b.length>1&&this.captureSettings.gesture?this.isGesture=!0:(this.touchStartTime=new Date,this.isGesture=!1,this.touchStartPoint=this.getTouchPoint(b),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget}))},onTouchMove:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();if(!this.isGesture||!this.captureSettings.gesture){var b=c.Events.getTouchEvent(a).touches;c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:this.getTouchPoint(b),targetEl:a.target,currentTargetEl:a.currentTarget})}},onTouchEnd:function(a){if(!this.isGesture||!this.captureSettings.gesture){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();var b=c.Events.getTouchEvent(a);this.touchEndPoint=this.getTouchPoint(c.isNothing(b.changedTouches)?b.touches:b.changedTouches),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)}},onMouseDown:function(a){a.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),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=!1,this.touchStartPoint=c.Events.getMousePosition(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseMove:function(a){a.preventDefault(),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:c.Events.getMousePosition(a),targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseUp:function(a){a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)},onMouseOut:function(a){var b=a.relatedTarget;this.el!==b&&!c.DOM.isChildOf(b,this.el)&&(a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a))},onGestureStart:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureStart,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureChange:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureChange,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureEnd:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureEnd,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image"),a.Code.PhotoSwipe.Image.EventTypes={onLoad:"onLoad",onError:"onError"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image");var d=a.Code.PhotoSwipe;d.Image.ImageClass=b({refObj:null,imageEl:null,src:null,caption:null,metaData:null,imageLoadHandler:null,imageErrorHandler:null,dispose:function(){var a;this.shrinkImage();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,c,d,f){this.refObj=b,this.src=this.originalSrc=c,this.caption=d,this.metaData=f,this.imageEl=new a.Image,this.imageLoadHandler=this.onImageLoad.bind(this),this.imageErrorHandler=this.onImageError.bind(this)},load:function(){this.imageEl.originalSrc=c.coalesce(this.imageEl.originalSrc,""),this.imageEl.originalSrc===this.src?this.imageEl.isError?c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this}):c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this}):(this.imageEl.isError=!1,this.imageEl.isLoading=!0,this.imageEl.naturalWidth=null,this.imageEl.naturalHeight=null,this.imageEl.isLandscape=!1,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(){!c.isNothing(this.imageEl)&&this.imageEl.src.indexOf(this.src)>-1&&(this.imageEl.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",c.isNothing(this.imageEl.parentNode)||c.DOM.removeChild(this.imageEl,this.imageEl.parentNode))},onImageLoad:function(){this.imageEl.onload=null,this.imageEl.naturalWidth=c.coalesce(this.imageEl.naturalWidth,this.imageEl.width),this.imageEl.naturalHeight=c.coalesce(this.imageEl.naturalHeight,this.imageEl.height),this.imageEl.isLandscape=this.imageEl.naturalWidth>this.imageEl.naturalHeight,this.imageEl.isLoading=!1,c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this})},onImageError:function(){this.imageEl.onload=null,this.imageEl.onerror=null,this.imageEl.onabort=null,this.imageEl.isLoading=!1,this.imageEl.isError=!0,c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Cache"),a=a.Code.PhotoSwipe,a.Cache.Mode={normal:"normal",aggressive:"aggressive"},a.Cache.Functions={getImageSource:function(a){return a.href},getImageCaption:function(a){if(a.nodeName==="IMG")return c.DOM.getAttribute(a,"alt");var b,d,e;b=0;for(d=a.childNodes.length;bd&&(d=c.DOM.windowHeight())):(b=c.DOM.width(this.settings.target),d=c.DOM.height(this.settings.target),f="0px"),c.DOM.setStyle(this.el,{width:b,height:d,top:f})},fadeIn:function(a,b){this.resetPosition(),c.DOM.setStyle(this.el,"opacity",0),c.DOM.show(this.el),c.Animation.fadeIn(this.el,a,b)}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel"),a=a.Code.PhotoSwipe,a.Carousel.EventTypes={onSlideByEnd:"PhotoSwipeCarouselOnSlideByEnd",onSlideshowStart:"PhotoSwipeCarouselOnSlideshowStart",onSlideshowStop:"PhotoSwipeCarouselOnSlideshowStop"},a.Carousel.CssClasses={carousel:"ps-carousel",content:"ps-carousel-content",item:"ps-carousel-item",itemLoading:"ps-carousel-item-loading",itemError:"ps-carousel-item-error"},a.Carousel.SlideByAction={previous:"previous",current:"current",next:"next"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel");var d=a.Code.PhotoSwipe;d.Carousel.CarouselClass=b({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 a,b,e;b=0;for(e=this.cache.images.length;b0&&c.DOM.setStyle(i,{marginRight:this.settings.margin+"px"}),c.DOM.appendChild(i,this.contentEl);this.settings.target===a?c.DOM.appendToBody(this.el):c.DOM.appendChild(this.el,this.settings.target)},resetPosition:function(){var b,f,g,h,i,j;this.settings.target===a?(b=c.DOM.windowWidth(),f=c.DOM.windowHeight(),g=c.DOM.windowScrollTop()+"px"):(b=c.DOM.width(this.settings.target),f=c.DOM.height(this.settings.target),g="0px"),h=this.settings.margin>0?b+this.settings.margin:b,i=c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl),h*=i.length,c.DOM.setStyle(this.el,{top:g,width:b,height:f}),c.DOM.setStyle(this.contentEl,{width:h,height:f}),g=0;for(h=i.length;gf&&(b=f/d,d=Math.round(d*b),e=Math.round(e*b)),e>g&&(b=g/e,e=Math.round(e*b),d=Math.round(d*b))):(b=a.isLandscape?f/a.naturalWidth:g/a.naturalHeight,d=Math.round(a.naturalWidth*b),e=Math.round(a.naturalHeight*b),this.settings.imageScaleMethod==="zoom"?(b=1,ef?b=f/d:e>g&&(b=g/e),b!==1&&(d=Math.round(d*b),e=Math.round(e*b)))),c.DOM.setStyle(a,{position:"absolute",width:d,height:e,top:Math.round((g-e)/2)+"px",left:Math.round((f-d)/2)+"px",display:"block"})}},setContentLeftPosition:function(){var b,d,f;b=this.settings.target===a?c.DOM.windowWidth():c.DOM.width(this.settings.target),d=this.getItemEls(),f=0,this.settings.loop?f=(b+this.settings.margin)*-1:this.currentCacheIndex===this.cache.images.length-1?f=(d.length-1)*(b+this.settings.margin)*-1:this.currentCacheIndex>0&&(f=(b+this.settings.margin)*-1),c.DOM.setStyle(this.contentEl,{left:f+"px"})},show:function(a){this.currentCacheIndex=a,this.resetPosition(),this.setImages(!1),c.DOM.show(this.el),c.Animation.resetTranslate(this.contentEl);var a=this.getItemEls(),b,e;b=0;for(e=a.length;bthis.cache.images.length-1&&(b=0),d<0&&(d=this.cache.images.length-1),b=this.cache.getImages([d,this.currentCacheIndex,b]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[0],c[0])):c.length===1?a||(b=this.cache.getImages([this.currentCacheIndex]),this.addCacheImageToItemEl(b[0],c[0])):c.length===2?this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[0],c[0])):this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1,this.currentCacheIndex+2]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])):(this.currentCacheIndex===this.cache.images.length-1?(b=this.cache.getImages([this.currentCacheIndex-2,this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])),this.addCacheImageToItemEl(b[0],c[0]))},addCacheImageToItemEl:function(a,b){c.DOM.removeClass(b,d.Carousel.CssClasses.itemError),c.DOM.addClass(b,d.Carousel.CssClasses.itemLoading),c.DOM.removeChildren(b),c.DOM.setStyle(a.imageEl,{display:"none"}),c.DOM.appendChild(a.imageEl,b),c.Animation.resetTranslate(a.imageEl),c.Events.add(a,d.Image.EventTypes.onLoad,this.imageLoadHandler),c.Events.add(a,d.Image.EventTypes.onError,this.imageErrorHandler),a.load()},slideCarousel:function(b,f,g){if(!this.isSliding){var h,i;h=this.settings.target===a?c.DOM.windowWidth()+this.settings.margin:c.DOM.width(this.settings.target)+this.settings.margin,g=c.coalesce(g,this.settings.slideSpeed);if(!(a.Math.abs(i)<1)){switch(f){case c.TouchElement.ActionTypes.swipeLeft:b=h*-1;break;case c.TouchElement.ActionTypes.swipeRight:b=h;break;default:i=b.x-this.touchStartPoint.x,b=a.Math.abs(i)>h/2?i>0?h:h*-1:0}this.lastSlideByAction=b<0?d.Carousel.SlideByAction.next:b>0?d.Carousel.SlideByAction.previous:d.Carousel.SlideByAction.current,!this.settings.loop&&(this.lastSlideByAction===d.Carousel.SlideByAction.previous&&this.currentCacheIndex===0||this.lastSlideByAction===d.Carousel.SlideByAction.next&&this.currentCacheIndex===this.cache.images.length-1)&&(b=0,this.lastSlideByAction=d.Carousel.SlideByAction.current),this.isSliding=!0,this.doSlideCarousel(b,g)}}},moveCarousel:function(a){this.isSliding||this.settings.enableDrag&&this.doMoveCarousel(a.x-this.touchStartPoint.x)},getItemEls:function(){return c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl)},previous:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeRight,this.settings.nextPreviousSlideSpeed)},next:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft,this.settings.nextPreviousSlideSpeed)},slideshowNext:function(){this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft)},startSlideshow:function(){this.stopSlideshow(),this.isSlideshowActive=!0,this.slideshowTimeout=a.setTimeout(this.slideshowNext.bind(this),this.settings.slideshowDelay),c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStart,target:this})},stopSlideshow:function(){c.isNothing(this.slideshowTimeout)||(a.clearTimeout(this.slideshowTimeout),this.slideshowTimeout=null,this.isSlideshowActive=!1,c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStop,target:this}))},onSlideByEnd:function(){if(!c.isNothing(this.isSliding)){var a=this.getItemEls();this.isSliding=!1,this.lastSlideByAction===d.Carousel.SlideByAction.next?this.currentCacheIndex+=1:this.lastSlideByAction===d.Carousel.SlideByAction.previous&&(this.currentCacheIndex-=1),this.settings.loop?(this.lastSlideByAction===d.Carousel.SlideByAction.next?c.DOM.appendChild(a[0],this.contentEl):this.lastSlideByAction===d.Carousel.SlideByAction.previous&&c.DOM.insertBefore(a[a.length-1],a[0],this.contentEl),this.currentCacheIndex<0)?this.currentCacheIndex=this.cache.images.length-1:this.currentCacheIndex===this.cache.images.length&&(this.currentCacheIndex=0):this.cache.images.length>3&&(this.currentCacheIndex>1&&this.currentCacheIndex
    '}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Toolbar");var d=a.Code.PhotoSwipe;d.Toolbar.ToolbarClass=b({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 a;this.clearTimeout(),this.removeEventHandlers(),c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),c.DOM.removeChild(this.toolbarEl,this.toolbarEl.parentNode),c.DOM.removeChild(this.captionEl,this.captionEl.parentNode);for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,f){var g;this.settings=f,this.cache=b,this.isVisible=!1,this.fadeOutHandler=this.onFadeOut.bind(this),this.touchStartHandler=this.onTouchStart.bind(this),this.touchMoveHandler=this.onTouchMove.bind(this),this.clickHandler=this.onClick.bind(this),g=d.Toolbar.CssClasses.toolbar,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.toolbarTop),this.toolbarEl=c.DOM.createElement("div",{"class":g},this.settings.getToolbar()),c.DOM.setStyle(this.toolbarEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.toolbarEl):c.DOM.appendChild(this.toolbarEl,this.settings.target),c.DOM.hide(this.toolbarEl),this.closeEl=c.DOM.find("."+d.Toolbar.CssClasses.close,this.toolbarEl)[0],this.settings.preventHide&&!c.isNothing(this.closeEl)&&c.DOM.hide(this.closeEl),this.playEl=c.DOM.find("."+d.Toolbar.CssClasses.play,this.toolbarEl)[0],this.settings.preventSlideshow&&!c.isNothing(this.playEl)&&c.DOM.hide(this.playEl),this.nextEl=c.DOM.find("."+d.Toolbar.CssClasses.next,this.toolbarEl)[0],this.previousEl=c.DOM.find("."+d.Toolbar.CssClasses.previous,this.toolbarEl)[0],g=d.Toolbar.CssClasses.caption,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.captionBottom),this.captionEl=c.DOM.createElement("div",{"class":g},""),c.DOM.setStyle(this.captionEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.captionEl):c.DOM.appendChild(this.captionEl,this.settings.target),c.DOM.hide(this.captionEl),this.captionContentEl=c.DOM.createElement("div",{"class":d.Toolbar.CssClasses.captionContent},""),c.DOM.appendChild(this.captionContentEl,this.captionEl),this.addEventHandlers()},resetPosition:function(){var b,d,f;this.settings.target===a?(this.settings.captionAndToolbarFlipPosition?(d=c.DOM.windowScrollTop(),f=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.captionEl)):(d=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.toolbarEl),f=c.DOM.windowScrollTop()),b=c.DOM.windowWidth()):(this.settings.captionAndToolbarFlipPosition?(d="0",f=c.DOM.height(this.settings.target)-c.DOM.height(this.captionEl)):(d=c.DOM.height(this.settings.target)-c.DOM.height(this.toolbarEl),f=0),b=c.DOM.width(this.settings.target)),c.DOM.setStyle(this.toolbarEl,{top:d+"px",width:b}),c.DOM.setStyle(this.captionEl,{top:f+"px",width:b})},toggleVisibility:function(a){this.isVisible?this.fadeOut():this.show(a)},show:function(a){c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),this.resetPosition(),this.setToolbarStatus(a),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeShow,target:this}),this.showToolbar(),this.setCaption(a),this.showCaption(),this.isVisible=!0,this.setTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onShow,target:this})},setTimeout:function(){this.settings.captionAndToolbarAutoHideDelay>0&&(this.clearTimeout(),this.timeout=a.setTimeout(this.fadeOut.bind(this),this.settings.captionAndToolbarAutoHideDelay))},clearTimeout:function(){c.isNothing(this.timeout)||(a.clearTimeout(this.timeout),this.timeout=null)},fadeOut:function(){this.clearTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeHide,target:this}),c.Animation.fadeOut(this.toolbarEl,this.settings.fadeOutSpeed),c.Animation.fadeOut(this.captionEl,this.settings.fadeOutSpeed,this.fadeOutHandler),this.isVisible=!1},addEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.add(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.add(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.add(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.add(this.toolbarEl,"click",this.clickHandler)},removeEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.remove(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.remove(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.remove(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.remove(this.toolbarEl,"click",this.clickHandler)},handleTap:function(a){this.clearTimeout();var b;if(a.target===this.nextEl||c.DOM.isChildOf(a.target,this.nextEl))b=d.Toolbar.ToolbarAction.next;else if(a.target===this.previousEl||c.DOM.isChildOf(a.target,this.previousEl))b=d.Toolbar.ToolbarAction.previous;else if(a.target===this.closeEl||c.DOM.isChildOf(a.target,this.closeEl))b=d.Toolbar.ToolbarAction.close;else if(a.target===this.playEl||c.DOM.isChildOf(a.target,this.playEl))b=d.Toolbar.ToolbarAction.play;this.setTimeout(),c.isNothing(b)&&(b=d.Toolbar.ToolbarAction.none),c.Events.fire(this,{type:d.Toolbar.EventTypes.onTap,target:this,action:b,tapTarget:a.target})},setCaption:function(a){c.DOM.removeChildren(this.captionContentEl),this.currentCaption=c.coalesce(this.cache.images[a].caption," "),c.isObject(this.currentCaption)?c.DOM.appendChild(this.currentCaption,this.captionContentEl):(this.currentCaption===""&&(this.currentCaption=" "),c.DOM.appendText(this.currentCaption,this.captionContentEl)),this.currentCaption=this.currentCaption===" "?"":this.currentCaption,this.resetPosition()},showToolbar:function(){c.DOM.setStyle(this.toolbarEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.toolbarEl)},showCaption:function(){(this.currentCaption===""||this.captionContentEl.childNodes.length<1)&&!this.settings.captionAndToolbarShowEmptyCaptions?c.DOM.hide(this.captionEl):(c.DOM.setStyle(this.captionEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.captionEl))},setToolbarStatus:function(a){this.settings.loop||(c.DOM.removeClass(this.previousEl,d.Toolbar.CssClasses.previousDisabled),c.DOM.removeClass(this.nextEl,d.Toolbar.CssClasses.nextDisabled),a>0&&athis.settings.maxUserZoom&&(a=this.settings.maxUserZoom),a},setStartingScaleAndRotation:function(a,b){this.transformSettings.startingScale=this.getScale(a),this.transformSettings.startingRotation=(this.transformSettings.startingRotation+b)%360},zoomRotate:function(a,b){this.transformSettings.scale=this.getScale(a),this.transformSettings.rotation=this.transformSettings.startingRotation+b,this.applyTransform()},panStart:function(a){this.setStartingTranslateFromCurrentTransform(),this.panStartingPoint={x:a.x,y:a.y}},pan:function(a){var b=(a.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=this.transformSettings.startingTranslateX+(a.x-this.panStartingPoint.x)/this.transformSettings.scale,this.transformSettings.translateY=this.transformSettings.startingTranslateY+b,this.applyTransform()},zoomAndPanToPoint:function(b,d){if(this.settings.target===a){this.panStart({x:c.DOM.windowWidth()/2,y:c.DOM.windowHeight()/2});var f=(d.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=(this.transformSettings.startingTranslateX+(d.x-this.panStartingPoint.x)/this.transformSettings.scale)*-1,this.transformSettings.translateY=(this.transformSettings.startingTranslateY+f)*-1}this.setStartingScaleAndRotation(b,0),this.transformSettings.scale=this.transformSettings.startingScale,this.transformSettings.rotation=0,this.applyTransform()},applyTransform:function(){var b=this.transformSettings.rotation%360,f=a.parseInt(this.transformSettings.translateX,10),g=a.parseInt(this.transformSettings.translateY,10),h="scale("+this.transformSettings.scale+") rotate("+b+"deg) translate("+f+"px, "+g+"px)";c.DOM.setStyle(this.transformEl,{webkitTransform:h,MozTransform:h,msTransform:h,transform:h}),c.Events.fire(this,{target:this,type:d.ZoomPanRotate.EventTypes.onTransform,scale:this.transformSettings.scale,rotation:this.transformSettings.rotation,rotationDegs:b,translateX:f,translateY:g})}})}(window,window.klass,window.Code.Util),function(a,b){b.registerNamespace("Code.PhotoSwipe");var c=a.Code.PhotoSwipe;c.CssClasses={buildingBody:"ps-building",activeBody:"ps-active"},c.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"},c.instances=[],c.activeInstances=[],c.setActivateInstance=function(a){if(b.arrayIndexOf(a.settings.target,c.activeInstances,"target")>-1)throw"Code.PhotoSwipe.activateInstance: Unable to active instance as another instance is already active for this target";c.activeInstances.push({target:a.settings.target,instance:a})},c.unsetActivateInstance=function(a){a=b.arrayIndexOf(a,c.activeInstances,"instance"),c.activeInstances.splice(a,1)},c.attach=function(a,d,e){var f,g;f=c.createInstance(a,d,e),d=0;for(e=a.length;d=2.1&&(this.isBackEventSupported=!0),this.isBackEventSupported||(this.isBackEventSupported=c.objectHasProperty(a,"onhashchange")),this.settings={fadeInSpeed:250,fadeOutSpeed:250,preventHide:!1,preventSlideshow:!1,zIndex:1e3,backButtonHideEnabled:!0,enableKeyboard:!0,enableMouseWheel:!0,mouseWheelSpeed:350,autoStartSlideshow:!1,jQueryMobile:!c.isNothing(a.jQuery)&&!c.isNothing(a.jQuery.mobile),jQueryMobileDialogHash:"&ui-state=dialog",enableUIWebViewRepositionTimeout:!1,uiWebViewResetPositionDelay:500,target:a,preventDefaultTouchEvents:!0,loop:!0,slideSpeed:250,nextPreviousSlideSpeed:0,enableDrag:!0,swipeThreshold:50,swipeTimeThreshold:250,slideTimingFunction:"ease-out",slideshowDelay:3e3,doubleTapSpeed:250,margin:20,imageScaleMethod:"fit",captionAndToolbarHide:!1,captionAndToolbarFlipPosition:!1,captionAndToolbarAutoHideDelay:5e3,captionAndToolbarOpacity:.8,captionAndToolbarShowEmptyCaptions:!0,getToolbar:j.Toolbar.getToolbar,allowUserZoom:!0,allowRotationOnUserZoom:!1,maxUserZoom:5,minUserZoom:.5,doubleTapZoomLevel:2.5,getImageSource:j.Cache.Functions.getImageSource,getImageCaption:j.Cache.Functions.getImageCaption,getImageMetaData:j.Cache.Functions.getImageMetaData,cacheMode:j.Cache.Mode.normal},c.extend(this.settings,e),this.settings.target!==a&&(e=c.DOM.getStyle(this.settings.target,"position"),(e!=="relative"||e!=="absolute")&&c.DOM.setStyle(this.settings.target,"position","relative")),this.settings.target!==a?(this.isBackEventSupported=!1,this.settings.backButtonHideEnabled=!1):this.settings.preventHide&&(this.settings.backButtonHideEnabled=!1),this.cache=new d.CacheClass(b,this.settings)},show:function(b){var d,e;this.backButtonClicked=this._isResettingPosition=!1;if(c.isNumber(b))this.currentIndex=b;else{this.currentIndex=-1,d=0;for(e=this.originalImages.length;dthis.originalImages.length-1)throw"Code.PhotoSwipe.PhotoSwipeClass.show: Starting index out of range";this.isAlreadyGettingPage=this.getWindowDimensions(),j.setActivateInstance(this),this.windowDimensions=this.getWindowDimensions(),this.settings.target===a?c.DOM.addClass(a.document.body,j.CssClasses.buildingBody):c.DOM.addClass(this.settings.target,j.CssClasses.buildingBody),this.createComponents(),c.Events.fire(this,{type:j.EventTypes.onBeforeShow,target:this}),this.documentOverlay.fadeIn(this.settings.fadeInSpeed,this.onDocumentOverlayFadeIn.bind(this))},getWindowDimensions:function(){return{width:c.DOM.windowWidth(),height:c.DOM.windowHeight()}},createComponents:function(){this.documentOverlay=new e.DocumentOverlayClass(this.settings),this.carousel=new f.CarouselClass(this.cache,this.settings),this.uiLayer=new h.UILayerClass(this.settings),this.settings.captionAndToolbarHide||(this.toolbar=new g.ToolbarClass(this.cache,this.settings))},resetPosition:function(){if(!this._isResettingPosition){var a=this.getWindowDimensions();if(c.isNothing(this.windowDimensions)||a.width!==this.windowDimensions.width||a.height!==this.windowDimensions.height)this._isResettingPosition=!0,this.windowDimensions=a,this.destroyZoomPanRotate(),this.documentOverlay.resetPosition(),this.carousel.resetPosition(),c.isNothing(this.toolbar)||this.toolbar.resetPosition(),this.uiLayer.resetPosition(),this._isResettingPosition=!1,c.Events.fire(this,{type:j.EventTypes.onResetPosition,target:this})}},addEventHandler:function(a,b){c.Events.add(this,a,b)},addEventHandlers:function(){c.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)),c.Browser.android?this.orientationEventName="resize":c.Browser.iOS&&!c.Browser.safari?c.Events.add(a.document.body,"orientationchange",this.windowOrientationChangeHandler):this.orientationEventName=c.isNothing(a.onorientationchange)?"resize":"orientationchange",c.isNothing(this.orientationEventName)||c.Events.add(a,this.orientationEventName,this.windowOrientationChangeHandler),this.settings.target===a&&c.Events.add(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.add(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.windowHashChangeHandler=this.onWindowHashChange.bind(this),this.settings.jQueryMobile?a.location.hash=this.settings.jQueryMobileDialogHash:(this.currentHistoryHashValue="PhotoSwipe"+(new Date).getTime().toString(),a.location.hash=this.currentHistoryHashValue),c.Events.add(a,"hashchange",this.windowHashChangeHandler)),this.settings.enableMouseWheel&&c.Events.add(a,"mousewheel",this.mouseWheelHandler),c.Events.add(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.Events.add(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler),c.isNothing(this.toolbar)||(c.Events.add(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.add(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.add(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},removeEventHandlers:function(){c.Browser.iOS&&!c.Browser.safari&&c.Events.remove(a.document.body,"orientationchange",this.windowOrientationChangeHandler),c.isNothing(this.orientationEventName)||c.Events.remove(a,this.orientationEventName,this.windowOrientationChangeHandler),c.Events.remove(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.remove(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&c.Events.remove(a,"hashchange",this.windowHashChangeHandler),this.settings.enableMouseWheel&&c.Events.remove(a,"mousewheel",this.mouseWheelHandler),c.isNothing(this.uiLayer)||c.Events.remove(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.isNothing(this.toolbar)||(c.Events.remove(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler)),c.isNothing(this.toolbar)||(c.Events.remove(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.remove(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},hide:function(){if(!this.settings.preventHide){if(c.isNothing(this.documentOverlay))throw"Code.PhotoSwipe.PhotoSwipeClass.hide: PhotoSwipe instance is already hidden";c.isNothing(this.hiding)&&(this.clearUIWebViewResetPositionTimeout(),this.destroyZoomPanRotate(),this.removeEventHandlers(),c.Events.fire(this,{type:j.EventTypes.onBeforeHide,target:this}),this.uiLayer.dispose(),this.uiLayer=null,c.isNothing(this.toolbar)||(this.toolbar.dispose(),this.toolbar=null),this.carousel.dispose(),this.carousel=null,c.DOM.removeClass(a.document.body,j.CssClasses.activeBody),this.documentOverlay.dispose(),this.documentOverlay=null,this._isResettingPosition=!1,j.unsetActivateInstance(this),c.Events.fire(this,{type:j.EventTypes.onHide,target:this}),this.goBackInHistory())}},goBackInHistory:function(){this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.backButtonClicked||a.history.back())},play:function(){!this.isZoomActive()&&!this.settings.preventSlideshow&&!c.isNothing(this.carousel)&&(!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut(),this.carousel.startSlideshow())},stop:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.stopSlideshow()},previous:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.previous()},next:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.next()},toggleToolbar:function(){this.isZoomActive()||c.isNothing(this.toolbar)||this.toolbar.toggleVisibility(this.currentIndex)},fadeOutToolbarIfVisible:function(){!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.settings.captionAndToolbarAutoHideDelay>0&&this.toolbar.fadeOut()},createZoomPanRotate:function(){this.stop(),this.canUserZoom()&&!this.isZoomActive()&&(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateShow),this.zoomPanRotate=new i.ZoomPanRotateClass(this.settings,this.cache.images[this.currentIndex],this.uiLayer),this.uiLayer.captureSettings.preventDefaultTouchEvents=!0,c.Events.add(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),c.Events.fire(this,j.EventTypes.onZoomPanRotateShow),!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut())},destroyZoomPanRotate:function(){c.isNothing(this.zoomPanRotate)||(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateHide),c.Events.remove(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),this.zoomPanRotate.dispose(),this.zoomPanRotate=null,this.uiLayer.captureSettings.preventDefaultTouchEvents=this.settings.preventDefaultTouchEvents,c.Events.fire(this,j.EventTypes.onZoomPanRotateHide))},canUserZoom:function(){var a;if(c.Browser.msie){if(a=document.createElement("div"),c.isNothing(a.style.msTransform))return!1}else if(!c.Browser.isCSSTransformSupported)return!1;return this.settings.allowUserZoom?this.carousel.isSliding?!1:(a=this.cache.images[this.currentIndex],c.isNothing(a)?!1:a.isLoading?!1:!0):!1},isZoomActive:function(){return!c.isNothing(this.zoomPanRotate)},getCurrentImage:function(){return this.cache.images[this.currentIndex]},onDocumentOverlayFadeIn:function(){a.setTimeout(function(){var b=this.settings.target===a?a.document.body:this.settings.target;c.DOM.removeClass(b,j.CssClasses.buildingBody),c.DOM.addClass(b,j.CssClasses.activeBody),this.addEventHandlers(),this.carousel.show(this.currentIndex),this.uiLayer.show(),this.settings.autoStartSlideshow?this.play():c.isNothing(this.toolbar)||this.toolbar.show(this.currentIndex),c.Events.fire(this,{type:j.EventTypes.onShow,target:this}),this.setUIWebViewResetPositionTimeout()}.bind(this),250)},setUIWebViewResetPositionTimeout:function(){this.settings.enableUIWebViewRepositionTimeout&&c.Browser.iOS&&!c.Browser.safari&&(c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout),this._uiWebViewResetPositionTimeout=a.setTimeout(function(){this.resetPosition(),this.setUIWebViewResetPositionTimeout()}.bind(this),this.settings.uiWebViewResetPositionDelay))},clearUIWebViewResetPositionTimeout:function(){c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout)},onWindowScroll:function(){this.resetPosition()},onWindowOrientationChange:function(){this.resetPosition()},onWindowHashChange:function(){a.location.hash!=="#"+(this.settings.jQueryMobile?this.settings.jQueryMobileDialogHash:this.currentHistoryHashValue)&&(this.backButtonClicked=!0,this.hide())},onKeyDown:function(a){a.keyCode===37?(a.preventDefault(),this.previous()):a.keyCode===39?(a.preventDefault(),this.next()):a.keyCode===38||a.keyCode===40?a.preventDefault():a.keyCode===27?(a.preventDefault(),this.hide()):a.keyCode===32?(this.settings.hideToolbar?this.hide():this.toggleToolbar(),a.preventDefault()):a.keyCode===13&&(a.preventDefault(),this.play())},onUILayerTouch:function(b){if(this.isZoomActive())switch(b.action){case c.TouchElement.ActionTypes.gestureChange:this.zoomPanRotate.zoomRotate(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.gestureEnd:this.zoomPanRotate.setStartingScaleAndRotation(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.touchStart:this.zoomPanRotate.panStart(b.point);break;case c.TouchElement.ActionTypes.touchMove:this.zoomPanRotate.pan(b.point);break;case c.TouchElement.ActionTypes.doubleTap:this.destroyZoomPanRotate(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeLeft:this.destroyZoomPanRotate(),this.next(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeRight:this.destroyZoomPanRotate(),this.previous(),this.toggleToolbar()}else switch(b.action){case c.TouchElement.ActionTypes.touchMove:case c.TouchElement.ActionTypes.swipeLeft:case c.TouchElement.ActionTypes.swipeRight:this.fadeOutToolbarIfVisible(),this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.touchStart:case c.TouchElement.ActionTypes.touchMoveEnd:this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.tap:this.toggleToolbar();break;case c.TouchElement.ActionTypes.doubleTap:this.settings.target===a&&(b.point.x-=c.DOM.windowScrollLeft(),b.point.y-=c.DOM.windowScrollTop());var d=this.cache.images[this.currentIndex].imageEl,e=a.parseInt(c.DOM.getStyle(d,"top"),10),f=a.parseInt(c.DOM.getStyle(d,"left"),10),g=f+c.DOM.width(d),d=e+c.DOM.height(d);b.point.xg&&(b.point.x=g),b.point.yd&&(b.point.y=d),this.createZoomPanRotate(),this.isZoomActive()&&this.zoomPanRotate.zoomAndPanToPoint(this.settings.doubleTapZoomLevel,b.point);break;case c.TouchElement.ActionTypes.gestureStart:this.createZoomPanRotate()}c.Events.fire(this,{type:j.EventTypes.onTouch,target:this,point:b.point,action:b.action})},onCarouselSlideByEnd:function(a){this.currentIndex=a.cacheIndex,c.isNothing(this.toolbar)||(this.toolbar.setCaption(this.currentIndex),this.toolbar.setToolbarStatus(this.currentIndex)),c.Events.fire(this,{type:j.EventTypes.onDisplayImage,target:this,action:a.action,index:a.cacheIndex})},onToolbarTap:function(a){switch(a.action){case g.ToolbarAction.next:this.next();break;case g.ToolbarAction.previous:this.previous();break;case g.ToolbarAction.close:this.hide();break;case g.ToolbarAction.play:this.play()}c.Events.fire(this,{type:j.EventTypes.onToolbarTap,target:this,toolbarAction:a.action,tapTarget:a.tapTarget})},onMouseWheel:function(a){var b=c.Events.getWheelDelta(a);a.timeStamp-(this.mouseWheelStartTime||0)0&&this.previous())},onCarouselSlideshowStart:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStart,target:this})},onCarouselSlideshowStop:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStop,target:this})},onToolbarBeforeShow:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarShow,target:this})},onToolbarShow:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarShow,target:this})},onToolbarBeforeHide:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarHide,target:this})},onToolbarHide:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarHide,target:this})},onZoomPanRotateTransform:function(a){c.Events.fire(this,{target:this,type:j.EventTypes.onZoomPanRotateTransform,scale:a.scale,rotation:a.rotation,rotationDegs:a.rotationDegs,translateX:a.translateX,translateY:a.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),define("vendor/photoswipe",function(){}),1,function(){var a;typeof Joshfire=="undefined"&&(Joshfire={}),a={version:[0,9,3],onReady:function(a){a()},adapter:"ios",adapterModules:{android:["app","dependencies.json","inputs/touch","ui/toolbar","uielements/list","uielements/panel","uielements/video.mediaelement","vendor/iscroll"],browser:["app","inputs/http","inputs/keyboard","inputs/mouse","uielement","uielements/list","uielements/mediacontrols","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","uielements/video.popup","uielements/video.youtube.swf","utils/activitymonitor","utils/datasource","utils/dollar","utils/localstorage","utils/navigation","utils/onready","utils/stresstest"],googletv:["dependencies.json","inputs/keyboard","ui/videoplayer","uielement"],ios:["dependencies.json"],lgtv:["dependencies.json","ui/videoplayer","uielement","utils/dollar"],node:["app.factory","app","class","global.exec","inputs/http","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","utils/datasource","utils/dollar","utils/eventsocket","utils/templatecompiler.cli","utils/templatecompiler","vendor/json2","view"],none:[],philips:["dependencies.json","ui/videoplayer","uielement","uielements/list","uielements/video.mediaelement","utils/dollar","utils/stresstest"],phone:["collection","ui/toolbar","uielement","utils/dollar","utils/onready"],qt4:[],samsungtv:["dependencies.json","inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready","utils/widgetapi","view"],tv:["inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready"]},adapterDeps:["phone"],debug:!1,path:(Joshfire.framework||{}).path||"joshfire"};if(typeof document!="undefined"){var b=document.getElementsByTagName("script"),c,d=new RegExp("^(.*)/adapters/"+a.adapter+"/bootstrap.js$");for(var e=b.length-1;e>=0;e--)c=d.exec(b[e].getAttribute("src")),c&&(a.path=c[1])}typeof require!="undefined"&&require.config&&require.config({paths:{"joshfire-framework":a.path},urlArgs:Joshfire.debug?"bust="+(new Date).getTime():""}),Joshfire.framework=a,typeof module!="undefined"&&module.exports&&(module.exports.JoshfireFramework=a)}.call(this),function(a){a.onReady=function(b){a.require(["joshfire/vendor/zepto"],function(a){b.call()})}}(Joshfire),define("joshlib",{normalize:function(a,b){var c=[Joshfire.framework.adapter].concat(Joshfire.framework.adapterDeps),d=Joshfire.framework.adapterModules,e="joshfire-framework/";if(a.substring(0,14)=="adapters/none/")return e+a.substring(14);if(a.substring(0,9)=="adapters/")return e+a;for(var f=0;fd[a+"ScrollbarMaxScroll"]&&(d.options.fixedScrollbar?e=d[a+"ScrollbarMaxScroll"]:(f=d[a+"ScrollbarIndicatorSize"]-c.round((e-d[a+"ScrollbarMaxScroll"])*3),f<8&&(f=8),d[a+"ScrollbarIndicator"].style[a=="h"?"width":"height"]=f+"px",e=d[a+"ScrollbarMaxScroll"]+(d[a+"ScrollbarIndicatorSize"]-f))),d[a+"ScrollbarWrapper"].style[l]="0",d[a+"ScrollbarWrapper"].style.opacity=b&&d.options.hideScrollbar?"0":"1",d[a+"ScrollbarIndicator"].style[g]="translate("+(a=="h"?e+"px,0)":"0,"+e+"px)")+C},_start:function(a){var b=this,d=q?a.touches[0]:a,e,f,h,i,j;if(!b.enabled)return;b.options.onBeforeScrollStart&&b.options.onBeforeScrollStart.call(b,a),(b.options.useTransition||b.options.zoom)&&b._transitionTime(0),b.moved=!1,b.animating=!1,b.zoomed=!1,b.distX=0,b.distY=0,b.absDistX=0,b.absDistY=0,b.dirX=0,b.dirY=0,b.options.zoom&&q&&a.touches.length>1&&(i=c.abs(a.touches[0].pageX-a.touches[1].pageX),j=c.abs(a.touches[0].pageY-a.touches[1].pageY),b.touchesDistStart=c.sqrt(i*i+j*j),b.originX=c.abs(a.touches[0].pageX+a.touches[1].pageX-b.wrapperOffsetLeft*2)/2-b.x,b.originY=c.abs(a.touches[0].pageY+a.touches[1].pageY-b.wrapperOffsetTop*2)/2-b.y,b.options.onZoomStart&&b.options.onZoomStart.call(b,a));if(b.options.momentum){b.options.useTransform?(e=getComputedStyle(b.scroller,null)[g].replace(/[^0-9\-.,]/g,"").split(","),f=e[4]*1,h=e[5]*1):(f=getComputedStyle(b.scroller,null).left.replace(/[^0-9-]/g,"")*1,h=getComputedStyle(b.scroller,null).top.replace(/[^0-9-]/g,"")*1);if(f!=b.x||h!=b.y)b.options.useTransition?b._unbind(z):B(b.aniTime),b.steps=[],b._pos(f,h)}b.absStartX=b.x,b.absStartY=b.y,b.startX=b.x,b.startY=b.y,b.pointX=d.pageX,b.pointY=d.pageY,b.startTime=a.timeStamp||Date.now(),b.options.onScrollStart&&b.options.onScrollStart.call(b,a),b._bind(v),b._bind(w),b._bind(x)},_move:function(a){var b=this,d=q?a.touches[0]:a,e=d.pageX-b.pointX,f=d.pageY-b.pointY,h=b.x+e,i=b.y+f,j,k,l,m=a.timeStamp||Date.now();b.options.onBeforeScrollMove&&b.options.onBeforeScrollMove.call(b,a);if(b.options.zoom&&q&&a.touches.length>1){j=c.abs(a.touches[0].pageX-a.touches[1].pageX),k=c.abs(a.touches[0].pageY-a.touches[1].pageY),b.touchesDist=c.sqrt(j*j+k*k),b.zoomed=!0,l=1/b.touchesDistStart*b.touchesDist*this.scale,lb.options.zoomMax&&(l=2*b.options.zoomMax*Math.pow(.5,b.options.zoomMax/l)),b.lastScale=l/this.scale,h=this.originX-this.originX*b.lastScale+this.x,i=this.originY-this.originY*b.lastScale+this.y,this.scroller.style[g]="translate("+h+"px,"+i+"px) scale("+l+")"+C,b.options.onZoom&&b.options.onZoom.call(b,a);return}b.pointX=d.pageX,b.pointY=d.pageY;if(h>0||h=0||b.maxScrollX>=0?0:b.maxScrollX;if(i>b.minScrollY||i=b.minScrollY||b.maxScrollY>=0?b.minScrollY:b.maxScrollY;b.distX+=e,b.distY+=f,b.absDistX=c.abs(b.distX),b.absDistY=c.abs(b.distY);if(b.absDistX<6&&b.absDistY<6)return;b.options.lockDirection&&(b.absDistX>b.absDistY+5?(i=b.y,f=0):b.absDistY>b.absDistX+5&&(h=b.x,e=0)),b.moved=!0,b._pos(h,i),b.dirX=e>0?-1:e<0?1:0,b.dirY=f>0?-1:f<0?1:0,m-b.startTime>300&&(b.startTime=m,b.startX=b.x,b.startY=b.y),b.options.onScrollMove&&b.options.onScrollMove.call(b,a)},_end:function(a){if(q&&a.touches.length!==0)return;var d=this,e=q?a.changedTouches[0]:a,f,h,j={dist:0,time:0},k={dist:0,time:0},l=(a.timeStamp||Date.now())-d.startTime,m=d.x,n=d.y,o,p,r,s,t;d._unbind(v),d._unbind(w),d._unbind(x),d.options.onBeforeScrollEnd&&d.options.onBeforeScrollEnd.call(d,a);if(d.zoomed){t=d.scale*d.lastScale,t=Math.max(d.options.zoomMin,t),t=Math.min(d.options.zoomMax,t),d.lastScale=t/d.scale,d.scale=t,d.x=d.originX-d.originX*d.lastScale+d.x,d.y=d.originY-d.originY*d.lastScale+d.y,d.scroller.style[i]="200ms",d.scroller.style[g]="translate("+d.x+"px,"+d.y+"px) scale("+d.scale+")"+C,d.zoomed=!1,d.refresh(),d.options.onZoomEnd&&d.options.onZoomEnd.call(d,a);return}if(!d.moved){q&&(d.doubleTapTimer&&d.options.zoom?(clearTimeout(d.doubleTapTimer),d.doubleTapTimer=null,d.options.onZoomStart&&d.options.onZoomStart.call(d,a),d.zoom(d.pointX,d.pointY,d.scale==1?d.options.doubleTapZoom:1),d.options.onZoomEnd&&setTimeout(function(){d.options.onZoomEnd.call(d,a)},200)):this.options.handleClick&&(d.doubleTapTimer=setTimeout(function(){d.doubleTapTimer=null,f=e.target;while(f.nodeType!=1)f=f.parentNode;f.tagName!="SELECT"&&f.tagName!="INPUT"&&f.tagName!="TEXTAREA"&&(h=b.createEvent("MouseEvents"),h.initMouseEvent("click",!0,!0,a.view,1,e.screenX,e.screenY,e.clientX,e.clientY,a.ctrlKey,a.altKey,a.shiftKey,a.metaKey,0,null),h._fake=!0,f.dispatchEvent(h))},d.options.zoom?250:0))),d._resetPos(200),d.options.onTouchEnd&&d.options.onTouchEnd.call(d,a);return}if(l<300&&d.options.momentum){j=m?d._momentum(m-d.startX,l,-d.x,d.scrollerW-d.wrapperW+d.x,d.options.bounce?d.wrapperW:0):j,k=n?d._momentum(n-d.startY,l,-d.y,d.maxScrollY<0?d.scrollerH-d.wrapperH+d.y-d.minScrollY:0,d.options.bounce?d.wrapperH:0):k,m=d.x+j.dist,n=d.y+k.dist;if(d.x>0&&m>0||d.xd.minScrollY&&n>d.minScrollY||d.y=0?0:b.x=b.minScrollY||b.maxScrollY>0?b.minScrollY:b.yb.options.zoomMax&&(g=b.options.zoomMax),g!=b.scale&&(!b.wheelZoomCount&&b.options.onZoomStart&&b.options.onZoomStart.call(b,a),b.wheelZoomCount++,b.zoom(a.pageX,a.pageY,g,400),setTimeout(function(){b.wheelZoomCount--,!b.wheelZoomCount&&b.options.onZoomEnd&&b.options.onZoomEnd.call(b,a)},400));return}e=b.x+c,f=b.y+d,e>0?e=0:eb.minScrollY?f=b.minScrollY:f=e+f.time){a._pos(f.x,f.y),a.animating=!1,a.options.onAnimationEnd&&a.options.onAnimationEnd.call(a),a._startAni();return}i=(i-e)/f.time-1,g=c.sqrt(1-i*i),j=(f.x-b)*g+b,k=(f.y-d)*g+d,a._pos(j,k),a.animating&&(a.aniTime=A(h))},h()},_transitionTime:function(a){a+="ms",this.scroller.style[i]=a,this.hScrollbar&&(this.hScrollbarIndicator.style[i]=a),this.vScrollbar&&(this.vScrollbarIndicator.style[i]=a)},_momentum:function(a,b,d,e,f){var g=6e-4,h=c.abs(a)/b,i=h*h/(2*g),j=0,k=0;return a>0&&i>d?(k=f/(6/(i/h*g)),d+=k,h=h*d/i,i=d):a<0&&i>e&&(k=f/(6/(i/h*g)),e+=k,h=h*e/i,i=e),i*=a<0?-1:1,j=h/g,{dist:i,time:c.round(j)}},_offset:function(a){var b=-a.offsetLeft,c=-a.offsetTop;while(a=a.offsetParent)b-=a.offsetLeft,c-=a.offsetTop;return a!=this.wrapper&&(b*=this.scale,c*=this.scale),{left:b,top:c}},_snap:function(a,b){var d=this,e,f,g,h,i,j;g=d.pagesX.length-1;for(e=0,f=d.pagesX.length;e=d.pagesX[e]){g=e;break}g==d.currPageX&&g>0&&d.dirX<0&&g--,a=d.pagesX[g],i=c.abs(a-d.pagesX[d.currPageX]),i=i?c.abs(d.x-a)/i*500:0,d.currPageX=g,g=d.pagesY.length-1;for(e=0;e=d.pagesY[e]){g=e;break}return g==d.currPageY&&g>0&&d.dirY<0&&g--,b=d.pagesY[g],j=c.abs(b-d.pagesY[d.currPageY]),j=j?c.abs(d.y-b)/j*500:0,d.currPageY=g,h=c.round(c.max(i,j))||200,{x:a,y:b,time:h}},_bind:function(a,b,c){(b||this.scroller).addEventListener(a,this,!!c)},_unbind:function(a,b,c){(b||this.scroller).removeEventListener(a,this,!!c)},destroy:function(){var b=this;b.scroller.style[g]="",b.hScrollbar=!1,b.vScrollbar=!1,b._scrollbar("h"),b._scrollbar("v"),b._unbind(t,a),b._unbind(u),b._unbind(v),b._unbind(w),b._unbind(x),b.options.hasTouch||(b._unbind("mouseout",b.wrapper),b._unbind(y)),b.options.useTransition&&b._unbind(z),b.options.checkDOMChanges&&clearInterval(b.checkDOMTime),b.options.onDestroy&&b.options.onDestroy.call(b)},refresh:function(){var a=this,b,d,e,f,g=0,h=0;a.scalea.wrapperH),a.hScrollbar=a.hScroll&&a.options.hScrollbar,a.vScrollbar=a.vScroll&&a.options.vScrollbar&&a.scrollerH>a.wrapperH,b=a._offset(a.wrapper),a.wrapperOffsetLeft=-b.left,a.wrapperOffsetTop=-b.top;if(typeof a.options.snap=="string"){a.pagesX=[],a.pagesY=[],f=a.scroller.querySelectorAll(a.options.snap);for(d=0,e=f.length;d=a.maxScrollX)a.pagesX[h]=g,g-=a.wrapperW,h++;a.maxScrollX%a.wrapperW&&(a.pagesX[a.pagesX.length]=a.maxScrollX-a.pagesX[a.pagesX.length-1]+a.pagesX[a.pagesX.length-1]),g=0,h=0,a.pagesY=[];while(g>=a.maxScrollY)a.pagesY[h]=g,g-=a.wrapperH,h++;a.maxScrollY%a.wrapperH&&(a.pagesY[a.pagesY.length]=a.maxScrollY-a.pagesY[a.pagesY.length-1]+a.pagesY[a.pagesY.length-1])}a._scrollbar("h"),a._scrollbar("v"),a.zoomed||(a.scroller.style[i]="0",a._resetPos(200))},scrollTo:function(a,b,c,d){var e=this,f=a,g,h;e.stop(),f.length||(f=[{x:a,y:b,time:c,relative:d}]);for(g=0,h=f.length;g0?0:e.leftd.minScrollY?d.minScrollY:e.topd.pagesX.length-1?d.pagesX.length-1:a,b=b<0?0:b>d.pagesY.length-1?d.pagesY.length-1:b,d.currPageX=a,d.currPageY=b,e=d.pagesX[a],f=d.pagesY[b]):(e=-d.wrapperW*a,f=-d.wrapperH*b,e0?0:e.xe.minScrollY?e.minScrollY:e.y>>0,e=0,f;if(typeof b!="function")throw new TypeError;if(d==0&&arguments.length==1)throw new TypeError;if(arguments.length>=2)f=arguments[1];else do{if(e in c){f=c[e++];break}if(++e>=d)throw new TypeError}while(!0);while(e0?[].concat.apply([],a):a}function H(a){return a.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function I(a){return a in i?i[a]:i[a]=new RegExp("(^|\\s)"+a+"(\\s|$)")}function J(a,b){return typeof b=="number"&&!k[H(a)]?b+"px":b}function K(a){var b,c;return h[a]||(b=g.createElement(a),g.body.appendChild(b),c=j(b,"").getPropertyValue("display"),b.parentNode.removeChild(b),c=="none"&&(c="block"),h[a]=c),h[a]}function L(b,d){return d===a?c(b):c(b).filter(d)}function M(a,b,c,d){return A(b)?b.call(a,c,d):b}function N(a,b,d){var e=a%2?b:b.parentNode;e?e.insertBefore(d,a?a==1?e.firstChild:a==2?b:null:b.nextSibling):c(d).remove()}function O(a,b){b(a);for(var c in a.childNodes)O(a.childNodes[c],b)}function P(a){var b=a.innerHTML||"",c=a.getAttribute("src"),d=null,e=null;b?window.eval.call(window,b):c&&(d=g.getElementsByTagName("head")[0]||g.documentElement,e=g.createElement("script"),e.type="text/javascript",e.setAttribute("src",c),d.insertBefore(e,d.firstChild)),a.parentNode&&a.parentNode.removeChild(a)}var a,b,c,d,e=[],f=e.slice,g=window.document,h={},i={},j=g.defaultView.getComputedStyle,k={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,m=[1,3,8,9,11],n=["after","prepend","before","append"],o=g.createElement("table"),p=g.createElement("tr"),q={tr:g.createElement("tbody"),tbody:o,thead:o,tfoot:o,td:p,th:p,"*":g.createElement("div")},r=/complete|loaded|interactive/,s=/^\.([\w-]+)$/,t=/^#([\w-]+)$/,u=/^[\w-]+$/,v={}.toString,w={},x,y,z=g.createElement("div");return w.matches=function(a,b){if(!a||a.nodeType!==1)return!1;var c=a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.matchesSelector;if(c)return c.call(a,b);var d,e=a.parentNode,f=!e;return f&&(e=z).appendChild(a),d=~w.qsa(e,b).indexOf(a),f&&z.removeChild(a),d},x=function(a){return a.replace(/-+(.)?/g,function(a,b){return b?b.toUpperCase():""})},y=function(a){return a.filter(function(b,c){return a.indexOf(b)==c})},w.fragment=function(b,d){d===a&&(d=l.test(b)&&RegExp.$1),d in q||(d="*");var e=q[d];return e.innerHTML=""+b,c.each(f.call(e.childNodes),function(){e.removeChild(this)})},w.Z=function(a,b){return a=a||[],a.__proto__=arguments.callee.prototype,a.selector=b||"",a},w.isZ=function(a){return a instanceof w.Z},w.init=function(b,d){if(!b)return w.Z();if(A(b))return c(g).ready(b);if(w.isZ(b))return b;var e;if(D(b))e=F(b);else if(C(b))e=[c.extend({},b)],b=null;else if(m.indexOf(b.nodeType)>=0||b===window)e=[b],b=null;else if(l.test(b))e=w.fragment(b.trim(),RegExp.$1),b=null;else{if(d!==a)return c(d).find(b);e=w.qsa(g,b)}return w.Z(e,b)},c=function(a,b){return w.init(a,b)},c.extend=function(c){return f.call(arguments,1).forEach(function(d){for(b in d)d[b]!==a&&(c[b]=d[b])}),c},w.qsa=function(a,b){var c;return a===g&&t.test(b)?(c=a.getElementById(RegExp.$1))?[c]:e:a.nodeType!==1&&a.nodeType!==9?e:f.call(s.test(b)?a.getElementsByClassName(RegExp.$1):u.test(b)?a.getElementsByTagName(b):a.querySelectorAll(b))},c.isFunction=A,c.isObject=B,c.isArray=D,c.isPlainObject=C,c.inArray=function(a,b,c){return e.indexOf.call(b,a,c)},c.trim=function(a){return a.trim()},c.uuid=0,c.map=function(a,b){var c,d=[],e,f;if(E(a))for(e=0;e0&&w.matches(this[0],a)},not:function(b){var d=[];if(A(b)&&b.call!==a)this.each(function(a){b.call(this,a)||d.push(this)});else{var e=typeof b=="string"?this.filter(b):E(b)&&A(b.item)?f.call(b):c(b);this.forEach(function(a){e.indexOf(a)<0&&d.push(a)})}return c(d)},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){var a=this[0];return a&&!B(a)?a:c(a)},last:function(){var a=this[this.length-1];return a&&!B(a)?a:c(a)},find:function(a){var b;return this.length==1?b=w.qsa(this[0],a):b=this.map(function(){return w.qsa(this,a)}),c(b)},closest:function(a,b){var d=this[0];while(d&&!w.matches(d,a))d=d!==b&&d!==g&&d.parentNode;return c(d)},parents:function(a){var b=[],d=this;while(d.length>0)d=c.map(d,function(a){if((a=a.parentNode)&&a!==g&&b.indexOf(a)<0)return b.push(a),a});return L(b,a)},parent:function(a){return L(y(this.pluck("parentNode")),a)},children:function(a){return L(this.map(function(){return f.call(this.children)}),a)},siblings:function(a){return L(this.map(function(a,b){return f.call(b.parentNode.children).filter(function(a){return a!==b})}),a)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(a){return this.map(function(){return this[a]})},show:function(){return this.each(function(){this.style.display=="none"&&(this.style.display=null),j(this,"").getPropertyValue("display")=="none"&&(this.style.display=K(this.nodeName))})},replaceWith:function(a){return this.before(a).remove()},wrap:function(a){return this.each(function(){c(this).wrapAll(c(a)[0].cloneNode(!1))})},wrapAll:function(a){return this[0]&&(c(this[0]).before(a=c(a)),a.append(this)),this},unwrap:function(){return this.parent().each(function(){c(this).replaceWith(c(this).children())}),this},clone:function(){return c(this.map(function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(b){return(b===a?this.css("display")=="none":b)?this.show():this.hide()},prev:function(){return c(this.pluck("previousElementSibling"))},next:function(){return c(this.pluck("nextElementSibling"))},html:function(b){return b===a?this.length>0?this[0].innerHTML:null:this.each(function(a){var d=this.innerHTML;c(this).empty().append(M(this,b,a,d))})},text:function(b){return b===a?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=b})},attr:function(c,d){var e;return typeof c=="string"&&d===a?this.length==0||this[0].nodeType!==1?a:c=="value"&&this[0].nodeName=="INPUT"?this.val():!(e=this[0].getAttribute(c))&&c in this[0]?this[0][c]:e:this.each(function(a){if(this.nodeType!==1)return;if(B(c))for(b in c)this.setAttribute(b,c[b]);else this.setAttribute(c,M(this,d,a,this.getAttribute(c)))})},removeAttr:function(a){return this.each(function(){this.nodeType===1&&this.removeAttribute(a)})},prop:function(b,c){return c===a?this[0]?this[0][b]:a:this.each(function(a){this[b]=M(this,c,a,this[b])})},data:function(b,c){var d=this.attr("data-"+H(b),c);return d!==null?d:a},val:function(b){return b===a?this.length>0?this[0].value:a:this.each(function(a){this.value=M(this,b,a,this.value)})},offset:function(){if(this.length==0)return null;var a=this[0].getBoundingClientRect();return{left:a.left+window.pageXOffset,top:a.top+window.pageYOffset,width:a.width,height:a.height}},css:function(c,d){if(d===a&&typeof c=="string")return this.length==0?a:this[0].style[x(c)]||j(this[0],"").getPropertyValue(c);var e="";for(b in c)typeof c[b]=="string"&&c[b]==""?this.each(function(){this.style.removeProperty(H(b))}):e+=H(b)+":"+J(b,c[b])+";";return typeof c=="string"&&(d==""?this.each(function(){this.style.removeProperty(H(c))}):e=H(c)+":"+J(c,d)),this.each(function(){this.style.cssText+=";"+e})},index:function(a){return a?this.indexOf(c(a)[0]):this.parent().children().indexOf(this[0])},hasClass:function(a){return this.length<1?!1:I(a).test(this[0].className)},addClass:function(a){return this.each(function(b){d=[];var e=this.className,f=M(this,a,b,e);f.split(/\s+/g).forEach(function(a){c(this).hasClass(a)||d.push(a)},this),d.length&&(this.className+=(e?" ":"")+d.join(" "))})},removeClass:function(b){return this.each(function(c){if(b===a)return this.className="";d=this.className,M(this,b,c,d).split(/\s+/g).forEach(function(a){d=d.replace(I(a)," ")}),this.className=d.trim()})},toggleClass:function(b,d){return this.each(function(e){var f=M(this,b,e,this.className);(d===a?!c(this).hasClass(f):d)?c(this).addClass(f):c(this).removeClass(f)})}},["width","height"].forEach(function(b){c.fn[b]=function(d){var e,f=b.replace(/./,function(a){return a[0].toUpperCase()});return d===a?this[0]==window?window["inner"+f]:this[0]==g?g.documentElement["offset"+f]:(e=this.offset())&&e[b]:this.each(function(a){var e=c(this);e.css(b,M(this,d,a,e[b]()))})}}),n.forEach(function(a,b){c.fn[a]=function(){var a=c.map(arguments,function(a){return B(a)?a:w.fragment(a)});if(a.length<1)return this;var d=this.length,e=d>1,f=b<2;return this.each(function(c,g){for(var h=0;h0&&this.bind(o,n),setTimeout(function(){m.css(i),e<=0&&setTimeout(function(){m.each(function(){n.call(this)})},0)},0),this},i=null}(Zepto),function($){function triggerAndReturn(a,b,c){var d=$.Event(b);return $(a).trigger(d,c),!d.defaultPrevented}function triggerGlobal(a,b,c,d){if(a.global)return triggerAndReturn(b||document,c,d)}function ajaxStart(a){a.global&&$.active++===0&&triggerGlobal(a,null,"ajaxStart")}function ajaxStop(a){a.global&&!--$.active&&triggerGlobal(a,null,"ajaxStop")}function ajaxBeforeSend(a,b){var c=b.context;if(b.beforeSend.call(c,a,b)===!1||triggerGlobal(b,c,"ajaxBeforeSend",[a,b])===!1)return!1;triggerGlobal(b,c,"ajaxSend",[a,b])}function ajaxSuccess(a,b,c){var d=c.context,e="success";c.success.call(d,a,e,b),triggerGlobal(c,d,"ajaxSuccess",[b,c,a]),ajaxComplete(e,b,c)}function ajaxError(a,b,c,d){var e=d.context;d.error.call(e,c,b,a),triggerGlobal(d,e,"ajaxError",[c,d,a]),ajaxComplete(b,c,d)}function ajaxComplete(a,b,c){var d=c.context;c.complete.call(d,b,a),triggerGlobal(c,d,"ajaxComplete",[b,c]),ajaxStop(c)}function empty(){}function mimeToDataType(a){return a&&(a==htmlType?"html":a==jsonType?"json":scriptTypeRE.test(a)?"script":xmlTypeRE.test(a)&&"xml")||"text"}function appendQuery(a,b){return(a+"&"+b).replace(/[&?]{1,2}/,"?")}function serializeData(a){isObject(settings.data)&&(!settings.contentType||settings.contentType==="application/x-www-form-urlencoded"?settings.data=$.param(settings.data):settings.contentType==="application/json"&&(settings.data=JSON.stringify(settings.data))),a.data&&(!a.type||a.type.toUpperCase()=="GET")&&(a.url=appendQuery(a.url,a.data))}function serialize(a,b,c,d){var e=$.isArray(b);$.each(b,function(b,f){d&&(b=c?d:d+"["+(e?"":b)+"]"),!d&&e?a.add(f.name,f.value):(c?$.isArray(f):isObject(f))?serialize(a,f,c,b):a.add(b,f)})}var jsonpID=0,isObject=$.isObject,document=window.document,key,name,rscript=/)<[^<]*)*<\/script>/gi,scriptTypeRE=/^(?:text|application)\/javascript/i,xmlTypeRE=/^(?:text|application)\/xml/i,jsonType="application/json",htmlType="text/html",blankRE=/^\s*$/;$.active=0,$.ajaxJSONP=function(a){var b="jsonp"+ ++jsonpID,c=document.createElement("script"),d=function(){$(c).remove(),b in window&&(window[b]=empty),ajaxComplete("abort",e,a)},e={abort:d},f;return a.error&&(c.onerror=function(){e.abort(),a.error()}),window[b]=function(d){clearTimeout(f),$(c).remove(),delete window[b],ajaxSuccess(d,e,a)},serializeData(a),c.src=a.url.replace(/=\?/,"="+b),$("head").append(c),a.timeout>0&&(f=setTimeout(function(){e.abort(),ajaxComplete("timeout",e,a)},a.timeout)),e},$.ajaxSettings={type:"GET",beforeSend:empty,success:empty,error:empty,complete:empty,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript",json:jsonType,xml:"application/xml, text/xml",html:htmlType,text:"text/plain"},crossDomain:!1,timeout:0},$.ajax=function(options){var settings=$.extend({},options||{});for(key in $.ajaxSettings)settings[key]===undefined&&(settings[key]=$.ajaxSettings[key]);ajaxStart(settings),settings.crossDomain||(settings.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(settings.url)&&RegExp.$2!=window.location.host);var dataType=settings.dataType,hasPlaceholder=/=\?/.test(settings.url);if(dataType=="jsonp"||hasPlaceholder)return hasPlaceholder||(settings.url=appendQuery(settings.url,"callback=?")),$.ajaxJSONP(settings);settings.url||(settings.url=window.location.toString()),serializeData(settings);var mime=settings.accepts[dataType],baseHeaders={},protocol=/^([\w-]+:)\/\//.test(settings.url)?RegExp.$1:window.location.protocol,xhr=$.ajaxSettings.xhr(),abortTimeout;settings.crossDomain||(baseHeaders["X-Requested-With"]="XMLHttpRequest"),mime&&(baseHeaders.Accept=mime,mime.indexOf(",")>-1&&(mime=mime.split(",",2)[0]),xhr.overrideMimeType&&xhr.overrideMimeType(mime));if(settings.xhrFields)for(var i in settings.xhrFields)xhr[i]=settings.xhrFields[i];if(settings.contentType||settings.data&&settings.type.toUpperCase()!="GET")baseHeaders["Content-Type"]=settings.contentType||"application/x-www-form-urlencoded";settings.headers=$.extend(baseHeaders,settings.headers||{}),xhr.onreadystatechange=function(){if(xhr.readyState==4){clearTimeout(abortTimeout);var result,error=!1;if(xhr.status>=200&&xhr.status<300||xhr.status==304||xhr.status==0&&protocol=="file:"){dataType=dataType||mimeToDataType(xhr.getResponseHeader("content-type")),result=xhr.responseText;try{dataType=="script"?(1,eval)(result):dataType=="xml"?result=xhr.responseXML:dataType=="json"&&(result=blankRE.test(result)?null:JSON.parse(result))}catch(e){error=e}error?ajaxError(error,"parsererror",xhr,settings):ajaxSuccess(result,xhr,settings)}else ajaxError(null,"error",xhr,settings)}};var async="async"in settings?settings.async:!0;xhr.open(settings.type,settings.url,async);for(name in settings.headers)xhr.setRequestHeader(name,settings.headers[name]);return ajaxBeforeSend(xhr,settings)===!1?(xhr.abort(),!1):(settings.timeout>0&&(abortTimeout=setTimeout(function(){xhr.onreadystatechange=empty,xhr.abort(),ajaxError(null,"timeout",xhr,settings)},settings.timeout)),xhr.send(settings.data?settings.data:null),xhr)},$.get=function(a,b){return $.ajax({url:a,success:b})},$.post=function(a,b,c,d){return $.isFunction(b)&&(d=d||c,c=b,b=null),$.ajax({type:"POST",url:a,data:b,success:c,dataType:d})},$.getJSON=function(a,b){return $.ajax({url:a,success:b,dataType:"json"})},$.fn.load=function(a,b){if(!this.length)return this;var c=this,d=a.split(/\s/),e;return d.length>1&&(a=d[0],e=d[1]),$.get(a,function(a){c.html(e?$(document.createElement("div")).html(a.replace(rscript,"")).find(e).html():a),b&&b.call(c)}),this};var escape=encodeURIComponent;$.param=function(a,b){var c=[];return c.add=function(a,b){this.push(escape(a)+"="+escape(b))},serialize(c,a,b),c.join("&").replace("%20","+")}}(Zepto),function(a){a.fn.serializeArray=function(){var b=[],c;return a(Array.prototype.slice.call(this.get(0).elements)).each(function(){c=a(this);var d=c.attr("type");this.nodeName.toLowerCase()!="fieldset"&&!this.disabled&&d!="submit"&&d!="reset"&&d!="button"&&(d!="radio"&&d!="checkbox"||this.checked)&&b.push({name:c.attr("name"),value:c.val()})}),b},a.fn.serialize=function(){var a=[];return this.serializeArray().forEach(function(b){a.push(encodeURIComponent(b.name)+"="+encodeURIComponent(b.value))}),a.join("&")},a.fn.submit=function(b){if(b)this.bind("submit",b);else if(this.length){var c=a.Event("submit");this.eq(0).trigger(c),c.defaultPrevented||this.get(0).submit()}return this}}(Zepto),function(a){function d(a){return"tagName"in a?a:a.parentNode}function e(a,b,c,d){var e=Math.abs(a-b),f=Math.abs(c-d);return e>=f?a-b>0?"Left":"Right":c-d>0?"Up":"Down"}function h(){g=null,b.last&&(b.el.trigger("longTap"),b={})}function i(){g&&clearTimeout(g),g=null}var b={},c,f=750,g;a(document).ready(function(){var j,k;a(document.body).bind("touchstart",function(e){j=Date.now(),k=j-(b.last||j),b.el=a(d(e.touches[0].target)),c&&clearTimeout(c),b.x1=e.touches[0].pageX,b.y1=e.touches[0].pageY,k>0&&k<=250&&(b.isDoubleTap=!0),b.last=j,g=setTimeout(h,f)}).bind("touchmove",function(a){i(),b.x2=a.touches[0].pageX,b.y2=a.touches[0].pageY}).bind("touchend",function(a){i(),b.isDoubleTap?(b.el.trigger("doubleTap"),b={}):b.x2&&Math.abs(b.x1-b.x2)>30||b.y2&&Math.abs(b.y1-b.y2)>30?(b.el.trigger("swipe")&&b.el.trigger("swipe"+e(b.x1,b.x2,b.y1,b.y2)),b={}):"last"in b&&(b.el.trigger("tap"),c=setTimeout(function(){c=null,b.el.trigger("singleTap"),b={}},250))}).bind("touchcancel",function(){c&&clearTimeout(c),g&&clearTimeout(g),g=c=null,b={}})}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(b){a.fn[b]=function(a){return this.bind(b,a)}})}(Zepto),Zepto}),define("joshfire-framework/adapters/phone/utils/dollar",["joshlib!vendor/zepto"],function(a){return a}),define("joshfire-framework/vendor/underscore",[],function(){return function(){function A(a,b,c){if(a===b)return a!==0||1/a==1/b;if(a==null||b==null)return a===b;a._chain&&(a=a._wrapped),b._chain&&(b=b._wrapped);if(a.isEqual&&w.isFunction(a.isEqual))return a.isEqual(b);if(b.isEqual&&w.isFunction(b.isEqual))return b.isEqual(a);var d=i.call(a);if(d!=i.call(b))return!1;switch(d){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:a==0?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if(typeof a!="object"||typeof b!="object")return!1;var e=c.length;while(e--)if(c[e]==a)return!0;c.push(a);var f=0,g=!0;if(d=="[object Array]"){f=a.length,g=f==b.length;if(g)while(f--)if(!(g=f in a==f in b&&A(a[f],b[f],c)))break}else{if("constructor"in a!="constructor"in b||a.constructor!=b.constructor)return!1;for(var h in a)if(w.has(a,h)){f++;if(!(g=w.has(b,h)&&A(a[h],b[h],c)))break}if(g){for(h in b)if(w.has(b,h)&&!(f--))break;g=!f}}return c.pop(),g}var a=this,b=a._,c={},d=Array.prototype,e=Object.prototype,f=Function.prototype,g=d.slice,h=d.unshift,i=e.toString,j=e.hasOwnProperty,k=d.forEach,l=d.map,m=d.reduce,n=d.reduceRight,o=d.filter,p=d.every,q=d.some,r=d.indexOf,s=d.lastIndexOf,t=Array.isArray,u=Object.keys,v=f.bind,w=function(a){return new I(a)};typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=w),exports._=w):a._=w,w.VERSION="1.3.3";var x=w.each=w.forEach=function(a,b,d){if(a==null)return;if(k&&a.forEach===k)a.forEach(b,d);else if(a.length===+a.length){for(var e=0,f=a.length;e2;a==null&&(a=[]);if(m&&a.reduce===m)return d&&(b=w.bind(b,d)),e?a.reduce(b,c):a.reduce(b);x(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)});if(!e)throw new TypeError("Reduce of empty array with no initial value");return c},w.reduceRight=w.foldr=function(a,b,c,d){var e=arguments.length>2;a==null&&(a=[]);if(n&&a.reduceRight===n)return d&&(b=w.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=w.toArray(a).reverse();return d&&!e&&(b=w.bind(b,d)),e?w.reduce(f,b,c,d):w.reduce(f,b)},w.find=w.detect=function(a,b,c){var d;return y(a,function(a,e,f){if(b.call(c,a,e,f))return d=a,!0}),d},w.filter=w.select=function(a,b,c){var d=[];return a==null?d:o&&a.filter===o?a.filter(b,c):(x(a,function(a,e,f){b.call(c,a,e,f)&&(d[d.length]=a)}),d)},w.reject=function(a,b,c){var d=[];return a==null?d:(x(a,function(a,e,f){b.call(c,a,e,f)||(d[d.length]=a)}),d)},w.every=w.all=function(a,b,d){var e=!0;return a==null?e:p&&a.every===p?a.every(b,d):(x(a,function(a,f,g){if(!(e=e&&b.call(d,a,f,g)))return c}),!!e)};var y=w.some=w.any=function(a,b,d){b||(b=w.identity);var e=!1;return a==null?e:q&&a.some===q?a.some(b,d):(x(a,function(a,f,g){if(e||(e=b.call(d,a,f,g)))return c}),!!e)};w.include=w.contains=function(a,b){var c=!1;return a==null?c:r&&a.indexOf===r?a.indexOf(b)!=-1:(c=y(a,function(a){return a===b}),c)},w.invoke=function(a,b){var c=g.call(arguments,2);return w.map(a,function(a){return(w.isFunction(b)?b||a:a[b]).apply(a,c)})},w.pluck=function(a,b){return w.map(a,function(a){return a[b]})},w.max=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.max.apply(Math,a);if(!b&&w.isEmpty(a))return-Infinity;var d={computed:-Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>=d.computed&&(d={value:a,computed:g})}),d.value},w.min=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.min.apply(Math,a);if(!b&&w.isEmpty(a))return Infinity;var d={computed:Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;gd?1:0}),"value")},w.groupBy=function(a,b){var c={},d=w.isFunction(b)?b:function(a){return a[b]};return x(a,function(a,b){var e=d(a,b);(c[e]||(c[e]=[])).push(a)}),c},w.sortedIndex=function(a,b,c){c||(c=w.identity);var d=0,e=a.length;while(d>1;c(a[f])=0})})},w.difference=function(a){var b=w.flatten(g.call(arguments,1),!0);return w.filter(a,function(a){return!w.include(b,a)})},w.zip=function(){var a=g.call(arguments),b=w.max(w.pluck(a,"length")),c=new Array(b);for(var d=0;d=0;c--)b=[a[c].apply(this,b)];return b[0]}},w.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}},w.keys=u||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)w.has(a,c)&&(b[b.length]=c);return b},w.values=function(a){return w.map(a,w.identity)},w.functions=w.methods=function(a){var b=[];for(var c in a)w.isFunction(a[c])&&b.push(c);return b.sort()},w.extend=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a},w.pick=function(a){var b={};return x(w.flatten(g.call(arguments,1)),function(c){c in a&&(b[c]=a[c])}),b},w.defaults=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]==null&&(a[c]=b[c])}),a},w.clone=function(a){return w.isObject(a)?w.isArray(a)?a.slice():w.extend({},a):a},w.tap=function(a,b){return b(a),a},w.isEqual=function(a,b){return A(a,b,[])},w.isEmpty=function(a){if(a==null)return!0;if(w.isArray(a)||w.isString(a))return a.length===0;for(var b in a)if(w.has(a,b))return!1;return!0},w.isElement=function(a){return!!a&&a.nodeType==1},w.isArray=t||function(a){return i.call(a)=="[object Array]"},w.isObject=function(a){return a===Object(a)},w.isArguments=function(a){return i.call(a)=="[object Arguments]"},w.isArguments(arguments)||(w.isArguments=function(a){return!!a&&!!w.has(a,"callee")}),w.isFunction=function(a){return i.call(a)=="[object Function]"},w.isString=function(a){return i.call(a)=="[object String]"},w.isNumber=function(a){return i.call(a)=="[object Number]"},w.isFinite=function(a){return w.isNumber(a)&&isFinite(a)},w.isNaN=function(a){return a!==a},w.isBoolean=function(a){return a===!0||a===!1||i.call(a)=="[object Boolean]"},w.isDate=function(a){return i.call(a)=="[object Date]"},w.isRegExp=function(a){return i.call(a)=="[object RegExp]"},w.isNull=function(a){return a===null},w.isUndefined=function(a){return a===void 0},w.has=function(a,b){return j.call(a,b)},w.noConflict=function(){return a._=b,this},w.identity=function(a){return a},w.times=function(a,b,c){for(var d=0;d/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},w.result=function(a,b){if(a==null)return null;var c=a[b];return w.isFunction(c)?c.call(a):c},w.mixin=function(a){x(w.functions(a),function(b){K(b,w[b]=a[b])})};var B=0;w.uniqueId=function(a){var b=B++;return a?a+b:b},w.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var C=/.^/,D={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"};for(var E in D)D[D[E]]=E;var F=/\\|'|\r|\n|\t|\u2028|\u2029/g,G=/\\(\\|'|r|n|t|u2028|u2029)/g,H=function(a){return a.replace(G,function(a,b){return D[b]})};w.template=function(a,b,c){c=w.defaults(c||{},w.templateSettings);var d="__p+='"+a.replace(F,function(a){return"\\"+D[a]}).replace(c.escape||C,function(a,b){return"'+\n_.escape("+H(b)+")+\n'"}).replace(c.interpolate||C,function(a,b){return"'+\n("+H(b)+")+\n'"}).replace(c.evaluate||C,function(a,b){return"';\n"+H(b)+"\n;__p+='"})+"';\n";c.variable||(d="with(obj||{}){\n"+d+"}\n"),d="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+d+"return __p;\n";var e=new Function(c.variable||"obj","_",d);if(b)return e(b,w);var f=function(a){return e.call(this,a,w)};return f.source="function("+(c.variable||"obj")+"){\n"+d+"}",f},w.chain=function(a){return w(a).chain()};var I=function(a){this._wrapped=a};w.prototype=I.prototype;var J=function(a,b){return b?w(a).chain():a},K=function(a,b){I.prototype[a]=function(){var a=g.call(arguments);return h.call(a,this._wrapped),J(b.apply(w,a),this._chain)}};w.mixin(w),x(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=d[a];I.prototype[a]=function(){var c=this._wrapped;b.apply(c,arguments);var d=c.length;return(a=="shift"||a=="splice")&&d===0&&delete c[0],J(c,this._chain)}}),x(["concat","join","slice"],function(a){var b=d[a];I.prototype[a]=function(){return J(b.apply(this._wrapped,arguments),this._chain)}}),I.prototype.chain=function(){return this._chain=!0,this},I.prototype.value=function(){return this._wrapped}}.call(this),typeof exports!="undefined"?typeof module!="undefined"&&module.exports?exports:exports._:this._}),function(a){var b=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a},c=function(a){if(a["@type"]==="VideoObject"||a["@type"]==="AudioObject")return a;var b=null;switch(a["@type"]){case"MusicRecording":b=["audio","associatedMedia","video"];break;default:b=["video","associatedMedia","audio"]}for(var c=0,d=b.length;cc.width+1?c.height=e.height:e.width';for(var e=0;e'}d+="",typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),h=e.extend({initialize:function(a){this.sources=a.sources,this.poster=a.poster||"",this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},addPolyFill:function(){var a=document.getElementsByTagName("body")[0],b=document.createElement("link"),c=document.createElement("script");b.setAttribute("href","http://vjs.zencdn.net/c/video-js.css"),b.setAttribute("rel","stylesheet"),c.setAttribute("src","http://vjs.zencdn.net/c/video.js"),a.appendChild(b),a.appendChild(c)},toHtml:function(a){var b=this.poster?' poster="'+this.poster+'"':"",c=this.autoPlay?" autoplay":"",d='",typeof window!="undefined"&&typeof window.VideoJS=="undefined"&&this.addPolyFill(),typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),i=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||40,this.autoPlay=a.autoPlay||!1},iCanHazAudioTag:function(a){if(!document)return!1;var b=document.createElement("audio");return b.canPlayType},toHtml:function(a){var b="";if(this.sources&&this.sources.length){for(var c=0;c";break}b||(b='Play')}typeof a=="function"&&a(null,b,{})}}),j=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},toHtml:function(a){var b="mediaplayerlib-mediaelement-video-"+j.nextId++,c=this.poster?' poster="'+this.poster+'"':"",d=this.autoPlay?" autoplay":"",e='",e+="",typeof a=="function"&&a(null,e,{width:this.width,height:this.height})}});j.nextId=0;var k=e.extend({initialize:function(a){this.options=a},toHtml:function(b){var c=null;for(var d=0;d';typeof a=="function"&&a(null,b,{width:this.width,height:this.height})}}),m=e.extend({initialize:function(a){this.url=a.url,this.publisher=a.publisher,this.width=a.width||500,this.height=a.height||281},toHtml:function(a){var b=this.url||"",c="",d="",e=function(){var a=function(){return((1+Math.random())*65536|0).toString(16).substring(1)};return"mediaplayerlib-"+a()+a()+a()};d=e(),this.publisher==="Ooyala"?(b+=(b.indexOf("?")===-1?"?":"&")+"width="+encodeURIComponent(this.width)+"&height="+encodeURIComponent(this.height),c='
    '+'"+''):c='',typeof a=="function"&&a(null,c,{width:this.width,height:this.height})}}),n=e.extend({toHtml:function(a){typeof a=="function"&&a(new Error("Unknown media type."),"Unknown media type.")}}),o=function(){};b(o.prototype,{execute:function(a,b){return new n(b)}}),o.extend=function(a){var c=function(a){o.call(this,a)};return b(c.prototype,a),c};var p=o.extend({execute:function(a,e){var f,g=c(a)||{},i=d(g,e);b(e,i);if(g["@type"]==="VideoObject")if(g.playerType==="iframe")b(e,{url:g.embedURL}),f=new l(e);else if(g.playerType==="script")b(e,{url:g.embedURL,publisher:g.publisher?g.publisher.name:null}),f=new m(e);else if(g.contentURL){var j=null;g.image&&g.image.contentURL&&(j=g.image.contentURL),b(e,{poster:j,sources:[g.contentURL]}),f=new h(e)}return f||new n}}),q=o.extend({execute:function(a,e){var f,h=c(a)||{},j=d(h,e);b(e,j);if(h.playerType==="iframe")b(e,{url:h.embedURL,html5:!0}),f=new l(e);else if(h.playerType==="script")b(e,{url:h.embedURL,html5:!0,publisher:h.publisher?h.publisher.name:null}),f=new m(e);else if(h["@type"]==="VideoObject"){if(h.contentURL){var k=null;h.image&&(k=h.image.contentURL),b(e,{poster:k,sources:[h.contentURL]}),f=new g(e)}}else h["@type"]==="AudioObject"&&h.contentURL&&(b(e,{sources:[h.contentURL]}),f=new i(e));return f}}),r=o.extend({execute:function(a,e){var f=c(a)||{},g=d(f,e);b(e,g);var h;if(a["@type"]==="VideoObject"){if(typeof a.contentURL!="undefined"){var i=null;f.image&&(i=f.image.contentURL),b(e,{poster:i,sources:[a.contentURL]}),h=new j(e)}}else a["@type"]==="AudioObject"&&typeof a.contentURL!="undefined"&&b(e,{sources:[a.contentURL]});return h}}),s=o.extend({execute:function(a,c){var d;return typeof a.url!="undefined"&&(b(c,{url:a.url}),d=new k(c)),d}}),t=function(){this.strategies={def:new p,html5:new q,mediaElement:new r,oembed:new s}};b(t.prototype,{resolve:function(a,b){b=b||{};var c;if(typeof b.strategy!="undefined"&&typeof this.strategies[b.strategy]!="undefined"){var d=this.strategies[b.strategy];c=d.execute(a,b)}return c||this.strategies.def.execute(a,b)},insertFragment:function(a,b){function d(a,b){b(a);for(var c in a.childNodes)d(a.childNodes[c],b)}function e(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()}function f(a){var b=a.text||a.textContent||a.innerHTML||"",c=a.getAttribute("src"),d=document.getElementsByTagName("head")[0]||document.documentElement,e=document.createElement("script");e.type="text/javascript",c&&e.setAttribute("src",c),b&&e.appendChild(document.createTextNode(b)),d.insertBefore(e,d.firstChild),a.parentNode&&a.parentNode.removeChild(a)}var c=null;Object.prototype.toString.call(b)==="[object String]"?c=document.getElementById(b):c=b,c.innerHTML=(""+a).trim();var g=[],h=null;d(c,function(a){a.nodeName&&a.nodeName.toUpperCase()==="SCRIPT"&&(!a.type||a.type==="text/javascript")&&g.push(a)});for(h in g)f(g[h])},insert:function(a,b,c,d){var e=this,f=this.resolve(a,b).toHtml(function(a,b){e.insertFragment(b,c),typeof d=="function"&&d(null)})}}),typeof Joshfire!="undefined"&&typeof Joshfire.define!="undefined"?Joshfire.define([],function(){return new t}):typeof define!="undefined"?define("joshfire-framework/utils/mediaplayerlib",[],function(){return new t}):a.mediaFactory=new t}(typeof module!="undefined"?module.exports:window),define("joshfire-framework/vendor/backbone",["joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b){return function(){var c=this,d=c.Backbone,e=Array.prototype.slice,f=Array.prototype.splice,g;typeof exports!="undefined"?g=exports:g=c.Backbone={},g.VERSION="0.9.2",g.setDomLibrary=function(a){b=a},g.noConflict=function(){return c.Backbone=d,this},g.emulateHTTP=!1,g.emulateJSON=!1;var h=/\s+/,i=g.Events={on:function(a,b,c){var d,e,f,g,i;if(!b)return this;a=a.split(h),d=this._callbacks||(this._callbacks={});while(e=a.shift())i=d[e],f=i?i.tail:{},f.next=g={},f.context=c,f.callback=b,d[e]={tail:g,next:i?i.next:f};return this},off:function(b,c,d){var e,f,g,i,j,k;if(!(f=this._callbacks))return;if(!(b||c||d))return delete this._callbacks,this;b=b?b.split(h):a.keys(f);while(e=b.shift()){g=f[e],delete f[e];if(!g||!c&&!d)continue;i=g.tail;while((g=g.next)!==i)j=g.callback,k=g.context,(c&&j!==c||d&&k!==d)&&this.on(e,j,k)}return this},trigger:function(a){var b,c,d,f,g,i,j;if(!(d=this._callbacks))return this;i=d.all,a=a.split(h),j=e.call(arguments,1);while(b=a.shift()){if(c=d[b]){f=c.tail;while((c=c.next)!==f)c.callback.apply(c.context||this,j)}if(c=i){f=c.tail,g=[b].concat(j);while((c=c.next)!==f)c.callback.apply(c.context||this,g)}}return this}};i.bind=i.on,i.unbind=i.off;var j=g.Model=function(b,c){var d;b||(b={}),c&&c.parse&&(b=this.parse(b));if(d=A(this,"defaults"))b=a.extend({},d,b);c&&c.collection&&(this.collection=c.collection),this.attributes={},this._escapedAttributes={},this.cid=a.uniqueId("c"),this.changed={},this._silent={},this._pending={},this.set(b,{silent:!0}),this.changed={},this._silent={},this._pending={},this._previousAttributes=a.clone(this.attributes),this.initialize.apply(this,arguments)};a.extend(j.prototype,i,{changed:null,_silent:null,_pending:null,idAttribute:"id",initialize:function(){},toJSON:function(b){return a.clone(this.attributes)},get:function(a){return this.attributes[a]},escape:function(b){var c;if(c=this._escapedAttributes[b])return c;var d=this.get(b);return this._escapedAttributes[b]=a.escape(d==null?"":""+d)},has:function(a){return this.get(a)!=null},set:function(b,c,d){var e,f,g;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d||(d={});if(!e)return this;e instanceof j&&(e=e.attributes);if(d.unset)for(f in e)e[f]=void 0;if(!this._validate(e,d))return!1;this.idAttribute in e&&(this.id=e[this.idAttribute]);var h=d.changes={},i=this.attributes,k=this._escapedAttributes,l=this._previousAttributes||{};for(f in e){g=e[f];if(!a.isEqual(i[f],g)||d.unset&&a.has(i,f))delete k[f],(d.silent?this._silent:h)[f]=!0;d.unset?delete i[f]:i[f]=g,!a.isEqual(l[f],g)||a.has(i,f)!=a.has(l,f)?(this.changed[f]=g,d.silent||(this._pending[f]=!0)):(delete this.changed[f],delete this._pending[f])}return d.silent||this.change(d),this},unset:function(a,b){return(b||(b={})).unset=!0,this.set(a,null,b)},clear:function(b){return(b||(b={})).unset=!0,this.set(a.clone(this.attributes),b)},fetch:function(b){b=b?a.clone(b):{};var c=this,d=b.success;return b.success=function(a,e,f){if(!c.set(c.parse(a,f),b))return!1;d&&d(c,a)},b.error=g.wrapError(b.error,c,b),(this.sync||g.sync).call(this,"read",this,b)},save:function(b,c,d){var e,f;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d=d?a.clone(d):{};if(d.wait){if(!this._validate(e,d))return!1;f=a.clone(this.attributes)}var h=a.extend({},d,{silent:!0});if(e&&!this.set(e,d.wait?h:d))return!1;var i=this,j=d.success;d.success=function(b,c,f){var g=i.parse(b,f);d.wait&&(delete d.wait,g=a.extend(e||{},g));if(!i.set(g,d))return!1;j?j(i,b):i.trigger("sync",i,b,d)},d.error=g.wrapError(d.error,i,d);var k=this.isNew()?"create":"update",l=(this.sync||g.sync).call(this,k,this,d);return d.wait&&this.set(f,h),l},destroy:function(b){b=b?a.clone(b):{};var c=this,d=b.success,e=function(){c.trigger("destroy",c,c.collection,b)};if(this.isNew())return e(),!1;b.success=function(a){b.wait&&e(),d?d(c,a):c.trigger("sync",c,a,b)},b.error=g.wrapError(b.error,c,b);var f=(this.sync||g.sync).call(this,"delete",this,b);return b.wait||e(),f},url:function(){var a=A(this,"urlRoot")||A(this.collection,"url")||B();return this.isNew()?a:a+(a.charAt(a.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},parse:function(a,b){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},change:function(b){b||(b={});var c=this._changing;this._changing=!0;for(var d in this._silent)this._pending[d]=!0;var e=a.extend({},b.changes,this._silent);this._silent={};for(var d in e)this.trigger("change:"+d,this,this.get(d),b);if(c)return this;while(!a.isEmpty(this._pending)){this._pending={},this.trigger("change",this,b);for(var d in this.changed){if(this._pending[d]||this._silent[d])continue;delete this.changed[d]}this._previousAttributes=a.clone(this.attributes)}return this._changing=!1,this},hasChanged:function(b){return arguments.length?a.has(this.changed,b):!a.isEmpty(this.changed)},changedAttributes:function(b){if(!b)return this.hasChanged()?a.clone(this.changed):!1;var c,d=!1,e=this._previousAttributes;for(var f in b){if(a.isEqual(e[f],c=b[f]))continue;(d||(d={}))[f]=c}return d},previous:function(a){return!arguments.length||!this._previousAttributes?null:this._previousAttributes[a]},previousAttributes:function(){return a.clone(this._previousAttributes)},isValid:function(){return!this.validate(this.attributes)},_validate:function(b,c){if(c.silent||!this.validate)return!0;b=a.extend({},this.attributes,b);var d=this.validate(b,c);return d?(c&&c.error?c.error(this,d,c):this.trigger("error",this,d,c),!1):!0}});var k=g.Collection=function(a,b){b||(b={}),b.model&&(this.model=b.model),b.comparator&&(this.comparator=b.comparator),this._reset(),this.initialize.apply(this,arguments),a&&this.reset(a,{silent:!0,parse:b.parse})};a.extend(k.prototype,i,{model:j,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},add:function(b,c){var d,e,g,h,i,j,k={},l={},m=[];c||(c={}),b=a.isArray(b)?b.slice():[b];for(d=0,g=b.length;d').hide().appendTo("body")[0].contentWindow,this.navigate(d)),this._hasPushState?b(window).bind("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!f?b(window).bind("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=d;var g=window.location,h=g.pathname==this.options.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!h)return this.fragment=this.getFragment(null,!0),window.location.replace(this.options.root+"#"+this.fragment),!0;this._wantsPushState&&this._hasPushState&&h&&g.hash&&(this.fragment=this.getHash().replace(r,""),window.history.replaceState({},document.title,g.protocol+"//"+g.host+this.options.root+this.fragment));if(!this.options.silent)return this.loadUrl()},stop:function(){b(window).unbind("popstate",this.checkUrl).unbind("hashchange",this.checkUrl),clearInterval(this._checkUrlInterval),q.started=!1},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(a){var b=this.getFragment();b==this.fragment&&this.iframe&&(b=this.getFragment(this.getHash(this.iframe)));if(b==this.fragment)return!1;this.iframe&&this.navigate(b),this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(b){var c=this.fragment=this.getFragment(b),d=a.any(this.handlers,function(a){if(a.route.test(c))return a.callback(c),!0});return d},navigate:function(a,b){if(!q.started)return!1;if(!b||b===!0)b={trigger:b};var c=(a||"").replace(r,"");if(this.fragment==c)return;this._hasPushState?(c.indexOf(this.options.root)!=0&&(c=this.options.root+c),this.fragment=c,window.history[b.replace?"replaceState":"pushState"]({},document.title,c)):this._wantsHashChange?(this.fragment=c,this._updateHash(window.location,c,b.replace),this.iframe&&c!=this.getFragment(this.getHash(this.iframe))&&(b.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,c,b.replace))):window.location.assign(this.options.root+a),b.trigger&&this.loadUrl(a)},_updateHash:function(a,b,c){c?a.replace(a.toString().replace(/(javascript:|#).*$/,"")+"#"+b):a.hash=b}});var t=g.View=function(b){this.cid=a.uniqueId("view"),this._configure(b||{}),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},u=/^(\S+)\s*(.*)$/,v=["model","collection","el","id","attributes","className","tagName"];a.extend(t.prototype,i,{tagName:"div",$:function(a){return this.$el.find(a)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this},make:function(a,c,d){var e=document.createElement(a);return c&&b(e).attr(c),d&&b(e).html(d),e},setElement:function(a,c){return this.$el&&this.undelegateEvents(),this.$el=a instanceof b?a:b(a),this.el=this.$el[0],c!==!1&&this.delegateEvents(),this},delegateEvents:function(b){if(!b&&!(b=A(this,"events")))return;this.undelegateEvents();for(var c in b){var d=b[c];a.isFunction(d)||(d=this[b[c]]);if(!d)throw new Error('Method "'+b[c]+'" does not exist');var e=c.match(u),f=e[1],g=e[2];d=a.bind(d,this),f+=".delegateEvents"+this.cid,g===""?this.$el.bind(f,d):this.$el.delegate(g,f,d)}},undelegateEvents:function(){this.$el.unbind(".delegateEvents"+this.cid)},_configure:function(b){this.options&&(b=a.extend({},this.options,b));for(var c=0,d=v.length;c/g,">").replace(/"+a+"";var c="<"+this.el.nodeName.toLowerCase();for(var d=0;d",c},hide:function(){c(this.el).hide(),this.trigger("hidden")},show:function(){c(this.el).show(),this.trigger("shown")},enhance:function(){this.customLoadEvent||this.trigger("load"),this.loadingClass&&c(this.el)&&(c(this.el).addClass(this.loadingClass),this.unbind("load",this.removeLoadingClass,this),this.bind("load",this.removeLoadingClass,this))},removeLoadingClass:function(){c(this.el).removeClass(this.loadingClass)}});return d}),define("joshfire-framework/uielement",["joshlib!view"],function(a){var b=a.extend({});return b}),define("joshfire-framework/adapters/phone/uielement",["joshlib!adapters/none/uielement","joshlib!vendor/iscroll","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c,d){var e=a.extend({initialize:function(b){this.options.scroller&&d(this.el).css({overflow:"hidden"}),this.options.scrollerSelector&&(this.scrollerSelector=this.options.scrollerSelector),this.bind("shown",function(){this.hasScroller&&this.iScroller&&this.iScroller.refresh()},this),a.prototype.initialize.call(this,b)},enhance:function(){var b=this;if(this.options.scroller){b.insertScroller(),window.skiped&&b.iScroller.scrollToElement("li:nth-child("+window.skiped+")",200);var c=b.$("img");c.length&&b.$("img").bind("load",function(){setTimeout(function(){b.iScroller.refresh()},10)})}a.prototype.enhance.call(this)},insertScroller:function(){var a=this;this.hasScroller=!0,a.iScroller&&a.iScroller.destroy();var e=a.el;a.scrollerSelector&&(e=d(a.scrollerSelector,a.el).get(0)||a.el),a.iScroller=new b(e,c.extend({useTransition:!0,onScrollMove:function(){a.$("a").bind("click.iscrollprevent",function(a){a.preventDefault()})},onScrollEnd:function(){setTimeout(function(){a.$("a").unbind("click.iscrollprevent")},100)},onBeforeScrollStart:function(a){var b=a.target;while(b.nodeType!=1)b=b.parentNode;b.tagName!="SELECT"&&b.tagName!="INPUT"&&b.tagName!="TEXTAREA"&&a.preventDefault()}},a.options.scrollOptions||{})),a.options.scrollOptions&&a.options.scrollOptions.disabled&&a.iScroller.disable(),document.addEventListener("orientationChanged",function(b){a.iScroller&&a.iScroller.refresh()})}});return e}),define("joshfire-framework/ui/layout",["joshlib!uielement","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(c){c.template?this.template=this.compileTemplate(c.template):c.templateEl&&(this.template=this.compileTemplate($(c.templateEl).text())),this.customLoadEvent=!0,this.setChildren(c.children),this.bind("shown",function(){b.each(this.children,function(a){a.trigger("shown")})},this),this.bind("hidden",function(){b.each(this.children,function(a){a.trigger("hidden")})},this),a.prototype.initialize.call(this,c)},setChildren:function(a){this.children=a,this.numChildren=0,this.numChildrenLoaded=0,a&&b.each(a,b.bind(function(a){++this.numChildren,a.bind("load",b.bind(function(){++this.numChildrenLoaded,this.numChildrenLoaded===this.numChildren&&this.trigger("load")},this))},this))},getChild:function(a){if(a)return this.children[a]},generate:function(a){if(!this.children)return a(null,"");this.childrenOffsets={},this.numChildrenLoaded=0;var c=0,d="";b.each(this.children,b.bind(function(e,f){e.generate(b.bind(function(b,g){var h=e.wrapContent(g);this.childrenOffsets[f]=c,d+=h;if(++c===this.numChildren){var i=null;this.template?i=this.template({childrenOuterHTML:d}):i=d,a(null,i)}},this))},this))},setContent:function(b){a.prototype.setContent.call(this,b),this.children&&this.el&&this.setChildrenElements(!0)},setElement:function(b,c){a.prototype.setElement.call(this,b,c),this.setChildrenElements(c)},setChildrenElements:function(a){b.each(this.children,b.bind(function(a,b){var c=this.el.childNodes[this.childrenOffsets[b]];a.setElement(c,!0)},this))},enhance:function(){a.prototype.enhance.call(this),this.children&&this.el&&b.each(this.children,b.bind(function(a,b){a.enhance()},this)),(!this.children||this.children.length===0)&&this.trigger("load")}});return c}),define("joshfire-framework/ui/cardpanel",["joshlib!ui/layout","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(b){this.showChild(b.currentChild||b.defaultChildren),a.prototype.initialize.call(this,b)},showChild:function(a){if(this.currentChild===a)return;this.canUseDOM&&this.transition(this.currentChild,a),this.currentChild=a},showChildren:function(a){this.showChild(a)},transition:function(a,c){b.each(this.children,function(a,b){b!=c&&a.hide()}),c&&this.children[c].show()},enhance:function(){a.prototype.enhance.call(this),this.currentChild&&this.transition(null,this.currentChild),this.canUseDOM=!0}});return c}),define("joshfire-framework/ui/fadeinpanel",["joshlib!ui/cardpanel","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c){var d=a.extend({initialize:function(b){this.cssTransition=b.cssTransition||".4s ease-in-out all",a.prototype.initialize.call(this,b)},transition:function(a,d){var e=this.children[d];e.hide(),c(e.el).css({filter:"alpha(opacity=0)","-khtml-opacity":0,"-moz-opacity":0,"-ms-opacity":0,"-o-opacity":0,opacity:0,"-webkit-transition":"none","-moz-transition":"none","-ms-transition":"none","-o-transition":"none",transition:"none"}),b.each(this.children,b.bind(function(a,b){a.hide()},this)),e.show(),c(e.el).css({filter:"alpha(opacity=100)","-khtml-opacity":1,"-moz-opacity":1,"-ms-opacity":1,"-o-opacity":1,opacity:1,"-webkit-transition":"0.7s ease-in-out all","-moz-transition":"0.7s ease-in-out all","-ms-transition":"0.7s ease-in-out all","-o-transition":"0.7s ease-in-out all",transition:"0.7s ease-in-out all","-webkit-backface-visibility":"hidden"})}});return d}),define("joshfire-framework/ui/item",["joshlib!uielement","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){c.template?this.template=this.compileTemplate(c.template):c.templateEl&&(this.template=this.compileTemplate(b(c.templateEl).text())),this.setModel(c.model),a.prototype.initialize.call(this,c)},setModel:function(a,b){this.model=a,a&&a.bind("change",this.render,this),b&&this.render()},generate:function(a){if(!this.template)return a(null,"");if(!this.model)return a(null,"");var b={model:this.model,obj:this.model,item:this.model?this.model.toJSON():{}};c.extend(b,this.data),a(null,this.template(b))}});return d}),define("joshfire-framework/ui/dynamiccontainer",["joshlib!uielement","joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){var e=a.extend({initialize:function(e){this.setModel(e.model),this.setCollection(e.collection),this.viewTemplateEl=e.viewTemplateEl||e.itemTemplateEl,this.viewOptions=e.viewOptions||e.itemOptions||{},this.viewOptions.templateEl=this.viewOptions.templateEl||this.viewTemplateEl,this.viewOptions.template=this.viewOptions.template||e.viewTemplate||e.itemTemplate,e.template?this.template=this.compileTemplate(e.template):e.templateEl&&(this.template=this.compileTemplate(c(e.templateEl).text())),this.viewFactory=function(a,c){var f={model:a,collection:c};return d.extend(f,this.viewOptions),factory=e.viewFactory||e.itemFactory,factory?factory(f):new b(f)},this.customLoadEvent=!0,this.bind("shown",function(){this.view&&this.view.trigger("shown")},this),this.bind("hidden",function(){this.view&&this.view.trigger("hidden")},this),a.prototype.initialize.call(this,e)},setModel:function(a,b){this.model&&this.model.unbind("change",this.render,this),this.model=a,a&&a.bind("change",this.render,this),b&&this.render()},setCollection:function(a,b){this.collection&&(this.collection.unbind("change",this.render,this),this.collection.unbind("add",this.render,this),this.collection.unbind("remove",this.render,this),this.collection.unbind("reset",this.render,this)),this.collection=a,a&&(a.bind("change",this.render,this),a.bind("add",this.render,this),a.bind("remove",this.render,this),a.bind("reset",this.render,this)),b&&this.render()},generate:function(a){var b=this;this.view&&this.view.unbind("load",this.triggerLoad,this),this.view=this.viewFactory(this.model,this.collection);if(!this.view)return a(null,"");this.view.bind("load",this.triggerLoad,this),!this.view.model&&this.view.setModel&&this.view.setModel(this.model),!this.view.collection&&this.view.setCollection&&this.view.setCollection(this.collection),this.view.generate(function(c,d){var e=b.view.wrapContent(d),f=null;return e&&b.template?f=b.template({child:e}):f=e?e:"",a(c,f)})},setContent:function(b){a.prototype.setContent.call(this,b),this.view&&this.el&&this.setViewElement(!0)},setElement:function(b,c){a.prototype.setElement.call(this,b,c),this.setViewElement(c)},setViewElement:function(a){this.view&&this.view.setElement(this.el.firstChild,a)},enhance:function(){var b=this;this.view.enhance();var c=["navUp","navRight","navDown","navLeft","navAction","navFocus","navBlur"];d.each(c,function(a){b[a]=b.view[a]}),a.prototype.enhance.call(this)},triggerLoad:function(){this.trigger("load")}});return e}),define("joshfire-framework/ui/factorymedia",["joshlib!ui/item","joshlib!utils/mediaplayerlib","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){var e=a.extend({initialize:function(b){this.mediaOptions=b.mediaOptions||{},a.prototype.initialize.call(this,b)},generate:function(e){var f=/^([0-9]{1,3})%$/,g=null,h=0,i=d.clone(this.mediaOptions);if(!this.model)return e(null,"");i.width&&d.isString(i.width)&&(g=i.width.match(f),g&&(h=parseInt(g[1],10),this.options.width?i.width=this.options.width*h/100:i.width=c(this.el).width()*h/100,i.width=Math.floor(i.width))),i.height&&d.isString(i.height)&&(g=i.height.match(f),g&&(h=parseInt(g[1],10),this.options.height?i.height=this.options.height*h/100:i.height=c(this.el).height()*h/100,i.height=Math.floor(i.height)));var j=b.resolve(this.model.toJSON(),i);j.toHtml(d.bind(function(b,c,f){if(this.template)d.extend(this.data,{media:{html:c,metadata:f},width:this.options.width,height:this.options.height}),a.prototype.generate.call(this,e);else return e(null,c)},this))}});return e}),define("joshfire-framework/ui/imagesloader",["joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){this.imageClass=c.imageClass,this.processImageEl=c.processImageEl;var d=this;this.getImages=c.getImages||function(){var a=b.map(this.$("img"),function(a){return d.imageClass&&b(a).addClass(d.imageClass),{el:a,url:b(a).attr("src")}});return a},this.customLoadEvent=!0,a.prototype.initialize.call(this,c)},enhance:function(){var d=this;if(!this.getImages){a.prototype.enhance.call(this),this.trigger("load");return}var e=this.getImages();if(!e||e.length===0){a.prototype.enhance.call(this),this.trigger("load");return}var f=0,g=function(a){a&&b(a).removeClass("loading"),f+=1,f===e.length&&d.trigger("load")};c.each(e,function(a){if(!a.el||!a.url)return g(a.el);var c=a.el;d.processImageEl&&(c=d.processImageEl(a.el)),b(c).addClass("loading");var e=new Image;e.onload=function(){g(c),e=null},e.onerror=function(){g(c),e=null},e.src=a.url}),a.prototype.enhance.call(this)}});return d}),define("joshfire-framework/ui/imageloader",["joshlib!ui/imagesloader","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){this.getImageUrl=c.getImageUrl||function(){return this.model?this.model.imageUrl:null};var d=this;c.getImages=function(){var a=null;return c.imageContainer&&(a=d.$(c.imageContainer)),a||(a=b(d.el)),[{el:a.get(0),url:d.getImageUrl()}]},a.prototype.initialize.call(this,c)},generate:function(a){if(!this.model){a(null,"");return}var b={model:this.model,obj:this.model,item:this.model?this.model.toJSON():{},imageUrl:this.getImageUrl.call(this)};c.extend(b,this.data),a(null,this.template(b))}});return d}),define("joshfire-framework/ui/listitem",["joshlib!uielement","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(c){this.view=c.view,this.offset=c.offset,this.customLoadEvent=!0,this.view&&this.view.bind("load",b.bind(function(){this.trigger("load")},this)),a.prototype.initialize.call(this,c)},setElement:function(a){this.view&&this.view.setElement(a)},generate:function(a){this.view.data.offset=this.offset,this.view.generate(a)},render:function(){this.view.render()},setContent:function(a){this.view.setContent(a)},hide:function(){this.view.hide()},show:function(){this.view.show()},enhance:function(){this.view.enhance()}});return c}),define("joshfire-framework/ui/list",["joshlib!uielement","joshlib!ui/listitem","joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d,e){var f=a.extend({initialize:function(f){f.templateEl?this.template=this.compileTemplate(d(f.templateEl).text()):this.template=this.compileTemplate("
      <%= children %>
    "),this.UIItemClass=f.UIItemClass||b,this.itemOptions=f.itemOptions||{scroller:!1},this.itemTemplateEl=f.itemTemplateEl,this.itemOptions.templateEl=this.itemOptions.templateEl||this.itemTemplateEl,this.itemOptions.template=this.itemOptions.template||f.itemTemplate,this.contentSelector=f.contentSelector,this.items=[],this.itemFactory=f.itemFactory||function(a,b){var d={model:a,offset:b};return e.extend(d,this.itemOptions),new c(d)},this.customLoadEvent=!0,this.dataLoadingClass="loading",typeof f.dataLoadingClass!="undefined"&&(this.dataLoadingClass=f.dataLoadingClass),this.dataLoadingClass===!1&&(this.dataLoadingClass=null),this.bind("shown",function(){e.each(this.items,function(a){a.trigger("shown")})},this),this.bind("hidden",function(){e.each(this.items,function(a){a.trigger("hidden")})},this),a.prototype.initialize.call(this,f),f.collection&&this.setCollection(f.collection)},setCollection:function(a,b){this.collection&&(this.collection.unbind("change",this.update,this),this.collection.unbind("add",this.update,this),this.collection.unbind("remove",this.update,this),this.collection.unbind("reset",this.update,this),this.collection.unbind("syncstarted",this.syncStartedHandler,this),this.collection.unbind("syncsuccess",this.syncSuccessHandler,this),this.collection.unbind("syncerror",this.syncErrorHandler,this)),this.collection=a,a&&(a.bind("change",this.update,this),a.bind("add",this.update,this),a.bind("remove",this.update,this),a.bind("reset",this.update,this),a.bind("syncstarted",this.syncStartedHandler,this),a.bind("syncsuccess",this.syncSuccessHandler,this),a.bind("syncerror",this.syncErrorHandler,this)),this.update(b)},update:function(a){this.items=new Array(this.collection.length),this.itemsLoaded=0;var c=function(){++this.itemsLoaded,this.itemsLoaded===this.items.length&&this.trigger("load")};for(var d=0;d0&&(b=b.concat(a.children)),b},setColor:function(a,b){m("#color").remove(),window.Sid.css("css/"+this.deviceFamily+"."+a+".css",b)},setTitle:function(a){m("#title").html(a)},getClassName:function(a,b){if(b!=="list")return b==="single"?"single content detail":"content detail";switch(a){case"status":case"event":return"content hashed-list";case"photo":return"content mosaic-list";default:return"content simple-list"}},createToolbar:function(a){var b=new k.Collection,c=null;for(var d=0;dc&&(d.setModel(a.collection.at(c)),d.render()),b.view.showChild("detail","right")}},createListElement:function(a){return a.outputType==="photo"?new n({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list"),dataLoadingClass:"dataloading",loadingClass:"loading"}):new d({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list")})},createDetailContainer:function(a,c){var d=this;return new b({viewFactory:function(b){return l.extend(b,{slug:a.slug}),d.createDetailElement(b,c)},className:d.getClassName(a,c?"single":"detail")})},createDetailElement:function(a){if(!a.model)return new c({});var b=this.convertItemType(a.model.get("@type")),d=this;switch(b){case"video":return new g({templateEl:"#template-"+b,scroller:!0,scrollerSelector:".wrapper",width:d.getContentWidth(),height:d.getContentHeight(),mediaOptions:{strategy:"html5",width:"100%",height:"80%",adjustSize:!0}});case"sound":return new g({templateEl:"#template-"+b,mediaOptions:{strategy:"html5"}});case"status":return new h({templateEl:"#template-"+b,scroller:!0,getImageUrl:function(){return d.getAuthorThumbnail(a.model.toJSON())}});default:return new i({templateEl:"#template-"+b,scroller:!0,imageClass:"fadein",processImageEl:function(a){var b=document.createElement("div");b.setAttribute("class","loader inv");var c=document.createElement("div");return c.setAttribute("class","figure"),c.appendChild(b),a.getAttribute("width")?c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"):c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"),a.parentNode.replaceChild(c,a),c.appendChild(a),c}})}},itemFactory:function(a){var b=this;return function(d,e){var f=d.toJSON(),g=a.outputType||b.convertItemType(f["@type"]),i="#template-"+g+"-item",j={data:{section:a},model:d,offset:e,templateEl:i};switch(g){case"photo":case"video":case"product":case"news":return j.getImageUrl=function(){return b.getThumbnail(f,e,.2)},j.imageContainer=".figure",new h(j);case"status":return j.getImageUrl=function(){return b.getAuthorThumbnail(f,e)},j.imageContainer=".figure",new h(j);default:return new c(j)}}},createRoutes:function(a,b){return{routes:{"":"home"},home:function(){a.length?this[a[0].slug]():(m("#title").html("No data"),document.body.id="nodata",m("#refresh").hide())}}},getContentWidth:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).width()});return Math.floor(m(b).width())},getContentHeight:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).height()});return m(b).height()},getThumbnail:function(a,b,c){if(!a)return"";c=c||.2;var d=this.clientWidth*c,e=0,f=0,g=a.thumbnail,h=null,i=null,j=null;if(g&&g.length>0){j=g[0],f=j.width||0;for(var k=0;k=d&&(ef)j=g[k]}h=j.contentURL}return h||(a["@type"]==="ImageObject"&&a.contentURL?h=a.contentURL:a.image&&a.image.contentURL&&(h=a.image.contentURL)),h||(h=""),h},getAuthorThumbnail:function(a,b){if(!a)return"";var c="";return a.author&&a.author[0]&&(c=this.getThumbnail(a.author[0],b,.2)),c||(c=this.getThumbnail(a,b,.2)),c},slugify:function(a){return a=a.replace(/[^\-a-zA-Z0-9,&\s]+/ig,""),a=a.replace(/-/gi,"_"),a=a.replace(/\s/gi,"-"),a}}),o}),define("sleek.custom",["sleek"],function(a){return a}),define("sleek.tablet",["sleek.custom","joshlib!ui/layout","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){return a.extend({deviceFamily:"tablet",getClassName:function(a,b){if(b!=="list")return b==="single"?"single detail":"right-panel detail";switch(a){case"status":case"event":return"left-panel hashed-list";case"photo":return"section mosaic-list";default:return"left-panel simple-list"}},createListAndDetailView:function(a,c){var d=new b({children:{list:a,detail:c},className:"split-view"});return d},getContentWidth:function(){var a=c(".right-panel").get(),b=d.max(a,function(a){return c(a).width()});return c(b).width()},getContentHeight:function(){var a=c(".right-panel").get(),b=d.max(a,function(a){return c(a).height()});return c(b).height()},showList:function(a,b){this.showDetail(a,b,0)},moveToList:function(a){},showDetail:function(a,b,d){if(a.collection.length<=d)return;var e=b.view.children||{};e.detail?(e.detail.setModel(a.collection.at(d)),e.detail.render()):a.outputType!=="photo"&&(b.setModel(a.collection.at(d)),b.render()),e.list&&(e.list.$(".active").removeClass("active"),c(e.list.$("li")[d]).addClass("active"))},createRoutes:function(b,e){var f=a.prototype.createRoutes.call(this,b,e),g=c("#toolbar"),h=this;return d.forEach(b,function(a){f.routes[a.slug]=a.slug,f[a.slug]=function(){document.body.id=a.outputType,h.setTitle(a.name),c("iframe, audio, video, object, embed").remove(),g.find(".active").removeClass("active"),g.find(".section-"+a.slug).addClass("active");var b=e.children[a.slug];a.collection.length?(h.moveToList(b),e.showChild(a.slug)):(e.showChild(a.slug),h.updateList(a,b))},a.outputType!=="photo"&&(f.routes[a.slug+"/:offset"]=a.slug+"Detail",f[a.slug+"Detail"]=function(b){b=parseInt(b,10),c("iframe, audio, video, object").remove(),document.body.id=a.outputType,h.setTitle(a.name),g.find(".active").removeClass("active"),g.find(".section-"+a.slug).addClass("active");var d=e.children[a.slug];e.showChild(a.slug),a.collection.length?h.showDetail(a,d,b):h.updateDetail(a,d,b)})}),f}})}),define("app.tablet",["sleek.tablet","joshlib!utils/onready"],function(a,b){var c=new a;b(c.initialize)}) \ No newline at end of file +!function(a,b){function c(a,b){function c(){}c[i]=this[i];var e=this,f=new c,g=j(a),h=g?a:this,k=g?{}:a,l=function(){this.initialize?this.initialize.apply(this,arguments):(b||g&&e.apply(this,arguments),h.apply(this,arguments))};return l.methods=function(a){return d(f,a,e),l[i]=f,this},l.methods.call(l,k).prototype.constructor=l,l.extend=arguments.callee,l[i].implement=l.statics=function(a,b){return a=typeof a=="string"?function(){var c={};return c[a]=b,c}():a,d(this,a,e),this},l}function d(a,b,c){for(var d in b)b.hasOwnProperty(d)&&(a[d]=j(b[d])&&j(c[i][d])&&g.test(b[d])?e(d,b[d],c):b[d])}function e(a,b,c){return function(){var d=this.supr;this.supr=c[i][a];var e=b.apply(this,arguments);return this.supr=d,e}}function f(a){return c.call(j(a)?a:h,a,1)}var g=/xyz/.test(function(){xyz})?/\bsupr\b/:/.*/,h=function(){},i="prototype",j=function(a){return typeof a===b};if(typeof module!="undefined"&&module.exports)module.exports=f;else{var k=a.klass;f.noConflict=function(){return a.klass=k,this},a.klass=f}}(this,"function"),define("vendor/klass",function(){}),function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=[].slice,c=b.call(arguments,1),d=this,e=function(){},f=function(){return d.apply(this instanceof e?this:a||{},c.concat(b.call(arguments)))};return e.prototype=d.prototype,f.prototype=new e,f}),typeof a.Code=="undefined"&&(a.Code={}),a.Code.Util={registerNamespace:function(){var b=arguments,c=null,d,f,g,h,i;d=0;for(h=b.length;db.DOM.windowHeight()}},b.Browser._detect()}(window,window.Code.Util),function(a,b){b.extend(b,{Events:{add:function(a,b,c){this._checkHandlersProperty(a),b==="mousewheel"&&(b=this._normaliseMouseWheelType()),typeof a.__eventHandlers[b]=="undefined"&&(a.__eventHandlers[b]=[]),a.__eventHandlers[b].push(c),this._isBrowserObject(a)&&a.addEventListener(b,c,!1)},remove:function(a,d,e){this._checkHandlersProperty(a),d==="mousewheel"&&(d=this._normaliseMouseWheelType());if(a.__eventHandlers[d]instanceof Array){var f,g,h=a.__eventHandlers[d];if(b.isNothing(e)){if(this._isBrowserObject(a)){f=0;for(g=h.length;f=1;)a.removeChild(a.childNodes[a.childNodes.length-1])},hasAttribute:function(a,d){return!b.isNothing(a.getAttribute(d))},getAttribute:function(a,d,e){return a=a.getAttribute(d),b.isNothing(a)&&!b.isNothing(e)&&(a=e),a},setAttribute:function(a,d,e){if(b.isLikeArray(a)){var f,g;f=0;for(g=a.length;f=1&&b.DOM.setStyle(d,"opacity",0),b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",i,f,g,h):b.isNothing(a.jQuery)||a.jQuery(d).fadeTo(f,i,g)},fadeTo:function(a,b,c,d,e){this.fadeIn(a,c,d,e,b)},fadeOut:function(d,f,g,h){if(f<=0&&(b.DOM.setStyle(d,"opacity",0),!b.isNothing(g))){g(d);return}b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",0,f,g,h):a.jQuery(d).fadeTo(f,0,g)},slideBy:function(d,f,g,h,i,j){var k={},f=b.coalesce(f,0),g=b.coalesce(g,0),j=b.coalesce(j,"ease-out");k[this._transitionPrefix+"Property"]="all",k[this._transitionPrefix+"Delay"]="0",h===0?(k[this._transitionPrefix+"Duration"]="",k[this._transitionPrefix+"TimingFunction"]=""):(k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=b.coalesce(j,"ease-out"),b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler())),k[this._transformLabel]=b.Browser.is3dSupported?"translate3d("+f+"px, "+g+"px, 0px)":"translate("+f+"px, "+g+"px)",b.isNothing(i)||(d.cclallcallback=i),b.DOM.setStyle(d,k),h===0&&a.setTimeout(function(){this._leaveTransforms(d)}.bind(this),this._applyTransitionDelay)},resetTranslate:function(a){var d={};d[this._transformLabel]=d[this._transformLabel]=b.Browser.is3dSupported?"translate3d(0px, 0px, 0px)":"translate(0px, 0px)",b.DOM.setStyle(a,d)},_applyTransition:function(d,f,g,h,i,j){var k={},j=b.coalesce(j,"ease-in");k[this._transitionPrefix+"Property"]=f,k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=j,k[this._transitionPrefix+"Delay"]="0",b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler()),b.DOM.setStyle(d,k),b.isNothing(i)||(d["ccl"+f+"callback"]=i),a.setTimeout(function(){b.DOM.setStyle(d,f,g)},this._applyTransitionDelay)},_onTransitionEnd:function(a){b.Events.remove(a.currentTarget,this._transitionEndLabel,this._getTransitionEndHandler()),this._leaveTransforms(a.currentTarget)},_leaveTransforms:function(d){var f=d.style[this._transitionPrefix+"Property"],g=f!==""?"ccl"+f+"callback":"cclallcallback",h,f=b.coalesce(d.style.webkitTransform,d.style.MozTransform,d.style.transform),i,j=a.parseInt(b.DOM.getStyle(d,"left"),0),k=a.parseInt(b.DOM.getStyle(d,"top"),0),l,m,n={};f!==""&&(f=b.Browser.is3dSupported?f.match(/translate3d\((.*?)\)/):f.match(/translate\((.*?)\)/),b.isNothing(f)||(i=f[1].split(", "),l=a.parseInt(i[0],0),m=a.parseInt(i[1],0))),n[this._transitionPrefix+"Property"]="",n[this._transitionPrefix+"Duration"]="",n[this._transitionPrefix+"TimingFunction"]="",n[this._transitionPrefix+"Delay"]="",b.DOM.setStyle(d,n),a.setTimeout(function(){b.isNothing(i)||(n={},n[this._transformLabel]="",n.left=j+l+"px",n.top=k+m+"px",b.DOM.setStyle(d,n)),b.isNothing(d[g])||(h=d[g],delete d[g],h(d))}.bind(this),this._applyTransitionDelay)}}})}(window,window.Code.Util),function(a,b,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(a,b,c){c.registerNamespace("Code.Util.TouchElement"),c.TouchElement.TouchElementClass=b({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 a;this.removeEventHandlers();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(a,b){this.el=a,this.captureSettings={swipe:!1,move:!1,gesture:!1,doubleTap:!1,preventDefaultTouchEvents:!0},c.extend(this.captureSettings,b),this.swipeThreshold=50,this.doubleTapSpeed=this.swipeTimeThreshold=250,this.touchStartPoint={x:0,y:0},this.touchEndPoint={x:0,y:0}},addEventHandlers:function(){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),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),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),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),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(a){return{x:a[0].pageX,y:a[0].pageY}},fireTouchEvent:function(b){var d=0,f=0,g=0,h,d=this.touchEndPoint.x-this.touchStartPoint.x,f=this.touchEndPoint.y-this.touchStartPoint.y,g=Math.sqrt(d*d+f*f);if(this.captureSettings.swipe&&(h=new Date,h-=this.touchStartTime,h<=this.swipeTimeThreshold)){if(a.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.swipeLeft:c.TouchElement.ActionTypes.swipeRight,targetEl:b.target,currentTargetEl:b.currentTarget});return}if(a.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.swipeUp:c.TouchElement.ActionTypes.swipeDown,targetEl:b.target,currentTargetEl:b.currentTarget});return}}g>1?c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMoveEnd,point:this.touchEndPoint,targetEl:b.target,currentTargetEl:b.currentTarget}):this.captureSettings.doubleTap?c.isNothing(this.doubleTapTimeout)?this.doubleTapTimeout=a.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:b.target,currentTargetEl:b.currentTarget})}.bind(this),this.doubleTapSpeed):(a.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:b.target,currentTargetEl:b.currentTarget})):c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:c.TouchElement.ActionTypes.tap,targetEl:b.target,currentTargetEl:b.currentTarget})},onTouchStart:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault(),c.Events.remove(this.el,"mousedown",this.mouseDownHandler);var b=c.Events.getTouchEvent(a).touches;b.length>1&&this.captureSettings.gesture?this.isGesture=!0:(this.touchStartTime=new Date,this.isGesture=!1,this.touchStartPoint=this.getTouchPoint(b),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget}))},onTouchMove:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();if(!this.isGesture||!this.captureSettings.gesture){var b=c.Events.getTouchEvent(a).touches;c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:this.getTouchPoint(b),targetEl:a.target,currentTargetEl:a.currentTarget})}},onTouchEnd:function(a){if(!this.isGesture||!this.captureSettings.gesture){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();var b=c.Events.getTouchEvent(a);this.touchEndPoint=this.getTouchPoint(c.isNothing(b.changedTouches)?b.touches:b.changedTouches),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)}},onMouseDown:function(a){a.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),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=!1,this.touchStartPoint=c.Events.getMousePosition(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseMove:function(a){a.preventDefault(),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:c.Events.getMousePosition(a),targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseUp:function(a){a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)},onMouseOut:function(a){var b=a.relatedTarget;this.el!==b&&!c.DOM.isChildOf(b,this.el)&&(a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a))},onGestureStart:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureStart,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureChange:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureChange,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureEnd:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureEnd,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image"),a.Code.PhotoSwipe.Image.EventTypes={onLoad:"onLoad",onError:"onError"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image");var d=a.Code.PhotoSwipe;d.Image.ImageClass=b({refObj:null,imageEl:null,src:null,caption:null,metaData:null,imageLoadHandler:null,imageErrorHandler:null,dispose:function(){var a;this.shrinkImage();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,c,d,f){this.refObj=b,this.src=this.originalSrc=c,this.caption=d,this.metaData=f,this.imageEl=new a.Image,this.imageLoadHandler=this.onImageLoad.bind(this),this.imageErrorHandler=this.onImageError.bind(this)},load:function(){this.imageEl.originalSrc=c.coalesce(this.imageEl.originalSrc,""),this.imageEl.originalSrc===this.src?this.imageEl.isError?c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this}):c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this}):(this.imageEl.isError=!1,this.imageEl.isLoading=!0,this.imageEl.naturalWidth=null,this.imageEl.naturalHeight=null,this.imageEl.isLandscape=!1,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(){!c.isNothing(this.imageEl)&&this.imageEl.src.indexOf(this.src)>-1&&(this.imageEl.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",c.isNothing(this.imageEl.parentNode)||c.DOM.removeChild(this.imageEl,this.imageEl.parentNode))},onImageLoad:function(){this.imageEl.onload=null,this.imageEl.naturalWidth=c.coalesce(this.imageEl.naturalWidth,this.imageEl.width),this.imageEl.naturalHeight=c.coalesce(this.imageEl.naturalHeight,this.imageEl.height),this.imageEl.isLandscape=this.imageEl.naturalWidth>this.imageEl.naturalHeight,this.imageEl.isLoading=!1,c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this})},onImageError:function(){this.imageEl.onload=null,this.imageEl.onerror=null,this.imageEl.onabort=null,this.imageEl.isLoading=!1,this.imageEl.isError=!0,c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Cache"),a=a.Code.PhotoSwipe,a.Cache.Mode={normal:"normal",aggressive:"aggressive"},a.Cache.Functions={getImageSource:function(a){return a.href},getImageCaption:function(a){if(a.nodeName==="IMG")return c.DOM.getAttribute(a,"alt");var b,d,e;b=0;for(d=a.childNodes.length;bd&&(d=c.DOM.windowHeight())):(b=c.DOM.width(this.settings.target),d=c.DOM.height(this.settings.target),f="0px"),c.DOM.setStyle(this.el,{width:b,height:d,top:f})},fadeIn:function(a,b){this.resetPosition(),c.DOM.setStyle(this.el,"opacity",0),c.DOM.show(this.el),c.Animation.fadeIn(this.el,a,b)}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel"),a=a.Code.PhotoSwipe,a.Carousel.EventTypes={onSlideByEnd:"PhotoSwipeCarouselOnSlideByEnd",onSlideshowStart:"PhotoSwipeCarouselOnSlideshowStart",onSlideshowStop:"PhotoSwipeCarouselOnSlideshowStop"},a.Carousel.CssClasses={carousel:"ps-carousel",content:"ps-carousel-content",item:"ps-carousel-item",itemLoading:"ps-carousel-item-loading",itemError:"ps-carousel-item-error"},a.Carousel.SlideByAction={previous:"previous",current:"current",next:"next"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel");var d=a.Code.PhotoSwipe;d.Carousel.CarouselClass=b({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 a,b,e;b=0;for(e=this.cache.images.length;b0&&c.DOM.setStyle(i,{marginRight:this.settings.margin+"px"}),c.DOM.appendChild(i,this.contentEl);this.settings.target===a?c.DOM.appendToBody(this.el):c.DOM.appendChild(this.el,this.settings.target)},resetPosition:function(){var b,f,g,h,i,j;this.settings.target===a?(b=c.DOM.windowWidth(),f=c.DOM.windowHeight(),g=c.DOM.windowScrollTop()+"px"):(b=c.DOM.width(this.settings.target),f=c.DOM.height(this.settings.target),g="0px"),h=this.settings.margin>0?b+this.settings.margin:b,i=c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl),h*=i.length,c.DOM.setStyle(this.el,{top:g,width:b,height:f}),c.DOM.setStyle(this.contentEl,{width:h,height:f}),g=0;for(h=i.length;gf&&(b=f/d,d=Math.round(d*b),e=Math.round(e*b)),e>g&&(b=g/e,e=Math.round(e*b),d=Math.round(d*b))):(b=a.isLandscape?f/a.naturalWidth:g/a.naturalHeight,d=Math.round(a.naturalWidth*b),e=Math.round(a.naturalHeight*b),this.settings.imageScaleMethod==="zoom"?(b=1,ef?b=f/d:e>g&&(b=g/e),b!==1&&(d=Math.round(d*b),e=Math.round(e*b)))),c.DOM.setStyle(a,{position:"absolute",width:d,height:e,top:Math.round((g-e)/2)+"px",left:Math.round((f-d)/2)+"px",display:"block"})}},setContentLeftPosition:function(){var b,d,f;b=this.settings.target===a?c.DOM.windowWidth():c.DOM.width(this.settings.target),d=this.getItemEls(),f=0,this.settings.loop?f=(b+this.settings.margin)*-1:this.currentCacheIndex===this.cache.images.length-1?f=(d.length-1)*(b+this.settings.margin)*-1:this.currentCacheIndex>0&&(f=(b+this.settings.margin)*-1),c.DOM.setStyle(this.contentEl,{left:f+"px"})},show:function(a){this.currentCacheIndex=a,this.resetPosition(),this.setImages(!1),c.DOM.show(this.el),c.Animation.resetTranslate(this.contentEl);var a=this.getItemEls(),b,e;b=0;for(e=a.length;bthis.cache.images.length-1&&(b=0),d<0&&(d=this.cache.images.length-1),b=this.cache.getImages([d,this.currentCacheIndex,b]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[0],c[0])):c.length===1?a||(b=this.cache.getImages([this.currentCacheIndex]),this.addCacheImageToItemEl(b[0],c[0])):c.length===2?this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[0],c[0])):this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1,this.currentCacheIndex+2]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])):(this.currentCacheIndex===this.cache.images.length-1?(b=this.cache.getImages([this.currentCacheIndex-2,this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])),this.addCacheImageToItemEl(b[0],c[0]))},addCacheImageToItemEl:function(a,b){c.DOM.removeClass(b,d.Carousel.CssClasses.itemError),c.DOM.addClass(b,d.Carousel.CssClasses.itemLoading),c.DOM.removeChildren(b),c.DOM.setStyle(a.imageEl,{display:"none"}),c.DOM.appendChild(a.imageEl,b),c.Animation.resetTranslate(a.imageEl),c.Events.add(a,d.Image.EventTypes.onLoad,this.imageLoadHandler),c.Events.add(a,d.Image.EventTypes.onError,this.imageErrorHandler),a.load()},slideCarousel:function(b,f,g){if(!this.isSliding){var h,i;h=this.settings.target===a?c.DOM.windowWidth()+this.settings.margin:c.DOM.width(this.settings.target)+this.settings.margin,g=c.coalesce(g,this.settings.slideSpeed);if(!(a.Math.abs(i)<1)){switch(f){case c.TouchElement.ActionTypes.swipeLeft:b=h*-1;break;case c.TouchElement.ActionTypes.swipeRight:b=h;break;default:i=b.x-this.touchStartPoint.x,b=a.Math.abs(i)>h/2?i>0?h:h*-1:0}this.lastSlideByAction=b<0?d.Carousel.SlideByAction.next:b>0?d.Carousel.SlideByAction.previous:d.Carousel.SlideByAction.current,!this.settings.loop&&(this.lastSlideByAction===d.Carousel.SlideByAction.previous&&this.currentCacheIndex===0||this.lastSlideByAction===d.Carousel.SlideByAction.next&&this.currentCacheIndex===this.cache.images.length-1)&&(b=0,this.lastSlideByAction=d.Carousel.SlideByAction.current),this.isSliding=!0,this.doSlideCarousel(b,g)}}},moveCarousel:function(a){this.isSliding||this.settings.enableDrag&&this.doMoveCarousel(a.x-this.touchStartPoint.x)},getItemEls:function(){return c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl)},previous:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeRight,this.settings.nextPreviousSlideSpeed)},next:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft,this.settings.nextPreviousSlideSpeed)},slideshowNext:function(){this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft)},startSlideshow:function(){this.stopSlideshow(),this.isSlideshowActive=!0,this.slideshowTimeout=a.setTimeout(this.slideshowNext.bind(this),this.settings.slideshowDelay),c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStart,target:this})},stopSlideshow:function(){c.isNothing(this.slideshowTimeout)||(a.clearTimeout(this.slideshowTimeout),this.slideshowTimeout=null,this.isSlideshowActive=!1,c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStop,target:this}))},onSlideByEnd:function(){if(!c.isNothing(this.isSliding)){var a=this.getItemEls();this.isSliding=!1,this.lastSlideByAction===d.Carousel.SlideByAction.next?this.currentCacheIndex+=1:this.lastSlideByAction===d.Carousel.SlideByAction.previous&&(this.currentCacheIndex-=1),this.settings.loop?(this.lastSlideByAction===d.Carousel.SlideByAction.next?c.DOM.appendChild(a[0],this.contentEl):this.lastSlideByAction===d.Carousel.SlideByAction.previous&&c.DOM.insertBefore(a[a.length-1],a[0],this.contentEl),this.currentCacheIndex<0)?this.currentCacheIndex=this.cache.images.length-1:this.currentCacheIndex===this.cache.images.length&&(this.currentCacheIndex=0):this.cache.images.length>3&&(this.currentCacheIndex>1&&this.currentCacheIndex
    '}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Toolbar");var d=a.Code.PhotoSwipe;d.Toolbar.ToolbarClass=b({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 a;this.clearTimeout(),this.removeEventHandlers(),c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),c.DOM.removeChild(this.toolbarEl,this.toolbarEl.parentNode),c.DOM.removeChild(this.captionEl,this.captionEl.parentNode);for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,f){var g;this.settings=f,this.cache=b,this.isVisible=!1,this.fadeOutHandler=this.onFadeOut.bind(this),this.touchStartHandler=this.onTouchStart.bind(this),this.touchMoveHandler=this.onTouchMove.bind(this),this.clickHandler=this.onClick.bind(this),g=d.Toolbar.CssClasses.toolbar,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.toolbarTop),this.toolbarEl=c.DOM.createElement("div",{"class":g},this.settings.getToolbar()),c.DOM.setStyle(this.toolbarEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.toolbarEl):c.DOM.appendChild(this.toolbarEl,this.settings.target),c.DOM.hide(this.toolbarEl),this.closeEl=c.DOM.find("."+d.Toolbar.CssClasses.close,this.toolbarEl)[0],this.settings.preventHide&&!c.isNothing(this.closeEl)&&c.DOM.hide(this.closeEl),this.playEl=c.DOM.find("."+d.Toolbar.CssClasses.play,this.toolbarEl)[0],this.settings.preventSlideshow&&!c.isNothing(this.playEl)&&c.DOM.hide(this.playEl),this.nextEl=c.DOM.find("."+d.Toolbar.CssClasses.next,this.toolbarEl)[0],this.previousEl=c.DOM.find("."+d.Toolbar.CssClasses.previous,this.toolbarEl)[0],g=d.Toolbar.CssClasses.caption,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.captionBottom),this.captionEl=c.DOM.createElement("div",{"class":g},""),c.DOM.setStyle(this.captionEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.captionEl):c.DOM.appendChild(this.captionEl,this.settings.target),c.DOM.hide(this.captionEl),this.captionContentEl=c.DOM.createElement("div",{"class":d.Toolbar.CssClasses.captionContent},""),c.DOM.appendChild(this.captionContentEl,this.captionEl),this.addEventHandlers()},resetPosition:function(){var b,d,f;this.settings.target===a?(this.settings.captionAndToolbarFlipPosition?(d=c.DOM.windowScrollTop(),f=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.captionEl)):(d=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.toolbarEl),f=c.DOM.windowScrollTop()),b=c.DOM.windowWidth()):(this.settings.captionAndToolbarFlipPosition?(d="0",f=c.DOM.height(this.settings.target)-c.DOM.height(this.captionEl)):(d=c.DOM.height(this.settings.target)-c.DOM.height(this.toolbarEl),f=0),b=c.DOM.width(this.settings.target)),c.DOM.setStyle(this.toolbarEl,{top:d+"px",width:b}),c.DOM.setStyle(this.captionEl,{top:f+"px",width:b})},toggleVisibility:function(a){this.isVisible?this.fadeOut():this.show(a)},show:function(a){c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),this.resetPosition(),this.setToolbarStatus(a),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeShow,target:this}),this.showToolbar(),this.setCaption(a),this.showCaption(),this.isVisible=!0,this.setTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onShow,target:this})},setTimeout:function(){this.settings.captionAndToolbarAutoHideDelay>0&&(this.clearTimeout(),this.timeout=a.setTimeout(this.fadeOut.bind(this),this.settings.captionAndToolbarAutoHideDelay))},clearTimeout:function(){c.isNothing(this.timeout)||(a.clearTimeout(this.timeout),this.timeout=null)},fadeOut:function(){this.clearTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeHide,target:this}),c.Animation.fadeOut(this.toolbarEl,this.settings.fadeOutSpeed),c.Animation.fadeOut(this.captionEl,this.settings.fadeOutSpeed,this.fadeOutHandler),this.isVisible=!1},addEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.add(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.add(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.add(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.add(this.toolbarEl,"click",this.clickHandler)},removeEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.remove(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.remove(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.remove(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.remove(this.toolbarEl,"click",this.clickHandler)},handleTap:function(a){this.clearTimeout();var b;if(a.target===this.nextEl||c.DOM.isChildOf(a.target,this.nextEl))b=d.Toolbar.ToolbarAction.next;else if(a.target===this.previousEl||c.DOM.isChildOf(a.target,this.previousEl))b=d.Toolbar.ToolbarAction.previous;else if(a.target===this.closeEl||c.DOM.isChildOf(a.target,this.closeEl))b=d.Toolbar.ToolbarAction.close;else if(a.target===this.playEl||c.DOM.isChildOf(a.target,this.playEl))b=d.Toolbar.ToolbarAction.play;this.setTimeout(),c.isNothing(b)&&(b=d.Toolbar.ToolbarAction.none),c.Events.fire(this,{type:d.Toolbar.EventTypes.onTap,target:this,action:b,tapTarget:a.target})},setCaption:function(a){c.DOM.removeChildren(this.captionContentEl),this.currentCaption=c.coalesce(this.cache.images[a].caption," "),c.isObject(this.currentCaption)?c.DOM.appendChild(this.currentCaption,this.captionContentEl):(this.currentCaption===""&&(this.currentCaption=" "),c.DOM.appendText(this.currentCaption,this.captionContentEl)),this.currentCaption=this.currentCaption===" "?"":this.currentCaption,this.resetPosition()},showToolbar:function(){c.DOM.setStyle(this.toolbarEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.toolbarEl)},showCaption:function(){(this.currentCaption===""||this.captionContentEl.childNodes.length<1)&&!this.settings.captionAndToolbarShowEmptyCaptions?c.DOM.hide(this.captionEl):(c.DOM.setStyle(this.captionEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.captionEl))},setToolbarStatus:function(a){this.settings.loop||(c.DOM.removeClass(this.previousEl,d.Toolbar.CssClasses.previousDisabled),c.DOM.removeClass(this.nextEl,d.Toolbar.CssClasses.nextDisabled),a>0&&athis.settings.maxUserZoom&&(a=this.settings.maxUserZoom),a},setStartingScaleAndRotation:function(a,b){this.transformSettings.startingScale=this.getScale(a),this.transformSettings.startingRotation=(this.transformSettings.startingRotation+b)%360},zoomRotate:function(a,b){this.transformSettings.scale=this.getScale(a),this.transformSettings.rotation=this.transformSettings.startingRotation+b,this.applyTransform()},panStart:function(a){this.setStartingTranslateFromCurrentTransform(),this.panStartingPoint={x:a.x,y:a.y}},pan:function(a){var b=(a.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=this.transformSettings.startingTranslateX+(a.x-this.panStartingPoint.x)/this.transformSettings.scale,this.transformSettings.translateY=this.transformSettings.startingTranslateY+b,this.applyTransform()},zoomAndPanToPoint:function(b,d){if(this.settings.target===a){this.panStart({x:c.DOM.windowWidth()/2,y:c.DOM.windowHeight()/2});var f=(d.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=(this.transformSettings.startingTranslateX+(d.x-this.panStartingPoint.x)/this.transformSettings.scale)*-1,this.transformSettings.translateY=(this.transformSettings.startingTranslateY+f)*-1}this.setStartingScaleAndRotation(b,0),this.transformSettings.scale=this.transformSettings.startingScale,this.transformSettings.rotation=0,this.applyTransform()},applyTransform:function(){var b=this.transformSettings.rotation%360,f=a.parseInt(this.transformSettings.translateX,10),g=a.parseInt(this.transformSettings.translateY,10),h="scale("+this.transformSettings.scale+") rotate("+b+"deg) translate("+f+"px, "+g+"px)";c.DOM.setStyle(this.transformEl,{webkitTransform:h,MozTransform:h,msTransform:h,transform:h}),c.Events.fire(this,{target:this,type:d.ZoomPanRotate.EventTypes.onTransform,scale:this.transformSettings.scale,rotation:this.transformSettings.rotation,rotationDegs:b,translateX:f,translateY:g})}})}(window,window.klass,window.Code.Util),function(a,b){b.registerNamespace("Code.PhotoSwipe");var c=a.Code.PhotoSwipe;c.CssClasses={buildingBody:"ps-building",activeBody:"ps-active"},c.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"},c.instances=[],c.activeInstances=[],c.setActivateInstance=function(a){if(b.arrayIndexOf(a.settings.target,c.activeInstances,"target")>-1)throw"Code.PhotoSwipe.activateInstance: Unable to active instance as another instance is already active for this target";c.activeInstances.push({target:a.settings.target,instance:a})},c.unsetActivateInstance=function(a){a=b.arrayIndexOf(a,c.activeInstances,"instance"),c.activeInstances.splice(a,1)},c.attach=function(a,d,e){var f,g;f=c.createInstance(a,d,e),d=0;for(e=a.length;d=2.1&&(this.isBackEventSupported=!0),this.isBackEventSupported||(this.isBackEventSupported=c.objectHasProperty(a,"onhashchange")),this.settings={fadeInSpeed:250,fadeOutSpeed:250,preventHide:!1,preventSlideshow:!1,zIndex:1e3,backButtonHideEnabled:!0,enableKeyboard:!0,enableMouseWheel:!0,mouseWheelSpeed:350,autoStartSlideshow:!1,jQueryMobile:!c.isNothing(a.jQuery)&&!c.isNothing(a.jQuery.mobile),jQueryMobileDialogHash:"&ui-state=dialog",enableUIWebViewRepositionTimeout:!1,uiWebViewResetPositionDelay:500,target:a,preventDefaultTouchEvents:!0,loop:!0,slideSpeed:250,nextPreviousSlideSpeed:0,enableDrag:!0,swipeThreshold:50,swipeTimeThreshold:250,slideTimingFunction:"ease-out",slideshowDelay:3e3,doubleTapSpeed:250,margin:20,imageScaleMethod:"fit",captionAndToolbarHide:!1,captionAndToolbarFlipPosition:!1,captionAndToolbarAutoHideDelay:5e3,captionAndToolbarOpacity:.8,captionAndToolbarShowEmptyCaptions:!0,getToolbar:j.Toolbar.getToolbar,allowUserZoom:!0,allowRotationOnUserZoom:!1,maxUserZoom:5,minUserZoom:.5,doubleTapZoomLevel:2.5,getImageSource:j.Cache.Functions.getImageSource,getImageCaption:j.Cache.Functions.getImageCaption,getImageMetaData:j.Cache.Functions.getImageMetaData,cacheMode:j.Cache.Mode.normal},c.extend(this.settings,e),this.settings.target!==a&&(e=c.DOM.getStyle(this.settings.target,"position"),(e!=="relative"||e!=="absolute")&&c.DOM.setStyle(this.settings.target,"position","relative")),this.settings.target!==a?(this.isBackEventSupported=!1,this.settings.backButtonHideEnabled=!1):this.settings.preventHide&&(this.settings.backButtonHideEnabled=!1),this.cache=new d.CacheClass(b,this.settings)},show:function(b){var d,e;this.backButtonClicked=this._isResettingPosition=!1;if(c.isNumber(b))this.currentIndex=b;else{this.currentIndex=-1,d=0;for(e=this.originalImages.length;dthis.originalImages.length-1)throw"Code.PhotoSwipe.PhotoSwipeClass.show: Starting index out of range";this.isAlreadyGettingPage=this.getWindowDimensions(),j.setActivateInstance(this),this.windowDimensions=this.getWindowDimensions(),this.settings.target===a?c.DOM.addClass(a.document.body,j.CssClasses.buildingBody):c.DOM.addClass(this.settings.target,j.CssClasses.buildingBody),this.createComponents(),c.Events.fire(this,{type:j.EventTypes.onBeforeShow,target:this}),this.documentOverlay.fadeIn(this.settings.fadeInSpeed,this.onDocumentOverlayFadeIn.bind(this))},getWindowDimensions:function(){return{width:c.DOM.windowWidth(),height:c.DOM.windowHeight()}},createComponents:function(){this.documentOverlay=new e.DocumentOverlayClass(this.settings),this.carousel=new f.CarouselClass(this.cache,this.settings),this.uiLayer=new h.UILayerClass(this.settings),this.settings.captionAndToolbarHide||(this.toolbar=new g.ToolbarClass(this.cache,this.settings))},resetPosition:function(){if(!this._isResettingPosition){var a=this.getWindowDimensions();if(c.isNothing(this.windowDimensions)||a.width!==this.windowDimensions.width||a.height!==this.windowDimensions.height)this._isResettingPosition=!0,this.windowDimensions=a,this.destroyZoomPanRotate(),this.documentOverlay.resetPosition(),this.carousel.resetPosition(),c.isNothing(this.toolbar)||this.toolbar.resetPosition(),this.uiLayer.resetPosition(),this._isResettingPosition=!1,c.Events.fire(this,{type:j.EventTypes.onResetPosition,target:this})}},addEventHandler:function(a,b){c.Events.add(this,a,b)},addEventHandlers:function(){c.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)),c.Browser.android?this.orientationEventName="resize":c.Browser.iOS&&!c.Browser.safari?c.Events.add(a.document.body,"orientationchange",this.windowOrientationChangeHandler):this.orientationEventName=c.isNothing(a.onorientationchange)?"resize":"orientationchange",c.isNothing(this.orientationEventName)||c.Events.add(a,this.orientationEventName,this.windowOrientationChangeHandler),this.settings.target===a&&c.Events.add(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.add(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.windowHashChangeHandler=this.onWindowHashChange.bind(this),this.settings.jQueryMobile?a.location.hash=this.settings.jQueryMobileDialogHash:(this.currentHistoryHashValue="PhotoSwipe"+(new Date).getTime().toString(),a.location.hash=this.currentHistoryHashValue),c.Events.add(a,"hashchange",this.windowHashChangeHandler)),this.settings.enableMouseWheel&&c.Events.add(a,"mousewheel",this.mouseWheelHandler),c.Events.add(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.Events.add(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler),c.isNothing(this.toolbar)||(c.Events.add(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.add(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.add(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},removeEventHandlers:function(){c.Browser.iOS&&!c.Browser.safari&&c.Events.remove(a.document.body,"orientationchange",this.windowOrientationChangeHandler),c.isNothing(this.orientationEventName)||c.Events.remove(a,this.orientationEventName,this.windowOrientationChangeHandler),c.Events.remove(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.remove(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&c.Events.remove(a,"hashchange",this.windowHashChangeHandler),this.settings.enableMouseWheel&&c.Events.remove(a,"mousewheel",this.mouseWheelHandler),c.isNothing(this.uiLayer)||c.Events.remove(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.isNothing(this.toolbar)||(c.Events.remove(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler)),c.isNothing(this.toolbar)||(c.Events.remove(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.remove(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},hide:function(){if(!this.settings.preventHide){if(c.isNothing(this.documentOverlay))throw"Code.PhotoSwipe.PhotoSwipeClass.hide: PhotoSwipe instance is already hidden";c.isNothing(this.hiding)&&(this.clearUIWebViewResetPositionTimeout(),this.destroyZoomPanRotate(),this.removeEventHandlers(),c.Events.fire(this,{type:j.EventTypes.onBeforeHide,target:this}),this.uiLayer.dispose(),this.uiLayer=null,c.isNothing(this.toolbar)||(this.toolbar.dispose(),this.toolbar=null),this.carousel.dispose(),this.carousel=null,c.DOM.removeClass(a.document.body,j.CssClasses.activeBody),this.documentOverlay.dispose(),this.documentOverlay=null,this._isResettingPosition=!1,j.unsetActivateInstance(this),c.Events.fire(this,{type:j.EventTypes.onHide,target:this}),this.goBackInHistory())}},goBackInHistory:function(){this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.backButtonClicked||a.history.back())},play:function(){!this.isZoomActive()&&!this.settings.preventSlideshow&&!c.isNothing(this.carousel)&&(!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut(),this.carousel.startSlideshow())},stop:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.stopSlideshow()},previous:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.previous()},next:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.next()},toggleToolbar:function(){this.isZoomActive()||c.isNothing(this.toolbar)||this.toolbar.toggleVisibility(this.currentIndex)},fadeOutToolbarIfVisible:function(){!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.settings.captionAndToolbarAutoHideDelay>0&&this.toolbar.fadeOut()},createZoomPanRotate:function(){this.stop(),this.canUserZoom()&&!this.isZoomActive()&&(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateShow),this.zoomPanRotate=new i.ZoomPanRotateClass(this.settings,this.cache.images[this.currentIndex],this.uiLayer),this.uiLayer.captureSettings.preventDefaultTouchEvents=!0,c.Events.add(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),c.Events.fire(this,j.EventTypes.onZoomPanRotateShow),!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut())},destroyZoomPanRotate:function(){c.isNothing(this.zoomPanRotate)||(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateHide),c.Events.remove(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),this.zoomPanRotate.dispose(),this.zoomPanRotate=null,this.uiLayer.captureSettings.preventDefaultTouchEvents=this.settings.preventDefaultTouchEvents,c.Events.fire(this,j.EventTypes.onZoomPanRotateHide))},canUserZoom:function(){var a;if(c.Browser.msie){if(a=document.createElement("div"),c.isNothing(a.style.msTransform))return!1}else if(!c.Browser.isCSSTransformSupported)return!1;return this.settings.allowUserZoom?this.carousel.isSliding?!1:(a=this.cache.images[this.currentIndex],c.isNothing(a)?!1:a.isLoading?!1:!0):!1},isZoomActive:function(){return!c.isNothing(this.zoomPanRotate)},getCurrentImage:function(){return this.cache.images[this.currentIndex]},onDocumentOverlayFadeIn:function(){a.setTimeout(function(){var b=this.settings.target===a?a.document.body:this.settings.target;c.DOM.removeClass(b,j.CssClasses.buildingBody),c.DOM.addClass(b,j.CssClasses.activeBody),this.addEventHandlers(),this.carousel.show(this.currentIndex),this.uiLayer.show(),this.settings.autoStartSlideshow?this.play():c.isNothing(this.toolbar)||this.toolbar.show(this.currentIndex),c.Events.fire(this,{type:j.EventTypes.onShow,target:this}),this.setUIWebViewResetPositionTimeout()}.bind(this),250)},setUIWebViewResetPositionTimeout:function(){this.settings.enableUIWebViewRepositionTimeout&&c.Browser.iOS&&!c.Browser.safari&&(c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout),this._uiWebViewResetPositionTimeout=a.setTimeout(function(){this.resetPosition(),this.setUIWebViewResetPositionTimeout()}.bind(this),this.settings.uiWebViewResetPositionDelay))},clearUIWebViewResetPositionTimeout:function(){c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout)},onWindowScroll:function(){this.resetPosition()},onWindowOrientationChange:function(){this.resetPosition()},onWindowHashChange:function(){a.location.hash!=="#"+(this.settings.jQueryMobile?this.settings.jQueryMobileDialogHash:this.currentHistoryHashValue)&&(this.backButtonClicked=!0,this.hide())},onKeyDown:function(a){a.keyCode===37?(a.preventDefault(),this.previous()):a.keyCode===39?(a.preventDefault(),this.next()):a.keyCode===38||a.keyCode===40?a.preventDefault():a.keyCode===27?(a.preventDefault(),this.hide()):a.keyCode===32?(this.settings.hideToolbar?this.hide():this.toggleToolbar(),a.preventDefault()):a.keyCode===13&&(a.preventDefault(),this.play())},onUILayerTouch:function(b){if(this.isZoomActive())switch(b.action){case c.TouchElement.ActionTypes.gestureChange:this.zoomPanRotate.zoomRotate(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.gestureEnd:this.zoomPanRotate.setStartingScaleAndRotation(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.touchStart:this.zoomPanRotate.panStart(b.point);break;case c.TouchElement.ActionTypes.touchMove:this.zoomPanRotate.pan(b.point);break;case c.TouchElement.ActionTypes.doubleTap:this.destroyZoomPanRotate(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeLeft:this.destroyZoomPanRotate(),this.next(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeRight:this.destroyZoomPanRotate(),this.previous(),this.toggleToolbar()}else switch(b.action){case c.TouchElement.ActionTypes.touchMove:case c.TouchElement.ActionTypes.swipeLeft:case c.TouchElement.ActionTypes.swipeRight:this.fadeOutToolbarIfVisible(),this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.touchStart:case c.TouchElement.ActionTypes.touchMoveEnd:this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.tap:this.toggleToolbar();break;case c.TouchElement.ActionTypes.doubleTap:this.settings.target===a&&(b.point.x-=c.DOM.windowScrollLeft(),b.point.y-=c.DOM.windowScrollTop());var d=this.cache.images[this.currentIndex].imageEl,e=a.parseInt(c.DOM.getStyle(d,"top"),10),f=a.parseInt(c.DOM.getStyle(d,"left"),10),g=f+c.DOM.width(d),d=e+c.DOM.height(d);b.point.xg&&(b.point.x=g),b.point.yd&&(b.point.y=d),this.createZoomPanRotate(),this.isZoomActive()&&this.zoomPanRotate.zoomAndPanToPoint(this.settings.doubleTapZoomLevel,b.point);break;case c.TouchElement.ActionTypes.gestureStart:this.createZoomPanRotate()}c.Events.fire(this,{type:j.EventTypes.onTouch,target:this,point:b.point,action:b.action})},onCarouselSlideByEnd:function(a){this.currentIndex=a.cacheIndex,c.isNothing(this.toolbar)||(this.toolbar.setCaption(this.currentIndex),this.toolbar.setToolbarStatus(this.currentIndex)),c.Events.fire(this,{type:j.EventTypes.onDisplayImage,target:this,action:a.action,index:a.cacheIndex})},onToolbarTap:function(a){switch(a.action){case g.ToolbarAction.next:this.next();break;case g.ToolbarAction.previous:this.previous();break;case g.ToolbarAction.close:this.hide();break;case g.ToolbarAction.play:this.play()}c.Events.fire(this,{type:j.EventTypes.onToolbarTap,target:this,toolbarAction:a.action,tapTarget:a.tapTarget})},onMouseWheel:function(a){var b=c.Events.getWheelDelta(a);a.timeStamp-(this.mouseWheelStartTime||0)0&&this.previous())},onCarouselSlideshowStart:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStart,target:this})},onCarouselSlideshowStop:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStop,target:this})},onToolbarBeforeShow:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarShow,target:this})},onToolbarShow:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarShow,target:this})},onToolbarBeforeHide:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarHide,target:this})},onToolbarHide:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarHide,target:this})},onZoomPanRotateTransform:function(a){c.Events.fire(this,{target:this,type:j.EventTypes.onZoomPanRotateTransform,scale:a.scale,rotation:a.rotation,rotationDegs:a.rotationDegs,translateX:a.translateX,translateY:a.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),define("vendor/photoswipe",function(){}),1,function(){var a;typeof Joshfire=="undefined"&&(Joshfire={}),a={version:[0,9,3],onReady:function(a){a()},adapter:"ios",adapterModules:{android:["app","dependencies.json","inputs/touch","ui/toolbar","uielements/list","uielements/panel","uielements/video.mediaelement","vendor/iscroll"],browser:["app","inputs/http","inputs/keyboard","inputs/mouse","uielement","uielements/list","uielements/mediacontrols","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","uielements/video.popup","uielements/video.youtube.swf","utils/activitymonitor","utils/datasource","utils/dollar","utils/localstorage","utils/navigation","utils/onready","utils/stresstest"],googletv:["dependencies.json","inputs/keyboard","ui/videoplayer","uielement"],ios:["dependencies.json"],lgtv:["dependencies.json","ui/videoplayer","uielement","utils/dollar"],node:["app.factory","app","class","global.exec","inputs/http","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","utils/datasource","utils/dollar","utils/eventsocket","utils/templatecompiler.cli","utils/templatecompiler","vendor/json2","view"],none:[],philips:["dependencies.json","ui/videoplayer","uielement","uielements/list","uielements/video.mediaelement","utils/dollar","utils/stresstest"],phone:["collection","ui/toolbar","uielement","utils/dollar","utils/onready"],qt4:[],samsungtv:["dependencies.json","inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready","utils/widgetapi","view"],tv:["inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready"]},adapterDeps:["phone"],debug:!1,path:(Joshfire.framework||{}).path||"joshfire"};if(typeof document!="undefined"){var b=document.getElementsByTagName("script"),c,d=new RegExp("^(.*)/adapters/"+a.adapter+"/bootstrap.js$");for(var e=b.length-1;e>=0;e--)c=d.exec(b[e].getAttribute("src")),c&&(a.path=c[1])}typeof require!="undefined"&&require.config&&require.config({paths:{"joshfire-framework":a.path},urlArgs:Joshfire.debug?"bust="+(new Date).getTime():""}),Joshfire.framework=a,typeof module!="undefined"&&module.exports&&(module.exports.JoshfireFramework=a)}.call(this),function(a){a.onReady=function(b){a.require(["joshfire/vendor/zepto"],function(a){b.call()})}}(Joshfire),define("joshlib",{normalize:function(a,b){var c=[Joshfire.framework.adapter].concat(Joshfire.framework.adapterDeps),d=Joshfire.framework.adapterModules,e="joshfire-framework/";if(a.substring(0,14)=="adapters/none/")return e+a.substring(14);if(a.substring(0,9)=="adapters/")return e+a;for(var f=0;fd[a+"ScrollbarMaxScroll"]&&(d.options.fixedScrollbar?e=d[a+"ScrollbarMaxScroll"]:(f=d[a+"ScrollbarIndicatorSize"]-c.round((e-d[a+"ScrollbarMaxScroll"])*3),f<8&&(f=8),d[a+"ScrollbarIndicator"].style[a=="h"?"width":"height"]=f+"px",e=d[a+"ScrollbarMaxScroll"]+(d[a+"ScrollbarIndicatorSize"]-f))),d[a+"ScrollbarWrapper"].style[l]="0",d[a+"ScrollbarWrapper"].style.opacity=b&&d.options.hideScrollbar?"0":"1",d[a+"ScrollbarIndicator"].style[g]="translate("+(a=="h"?e+"px,0)":"0,"+e+"px)")+C},_start:function(a){var b=this,d=q?a.touches[0]:a,e,f,h,i,j;if(!b.enabled)return;b.options.onBeforeScrollStart&&b.options.onBeforeScrollStart.call(b,a),(b.options.useTransition||b.options.zoom)&&b._transitionTime(0),b.moved=!1,b.animating=!1,b.zoomed=!1,b.distX=0,b.distY=0,b.absDistX=0,b.absDistY=0,b.dirX=0,b.dirY=0,b.options.zoom&&q&&a.touches.length>1&&(i=c.abs(a.touches[0].pageX-a.touches[1].pageX),j=c.abs(a.touches[0].pageY-a.touches[1].pageY),b.touchesDistStart=c.sqrt(i*i+j*j),b.originX=c.abs(a.touches[0].pageX+a.touches[1].pageX-b.wrapperOffsetLeft*2)/2-b.x,b.originY=c.abs(a.touches[0].pageY+a.touches[1].pageY-b.wrapperOffsetTop*2)/2-b.y,b.options.onZoomStart&&b.options.onZoomStart.call(b,a));if(b.options.momentum){b.options.useTransform?(e=getComputedStyle(b.scroller,null)[g].replace(/[^0-9\-.,]/g,"").split(","),f=e[4]*1,h=e[5]*1):(f=getComputedStyle(b.scroller,null).left.replace(/[^0-9-]/g,"")*1,h=getComputedStyle(b.scroller,null).top.replace(/[^0-9-]/g,"")*1);if(f!=b.x||h!=b.y)b.options.useTransition?b._unbind(z):B(b.aniTime),b.steps=[],b._pos(f,h)}b.absStartX=b.x,b.absStartY=b.y,b.startX=b.x,b.startY=b.y,b.pointX=d.pageX,b.pointY=d.pageY,b.startTime=a.timeStamp||Date.now(),b.options.onScrollStart&&b.options.onScrollStart.call(b,a),b._bind(v),b._bind(w),b._bind(x)},_move:function(a){var b=this,d=q?a.touches[0]:a,e=d.pageX-b.pointX,f=d.pageY-b.pointY,h=b.x+e,i=b.y+f,j,k,l,m=a.timeStamp||Date.now();b.options.onBeforeScrollMove&&b.options.onBeforeScrollMove.call(b,a);if(b.options.zoom&&q&&a.touches.length>1){j=c.abs(a.touches[0].pageX-a.touches[1].pageX),k=c.abs(a.touches[0].pageY-a.touches[1].pageY),b.touchesDist=c.sqrt(j*j+k*k),b.zoomed=!0,l=1/b.touchesDistStart*b.touchesDist*this.scale,lb.options.zoomMax&&(l=2*b.options.zoomMax*Math.pow(.5,b.options.zoomMax/l)),b.lastScale=l/this.scale,h=this.originX-this.originX*b.lastScale+this.x,i=this.originY-this.originY*b.lastScale+this.y,this.scroller.style[g]="translate("+h+"px,"+i+"px) scale("+l+")"+C,b.options.onZoom&&b.options.onZoom.call(b,a);return}b.pointX=d.pageX,b.pointY=d.pageY;if(h>0||h=0||b.maxScrollX>=0?0:b.maxScrollX;if(i>b.minScrollY||i=b.minScrollY||b.maxScrollY>=0?b.minScrollY:b.maxScrollY;b.distX+=e,b.distY+=f,b.absDistX=c.abs(b.distX),b.absDistY=c.abs(b.distY);if(b.absDistX<6&&b.absDistY<6)return;b.options.lockDirection&&(b.absDistX>b.absDistY+5?(i=b.y,f=0):b.absDistY>b.absDistX+5&&(h=b.x,e=0)),b.moved=!0,b._pos(h,i),b.dirX=e>0?-1:e<0?1:0,b.dirY=f>0?-1:f<0?1:0,m-b.startTime>300&&(b.startTime=m,b.startX=b.x,b.startY=b.y),b.options.onScrollMove&&b.options.onScrollMove.call(b,a)},_end:function(a){if(q&&a.touches.length!==0)return;var d=this,e=q?a.changedTouches[0]:a,f,h,j={dist:0,time:0},k={dist:0,time:0},l=(a.timeStamp||Date.now())-d.startTime,m=d.x,n=d.y,o,p,r,s,t;d._unbind(v),d._unbind(w),d._unbind(x),d.options.onBeforeScrollEnd&&d.options.onBeforeScrollEnd.call(d,a);if(d.zoomed){t=d.scale*d.lastScale,t=Math.max(d.options.zoomMin,t),t=Math.min(d.options.zoomMax,t),d.lastScale=t/d.scale,d.scale=t,d.x=d.originX-d.originX*d.lastScale+d.x,d.y=d.originY-d.originY*d.lastScale+d.y,d.scroller.style[i]="200ms",d.scroller.style[g]="translate("+d.x+"px,"+d.y+"px) scale("+d.scale+")"+C,d.zoomed=!1,d.refresh(),d.options.onZoomEnd&&d.options.onZoomEnd.call(d,a);return}if(!d.moved){q&&(d.doubleTapTimer&&d.options.zoom?(clearTimeout(d.doubleTapTimer),d.doubleTapTimer=null,d.options.onZoomStart&&d.options.onZoomStart.call(d,a),d.zoom(d.pointX,d.pointY,d.scale==1?d.options.doubleTapZoom:1),d.options.onZoomEnd&&setTimeout(function(){d.options.onZoomEnd.call(d,a)},200)):this.options.handleClick&&(d.doubleTapTimer=setTimeout(function(){d.doubleTapTimer=null,f=e.target;while(f.nodeType!=1)f=f.parentNode;f.tagName!="SELECT"&&f.tagName!="INPUT"&&f.tagName!="TEXTAREA"&&(h=b.createEvent("MouseEvents"),h.initMouseEvent("click",!0,!0,a.view,1,e.screenX,e.screenY,e.clientX,e.clientY,a.ctrlKey,a.altKey,a.shiftKey,a.metaKey,0,null),h._fake=!0,f.dispatchEvent(h))},d.options.zoom?250:0))),d._resetPos(200),d.options.onTouchEnd&&d.options.onTouchEnd.call(d,a);return}if(l<300&&d.options.momentum){j=m?d._momentum(m-d.startX,l,-d.x,d.scrollerW-d.wrapperW+d.x,d.options.bounce?d.wrapperW:0):j,k=n?d._momentum(n-d.startY,l,-d.y,d.maxScrollY<0?d.scrollerH-d.wrapperH+d.y-d.minScrollY:0,d.options.bounce?d.wrapperH:0):k,m=d.x+j.dist,n=d.y+k.dist;if(d.x>0&&m>0||d.xd.minScrollY&&n>d.minScrollY||d.y=0?0:b.x=b.minScrollY||b.maxScrollY>0?b.minScrollY:b.yb.options.zoomMax&&(g=b.options.zoomMax),g!=b.scale&&(!b.wheelZoomCount&&b.options.onZoomStart&&b.options.onZoomStart.call(b,a),b.wheelZoomCount++,b.zoom(a.pageX,a.pageY,g,400),setTimeout(function(){b.wheelZoomCount--,!b.wheelZoomCount&&b.options.onZoomEnd&&b.options.onZoomEnd.call(b,a)},400));return}e=b.x+c,f=b.y+d,e>0?e=0:eb.minScrollY?f=b.minScrollY:f=e+f.time){a._pos(f.x,f.y),a.animating=!1,a.options.onAnimationEnd&&a.options.onAnimationEnd.call(a),a._startAni();return}i=(i-e)/f.time-1,g=c.sqrt(1-i*i),j=(f.x-b)*g+b,k=(f.y-d)*g+d,a._pos(j,k),a.animating&&(a.aniTime=A(h))},h()},_transitionTime:function(a){a+="ms",this.scroller.style[i]=a,this.hScrollbar&&(this.hScrollbarIndicator.style[i]=a),this.vScrollbar&&(this.vScrollbarIndicator.style[i]=a)},_momentum:function(a,b,d,e,f){var g=6e-4,h=c.abs(a)/b,i=h*h/(2*g),j=0,k=0;return a>0&&i>d?(k=f/(6/(i/h*g)),d+=k,h=h*d/i,i=d):a<0&&i>e&&(k=f/(6/(i/h*g)),e+=k,h=h*e/i,i=e),i*=a<0?-1:1,j=h/g,{dist:i,time:c.round(j)}},_offset:function(a){var b=-a.offsetLeft,c=-a.offsetTop;while(a=a.offsetParent)b-=a.offsetLeft,c-=a.offsetTop;return a!=this.wrapper&&(b*=this.scale,c*=this.scale),{left:b,top:c}},_snap:function(a,b){var d=this,e,f,g,h,i,j;g=d.pagesX.length-1;for(e=0,f=d.pagesX.length;e=d.pagesX[e]){g=e;break}g==d.currPageX&&g>0&&d.dirX<0&&g--,a=d.pagesX[g],i=c.abs(a-d.pagesX[d.currPageX]),i=i?c.abs(d.x-a)/i*500:0,d.currPageX=g,g=d.pagesY.length-1;for(e=0;e=d.pagesY[e]){g=e;break}return g==d.currPageY&&g>0&&d.dirY<0&&g--,b=d.pagesY[g],j=c.abs(b-d.pagesY[d.currPageY]),j=j?c.abs(d.y-b)/j*500:0,d.currPageY=g,h=c.round(c.max(i,j))||200,{x:a,y:b,time:h}},_bind:function(a,b,c){(b||this.scroller).addEventListener(a,this,!!c)},_unbind:function(a,b,c){(b||this.scroller).removeEventListener(a,this,!!c)},destroy:function(){var b=this;b.scroller.style[g]="",b.hScrollbar=!1,b.vScrollbar=!1,b._scrollbar("h"),b._scrollbar("v"),b._unbind(t,a),b._unbind(u),b._unbind(v),b._unbind(w),b._unbind(x),b.options.hasTouch||(b._unbind("mouseout",b.wrapper),b._unbind(y)),b.options.useTransition&&b._unbind(z),b.options.checkDOMChanges&&clearInterval(b.checkDOMTime),b.options.onDestroy&&b.options.onDestroy.call(b)},refresh:function(){var a=this,b,d,e,f,g=0,h=0;a.scalea.wrapperH),a.hScrollbar=a.hScroll&&a.options.hScrollbar,a.vScrollbar=a.vScroll&&a.options.vScrollbar&&a.scrollerH>a.wrapperH,b=a._offset(a.wrapper),a.wrapperOffsetLeft=-b.left,a.wrapperOffsetTop=-b.top;if(typeof a.options.snap=="string"){a.pagesX=[],a.pagesY=[],f=a.scroller.querySelectorAll(a.options.snap);for(d=0,e=f.length;d=a.maxScrollX)a.pagesX[h]=g,g-=a.wrapperW,h++;a.maxScrollX%a.wrapperW&&(a.pagesX[a.pagesX.length]=a.maxScrollX-a.pagesX[a.pagesX.length-1]+a.pagesX[a.pagesX.length-1]),g=0,h=0,a.pagesY=[];while(g>=a.maxScrollY)a.pagesY[h]=g,g-=a.wrapperH,h++;a.maxScrollY%a.wrapperH&&(a.pagesY[a.pagesY.length]=a.maxScrollY-a.pagesY[a.pagesY.length-1]+a.pagesY[a.pagesY.length-1])}a._scrollbar("h"),a._scrollbar("v"),a.zoomed||(a.scroller.style[i]="0",a._resetPos(200))},scrollTo:function(a,b,c,d){var e=this,f=a,g,h;e.stop(),f.length||(f=[{x:a,y:b,time:c,relative:d}]);for(g=0,h=f.length;g0?0:e.leftd.minScrollY?d.minScrollY:e.topd.pagesX.length-1?d.pagesX.length-1:a,b=b<0?0:b>d.pagesY.length-1?d.pagesY.length-1:b,d.currPageX=a,d.currPageY=b,e=d.pagesX[a],f=d.pagesY[b]):(e=-d.wrapperW*a,f=-d.wrapperH*b,e0?0:e.xe.minScrollY?e.minScrollY:e.y>>0,e=0,f;if(typeof b!="function")throw new TypeError;if(d==0&&arguments.length==1)throw new TypeError;if(arguments.length>=2)f=arguments[1];else do{if(e in c){f=c[e++];break}if(++e>=d)throw new TypeError}while(!0);while(e0?[].concat.apply([],a):a}function H(a){return a.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function I(a){return a in i?i[a]:i[a]=new RegExp("(^|\\s)"+a+"(\\s|$)")}function J(a,b){return typeof b=="number"&&!k[H(a)]?b+"px":b}function K(a){var b,c;return h[a]||(b=g.createElement(a),g.body.appendChild(b),c=j(b,"").getPropertyValue("display"),b.parentNode.removeChild(b),c=="none"&&(c="block"),h[a]=c),h[a]}function L(b,d){return d===a?c(b):c(b).filter(d)}function M(a,b,c,d){return A(b)?b.call(a,c,d):b}function N(a,b,d){var e=a%2?b:b.parentNode;e?e.insertBefore(d,a?a==1?e.firstChild:a==2?b:null:b.nextSibling):c(d).remove()}function O(a,b){b(a);for(var c in a.childNodes)O(a.childNodes[c],b)}function P(a){var b=a.innerHTML||"",c=a.getAttribute("src"),d=null,e=null;b?window.eval.call(window,b):c&&(d=g.getElementsByTagName("head")[0]||g.documentElement,e=g.createElement("script"),e.type="text/javascript",e.setAttribute("src",c),d.insertBefore(e,d.firstChild)),a.parentNode&&a.parentNode.removeChild(a)}var a,b,c,d,e=[],f=e.slice,g=window.document,h={},i={},j=g.defaultView.getComputedStyle,k={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,m=[1,3,8,9,11],n=["after","prepend","before","append"],o=g.createElement("table"),p=g.createElement("tr"),q={tr:g.createElement("tbody"),tbody:o,thead:o,tfoot:o,td:p,th:p,"*":g.createElement("div")},r=/complete|loaded|interactive/,s=/^\.([\w-]+)$/,t=/^#([\w-]+)$/,u=/^[\w-]+$/,v={}.toString,w={},x,y,z=g.createElement("div");return w.matches=function(a,b){if(!a||a.nodeType!==1)return!1;var c=a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.matchesSelector;if(c)return c.call(a,b);var d,e=a.parentNode,f=!e;return f&&(e=z).appendChild(a),d=~w.qsa(e,b).indexOf(a),f&&z.removeChild(a),d},x=function(a){return a.replace(/-+(.)?/g,function(a,b){return b?b.toUpperCase():""})},y=function(a){return a.filter(function(b,c){return a.indexOf(b)==c})},w.fragment=function(b,d){d===a&&(d=l.test(b)&&RegExp.$1),d in q||(d="*");var e=q[d];return e.innerHTML=""+b,c.each(f.call(e.childNodes),function(){e.removeChild(this)})},w.Z=function(a,b){return a=a||[],a.__proto__=arguments.callee.prototype,a.selector=b||"",a},w.isZ=function(a){return a instanceof w.Z},w.init=function(b,d){if(!b)return w.Z();if(A(b))return c(g).ready(b);if(w.isZ(b))return b;var e;if(D(b))e=F(b);else if(C(b))e=[c.extend({},b)],b=null;else if(m.indexOf(b.nodeType)>=0||b===window)e=[b],b=null;else if(l.test(b))e=w.fragment(b.trim(),RegExp.$1),b=null;else{if(d!==a)return c(d).find(b);e=w.qsa(g,b)}return w.Z(e,b)},c=function(a,b){return w.init(a,b)},c.extend=function(c){return f.call(arguments,1).forEach(function(d){for(b in d)d[b]!==a&&(c[b]=d[b])}),c},w.qsa=function(a,b){var c;return a===g&&t.test(b)?(c=a.getElementById(RegExp.$1))?[c]:e:a.nodeType!==1&&a.nodeType!==9?e:f.call(s.test(b)?a.getElementsByClassName(RegExp.$1):u.test(b)?a.getElementsByTagName(b):a.querySelectorAll(b))},c.isFunction=A,c.isObject=B,c.isArray=D,c.isPlainObject=C,c.inArray=function(a,b,c){return e.indexOf.call(b,a,c)},c.trim=function(a){return a.trim()},c.uuid=0,c.map=function(a,b){var c,d=[],e,f;if(E(a))for(e=0;e0&&w.matches(this[0],a)},not:function(b){var d=[];if(A(b)&&b.call!==a)this.each(function(a){b.call(this,a)||d.push(this)});else{var e=typeof b=="string"?this.filter(b):E(b)&&A(b.item)?f.call(b):c(b);this.forEach(function(a){e.indexOf(a)<0&&d.push(a)})}return c(d)},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){var a=this[0];return a&&!B(a)?a:c(a)},last:function(){var a=this[this.length-1];return a&&!B(a)?a:c(a)},find:function(a){var b;return this.length==1?b=w.qsa(this[0],a):b=this.map(function(){return w.qsa(this,a)}),c(b)},closest:function(a,b){var d=this[0];while(d&&!w.matches(d,a))d=d!==b&&d!==g&&d.parentNode;return c(d)},parents:function(a){var b=[],d=this;while(d.length>0)d=c.map(d,function(a){if((a=a.parentNode)&&a!==g&&b.indexOf(a)<0)return b.push(a),a});return L(b,a)},parent:function(a){return L(y(this.pluck("parentNode")),a)},children:function(a){return L(this.map(function(){return f.call(this.children)}),a)},siblings:function(a){return L(this.map(function(a,b){return f.call(b.parentNode.children).filter(function(a){return a!==b})}),a)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(a){return this.map(function(){return this[a]})},show:function(){return this.each(function(){this.style.display=="none"&&(this.style.display=null),j(this,"").getPropertyValue("display")=="none"&&(this.style.display=K(this.nodeName))})},replaceWith:function(a){return this.before(a).remove()},wrap:function(a){return this.each(function(){c(this).wrapAll(c(a)[0].cloneNode(!1))})},wrapAll:function(a){return this[0]&&(c(this[0]).before(a=c(a)),a.append(this)),this},unwrap:function(){return this.parent().each(function(){c(this).replaceWith(c(this).children())}),this},clone:function(){return c(this.map(function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(b){return(b===a?this.css("display")=="none":b)?this.show():this.hide()},prev:function(){return c(this.pluck("previousElementSibling"))},next:function(){return c(this.pluck("nextElementSibling"))},html:function(b){return b===a?this.length>0?this[0].innerHTML:null:this.each(function(a){var d=this.innerHTML;c(this).empty().append(M(this,b,a,d))})},text:function(b){return b===a?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=b})},attr:function(c,d){var e;return typeof c=="string"&&d===a?this.length==0||this[0].nodeType!==1?a:c=="value"&&this[0].nodeName=="INPUT"?this.val():!(e=this[0].getAttribute(c))&&c in this[0]?this[0][c]:e:this.each(function(a){if(this.nodeType!==1)return;if(B(c))for(b in c)this.setAttribute(b,c[b]);else this.setAttribute(c,M(this,d,a,this.getAttribute(c)))})},removeAttr:function(a){return this.each(function(){this.nodeType===1&&this.removeAttribute(a)})},prop:function(b,c){return c===a?this[0]?this[0][b]:a:this.each(function(a){this[b]=M(this,c,a,this[b])})},data:function(b,c){var d=this.attr("data-"+H(b),c);return d!==null?d:a},val:function(b){return b===a?this.length>0?this[0].value:a:this.each(function(a){this.value=M(this,b,a,this.value)})},offset:function(){if(this.length==0)return null;var a=this[0].getBoundingClientRect();return{left:a.left+window.pageXOffset,top:a.top+window.pageYOffset,width:a.width,height:a.height}},css:function(c,d){if(d===a&&typeof c=="string")return this.length==0?a:this[0].style[x(c)]||j(this[0],"").getPropertyValue(c);var e="";for(b in c)typeof c[b]=="string"&&c[b]==""?this.each(function(){this.style.removeProperty(H(b))}):e+=H(b)+":"+J(b,c[b])+";";return typeof c=="string"&&(d==""?this.each(function(){this.style.removeProperty(H(c))}):e=H(c)+":"+J(c,d)),this.each(function(){this.style.cssText+=";"+e})},index:function(a){return a?this.indexOf(c(a)[0]):this.parent().children().indexOf(this[0])},hasClass:function(a){return this.length<1?!1:I(a).test(this[0].className)},addClass:function(a){return this.each(function(b){d=[];var e=this.className,f=M(this,a,b,e);f.split(/\s+/g).forEach(function(a){c(this).hasClass(a)||d.push(a)},this),d.length&&(this.className+=(e?" ":"")+d.join(" "))})},removeClass:function(b){return this.each(function(c){if(b===a)return this.className="";d=this.className,M(this,b,c,d).split(/\s+/g).forEach(function(a){d=d.replace(I(a)," ")}),this.className=d.trim()})},toggleClass:function(b,d){return this.each(function(e){var f=M(this,b,e,this.className);(d===a?!c(this).hasClass(f):d)?c(this).addClass(f):c(this).removeClass(f)})}},["width","height"].forEach(function(b){c.fn[b]=function(d){var e,f=b.replace(/./,function(a){return a[0].toUpperCase()});return d===a?this[0]==window?window["inner"+f]:this[0]==g?g.documentElement["offset"+f]:(e=this.offset())&&e[b]:this.each(function(a){var e=c(this);e.css(b,M(this,d,a,e[b]()))})}}),n.forEach(function(a,b){c.fn[a]=function(){var a=c.map(arguments,function(a){return B(a)?a:w.fragment(a)});if(a.length<1)return this;var d=this.length,e=d>1,f=b<2;return this.each(function(c,g){for(var h=0;h0&&this.bind(o,n),setTimeout(function(){m.css(i),e<=0&&setTimeout(function(){m.each(function(){n.call(this)})},0)},0),this},i=null}(Zepto),function($){function triggerAndReturn(a,b,c){var d=$.Event(b);return $(a).trigger(d,c),!d.defaultPrevented}function triggerGlobal(a,b,c,d){if(a.global)return triggerAndReturn(b||document,c,d)}function ajaxStart(a){a.global&&$.active++===0&&triggerGlobal(a,null,"ajaxStart")}function ajaxStop(a){a.global&&!--$.active&&triggerGlobal(a,null,"ajaxStop")}function ajaxBeforeSend(a,b){var c=b.context;if(b.beforeSend.call(c,a,b)===!1||triggerGlobal(b,c,"ajaxBeforeSend",[a,b])===!1)return!1;triggerGlobal(b,c,"ajaxSend",[a,b])}function ajaxSuccess(a,b,c){var d=c.context,e="success";c.success.call(d,a,e,b),triggerGlobal(c,d,"ajaxSuccess",[b,c,a]),ajaxComplete(e,b,c)}function ajaxError(a,b,c,d){var e=d.context;d.error.call(e,c,b,a),triggerGlobal(d,e,"ajaxError",[c,d,a]),ajaxComplete(b,c,d)}function ajaxComplete(a,b,c){var d=c.context;c.complete.call(d,b,a),triggerGlobal(c,d,"ajaxComplete",[b,c]),ajaxStop(c)}function empty(){}function mimeToDataType(a){return a&&(a==htmlType?"html":a==jsonType?"json":scriptTypeRE.test(a)?"script":xmlTypeRE.test(a)&&"xml")||"text"}function appendQuery(a,b){return(a+"&"+b).replace(/[&?]{1,2}/,"?")}function serializeData(a){isObject(settings.data)&&(!settings.contentType||settings.contentType==="application/x-www-form-urlencoded"?settings.data=$.param(settings.data):settings.contentType==="application/json"&&(settings.data=JSON.stringify(settings.data))),a.data&&(!a.type||a.type.toUpperCase()=="GET")&&(a.url=appendQuery(a.url,a.data))}function serialize(a,b,c,d){var e=$.isArray(b);$.each(b,function(b,f){d&&(b=c?d:d+"["+(e?"":b)+"]"),!d&&e?a.add(f.name,f.value):(c?$.isArray(f):isObject(f))?serialize(a,f,c,b):a.add(b,f)})}var jsonpID=0,isObject=$.isObject,document=window.document,key,name,rscript=/)<[^<]*)*<\/script>/gi,scriptTypeRE=/^(?:text|application)\/javascript/i,xmlTypeRE=/^(?:text|application)\/xml/i,jsonType="application/json",htmlType="text/html",blankRE=/^\s*$/;$.active=0,$.ajaxJSONP=function(a){var b="jsonp"+ ++jsonpID,c=document.createElement("script"),d=function(){$(c).remove(),b in window&&(window[b]=empty),ajaxComplete("abort",e,a)},e={abort:d},f;return a.error&&(c.onerror=function(){e.abort(),a.error()}),window[b]=function(d){clearTimeout(f),$(c).remove(),delete window[b],ajaxSuccess(d,e,a)},serializeData(a),c.src=a.url.replace(/=\?/,"="+b),$("head").append(c),a.timeout>0&&(f=setTimeout(function(){e.abort(),ajaxComplete("timeout",e,a)},a.timeout)),e},$.ajaxSettings={type:"GET",beforeSend:empty,success:empty,error:empty,complete:empty,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript",json:jsonType,xml:"application/xml, text/xml",html:htmlType,text:"text/plain"},crossDomain:!1,timeout:0},$.ajax=function(options){var settings=$.extend({},options||{});for(key in $.ajaxSettings)settings[key]===undefined&&(settings[key]=$.ajaxSettings[key]);ajaxStart(settings),settings.crossDomain||(settings.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(settings.url)&&RegExp.$2!=window.location.host);var dataType=settings.dataType,hasPlaceholder=/=\?/.test(settings.url);if(dataType=="jsonp"||hasPlaceholder)return hasPlaceholder||(settings.url=appendQuery(settings.url,"callback=?")),$.ajaxJSONP(settings);settings.url||(settings.url=window.location.toString()),serializeData(settings);var mime=settings.accepts[dataType],baseHeaders={},protocol=/^([\w-]+:)\/\//.test(settings.url)?RegExp.$1:window.location.protocol,xhr=$.ajaxSettings.xhr(),abortTimeout;settings.crossDomain||(baseHeaders["X-Requested-With"]="XMLHttpRequest"),mime&&(baseHeaders.Accept=mime,mime.indexOf(",")>-1&&(mime=mime.split(",",2)[0]),xhr.overrideMimeType&&xhr.overrideMimeType(mime));if(settings.xhrFields)for(var i in settings.xhrFields)xhr[i]=settings.xhrFields[i];if(settings.contentType||settings.data&&settings.type.toUpperCase()!="GET")baseHeaders["Content-Type"]=settings.contentType||"application/x-www-form-urlencoded";settings.headers=$.extend(baseHeaders,settings.headers||{}),xhr.onreadystatechange=function(){if(xhr.readyState==4){clearTimeout(abortTimeout);var result,error=!1;if(xhr.status>=200&&xhr.status<300||xhr.status==304||xhr.status==0&&protocol=="file:"){dataType=dataType||mimeToDataType(xhr.getResponseHeader("content-type")),result=xhr.responseText;try{dataType=="script"?(1,eval)(result):dataType=="xml"?result=xhr.responseXML:dataType=="json"&&(result=blankRE.test(result)?null:JSON.parse(result))}catch(e){error=e}error?ajaxError(error,"parsererror",xhr,settings):ajaxSuccess(result,xhr,settings)}else ajaxError(null,"error",xhr,settings)}};var async="async"in settings?settings.async:!0;xhr.open(settings.type,settings.url,async);for(name in settings.headers)xhr.setRequestHeader(name,settings.headers[name]);return ajaxBeforeSend(xhr,settings)===!1?(xhr.abort(),!1):(settings.timeout>0&&(abortTimeout=setTimeout(function(){xhr.onreadystatechange=empty,xhr.abort(),ajaxError(null,"timeout",xhr,settings)},settings.timeout)),xhr.send(settings.data?settings.data:null),xhr)},$.get=function(a,b){return $.ajax({url:a,success:b})},$.post=function(a,b,c,d){return $.isFunction(b)&&(d=d||c,c=b,b=null),$.ajax({type:"POST",url:a,data:b,success:c,dataType:d})},$.getJSON=function(a,b){return $.ajax({url:a,success:b,dataType:"json"})},$.fn.load=function(a,b){if(!this.length)return this;var c=this,d=a.split(/\s/),e;return d.length>1&&(a=d[0],e=d[1]),$.get(a,function(a){c.html(e?$(document.createElement("div")).html(a.replace(rscript,"")).find(e).html():a),b&&b.call(c)}),this};var escape=encodeURIComponent;$.param=function(a,b){var c=[];return c.add=function(a,b){this.push(escape(a)+"="+escape(b))},serialize(c,a,b),c.join("&").replace("%20","+")}}(Zepto),function(a){a.fn.serializeArray=function(){var b=[],c;return a(Array.prototype.slice.call(this.get(0).elements)).each(function(){c=a(this);var d=c.attr("type");this.nodeName.toLowerCase()!="fieldset"&&!this.disabled&&d!="submit"&&d!="reset"&&d!="button"&&(d!="radio"&&d!="checkbox"||this.checked)&&b.push({name:c.attr("name"),value:c.val()})}),b},a.fn.serialize=function(){var a=[];return this.serializeArray().forEach(function(b){a.push(encodeURIComponent(b.name)+"="+encodeURIComponent(b.value))}),a.join("&")},a.fn.submit=function(b){if(b)this.bind("submit",b);else if(this.length){var c=a.Event("submit");this.eq(0).trigger(c),c.defaultPrevented||this.get(0).submit()}return this}}(Zepto),function(a){function d(a){return"tagName"in a?a:a.parentNode}function e(a,b,c,d){var e=Math.abs(a-b),f=Math.abs(c-d);return e>=f?a-b>0?"Left":"Right":c-d>0?"Up":"Down"}function h(){g=null,b.last&&(b.el.trigger("longTap"),b={})}function i(){g&&clearTimeout(g),g=null}var b={},c,f=750,g;a(document).ready(function(){var j,k;a(document.body).bind("touchstart",function(e){j=Date.now(),k=j-(b.last||j),b.el=a(d(e.touches[0].target)),c&&clearTimeout(c),b.x1=e.touches[0].pageX,b.y1=e.touches[0].pageY,k>0&&k<=250&&(b.isDoubleTap=!0),b.last=j,g=setTimeout(h,f)}).bind("touchmove",function(a){i(),b.x2=a.touches[0].pageX,b.y2=a.touches[0].pageY}).bind("touchend",function(a){i(),b.isDoubleTap?(b.el.trigger("doubleTap"),b={}):b.x2&&Math.abs(b.x1-b.x2)>30||b.y2&&Math.abs(b.y1-b.y2)>30?(b.el.trigger("swipe")&&b.el.trigger("swipe"+e(b.x1,b.x2,b.y1,b.y2)),b={}):"last"in b&&(b.el.trigger("tap"),c=setTimeout(function(){c=null,b.el.trigger("singleTap"),b={}},250))}).bind("touchcancel",function(){c&&clearTimeout(c),g&&clearTimeout(g),g=c=null,b={}})}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(b){a.fn[b]=function(a){return this.bind(b,a)}})}(Zepto),Zepto}),define("joshfire-framework/adapters/phone/utils/dollar",["joshlib!vendor/zepto"],function(a){return a}),define("joshfire-framework/vendor/underscore",[],function(){return function(){function A(a,b,c){if(a===b)return a!==0||1/a==1/b;if(a==null||b==null)return a===b;a._chain&&(a=a._wrapped),b._chain&&(b=b._wrapped);if(a.isEqual&&w.isFunction(a.isEqual))return a.isEqual(b);if(b.isEqual&&w.isFunction(b.isEqual))return b.isEqual(a);var d=i.call(a);if(d!=i.call(b))return!1;switch(d){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:a==0?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if(typeof a!="object"||typeof b!="object")return!1;var e=c.length;while(e--)if(c[e]==a)return!0;c.push(a);var f=0,g=!0;if(d=="[object Array]"){f=a.length,g=f==b.length;if(g)while(f--)if(!(g=f in a==f in b&&A(a[f],b[f],c)))break}else{if("constructor"in a!="constructor"in b||a.constructor!=b.constructor)return!1;for(var h in a)if(w.has(a,h)){f++;if(!(g=w.has(b,h)&&A(a[h],b[h],c)))break}if(g){for(h in b)if(w.has(b,h)&&!(f--))break;g=!f}}return c.pop(),g}var a=this,b=a._,c={},d=Array.prototype,e=Object.prototype,f=Function.prototype,g=d.slice,h=d.unshift,i=e.toString,j=e.hasOwnProperty,k=d.forEach,l=d.map,m=d.reduce,n=d.reduceRight,o=d.filter,p=d.every,q=d.some,r=d.indexOf,s=d.lastIndexOf,t=Array.isArray,u=Object.keys,v=f.bind,w=function(a){return new I(a)};typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=w),exports._=w):a._=w,w.VERSION="1.3.3";var x=w.each=w.forEach=function(a,b,d){if(a==null)return;if(k&&a.forEach===k)a.forEach(b,d);else if(a.length===+a.length){for(var e=0,f=a.length;e2;a==null&&(a=[]);if(m&&a.reduce===m)return d&&(b=w.bind(b,d)),e?a.reduce(b,c):a.reduce(b);x(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)});if(!e)throw new TypeError("Reduce of empty array with no initial value");return c},w.reduceRight=w.foldr=function(a,b,c,d){var e=arguments.length>2;a==null&&(a=[]);if(n&&a.reduceRight===n)return d&&(b=w.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=w.toArray(a).reverse();return d&&!e&&(b=w.bind(b,d)),e?w.reduce(f,b,c,d):w.reduce(f,b)},w.find=w.detect=function(a,b,c){var d;return y(a,function(a,e,f){if(b.call(c,a,e,f))return d=a,!0}),d},w.filter=w.select=function(a,b,c){var d=[];return a==null?d:o&&a.filter===o?a.filter(b,c):(x(a,function(a,e,f){b.call(c,a,e,f)&&(d[d.length]=a)}),d)},w.reject=function(a,b,c){var d=[];return a==null?d:(x(a,function(a,e,f){b.call(c,a,e,f)||(d[d.length]=a)}),d)},w.every=w.all=function(a,b,d){var e=!0;return a==null?e:p&&a.every===p?a.every(b,d):(x(a,function(a,f,g){if(!(e=e&&b.call(d,a,f,g)))return c}),!!e)};var y=w.some=w.any=function(a,b,d){b||(b=w.identity);var e=!1;return a==null?e:q&&a.some===q?a.some(b,d):(x(a,function(a,f,g){if(e||(e=b.call(d,a,f,g)))return c}),!!e)};w.include=w.contains=function(a,b){var c=!1;return a==null?c:r&&a.indexOf===r?a.indexOf(b)!=-1:(c=y(a,function(a){return a===b}),c)},w.invoke=function(a,b){var c=g.call(arguments,2);return w.map(a,function(a){return(w.isFunction(b)?b||a:a[b]).apply(a,c)})},w.pluck=function(a,b){return w.map(a,function(a){return a[b]})},w.max=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.max.apply(Math,a);if(!b&&w.isEmpty(a))return-Infinity;var d={computed:-Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>=d.computed&&(d={value:a,computed:g})}),d.value},w.min=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.min.apply(Math,a);if(!b&&w.isEmpty(a))return Infinity;var d={computed:Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;gd?1:0}),"value")},w.groupBy=function(a,b){var c={},d=w.isFunction(b)?b:function(a){return a[b]};return x(a,function(a,b){var e=d(a,b);(c[e]||(c[e]=[])).push(a)}),c},w.sortedIndex=function(a,b,c){c||(c=w.identity);var d=0,e=a.length;while(d>1;c(a[f])=0})})},w.difference=function(a){var b=w.flatten(g.call(arguments,1),!0);return w.filter(a,function(a){return!w.include(b,a)})},w.zip=function(){var a=g.call(arguments),b=w.max(w.pluck(a,"length")),c=new Array(b);for(var d=0;d=0;c--)b=[a[c].apply(this,b)];return b[0]}},w.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}},w.keys=u||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)w.has(a,c)&&(b[b.length]=c);return b},w.values=function(a){return w.map(a,w.identity)},w.functions=w.methods=function(a){var b=[];for(var c in a)w.isFunction(a[c])&&b.push(c);return b.sort()},w.extend=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a},w.pick=function(a){var b={};return x(w.flatten(g.call(arguments,1)),function(c){c in a&&(b[c]=a[c])}),b},w.defaults=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]==null&&(a[c]=b[c])}),a},w.clone=function(a){return w.isObject(a)?w.isArray(a)?a.slice():w.extend({},a):a},w.tap=function(a,b){return b(a),a},w.isEqual=function(a,b){return A(a,b,[])},w.isEmpty=function(a){if(a==null)return!0;if(w.isArray(a)||w.isString(a))return a.length===0;for(var b in a)if(w.has(a,b))return!1;return!0},w.isElement=function(a){return!!a&&a.nodeType==1},w.isArray=t||function(a){return i.call(a)=="[object Array]"},w.isObject=function(a){return a===Object(a)},w.isArguments=function(a){return i.call(a)=="[object Arguments]"},w.isArguments(arguments)||(w.isArguments=function(a){return!!a&&!!w.has(a,"callee")}),w.isFunction=function(a){return i.call(a)=="[object Function]"},w.isString=function(a){return i.call(a)=="[object String]"},w.isNumber=function(a){return i.call(a)=="[object Number]"},w.isFinite=function(a){return w.isNumber(a)&&isFinite(a)},w.isNaN=function(a){return a!==a},w.isBoolean=function(a){return a===!0||a===!1||i.call(a)=="[object Boolean]"},w.isDate=function(a){return i.call(a)=="[object Date]"},w.isRegExp=function(a){return i.call(a)=="[object RegExp]"},w.isNull=function(a){return a===null},w.isUndefined=function(a){return a===void 0},w.has=function(a,b){return j.call(a,b)},w.noConflict=function(){return a._=b,this},w.identity=function(a){return a},w.times=function(a,b,c){for(var d=0;d/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},w.result=function(a,b){if(a==null)return null;var c=a[b];return w.isFunction(c)?c.call(a):c},w.mixin=function(a){x(w.functions(a),function(b){K(b,w[b]=a[b])})};var B=0;w.uniqueId=function(a){var b=B++;return a?a+b:b},w.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var C=/.^/,D={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"};for(var E in D)D[D[E]]=E;var F=/\\|'|\r|\n|\t|\u2028|\u2029/g,G=/\\(\\|'|r|n|t|u2028|u2029)/g,H=function(a){return a.replace(G,function(a,b){return D[b]})};w.template=function(a,b,c){c=w.defaults(c||{},w.templateSettings);var d="__p+='"+a.replace(F,function(a){return"\\"+D[a]}).replace(c.escape||C,function(a,b){return"'+\n_.escape("+H(b)+")+\n'"}).replace(c.interpolate||C,function(a,b){return"'+\n("+H(b)+")+\n'"}).replace(c.evaluate||C,function(a,b){return"';\n"+H(b)+"\n;__p+='"})+"';\n";c.variable||(d="with(obj||{}){\n"+d+"}\n"),d="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+d+"return __p;\n";var e=new Function(c.variable||"obj","_",d);if(b)return e(b,w);var f=function(a){return e.call(this,a,w)};return f.source="function("+(c.variable||"obj")+"){\n"+d+"}",f},w.chain=function(a){return w(a).chain()};var I=function(a){this._wrapped=a};w.prototype=I.prototype;var J=function(a,b){return b?w(a).chain():a},K=function(a,b){I.prototype[a]=function(){var a=g.call(arguments);return h.call(a,this._wrapped),J(b.apply(w,a),this._chain)}};w.mixin(w),x(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=d[a];I.prototype[a]=function(){var c=this._wrapped;b.apply(c,arguments);var d=c.length;return(a=="shift"||a=="splice")&&d===0&&delete c[0],J(c,this._chain)}}),x(["concat","join","slice"],function(a){var b=d[a];I.prototype[a]=function(){return J(b.apply(this._wrapped,arguments),this._chain)}}),I.prototype.chain=function(){return this._chain=!0,this},I.prototype.value=function(){return this._wrapped}}.call(this),typeof exports!="undefined"?typeof module!="undefined"&&module.exports?exports:exports._:this._}),function(a){var b=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a},c=function(a){if(a["@type"]==="VideoObject"||a["@type"]==="AudioObject")return a;var b=null;switch(a["@type"]){case"MusicRecording":b=["audio","associatedMedia","video"];break;default:b=["video","associatedMedia","audio"]}for(var c=0,d=b.length;cc.width+1?c.height=e.height:e.width';for(var e=0;e'}d+="",typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),h=e.extend({initialize:function(a){this.sources=a.sources,this.poster=a.poster||"",this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},addPolyFill:function(){var a=document.getElementsByTagName("body")[0],b=document.createElement("link"),c=document.createElement("script");b.setAttribute("href","http://vjs.zencdn.net/c/video-js.css"),b.setAttribute("rel","stylesheet"),c.setAttribute("src","http://vjs.zencdn.net/c/video.js"),a.appendChild(b),a.appendChild(c)},toHtml:function(a){var b=this.poster?' poster="'+this.poster+'"':"",c=this.autoPlay?" autoplay":"",d='",typeof window!="undefined"&&typeof window.VideoJS=="undefined"&&this.addPolyFill(),typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),i=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||40,this.autoPlay=a.autoPlay||!1},iCanHazAudioTag:function(a){if(!document)return!1;var b=document.createElement("audio");return b.canPlayType},toHtml:function(a){var b="";if(this.sources&&this.sources.length){for(var c=0;c";break}b||(b='Play')}typeof a=="function"&&a(null,b,{})}}),j=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},toHtml:function(a){var b="mediaplayerlib-mediaelement-video-"+j.nextId++,c=this.poster?' poster="'+this.poster+'"':"",d=this.autoPlay?" autoplay":"",e='",e+="",typeof a=="function"&&a(null,e,{width:this.width,height:this.height})}});j.nextId=0;var k=e.extend({initialize:function(a){this.options=a},toHtml:function(b){var c=null;for(var d=0;d';typeof a=="function"&&a(null,b,{width:this.width,height:this.height})}}),m=e.extend({initialize:function(a){this.url=a.url,this.publisher=a.publisher,this.width=a.width||500,this.height=a.height||281},toHtml:function(a){var b=this.url||"",c="",d="",e=function(){var a=function(){return((1+Math.random())*65536|0).toString(16).substring(1)};return"mediaplayerlib-"+a()+a()+a()};d=e(),this.publisher==="Ooyala"?(b+=(b.indexOf("?")===-1?"?":"&")+"width="+encodeURIComponent(this.width)+"&height="+encodeURIComponent(this.height),c='
    '+'"+''):c='',typeof a=="function"&&a(null,c,{width:this.width,height:this.height})}}),n=e.extend({toHtml:function(a){typeof a=="function"&&a(new Error("Unknown media type."),"Unknown media type.")}}),o=function(){};b(o.prototype,{execute:function(a,b){return new n(b)}}),o.extend=function(a){var c=function(a){o.call(this,a)};return b(c.prototype,a),c};var p=o.extend({execute:function(a,e){var f,g=c(a)||{},i=d(g,e);b(e,i);if(g["@type"]==="VideoObject")if(g.playerType==="iframe")b(e,{url:g.embedURL}),f=new l(e);else if(g.playerType==="script")b(e,{url:g.embedURL,publisher:g.publisher?g.publisher.name:null}),f=new m(e);else if(g.contentURL){var j=null;g.image&&g.image.contentURL&&(j=g.image.contentURL),b(e,{poster:j,sources:[g.contentURL]}),f=new h(e)}return f||new n}}),q=o.extend({execute:function(a,e){var f,h=c(a)||{},j=d(h,e);b(e,j);if(h.playerType==="iframe")b(e,{url:h.embedURL,html5:!0}),f=new l(e);else if(h.playerType==="script")b(e,{url:h.embedURL,html5:!0,publisher:h.publisher?h.publisher.name:null}),f=new m(e);else if(h["@type"]==="VideoObject"){if(h.contentURL){var k=null;h.image&&(k=h.image.contentURL),b(e,{poster:k,sources:[h.contentURL]}),f=new g(e)}}else h["@type"]==="AudioObject"&&h.contentURL&&(b(e,{sources:[h.contentURL]}),f=new i(e));return f}}),r=o.extend({execute:function(a,e){var f=c(a)||{},g=d(f,e);b(e,g);var h;if(a["@type"]==="VideoObject"){if(typeof a.contentURL!="undefined"){var i=null;f.image&&(i=f.image.contentURL),b(e,{poster:i,sources:[a.contentURL]}),h=new j(e)}}else a["@type"]==="AudioObject"&&typeof a.contentURL!="undefined"&&b(e,{sources:[a.contentURL]});return h}}),s=o.extend({execute:function(a,c){var d;return typeof a.url!="undefined"&&(b(c,{url:a.url}),d=new k(c)),d}}),t=function(){this.strategies={def:new p,html5:new q,mediaElement:new r,oembed:new s}};b(t.prototype,{resolve:function(a,b){b=b||{};var c;if(typeof b.strategy!="undefined"&&typeof this.strategies[b.strategy]!="undefined"){var d=this.strategies[b.strategy];c=d.execute(a,b)}return c||this.strategies.def.execute(a,b)},insertFragment:function(a,b){function d(a,b){b(a);for(var c in a.childNodes)d(a.childNodes[c],b)}function e(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()}function f(a){var b=a.text||a.textContent||a.innerHTML||"",c=a.getAttribute("src"),d=document.getElementsByTagName("head")[0]||document.documentElement,e=document.createElement("script");e.type="text/javascript",c&&e.setAttribute("src",c),b&&e.appendChild(document.createTextNode(b)),d.insertBefore(e,d.firstChild),a.parentNode&&a.parentNode.removeChild(a)}var c=null;Object.prototype.toString.call(b)==="[object String]"?c=document.getElementById(b):c=b,c.innerHTML=(""+a).trim();var g=[],h=null;d(c,function(a){a.nodeName&&a.nodeName.toUpperCase()==="SCRIPT"&&(!a.type||a.type==="text/javascript")&&g.push(a)});for(h in g)f(g[h])},insert:function(a,b,c,d){var e=this,f=this.resolve(a,b).toHtml(function(a,b){e.insertFragment(b,c),typeof d=="function"&&d(null)})}}),typeof Joshfire!="undefined"&&typeof Joshfire.define!="undefined"?Joshfire.define([],function(){return new t}):typeof define!="undefined"?define("joshfire-framework/utils/mediaplayerlib",[],function(){return new t}):a.mediaFactory=new t}(typeof module!="undefined"?module.exports:window),define("joshfire-framework/vendor/backbone",["joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b){return function(){var c=this,d=c.Backbone,e=Array.prototype.slice,f=Array.prototype.splice,g;typeof exports!="undefined"?g=exports:g=c.Backbone={},g.VERSION="0.9.2",g.setDomLibrary=function(a){b=a},g.noConflict=function(){return c.Backbone=d,this},g.emulateHTTP=!1,g.emulateJSON=!1;var h=/\s+/,i=g.Events={on:function(a,b,c){var d,e,f,g,i;if(!b)return this;a=a.split(h),d=this._callbacks||(this._callbacks={});while(e=a.shift())i=d[e],f=i?i.tail:{},f.next=g={},f.context=c,f.callback=b,d[e]={tail:g,next:i?i.next:f};return this},off:function(b,c,d){var e,f,g,i,j,k;if(!(f=this._callbacks))return;if(!(b||c||d))return delete this._callbacks,this;b=b?b.split(h):a.keys(f);while(e=b.shift()){g=f[e],delete f[e];if(!g||!c&&!d)continue;i=g.tail;while((g=g.next)!==i)j=g.callback,k=g.context,(c&&j!==c||d&&k!==d)&&this.on(e,j,k)}return this},trigger:function(a){var b,c,d,f,g,i,j;if(!(d=this._callbacks))return this;i=d.all,a=a.split(h),j=e.call(arguments,1);while(b=a.shift()){if(c=d[b]){f=c.tail;while((c=c.next)!==f)c.callback.apply(c.context||this,j)}if(c=i){f=c.tail,g=[b].concat(j);while((c=c.next)!==f)c.callback.apply(c.context||this,g)}}return this}};i.bind=i.on,i.unbind=i.off;var j=g.Model=function(b,c){var d;b||(b={}),c&&c.parse&&(b=this.parse(b));if(d=A(this,"defaults"))b=a.extend({},d,b);c&&c.collection&&(this.collection=c.collection),this.attributes={},this._escapedAttributes={},this.cid=a.uniqueId("c"),this.changed={},this._silent={},this._pending={},this.set(b,{silent:!0}),this.changed={},this._silent={},this._pending={},this._previousAttributes=a.clone(this.attributes),this.initialize.apply(this,arguments)};a.extend(j.prototype,i,{changed:null,_silent:null,_pending:null,idAttribute:"id",initialize:function(){},toJSON:function(b){return a.clone(this.attributes)},get:function(a){return this.attributes[a]},escape:function(b){var c;if(c=this._escapedAttributes[b])return c;var d=this.get(b);return this._escapedAttributes[b]=a.escape(d==null?"":""+d)},has:function(a){return this.get(a)!=null},set:function(b,c,d){var e,f,g;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d||(d={});if(!e)return this;e instanceof j&&(e=e.attributes);if(d.unset)for(f in e)e[f]=void 0;if(!this._validate(e,d))return!1;this.idAttribute in e&&(this.id=e[this.idAttribute]);var h=d.changes={},i=this.attributes,k=this._escapedAttributes,l=this._previousAttributes||{};for(f in e){g=e[f];if(!a.isEqual(i[f],g)||d.unset&&a.has(i,f))delete k[f],(d.silent?this._silent:h)[f]=!0;d.unset?delete i[f]:i[f]=g,!a.isEqual(l[f],g)||a.has(i,f)!=a.has(l,f)?(this.changed[f]=g,d.silent||(this._pending[f]=!0)):(delete this.changed[f],delete this._pending[f])}return d.silent||this.change(d),this},unset:function(a,b){return(b||(b={})).unset=!0,this.set(a,null,b)},clear:function(b){return(b||(b={})).unset=!0,this.set(a.clone(this.attributes),b)},fetch:function(b){b=b?a.clone(b):{};var c=this,d=b.success;return b.success=function(a,e,f){if(!c.set(c.parse(a,f),b))return!1;d&&d(c,a)},b.error=g.wrapError(b.error,c,b),(this.sync||g.sync).call(this,"read",this,b)},save:function(b,c,d){var e,f;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d=d?a.clone(d):{};if(d.wait){if(!this._validate(e,d))return!1;f=a.clone(this.attributes)}var h=a.extend({},d,{silent:!0});if(e&&!this.set(e,d.wait?h:d))return!1;var i=this,j=d.success;d.success=function(b,c,f){var g=i.parse(b,f);d.wait&&(delete d.wait,g=a.extend(e||{},g));if(!i.set(g,d))return!1;j?j(i,b):i.trigger("sync",i,b,d)},d.error=g.wrapError(d.error,i,d);var k=this.isNew()?"create":"update",l=(this.sync||g.sync).call(this,k,this,d);return d.wait&&this.set(f,h),l},destroy:function(b){b=b?a.clone(b):{};var c=this,d=b.success,e=function(){c.trigger("destroy",c,c.collection,b)};if(this.isNew())return e(),!1;b.success=function(a){b.wait&&e(),d?d(c,a):c.trigger("sync",c,a,b)},b.error=g.wrapError(b.error,c,b);var f=(this.sync||g.sync).call(this,"delete",this,b);return b.wait||e(),f},url:function(){var a=A(this,"urlRoot")||A(this.collection,"url")||B();return this.isNew()?a:a+(a.charAt(a.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},parse:function(a,b){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},change:function(b){b||(b={});var c=this._changing;this._changing=!0;for(var d in this._silent)this._pending[d]=!0;var e=a.extend({},b.changes,this._silent);this._silent={};for(var d in e)this.trigger("change:"+d,this,this.get(d),b);if(c)return this;while(!a.isEmpty(this._pending)){this._pending={},this.trigger("change",this,b);for(var d in this.changed){if(this._pending[d]||this._silent[d])continue;delete this.changed[d]}this._previousAttributes=a.clone(this.attributes)}return this._changing=!1,this},hasChanged:function(b){return arguments.length?a.has(this.changed,b):!a.isEmpty(this.changed)},changedAttributes:function(b){if(!b)return this.hasChanged()?a.clone(this.changed):!1;var c,d=!1,e=this._previousAttributes;for(var f in b){if(a.isEqual(e[f],c=b[f]))continue;(d||(d={}))[f]=c}return d},previous:function(a){return!arguments.length||!this._previousAttributes?null:this._previousAttributes[a]},previousAttributes:function(){return a.clone(this._previousAttributes)},isValid:function(){return!this.validate(this.attributes)},_validate:function(b,c){if(c.silent||!this.validate)return!0;b=a.extend({},this.attributes,b);var d=this.validate(b,c);return d?(c&&c.error?c.error(this,d,c):this.trigger("error",this,d,c),!1):!0}});var k=g.Collection=function(a,b){b||(b={}),b.model&&(this.model=b.model),b.comparator&&(this.comparator=b.comparator),this._reset(),this.initialize.apply(this,arguments),a&&this.reset(a,{silent:!0,parse:b.parse})};a.extend(k.prototype,i,{model:j,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},add:function(b,c){var d,e,g,h,i,j,k={},l={},m=[];c||(c={}),b=a.isArray(b)?b.slice():[b];for(d=0,g=b.length;d').hide().appendTo("body")[0].contentWindow,this.navigate(d)),this._hasPushState?b(window).bind("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!f?b(window).bind("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=d;var g=window.location,h=g.pathname==this.options.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!h)return this.fragment=this.getFragment(null,!0),window.location.replace(this.options.root+"#"+this.fragment),!0;this._wantsPushState&&this._hasPushState&&h&&g.hash&&(this.fragment=this.getHash().replace(r,""),window.history.replaceState({},document.title,g.protocol+"//"+g.host+this.options.root+this.fragment));if(!this.options.silent)return this.loadUrl()},stop:function(){b(window).unbind("popstate",this.checkUrl).unbind("hashchange",this.checkUrl),clearInterval(this._checkUrlInterval),q.started=!1},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(a){var b=this.getFragment();b==this.fragment&&this.iframe&&(b=this.getFragment(this.getHash(this.iframe)));if(b==this.fragment)return!1;this.iframe&&this.navigate(b),this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(b){var c=this.fragment=this.getFragment(b),d=a.any(this.handlers,function(a){if(a.route.test(c))return a.callback(c),!0});return d},navigate:function(a,b){if(!q.started)return!1;if(!b||b===!0)b={trigger:b};var c=(a||"").replace(r,"");if(this.fragment==c)return;this._hasPushState?(c.indexOf(this.options.root)!=0&&(c=this.options.root+c),this.fragment=c,window.history[b.replace?"replaceState":"pushState"]({},document.title,c)):this._wantsHashChange?(this.fragment=c,this._updateHash(window.location,c,b.replace),this.iframe&&c!=this.getFragment(this.getHash(this.iframe))&&(b.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,c,b.replace))):window.location.assign(this.options.root+a),b.trigger&&this.loadUrl(a)},_updateHash:function(a,b,c){c?a.replace(a.toString().replace(/(javascript:|#).*$/,"")+"#"+b):a.hash=b}});var t=g.View=function(b){this.cid=a.uniqueId("view"),this._configure(b||{}),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},u=/^(\S+)\s*(.*)$/,v=["model","collection","el","id","attributes","className","tagName"];a.extend(t.prototype,i,{tagName:"div",$:function(a){return this.$el.find(a)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this},make:function(a,c,d){var e=document.createElement(a);return c&&b(e).attr(c),d&&b(e).html(d),e},setElement:function(a,c){return this.$el&&this.undelegateEvents(),this.$el=a instanceof b?a:b(a),this.el=this.$el[0],c!==!1&&this.delegateEvents(),this},delegateEvents:function(b){if(!b&&!(b=A(this,"events")))return;this.undelegateEvents();for(var c in b){var d=b[c];a.isFunction(d)||(d=this[b[c]]);if(!d)throw new Error('Method "'+b[c]+'" does not exist');var e=c.match(u),f=e[1],g=e[2];d=a.bind(d,this),f+=".delegateEvents"+this.cid,g===""?this.$el.bind(f,d):this.$el.delegate(g,f,d)}},undelegateEvents:function(){this.$el.unbind(".delegateEvents"+this.cid)},_configure:function(b){this.options&&(b=a.extend({},this.options,b));for(var c=0,d=v.length;c/g,">").replace(/"+a+"";var c="<"+this.el.nodeName.toLowerCase();for(var d=0;d",c},hide:function(){c(this.el).hide(),this.trigger("hidden")},show:function(){c(this.el).show(),this.trigger("shown")},enhance:function(){this.customLoadEvent||this.trigger("load"),this.loadingClass&&c(this.el)&&(c(this.el).addClass(this.loadingClass),this.unbind("load",this.removeLoadingClass,this),this.bind("load",this.removeLoadingClass,this))},removeLoadingClass:function(){c(this.el).removeClass(this.loadingClass)}});return d}),define("joshfire-framework/uielement",["joshlib!view"],function(a){var b=a.extend({});return b}),define("joshfire-framework/adapters/phone/uielement",["joshlib!adapters/none/uielement","joshlib!vendor/iscroll","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c,d){var e=a.extend({initialize:function(b){this.options.scroller&&d(this.el).css({overflow:"hidden"}),this.options.scrollerSelector&&(this.scrollerSelector=this.options.scrollerSelector),this.bind("shown",function(){this.hasScroller&&this.iScroller&&this.iScroller.refresh()},this),a.prototype.initialize.call(this,b)},enhance:function(){var b=this;if(this.options.scroller){b.insertScroller(),window.skiped&&b.iScroller.scrollToElement("li:nth-child("+window.skiped+")",200);var c=b.$("img");c.length&&b.$("img").bind("load",function(){setTimeout(function(){b.iScroller.refresh()},10)})}a.prototype.enhance.call(this)},insertScroller:function(){var a=this;this.hasScroller=!0,a.iScroller&&a.iScroller.destroy();var e=a.el;a.scrollerSelector&&(e=d(a.scrollerSelector,a.el).get(0)||a.el),a.iScroller=new b(e,c.extend({useTransition:!0,onScrollMove:function(){a.$("a").bind("click.iscrollprevent",function(a){a.preventDefault()})},onScrollEnd:function(){setTimeout(function(){a.$("a").unbind("click.iscrollprevent")},100)},onBeforeScrollStart:function(a){var b=a.target;while(b.nodeType!=1)b=b.parentNode;b.tagName!="SELECT"&&b.tagName!="INPUT"&&b.tagName!="TEXTAREA"&&a.preventDefault()}},a.options.scrollOptions||{})),a.options.scrollOptions&&a.options.scrollOptions.disabled&&a.iScroller.disable(),document.addEventListener("orientationChanged",function(b){a.iScroller&&a.iScroller.refresh()})}});return e}),define("joshfire-framework/ui/layout",["joshlib!uielement","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(c){c.template?this.template=this.compileTemplate(c.template):c.templateEl&&(this.template=this.compileTemplate($(c.templateEl).text())),this.customLoadEvent=!0,this.setChildren(c.children),this.bind("shown",function(){b.each(this.children,function(a){a.trigger("shown")})},this),this.bind("hidden",function(){b.each(this.children,function(a){a.trigger("hidden")})},this),a.prototype.initialize.call(this,c)},setChildren:function(a){this.children=a,this.numChildren=0,this.numChildrenLoaded=0,a&&b.each(a,b.bind(function(a){++this.numChildren,a.bind("load",b.bind(function(){++this.numChildrenLoaded,this.numChildrenLoaded===this.numChildren&&this.trigger("load")},this))},this))},getChild:function(a){if(a)return this.children[a]},generate:function(a){if(!this.children)return a(null,"");this.childrenOffsets={},this.numChildrenLoaded=0;var c=0,d="";b.each(this.children,b.bind(function(e,f){e.generate(b.bind(function(b,g){var h=e.wrapContent(g);this.childrenOffsets[f]=c,d+=h;if(++c===this.numChildren){var i=null;this.template?i=this.template({childrenOuterHTML:d}):i=d,a(null,i)}},this))},this))},setContent:function(b){a.prototype.setContent.call(this,b),this.children&&this.el&&this.setChildrenElements(!0)},setElement:function(b,c){a.prototype.setElement.call(this,b,c),this.setChildrenElements(c)},setChildrenElements:function(a){b.each(this.children,b.bind(function(a,b){var c=this.el.childNodes[this.childrenOffsets[b]];a.setElement(c,!0)},this))},enhance:function(){a.prototype.enhance.call(this),this.children&&this.el&&b.each(this.children,b.bind(function(a,b){a.enhance()},this)),(!this.children||this.children.length===0)&&this.trigger("load")}});return c}),define("joshfire-framework/ui/cardpanel",["joshlib!ui/layout","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(b){this.showChild(b.currentChild||b.defaultChildren),a.prototype.initialize.call(this,b)},showChild:function(a){if(this.currentChild===a)return;this.canUseDOM&&this.transition(this.currentChild,a),this.currentChild=a},showChildren:function(a){this.showChild(a)},transition:function(a,c){b.each(this.children,function(a,b){b!=c&&a.hide()}),c&&this.children[c].show()},enhance:function(){a.prototype.enhance.call(this),this.currentChild&&this.transition(null,this.currentChild),this.canUseDOM=!0}});return c}),define("joshfire-framework/ui/fadeinpanel",["joshlib!ui/cardpanel","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c){var d=a.extend({initialize:function(b){this.cssTransition=b.cssTransition||".4s ease-in-out all",a.prototype.initialize.call(this,b)},transition:function(a,d){var e=this.children[d];e.hide(),c(e.el).css({filter:"alpha(opacity=0)","-khtml-opacity":0,"-moz-opacity":0,"-ms-opacity":0,"-o-opacity":0,opacity:0,"-webkit-transition":"none","-moz-transition":"none","-ms-transition":"none","-o-transition":"none",transition:"none"}),b.each(this.children,b.bind(function(a,b){a.hide()},this)),e.show(),c(e.el).css({filter:"alpha(opacity=100)","-khtml-opacity":1,"-moz-opacity":1,"-ms-opacity":1,"-o-opacity":1,opacity:1,"-webkit-transition":"0.7s ease-in-out all","-moz-transition":"0.7s ease-in-out all","-ms-transition":"0.7s ease-in-out all","-o-transition":"0.7s ease-in-out all",transition:"0.7s ease-in-out all","-webkit-backface-visibility":"hidden"})}});return d}),define("joshfire-framework/ui/item",["joshlib!uielement","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){c.template?this.template=this.compileTemplate(c.template):c.templateEl&&(this.template=this.compileTemplate(b(c.templateEl).text())),this.setModel(c.model),a.prototype.initialize.call(this,c)},setModel:function(a,b){this.model=a,a&&a.bind("change",this.render,this),b&&this.render()},generate:function(a){if(!this.template)return a(null,"");if(!this.model)return a(null,"");var b={model:this.model,obj:this.model,item:this.model?this.model.toJSON():{}};c.extend(b,this.data),a(null,this.template(b))}});return d}),define("joshfire-framework/ui/dynamiccontainer",["joshlib!uielement","joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){var e=a.extend({initialize:function(e){this.setModel(e.model),this.setCollection(e.collection),this.viewTemplateEl=e.viewTemplateEl||e.itemTemplateEl,this.viewOptions=e.viewOptions||e.itemOptions||{},this.viewOptions.templateEl=this.viewOptions.templateEl||this.viewTemplateEl,this.viewOptions.template=this.viewOptions.template||e.viewTemplate||e.itemTemplate,e.template?this.template=this.compileTemplate(e.template):e.templateEl&&(this.template=this.compileTemplate(c(e.templateEl).text())),this.viewFactory=function(a,c){var f={model:a,collection:c};return d.extend(f,this.viewOptions),factory=e.viewFactory||e.itemFactory,factory?factory(f):new b(f)},this.customLoadEvent=!0,this.bind("shown",function(){this.view&&this.view.trigger("shown")},this),this.bind("hidden",function(){this.view&&this.view.trigger("hidden")},this),a.prototype.initialize.call(this,e)},setModel:function(a,b){this.model&&this.model.unbind("change",this.render,this),this.model=a,a&&a.bind("change",this.render,this),b&&this.render()},setCollection:function(a,b){this.collection&&(this.collection.unbind("change",this.render,this),this.collection.unbind("add",this.render,this),this.collection.unbind("remove",this.render,this),this.collection.unbind("reset",this.render,this)),this.collection=a,a&&(a.bind("change",this.render,this),a.bind("add",this.render,this),a.bind("remove",this.render,this),a.bind("reset",this.render,this)),b&&this.render()},generate:function(a){var b=this;this.view&&this.view.unbind("load",this.triggerLoad,this),this.view=this.viewFactory(this.model,this.collection);if(!this.view)return a(null,"");this.view.bind("load",this.triggerLoad,this),!this.view.model&&this.view.setModel&&this.view.setModel(this.model),!this.view.collection&&this.view.setCollection&&this.view.setCollection(this.collection),this.view.generate(function(c,d){var e=b.view.wrapContent(d),f=null;return e&&b.template?f=b.template({child:e}):f=e?e:"",a(c,f)})},setContent:function(b){a.prototype.setContent.call(this,b),this.view&&this.el&&this.setViewElement(!0)},setElement:function(b,c){a.prototype.setElement.call(this,b,c),this.setViewElement(c)},setViewElement:function(a){this.view&&this.view.setElement(this.el.firstChild,a)},enhance:function(){var b=this;this.view.enhance();var c=["navUp","navRight","navDown","navLeft","navAction","navFocus","navBlur"];d.each(c,function(a){b[a]=b.view[a]}),a.prototype.enhance.call(this)},triggerLoad:function(){this.trigger("load")}});return e}),define("joshfire-framework/ui/factorymedia",["joshlib!ui/item","joshlib!utils/mediaplayerlib","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){var e=a.extend({initialize:function(b){this.mediaOptions=b.mediaOptions||{},a.prototype.initialize.call(this,b)},generate:function(e){var f=/^([0-9]{1,3})%$/,g=null,h=0,i=d.clone(this.mediaOptions);if(!this.model)return e(null,"");i.width&&d.isString(i.width)&&(g=i.width.match(f),g&&(h=parseInt(g[1],10),this.options.width?i.width=this.options.width*h/100:i.width=c(this.el).width()*h/100,i.width=Math.floor(i.width))),i.height&&d.isString(i.height)&&(g=i.height.match(f),g&&(h=parseInt(g[1],10),this.options.height?i.height=this.options.height*h/100:i.height=c(this.el).height()*h/100,i.height=Math.floor(i.height)));var j=b.resolve(this.model.toJSON(),i);j.toHtml(d.bind(function(b,c,f){if(this.template)d.extend(this.data,{media:{html:c,metadata:f},width:this.options.width,height:this.options.height}),a.prototype.generate.call(this,e);else return e(null,c)},this))}});return e}),define("joshfire-framework/ui/imagesloader",["joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){this.imageClass=c.imageClass,this.processImageEl=c.processImageEl;var d=this;this.getImages=c.getImages||function(){var a=b.map(this.$("img"),function(a){return d.imageClass&&b(a).addClass(d.imageClass),{el:a,url:b(a).attr("src")}});return a},this.customLoadEvent=!0,a.prototype.initialize.call(this,c)},enhance:function(){var d=this;if(!this.getImages){a.prototype.enhance.call(this),this.trigger("load");return}var e=this.getImages();if(!e||e.length===0){a.prototype.enhance.call(this),this.trigger("load");return}var f=0,g=function(a){a&&b(a).removeClass("loading"),f+=1,f===e.length&&d.trigger("load")};c.each(e,function(a){if(!a.el||!a.url)return g(a.el);var c=a.el;d.processImageEl&&(c=d.processImageEl(a.el)),b(c).addClass("loading");var e=new Image;e.onload=function(){g(c),e=null},e.onerror=function(){g(c),e=null},e.src=a.url}),a.prototype.enhance.call(this)}});return d}),define("joshfire-framework/ui/imageloader",["joshlib!ui/imagesloader","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(c){this.getImageUrl=c.getImageUrl||function(){return this.model?this.model.imageUrl:null};var d=this;c.getImages=function(){var a=null;return c.imageContainer&&(a=d.$(c.imageContainer)),a||(a=b(d.el)),[{el:a.get(0),url:d.getImageUrl()}]},a.prototype.initialize.call(this,c)},generate:function(a){if(!this.model){a(null,"");return}var b={model:this.model,obj:this.model,item:this.model?this.model.toJSON():{},imageUrl:this.getImageUrl.call(this)};c.extend(b,this.data),a(null,this.template(b))}});return d}),define("joshfire-framework/ui/listitem",["joshlib!uielement","joshlib!vendor/underscore"],function(a,b){var c=a.extend({initialize:function(c){this.view=c.view,this.offset=c.offset,this.customLoadEvent=!0,this.view&&this.view.bind("load",b.bind(function(){this.trigger("load")},this)),a.prototype.initialize.call(this,c)},setElement:function(a){this.view&&this.view.setElement(a)},generate:function(a){this.view.data.offset=this.offset,this.view.generate(a)},render:function(){this.view.render()},setContent:function(a){this.view.setContent(a)},hide:function(){this.view.hide()},show:function(){this.view.show()},enhance:function(){this.view.enhance()}});return c}),define("joshfire-framework/ui/list",["joshlib!uielement","joshlib!ui/listitem","joshlib!ui/item","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d,e){var f=a.extend({initialize:function(f){f.templateEl?this.template=this.compileTemplate(d(f.templateEl).text()):this.template=this.compileTemplate("
      <%= children %>
    "),this.UIItemClass=f.UIItemClass||b,this.itemOptions=f.itemOptions||{scroller:!1},this.itemTemplateEl=f.itemTemplateEl,this.itemOptions.templateEl=this.itemOptions.templateEl||this.itemTemplateEl,this.itemOptions.template=this.itemOptions.template||f.itemTemplate,this.contentSelector=f.contentSelector,this.items=[],this.itemFactory=f.itemFactory||function(a,b){var d={model:a,offset:b};return e.extend(d,this.itemOptions),new c(d)},this.customLoadEvent=!0,this.dataLoadingClass="loading",typeof f.dataLoadingClass!="undefined"&&(this.dataLoadingClass=f.dataLoadingClass),this.dataLoadingClass===!1&&(this.dataLoadingClass=null),this.bind("shown",function(){e.each(this.items,function(a){a.trigger("shown")})},this),this.bind("hidden",function(){e.each(this.items,function(a){a.trigger("hidden")})},this),a.prototype.initialize.call(this,f),f.collection&&this.setCollection(f.collection)},setCollection:function(a,b){this.collection&&(this.collection.unbind("change",this.update,this),this.collection.unbind("add",this.update,this),this.collection.unbind("remove",this.update,this),this.collection.unbind("reset",this.update,this),this.collection.unbind("syncstarted",this.syncStartedHandler,this),this.collection.unbind("syncsuccess",this.syncSuccessHandler,this),this.collection.unbind("syncerror",this.syncErrorHandler,this)),this.collection=a,a&&(a.bind("change",this.update,this),a.bind("add",this.update,this),a.bind("remove",this.update,this),a.bind("reset",this.update,this),a.bind("syncstarted",this.syncStartedHandler,this),a.bind("syncsuccess",this.syncSuccessHandler,this),a.bind("syncerror",this.syncErrorHandler,this)),this.update(b)},update:function(a){this.items=new Array(this.collection.length),this.itemsLoaded=0;var c=function(){++this.itemsLoaded,this.itemsLoaded===this.items.length&&this.trigger("load")};for(var d=0;d0&&(b=b.concat(a.children)),b},setColor:function(a,b){m("#color").remove(),window.Sid.css("css/"+this.deviceFamily+"."+a+".css",b)},setTitle:function(a){m("#title").html(a)},getClassName:function(a,b){if(b!=="list")return b==="single"?"single content detail":"content detail";switch(a){case"status":case"event":return"content hashed-list";case"photo":return"content mosaic-list";default:return"content simple-list"}},createToolbar:function(a){var b=new k.Collection,c=null;for(var d=0;dc&&(d.setModel(a.collection.at(c)),d.render()),b.view.showChild("detail","right")}},createListElement:function(a){return a.outputType==="photo"?new n({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list"),dataLoadingClass:"dataloading",loadingClass:"loading"}):new d({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list")})},createDetailContainer:function(a,c){var d=this;return new b({viewFactory:function(b){return l.extend(b,{slug:a.slug}),d.createDetailElement(b,c)},className:d.getClassName(a,c?"single":"detail")})},createDetailElement:function(a){if(!a.model)return new c({});var b=this.convertItemType(a.model.get("@type")),d=this;switch(b){case"video":return new g({templateEl:"#template-"+b,scroller:!0,scrollerSelector:".wrapper",width:d.getContentWidth(),height:d.getContentHeight(),mediaOptions:{strategy:"html5",width:"100%",height:"80%",adjustSize:!0}});case"sound":return new g({templateEl:"#template-"+b,mediaOptions:{strategy:"html5"}});case"status":return new h({templateEl:"#template-"+b,scroller:!0,getImageUrl:function(){return d.getAuthorThumbnail(a.model.toJSON())}});default:return new i({templateEl:"#template-"+b,scroller:!0,imageClass:"fadein",processImageEl:function(a){var b=document.createElement("div");b.setAttribute("class","loader inv");var c=document.createElement("div");return c.setAttribute("class","figure"),c.appendChild(b),a.getAttribute("width")?c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"):c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"),a.parentNode.replaceChild(c,a),c.appendChild(a),c}})}},itemFactory:function(a){var b=this;return function(d,e){var f=d.toJSON(),g=a.outputType||b.convertItemType(f["@type"]),i="#template-"+g+"-item",j={data:{section:a},model:d,offset:e,templateEl:i};switch(g){case"photo":case"video":case"product":case"news":return j.getImageUrl=function(){return b.getThumbnail(f,e,.2)},j.imageContainer=".figure",new h(j);case"status":return j.getImageUrl=function(){return b.getAuthorThumbnail(f,e)},j.imageContainer=".figure",new h(j);default:return new c(j)}}},createRoutes:function(a,b){return{routes:{"":"home"},home:function(){a.length?this[a[0].slug]():(m("#title").html("No data"),document.body.id="nodata",m("#refresh").hide())}}},getContentWidth:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).width()});return Math.floor(m(b).width())},getContentHeight:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).height()});return m(b).height()},getThumbnail:function(a,b,c){if(!a)return"";c=c||.2;var d=this.clientWidth*c,e=0,f=0,g=a.thumbnail,h=null,i=null,j=null;if(g&&g.length>0){j=g[0],f=j.width||0;for(var k=0;k=d&&(ef)j=g[k]}h=j.contentURL}return h||(a["@type"]==="ImageObject"&&a.contentURL?h=a.contentURL:a.image&&a.image.contentURL&&(h=a.image.contentURL)),h||(h=""),h},getAuthorThumbnail:function(a,b){if(!a)return"";var c="";return a.author&&a.author[0]&&(c=this.getThumbnail(a.author[0],b,.2)),c||(c=this.getThumbnail(a,b,.2)),c},slugify:function(a){return a=a.replace(/[^\-a-zA-Z0-9,&\s]+/ig,""),a=a.replace(/-/gi,"_"),a=a.replace(/\s/gi,"-"),a}}),o}),define("sleek.custom",["sleek"],function(a){return a}),define("sleek.tablet",["sleek.custom","joshlib!ui/layout","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c,d){return a.extend({deviceFamily:"tablet",getClassName:function(a,b){if(b!=="list")return b==="single"?"single detail":"right-panel detail";switch(a){case"status":case"event":return"left-panel hashed-list";case"photo":return"section mosaic-list";default:return"left-panel simple-list"}},createListAndDetailView:function(a,c){var d=new b({children:{list:a,detail:c},className:"split-view"});return d},getContentWidth:function(){var a=c(".right-panel").get(),b=d.max(a,function(a){return c(a).width()});return c(b).width()},getContentHeight:function(){var a=c(".right-panel").get(),b=d.max(a,function(a){return c(a).height()});return c(b).height()},showList:function(a,b){this.showDetail(a,b,0)},moveToList:function(a){},showDetail:function(a,b,d){if(a.collection.length<=d)return;var e=b.view.children||{};e.detail?(e.detail.setModel(a.collection.at(d)),e.detail.render()):a.outputType!=="photo"&&(b.setModel(a.collection.at(d)),b.render()),e.list&&(e.list.$(".active").removeClass("active"),c(e.list.$("li")[d]).addClass("active"))},createRoutes:function(b,e){var f=a.prototype.createRoutes.call(this,b,e),g=c("#toolbar"),h=this;return d.forEach(b,function(a){f.routes[a.slug]=a.slug,f[a.slug]=function(){document.body.id=a.outputType,h.setTitle(a.name),c("iframe, audio, video, object, embed").remove(),g.find(".active").removeClass("active"),g.find(".section-"+a.slug).addClass("active");var b=e.children[a.slug];a.collection.length?(h.moveToList(b),e.showChild(a.slug)):(e.showChild(a.slug),h.updateList(a,b))},a.outputType!=="photo"&&(f.routes[a.slug+"/:offset"]=a.slug+"Detail",f[a.slug+"Detail"]=function(b){b=parseInt(b,10),c("iframe, audio, video, object").remove(),document.body.id=a.outputType,h.setTitle(a.name),g.find(".active").removeClass("active"),g.find(".section-"+a.slug).addClass("active");var d=e.children[a.slug];e.showChild(a.slug),a.collection.length?h.showDetail(a,d,b):h.updateDetail(a,d,b)})}),f}})}),define("app.tablet",["sleek.tablet","joshlib!utils/onready"],function(a,b){var c=new a;b(c.initialize)}) \ No newline at end of file diff --git a/app/app.tv.optimized.js b/app/app.tv.optimized.js index 71dd611..36ddcc4 100644 --- a/app/app.tv.optimized.js +++ b/app/app.tv.optimized.js @@ -33,4 +33,4 @@ * Released under the MIT, BSD, and GPL Licenses. * More information: http://sizzlejs.com/ */ -!function(a,b){function c(a,b){function c(){}c[i]=this[i];var e=this,f=new c,g=j(a),h=g?a:this,k=g?{}:a,l=function(){this.initialize?this.initialize.apply(this,arguments):(b||g&&e.apply(this,arguments),h.apply(this,arguments))};return l.methods=function(a){return d(f,a,e),l[i]=f,this},l.methods.call(l,k).prototype.constructor=l,l.extend=arguments.callee,l[i].implement=l.statics=function(a,b){return a=typeof a=="string"?function(){var c={};return c[a]=b,c}():a,d(this,a,e),this},l}function d(a,b,c){for(var d in b)b.hasOwnProperty(d)&&(a[d]=j(b[d])&&j(c[i][d])&&g.test(b[d])?e(d,b[d],c):b[d])}function e(a,b,c){return function(){var d=this.supr;this.supr=c[i][a];var e=b.apply(this,arguments);return this.supr=d,e}}function f(a){return c.call(j(a)?a:h,a,1)}var g=/xyz/.test(function(){xyz})?/\bsupr\b/:/.*/,h=function(){},i="prototype",j=function(a){return typeof a===b};if(typeof module!="undefined"&&module.exports)module.exports=f;else{var k=a.klass;f.noConflict=function(){return a.klass=k,this},a.klass=f}}(this,"function"),define("vendor/klass",function(){}),function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=[].slice,c=b.call(arguments,1),d=this,e=function(){},f=function(){return d.apply(this instanceof e?this:a||{},c.concat(b.call(arguments)))};return e.prototype=d.prototype,f.prototype=new e,f}),typeof a.Code=="undefined"&&(a.Code={}),a.Code.Util={registerNamespace:function(){var b=arguments,c=null,d,f,g,h,i;d=0;for(h=b.length;db.DOM.windowHeight()}},b.Browser._detect()}(window,window.Code.Util),function(a,b){b.extend(b,{Events:{add:function(a,b,c){this._checkHandlersProperty(a),b==="mousewheel"&&(b=this._normaliseMouseWheelType()),typeof a.__eventHandlers[b]=="undefined"&&(a.__eventHandlers[b]=[]),a.__eventHandlers[b].push(c),this._isBrowserObject(a)&&a.addEventListener(b,c,!1)},remove:function(a,d,e){this._checkHandlersProperty(a),d==="mousewheel"&&(d=this._normaliseMouseWheelType());if(a.__eventHandlers[d]instanceof Array){var f,g,h=a.__eventHandlers[d];if(b.isNothing(e)){if(this._isBrowserObject(a)){f=0;for(g=h.length;f=1;)a.removeChild(a.childNodes[a.childNodes.length-1])},hasAttribute:function(a,d){return!b.isNothing(a.getAttribute(d))},getAttribute:function(a,d,e){return a=a.getAttribute(d),b.isNothing(a)&&!b.isNothing(e)&&(a=e),a},setAttribute:function(a,d,e){if(b.isLikeArray(a)){var f,g;f=0;for(g=a.length;f=1&&b.DOM.setStyle(d,"opacity",0),b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",i,f,g,h):b.isNothing(a.jQuery)||a.jQuery(d).fadeTo(f,i,g)},fadeTo:function(a,b,c,d,e){this.fadeIn(a,c,d,e,b)},fadeOut:function(d,f,g,h){if(f<=0&&(b.DOM.setStyle(d,"opacity",0),!b.isNothing(g))){g(d);return}b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",0,f,g,h):a.jQuery(d).fadeTo(f,0,g)},slideBy:function(d,f,g,h,i,j){var k={},f=b.coalesce(f,0),g=b.coalesce(g,0),j=b.coalesce(j,"ease-out");k[this._transitionPrefix+"Property"]="all",k[this._transitionPrefix+"Delay"]="0",h===0?(k[this._transitionPrefix+"Duration"]="",k[this._transitionPrefix+"TimingFunction"]=""):(k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=b.coalesce(j,"ease-out"),b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler())),k[this._transformLabel]=b.Browser.is3dSupported?"translate3d("+f+"px, "+g+"px, 0px)":"translate("+f+"px, "+g+"px)",b.isNothing(i)||(d.cclallcallback=i),b.DOM.setStyle(d,k),h===0&&a.setTimeout(function(){this._leaveTransforms(d)}.bind(this),this._applyTransitionDelay)},resetTranslate:function(a){var d={};d[this._transformLabel]=d[this._transformLabel]=b.Browser.is3dSupported?"translate3d(0px, 0px, 0px)":"translate(0px, 0px)",b.DOM.setStyle(a,d)},_applyTransition:function(d,f,g,h,i,j){var k={},j=b.coalesce(j,"ease-in");k[this._transitionPrefix+"Property"]=f,k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=j,k[this._transitionPrefix+"Delay"]="0",b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler()),b.DOM.setStyle(d,k),b.isNothing(i)||(d["ccl"+f+"callback"]=i),a.setTimeout(function(){b.DOM.setStyle(d,f,g)},this._applyTransitionDelay)},_onTransitionEnd:function(a){b.Events.remove(a.currentTarget,this._transitionEndLabel,this._getTransitionEndHandler()),this._leaveTransforms(a.currentTarget)},_leaveTransforms:function(d){var f=d.style[this._transitionPrefix+"Property"],g=f!==""?"ccl"+f+"callback":"cclallcallback",h,f=b.coalesce(d.style.webkitTransform,d.style.MozTransform,d.style.transform),i,j=a.parseInt(b.DOM.getStyle(d,"left"),0),k=a.parseInt(b.DOM.getStyle(d,"top"),0),l,m,n={};f!==""&&(f=b.Browser.is3dSupported?f.match(/translate3d\((.*?)\)/):f.match(/translate\((.*?)\)/),b.isNothing(f)||(i=f[1].split(", "),l=a.parseInt(i[0],0),m=a.parseInt(i[1],0))),n[this._transitionPrefix+"Property"]="",n[this._transitionPrefix+"Duration"]="",n[this._transitionPrefix+"TimingFunction"]="",n[this._transitionPrefix+"Delay"]="",b.DOM.setStyle(d,n),a.setTimeout(function(){b.isNothing(i)||(n={},n[this._transformLabel]="",n.left=j+l+"px",n.top=k+m+"px",b.DOM.setStyle(d,n)),b.isNothing(d[g])||(h=d[g],delete d[g],h(d))}.bind(this),this._applyTransitionDelay)}}})}(window,window.Code.Util),function(a,b,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(a,b,c){c.registerNamespace("Code.Util.TouchElement"),c.TouchElement.TouchElementClass=b({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 a;this.removeEventHandlers();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(a,b){this.el=a,this.captureSettings={swipe:!1,move:!1,gesture:!1,doubleTap:!1,preventDefaultTouchEvents:!0},c.extend(this.captureSettings,b),this.swipeThreshold=50,this.doubleTapSpeed=this.swipeTimeThreshold=250,this.touchStartPoint={x:0,y:0},this.touchEndPoint={x:0,y:0}},addEventHandlers:function(){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),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),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),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),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(a){return{x:a[0].pageX,y:a[0].pageY}},fireTouchEvent:function(b){var d=0,f=0,g=0,h,d=this.touchEndPoint.x-this.touchStartPoint.x,f=this.touchEndPoint.y-this.touchStartPoint.y,g=Math.sqrt(d*d+f*f);if(this.captureSettings.swipe&&(h=new Date,h-=this.touchStartTime,h<=this.swipeTimeThreshold)){if(a.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.swipeLeft:c.TouchElement.ActionTypes.swipeRight,targetEl:b.target,currentTargetEl:b.currentTarget});return}if(a.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.swipeUp:c.TouchElement.ActionTypes.swipeDown,targetEl:b.target,currentTargetEl:b.currentTarget});return}}g>1?c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMoveEnd,point:this.touchEndPoint,targetEl:b.target,currentTargetEl:b.currentTarget}):this.captureSettings.doubleTap?c.isNothing(this.doubleTapTimeout)?this.doubleTapTimeout=a.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:b.target,currentTargetEl:b.currentTarget})}.bind(this),this.doubleTapSpeed):(a.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:b.target,currentTargetEl:b.currentTarget})):c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:c.TouchElement.ActionTypes.tap,targetEl:b.target,currentTargetEl:b.currentTarget})},onTouchStart:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault(),c.Events.remove(this.el,"mousedown",this.mouseDownHandler);var b=c.Events.getTouchEvent(a).touches;b.length>1&&this.captureSettings.gesture?this.isGesture=!0:(this.touchStartTime=new Date,this.isGesture=!1,this.touchStartPoint=this.getTouchPoint(b),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget}))},onTouchMove:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();if(!this.isGesture||!this.captureSettings.gesture){var b=c.Events.getTouchEvent(a).touches;c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:this.getTouchPoint(b),targetEl:a.target,currentTargetEl:a.currentTarget})}},onTouchEnd:function(a){if(!this.isGesture||!this.captureSettings.gesture){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();var b=c.Events.getTouchEvent(a);this.touchEndPoint=this.getTouchPoint(c.isNothing(b.changedTouches)?b.touches:b.changedTouches),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)}},onMouseDown:function(a){a.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),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=!1,this.touchStartPoint=c.Events.getMousePosition(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseMove:function(a){a.preventDefault(),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:c.Events.getMousePosition(a),targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseUp:function(a){a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)},onMouseOut:function(a){var b=a.relatedTarget;this.el!==b&&!c.DOM.isChildOf(b,this.el)&&(a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a))},onGestureStart:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureStart,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureChange:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureChange,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureEnd:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureEnd,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image"),a.Code.PhotoSwipe.Image.EventTypes={onLoad:"onLoad",onError:"onError"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image");var d=a.Code.PhotoSwipe;d.Image.ImageClass=b({refObj:null,imageEl:null,src:null,caption:null,metaData:null,imageLoadHandler:null,imageErrorHandler:null,dispose:function(){var a;this.shrinkImage();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,c,d,f){this.refObj=b,this.src=this.originalSrc=c,this.caption=d,this.metaData=f,this.imageEl=new a.Image,this.imageLoadHandler=this.onImageLoad.bind(this),this.imageErrorHandler=this.onImageError.bind(this)},load:function(){this.imageEl.originalSrc=c.coalesce(this.imageEl.originalSrc,""),this.imageEl.originalSrc===this.src?this.imageEl.isError?c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this}):c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this}):(this.imageEl.isError=!1,this.imageEl.isLoading=!0,this.imageEl.naturalWidth=null,this.imageEl.naturalHeight=null,this.imageEl.isLandscape=!1,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(){!c.isNothing(this.imageEl)&&this.imageEl.src.indexOf(this.src)>-1&&(this.imageEl.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",c.isNothing(this.imageEl.parentNode)||c.DOM.removeChild(this.imageEl,this.imageEl.parentNode))},onImageLoad:function(){this.imageEl.onload=null,this.imageEl.naturalWidth=c.coalesce(this.imageEl.naturalWidth,this.imageEl.width),this.imageEl.naturalHeight=c.coalesce(this.imageEl.naturalHeight,this.imageEl.height),this.imageEl.isLandscape=this.imageEl.naturalWidth>this.imageEl.naturalHeight,this.imageEl.isLoading=!1,c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this})},onImageError:function(){this.imageEl.onload=null,this.imageEl.onerror=null,this.imageEl.onabort=null,this.imageEl.isLoading=!1,this.imageEl.isError=!0,c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Cache"),a=a.Code.PhotoSwipe,a.Cache.Mode={normal:"normal",aggressive:"aggressive"},a.Cache.Functions={getImageSource:function(a){return a.href},getImageCaption:function(a){if(a.nodeName==="IMG")return c.DOM.getAttribute(a,"alt");var b,d,e;b=0;for(d=a.childNodes.length;bd&&(d=c.DOM.windowHeight())):(b=c.DOM.width(this.settings.target),d=c.DOM.height(this.settings.target),f="0px"),c.DOM.setStyle(this.el,{width:b,height:d,top:f})},fadeIn:function(a,b){this.resetPosition(),c.DOM.setStyle(this.el,"opacity",0),c.DOM.show(this.el),c.Animation.fadeIn(this.el,a,b)}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel"),a=a.Code.PhotoSwipe,a.Carousel.EventTypes={onSlideByEnd:"PhotoSwipeCarouselOnSlideByEnd",onSlideshowStart:"PhotoSwipeCarouselOnSlideshowStart",onSlideshowStop:"PhotoSwipeCarouselOnSlideshowStop"},a.Carousel.CssClasses={carousel:"ps-carousel",content:"ps-carousel-content",item:"ps-carousel-item",itemLoading:"ps-carousel-item-loading",itemError:"ps-carousel-item-error"},a.Carousel.SlideByAction={previous:"previous",current:"current",next:"next"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel");var d=a.Code.PhotoSwipe;d.Carousel.CarouselClass=b({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 a,b,e;b=0;for(e=this.cache.images.length;b0&&c.DOM.setStyle(i,{marginRight:this.settings.margin+"px"}),c.DOM.appendChild(i,this.contentEl);this.settings.target===a?c.DOM.appendToBody(this.el):c.DOM.appendChild(this.el,this.settings.target)},resetPosition:function(){var b,f,g,h,i,j;this.settings.target===a?(b=c.DOM.windowWidth(),f=c.DOM.windowHeight(),g=c.DOM.windowScrollTop()+"px"):(b=c.DOM.width(this.settings.target),f=c.DOM.height(this.settings.target),g="0px"),h=this.settings.margin>0?b+this.settings.margin:b,i=c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl),h*=i.length,c.DOM.setStyle(this.el,{top:g,width:b,height:f}),c.DOM.setStyle(this.contentEl,{width:h,height:f}),g=0;for(h=i.length;gf&&(b=f/d,d=Math.round(d*b),e=Math.round(e*b)),e>g&&(b=g/e,e=Math.round(e*b),d=Math.round(d*b))):(b=a.isLandscape?f/a.naturalWidth:g/a.naturalHeight,d=Math.round(a.naturalWidth*b),e=Math.round(a.naturalHeight*b),this.settings.imageScaleMethod==="zoom"?(b=1,ef?b=f/d:e>g&&(b=g/e),b!==1&&(d=Math.round(d*b),e=Math.round(e*b)))),c.DOM.setStyle(a,{position:"absolute",width:d,height:e,top:Math.round((g-e)/2)+"px",left:Math.round((f-d)/2)+"px",display:"block"})}},setContentLeftPosition:function(){var b,d,f;b=this.settings.target===a?c.DOM.windowWidth():c.DOM.width(this.settings.target),d=this.getItemEls(),f=0,this.settings.loop?f=(b+this.settings.margin)*-1:this.currentCacheIndex===this.cache.images.length-1?f=(d.length-1)*(b+this.settings.margin)*-1:this.currentCacheIndex>0&&(f=(b+this.settings.margin)*-1),c.DOM.setStyle(this.contentEl,{left:f+"px"})},show:function(a){this.currentCacheIndex=a,this.resetPosition(),this.setImages(!1),c.DOM.show(this.el),c.Animation.resetTranslate(this.contentEl);var a=this.getItemEls(),b,e;b=0;for(e=a.length;bthis.cache.images.length-1&&(b=0),d<0&&(d=this.cache.images.length-1),b=this.cache.getImages([d,this.currentCacheIndex,b]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[0],c[0])):c.length===1?a||(b=this.cache.getImages([this.currentCacheIndex]),this.addCacheImageToItemEl(b[0],c[0])):c.length===2?this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[0],c[0])):this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1,this.currentCacheIndex+2]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])):(this.currentCacheIndex===this.cache.images.length-1?(b=this.cache.getImages([this.currentCacheIndex-2,this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])),this.addCacheImageToItemEl(b[0],c[0]))},addCacheImageToItemEl:function(a,b){c.DOM.removeClass(b,d.Carousel.CssClasses.itemError),c.DOM.addClass(b,d.Carousel.CssClasses.itemLoading),c.DOM.removeChildren(b),c.DOM.setStyle(a.imageEl,{display:"none"}),c.DOM.appendChild(a.imageEl,b),c.Animation.resetTranslate(a.imageEl),c.Events.add(a,d.Image.EventTypes.onLoad,this.imageLoadHandler),c.Events.add(a,d.Image.EventTypes.onError,this.imageErrorHandler),a.load()},slideCarousel:function(b,f,g){if(!this.isSliding){var h,i;h=this.settings.target===a?c.DOM.windowWidth()+this.settings.margin:c.DOM.width(this.settings.target)+this.settings.margin,g=c.coalesce(g,this.settings.slideSpeed);if(!(a.Math.abs(i)<1)){switch(f){case c.TouchElement.ActionTypes.swipeLeft:b=h*-1;break;case c.TouchElement.ActionTypes.swipeRight:b=h;break;default:i=b.x-this.touchStartPoint.x,b=a.Math.abs(i)>h/2?i>0?h:h*-1:0}this.lastSlideByAction=b<0?d.Carousel.SlideByAction.next:b>0?d.Carousel.SlideByAction.previous:d.Carousel.SlideByAction.current,!this.settings.loop&&(this.lastSlideByAction===d.Carousel.SlideByAction.previous&&this.currentCacheIndex===0||this.lastSlideByAction===d.Carousel.SlideByAction.next&&this.currentCacheIndex===this.cache.images.length-1)&&(b=0,this.lastSlideByAction=d.Carousel.SlideByAction.current),this.isSliding=!0,this.doSlideCarousel(b,g)}}},moveCarousel:function(a){this.isSliding||this.settings.enableDrag&&this.doMoveCarousel(a.x-this.touchStartPoint.x)},getItemEls:function(){return c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl)},previous:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeRight,this.settings.nextPreviousSlideSpeed)},next:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft,this.settings.nextPreviousSlideSpeed)},slideshowNext:function(){this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft)},startSlideshow:function(){this.stopSlideshow(),this.isSlideshowActive=!0,this.slideshowTimeout=a.setTimeout(this.slideshowNext.bind(this),this.settings.slideshowDelay),c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStart,target:this})},stopSlideshow:function(){c.isNothing(this.slideshowTimeout)||(a.clearTimeout(this.slideshowTimeout),this.slideshowTimeout=null,this.isSlideshowActive=!1,c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStop,target:this}))},onSlideByEnd:function(){if(!c.isNothing(this.isSliding)){var a=this.getItemEls();this.isSliding=!1,this.lastSlideByAction===d.Carousel.SlideByAction.next?this.currentCacheIndex+=1:this.lastSlideByAction===d.Carousel.SlideByAction.previous&&(this.currentCacheIndex-=1),this.settings.loop?(this.lastSlideByAction===d.Carousel.SlideByAction.next?c.DOM.appendChild(a[0],this.contentEl):this.lastSlideByAction===d.Carousel.SlideByAction.previous&&c.DOM.insertBefore(a[a.length-1],a[0],this.contentEl),this.currentCacheIndex<0)?this.currentCacheIndex=this.cache.images.length-1:this.currentCacheIndex===this.cache.images.length&&(this.currentCacheIndex=0):this.cache.images.length>3&&(this.currentCacheIndex>1&&this.currentCacheIndex
    '}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Toolbar");var d=a.Code.PhotoSwipe;d.Toolbar.ToolbarClass=b({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 a;this.clearTimeout(),this.removeEventHandlers(),c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),c.DOM.removeChild(this.toolbarEl,this.toolbarEl.parentNode),c.DOM.removeChild(this.captionEl,this.captionEl.parentNode);for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,f){var g;this.settings=f,this.cache=b,this.isVisible=!1,this.fadeOutHandler=this.onFadeOut.bind(this),this.touchStartHandler=this.onTouchStart.bind(this),this.touchMoveHandler=this.onTouchMove.bind(this),this.clickHandler=this.onClick.bind(this),g=d.Toolbar.CssClasses.toolbar,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.toolbarTop),this.toolbarEl=c.DOM.createElement("div",{"class":g},this.settings.getToolbar()),c.DOM.setStyle(this.toolbarEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.toolbarEl):c.DOM.appendChild(this.toolbarEl,this.settings.target),c.DOM.hide(this.toolbarEl),this.closeEl=c.DOM.find("."+d.Toolbar.CssClasses.close,this.toolbarEl)[0],this.settings.preventHide&&!c.isNothing(this.closeEl)&&c.DOM.hide(this.closeEl),this.playEl=c.DOM.find("."+d.Toolbar.CssClasses.play,this.toolbarEl)[0],this.settings.preventSlideshow&&!c.isNothing(this.playEl)&&c.DOM.hide(this.playEl),this.nextEl=c.DOM.find("."+d.Toolbar.CssClasses.next,this.toolbarEl)[0],this.previousEl=c.DOM.find("."+d.Toolbar.CssClasses.previous,this.toolbarEl)[0],g=d.Toolbar.CssClasses.caption,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.captionBottom),this.captionEl=c.DOM.createElement("div",{"class":g},""),c.DOM.setStyle(this.captionEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.captionEl):c.DOM.appendChild(this.captionEl,this.settings.target),c.DOM.hide(this.captionEl),this.captionContentEl=c.DOM.createElement("div",{"class":d.Toolbar.CssClasses.captionContent},""),c.DOM.appendChild(this.captionContentEl,this.captionEl),this.addEventHandlers()},resetPosition:function(){var b,d,f;this.settings.target===a?(this.settings.captionAndToolbarFlipPosition?(d=c.DOM.windowScrollTop(),f=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.captionEl)):(d=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.toolbarEl),f=c.DOM.windowScrollTop()),b=c.DOM.windowWidth()):(this.settings.captionAndToolbarFlipPosition?(d="0",f=c.DOM.height(this.settings.target)-c.DOM.height(this.captionEl)):(d=c.DOM.height(this.settings.target)-c.DOM.height(this.toolbarEl),f=0),b=c.DOM.width(this.settings.target)),c.DOM.setStyle(this.toolbarEl,{top:d+"px",width:b}),c.DOM.setStyle(this.captionEl,{top:f+"px",width:b})},toggleVisibility:function(a){this.isVisible?this.fadeOut():this.show(a)},show:function(a){c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),this.resetPosition(),this.setToolbarStatus(a),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeShow,target:this}),this.showToolbar(),this.setCaption(a),this.showCaption(),this.isVisible=!0,this.setTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onShow,target:this})},setTimeout:function(){this.settings.captionAndToolbarAutoHideDelay>0&&(this.clearTimeout(),this.timeout=a.setTimeout(this.fadeOut.bind(this),this.settings.captionAndToolbarAutoHideDelay))},clearTimeout:function(){c.isNothing(this.timeout)||(a.clearTimeout(this.timeout),this.timeout=null)},fadeOut:function(){this.clearTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeHide,target:this}),c.Animation.fadeOut(this.toolbarEl,this.settings.fadeOutSpeed),c.Animation.fadeOut(this.captionEl,this.settings.fadeOutSpeed,this.fadeOutHandler),this.isVisible=!1},addEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.add(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.add(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.add(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.add(this.toolbarEl,"click",this.clickHandler)},removeEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.remove(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.remove(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.remove(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.remove(this.toolbarEl,"click",this.clickHandler)},handleTap:function(a){this.clearTimeout();var b;if(a.target===this.nextEl||c.DOM.isChildOf(a.target,this.nextEl))b=d.Toolbar.ToolbarAction.next;else if(a.target===this.previousEl||c.DOM.isChildOf(a.target,this.previousEl))b=d.Toolbar.ToolbarAction.previous;else if(a.target===this.closeEl||c.DOM.isChildOf(a.target,this.closeEl))b=d.Toolbar.ToolbarAction.close;else if(a.target===this.playEl||c.DOM.isChildOf(a.target,this.playEl))b=d.Toolbar.ToolbarAction.play;this.setTimeout(),c.isNothing(b)&&(b=d.Toolbar.ToolbarAction.none),c.Events.fire(this,{type:d.Toolbar.EventTypes.onTap,target:this,action:b,tapTarget:a.target})},setCaption:function(a){c.DOM.removeChildren(this.captionContentEl),this.currentCaption=c.coalesce(this.cache.images[a].caption," "),c.isObject(this.currentCaption)?c.DOM.appendChild(this.currentCaption,this.captionContentEl):(this.currentCaption===""&&(this.currentCaption=" "),c.DOM.appendText(this.currentCaption,this.captionContentEl)),this.currentCaption=this.currentCaption===" "?"":this.currentCaption,this.resetPosition()},showToolbar:function(){c.DOM.setStyle(this.toolbarEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.toolbarEl)},showCaption:function(){(this.currentCaption===""||this.captionContentEl.childNodes.length<1)&&!this.settings.captionAndToolbarShowEmptyCaptions?c.DOM.hide(this.captionEl):(c.DOM.setStyle(this.captionEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.captionEl))},setToolbarStatus:function(a){this.settings.loop||(c.DOM.removeClass(this.previousEl,d.Toolbar.CssClasses.previousDisabled),c.DOM.removeClass(this.nextEl,d.Toolbar.CssClasses.nextDisabled),a>0&&athis.settings.maxUserZoom&&(a=this.settings.maxUserZoom),a},setStartingScaleAndRotation:function(a,b){this.transformSettings.startingScale=this.getScale(a),this.transformSettings.startingRotation=(this.transformSettings.startingRotation+b)%360},zoomRotate:function(a,b){this.transformSettings.scale=this.getScale(a),this.transformSettings.rotation=this.transformSettings.startingRotation+b,this.applyTransform()},panStart:function(a){this.setStartingTranslateFromCurrentTransform(),this.panStartingPoint={x:a.x,y:a.y}},pan:function(a){var b=(a.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=this.transformSettings.startingTranslateX+(a.x-this.panStartingPoint.x)/this.transformSettings.scale,this.transformSettings.translateY=this.transformSettings.startingTranslateY+b,this.applyTransform()},zoomAndPanToPoint:function(b,d){if(this.settings.target===a){this.panStart({x:c.DOM.windowWidth()/2,y:c.DOM.windowHeight()/2});var f=(d.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=(this.transformSettings.startingTranslateX+(d.x-this.panStartingPoint.x)/this.transformSettings.scale)*-1,this.transformSettings.translateY=(this.transformSettings.startingTranslateY+f)*-1}this.setStartingScaleAndRotation(b,0),this.transformSettings.scale=this.transformSettings.startingScale,this.transformSettings.rotation=0,this.applyTransform()},applyTransform:function(){var b=this.transformSettings.rotation%360,f=a.parseInt(this.transformSettings.translateX,10),g=a.parseInt(this.transformSettings.translateY,10),h="scale("+this.transformSettings.scale+") rotate("+b+"deg) translate("+f+"px, "+g+"px)";c.DOM.setStyle(this.transformEl,{webkitTransform:h,MozTransform:h,msTransform:h,transform:h}),c.Events.fire(this,{target:this,type:d.ZoomPanRotate.EventTypes.onTransform,scale:this.transformSettings.scale,rotation:this.transformSettings.rotation,rotationDegs:b,translateX:f,translateY:g})}})}(window,window.klass,window.Code.Util),function(a,b){b.registerNamespace("Code.PhotoSwipe");var c=a.Code.PhotoSwipe;c.CssClasses={buildingBody:"ps-building",activeBody:"ps-active"},c.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"},c.instances=[],c.activeInstances=[],c.setActivateInstance=function(a){if(b.arrayIndexOf(a.settings.target,c.activeInstances,"target")>-1)throw"Code.PhotoSwipe.activateInstance: Unable to active instance as another instance is already active for this target";c.activeInstances.push({target:a.settings.target,instance:a})},c.unsetActivateInstance=function(a){a=b.arrayIndexOf(a,c.activeInstances,"instance"),c.activeInstances.splice(a,1)},c.attach=function(a,d,e){var f,g;f=c.createInstance(a,d,e),d=0;for(e=a.length;d=2.1&&(this.isBackEventSupported=!0),this.isBackEventSupported||(this.isBackEventSupported=c.objectHasProperty(a,"onhashchange")),this.settings={fadeInSpeed:250,fadeOutSpeed:250,preventHide:!1,preventSlideshow:!1,zIndex:1e3,backButtonHideEnabled:!0,enableKeyboard:!0,enableMouseWheel:!0,mouseWheelSpeed:350,autoStartSlideshow:!1,jQueryMobile:!c.isNothing(a.jQuery)&&!c.isNothing(a.jQuery.mobile),jQueryMobileDialogHash:"&ui-state=dialog",enableUIWebViewRepositionTimeout:!1,uiWebViewResetPositionDelay:500,target:a,preventDefaultTouchEvents:!0,loop:!0,slideSpeed:250,nextPreviousSlideSpeed:0,enableDrag:!0,swipeThreshold:50,swipeTimeThreshold:250,slideTimingFunction:"ease-out",slideshowDelay:3e3,doubleTapSpeed:250,margin:20,imageScaleMethod:"fit",captionAndToolbarHide:!1,captionAndToolbarFlipPosition:!1,captionAndToolbarAutoHideDelay:5e3,captionAndToolbarOpacity:.8,captionAndToolbarShowEmptyCaptions:!0,getToolbar:j.Toolbar.getToolbar,allowUserZoom:!0,allowRotationOnUserZoom:!1,maxUserZoom:5,minUserZoom:.5,doubleTapZoomLevel:2.5,getImageSource:j.Cache.Functions.getImageSource,getImageCaption:j.Cache.Functions.getImageCaption,getImageMetaData:j.Cache.Functions.getImageMetaData,cacheMode:j.Cache.Mode.normal},c.extend(this.settings,e),this.settings.target!==a&&(e=c.DOM.getStyle(this.settings.target,"position"),(e!=="relative"||e!=="absolute")&&c.DOM.setStyle(this.settings.target,"position","relative")),this.settings.target!==a?(this.isBackEventSupported=!1,this.settings.backButtonHideEnabled=!1):this.settings.preventHide&&(this.settings.backButtonHideEnabled=!1),this.cache=new d.CacheClass(b,this.settings)},show:function(b){var d,e;this.backButtonClicked=this._isResettingPosition=!1;if(c.isNumber(b))this.currentIndex=b;else{this.currentIndex=-1,d=0;for(e=this.originalImages.length;dthis.originalImages.length-1)throw"Code.PhotoSwipe.PhotoSwipeClass.show: Starting index out of range";this.isAlreadyGettingPage=this.getWindowDimensions(),j.setActivateInstance(this),this.windowDimensions=this.getWindowDimensions(),this.settings.target===a?c.DOM.addClass(a.document.body,j.CssClasses.buildingBody):c.DOM.addClass(this.settings.target,j.CssClasses.buildingBody),this.createComponents(),c.Events.fire(this,{type:j.EventTypes.onBeforeShow,target:this}),this.documentOverlay.fadeIn(this.settings.fadeInSpeed,this.onDocumentOverlayFadeIn.bind(this))},getWindowDimensions:function(){return{width:c.DOM.windowWidth(),height:c.DOM.windowHeight()}},createComponents:function(){this.documentOverlay=new e.DocumentOverlayClass(this.settings),this.carousel=new f.CarouselClass(this.cache,this.settings),this.uiLayer=new h.UILayerClass(this.settings),this.settings.captionAndToolbarHide||(this.toolbar=new g.ToolbarClass(this.cache,this.settings))},resetPosition:function(){if(!this._isResettingPosition){var a=this.getWindowDimensions();if(c.isNothing(this.windowDimensions)||a.width!==this.windowDimensions.width||a.height!==this.windowDimensions.height)this._isResettingPosition=!0,this.windowDimensions=a,this.destroyZoomPanRotate(),this.documentOverlay.resetPosition(),this.carousel.resetPosition(),c.isNothing(this.toolbar)||this.toolbar.resetPosition(),this.uiLayer.resetPosition(),this._isResettingPosition=!1,c.Events.fire(this,{type:j.EventTypes.onResetPosition,target:this})}},addEventHandler:function(a,b){c.Events.add(this,a,b)},addEventHandlers:function(){c.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)),c.Browser.android?this.orientationEventName="resize":c.Browser.iOS&&!c.Browser.safari?c.Events.add(a.document.body,"orientationchange",this.windowOrientationChangeHandler):this.orientationEventName=c.isNothing(a.onorientationchange)?"resize":"orientationchange",c.isNothing(this.orientationEventName)||c.Events.add(a,this.orientationEventName,this.windowOrientationChangeHandler),this.settings.target===a&&c.Events.add(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.add(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.windowHashChangeHandler=this.onWindowHashChange.bind(this),this.settings.jQueryMobile?a.location.hash=this.settings.jQueryMobileDialogHash:(this.currentHistoryHashValue="PhotoSwipe"+(new Date).getTime().toString(),a.location.hash=this.currentHistoryHashValue),c.Events.add(a,"hashchange",this.windowHashChangeHandler)),this.settings.enableMouseWheel&&c.Events.add(a,"mousewheel",this.mouseWheelHandler),c.Events.add(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.Events.add(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler),c.isNothing(this.toolbar)||(c.Events.add(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.add(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.add(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},removeEventHandlers:function(){c.Browser.iOS&&!c.Browser.safari&&c.Events.remove(a.document.body,"orientationchange",this.windowOrientationChangeHandler),c.isNothing(this.orientationEventName)||c.Events.remove(a,this.orientationEventName,this.windowOrientationChangeHandler),c.Events.remove(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.remove(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&c.Events.remove(a,"hashchange",this.windowHashChangeHandler),this.settings.enableMouseWheel&&c.Events.remove(a,"mousewheel",this.mouseWheelHandler),c.isNothing(this.uiLayer)||c.Events.remove(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.isNothing(this.toolbar)||(c.Events.remove(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler)),c.isNothing(this.toolbar)||(c.Events.remove(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.remove(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},hide:function(){if(!this.settings.preventHide){if(c.isNothing(this.documentOverlay))throw"Code.PhotoSwipe.PhotoSwipeClass.hide: PhotoSwipe instance is already hidden";c.isNothing(this.hiding)&&(this.clearUIWebViewResetPositionTimeout(),this.destroyZoomPanRotate(),this.removeEventHandlers(),c.Events.fire(this,{type:j.EventTypes.onBeforeHide,target:this}),this.uiLayer.dispose(),this.uiLayer=null,c.isNothing(this.toolbar)||(this.toolbar.dispose(),this.toolbar=null),this.carousel.dispose(),this.carousel=null,c.DOM.removeClass(a.document.body,j.CssClasses.activeBody),this.documentOverlay.dispose(),this.documentOverlay=null,this._isResettingPosition=!1,j.unsetActivateInstance(this),c.Events.fire(this,{type:j.EventTypes.onHide,target:this}),this.goBackInHistory())}},goBackInHistory:function(){this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.backButtonClicked||a.history.back())},play:function(){!this.isZoomActive()&&!this.settings.preventSlideshow&&!c.isNothing(this.carousel)&&(!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut(),this.carousel.startSlideshow())},stop:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.stopSlideshow()},previous:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.previous()},next:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.next()},toggleToolbar:function(){this.isZoomActive()||c.isNothing(this.toolbar)||this.toolbar.toggleVisibility(this.currentIndex)},fadeOutToolbarIfVisible:function(){!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.settings.captionAndToolbarAutoHideDelay>0&&this.toolbar.fadeOut()},createZoomPanRotate:function(){this.stop(),this.canUserZoom()&&!this.isZoomActive()&&(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateShow),this.zoomPanRotate=new i.ZoomPanRotateClass(this.settings,this.cache.images[this.currentIndex],this.uiLayer),this.uiLayer.captureSettings.preventDefaultTouchEvents=!0,c.Events.add(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),c.Events.fire(this,j.EventTypes.onZoomPanRotateShow),!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut())},destroyZoomPanRotate:function(){c.isNothing(this.zoomPanRotate)||(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateHide),c.Events.remove(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),this.zoomPanRotate.dispose(),this.zoomPanRotate=null,this.uiLayer.captureSettings.preventDefaultTouchEvents=this.settings.preventDefaultTouchEvents,c.Events.fire(this,j.EventTypes.onZoomPanRotateHide))},canUserZoom:function(){var a;if(c.Browser.msie){if(a=document.createElement("div"),c.isNothing(a.style.msTransform))return!1}else if(!c.Browser.isCSSTransformSupported)return!1;return this.settings.allowUserZoom?this.carousel.isSliding?!1:(a=this.cache.images[this.currentIndex],c.isNothing(a)?!1:a.isLoading?!1:!0):!1},isZoomActive:function(){return!c.isNothing(this.zoomPanRotate)},getCurrentImage:function(){return this.cache.images[this.currentIndex]},onDocumentOverlayFadeIn:function(){a.setTimeout(function(){var b=this.settings.target===a?a.document.body:this.settings.target;c.DOM.removeClass(b,j.CssClasses.buildingBody),c.DOM.addClass(b,j.CssClasses.activeBody),this.addEventHandlers(),this.carousel.show(this.currentIndex),this.uiLayer.show(),this.settings.autoStartSlideshow?this.play():c.isNothing(this.toolbar)||this.toolbar.show(this.currentIndex),c.Events.fire(this,{type:j.EventTypes.onShow,target:this}),this.setUIWebViewResetPositionTimeout()}.bind(this),250)},setUIWebViewResetPositionTimeout:function(){this.settings.enableUIWebViewRepositionTimeout&&c.Browser.iOS&&!c.Browser.safari&&(c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout),this._uiWebViewResetPositionTimeout=a.setTimeout(function(){this.resetPosition(),this.setUIWebViewResetPositionTimeout()}.bind(this),this.settings.uiWebViewResetPositionDelay))},clearUIWebViewResetPositionTimeout:function(){c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout)},onWindowScroll:function(){this.resetPosition()},onWindowOrientationChange:function(){this.resetPosition()},onWindowHashChange:function(){a.location.hash!=="#"+(this.settings.jQueryMobile?this.settings.jQueryMobileDialogHash:this.currentHistoryHashValue)&&(this.backButtonClicked=!0,this.hide())},onKeyDown:function(a){a.keyCode===37?(a.preventDefault(),this.previous()):a.keyCode===39?(a.preventDefault(),this.next()):a.keyCode===38||a.keyCode===40?a.preventDefault():a.keyCode===27?(a.preventDefault(),this.hide()):a.keyCode===32?(this.settings.hideToolbar?this.hide():this.toggleToolbar(),a.preventDefault()):a.keyCode===13&&(a.preventDefault(),this.play())},onUILayerTouch:function(b){if(this.isZoomActive())switch(b.action){case c.TouchElement.ActionTypes.gestureChange:this.zoomPanRotate.zoomRotate(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.gestureEnd:this.zoomPanRotate.setStartingScaleAndRotation(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.touchStart:this.zoomPanRotate.panStart(b.point);break;case c.TouchElement.ActionTypes.touchMove:this.zoomPanRotate.pan(b.point);break;case c.TouchElement.ActionTypes.doubleTap:this.destroyZoomPanRotate(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeLeft:this.destroyZoomPanRotate(),this.next(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeRight:this.destroyZoomPanRotate(),this.previous(),this.toggleToolbar()}else switch(b.action){case c.TouchElement.ActionTypes.touchMove:case c.TouchElement.ActionTypes.swipeLeft:case c.TouchElement.ActionTypes.swipeRight:this.fadeOutToolbarIfVisible(),this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.touchStart:case c.TouchElement.ActionTypes.touchMoveEnd:this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.tap:this.toggleToolbar();break;case c.TouchElement.ActionTypes.doubleTap:this.settings.target===a&&(b.point.x-=c.DOM.windowScrollLeft(),b.point.y-=c.DOM.windowScrollTop());var d=this.cache.images[this.currentIndex].imageEl,e=a.parseInt(c.DOM.getStyle(d,"top"),10),f=a.parseInt(c.DOM.getStyle(d,"left"),10),g=f+c.DOM.width(d),d=e+c.DOM.height(d);b.point.xg&&(b.point.x=g),b.point.yd&&(b.point.y=d),this.createZoomPanRotate(),this.isZoomActive()&&this.zoomPanRotate.zoomAndPanToPoint(this.settings.doubleTapZoomLevel,b.point);break;case c.TouchElement.ActionTypes.gestureStart:this.createZoomPanRotate()}c.Events.fire(this,{type:j.EventTypes.onTouch,target:this,point:b.point,action:b.action})},onCarouselSlideByEnd:function(a){this.currentIndex=a.cacheIndex,c.isNothing(this.toolbar)||(this.toolbar.setCaption(this.currentIndex),this.toolbar.setToolbarStatus(this.currentIndex)),c.Events.fire(this,{type:j.EventTypes.onDisplayImage,target:this,action:a.action,index:a.cacheIndex})},onToolbarTap:function(a){switch(a.action){case g.ToolbarAction.next:this.next();break;case g.ToolbarAction.previous:this.previous();break;case g.ToolbarAction.close:this.hide();break;case g.ToolbarAction.play:this.play()}c.Events.fire(this,{type:j.EventTypes.onToolbarTap,target:this,toolbarAction:a.action,tapTarget:a.tapTarget})},onMouseWheel:function(a){var b=c.Events.getWheelDelta(a);a.timeStamp-(this.mouseWheelStartTime||0)0&&this.previous())},onCarouselSlideshowStart:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStart,target:this})},onCarouselSlideshowStop:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStop,target:this})},onToolbarBeforeShow:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarShow,target:this})},onToolbarShow:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarShow,target:this})},onToolbarBeforeHide:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarHide,target:this})},onToolbarHide:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarHide,target:this})},onZoomPanRotateTransform:function(a){c.Events.fire(this,{target:this,type:j.EventTypes.onZoomPanRotateTransform,scale:a.scale,rotation:a.rotation,rotationDegs:a.rotationDegs,translateX:a.translateX,translateY:a.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),define("vendor/photoswipe",function(){}),1,function(){var a;typeof Joshfire=="undefined"&&(Joshfire={}),a={version:[0,9,3],onReady:function(a){a()},adapter:"tv",adapterModules:{android:["app","dependencies.json","inputs/touch","ui/toolbar","uielements/list","uielements/panel","uielements/video.mediaelement","vendor/iscroll"],browser:["app","inputs/http","inputs/keyboard","inputs/mouse","uielement","uielements/list","uielements/mediacontrols","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","uielements/video.popup","uielements/video.youtube.swf","utils/activitymonitor","utils/datasource","utils/dollar","utils/localstorage","utils/navigation","utils/onready","utils/stresstest"],googletv:["dependencies.json","inputs/keyboard","ui/videoplayer","uielement"],ios:["dependencies.json"],lgtv:["dependencies.json","ui/videoplayer","uielement","utils/dollar"],node:["app.factory","app","class","global.exec","inputs/http","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","utils/datasource","utils/dollar","utils/eventsocket","utils/templatecompiler.cli","utils/templatecompiler","vendor/json2","view"],none:[],philips:["dependencies.json","ui/videoplayer","uielement","uielements/list","uielements/video.mediaelement","utils/dollar","utils/stresstest"],phone:["collection","ui/toolbar","uielement","utils/dollar","utils/onready"],qt4:[],samsungtv:["dependencies.json","inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready","utils/widgetapi","view"],tv:["inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready"]},adapterDeps:[],debug:!1,path:(Joshfire.framework||{}).path||"joshfire"};if(typeof document!="undefined"){var b=document.getElementsByTagName("script"),c,d=new RegExp("^(.*)/adapters/"+a.adapter+"/bootstrap.js$");for(var e=b.length-1;e>=0;e--)c=d.exec(b[e].getAttribute("src")),c&&(a.path=c[1])}typeof require!="undefined"&&require.config&&require.config({paths:{"joshfire-framework":a.path},urlArgs:Joshfire.debug?"bust="+(new Date).getTime():""}),Joshfire.framework=a,typeof module!="undefined"&&module.exports&&(module.exports.JoshfireFramework=a)}.call(this),define("joshlib",{normalize:function(a,b){var c=[Joshfire.framework.adapter].concat(Joshfire.framework.adapterDeps),d=Joshfire.framework.adapterModules,e="joshfire-framework/";if(a.substring(0,14)=="adapters/none/")return e+a.substring(14);if(a.substring(0,9)=="adapters/")return e+a;for(var f=0;f=0===c})}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function bj(a,b){if(b.nodeType!==1||!f.hasData(a))return;var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d0){if(c!=="border")for(;g").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(e.isReady)return;try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};return e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(a==="body"&&!d&&c.body)return this.context=c,this[0]=c.body,this.selector=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?g=[null,a,null]:g=i.exec(a);if(g&&(g[1]||!d)){if(g[1])return d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes),e.merge(this,a);h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}return this.context=c,this.selector=a,this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}return e.isFunction(a)?f.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),e.makeArray(a,this))},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();return e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return e.each(this,a,b)},ready:function(a){return e.bindReady(),A.add(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(A)return;A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}var b=i.call(arguments,0),c=0,d=b.length,e=new Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
    a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;return k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];if(!r)return;j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
    "+""+"
    ",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
    t
    ",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
    ",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i)}),b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?f.cache[a[f.expando]]:a[f.expando],!!a&&!m(a)},data:function(a,c,d,e){if(!f.acceptData(a))return;var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);return g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d),o&&!h[c]?g.events:(k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h,i)},removeData:function(a,b,c){if(!f.acceptData(a))return;var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];if(!arguments.length){if(g)return c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type],c&&"get"in c&&(d=c.get(g,"value"))!==b?d:(d=g.value,typeof d=="string"?d.replace(q,""):d==null?"":d);return}return e=f.isFunction(a),this.each(function(d){var g=f(this),h;if(this.nodeType!==1)return;e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!a||j===3||j===8||j===2)return;if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}return h&&"set"in h&&i&&(g=h.set(a,d,c))!==b?g:(a.setAttribute(c,""+d),d)}return h&&"get"in h&&i&&(g=h.get(a,c))!==null?g:(g=a.getAttribute(c),g===null?b:g)},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);return b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)")),b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))return;d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f=="undefined"||!!a&&f.event.triggered===a.type?b:f.event.dispatch.apply(i.elem,arguments)},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function w(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){return i=!1,0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length!==1||w[0]!=="~"&&w[0]!=="+"||!d.parentNode?d:d.parentNode,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);return l&&(m(l,h,e,f),m.uniqueSort(e)),e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);return a[0]=e++,a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");return!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" "),a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);return d||e.push.apply(e,g),!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){return a.unshift(!0),a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){return a=Array.prototype.slice.call(a,0),b?(b.push.apply(b,a),b):a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(b.querySelectorAll&&b.querySelectorAll(".TEST").length===0)return;m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!a.getElementsByClassName||a.getElementsByClassName("e").length===0)return;a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}return c=c.length>1?f.unique(c):c,this.pushStack(c,"closest",a)},index:function(a){return a?typeof a=="string"?f.inArray(this[0],f(a)):f.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);return L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse()),this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){return f.isFunction(a)?this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))}):typeof a!="object"&&a!==b?this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a)):f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return f.isFunction(a)?this.each(function(b){f(this).wrapInner(a.call(this,b))}):this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);return a.push.apply(a,this.toArray()),this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);return a.push.apply(a,f.clean(arguments)),a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}return d=e=null,h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;return f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight}),c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;return b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;return f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d)),f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;return f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}}),this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){return f.isFunction(d)&&(g=g||e,e=d,d=b),f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b),a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s===2)return;s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return s||(d.mimeType=a),this},abort:function(a){return a=a||"abort",p&&p.abort(a),w(0,a),this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(!d.beforeSend||d.beforeSend.call(e,v,d)!==!1&&s!==2){for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v}return v.abort(),!1},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";return b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){return g||f.error(h+" was not called"),g[0]},b.dataTypes[0]="json","script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return f.globalEval(a),a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}return i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update(),!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;return c===b?(e=this[0],e?(g=cy(e),g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]):null):this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("joshfire-framework/vendor/jquery",[],function(){return f})}(window),define("joshfire-framework/adapters/tv/utils/dollar",["joshlib!vendor/jquery"],function(a){return a}),function(a){var b=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a},c=function(a){if(a["@type"]==="VideoObject"||a["@type"]==="AudioObject")return a;var b=null;switch(a["@type"]){case"MusicRecording":b=["audio","associatedMedia","video"];break;default:b=["video","associatedMedia","audio"]}for(var c=0,d=b.length;cc.width+1?c.height=e.height:e.width';for(var e=0;e'}d+="",typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),h=e.extend({initialize:function(a){this.sources=a.sources,this.poster=a.poster||"",this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},addPolyFill:function(){var a=document.getElementsByTagName("body")[0],b=document.createElement("link"),c=document.createElement("script");b.setAttribute("href","http://vjs.zencdn.net/c/video-js.css"),b.setAttribute("rel","stylesheet"),c.setAttribute("src","http://vjs.zencdn.net/c/video.js"),a.appendChild(b),a.appendChild(c)},toHtml:function(a){var b=this.poster?' poster="'+this.poster+'"':"",c=this.autoPlay?" autoplay":"",d='",typeof window!="undefined"&&typeof window.VideoJS=="undefined"&&this.addPolyFill(),typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),i=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||40,this.autoPlay=a.autoPlay||!1},iCanHazAudioTag:function(a){if(!document)return!1;var b=document.createElement("audio");return b.canPlayType},toHtml:function(a){var b="";if(this.sources&&this.sources.length){for(var c=0;c";break}b||(b='Play')}typeof a=="function"&&a(null,b,{})}}),j=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},toHtml:function(a){var b="mediaplayerlib-mediaelement-video-"+j.nextId++,c=this.poster?' poster="'+this.poster+'"':"",d=this.autoPlay?" autoplay":"",e='",e+="",typeof a=="function"&&a(null,e,{width:this.width,height:this.height})}});j.nextId=0;var k=e.extend({initialize:function(a){this.options=a},toHtml:function(b){var c=null;for(var d=0;d';typeof a=="function"&&a(null,b,{width:this.width,height:this.height})}}),m=e.extend({initialize:function(a){this.url=a.url,this.publisher=a.publisher,this.width=a.width||500,this.height=a.height||281},toHtml:function(a){var b=this.url||"",c="",d="",e=function(){var a=function(){return((1+Math.random())*65536|0).toString(16).substring(1)};return"mediaplayerlib-"+a()+a()+a()};d=e(),this.publisher==="Ooyala"?(b+=(b.indexOf("?")===-1?"?":"&")+"width="+encodeURIComponent(this.width)+"&height="+encodeURIComponent(this.height),c='
    '+'"+''):c='',typeof a=="function"&&a(null,c,{width:this.width,height:this.height})}}),n=e.extend({toHtml:function(a){typeof a=="function"&&a(new Error("Unknown media type."),"Unknown media type.")}}),o=function(){};b(o.prototype,{execute:function(a,b){return new n(b)}}),o.extend=function(a){var c=function(a){o.call(this,a)};return b(c.prototype,a),c};var p=o.extend({execute:function(a,e){var f,g=c(a)||{},i=d(g,e);b(e,i);if(g["@type"]==="VideoObject")if(g.playerType==="iframe")b(e,{url:g.embedURL}),f=new l(e);else if(g.playerType==="script")b(e,{url:g.embedURL,publisher:g.publisher?g.publisher.name:null}),f=new m(e);else if(g.contentURL){var j=null;g.image&&g.image.contentURL&&(j=g.image.contentURL),b(e,{poster:j,sources:[g.contentURL]}),f=new h(e)}return f||new n}}),q=o.extend({execute:function(a,e){var f,h=c(a)||{},j=d(h,e);b(e,j);if(h.playerType==="iframe")b(e,{url:h.embedURL,html5:!0}),f=new l(e);else if(h.playerType==="script")b(e,{url:h.embedURL,html5:!0,publisher:h.publisher?h.publisher.name:null}),f=new m(e);else if(h["@type"]==="VideoObject"){if(h.contentURL){var k=null;h.image&&(k=h.image.contentURL),b(e,{poster:k,sources:[h.contentURL]}),f=new g(e)}}else h["@type"]==="AudioObject"&&h.contentURL&&(b(e,{sources:[h.contentURL]}),f=new i(e));return f}}),r=o.extend({execute:function(a,e){var f=c(a)||{},g=d(f,e);b(e,g);var h;if(a["@type"]==="VideoObject"){if(typeof a.contentURL!="undefined"){var i=null;f.image&&(i=f.image.contentURL),b(e,{poster:i,sources:[a.contentURL]}),h=new j(e)}}else a["@type"]==="AudioObject"&&typeof a.contentURL!="undefined"&&b(e,{sources:[a.contentURL]});return h}}),s=o.extend({execute:function(a,c){var d;return typeof a.url!="undefined"&&(b(c,{url:a.url}),d=new k(c)),d}}),t=function(){this.strategies={def:new p,html5:new q,mediaElement:new r,oembed:new s}};b(t.prototype,{resolve:function(a,b){b=b||{};var c;if(typeof b.strategy!="undefined"&&typeof this.strategies[b.strategy]!="undefined"){var d=this.strategies[b.strategy];c=d.execute(a,b)}return c||this.strategies.def.execute(a,b)},insertFragment:function(a,b){function d(a,b){b(a);for(var c in a.childNodes)d(a.childNodes[c],b)}function e(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()}function f(a){var b=a.text||a.textContent||a.innerHTML||"",c=a.getAttribute("src"),d=document.getElementsByTagName("head")[0]||document.documentElement,e=document.createElement("script");e.type="text/javascript",c&&e.setAttribute("src",c),b&&e.appendChild(document.createTextNode(b)),d.insertBefore(e,d.firstChild),a.parentNode&&a.parentNode.removeChild(a)}var c=null;Object.prototype.toString.call(b)==="[object String]"?c=document.getElementById(b):c=b,c.innerHTML=(""+a).trim();var g=[],h=null;d(c,function(a){a.nodeName&&a.nodeName.toUpperCase()==="SCRIPT"&&(!a.type||a.type==="text/javascript")&&g.push(a)});for(h in g)f(g[h])},insert:function(a,b,c,d){var e=this,f=this.resolve(a,b).toHtml(function(a,b){e.insertFragment(b,c),typeof d=="function"&&d(null)})}}),typeof Joshfire!="undefined"&&typeof Joshfire.define!="undefined"?Joshfire.define([],function(){return new t}):typeof define!="undefined"?define("joshfire-framework/utils/mediaplayerlib",[],function(){return new t}):a.mediaFactory=new t}(typeof module!="undefined"?module.exports:window),define("joshfire-framework/vendor/underscore",[],function(){return function(){function A(a,b,c){if(a===b)return a!==0||1/a==1/b;if(a==null||b==null)return a===b;a._chain&&(a=a._wrapped),b._chain&&(b=b._wrapped);if(a.isEqual&&w.isFunction(a.isEqual))return a.isEqual(b);if(b.isEqual&&w.isFunction(b.isEqual))return b.isEqual(a);var d=i.call(a);if(d!=i.call(b))return!1;switch(d){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:a==0?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if(typeof a!="object"||typeof b!="object")return!1;var e=c.length;while(e--)if(c[e]==a)return!0;c.push(a);var f=0,g=!0;if(d=="[object Array]"){f=a.length,g=f==b.length;if(g)while(f--)if(!(g=f in a==f in b&&A(a[f],b[f],c)))break}else{if("constructor"in a!="constructor"in b||a.constructor!=b.constructor)return!1;for(var h in a)if(w.has(a,h)){f++;if(!(g=w.has(b,h)&&A(a[h],b[h],c)))break}if(g){for(h in b)if(w.has(b,h)&&!(f--))break;g=!f}}return c.pop(),g}var a=this,b=a._,c={},d=Array.prototype,e=Object.prototype,f=Function.prototype,g=d.slice,h=d.unshift,i=e.toString,j=e.hasOwnProperty,k=d.forEach,l=d.map,m=d.reduce,n=d.reduceRight,o=d.filter,p=d.every,q=d.some,r=d.indexOf,s=d.lastIndexOf,t=Array.isArray,u=Object.keys,v=f.bind,w=function(a){return new I(a)};typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=w),exports._=w):a._=w,w.VERSION="1.3.3";var x=w.each=w.forEach=function(a,b,d){if(a==null)return;if(k&&a.forEach===k)a.forEach(b,d);else if(a.length===+a.length){for(var e=0,f=a.length;e2;a==null&&(a=[]);if(m&&a.reduce===m)return d&&(b=w.bind(b,d)),e?a.reduce(b,c):a.reduce(b);x(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)});if(!e)throw new TypeError("Reduce of empty array with no initial value");return c},w.reduceRight=w.foldr=function(a,b,c,d){var e=arguments.length>2;a==null&&(a=[]);if(n&&a.reduceRight===n)return d&&(b=w.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=w.toArray(a).reverse();return d&&!e&&(b=w.bind(b,d)),e?w.reduce(f,b,c,d):w.reduce(f,b)},w.find=w.detect=function(a,b,c){var d;return y(a,function(a,e,f){if(b.call(c,a,e,f))return d=a,!0}),d},w.filter=w.select=function(a,b,c){var d=[];return a==null?d:o&&a.filter===o?a.filter(b,c):(x(a,function(a,e,f){b.call(c,a,e,f)&&(d[d.length]=a)}),d)},w.reject=function(a,b,c){var d=[];return a==null?d:(x(a,function(a,e,f){b.call(c,a,e,f)||(d[d.length]=a)}),d)},w.every=w.all=function(a,b,d){var e=!0;return a==null?e:p&&a.every===p?a.every(b,d):(x(a,function(a,f,g){if(!(e=e&&b.call(d,a,f,g)))return c}),!!e)};var y=w.some=w.any=function(a,b,d){b||(b=w.identity);var e=!1;return a==null?e:q&&a.some===q?a.some(b,d):(x(a,function(a,f,g){if(e||(e=b.call(d,a,f,g)))return c}),!!e)};w.include=w.contains=function(a,b){var c=!1;return a==null?c:r&&a.indexOf===r?a.indexOf(b)!=-1:(c=y(a,function(a){return a===b}),c)},w.invoke=function(a,b){var c=g.call(arguments,2);return w.map(a,function(a){return(w.isFunction(b)?b||a:a[b]).apply(a,c)})},w.pluck=function(a,b){return w.map(a,function(a){return a[b]})},w.max=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.max.apply(Math,a);if(!b&&w.isEmpty(a))return-Infinity;var d={computed:-Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>=d.computed&&(d={value:a,computed:g})}),d.value},w.min=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.min.apply(Math,a);if(!b&&w.isEmpty(a))return Infinity;var d={computed:Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;gd?1:0}),"value")},w.groupBy=function(a,b){var c={},d=w.isFunction(b)?b:function(a){return a[b]};return x(a,function(a,b){var e=d(a,b);(c[e]||(c[e]=[])).push(a)}),c},w.sortedIndex=function(a,b,c){c||(c=w.identity);var d=0,e=a.length;while(d>1;c(a[f])=0})})},w.difference=function(a){var b=w.flatten(g.call(arguments,1),!0);return w.filter(a,function(a){return!w.include(b,a)})},w.zip=function(){var a=g.call(arguments),b=w.max(w.pluck(a,"length")),c=new Array(b);for(var d=0;d=0;c--)b=[a[c].apply(this,b)];return b[0]}},w.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}},w.keys=u||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)w.has(a,c)&&(b[b.length]=c);return b},w.values=function(a){return w.map(a,w.identity)},w.functions=w.methods=function(a){var b=[];for(var c in a)w.isFunction(a[c])&&b.push(c);return b.sort()},w.extend=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a},w.pick=function(a){var b={};return x(w.flatten(g.call(arguments,1)),function(c){c in a&&(b[c]=a[c])}),b},w.defaults=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]==null&&(a[c]=b[c])}),a},w.clone=function(a){return w.isObject(a)?w.isArray(a)?a.slice():w.extend({},a):a},w.tap=function(a,b){return b(a),a},w.isEqual=function(a,b){return A(a,b,[])},w.isEmpty=function(a){if(a==null)return!0;if(w.isArray(a)||w.isString(a))return a.length===0;for(var b in a)if(w.has(a,b))return!1;return!0},w.isElement=function(a){return!!a&&a.nodeType==1},w.isArray=t||function(a){return i.call(a)=="[object Array]"},w.isObject=function(a){return a===Object(a)},w.isArguments=function(a){return i.call(a)=="[object Arguments]"},w.isArguments(arguments)||(w.isArguments=function(a){return!!a&&!!w.has(a,"callee")}),w.isFunction=function(a){return i.call(a)=="[object Function]"},w.isString=function(a){return i.call(a)=="[object String]"},w.isNumber=function(a){return i.call(a)=="[object Number]"},w.isFinite=function(a){return w.isNumber(a)&&isFinite(a)},w.isNaN=function(a){return a!==a},w.isBoolean=function(a){return a===!0||a===!1||i.call(a)=="[object Boolean]"},w.isDate=function(a){return i.call(a)=="[object Date]"},w.isRegExp=function(a){return i.call(a)=="[object RegExp]"},w.isNull=function(a){return a===null},w.isUndefined=function(a){return a===void 0},w.has=function(a,b){return j.call(a,b)},w.noConflict=function(){return a._=b,this},w.identity=function(a){return a},w.times=function(a,b,c){for(var d=0;d/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},w.result=function(a,b){if(a==null)return null;var c=a[b];return w.isFunction(c)?c.call(a):c},w.mixin=function(a){x(w.functions(a),function(b){K(b,w[b]=a[b])})};var B=0;w.uniqueId=function(a){var b=B++;return a?a+b:b},w.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var C=/.^/,D={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"};for(var E in D)D[D[E]]=E;var F=/\\|'|\r|\n|\t|\u2028|\u2029/g,G=/\\(\\|'|r|n|t|u2028|u2029)/g,H=function(a){return a.replace(G,function(a,b){return D[b]})};w.template=function(a,b,c){c=w.defaults(c||{},w.templateSettings);var d="__p+='"+a.replace(F,function(a){return"\\"+D[a]}).replace(c.escape||C,function(a,b){return"'+\n_.escape("+H(b)+")+\n'"}).replace(c.interpolate||C,function(a,b){return"'+\n("+H(b)+")+\n'"}).replace(c.evaluate||C,function(a,b){return"';\n"+H(b)+"\n;__p+='"})+"';\n";c.variable||(d="with(obj||{}){\n"+d+"}\n"),d="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+d+"return __p;\n";var e=new Function(c.variable||"obj","_",d);if(b)return e(b,w);var f=function(a){return e.call(this,a,w)};return f.source="function("+(c.variable||"obj")+"){\n"+d+"}",f},w.chain=function(a){return w(a).chain()};var I=function(a){this._wrapped=a};w.prototype=I.prototype;var J=function(a,b){return b?w(a).chain():a},K=function(a,b){I.prototype[a]=function(){var a=g.call(arguments);return h.call(a,this._wrapped),J(b.apply(w,a),this._chain)}};w.mixin(w),x(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=d[a];I.prototype[a]=function(){var c=this._wrapped;b.apply(c,arguments);var d=c.length;return(a=="shift"||a=="splice")&&d===0&&delete c[0],J(c,this._chain)}}),x(["concat","join","slice"],function(a){var b=d[a];I.prototype[a]=function(){return J(b.apply(this._wrapped,arguments),this._chain)}}),I.prototype.chain=function(){return this._chain=!0,this},I.prototype.value=function(){return this._wrapped}}.call(this),typeof exports!="undefined"?typeof module!="undefined"&&module.exports?exports:exports._:this._}),define("joshfire-framework/vendor/backbone",["joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b){return function(){var c=this,d=c.Backbone,e=Array.prototype.slice,f=Array.prototype.splice,g;typeof exports!="undefined"?g=exports:g=c.Backbone={},g.VERSION="0.9.2",g.setDomLibrary=function(a){b=a},g.noConflict=function(){return c.Backbone=d,this},g.emulateHTTP=!1,g.emulateJSON=!1;var h=/\s+/,i=g.Events={on:function(a,b,c){var d,e,f,g,i;if(!b)return this;a=a.split(h),d=this._callbacks||(this._callbacks={});while(e=a.shift())i=d[e],f=i?i.tail:{},f.next=g={},f.context=c,f.callback=b,d[e]={tail:g,next:i?i.next:f};return this},off:function(b,c,d){var e,f,g,i,j,k;if(!(f=this._callbacks))return;if(!(b||c||d))return delete this._callbacks,this;b=b?b.split(h):a.keys(f);while(e=b.shift()){g=f[e],delete f[e];if(!g||!c&&!d)continue;i=g.tail;while((g=g.next)!==i)j=g.callback,k=g.context,(c&&j!==c||d&&k!==d)&&this.on(e,j,k)}return this},trigger:function(a){var b,c,d,f,g,i,j;if(!(d=this._callbacks))return this;i=d.all,a=a.split(h),j=e.call(arguments,1);while(b=a.shift()){if(c=d[b]){f=c.tail;while((c=c.next)!==f)c.callback.apply(c.context||this,j)}if(c=i){f=c.tail,g=[b].concat(j);while((c=c.next)!==f)c.callback.apply(c.context||this,g)}}return this}};i.bind=i.on,i.unbind=i.off;var j=g.Model=function(b,c){var d;b||(b={}),c&&c.parse&&(b=this.parse(b));if(d=A(this,"defaults"))b=a.extend({},d,b);c&&c.collection&&(this.collection=c.collection),this.attributes={},this._escapedAttributes={},this.cid=a.uniqueId("c"),this.changed={},this._silent={},this._pending={},this.set(b,{silent:!0}),this.changed={},this._silent={},this._pending={},this._previousAttributes=a.clone(this.attributes),this.initialize.apply(this,arguments)};a.extend(j.prototype,i,{changed:null,_silent:null,_pending:null,idAttribute:"id",initialize:function(){},toJSON:function(b){return a.clone(this.attributes)},get:function(a){return this.attributes[a]},escape:function(b){var c;if(c=this._escapedAttributes[b])return c;var d=this.get(b);return this._escapedAttributes[b]=a.escape(d==null?"":""+d)},has:function(a){return this.get(a)!=null},set:function(b,c,d){var e,f,g;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d||(d={});if(!e)return this;e instanceof j&&(e=e.attributes);if(d.unset)for(f in e)e[f]=void 0;if(!this._validate(e,d))return!1;this.idAttribute in e&&(this.id=e[this.idAttribute]);var h=d.changes={},i=this.attributes,k=this._escapedAttributes,l=this._previousAttributes||{};for(f in e){g=e[f];if(!a.isEqual(i[f],g)||d.unset&&a.has(i,f))delete k[f],(d.silent?this._silent:h)[f]=!0;d.unset?delete i[f]:i[f]=g,!a.isEqual(l[f],g)||a.has(i,f)!=a.has(l,f)?(this.changed[f]=g,d.silent||(this._pending[f]=!0)):(delete this.changed[f],delete this._pending[f])}return d.silent||this.change(d),this},unset:function(a,b){return(b||(b={})).unset=!0,this.set(a,null,b)},clear:function(b){return(b||(b={})).unset=!0,this.set(a.clone(this.attributes),b)},fetch:function(b){b=b?a.clone(b):{};var c=this,d=b.success;return b.success=function(a,e,f){if(!c.set(c.parse(a,f),b))return!1;d&&d(c,a)},b.error=g.wrapError(b.error,c,b),(this.sync||g.sync).call(this,"read",this,b)},save:function(b,c,d){var e,f;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d=d?a.clone(d):{};if(d.wait){if(!this._validate(e,d))return!1;f=a.clone(this.attributes)}var h=a.extend({},d,{silent:!0});if(e&&!this.set(e,d.wait?h:d))return!1;var i=this,j=d.success;d.success=function(b,c,f){var g=i.parse(b,f);d.wait&&(delete d.wait,g=a.extend(e||{},g));if(!i.set(g,d))return!1;j?j(i,b):i.trigger("sync",i,b,d)},d.error=g.wrapError(d.error,i,d);var k=this.isNew()?"create":"update",l=(this.sync||g.sync).call(this,k,this,d);return d.wait&&this.set(f,h),l},destroy:function(b){b=b?a.clone(b):{};var c=this,d=b.success,e=function(){c.trigger("destroy",c,c.collection,b)};if(this.isNew())return e(),!1;b.success=function(a){b.wait&&e(),d?d(c,a):c.trigger("sync",c,a,b)},b.error=g.wrapError(b.error,c,b);var f=(this.sync||g.sync).call(this,"delete",this,b);return b.wait||e(),f},url:function(){var a=A(this,"urlRoot")||A(this.collection,"url")||B();return this.isNew()?a:a+(a.charAt(a.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},parse:function(a,b){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},change:function(b){b||(b={});var c=this._changing;this._changing=!0;for(var d in this._silent)this._pending[d]=!0;var e=a.extend({},b.changes,this._silent);this._silent={};for(var d in e)this.trigger("change:"+d,this,this.get(d),b);if(c)return this;while(!a.isEmpty(this._pending)){this._pending={},this.trigger("change",this,b);for(var d in this.changed){if(this._pending[d]||this._silent[d])continue;delete this.changed[d]}this._previousAttributes=a.clone(this.attributes)}return this._changing=!1,this},hasChanged:function(b){return arguments.length?a.has(this.changed,b):!a.isEmpty(this.changed)},changedAttributes:function(b){if(!b)return this.hasChanged()?a.clone(this.changed):!1;var c,d=!1,e=this._previousAttributes;for(var f in b){if(a.isEqual(e[f],c=b[f]))continue;(d||(d={}))[f]=c}return d},previous:function(a){return!arguments.length||!this._previousAttributes?null:this._previousAttributes[a]},previousAttributes:function(){return a.clone(this._previousAttributes)},isValid:function(){return!this.validate(this.attributes)},_validate:function(b,c){if(c.silent||!this.validate)return!0;b=a.extend({},this.attributes,b);var d=this.validate(b,c);return d?(c&&c.error?c.error(this,d,c):this.trigger("error",this,d,c),!1):!0}});var k=g.Collection=function(a,b){b||(b={}),b.model&&(this.model=b.model),b.comparator&&(this.comparator=b.comparator),this._reset(),this.initialize.apply(this,arguments),a&&this.reset(a,{silent:!0,parse:b.parse})};a.extend(k.prototype,i,{model:j,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},add:function(b,c){var d,e,g,h,i,j,k={},l={},m=[];c||(c={}),b=a.isArray(b)?b.slice():[b];for(d=0,g=b.length;d').hide().appendTo("body")[0].contentWindow,this.navigate(d)),this._hasPushState?b(window).bind("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!f?b(window).bind("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=d;var g=window.location,h=g.pathname==this.options.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!h)return this.fragment=this.getFragment(null,!0),window.location.replace(this.options.root+"#"+this.fragment),!0;this._wantsPushState&&this._hasPushState&&h&&g.hash&&(this.fragment=this.getHash().replace(r,""),window.history.replaceState({},document.title,g.protocol+"//"+g.host+this.options.root+this.fragment));if(!this.options.silent)return this.loadUrl()},stop:function(){b(window).unbind("popstate",this.checkUrl).unbind("hashchange",this.checkUrl),clearInterval(this._checkUrlInterval),q.started=!1},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(a){var b=this.getFragment();b==this.fragment&&this.iframe&&(b=this.getFragment(this.getHash(this.iframe)));if(b==this.fragment)return!1;this.iframe&&this.navigate(b),this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(b){var c=this.fragment=this.getFragment(b),d=a.any(this.handlers,function(a){if(a.route.test(c))return a.callback(c),!0});return d},navigate:function(a,b){if(!q.started)return!1;if(!b||b===!0)b={trigger:b};var c=(a||"").replace(r,"");if(this.fragment==c)return;this._hasPushState?(c.indexOf(this.options.root)!=0&&(c=this.options.root+c),this.fragment=c,window.history[b.replace?"replaceState":"pushState"]({},document.title,c)):this._wantsHashChange?(this.fragment=c,this._updateHash(window.location,c,b.replace),this.iframe&&c!=this.getFragment(this.getHash(this.iframe))&&(b.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,c,b.replace))):window.location.assign(this.options.root+a),b.trigger&&this.loadUrl(a)},_updateHash:function(a,b,c){c?a.replace(a.toString().replace(/(javascript:|#).*$/,"")+"#"+b):a.hash=b}});var t=g.View=function(b){this.cid=a.uniqueId("view"),this._configure(b||{}),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},u=/^(\S+)\s*(.*)$/,v=["model","collection","el","id","attributes","className","tagName"];a.extend(t.prototype,i,{tagName:"div",$:function(a){return this.$el.find(a)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this},make:function(a,c,d){var e=document.createElement(a);return c&&b(e).attr(c),d&&b(e).html(d),e},setElement:function(a,c){return this.$el&&this.undelegateEvents(),this.$el=a instanceof b?a:b(a),this.el=this.$el[0],c!==!1&&this.delegateEvents(),this},delegateEvents:function(b){if(!b&&!(b=A(this,"events")))return;this.undelegateEvents();for(var c in b){var d=b[c];a.isFunction(d)||(d=this[b[c]]);if(!d)throw new Error('Method "'+b[c]+'" does not exist');var e=c.match(u),f=e[1],g=e[2];d=a.bind(d,this),f+=".delegateEvents"+this.cid,g===""?this.$el.bind(f,d):this.$el.delegate(g,f,d)}},undelegateEvents:function(){this.$el.unbind(".delegateEvents"+this.cid)},_configure:function(b){this.options&&(b=a.extend({},this.options,b));for(var c=0,d=v.length;c/g,">").replace(/"+a+"
    ";var c="<"+this.el.nodeName.toLowerCase();for(var d=0;d",c},hide:function(){c(this.el).hide(),this.trigger("hidden")},show:function(){c(this.el).show(),this.trigger("shown")},enhance:function(){this.customLoadEvent||this.trigger("load"),this.loadingClass&&c(this.el)&&(c(this.el).addClass(this.loadingClass),this.unbind("load",this.removeLoadingClass,this),this.bind("load",this.removeLoadingClass,this))},removeLoadingClass:function(){c(this.el).removeClass(this.loadingClass)}});return d}),define("joshfire-framework/uielement",["joshlib!view"],function(a){var b=a.extend({});return b}),define("joshfire-framework/adapters/tv/uielement",["joshlib!adapters/none/uielement","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c){var d=a.extend({initialize:function(c){a.prototype.initialize.call(this,c),b.bindAll(this,"navFocus","navBlur","processKey"),this.focused=!1;if(c){var d=["navUp","navRight","navDown","navLeft","navAction","navFocus","navBlur"];for(index in d)c[d[index]]&&(this[d[index]]=c[d[index]]);this.scroller=c.scroller||!1,this.offsetTop=c.offsetTop||0,this.offsetBottom=c.offsetBottom||0}},enhance:function(){if(this.scroller){var a=c(this.el),b=a.children().first(),d=0;this.navDown=function(){var c=a.height(),e=b.height();if(e<%= children %>"),this.UIItemClass=f.UIItemClass||b,this.itemOptions=f.itemOptions||{scroller:!1},this.itemTemplateEl=f.itemTemplateEl,this.itemOptions.templateEl=this.itemOptions.templateEl||this.itemTemplateEl,this.itemOptions.template=this.itemOptions.template||f.itemTemplate,this.contentSelector=f.contentSelector,this.items=[],this.itemFactory=f.itemFactory||function(a,b){var d={model:a,offset:b};return e.extend(d,this.itemOptions),new c(d)},this.customLoadEvent=!0,this.dataLoadingClass="loading",typeof f.dataLoadingClass!="undefined"&&(this.dataLoadingClass=f.dataLoadingClass),this.dataLoadingClass===!1&&(this.dataLoadingClass=null),this.bind("shown",function(){e.each(this.items,function(a){a.trigger("shown")})},this),this.bind("hidden",function(){e.each(this.items,function(a){a.trigger("hidden")})},this),a.prototype.initialize.call(this,f),f.collection&&this.setCollection(f.collection)},setCollection:function(a,b){this.collection&&(this.collection.unbind("change",this.update,this),this.collection.unbind("add",this.update,this),this.collection.unbind("remove",this.update,this),this.collection.unbind("reset",this.update,this),this.collection.unbind("syncstarted",this.syncStartedHandler,this),this.collection.unbind("syncsuccess",this.syncSuccessHandler,this),this.collection.unbind("syncerror",this.syncErrorHandler,this)),this.collection=a,a&&(a.bind("change",this.update,this),a.bind("add",this.update,this),a.bind("remove",this.update,this),a.bind("reset",this.update,this),a.bind("syncstarted",this.syncStartedHandler,this),a.bind("syncsuccess",this.syncSuccessHandler,this),a.bind("syncerror",this.syncErrorHandler,this)),this.update(b)},update:function(a){this.items=new Array(this.collection.length),this.itemsLoaded=0;var c=function(){++this.itemsLoaded,this.itemsLoaded===this.items.length&&this.trigger("load")};for(var d=0;dg&&(h=-a*(f-g+e.height())/this.items.length);var i="translate3d(0,"+h+"px,0)";d.css({"-webkit-transform":i,"-moz-transform":i,"-ms-transform":i,"-o-transform":i,transform:i}),f>g?b(this.el).find(".list-indicator").css({top:this.offsetTop+(g-this.offsetTop-this.offsetBottom-e.height())*a/this.items.length}):b(this.el).find(".list-indicator").css({top:this.offsetTop+(f-this.offsetTop-this.offsetBottom)*a/this.items.length})}}});return d}),define("joshfire-framework/adapters/tv/ui/grid",["joshlib!ui/list","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(b){b=b||{},a.prototype.initialize.call(this,b),this.active=-1,this.translateY=0,this.tolerance=b.tolerance||20},enhance:function(){a.prototype.enhance.call(this),this.$lis=this.$("li"),b(window).resize(c.bind(this.resize,this)),this.resize()},resize:function(){this.boundingRects=this.$lis.map(function(a,b){return b.getBoundingClientRect()}),this.leftBounds=this.boundingRects.map(function(a,b){return b.left}),this.rightBounds=this.boundingRects.map(function(a,b){return b.right}),this.topBounds=this.boundingRects.map(function(a,b){return b.top}),this.bottomBounds=this.boundingRects.map(function(a,b){return b.bottom}),this.centers=this.boundingRects.map(function(a,b){return{x:b.left+b.width*.5,y:b.top+b.height*.5}})},activate:function(a){this.$(".nav-active").removeClass("nav-active");var c=b(this.items[a].view.el);c.addClass("nav-active");var d=this.$("ul");this.active=a;var e=this.topBounds[a],f=this.bottomBounds[a],g=b(this.el).height();f+this.translateY>this.el.getBoundingClientRect().bottom?this.translateY=Math.max(g-f-100,-d.height()+g):e+this.translateY<=this.el.getBoundingClientRect().top&&(this.translateY=-e);if(this.translateY){var h="translate3d(0,"+this.translateY+"px,0)";d.css({"-webkit-transform":h,"-moz-transform":h,"-ms-transform":h,"-o-transform":h,transform:h})}},navFocus:function(b){a.prototype.navFocus.call(this,b),this.collection.length&&(this.active===-1?this.activate(0):this.activate(this.active))},navBlur:function(){a.prototype.navBlur.call(this),this.$(".nav-active").removeClass("nav-active")},navRight:function(a){var b=this.rightBounds[this.active],c=this.centers[this.active],d=3e4,e=-1;for(var f=this.leftBounds.length-1;f>=0;f--)if(this.isRight(f)){var g=this.centers[f],h=Math.sqrt(Math.pow(b-this.leftBounds[f],2)+Math.pow(c.y-g.y,2));if(Math.abs(h-d)=0;f--)if(this.isLeft(f)){var g=this.centers[f],h=Math.sqrt(Math.pow(b-this.rightBounds[f],2)+Math.pow(c.y-g.y,2));if(Math.abs(h-d)=0;f--)if(this.isDown(f)){var g=this.centers[f],h=Math.sqrt(Math.pow(c.x-g.x,2)+Math.pow(b-this.topBounds[f],2));if(Math.abs(h-d)=0;f--)if(this.isUp(f)){var g=this.centers[f],h=Math.sqrt(Math.pow(c.x-g.x,2)+Math.pow(b-this.bottomBounds[f],2));if(Math.abs(h-d)=this.rightBounds[this.active]-this.tolerance},isUp:function(a){return this.bottomBounds[a]<=this.topBounds[this.active]+this.tolerance},isDown:function(a){return this.topBounds[a]>=this.bottomBounds[this.active]-this.tolerance}});return d}),define("joshfire-framework/collection",["joshlib!vendor/backbone","joshlib!vendor/underscore"],function(a,b){var c=a.Collection.extend({initialize:function(a,b){this.ds=null,this.dsq={},b=b||{},b.dataSource&&this.setDataSource(b.dataSource),b.dataSourceQuery&&this.setDataSourceQuery(b.dataSourceQuery)},setDataSource:function(a){this.ds=a},setDataSourceQuery:function(a){this.dsq=a},sync:function(a,c,d){d=d||{};var e={};this.dsq&&(e=b.extend(e,this.dsq)),d.dataSourceQuery&&(e=b.extend(e,d.dataSourceQuery)),a==="read"&&(this.trigger("syncstarted",{method:a}),this.ds.find(e,b.bind(function(b,c){if(b){this.trigger("syncerror",{method:a,err:b}),d.error&&d.error(b);return}if(this.ds.children){var e=[];e=Array.prototype.concat.apply(e,c.entries.map(function(a){return a.entries})),d.success&&d.success(e)}else d.success&&d.success(c.entries||[]);this.trigger("syncsuccess",{method:a})},this)))}});return c}),define("joshfire-framework/router",["joshlib!vendor/backbone","joshlib!vendor/underscore"],function(a,b){var c=function(c){b.extend(c,{historyStart:function(b){a.history.start(b)}});var d=a.Router.extend(c);return new d};return c}),define("sleek",["joshlib!collection","joshlib!ui/dynamiccontainer","joshlib!ui/item","joshlib!ui/list","joshlib!ui/cardpanel","joshlib!ui/fadeinpanel","joshlib!ui/factorymedia","joshlib!ui/imageloader","joshlib!ui/imagesloader","joshlib!router","joshlib!vendor/backbone","joshlib!vendor/underscore","joshlib!utils/dollar","ui/imagegallery"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o=function(){l.bindAll(this,"initialize","setColor","slugify")};return o.extend=k.View.extend,l.extend(o.prototype,{deviceFamily:"all",clientWidth:document.body.clientWidth,convertItemType:function(a){var b=null;switch(a){case"Article/Status":b="status";break;case"NewsArticle":case"BlogPosting":case"Article":case"CreativeWork":b="news";break;case"Event":b="event";break;case"ImageObject":b="photo";break;case"VideoObject":b="video";break;case"MusicRecording":b="sound";break;case"Product":b="product";break;default:b="other"}return b},initialize:function(b){var c=this;this.title=Joshfire.factory.config.app.name,this.tabs=Joshfire.factory.config.template.options.tabs||[],this.tabicons=Joshfire.factory.config.template.options.tabicons||[],this.backgroundURL=Joshfire.factory.config.template.options.backgroundimage?Joshfire.factory.config.template.options.backgroundimage.url:Joshfire.factory.config.template.options.backgroundurl,this.logoURL=Joshfire.factory.config.app.logo?Joshfire.factory.config.app.logo.contentURL:null,document.title=this.title,this.setColor(Joshfire.factory.config.template.options.color||"gray",function(){var d=c.getDatasources(),e=new Array(d.length),f=0;l.forEach(d,l.bind(function(b,d){var f=this.tabs[d]||b.name||"",g=this.tabicons[d],h=d+"--"+this.slugify(f.toLowerCase()),i=new a([],{dataSource:b,dataSourceQuery:{}}),j=b.getOutputType();e[d]={name:f,slug:h,icon:g||c.convertItemType(j),outputType:c.convertItemType(j),collection:i,index:d}},c));var g=c.createViews(e),h=c.createRoutes(e,g),i=j(h);i.historyStart(),b&&b()})},getDatasources:function(){var a=Joshfire.factory.getDataSource("main"),b=[];return a&&a.children&&a.children.length>0&&(b=b.concat(a.children)),b},setColor:function(a,b){m("#color").remove(),window.Sid.css("css/"+this.deviceFamily+"."+a+".css",b)},setTitle:function(a){m("#title").html(a)},getClassName:function(a,b){if(b!=="list")return b==="single"?"single content detail":"content detail";switch(a){case"status":case"event":return"content hashed-list";case"photo":return"content mosaic-list";default:return"content simple-list"}},createToolbar:function(a){var b=new k.Collection,c=null;for(var d=0;dc&&(d.setModel(a.collection.at(c)),d.render()),b.view.showChild("detail","right")}},createListElement:function(a){return a.outputType==="photo"?new n({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list"),dataLoadingClass:"dataloading",loadingClass:"loading"}):new d({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list")})},createDetailContainer:function(a,c){var d=this;return new b({viewFactory:function(b){return l.extend(b,{slug:a.slug}),d.createDetailElement(b,c)},className:d.getClassName(a,c?"single":"detail")})},createDetailElement:function(a){if(!a.model)return new c({});var b=this.convertItemType(a.model.get("@type")),d=this;switch(b){case"video":return new g({templateEl:"#template-"+b,scroller:!0,scrollerSelector:".wrapper",width:d.getContentWidth(),height:d.getContentHeight(),mediaOptions:{strategy:"html5",width:"100%",height:"80%",adjustSize:!0}});case"sound":return new g({templateEl:"#template-"+b,mediaOptions:{strategy:"html5"}});case"status":return new h({templateEl:"#template-"+b,scroller:!0,getImageUrl:function(){return d.getAuthorThumbnail(a.model.toJSON())}});default:return new i({templateEl:"#template-"+b,scroller:!0,imageClass:"fadein",processImageEl:function(a){var b=document.createElement("div");b.setAttribute("class","loader inv");var c=document.createElement("div");return c.setAttribute("class","figure"),c.appendChild(b),a.getAttribute("width")?c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"):c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"),a.parentNode.replaceChild(c,a),c.appendChild(a),c}})}},itemFactory:function(a){var b=this;return function(d,e){var f=d.toJSON(),g=a.outputType||b.convertItemType(f["@type"]),i="#template-"+g+"-item",j={data:{section:a},model:d,offset:e,templateEl:i};switch(g){case"photo":case"video":case"product":case"news":return j.getImageUrl=function(){return b.getThumbnail(f,e,.2)},j.imageContainer=".figure",new h(j);case"status":return j.getImageUrl=function(){return b.getAuthorThumbnail(f,e)},j.imageContainer=".figure",new h(j);default:return new c(j)}}},createRoutes:function(a,b){return{routes:{"":"home"},home:function(){a.length?this[a[0].slug]():(m("#title").html("No data"),document.body.id="nodata",m("#refresh").hide())}}},getContentWidth:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).width()});return Math.floor(m(b).width())},getContentHeight:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).height()});return m(b).height()},getThumbnail:function(a,b,c){if(!a)return"";c=c||.2;var d=this.clientWidth*c,e=0,f=0,g=a.thumbnail,h=null,i=null,j=null;if(g&&g.length>0){j=g[0],f=j.width||0;for(var k=0;k=d&&(ef)j=g[k]}h=j.contentURL}return h||(a["@type"]==="ImageObject"&&a.contentURL?h=a.contentURL:a.image&&a.image.contentURL&&(h=a.image.contentURL)),h||(h=""),h},getAuthorThumbnail:function(a,b){if(!a)return"";var c="";return a.author&&a.author[0]&&(c=this.getThumbnail(a.author[0],b,.2)),c||(c=this.getThumbnail(a,b,.2)),c},slugify:function(a){return a=a.replace(/[^\-a-zA-Z0-9,&\s]+/ig,""),a=a.replace(/-/gi,"_"),a=a.replace(/\s/gi,"-"),a}}),o}),define("sleek.custom",["sleek"],function(a){return a}),define("sleek.tv",["sleek.custom","joshlib!uielement","joshlib!ui/toolbar","joshlib!ui/cardpanel","joshlib!ui/slidepanel","joshlib!ui/verticallist","joshlib!ui/grid","joshlib!ui/item","joshlib!ui/factorymedia","joshlib!ui/imageloader","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c,d,e,f,g,h,i,j,k,l){return a.extend({initialize:function(b){var c=this,d=l(window),e=function(){l("body").css({zoom:Math.max(50,d.height()/10.8)+"%"})};d.resize(e),e(),a.prototype.initialize.call(this,function(){c.backgroundURL&&c.setBackground(c.backgroundURL),c.logoURL?c.setLogo(c.logoURL):c.setTitle(c.title)})},deviceFamily:"tv",setLogo:function(a){l("#logo").html('')},setBackground:function(a){l("body").css({backgroundImage:"url("+a+")"})},createToolbarElement:function(){return new c({el:"#toolbar",templateEl:"#template-toolbar",itemTemplateEl:"#toolbar-item"})},getClassName:function(a,b){return b==="list"?"content":b==="single"?"single content detail":"content detail"},createAdditionalViews:function(c){var d=this,e=j.extend({initialize:function(a){j.prototype.initialize.call(this,a),this.navUp=this.navDown=this.navAction=this.exit,this.offset=a.offset},exit:function(){this.hide(),window.location="#"+d.activeSection.slug},navLeft:function(){var a=this.offset-1;a<0&&(a=d.activeSection.collection.length-1);while(a!==this.offset&&d.activeSection.collection.at(a).get("@type")!=="ImageObject")a-=1,a<0&&(a=d.activeSection.collection.length-1);a!=this.offset&&(window.location="#"+d.activeSection.slug+"/"+a)},navRight:function(){var a=this.offset+1;a>=d.activeSection.collection.length&&(a=0);while(a!==this.offset&&d.activeSection.collection.at(a).get("@type")!=="ImageObject")a+=1,a>=d.activeSection.collection.length&&(a=0);a!=this.offset&&(window.location="#"+d.activeSection.slug+"/"+a)}});this.photoDetail=new e({el:"#photos-detail",templateEl:"#template-photo",getImageUrl:function(){return this.model.get("contentURL")}}),this.photoDetail.hide();var f=i.extend({initialize:function(a){i.prototype.initialize.call(this,a),this.navUp=this.navDown=this.navLeft=this.navRight=this.navAction=this.exit},exit:function(){this.hide(),window.location="#"+d.activeSection.slug}});this.videoDetail=new f({el:"#videos-detail",templateEl:"#template-video",mediaOptions:{width:"100%",height:"100%",autoPlay:!0,html5:!0}}),this.videoDetail.hide(),this.virtualView=new b({navRight:k.bind(function(){switch(this.focused){case"toolbar":if(this.activeSection&&!this.activeSection.loading){var a=this.activeSection.view;if(a.view){var b=a.view;b.children&&b.children.list?b.children.list.navFocus(this.virtualView):b.navFocus(this.virtualView),this.focused="list"}}}},this),navLeft:k.bind(function(){switch(this.focused){case"list":this.toolbarView.navFocus(this.virtualView),this.focused="toolbar";break;case"detail":window.location="#"+this.activeSection.slug}},this)}),a.prototype.createAdditionalViews.call(this,c)},createListElement:function(a){switch(a.outputType){case"video":case"photo":return new g({templateEl:"#template-mosaic",itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list")});default:return new f({templateEl:"#template-list-view",offsetTop:40,offsetBottom:40,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list")})}},createListAndDetailView:function(a,b){var c=new e({children:{list:a,detail:b},currentChild:"list",className:"slide-panel"});return c},showDetail:function(a,b,c){var d=a.collection.at(c),e=null;if(a.collection.length>c){switch(a.outputType){case"photo":e=this.photoDetail,e.offset=c,e.show();break;case"video":e=this.videoDetail,e.offset=c,e.show();break;default:b.view.children&&b.view.children.detail&&(e=b.view.children.detail,b.view.showChild("detail","right"))}e&&(e.setModel(a.collection.at(c)),e.render(),e.navFocus())}},createDetailElement:function(a,b){if(!a.model)return new h({});var c=this.convertItemType(a.model.get("@type")),d=this,e={templateEl:"#template-"+c,scroller:!0,offsetTop:100,offsetBottom:100,navLeft:k.bind(function(){b?(this.toolbarView.navFocus(this.virtualView),this.focused="toolbar"):window.location="#"+a.slug},this)};switch(c){case"video":case"photo":return null;case"sound":return e.mediaOptions={strategy:"html5",autoPlay:!0},new i(e);case"status":return e.getImageUrl=function(){return d.getAuthorThumbnail(a.model.toJSON())},new j(e);default:return e.getImageUrl=function(){return d.getThumbnail(a.model.toJSON())},new j(e)}},createRoutes:function(b,c){var d=a.prototype.createRoutes.call(this,b,c),e=this,f=this.toolbarView;return k.forEach(b,function(a,b){d.routes[a.slug]=a.slug,d[a.slug]=function(){e.activeSection=a,document.body.id=a.outputType,l("iframe, audio, video, object, embed").remove();var b=e.activeSection.view;a.collection.length?(e.moveToList(b),c.showChild(a.slug)):(c.showChild(a.slug),e.updateList(a,b));if(f.active===-1||e.activeSection.loading)f.activate(e.activeSection.index),f.navFocus(e.virtualView),e.focused="toolbar";else if(e.focused!=="toolbar"&&b.view){var d=b.view;d.children&&d.children.list?d.children.list.navFocus(e.virtualView):d.navFocus(e.virtualView),e.focused="list"}},d.routes[a.slug+"/:offset"]=a.slug+"Detail",d[a.slug+"Detail"]=function(b){b=parseInt(b,10),e.activeSection=a,document.body.id=a.outputType,l("iframe, audio, video, object, embed").remove(),c.showChild(a.slug);var d=e.activeSection.view;a.collection.length?e.showDetail(a,d,b):e.updateDetail(a,d,b),e.focused="detail"}}),d},getThumbnail:function(b,c){var d=document.body.clientWidth;switch(c%11){case 0:case 1:case 7:d*=.25;break;default:d*=.1}if(b.thumbnail){var e=b.thumbnail,f=e[0];for(var g=0;g=d&&(h.widthf.width)f=e[g]}return f?f.contentURL:""}return a.prototype.getThumbnail.call(this,b,c)}})}),define("app.tv",["sleek.tv","joshlib!utils/onready","joshlib!utils/dollar"],function(a,b,c){var d=new a;b(d.initialize)}) \ No newline at end of file +!function(a,b){function c(a,b){function c(){}c[i]=this[i];var e=this,f=new c,g=j(a),h=g?a:this,k=g?{}:a,l=function(){this.initialize?this.initialize.apply(this,arguments):(b||g&&e.apply(this,arguments),h.apply(this,arguments))};return l.methods=function(a){return d(f,a,e),l[i]=f,this},l.methods.call(l,k).prototype.constructor=l,l.extend=arguments.callee,l[i].implement=l.statics=function(a,b){return a=typeof a=="string"?function(){var c={};return c[a]=b,c}():a,d(this,a,e),this},l}function d(a,b,c){for(var d in b)b.hasOwnProperty(d)&&(a[d]=j(b[d])&&j(c[i][d])&&g.test(b[d])?e(d,b[d],c):b[d])}function e(a,b,c){return function(){var d=this.supr;this.supr=c[i][a];var e=b.apply(this,arguments);return this.supr=d,e}}function f(a){return c.call(j(a)?a:h,a,1)}var g=/xyz/.test(function(){xyz})?/\bsupr\b/:/.*/,h=function(){},i="prototype",j=function(a){return typeof a===b};if(typeof module!="undefined"&&module.exports)module.exports=f;else{var k=a.klass;f.noConflict=function(){return a.klass=k,this},a.klass=f}}(this,"function"),define("vendor/klass",function(){}),function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=[].slice,c=b.call(arguments,1),d=this,e=function(){},f=function(){return d.apply(this instanceof e?this:a||{},c.concat(b.call(arguments)))};return e.prototype=d.prototype,f.prototype=new e,f}),typeof a.Code=="undefined"&&(a.Code={}),a.Code.Util={registerNamespace:function(){var b=arguments,c=null,d,f,g,h,i;d=0;for(h=b.length;db.DOM.windowHeight()}},b.Browser._detect()}(window,window.Code.Util),function(a,b){b.extend(b,{Events:{add:function(a,b,c){this._checkHandlersProperty(a),b==="mousewheel"&&(b=this._normaliseMouseWheelType()),typeof a.__eventHandlers[b]=="undefined"&&(a.__eventHandlers[b]=[]),a.__eventHandlers[b].push(c),this._isBrowserObject(a)&&a.addEventListener(b,c,!1)},remove:function(a,d,e){this._checkHandlersProperty(a),d==="mousewheel"&&(d=this._normaliseMouseWheelType());if(a.__eventHandlers[d]instanceof Array){var f,g,h=a.__eventHandlers[d];if(b.isNothing(e)){if(this._isBrowserObject(a)){f=0;for(g=h.length;f=1;)a.removeChild(a.childNodes[a.childNodes.length-1])},hasAttribute:function(a,d){return!b.isNothing(a.getAttribute(d))},getAttribute:function(a,d,e){return a=a.getAttribute(d),b.isNothing(a)&&!b.isNothing(e)&&(a=e),a},setAttribute:function(a,d,e){if(b.isLikeArray(a)){var f,g;f=0;for(g=a.length;f=1&&b.DOM.setStyle(d,"opacity",0),b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",i,f,g,h):b.isNothing(a.jQuery)||a.jQuery(d).fadeTo(f,i,g)},fadeTo:function(a,b,c,d,e){this.fadeIn(a,c,d,e,b)},fadeOut:function(d,f,g,h){if(f<=0&&(b.DOM.setStyle(d,"opacity",0),!b.isNothing(g))){g(d);return}b.Browser.isCSSTransformSupported?this._applyTransition(d,"opacity",0,f,g,h):a.jQuery(d).fadeTo(f,0,g)},slideBy:function(d,f,g,h,i,j){var k={},f=b.coalesce(f,0),g=b.coalesce(g,0),j=b.coalesce(j,"ease-out");k[this._transitionPrefix+"Property"]="all",k[this._transitionPrefix+"Delay"]="0",h===0?(k[this._transitionPrefix+"Duration"]="",k[this._transitionPrefix+"TimingFunction"]=""):(k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=b.coalesce(j,"ease-out"),b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler())),k[this._transformLabel]=b.Browser.is3dSupported?"translate3d("+f+"px, "+g+"px, 0px)":"translate("+f+"px, "+g+"px)",b.isNothing(i)||(d.cclallcallback=i),b.DOM.setStyle(d,k),h===0&&a.setTimeout(function(){this._leaveTransforms(d)}.bind(this),this._applyTransitionDelay)},resetTranslate:function(a){var d={};d[this._transformLabel]=d[this._transformLabel]=b.Browser.is3dSupported?"translate3d(0px, 0px, 0px)":"translate(0px, 0px)",b.DOM.setStyle(a,d)},_applyTransition:function(d,f,g,h,i,j){var k={},j=b.coalesce(j,"ease-in");k[this._transitionPrefix+"Property"]=f,k[this._transitionPrefix+"Duration"]=h+"ms",k[this._transitionPrefix+"TimingFunction"]=j,k[this._transitionPrefix+"Delay"]="0",b.Events.add(d,this._transitionEndLabel,this._getTransitionEndHandler()),b.DOM.setStyle(d,k),b.isNothing(i)||(d["ccl"+f+"callback"]=i),a.setTimeout(function(){b.DOM.setStyle(d,f,g)},this._applyTransitionDelay)},_onTransitionEnd:function(a){b.Events.remove(a.currentTarget,this._transitionEndLabel,this._getTransitionEndHandler()),this._leaveTransforms(a.currentTarget)},_leaveTransforms:function(d){var f=d.style[this._transitionPrefix+"Property"],g=f!==""?"ccl"+f+"callback":"cclallcallback",h,f=b.coalesce(d.style.webkitTransform,d.style.MozTransform,d.style.transform),i,j=a.parseInt(b.DOM.getStyle(d,"left"),0),k=a.parseInt(b.DOM.getStyle(d,"top"),0),l,m,n={};f!==""&&(f=b.Browser.is3dSupported?f.match(/translate3d\((.*?)\)/):f.match(/translate\((.*?)\)/),b.isNothing(f)||(i=f[1].split(", "),l=a.parseInt(i[0],0),m=a.parseInt(i[1],0))),n[this._transitionPrefix+"Property"]="",n[this._transitionPrefix+"Duration"]="",n[this._transitionPrefix+"TimingFunction"]="",n[this._transitionPrefix+"Delay"]="",b.DOM.setStyle(d,n),a.setTimeout(function(){b.isNothing(i)||(n={},n[this._transformLabel]="",n.left=j+l+"px",n.top=k+m+"px",b.DOM.setStyle(d,n)),b.isNothing(d[g])||(h=d[g],delete d[g],h(d))}.bind(this),this._applyTransitionDelay)}}})}(window,window.Code.Util),function(a,b,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(a,b,c){c.registerNamespace("Code.Util.TouchElement"),c.TouchElement.TouchElementClass=b({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 a;this.removeEventHandlers();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(a,b){this.el=a,this.captureSettings={swipe:!1,move:!1,gesture:!1,doubleTap:!1,preventDefaultTouchEvents:!0},c.extend(this.captureSettings,b),this.swipeThreshold=50,this.doubleTapSpeed=this.swipeTimeThreshold=250,this.touchStartPoint={x:0,y:0},this.touchEndPoint={x:0,y:0}},addEventHandlers:function(){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),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),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),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),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(a){return{x:a[0].pageX,y:a[0].pageY}},fireTouchEvent:function(b){var d=0,f=0,g=0,h,d=this.touchEndPoint.x-this.touchStartPoint.x,f=this.touchEndPoint.y-this.touchStartPoint.y,g=Math.sqrt(d*d+f*f);if(this.captureSettings.swipe&&(h=new Date,h-=this.touchStartTime,h<=this.swipeTimeThreshold)){if(a.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.swipeLeft:c.TouchElement.ActionTypes.swipeRight,targetEl:b.target,currentTargetEl:b.currentTarget});return}if(a.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.swipeUp:c.TouchElement.ActionTypes.swipeDown,targetEl:b.target,currentTargetEl:b.currentTarget});return}}g>1?c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMoveEnd,point:this.touchEndPoint,targetEl:b.target,currentTargetEl:b.currentTarget}):this.captureSettings.doubleTap?c.isNothing(this.doubleTapTimeout)?this.doubleTapTimeout=a.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:b.target,currentTargetEl:b.currentTarget})}.bind(this),this.doubleTapSpeed):(a.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:b.target,currentTargetEl:b.currentTarget})):c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,point:this.touchEndPoint,action:c.TouchElement.ActionTypes.tap,targetEl:b.target,currentTargetEl:b.currentTarget})},onTouchStart:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault(),c.Events.remove(this.el,"mousedown",this.mouseDownHandler);var b=c.Events.getTouchEvent(a).touches;b.length>1&&this.captureSettings.gesture?this.isGesture=!0:(this.touchStartTime=new Date,this.isGesture=!1,this.touchStartPoint=this.getTouchPoint(b),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget}))},onTouchMove:function(a){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();if(!this.isGesture||!this.captureSettings.gesture){var b=c.Events.getTouchEvent(a).touches;c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:this.getTouchPoint(b),targetEl:a.target,currentTargetEl:a.currentTarget})}},onTouchEnd:function(a){if(!this.isGesture||!this.captureSettings.gesture){this.captureSettings.preventDefaultTouchEvents&&a.preventDefault();var b=c.Events.getTouchEvent(a);this.touchEndPoint=this.getTouchPoint(c.isNothing(b.changedTouches)?b.touches:b.changedTouches),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)}},onMouseDown:function(a){a.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),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=!1,this.touchStartPoint=c.Events.getMousePosition(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchStart,point:this.touchStartPoint,targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseMove:function(a){a.preventDefault(),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchMove,point:c.Events.getMousePosition(a),targetEl:a.target,currentTargetEl:a.currentTarget})},onMouseUp:function(a){a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a)},onMouseOut:function(a){var b=a.relatedTarget;this.el!==b&&!c.DOM.isChildOf(b,this.el)&&(a.preventDefault(),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(a),c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.touchEnd,point:this.touchEndPoint,targetEl:a.target,currentTargetEl:a.currentTarget}),this.fireTouchEvent(a))},onGestureStart:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureStart,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureChange:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureChange,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})},onGestureEnd:function(a){a.preventDefault();var b=c.Events.getTouchEvent(a);c.Events.fire(this,{type:c.TouchElement.EventTypes.onTouch,target:this,action:c.TouchElement.ActionTypes.gestureEnd,scale:b.scale,rotation:b.rotation,targetEl:a.target,currentTargetEl:a.currentTarget})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image"),a.Code.PhotoSwipe.Image.EventTypes={onLoad:"onLoad",onError:"onError"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Image");var d=a.Code.PhotoSwipe;d.Image.ImageClass=b({refObj:null,imageEl:null,src:null,caption:null,metaData:null,imageLoadHandler:null,imageErrorHandler:null,dispose:function(){var a;this.shrinkImage();for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,c,d,f){this.refObj=b,this.src=this.originalSrc=c,this.caption=d,this.metaData=f,this.imageEl=new a.Image,this.imageLoadHandler=this.onImageLoad.bind(this),this.imageErrorHandler=this.onImageError.bind(this)},load:function(){this.imageEl.originalSrc=c.coalesce(this.imageEl.originalSrc,""),this.imageEl.originalSrc===this.src?this.imageEl.isError?c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this}):c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this}):(this.imageEl.isError=!1,this.imageEl.isLoading=!0,this.imageEl.naturalWidth=null,this.imageEl.naturalHeight=null,this.imageEl.isLandscape=!1,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(){!c.isNothing(this.imageEl)&&this.imageEl.src.indexOf(this.src)>-1&&(this.imageEl.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",c.isNothing(this.imageEl.parentNode)||c.DOM.removeChild(this.imageEl,this.imageEl.parentNode))},onImageLoad:function(){this.imageEl.onload=null,this.imageEl.naturalWidth=c.coalesce(this.imageEl.naturalWidth,this.imageEl.width),this.imageEl.naturalHeight=c.coalesce(this.imageEl.naturalHeight,this.imageEl.height),this.imageEl.isLandscape=this.imageEl.naturalWidth>this.imageEl.naturalHeight,this.imageEl.isLoading=!1,c.Events.fire(this,{type:d.Image.EventTypes.onLoad,target:this})},onImageError:function(){this.imageEl.onload=null,this.imageEl.onerror=null,this.imageEl.onabort=null,this.imageEl.isLoading=!1,this.imageEl.isError=!0,c.Events.fire(this,{type:d.Image.EventTypes.onError,target:this})}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Cache"),a=a.Code.PhotoSwipe,a.Cache.Mode={normal:"normal",aggressive:"aggressive"},a.Cache.Functions={getImageSource:function(a){return a.href},getImageCaption:function(a){if(a.nodeName==="IMG")return c.DOM.getAttribute(a,"alt");var b,d,e;b=0;for(d=a.childNodes.length;bd&&(d=c.DOM.windowHeight())):(b=c.DOM.width(this.settings.target),d=c.DOM.height(this.settings.target),f="0px"),c.DOM.setStyle(this.el,{width:b,height:d,top:f})},fadeIn:function(a,b){this.resetPosition(),c.DOM.setStyle(this.el,"opacity",0),c.DOM.show(this.el),c.Animation.fadeIn(this.el,a,b)}})}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel"),a=a.Code.PhotoSwipe,a.Carousel.EventTypes={onSlideByEnd:"PhotoSwipeCarouselOnSlideByEnd",onSlideshowStart:"PhotoSwipeCarouselOnSlideshowStart",onSlideshowStop:"PhotoSwipeCarouselOnSlideshowStop"},a.Carousel.CssClasses={carousel:"ps-carousel",content:"ps-carousel-content",item:"ps-carousel-item",itemLoading:"ps-carousel-item-loading",itemError:"ps-carousel-item-error"},a.Carousel.SlideByAction={previous:"previous",current:"current",next:"next"}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Carousel");var d=a.Code.PhotoSwipe;d.Carousel.CarouselClass=b({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 a,b,e;b=0;for(e=this.cache.images.length;b0&&c.DOM.setStyle(i,{marginRight:this.settings.margin+"px"}),c.DOM.appendChild(i,this.contentEl);this.settings.target===a?c.DOM.appendToBody(this.el):c.DOM.appendChild(this.el,this.settings.target)},resetPosition:function(){var b,f,g,h,i,j;this.settings.target===a?(b=c.DOM.windowWidth(),f=c.DOM.windowHeight(),g=c.DOM.windowScrollTop()+"px"):(b=c.DOM.width(this.settings.target),f=c.DOM.height(this.settings.target),g="0px"),h=this.settings.margin>0?b+this.settings.margin:b,i=c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl),h*=i.length,c.DOM.setStyle(this.el,{top:g,width:b,height:f}),c.DOM.setStyle(this.contentEl,{width:h,height:f}),g=0;for(h=i.length;gf&&(b=f/d,d=Math.round(d*b),e=Math.round(e*b)),e>g&&(b=g/e,e=Math.round(e*b),d=Math.round(d*b))):(b=a.isLandscape?f/a.naturalWidth:g/a.naturalHeight,d=Math.round(a.naturalWidth*b),e=Math.round(a.naturalHeight*b),this.settings.imageScaleMethod==="zoom"?(b=1,ef?b=f/d:e>g&&(b=g/e),b!==1&&(d=Math.round(d*b),e=Math.round(e*b)))),c.DOM.setStyle(a,{position:"absolute",width:d,height:e,top:Math.round((g-e)/2)+"px",left:Math.round((f-d)/2)+"px",display:"block"})}},setContentLeftPosition:function(){var b,d,f;b=this.settings.target===a?c.DOM.windowWidth():c.DOM.width(this.settings.target),d=this.getItemEls(),f=0,this.settings.loop?f=(b+this.settings.margin)*-1:this.currentCacheIndex===this.cache.images.length-1?f=(d.length-1)*(b+this.settings.margin)*-1:this.currentCacheIndex>0&&(f=(b+this.settings.margin)*-1),c.DOM.setStyle(this.contentEl,{left:f+"px"})},show:function(a){this.currentCacheIndex=a,this.resetPosition(),this.setImages(!1),c.DOM.show(this.el),c.Animation.resetTranslate(this.contentEl);var a=this.getItemEls(),b,e;b=0;for(e=a.length;bthis.cache.images.length-1&&(b=0),d<0&&(d=this.cache.images.length-1),b=this.cache.getImages([d,this.currentCacheIndex,b]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[0],c[0])):c.length===1?a||(b=this.cache.getImages([this.currentCacheIndex]),this.addCacheImageToItemEl(b[0],c[0])):c.length===2?this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[0],c[0])):this.currentCacheIndex===0?(b=this.cache.getImages([this.currentCacheIndex,this.currentCacheIndex+1,this.currentCacheIndex+2]),a||this.addCacheImageToItemEl(b[0],c[0]),this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])):(this.currentCacheIndex===this.cache.images.length-1?(b=this.cache.getImages([this.currentCacheIndex-2,this.currentCacheIndex-1,this.currentCacheIndex]),a||this.addCacheImageToItemEl(b[2],c[2]),this.addCacheImageToItemEl(b[1],c[1])):(b=this.cache.getImages([this.currentCacheIndex-1,this.currentCacheIndex,this.currentCacheIndex+1]),a||this.addCacheImageToItemEl(b[1],c[1]),this.addCacheImageToItemEl(b[2],c[2])),this.addCacheImageToItemEl(b[0],c[0]))},addCacheImageToItemEl:function(a,b){c.DOM.removeClass(b,d.Carousel.CssClasses.itemError),c.DOM.addClass(b,d.Carousel.CssClasses.itemLoading),c.DOM.removeChildren(b),c.DOM.setStyle(a.imageEl,{display:"none"}),c.DOM.appendChild(a.imageEl,b),c.Animation.resetTranslate(a.imageEl),c.Events.add(a,d.Image.EventTypes.onLoad,this.imageLoadHandler),c.Events.add(a,d.Image.EventTypes.onError,this.imageErrorHandler),a.load()},slideCarousel:function(b,f,g){if(!this.isSliding){var h,i;h=this.settings.target===a?c.DOM.windowWidth()+this.settings.margin:c.DOM.width(this.settings.target)+this.settings.margin,g=c.coalesce(g,this.settings.slideSpeed);if(!(a.Math.abs(i)<1)){switch(f){case c.TouchElement.ActionTypes.swipeLeft:b=h*-1;break;case c.TouchElement.ActionTypes.swipeRight:b=h;break;default:i=b.x-this.touchStartPoint.x,b=a.Math.abs(i)>h/2?i>0?h:h*-1:0}this.lastSlideByAction=b<0?d.Carousel.SlideByAction.next:b>0?d.Carousel.SlideByAction.previous:d.Carousel.SlideByAction.current,!this.settings.loop&&(this.lastSlideByAction===d.Carousel.SlideByAction.previous&&this.currentCacheIndex===0||this.lastSlideByAction===d.Carousel.SlideByAction.next&&this.currentCacheIndex===this.cache.images.length-1)&&(b=0,this.lastSlideByAction=d.Carousel.SlideByAction.current),this.isSliding=!0,this.doSlideCarousel(b,g)}}},moveCarousel:function(a){this.isSliding||this.settings.enableDrag&&this.doMoveCarousel(a.x-this.touchStartPoint.x)},getItemEls:function(){return c.DOM.find("."+d.Carousel.CssClasses.item,this.contentEl)},previous:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeRight,this.settings.nextPreviousSlideSpeed)},next:function(){this.stopSlideshow(),this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft,this.settings.nextPreviousSlideSpeed)},slideshowNext:function(){this.slideCarousel({x:0,y:0},c.TouchElement.ActionTypes.swipeLeft)},startSlideshow:function(){this.stopSlideshow(),this.isSlideshowActive=!0,this.slideshowTimeout=a.setTimeout(this.slideshowNext.bind(this),this.settings.slideshowDelay),c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStart,target:this})},stopSlideshow:function(){c.isNothing(this.slideshowTimeout)||(a.clearTimeout(this.slideshowTimeout),this.slideshowTimeout=null,this.isSlideshowActive=!1,c.Events.fire(this,{type:d.Carousel.EventTypes.onSlideshowStop,target:this}))},onSlideByEnd:function(){if(!c.isNothing(this.isSliding)){var a=this.getItemEls();this.isSliding=!1,this.lastSlideByAction===d.Carousel.SlideByAction.next?this.currentCacheIndex+=1:this.lastSlideByAction===d.Carousel.SlideByAction.previous&&(this.currentCacheIndex-=1),this.settings.loop?(this.lastSlideByAction===d.Carousel.SlideByAction.next?c.DOM.appendChild(a[0],this.contentEl):this.lastSlideByAction===d.Carousel.SlideByAction.previous&&c.DOM.insertBefore(a[a.length-1],a[0],this.contentEl),this.currentCacheIndex<0)?this.currentCacheIndex=this.cache.images.length-1:this.currentCacheIndex===this.cache.images.length&&(this.currentCacheIndex=0):this.cache.images.length>3&&(this.currentCacheIndex>1&&this.currentCacheIndex
    '}}(window,window.klass,window.Code.Util),function(a,b,c){c.registerNamespace("Code.PhotoSwipe.Toolbar");var d=a.Code.PhotoSwipe;d.Toolbar.ToolbarClass=b({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 a;this.clearTimeout(),this.removeEventHandlers(),c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),c.DOM.removeChild(this.toolbarEl,this.toolbarEl.parentNode),c.DOM.removeChild(this.captionEl,this.captionEl.parentNode);for(a in this)c.objectHasProperty(this,a)&&(this[a]=null)},initialize:function(b,f){var g;this.settings=f,this.cache=b,this.isVisible=!1,this.fadeOutHandler=this.onFadeOut.bind(this),this.touchStartHandler=this.onTouchStart.bind(this),this.touchMoveHandler=this.onTouchMove.bind(this),this.clickHandler=this.onClick.bind(this),g=d.Toolbar.CssClasses.toolbar,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.toolbarTop),this.toolbarEl=c.DOM.createElement("div",{"class":g},this.settings.getToolbar()),c.DOM.setStyle(this.toolbarEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.toolbarEl):c.DOM.appendChild(this.toolbarEl,this.settings.target),c.DOM.hide(this.toolbarEl),this.closeEl=c.DOM.find("."+d.Toolbar.CssClasses.close,this.toolbarEl)[0],this.settings.preventHide&&!c.isNothing(this.closeEl)&&c.DOM.hide(this.closeEl),this.playEl=c.DOM.find("."+d.Toolbar.CssClasses.play,this.toolbarEl)[0],this.settings.preventSlideshow&&!c.isNothing(this.playEl)&&c.DOM.hide(this.playEl),this.nextEl=c.DOM.find("."+d.Toolbar.CssClasses.next,this.toolbarEl)[0],this.previousEl=c.DOM.find("."+d.Toolbar.CssClasses.previous,this.toolbarEl)[0],g=d.Toolbar.CssClasses.caption,this.settings.captionAndToolbarFlipPosition&&(g=g+" "+d.Toolbar.CssClasses.captionBottom),this.captionEl=c.DOM.createElement("div",{"class":g},""),c.DOM.setStyle(this.captionEl,{left:0,position:"absolute",overflow:"hidden",zIndex:this.settings.zIndex}),this.settings.target===a?c.DOM.appendToBody(this.captionEl):c.DOM.appendChild(this.captionEl,this.settings.target),c.DOM.hide(this.captionEl),this.captionContentEl=c.DOM.createElement("div",{"class":d.Toolbar.CssClasses.captionContent},""),c.DOM.appendChild(this.captionContentEl,this.captionEl),this.addEventHandlers()},resetPosition:function(){var b,d,f;this.settings.target===a?(this.settings.captionAndToolbarFlipPosition?(d=c.DOM.windowScrollTop(),f=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.captionEl)):(d=c.DOM.windowScrollTop()+c.DOM.windowHeight()-c.DOM.height(this.toolbarEl),f=c.DOM.windowScrollTop()),b=c.DOM.windowWidth()):(this.settings.captionAndToolbarFlipPosition?(d="0",f=c.DOM.height(this.settings.target)-c.DOM.height(this.captionEl)):(d=c.DOM.height(this.settings.target)-c.DOM.height(this.toolbarEl),f=0),b=c.DOM.width(this.settings.target)),c.DOM.setStyle(this.toolbarEl,{top:d+"px",width:b}),c.DOM.setStyle(this.captionEl,{top:f+"px",width:b})},toggleVisibility:function(a){this.isVisible?this.fadeOut():this.show(a)},show:function(a){c.Animation.stop(this.toolbarEl),c.Animation.stop(this.captionEl),this.resetPosition(),this.setToolbarStatus(a),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeShow,target:this}),this.showToolbar(),this.setCaption(a),this.showCaption(),this.isVisible=!0,this.setTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onShow,target:this})},setTimeout:function(){this.settings.captionAndToolbarAutoHideDelay>0&&(this.clearTimeout(),this.timeout=a.setTimeout(this.fadeOut.bind(this),this.settings.captionAndToolbarAutoHideDelay))},clearTimeout:function(){c.isNothing(this.timeout)||(a.clearTimeout(this.timeout),this.timeout=null)},fadeOut:function(){this.clearTimeout(),c.Events.fire(this,{type:d.Toolbar.EventTypes.onBeforeHide,target:this}),c.Animation.fadeOut(this.toolbarEl,this.settings.fadeOutSpeed),c.Animation.fadeOut(this.captionEl,this.settings.fadeOutSpeed,this.fadeOutHandler),this.isVisible=!1},addEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.add(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.add(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.add(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.add(this.toolbarEl,"click",this.clickHandler)},removeEventHandlers:function(){c.Browser.isTouchSupported&&(c.Browser.blackberry||c.Events.remove(this.toolbarEl,"touchstart",this.touchStartHandler),c.Events.remove(this.toolbarEl,"touchmove",this.touchMoveHandler),c.Events.remove(this.captionEl,"touchmove",this.touchMoveHandler)),c.Events.remove(this.toolbarEl,"click",this.clickHandler)},handleTap:function(a){this.clearTimeout();var b;if(a.target===this.nextEl||c.DOM.isChildOf(a.target,this.nextEl))b=d.Toolbar.ToolbarAction.next;else if(a.target===this.previousEl||c.DOM.isChildOf(a.target,this.previousEl))b=d.Toolbar.ToolbarAction.previous;else if(a.target===this.closeEl||c.DOM.isChildOf(a.target,this.closeEl))b=d.Toolbar.ToolbarAction.close;else if(a.target===this.playEl||c.DOM.isChildOf(a.target,this.playEl))b=d.Toolbar.ToolbarAction.play;this.setTimeout(),c.isNothing(b)&&(b=d.Toolbar.ToolbarAction.none),c.Events.fire(this,{type:d.Toolbar.EventTypes.onTap,target:this,action:b,tapTarget:a.target})},setCaption:function(a){c.DOM.removeChildren(this.captionContentEl),this.currentCaption=c.coalesce(this.cache.images[a].caption," "),c.isObject(this.currentCaption)?c.DOM.appendChild(this.currentCaption,this.captionContentEl):(this.currentCaption===""&&(this.currentCaption=" "),c.DOM.appendText(this.currentCaption,this.captionContentEl)),this.currentCaption=this.currentCaption===" "?"":this.currentCaption,this.resetPosition()},showToolbar:function(){c.DOM.setStyle(this.toolbarEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.toolbarEl)},showCaption:function(){(this.currentCaption===""||this.captionContentEl.childNodes.length<1)&&!this.settings.captionAndToolbarShowEmptyCaptions?c.DOM.hide(this.captionEl):(c.DOM.setStyle(this.captionEl,{opacity:this.settings.captionAndToolbarOpacity}),c.DOM.show(this.captionEl))},setToolbarStatus:function(a){this.settings.loop||(c.DOM.removeClass(this.previousEl,d.Toolbar.CssClasses.previousDisabled),c.DOM.removeClass(this.nextEl,d.Toolbar.CssClasses.nextDisabled),a>0&&athis.settings.maxUserZoom&&(a=this.settings.maxUserZoom),a},setStartingScaleAndRotation:function(a,b){this.transformSettings.startingScale=this.getScale(a),this.transformSettings.startingRotation=(this.transformSettings.startingRotation+b)%360},zoomRotate:function(a,b){this.transformSettings.scale=this.getScale(a),this.transformSettings.rotation=this.transformSettings.startingRotation+b,this.applyTransform()},panStart:function(a){this.setStartingTranslateFromCurrentTransform(),this.panStartingPoint={x:a.x,y:a.y}},pan:function(a){var b=(a.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=this.transformSettings.startingTranslateX+(a.x-this.panStartingPoint.x)/this.transformSettings.scale,this.transformSettings.translateY=this.transformSettings.startingTranslateY+b,this.applyTransform()},zoomAndPanToPoint:function(b,d){if(this.settings.target===a){this.panStart({x:c.DOM.windowWidth()/2,y:c.DOM.windowHeight()/2});var f=(d.y-this.panStartingPoint.y)/this.transformSettings.scale;this.transformSettings.translateX=(this.transformSettings.startingTranslateX+(d.x-this.panStartingPoint.x)/this.transformSettings.scale)*-1,this.transformSettings.translateY=(this.transformSettings.startingTranslateY+f)*-1}this.setStartingScaleAndRotation(b,0),this.transformSettings.scale=this.transformSettings.startingScale,this.transformSettings.rotation=0,this.applyTransform()},applyTransform:function(){var b=this.transformSettings.rotation%360,f=a.parseInt(this.transformSettings.translateX,10),g=a.parseInt(this.transformSettings.translateY,10),h="scale("+this.transformSettings.scale+") rotate("+b+"deg) translate("+f+"px, "+g+"px)";c.DOM.setStyle(this.transformEl,{webkitTransform:h,MozTransform:h,msTransform:h,transform:h}),c.Events.fire(this,{target:this,type:d.ZoomPanRotate.EventTypes.onTransform,scale:this.transformSettings.scale,rotation:this.transformSettings.rotation,rotationDegs:b,translateX:f,translateY:g})}})}(window,window.klass,window.Code.Util),function(a,b){b.registerNamespace("Code.PhotoSwipe");var c=a.Code.PhotoSwipe;c.CssClasses={buildingBody:"ps-building",activeBody:"ps-active"},c.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"},c.instances=[],c.activeInstances=[],c.setActivateInstance=function(a){if(b.arrayIndexOf(a.settings.target,c.activeInstances,"target")>-1)throw"Code.PhotoSwipe.activateInstance: Unable to active instance as another instance is already active for this target";c.activeInstances.push({target:a.settings.target,instance:a})},c.unsetActivateInstance=function(a){a=b.arrayIndexOf(a,c.activeInstances,"instance"),c.activeInstances.splice(a,1)},c.attach=function(a,d,e){var f,g;f=c.createInstance(a,d,e),d=0;for(e=a.length;d=2.1&&(this.isBackEventSupported=!0),this.isBackEventSupported||(this.isBackEventSupported=c.objectHasProperty(a,"onhashchange")),this.settings={fadeInSpeed:250,fadeOutSpeed:250,preventHide:!1,preventSlideshow:!1,zIndex:1e3,backButtonHideEnabled:!0,enableKeyboard:!0,enableMouseWheel:!0,mouseWheelSpeed:350,autoStartSlideshow:!1,jQueryMobile:!c.isNothing(a.jQuery)&&!c.isNothing(a.jQuery.mobile),jQueryMobileDialogHash:"&ui-state=dialog",enableUIWebViewRepositionTimeout:!1,uiWebViewResetPositionDelay:500,target:a,preventDefaultTouchEvents:!0,loop:!0,slideSpeed:250,nextPreviousSlideSpeed:0,enableDrag:!0,swipeThreshold:50,swipeTimeThreshold:250,slideTimingFunction:"ease-out",slideshowDelay:3e3,doubleTapSpeed:250,margin:20,imageScaleMethod:"fit",captionAndToolbarHide:!1,captionAndToolbarFlipPosition:!1,captionAndToolbarAutoHideDelay:5e3,captionAndToolbarOpacity:.8,captionAndToolbarShowEmptyCaptions:!0,getToolbar:j.Toolbar.getToolbar,allowUserZoom:!0,allowRotationOnUserZoom:!1,maxUserZoom:5,minUserZoom:.5,doubleTapZoomLevel:2.5,getImageSource:j.Cache.Functions.getImageSource,getImageCaption:j.Cache.Functions.getImageCaption,getImageMetaData:j.Cache.Functions.getImageMetaData,cacheMode:j.Cache.Mode.normal},c.extend(this.settings,e),this.settings.target!==a&&(e=c.DOM.getStyle(this.settings.target,"position"),(e!=="relative"||e!=="absolute")&&c.DOM.setStyle(this.settings.target,"position","relative")),this.settings.target!==a?(this.isBackEventSupported=!1,this.settings.backButtonHideEnabled=!1):this.settings.preventHide&&(this.settings.backButtonHideEnabled=!1),this.cache=new d.CacheClass(b,this.settings)},show:function(b){var d,e;this.backButtonClicked=this._isResettingPosition=!1;if(c.isNumber(b))this.currentIndex=b;else{this.currentIndex=-1,d=0;for(e=this.originalImages.length;dthis.originalImages.length-1)throw"Code.PhotoSwipe.PhotoSwipeClass.show: Starting index out of range";this.isAlreadyGettingPage=this.getWindowDimensions(),j.setActivateInstance(this),this.windowDimensions=this.getWindowDimensions(),this.settings.target===a?c.DOM.addClass(a.document.body,j.CssClasses.buildingBody):c.DOM.addClass(this.settings.target,j.CssClasses.buildingBody),this.createComponents(),c.Events.fire(this,{type:j.EventTypes.onBeforeShow,target:this}),this.documentOverlay.fadeIn(this.settings.fadeInSpeed,this.onDocumentOverlayFadeIn.bind(this))},getWindowDimensions:function(){return{width:c.DOM.windowWidth(),height:c.DOM.windowHeight()}},createComponents:function(){this.documentOverlay=new e.DocumentOverlayClass(this.settings),this.carousel=new f.CarouselClass(this.cache,this.settings),this.uiLayer=new h.UILayerClass(this.settings),this.settings.captionAndToolbarHide||(this.toolbar=new g.ToolbarClass(this.cache,this.settings))},resetPosition:function(){if(!this._isResettingPosition){var a=this.getWindowDimensions();if(c.isNothing(this.windowDimensions)||a.width!==this.windowDimensions.width||a.height!==this.windowDimensions.height)this._isResettingPosition=!0,this.windowDimensions=a,this.destroyZoomPanRotate(),this.documentOverlay.resetPosition(),this.carousel.resetPosition(),c.isNothing(this.toolbar)||this.toolbar.resetPosition(),this.uiLayer.resetPosition(),this._isResettingPosition=!1,c.Events.fire(this,{type:j.EventTypes.onResetPosition,target:this})}},addEventHandler:function(a,b){c.Events.add(this,a,b)},addEventHandlers:function(){c.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)),c.Browser.android?this.orientationEventName="resize":c.Browser.iOS&&!c.Browser.safari?c.Events.add(a.document.body,"orientationchange",this.windowOrientationChangeHandler):this.orientationEventName=c.isNothing(a.onorientationchange)?"resize":"orientationchange",c.isNothing(this.orientationEventName)||c.Events.add(a,this.orientationEventName,this.windowOrientationChangeHandler),this.settings.target===a&&c.Events.add(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.add(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.windowHashChangeHandler=this.onWindowHashChange.bind(this),this.settings.jQueryMobile?a.location.hash=this.settings.jQueryMobileDialogHash:(this.currentHistoryHashValue="PhotoSwipe"+(new Date).getTime().toString(),a.location.hash=this.currentHistoryHashValue),c.Events.add(a,"hashchange",this.windowHashChangeHandler)),this.settings.enableMouseWheel&&c.Events.add(a,"mousewheel",this.mouseWheelHandler),c.Events.add(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.Events.add(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.add(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler),c.isNothing(this.toolbar)||(c.Events.add(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.add(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.add(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.add(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},removeEventHandlers:function(){c.Browser.iOS&&!c.Browser.safari&&c.Events.remove(a.document.body,"orientationchange",this.windowOrientationChangeHandler),c.isNothing(this.orientationEventName)||c.Events.remove(a,this.orientationEventName,this.windowOrientationChangeHandler),c.Events.remove(a,"scroll",this.windowScrollHandler),this.settings.enableKeyboard&&c.Events.remove(a.document,"keydown",this.keyDownHandler),this.isBackEventSupported&&this.settings.backButtonHideEnabled&&c.Events.remove(a,"hashchange",this.windowHashChangeHandler),this.settings.enableMouseWheel&&c.Events.remove(a,"mousewheel",this.mouseWheelHandler),c.isNothing(this.uiLayer)||c.Events.remove(this.uiLayer,c.TouchElement.EventTypes.onTouch,this.uiLayerTouchHandler),c.isNothing(this.toolbar)||(c.Events.remove(this.carousel,f.EventTypes.onSlideByEnd,this.carouselSlideByEndHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStart,this.carouselSlideshowStartHandler),c.Events.remove(this.carousel,f.EventTypes.onSlideshowStop,this.carouselSlideshowStopHandler)),c.isNothing(this.toolbar)||(c.Events.remove(this.toolbar,g.EventTypes.onTap,this.toolbarTapHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeShow,this.toolbarBeforeShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onShow,this.toolbarShowHandler),c.Events.remove(this.toolbar,g.EventTypes.onBeforeHide,this.toolbarBeforeHideHandler),c.Events.remove(this.toolbar,g.EventTypes.onHide,this.toolbarHideHandler))},hide:function(){if(!this.settings.preventHide){if(c.isNothing(this.documentOverlay))throw"Code.PhotoSwipe.PhotoSwipeClass.hide: PhotoSwipe instance is already hidden";c.isNothing(this.hiding)&&(this.clearUIWebViewResetPositionTimeout(),this.destroyZoomPanRotate(),this.removeEventHandlers(),c.Events.fire(this,{type:j.EventTypes.onBeforeHide,target:this}),this.uiLayer.dispose(),this.uiLayer=null,c.isNothing(this.toolbar)||(this.toolbar.dispose(),this.toolbar=null),this.carousel.dispose(),this.carousel=null,c.DOM.removeClass(a.document.body,j.CssClasses.activeBody),this.documentOverlay.dispose(),this.documentOverlay=null,this._isResettingPosition=!1,j.unsetActivateInstance(this),c.Events.fire(this,{type:j.EventTypes.onHide,target:this}),this.goBackInHistory())}},goBackInHistory:function(){this.isBackEventSupported&&this.settings.backButtonHideEnabled&&(this.backButtonClicked||a.history.back())},play:function(){!this.isZoomActive()&&!this.settings.preventSlideshow&&!c.isNothing(this.carousel)&&(!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut(),this.carousel.startSlideshow())},stop:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.stopSlideshow()},previous:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.previous()},next:function(){this.isZoomActive()||c.isNothing(this.carousel)||this.carousel.next()},toggleToolbar:function(){this.isZoomActive()||c.isNothing(this.toolbar)||this.toolbar.toggleVisibility(this.currentIndex)},fadeOutToolbarIfVisible:function(){!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.settings.captionAndToolbarAutoHideDelay>0&&this.toolbar.fadeOut()},createZoomPanRotate:function(){this.stop(),this.canUserZoom()&&!this.isZoomActive()&&(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateShow),this.zoomPanRotate=new i.ZoomPanRotateClass(this.settings,this.cache.images[this.currentIndex],this.uiLayer),this.uiLayer.captureSettings.preventDefaultTouchEvents=!0,c.Events.add(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),c.Events.fire(this,j.EventTypes.onZoomPanRotateShow),!c.isNothing(this.toolbar)&&this.toolbar.isVisible&&this.toolbar.fadeOut())},destroyZoomPanRotate:function(){c.isNothing(this.zoomPanRotate)||(c.Events.fire(this,j.EventTypes.onBeforeZoomPanRotateHide),c.Events.remove(this.zoomPanRotate,j.ZoomPanRotate.EventTypes.onTransform,this.zoomPanRotateTransformHandler),this.zoomPanRotate.dispose(),this.zoomPanRotate=null,this.uiLayer.captureSettings.preventDefaultTouchEvents=this.settings.preventDefaultTouchEvents,c.Events.fire(this,j.EventTypes.onZoomPanRotateHide))},canUserZoom:function(){var a;if(c.Browser.msie){if(a=document.createElement("div"),c.isNothing(a.style.msTransform))return!1}else if(!c.Browser.isCSSTransformSupported)return!1;return this.settings.allowUserZoom?this.carousel.isSliding?!1:(a=this.cache.images[this.currentIndex],c.isNothing(a)?!1:a.isLoading?!1:!0):!1},isZoomActive:function(){return!c.isNothing(this.zoomPanRotate)},getCurrentImage:function(){return this.cache.images[this.currentIndex]},onDocumentOverlayFadeIn:function(){a.setTimeout(function(){var b=this.settings.target===a?a.document.body:this.settings.target;c.DOM.removeClass(b,j.CssClasses.buildingBody),c.DOM.addClass(b,j.CssClasses.activeBody),this.addEventHandlers(),this.carousel.show(this.currentIndex),this.uiLayer.show(),this.settings.autoStartSlideshow?this.play():c.isNothing(this.toolbar)||this.toolbar.show(this.currentIndex),c.Events.fire(this,{type:j.EventTypes.onShow,target:this}),this.setUIWebViewResetPositionTimeout()}.bind(this),250)},setUIWebViewResetPositionTimeout:function(){this.settings.enableUIWebViewRepositionTimeout&&c.Browser.iOS&&!c.Browser.safari&&(c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout),this._uiWebViewResetPositionTimeout=a.setTimeout(function(){this.resetPosition(),this.setUIWebViewResetPositionTimeout()}.bind(this),this.settings.uiWebViewResetPositionDelay))},clearUIWebViewResetPositionTimeout:function(){c.isNothing(this._uiWebViewResetPositionTimeout)||a.clearTimeout(this._uiWebViewResetPositionTimeout)},onWindowScroll:function(){this.resetPosition()},onWindowOrientationChange:function(){this.resetPosition()},onWindowHashChange:function(){a.location.hash!=="#"+(this.settings.jQueryMobile?this.settings.jQueryMobileDialogHash:this.currentHistoryHashValue)&&(this.backButtonClicked=!0,this.hide())},onKeyDown:function(a){a.keyCode===37?(a.preventDefault(),this.previous()):a.keyCode===39?(a.preventDefault(),this.next()):a.keyCode===38||a.keyCode===40?a.preventDefault():a.keyCode===27?(a.preventDefault(),this.hide()):a.keyCode===32?(this.settings.hideToolbar?this.hide():this.toggleToolbar(),a.preventDefault()):a.keyCode===13&&(a.preventDefault(),this.play())},onUILayerTouch:function(b){if(this.isZoomActive())switch(b.action){case c.TouchElement.ActionTypes.gestureChange:this.zoomPanRotate.zoomRotate(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.gestureEnd:this.zoomPanRotate.setStartingScaleAndRotation(b.scale,this.settings.allowRotationOnUserZoom?b.rotation:0);break;case c.TouchElement.ActionTypes.touchStart:this.zoomPanRotate.panStart(b.point);break;case c.TouchElement.ActionTypes.touchMove:this.zoomPanRotate.pan(b.point);break;case c.TouchElement.ActionTypes.doubleTap:this.destroyZoomPanRotate(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeLeft:this.destroyZoomPanRotate(),this.next(),this.toggleToolbar();break;case c.TouchElement.ActionTypes.swipeRight:this.destroyZoomPanRotate(),this.previous(),this.toggleToolbar()}else switch(b.action){case c.TouchElement.ActionTypes.touchMove:case c.TouchElement.ActionTypes.swipeLeft:case c.TouchElement.ActionTypes.swipeRight:this.fadeOutToolbarIfVisible(),this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.touchStart:case c.TouchElement.ActionTypes.touchMoveEnd:this.carousel.onTouch(b.action,b.point);break;case c.TouchElement.ActionTypes.tap:this.toggleToolbar();break;case c.TouchElement.ActionTypes.doubleTap:this.settings.target===a&&(b.point.x-=c.DOM.windowScrollLeft(),b.point.y-=c.DOM.windowScrollTop());var d=this.cache.images[this.currentIndex].imageEl,e=a.parseInt(c.DOM.getStyle(d,"top"),10),f=a.parseInt(c.DOM.getStyle(d,"left"),10),g=f+c.DOM.width(d),d=e+c.DOM.height(d);b.point.xg&&(b.point.x=g),b.point.yd&&(b.point.y=d),this.createZoomPanRotate(),this.isZoomActive()&&this.zoomPanRotate.zoomAndPanToPoint(this.settings.doubleTapZoomLevel,b.point);break;case c.TouchElement.ActionTypes.gestureStart:this.createZoomPanRotate()}c.Events.fire(this,{type:j.EventTypes.onTouch,target:this,point:b.point,action:b.action})},onCarouselSlideByEnd:function(a){this.currentIndex=a.cacheIndex,c.isNothing(this.toolbar)||(this.toolbar.setCaption(this.currentIndex),this.toolbar.setToolbarStatus(this.currentIndex)),c.Events.fire(this,{type:j.EventTypes.onDisplayImage,target:this,action:a.action,index:a.cacheIndex})},onToolbarTap:function(a){switch(a.action){case g.ToolbarAction.next:this.next();break;case g.ToolbarAction.previous:this.previous();break;case g.ToolbarAction.close:this.hide();break;case g.ToolbarAction.play:this.play()}c.Events.fire(this,{type:j.EventTypes.onToolbarTap,target:this,toolbarAction:a.action,tapTarget:a.tapTarget})},onMouseWheel:function(a){var b=c.Events.getWheelDelta(a);a.timeStamp-(this.mouseWheelStartTime||0)0&&this.previous())},onCarouselSlideshowStart:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStart,target:this})},onCarouselSlideshowStop:function(){c.Events.fire(this,{type:j.EventTypes.onSlideshowStop,target:this})},onToolbarBeforeShow:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarShow,target:this})},onToolbarShow:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarShow,target:this})},onToolbarBeforeHide:function(){c.Events.fire(this,{type:j.EventTypes.onBeforeCaptionAndToolbarHide,target:this})},onToolbarHide:function(){c.Events.fire(this,{type:j.EventTypes.onCaptionAndToolbarHide,target:this})},onZoomPanRotateTransform:function(a){c.Events.fire(this,{target:this,type:j.EventTypes.onZoomPanRotateTransform,scale:a.scale,rotation:a.rotation,rotationDegs:a.rotationDegs,translateX:a.translateX,translateY:a.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),define("vendor/photoswipe",function(){}),1,function(){var a;typeof Joshfire=="undefined"&&(Joshfire={}),a={version:[0,9,3],onReady:function(a){a()},adapter:"tv",adapterModules:{android:["app","dependencies.json","inputs/touch","ui/toolbar","uielements/list","uielements/panel","uielements/video.mediaelement","vendor/iscroll"],browser:["app","inputs/http","inputs/keyboard","inputs/mouse","uielement","uielements/list","uielements/mediacontrols","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","uielements/video.popup","uielements/video.youtube.swf","utils/activitymonitor","utils/datasource","utils/dollar","utils/localstorage","utils/navigation","utils/onready","utils/stresstest"],googletv:["dependencies.json","inputs/keyboard","ui/videoplayer","uielement"],ios:["dependencies.json"],lgtv:["dependencies.json","ui/videoplayer","uielement","utils/dollar"],node:["app.factory","app","class","global.exec","inputs/http","uielements/page","uielements/panel","uielements/panel.manager","uielements/video.mediaelement","utils/datasource","utils/dollar","utils/eventsocket","utils/templatecompiler.cli","utils/templatecompiler","vendor/json2","view"],none:[],philips:["dependencies.json","ui/videoplayer","uielement","uielements/list","uielements/video.mediaelement","utils/dollar","utils/stresstest"],phone:["collection","ui/toolbar","uielement","utils/dollar","utils/onready"],qt4:[],samsungtv:["dependencies.json","inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready","utils/widgetapi","view"],tv:["inputs/remote","ui/cardpanel","ui/grid","ui/horizontallayout","ui/slidepanel","ui/toolbar","ui/verticallist","ui/videoplayer","uielement","utils/dollar","utils/onready"]},adapterDeps:[],debug:!1,path:(Joshfire.framework||{}).path||"joshfire"};if(typeof document!="undefined"){var b=document.getElementsByTagName("script"),c,d=new RegExp("^(.*)/adapters/"+a.adapter+"/bootstrap.js$");for(var e=b.length-1;e>=0;e--)c=d.exec(b[e].getAttribute("src")),c&&(a.path=c[1])}typeof require!="undefined"&&require.config&&require.config({paths:{"joshfire-framework":a.path},urlArgs:Joshfire.debug?"bust="+(new Date).getTime():""}),Joshfire.framework=a,typeof module!="undefined"&&module.exports&&(module.exports.JoshfireFramework=a)}.call(this),define("joshlib",{normalize:function(a,b){var c=[Joshfire.framework.adapter].concat(Joshfire.framework.adapterDeps),d=Joshfire.framework.adapterModules,e="joshfire-framework/";if(a.substring(0,14)=="adapters/none/")return e+a.substring(14);if(a.substring(0,9)=="adapters/")return e+a;for(var f=0;f=0===c})}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function bj(a,b){if(b.nodeType!==1||!f.hasData(a))return;var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d0){if(c!=="border")for(;g").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(e.isReady)return;try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};return e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(a==="body"&&!d&&c.body)return this.context=c,this[0]=c.body,this.selector=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?g=[null,a,null]:g=i.exec(a);if(g&&(g[1]||!d)){if(g[1])return d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes),e.merge(this,a);h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}return this.context=c,this.selector=a,this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}return e.isFunction(a)?f.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),e.makeArray(a,this))},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();return e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return e.each(this,a,b)},ready:function(a){return e.bindReady(),A.add(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(A)return;A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}var b=i.call(arguments,0),c=0,d=b.length,e=new Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
    a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;return k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];if(!r)return;j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
    "+""+"
    ",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
    t
    ",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
    ",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i)}),b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?f.cache[a[f.expando]]:a[f.expando],!!a&&!m(a)},data:function(a,c,d,e){if(!f.acceptData(a))return;var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);return g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d),o&&!h[c]?g.events:(k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h,i)},removeData:function(a,b,c){if(!f.acceptData(a))return;var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];if(!arguments.length){if(g)return c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type],c&&"get"in c&&(d=c.get(g,"value"))!==b?d:(d=g.value,typeof d=="string"?d.replace(q,""):d==null?"":d);return}return e=f.isFunction(a),this.each(function(d){var g=f(this),h;if(this.nodeType!==1)return;e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!a||j===3||j===8||j===2)return;if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}return h&&"set"in h&&i&&(g=h.set(a,d,c))!==b?g:(a.setAttribute(c,""+d),d)}return h&&"get"in h&&i&&(g=h.get(a,c))!==null?g:(g=a.getAttribute(c),g===null?b:g)},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);return b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)")),b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))return;d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f=="undefined"||!!a&&f.event.triggered===a.type?b:f.event.dispatch.apply(i.elem,arguments)},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function w(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){return i=!1,0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length!==1||w[0]!=="~"&&w[0]!=="+"||!d.parentNode?d:d.parentNode,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);return l&&(m(l,h,e,f),m.uniqueSort(e)),e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);return a[0]=e++,a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");return!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" "),a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);return d||e.push.apply(e,g),!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){return a.unshift(!0),a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){return a=Array.prototype.slice.call(a,0),b?(b.push.apply(b,a),b):a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(b.querySelectorAll&&b.querySelectorAll(".TEST").length===0)return;m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!a.getElementsByClassName||a.getElementsByClassName("e").length===0)return;a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}return c=c.length>1?f.unique(c):c,this.pushStack(c,"closest",a)},index:function(a){return a?typeof a=="string"?f.inArray(this[0],f(a)):f.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);return L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse()),this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){return f.isFunction(a)?this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))}):typeof a!="object"&&a!==b?this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a)):f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return f.isFunction(a)?this.each(function(b){f(this).wrapInner(a.call(this,b))}):this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);return a.push.apply(a,this.toArray()),this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);return a.push.apply(a,f.clean(arguments)),a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}return d=e=null,h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;return f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight}),c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;return b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;return f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d)),f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;return f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}}),this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){return f.isFunction(d)&&(g=g||e,e=d,d=b),f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b),a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s===2)return;s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return s||(d.mimeType=a),this},abort:function(a){return a=a||"abort",p&&p.abort(a),w(0,a),this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(!d.beforeSend||d.beforeSend.call(e,v,d)!==!1&&s!==2){for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v}return v.abort(),!1},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";return b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){return g||f.error(h+" was not called"),g[0]},b.dataTypes[0]="json","script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return f.globalEval(a),a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}return i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update(),!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;return c===b?(e=this[0],e?(g=cy(e),g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]):null):this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("joshfire-framework/vendor/jquery",[],function(){return f})}(window),define("joshfire-framework/adapters/tv/utils/dollar",["joshlib!vendor/jquery"],function(a){return a}),function(a){var b=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a},c=function(a){if(a["@type"]==="VideoObject"||a["@type"]==="AudioObject")return a;var b=null;switch(a["@type"]){case"MusicRecording":b=["audio","associatedMedia","video"];break;default:b=["video","associatedMedia","audio"]}for(var c=0,d=b.length;cc.width+1?c.height=e.height:e.width';for(var e=0;e'}d+="",typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),h=e.extend({initialize:function(a){this.sources=a.sources,this.poster=a.poster||"",this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},addPolyFill:function(){var a=document.getElementsByTagName("body")[0],b=document.createElement("link"),c=document.createElement("script");b.setAttribute("href","http://vjs.zencdn.net/c/video-js.css"),b.setAttribute("rel","stylesheet"),c.setAttribute("src","http://vjs.zencdn.net/c/video.js"),a.appendChild(b),a.appendChild(c)},toHtml:function(a){var b=this.poster?' poster="'+this.poster+'"':"",c=this.autoPlay?" autoplay":"",d='",typeof window!="undefined"&&typeof window.VideoJS=="undefined"&&this.addPolyFill(),typeof a=="function"&&a(null,d,{width:this.width,height:this.height})}}),i=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||40,this.autoPlay=a.autoPlay||!1},iCanHazAudioTag:function(a){if(!document)return!1;var b=document.createElement("audio");return b.canPlayType},toHtml:function(a){var b="";if(this.sources&&this.sources.length){for(var c=0;c";break}b||(b='Play')}typeof a=="function"&&a(null,b,{})}}),j=e.extend({initialize:function(a){this.sources=a.sources,this.width=a.width||500,this.height=a.height||281,this.autoPlay=a.autoPlay||!1},toHtml:function(a){var b="mediaplayerlib-mediaelement-video-"+j.nextId++,c=this.poster?' poster="'+this.poster+'"':"",d=this.autoPlay?" autoplay":"",e='",e+="",typeof a=="function"&&a(null,e,{width:this.width,height:this.height})}});j.nextId=0;var k=e.extend({initialize:function(a){this.options=a},toHtml:function(b){var c=null;for(var d=0;d';typeof a=="function"&&a(null,b,{width:this.width,height:this.height})}}),m=e.extend({initialize:function(a){this.url=a.url,this.publisher=a.publisher,this.width=a.width||500,this.height=a.height||281},toHtml:function(a){var b=this.url||"",c="",d="",e=function(){var a=function(){return((1+Math.random())*65536|0).toString(16).substring(1)};return"mediaplayerlib-"+a()+a()+a()};d=e(),this.publisher==="Ooyala"?(b+=(b.indexOf("?")===-1?"?":"&")+"width="+encodeURIComponent(this.width)+"&height="+encodeURIComponent(this.height),c='
    '+'"+''):c='',typeof a=="function"&&a(null,c,{width:this.width,height:this.height})}}),n=e.extend({toHtml:function(a){typeof a=="function"&&a(new Error("Unknown media type."),"Unknown media type.")}}),o=function(){};b(o.prototype,{execute:function(a,b){return new n(b)}}),o.extend=function(a){var c=function(a){o.call(this,a)};return b(c.prototype,a),c};var p=o.extend({execute:function(a,e){var f,g=c(a)||{},i=d(g,e);b(e,i);if(g["@type"]==="VideoObject")if(g.playerType==="iframe")b(e,{url:g.embedURL}),f=new l(e);else if(g.playerType==="script")b(e,{url:g.embedURL,publisher:g.publisher?g.publisher.name:null}),f=new m(e);else if(g.contentURL){var j=null;g.image&&g.image.contentURL&&(j=g.image.contentURL),b(e,{poster:j,sources:[g.contentURL]}),f=new h(e)}return f||new n}}),q=o.extend({execute:function(a,e){var f,h=c(a)||{},j=d(h,e);b(e,j);if(h.playerType==="iframe")b(e,{url:h.embedURL,html5:!0}),f=new l(e);else if(h.playerType==="script")b(e,{url:h.embedURL,html5:!0,publisher:h.publisher?h.publisher.name:null}),f=new m(e);else if(h["@type"]==="VideoObject"){if(h.contentURL){var k=null;h.image&&(k=h.image.contentURL),b(e,{poster:k,sources:[h.contentURL]}),f=new g(e)}}else h["@type"]==="AudioObject"&&h.contentURL&&(b(e,{sources:[h.contentURL]}),f=new i(e));return f}}),r=o.extend({execute:function(a,e){var f=c(a)||{},g=d(f,e);b(e,g);var h;if(a["@type"]==="VideoObject"){if(typeof a.contentURL!="undefined"){var i=null;f.image&&(i=f.image.contentURL),b(e,{poster:i,sources:[a.contentURL]}),h=new j(e)}}else a["@type"]==="AudioObject"&&typeof a.contentURL!="undefined"&&b(e,{sources:[a.contentURL]});return h}}),s=o.extend({execute:function(a,c){var d;return typeof a.url!="undefined"&&(b(c,{url:a.url}),d=new k(c)),d}}),t=function(){this.strategies={def:new p,html5:new q,mediaElement:new r,oembed:new s}};b(t.prototype,{resolve:function(a,b){b=b||{};var c;if(typeof b.strategy!="undefined"&&typeof this.strategies[b.strategy]!="undefined"){var d=this.strategies[b.strategy];c=d.execute(a,b)}return c||this.strategies.def.execute(a,b)},insertFragment:function(a,b){function d(a,b){b(a);for(var c in a.childNodes)d(a.childNodes[c],b)}function e(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()}function f(a){var b=a.text||a.textContent||a.innerHTML||"",c=a.getAttribute("src"),d=document.getElementsByTagName("head")[0]||document.documentElement,e=document.createElement("script");e.type="text/javascript",c&&e.setAttribute("src",c),b&&e.appendChild(document.createTextNode(b)),d.insertBefore(e,d.firstChild),a.parentNode&&a.parentNode.removeChild(a)}var c=null;Object.prototype.toString.call(b)==="[object String]"?c=document.getElementById(b):c=b,c.innerHTML=(""+a).trim();var g=[],h=null;d(c,function(a){a.nodeName&&a.nodeName.toUpperCase()==="SCRIPT"&&(!a.type||a.type==="text/javascript")&&g.push(a)});for(h in g)f(g[h])},insert:function(a,b,c,d){var e=this,f=this.resolve(a,b).toHtml(function(a,b){e.insertFragment(b,c),typeof d=="function"&&d(null)})}}),typeof Joshfire!="undefined"&&typeof Joshfire.define!="undefined"?Joshfire.define([],function(){return new t}):typeof define!="undefined"?define("joshfire-framework/utils/mediaplayerlib",[],function(){return new t}):a.mediaFactory=new t}(typeof module!="undefined"?module.exports:window),define("joshfire-framework/vendor/underscore",[],function(){return function(){function A(a,b,c){if(a===b)return a!==0||1/a==1/b;if(a==null||b==null)return a===b;a._chain&&(a=a._wrapped),b._chain&&(b=b._wrapped);if(a.isEqual&&w.isFunction(a.isEqual))return a.isEqual(b);if(b.isEqual&&w.isFunction(b.isEqual))return b.isEqual(a);var d=i.call(a);if(d!=i.call(b))return!1;switch(d){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:a==0?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if(typeof a!="object"||typeof b!="object")return!1;var e=c.length;while(e--)if(c[e]==a)return!0;c.push(a);var f=0,g=!0;if(d=="[object Array]"){f=a.length,g=f==b.length;if(g)while(f--)if(!(g=f in a==f in b&&A(a[f],b[f],c)))break}else{if("constructor"in a!="constructor"in b||a.constructor!=b.constructor)return!1;for(var h in a)if(w.has(a,h)){f++;if(!(g=w.has(b,h)&&A(a[h],b[h],c)))break}if(g){for(h in b)if(w.has(b,h)&&!(f--))break;g=!f}}return c.pop(),g}var a=this,b=a._,c={},d=Array.prototype,e=Object.prototype,f=Function.prototype,g=d.slice,h=d.unshift,i=e.toString,j=e.hasOwnProperty,k=d.forEach,l=d.map,m=d.reduce,n=d.reduceRight,o=d.filter,p=d.every,q=d.some,r=d.indexOf,s=d.lastIndexOf,t=Array.isArray,u=Object.keys,v=f.bind,w=function(a){return new I(a)};typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=w),exports._=w):a._=w,w.VERSION="1.3.3";var x=w.each=w.forEach=function(a,b,d){if(a==null)return;if(k&&a.forEach===k)a.forEach(b,d);else if(a.length===+a.length){for(var e=0,f=a.length;e2;a==null&&(a=[]);if(m&&a.reduce===m)return d&&(b=w.bind(b,d)),e?a.reduce(b,c):a.reduce(b);x(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)});if(!e)throw new TypeError("Reduce of empty array with no initial value");return c},w.reduceRight=w.foldr=function(a,b,c,d){var e=arguments.length>2;a==null&&(a=[]);if(n&&a.reduceRight===n)return d&&(b=w.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=w.toArray(a).reverse();return d&&!e&&(b=w.bind(b,d)),e?w.reduce(f,b,c,d):w.reduce(f,b)},w.find=w.detect=function(a,b,c){var d;return y(a,function(a,e,f){if(b.call(c,a,e,f))return d=a,!0}),d},w.filter=w.select=function(a,b,c){var d=[];return a==null?d:o&&a.filter===o?a.filter(b,c):(x(a,function(a,e,f){b.call(c,a,e,f)&&(d[d.length]=a)}),d)},w.reject=function(a,b,c){var d=[];return a==null?d:(x(a,function(a,e,f){b.call(c,a,e,f)||(d[d.length]=a)}),d)},w.every=w.all=function(a,b,d){var e=!0;return a==null?e:p&&a.every===p?a.every(b,d):(x(a,function(a,f,g){if(!(e=e&&b.call(d,a,f,g)))return c}),!!e)};var y=w.some=w.any=function(a,b,d){b||(b=w.identity);var e=!1;return a==null?e:q&&a.some===q?a.some(b,d):(x(a,function(a,f,g){if(e||(e=b.call(d,a,f,g)))return c}),!!e)};w.include=w.contains=function(a,b){var c=!1;return a==null?c:r&&a.indexOf===r?a.indexOf(b)!=-1:(c=y(a,function(a){return a===b}),c)},w.invoke=function(a,b){var c=g.call(arguments,2);return w.map(a,function(a){return(w.isFunction(b)?b||a:a[b]).apply(a,c)})},w.pluck=function(a,b){return w.map(a,function(a){return a[b]})},w.max=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.max.apply(Math,a);if(!b&&w.isEmpty(a))return-Infinity;var d={computed:-Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>=d.computed&&(d={value:a,computed:g})}),d.value},w.min=function(a,b,c){if(!b&&w.isArray(a)&&a[0]===+a[0])return Math.min.apply(Math,a);if(!b&&w.isEmpty(a))return Infinity;var d={computed:Infinity};return x(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;gd?1:0}),"value")},w.groupBy=function(a,b){var c={},d=w.isFunction(b)?b:function(a){return a[b]};return x(a,function(a,b){var e=d(a,b);(c[e]||(c[e]=[])).push(a)}),c},w.sortedIndex=function(a,b,c){c||(c=w.identity);var d=0,e=a.length;while(d>1;c(a[f])=0})})},w.difference=function(a){var b=w.flatten(g.call(arguments,1),!0);return w.filter(a,function(a){return!w.include(b,a)})},w.zip=function(){var a=g.call(arguments),b=w.max(w.pluck(a,"length")),c=new Array(b);for(var d=0;d=0;c--)b=[a[c].apply(this,b)];return b[0]}},w.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}},w.keys=u||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)w.has(a,c)&&(b[b.length]=c);return b},w.values=function(a){return w.map(a,w.identity)},w.functions=w.methods=function(a){var b=[];for(var c in a)w.isFunction(a[c])&&b.push(c);return b.sort()},w.extend=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a},w.pick=function(a){var b={};return x(w.flatten(g.call(arguments,1)),function(c){c in a&&(b[c]=a[c])}),b},w.defaults=function(a){return x(g.call(arguments,1),function(b){for(var c in b)a[c]==null&&(a[c]=b[c])}),a},w.clone=function(a){return w.isObject(a)?w.isArray(a)?a.slice():w.extend({},a):a},w.tap=function(a,b){return b(a),a},w.isEqual=function(a,b){return A(a,b,[])},w.isEmpty=function(a){if(a==null)return!0;if(w.isArray(a)||w.isString(a))return a.length===0;for(var b in a)if(w.has(a,b))return!1;return!0},w.isElement=function(a){return!!a&&a.nodeType==1},w.isArray=t||function(a){return i.call(a)=="[object Array]"},w.isObject=function(a){return a===Object(a)},w.isArguments=function(a){return i.call(a)=="[object Arguments]"},w.isArguments(arguments)||(w.isArguments=function(a){return!!a&&!!w.has(a,"callee")}),w.isFunction=function(a){return i.call(a)=="[object Function]"},w.isString=function(a){return i.call(a)=="[object String]"},w.isNumber=function(a){return i.call(a)=="[object Number]"},w.isFinite=function(a){return w.isNumber(a)&&isFinite(a)},w.isNaN=function(a){return a!==a},w.isBoolean=function(a){return a===!0||a===!1||i.call(a)=="[object Boolean]"},w.isDate=function(a){return i.call(a)=="[object Date]"},w.isRegExp=function(a){return i.call(a)=="[object RegExp]"},w.isNull=function(a){return a===null},w.isUndefined=function(a){return a===void 0},w.has=function(a,b){return j.call(a,b)},w.noConflict=function(){return a._=b,this},w.identity=function(a){return a},w.times=function(a,b,c){for(var d=0;d/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},w.result=function(a,b){if(a==null)return null;var c=a[b];return w.isFunction(c)?c.call(a):c},w.mixin=function(a){x(w.functions(a),function(b){K(b,w[b]=a[b])})};var B=0;w.uniqueId=function(a){var b=B++;return a?a+b:b},w.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var C=/.^/,D={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"};for(var E in D)D[D[E]]=E;var F=/\\|'|\r|\n|\t|\u2028|\u2029/g,G=/\\(\\|'|r|n|t|u2028|u2029)/g,H=function(a){return a.replace(G,function(a,b){return D[b]})};w.template=function(a,b,c){c=w.defaults(c||{},w.templateSettings);var d="__p+='"+a.replace(F,function(a){return"\\"+D[a]}).replace(c.escape||C,function(a,b){return"'+\n_.escape("+H(b)+")+\n'"}).replace(c.interpolate||C,function(a,b){return"'+\n("+H(b)+")+\n'"}).replace(c.evaluate||C,function(a,b){return"';\n"+H(b)+"\n;__p+='"})+"';\n";c.variable||(d="with(obj||{}){\n"+d+"}\n"),d="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+d+"return __p;\n";var e=new Function(c.variable||"obj","_",d);if(b)return e(b,w);var f=function(a){return e.call(this,a,w)};return f.source="function("+(c.variable||"obj")+"){\n"+d+"}",f},w.chain=function(a){return w(a).chain()};var I=function(a){this._wrapped=a};w.prototype=I.prototype;var J=function(a,b){return b?w(a).chain():a},K=function(a,b){I.prototype[a]=function(){var a=g.call(arguments);return h.call(a,this._wrapped),J(b.apply(w,a),this._chain)}};w.mixin(w),x(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=d[a];I.prototype[a]=function(){var c=this._wrapped;b.apply(c,arguments);var d=c.length;return(a=="shift"||a=="splice")&&d===0&&delete c[0],J(c,this._chain)}}),x(["concat","join","slice"],function(a){var b=d[a];I.prototype[a]=function(){return J(b.apply(this._wrapped,arguments),this._chain)}}),I.prototype.chain=function(){return this._chain=!0,this},I.prototype.value=function(){return this._wrapped}}.call(this),typeof exports!="undefined"?typeof module!="undefined"&&module.exports?exports:exports._:this._}),define("joshfire-framework/vendor/backbone",["joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b){return function(){var c=this,d=c.Backbone,e=Array.prototype.slice,f=Array.prototype.splice,g;typeof exports!="undefined"?g=exports:g=c.Backbone={},g.VERSION="0.9.2",g.setDomLibrary=function(a){b=a},g.noConflict=function(){return c.Backbone=d,this},g.emulateHTTP=!1,g.emulateJSON=!1;var h=/\s+/,i=g.Events={on:function(a,b,c){var d,e,f,g,i;if(!b)return this;a=a.split(h),d=this._callbacks||(this._callbacks={});while(e=a.shift())i=d[e],f=i?i.tail:{},f.next=g={},f.context=c,f.callback=b,d[e]={tail:g,next:i?i.next:f};return this},off:function(b,c,d){var e,f,g,i,j,k;if(!(f=this._callbacks))return;if(!(b||c||d))return delete this._callbacks,this;b=b?b.split(h):a.keys(f);while(e=b.shift()){g=f[e],delete f[e];if(!g||!c&&!d)continue;i=g.tail;while((g=g.next)!==i)j=g.callback,k=g.context,(c&&j!==c||d&&k!==d)&&this.on(e,j,k)}return this},trigger:function(a){var b,c,d,f,g,i,j;if(!(d=this._callbacks))return this;i=d.all,a=a.split(h),j=e.call(arguments,1);while(b=a.shift()){if(c=d[b]){f=c.tail;while((c=c.next)!==f)c.callback.apply(c.context||this,j)}if(c=i){f=c.tail,g=[b].concat(j);while((c=c.next)!==f)c.callback.apply(c.context||this,g)}}return this}};i.bind=i.on,i.unbind=i.off;var j=g.Model=function(b,c){var d;b||(b={}),c&&c.parse&&(b=this.parse(b));if(d=A(this,"defaults"))b=a.extend({},d,b);c&&c.collection&&(this.collection=c.collection),this.attributes={},this._escapedAttributes={},this.cid=a.uniqueId("c"),this.changed={},this._silent={},this._pending={},this.set(b,{silent:!0}),this.changed={},this._silent={},this._pending={},this._previousAttributes=a.clone(this.attributes),this.initialize.apply(this,arguments)};a.extend(j.prototype,i,{changed:null,_silent:null,_pending:null,idAttribute:"id",initialize:function(){},toJSON:function(b){return a.clone(this.attributes)},get:function(a){return this.attributes[a]},escape:function(b){var c;if(c=this._escapedAttributes[b])return c;var d=this.get(b);return this._escapedAttributes[b]=a.escape(d==null?"":""+d)},has:function(a){return this.get(a)!=null},set:function(b,c,d){var e,f,g;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d||(d={});if(!e)return this;e instanceof j&&(e=e.attributes);if(d.unset)for(f in e)e[f]=void 0;if(!this._validate(e,d))return!1;this.idAttribute in e&&(this.id=e[this.idAttribute]);var h=d.changes={},i=this.attributes,k=this._escapedAttributes,l=this._previousAttributes||{};for(f in e){g=e[f];if(!a.isEqual(i[f],g)||d.unset&&a.has(i,f))delete k[f],(d.silent?this._silent:h)[f]=!0;d.unset?delete i[f]:i[f]=g,!a.isEqual(l[f],g)||a.has(i,f)!=a.has(l,f)?(this.changed[f]=g,d.silent||(this._pending[f]=!0)):(delete this.changed[f],delete this._pending[f])}return d.silent||this.change(d),this},unset:function(a,b){return(b||(b={})).unset=!0,this.set(a,null,b)},clear:function(b){return(b||(b={})).unset=!0,this.set(a.clone(this.attributes),b)},fetch:function(b){b=b?a.clone(b):{};var c=this,d=b.success;return b.success=function(a,e,f){if(!c.set(c.parse(a,f),b))return!1;d&&d(c,a)},b.error=g.wrapError(b.error,c,b),(this.sync||g.sync).call(this,"read",this,b)},save:function(b,c,d){var e,f;a.isObject(b)||b==null?(e=b,d=c):(e={},e[b]=c),d=d?a.clone(d):{};if(d.wait){if(!this._validate(e,d))return!1;f=a.clone(this.attributes)}var h=a.extend({},d,{silent:!0});if(e&&!this.set(e,d.wait?h:d))return!1;var i=this,j=d.success;d.success=function(b,c,f){var g=i.parse(b,f);d.wait&&(delete d.wait,g=a.extend(e||{},g));if(!i.set(g,d))return!1;j?j(i,b):i.trigger("sync",i,b,d)},d.error=g.wrapError(d.error,i,d);var k=this.isNew()?"create":"update",l=(this.sync||g.sync).call(this,k,this,d);return d.wait&&this.set(f,h),l},destroy:function(b){b=b?a.clone(b):{};var c=this,d=b.success,e=function(){c.trigger("destroy",c,c.collection,b)};if(this.isNew())return e(),!1;b.success=function(a){b.wait&&e(),d?d(c,a):c.trigger("sync",c,a,b)},b.error=g.wrapError(b.error,c,b);var f=(this.sync||g.sync).call(this,"delete",this,b);return b.wait||e(),f},url:function(){var a=A(this,"urlRoot")||A(this.collection,"url")||B();return this.isNew()?a:a+(a.charAt(a.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},parse:function(a,b){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},change:function(b){b||(b={});var c=this._changing;this._changing=!0;for(var d in this._silent)this._pending[d]=!0;var e=a.extend({},b.changes,this._silent);this._silent={};for(var d in e)this.trigger("change:"+d,this,this.get(d),b);if(c)return this;while(!a.isEmpty(this._pending)){this._pending={},this.trigger("change",this,b);for(var d in this.changed){if(this._pending[d]||this._silent[d])continue;delete this.changed[d]}this._previousAttributes=a.clone(this.attributes)}return this._changing=!1,this},hasChanged:function(b){return arguments.length?a.has(this.changed,b):!a.isEmpty(this.changed)},changedAttributes:function(b){if(!b)return this.hasChanged()?a.clone(this.changed):!1;var c,d=!1,e=this._previousAttributes;for(var f in b){if(a.isEqual(e[f],c=b[f]))continue;(d||(d={}))[f]=c}return d},previous:function(a){return!arguments.length||!this._previousAttributes?null:this._previousAttributes[a]},previousAttributes:function(){return a.clone(this._previousAttributes)},isValid:function(){return!this.validate(this.attributes)},_validate:function(b,c){if(c.silent||!this.validate)return!0;b=a.extend({},this.attributes,b);var d=this.validate(b,c);return d?(c&&c.error?c.error(this,d,c):this.trigger("error",this,d,c),!1):!0}});var k=g.Collection=function(a,b){b||(b={}),b.model&&(this.model=b.model),b.comparator&&(this.comparator=b.comparator),this._reset(),this.initialize.apply(this,arguments),a&&this.reset(a,{silent:!0,parse:b.parse})};a.extend(k.prototype,i,{model:j,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},add:function(b,c){var d,e,g,h,i,j,k={},l={},m=[];c||(c={}),b=a.isArray(b)?b.slice():[b];for(d=0,g=b.length;d').hide().appendTo("body")[0].contentWindow,this.navigate(d)),this._hasPushState?b(window).bind("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!f?b(window).bind("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=d;var g=window.location,h=g.pathname==this.options.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!h)return this.fragment=this.getFragment(null,!0),window.location.replace(this.options.root+"#"+this.fragment),!0;this._wantsPushState&&this._hasPushState&&h&&g.hash&&(this.fragment=this.getHash().replace(r,""),window.history.replaceState({},document.title,g.protocol+"//"+g.host+this.options.root+this.fragment));if(!this.options.silent)return this.loadUrl()},stop:function(){b(window).unbind("popstate",this.checkUrl).unbind("hashchange",this.checkUrl),clearInterval(this._checkUrlInterval),q.started=!1},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(a){var b=this.getFragment();b==this.fragment&&this.iframe&&(b=this.getFragment(this.getHash(this.iframe)));if(b==this.fragment)return!1;this.iframe&&this.navigate(b),this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(b){var c=this.fragment=this.getFragment(b),d=a.any(this.handlers,function(a){if(a.route.test(c))return a.callback(c),!0});return d},navigate:function(a,b){if(!q.started)return!1;if(!b||b===!0)b={trigger:b};var c=(a||"").replace(r,"");if(this.fragment==c)return;this._hasPushState?(c.indexOf(this.options.root)!=0&&(c=this.options.root+c),this.fragment=c,window.history[b.replace?"replaceState":"pushState"]({},document.title,c)):this._wantsHashChange?(this.fragment=c,this._updateHash(window.location,c,b.replace),this.iframe&&c!=this.getFragment(this.getHash(this.iframe))&&(b.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,c,b.replace))):window.location.assign(this.options.root+a),b.trigger&&this.loadUrl(a)},_updateHash:function(a,b,c){c?a.replace(a.toString().replace(/(javascript:|#).*$/,"")+"#"+b):a.hash=b}});var t=g.View=function(b){this.cid=a.uniqueId("view"),this._configure(b||{}),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},u=/^(\S+)\s*(.*)$/,v=["model","collection","el","id","attributes","className","tagName"];a.extend(t.prototype,i,{tagName:"div",$:function(a){return this.$el.find(a)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this},make:function(a,c,d){var e=document.createElement(a);return c&&b(e).attr(c),d&&b(e).html(d),e},setElement:function(a,c){return this.$el&&this.undelegateEvents(),this.$el=a instanceof b?a:b(a),this.el=this.$el[0],c!==!1&&this.delegateEvents(),this},delegateEvents:function(b){if(!b&&!(b=A(this,"events")))return;this.undelegateEvents();for(var c in b){var d=b[c];a.isFunction(d)||(d=this[b[c]]);if(!d)throw new Error('Method "'+b[c]+'" does not exist');var e=c.match(u),f=e[1],g=e[2];d=a.bind(d,this),f+=".delegateEvents"+this.cid,g===""?this.$el.bind(f,d):this.$el.delegate(g,f,d)}},undelegateEvents:function(){this.$el.unbind(".delegateEvents"+this.cid)},_configure:function(b){this.options&&(b=a.extend({},this.options,b));for(var c=0,d=v.length;c/g,">").replace(/"+a+"
    ";var c="<"+this.el.nodeName.toLowerCase();for(var d=0;d",c},hide:function(){c(this.el).hide(),this.trigger("hidden")},show:function(){c(this.el).show(),this.trigger("shown")},enhance:function(){this.customLoadEvent||this.trigger("load"),this.loadingClass&&c(this.el)&&(c(this.el).addClass(this.loadingClass),this.unbind("load",this.removeLoadingClass,this),this.bind("load",this.removeLoadingClass,this))},removeLoadingClass:function(){c(this.el).removeClass(this.loadingClass)}});return d}),define("joshfire-framework/uielement",["joshlib!view"],function(a){var b=a.extend({});return b}),define("joshfire-framework/adapters/tv/uielement",["joshlib!adapters/none/uielement","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c){var d=a.extend({initialize:function(c){a.prototype.initialize.call(this,c),b.bindAll(this,"navFocus","navBlur","processKey"),this.focused=!1;if(c){var d=["navUp","navRight","navDown","navLeft","navAction","navFocus","navBlur"];for(index in d)c[d[index]]&&(this[d[index]]=c[d[index]]);this.scroller=c.scroller||!1,this.offsetTop=c.offsetTop||0,this.offsetBottom=c.offsetBottom||0}},enhance:function(){if(this.scroller){var a=c(this.el),b=a.children().first(),d=0;this.navDown=function(){var c=a.height(),e=b.height();if(e<%= children %>"),this.UIItemClass=f.UIItemClass||b,this.itemOptions=f.itemOptions||{scroller:!1},this.itemTemplateEl=f.itemTemplateEl,this.itemOptions.templateEl=this.itemOptions.templateEl||this.itemTemplateEl,this.itemOptions.template=this.itemOptions.template||f.itemTemplate,this.contentSelector=f.contentSelector,this.items=[],this.itemFactory=f.itemFactory||function(a,b){var d={model:a,offset:b};return e.extend(d,this.itemOptions),new c(d)},this.customLoadEvent=!0,this.dataLoadingClass="loading",typeof f.dataLoadingClass!="undefined"&&(this.dataLoadingClass=f.dataLoadingClass),this.dataLoadingClass===!1&&(this.dataLoadingClass=null),this.bind("shown",function(){e.each(this.items,function(a){a.trigger("shown")})},this),this.bind("hidden",function(){e.each(this.items,function(a){a.trigger("hidden")})},this),a.prototype.initialize.call(this,f),f.collection&&this.setCollection(f.collection)},setCollection:function(a,b){this.collection&&(this.collection.unbind("change",this.update,this),this.collection.unbind("add",this.update,this),this.collection.unbind("remove",this.update,this),this.collection.unbind("reset",this.update,this),this.collection.unbind("syncstarted",this.syncStartedHandler,this),this.collection.unbind("syncsuccess",this.syncSuccessHandler,this),this.collection.unbind("syncerror",this.syncErrorHandler,this)),this.collection=a,a&&(a.bind("change",this.update,this),a.bind("add",this.update,this),a.bind("remove",this.update,this),a.bind("reset",this.update,this),a.bind("syncstarted",this.syncStartedHandler,this),a.bind("syncsuccess",this.syncSuccessHandler,this),a.bind("syncerror",this.syncErrorHandler,this)),this.update(b)},update:function(a){this.items=new Array(this.collection.length),this.itemsLoaded=0;var c=function(){++this.itemsLoaded,this.itemsLoaded===this.items.length&&this.trigger("load")};for(var d=0;dg&&(h=-a*(f-g+e.height())/this.items.length);var i="translate3d(0,"+h+"px,0)";d.css({"-webkit-transform":i,"-moz-transform":i,"-ms-transform":i,"-o-transform":i,transform:i}),f>g?b(this.el).find(".list-indicator").css({top:this.offsetTop+(g-this.offsetTop-this.offsetBottom-e.height())*a/this.items.length}):b(this.el).find(".list-indicator").css({top:this.offsetTop+(f-this.offsetTop-this.offsetBottom)*a/this.items.length})}}});return d}),define("joshfire-framework/adapters/tv/ui/grid",["joshlib!ui/list","joshlib!utils/dollar","joshlib!vendor/underscore"],function(a,b,c){var d=a.extend({initialize:function(b){b=b||{},a.prototype.initialize.call(this,b),this.active=-1,this.translateY=0,this.tolerance=b.tolerance||20},enhance:function(){a.prototype.enhance.call(this),this.$lis=this.$("li"),b(window).resize(c.bind(this.resize,this)),this.resize()},resize:function(){this.boundingRects=this.$lis.map(function(a,b){return b.getBoundingClientRect()}),this.leftBounds=this.boundingRects.map(function(a,b){return b.left}),this.rightBounds=this.boundingRects.map(function(a,b){return b.right}),this.topBounds=this.boundingRects.map(function(a,b){return b.top}),this.bottomBounds=this.boundingRects.map(function(a,b){return b.bottom}),this.centers=this.boundingRects.map(function(a,b){return{x:b.left+b.width*.5,y:b.top+b.height*.5}})},activate:function(a){this.$(".nav-active").removeClass("nav-active");var c=b(this.items[a].view.el);c.addClass("nav-active");var d=this.$("ul");this.active=a;var e=this.topBounds[a],f=this.bottomBounds[a],g=b(this.el).height();f+this.translateY>this.el.getBoundingClientRect().bottom?this.translateY=Math.max(g-f-100,-d.height()+g):e+this.translateY<=this.el.getBoundingClientRect().top&&(this.translateY=-e);if(this.translateY){var h="translate3d(0,"+this.translateY+"px,0)";d.css({"-webkit-transform":h,"-moz-transform":h,"-ms-transform":h,"-o-transform":h,transform:h})}},navFocus:function(b){a.prototype.navFocus.call(this,b),this.collection.length&&(this.active===-1?this.activate(0):this.activate(this.active))},navBlur:function(){a.prototype.navBlur.call(this),this.$(".nav-active").removeClass("nav-active")},navRight:function(a){var b=this.rightBounds[this.active],c=this.centers[this.active],d=3e4,e=-1;for(var f=this.leftBounds.length-1;f>=0;f--)if(this.isRight(f)){var g=this.centers[f],h=Math.sqrt(Math.pow(b-this.leftBounds[f],2)+Math.pow(c.y-g.y,2));if(Math.abs(h-d)=0;f--)if(this.isLeft(f)){var g=this.centers[f],h=Math.sqrt(Math.pow(b-this.rightBounds[f],2)+Math.pow(c.y-g.y,2));if(Math.abs(h-d)=0;f--)if(this.isDown(f)){var g=this.centers[f],h=Math.sqrt(Math.pow(c.x-g.x,2)+Math.pow(b-this.topBounds[f],2));if(Math.abs(h-d)=0;f--)if(this.isUp(f)){var g=this.centers[f],h=Math.sqrt(Math.pow(c.x-g.x,2)+Math.pow(b-this.bottomBounds[f],2));if(Math.abs(h-d)=this.rightBounds[this.active]-this.tolerance},isUp:function(a){return this.bottomBounds[a]<=this.topBounds[this.active]+this.tolerance},isDown:function(a){return this.topBounds[a]>=this.bottomBounds[this.active]-this.tolerance}});return d}),define("joshfire-framework/collection",["joshlib!vendor/backbone","joshlib!vendor/underscore"],function(a,b){var c=a.Collection.extend({initialize:function(a,b){this.ds=null,this.dsq={},b=b||{},b.dataSource&&this.setDataSource(b.dataSource),b.dataSourceQuery&&this.setDataSourceQuery(b.dataSourceQuery)},setDataSource:function(a){this.ds=a},setDataSourceQuery:function(a){this.dsq=a},sync:function(a,c,d){d=d||{};var e={};this.dsq&&(e=b.extend(e,this.dsq)),d.dataSourceQuery&&(e=b.extend(e,d.dataSourceQuery)),a==="read"&&(this.trigger("syncstarted",{method:a}),this.ds.find(e,b.bind(function(b,c){if(b){this.trigger("syncerror",{method:a,err:b}),d.error&&d.error(b);return}if(this.ds.children){var e=[];e=Array.prototype.concat.apply(e,c.entries.map(function(a){return a.entries})),d.success&&d.success(e)}else d.success&&d.success(c.entries||[]);this.trigger("syncsuccess",{method:a})},this)))}});return c}),define("joshfire-framework/router",["joshlib!vendor/backbone","joshlib!vendor/underscore"],function(a,b){var c=function(c){b.extend(c,{historyStart:function(b){a.history.start(b)}});var d=a.Router.extend(c);return new d};return c}),define("sleek",["joshlib!collection","joshlib!ui/dynamiccontainer","joshlib!ui/item","joshlib!ui/list","joshlib!ui/cardpanel","joshlib!ui/fadeinpanel","joshlib!ui/factorymedia","joshlib!ui/imageloader","joshlib!ui/imagesloader","joshlib!router","joshlib!vendor/backbone","joshlib!vendor/underscore","joshlib!utils/dollar","ui/imagegallery"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o=function(){l.bindAll(this,"initialize","setColor","slugify")};return o.extend=k.View.extend,l.extend(o.prototype,{deviceFamily:"all",clientWidth:document.body.clientWidth,convertItemType:function(a){var b=null;switch(a){case"Article/Status":b="status";break;case"NewsArticle":case"BlogPosting":case"Article":case"CreativeWork":b="news";break;case"Event":b="event";break;case"ImageObject":b="photo";break;case"VideoObject":b="video";break;case"MusicRecording":b="sound";break;case"Product":b="product";break;default:b="other"}return b},initialize:function(){var b=this;this.title=Joshfire.factory.config.app.name,this.tabs=Joshfire.factory.config.template.options.tabs||[],this.tabicons=Joshfire.factory.config.template.options.tabicons||[],this.backgroundURL=Joshfire.factory.config.template.options.backgroundimage?Joshfire.factory.config.template.options.backgroundimage.url:Joshfire.factory.config.template.options.backgroundurl,this.logoURL=Joshfire.factory.config.app.logo?Joshfire.factory.config.app.logo.contentURL:null,document.title=this.title,this.setColor(Joshfire.factory.config.template.options.color||"gray",function(){var c=b.getDatasources(),d=new Array(c.length),e=0;l.forEach(c,l.bind(function(c,e){var f=this.tabs[e]||c.name||"",g=this.tabicons[e],h=e+"--"+this.slugify(f.toLowerCase()),i=new a([],{dataSource:c,dataSourceQuery:{}}),j=c.getOutputType();d[e]={name:f,slug:h,icon:g||b.convertItemType(j),outputType:b.convertItemType(j),collection:i,index:e}},b));var f=b.createViews(d),g=b.createRoutes(d,f),h=j(g);h.historyStart()})},getDatasources:function(){var a=Joshfire.factory.getDataSource("main"),b=[];return a&&a.children&&a.children.length>0&&(b=b.concat(a.children)),b},setColor:function(a,b){m("#color").remove(),window.Sid.css("css/"+this.deviceFamily+"."+a+".css",b)},setTitle:function(a){m("#title").html(a)},getClassName:function(a,b){if(b!=="list")return b==="single"?"single content detail":"content detail";switch(a){case"status":case"event":return"content hashed-list";case"photo":return"content mosaic-list";default:return"content simple-list"}},createToolbar:function(a){var b=new k.Collection,c=null;for(var d=0;dc&&(d.setModel(a.collection.at(c)),d.render()),b.view.showChild("detail","right")}},createListElement:function(a){return a.outputType==="photo"?new n({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list"),dataLoadingClass:"dataloading",loadingClass:"loading"}):new d({templateEl:"#template-list-view",scroller:!0,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list")})},createDetailContainer:function(a,c){var d=this;return new b({viewFactory:function(b){return l.extend(b,{slug:a.slug}),d.createDetailElement(b,c)},className:d.getClassName(a,c?"single":"detail")})},createDetailElement:function(a){if(!a.model)return new c({});var b=this.convertItemType(a.model.get("@type")),d=this;switch(b){case"video":return new g({templateEl:"#template-"+b,scroller:!0,scrollerSelector:".wrapper",width:d.getContentWidth(),height:d.getContentHeight(),mediaOptions:{strategy:"html5",width:"100%",height:"80%",adjustSize:!0}});case"sound":return new g({templateEl:"#template-"+b,mediaOptions:{strategy:"html5"}});case"status":return new h({templateEl:"#template-"+b,scroller:!0,getImageUrl:function(){return d.getAuthorThumbnail(a.model.toJSON())}});default:return new i({templateEl:"#template-"+b,scroller:!0,imageClass:"fadein",processImageEl:function(a){var b=document.createElement("div");b.setAttribute("class","loader inv");var c=document.createElement("div");return c.setAttribute("class","figure"),c.appendChild(b),a.getAttribute("width")?c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"):c.setAttribute("style","width:"+a.getAttribute("width")+"px;max-width:100%"),a.parentNode.replaceChild(c,a),c.appendChild(a),c}})}},itemFactory:function(a){var b=this;return function(d,e){var f=d.toJSON(),g=a.outputType||b.convertItemType(f["@type"]),i="#template-"+g+"-item",j={data:{section:a},model:d,offset:e,templateEl:i};switch(g){case"photo":case"video":case"product":case"news":return j.getImageUrl=function(){return b.getThumbnail(f,e,.2)},j.imageContainer=".figure",new h(j);case"status":return j.getImageUrl=function(){return b.getAuthorThumbnail(f,e)},j.imageContainer=".figure",new h(j);default:return new c(j)}}},createRoutes:function(a,b){return{routes:{"":"home"},home:function(){a.length?this[a[0].slug]():(m("#title").html("No data"),document.body.id="nodata",m("#refresh").hide())}}},getContentWidth:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).width()});return Math.floor(m(b).width())},getContentHeight:function(){var a=m(".slide-panel").get(),b=l.max(a,function(a){return m(a).height()});return m(b).height()},getThumbnail:function(a,b,c){if(!a)return"";c=c||.2;var d=this.clientWidth*c,e=0,f=0,g=a.thumbnail,h=null,i=null,j=null;if(g&&g.length>0){j=g[0],f=j.width||0;for(var k=0;k=d&&(ef)j=g[k]}h=j.contentURL}return h||(a["@type"]==="ImageObject"&&a.contentURL?h=a.contentURL:a.image&&a.image.contentURL&&(h=a.image.contentURL)),h||(h=""),h},getAuthorThumbnail:function(a,b){if(!a)return"";var c="";return a.author&&a.author[0]&&(c=this.getThumbnail(a.author[0],b,.2)),c||(c=this.getThumbnail(a,b,.2)),c},slugify:function(a){return a=a.replace(/[^\-a-zA-Z0-9,&\s]+/ig,""),a=a.replace(/-/gi,"_"),a=a.replace(/\s/gi,"-"),a}}),o}),define("sleek.custom",["sleek"],function(a){return a}),define("sleek.tv",["sleek.custom","joshlib!uielement","joshlib!ui/toolbar","joshlib!ui/cardpanel","joshlib!ui/slidepanel","joshlib!ui/verticallist","joshlib!ui/grid","joshlib!ui/item","joshlib!ui/factorymedia","joshlib!ui/imageloader","joshlib!vendor/underscore","joshlib!utils/dollar"],function(a,b,c,d,e,f,g,h,i,j,k,l){return a.extend({initialize:function(b){var c=this,d=l(window),e=function(){l("body").css({zoom:Math.max(50,d.height()/10.8)+"%"})};d.resize(e),e(),a.prototype.initialize.call(this,function(){c.backgroundURL&&c.setBackground(c.backgroundURL),c.logoURL?c.setLogo(c.logoURL):c.setTitle(c.title)})},deviceFamily:"tv",setLogo:function(a){l("#logo").html('')},setBackground:function(a){l("body").css({backgroundImage:"url("+a+")"})},createToolbarElement:function(){return new c({el:"#toolbar",templateEl:"#template-toolbar",itemTemplateEl:"#toolbar-item"})},getClassName:function(a,b){return b==="list"?"content":b==="single"?"single content detail":"content detail"},createAdditionalViews:function(c){var d=this,e=j.extend({initialize:function(a){j.prototype.initialize.call(this,a),this.navUp=this.navDown=this.navAction=this.exit,this.offset=a.offset},exit:function(){this.hide(),window.location="#"+d.activeSection.slug},navLeft:function(){var a=this.offset-1;a<0&&(a=d.activeSection.collection.length-1);while(a!==this.offset&&d.activeSection.collection.at(a).get("@type")!=="ImageObject")a-=1,a<0&&(a=d.activeSection.collection.length-1);a!=this.offset&&(window.location="#"+d.activeSection.slug+"/"+a)},navRight:function(){var a=this.offset+1;a>=d.activeSection.collection.length&&(a=0);while(a!==this.offset&&d.activeSection.collection.at(a).get("@type")!=="ImageObject")a+=1,a>=d.activeSection.collection.length&&(a=0);a!=this.offset&&(window.location="#"+d.activeSection.slug+"/"+a)}});this.photoDetail=new e({el:"#photos-detail",templateEl:"#template-photo",getImageUrl:function(){return this.model.get("contentURL")}}),this.photoDetail.hide();var f=i.extend({initialize:function(a){i.prototype.initialize.call(this,a),this.navUp=this.navDown=this.navLeft=this.navRight=this.navAction=this.exit},exit:function(){this.hide(),window.location="#"+d.activeSection.slug}});this.videoDetail=new f({el:"#videos-detail",templateEl:"#template-video",mediaOptions:{width:"100%",height:"100%",autoPlay:!0,html5:!0}}),this.videoDetail.hide(),this.virtualView=new b({navRight:k.bind(function(){switch(this.focused){case"toolbar":if(this.activeSection&&!this.activeSection.loading){var a=this.activeSection.view;if(a.view){var b=a.view;b.children&&b.children.list?b.children.list.navFocus(this.virtualView):b.navFocus(this.virtualView),this.focused="list"}}}},this),navLeft:k.bind(function(){switch(this.focused){case"list":this.toolbarView.navFocus(this.virtualView),this.focused="toolbar";break;case"detail":window.location="#"+this.activeSection.slug}},this)}),a.prototype.createAdditionalViews.call(this,c)},createListElement:function(a){switch(a.outputType){case"video":case"photo":return new g({templateEl:"#template-mosaic",itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list")});default:return new f({templateEl:"#template-list-view",offsetTop:40,offsetBottom:40,itemFactory:this.itemFactory(a),collection:a.collection,className:a.outputType+" "+this.getClassName(a.outputType,"list")})}},createListAndDetailView:function(a,b){var c=new e({children:{list:a,detail:b},currentChild:"list",className:"slide-panel"});return c},showDetail:function(a,b,c){var d=a.collection.at(c),e=null;if(a.collection.length>c){switch(a.outputType){case"photo":e=this.photoDetail,e.offset=c,e.show();break;case"video":e=this.videoDetail,e.offset=c,e.show();break;default:b.view.children&&b.view.children.detail&&(e=b.view.children.detail,b.view.showChild("detail","right"))}e&&(e.setModel(a.collection.at(c)),e.render(),e.navFocus())}},createDetailElement:function(a,b){if(!a.model)return new h({});var c=this.convertItemType(a.model.get("@type")),d=this,e={templateEl:"#template-"+c,scroller:!0,offsetTop:100,offsetBottom:100,navLeft:k.bind(function(){b?(this.toolbarView.navFocus(this.virtualView),this.focused="toolbar"):window.location="#"+a.slug},this)};switch(c){case"video":case"photo":return null;case"sound":return e.mediaOptions={strategy:"html5",autoPlay:!0},new i(e);case"status":return e.getImageUrl=function(){return d.getAuthorThumbnail(a.model.toJSON())},new j(e);default:return e.getImageUrl=function(){return d.getThumbnail(a.model.toJSON())},new j(e)}},createRoutes:function(b,c){var d=a.prototype.createRoutes.call(this,b,c),e=this,f=this.toolbarView;return k.forEach(b,function(a,b){d.routes[a.slug]=a.slug,d[a.slug]=function(){e.activeSection=a,document.body.id=a.outputType,l("iframe, audio, video, object, embed").remove();var b=e.activeSection.view;a.collection.length?(e.moveToList(b),c.showChild(a.slug)):(c.showChild(a.slug),e.updateList(a,b));if(f.active===-1||e.activeSection.loading)f.activate(e.activeSection.index),f.navFocus(e.virtualView),e.focused="toolbar";else if(e.focused!=="toolbar"&&b.view){var d=b.view;d.children&&d.children.list?d.children.list.navFocus(e.virtualView):d.navFocus(e.virtualView),e.focused="list"}},d.routes[a.slug+"/:offset"]=a.slug+"Detail",d[a.slug+"Detail"]=function(b){b=parseInt(b,10),e.activeSection=a,document.body.id=a.outputType,l("iframe, audio, video, object, embed").remove(),c.showChild(a.slug);var d=e.activeSection.view;a.collection.length?e.showDetail(a,d,b):e.updateDetail(a,d,b),e.focused="detail"}}),d},getThumbnail:function(b,c){var d=document.body.clientWidth;switch(c%11){case 0:case 1:case 7:d*=.25;break;default:d*=.1}if(b.thumbnail){var e=b.thumbnail,f=e[0];for(var g=0;g=d&&(h.widthf.width)f=e[g]}return f?f.contentURL:""}return a.prototype.getThumbnail.call(this,b,c)}})}),define("app.tv",["sleek.tv","joshlib!utils/onready","joshlib!utils/dollar"],function(a,b,c){var d=new a;b(d.initialize)}) \ No newline at end of file diff --git a/package.json b/package.json index 0b2a7e1..7876d61 100755 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "sleek", "fullName": "Sleek", - "version": "1.2.1", + "version": "1.2.2", "description": "Generic-purpose nicely polished template that supports photos, videos, events, RSS feeds, status updates, contact info, and a map. The views are adapted automatically based on the datasources that you set in the configuration settings. Just make sure that you use the most appropriate datasouce type for the underlying template inputs!\n\nThe template is available in 5 different colors: blue, spicy, gray, earth and vegetal.", "keywords": [ "generic",