/*! Hammer.JS - v1.0.6dev - 2013-05-07
 * http://eightmedia.github.com/hammer.js
 *
 * Copyright (c) 2013 Jorik Tangelder <j.tangelder@gmail.com>;
 * Licensed under the MIT license */
(function(n,t){"use strict";function e(){if(!i.READY){i.event.determineEventTypes();for(var n in i.gestures)i.gestures.hasOwnProperty(n)&&i.detection.register(i.gestures[n]);i.event.onTouch(i.DOCUMENT,i.EVENT_MOVE,i.detection.detect),i.event.onTouch(i.DOCUMENT,i.EVENT_END,i.detection.detect),i.READY=!0}}var i=function(n,t){return new i.Instance(n,t||{})};i.defaults={stop_browser_behavior:{userSelect:"none",touchAction:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},i.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,i.HAS_TOUCHEVENTS="ontouchstart"in n,i.MOBILE_REGEX=/mobile|tablet|ip(ad|hone|od)|android/i,i.NO_MOUSEEVENTS=i.HAS_TOUCHEVENTS&&navigator.userAgent.match(i.MOBILE_REGEX),i.EVENT_TYPES={},i.DIRECTION_DOWN="down",i.DIRECTION_LEFT="left",i.DIRECTION_UP="up",i.DIRECTION_RIGHT="right",i.POINTER_MOUSE="mouse",i.POINTER_TOUCH="touch",i.POINTER_PEN="pen",i.EVENT_START="start",i.EVENT_MOVE="move",i.EVENT_END="end",i.DOCUMENT=document,i.plugins={},i.READY=!1,i.Instance=function(n,t){var r=this;return e(),this.element=n,this.enabled=!0,this.options=i.utils.extend(i.utils.extend({},i.defaults),t||{}),this.options.stop_browser_behavior&&i.utils.stopDefaultBrowserBehavior(this.element,this.options.stop_browser_behavior),i.event.onTouch(n,i.EVENT_START,function(n){r.enabled&&i.detection.startDetect(r,n)}),this},i.Instance.prototype={on:function(n,t){for(var r=n.split(" "),i=0;r.length>i;i++)this.element.addEventListener(r[i],t,!1);return this},off:function(n,t){for(var r=n.split(" "),i=0;r.length>i;i++)this.element.removeEventListener(r[i],t,!1);return this},trigger:function(n,t){var u=i.DOCUMENT.createEvent("Event"),r;return u.initEvent(n,!0,!0),u.gesture=t,r=this.element,i.utils.hasParent(t.target,r)&&(r=t.target),r.dispatchEvent(u),this},enable:function(n){return this.enabled=n,this}};var f=null,r=!1,u=!1;i.event={bindDom:function(n,t,i){for(var u=t.split(" "),r=0;u.length>r;r++)n.addEventListener(u[r],i,!1)},onTouch:function(n,t,e){var o=this;this.bindDom(n,i.EVENT_TYPES[t],function(s){var c=s.type.toLowerCase(),h;c.match(/mouse/)&&u||(c.match(/touch/)||c.match(/pointerdown/)||c.match(/mouse/)&&1===s.which?r=!0:c.match(/mouse/)&&1!==s.which&&(r=!1),c.match(/touch|pointer/)&&(u=!0),h=0,r&&(i.HAS_POINTEREVENTS&&t!=i.EVENT_END?h=i.PointerEvent.updatePointer(t,s):c.match(/touch/)?h=s.touches.length:u||(h=c.match(/up/)?0:1),h>0&&t==i.EVENT_END?t=i.EVENT_MOVE:h||(t=i.EVENT_END),h||null===f?f=s:s=f,e.call(i.detection,o.collectEventData(n,t,s)),i.HAS_POINTEREVENTS&&t==i.EVENT_END&&(h=i.PointerEvent.updatePointer(t,s))),h||(f=null,r=!1,u=!1,i.PointerEvent.reset()))})},determineEventTypes:function(){var n;n=i.HAS_POINTEREVENTS?i.PointerEvent.getEvents():i.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],i.EVENT_TYPES[i.EVENT_START]=n[0],i.EVENT_TYPES[i.EVENT_MOVE]=n[1],i.EVENT_TYPES[i.EVENT_END]=n[2]},getTouchList:function(n){return i.HAS_POINTEREVENTS?i.PointerEvent.getTouchList():n.touches?n.touches:(n.indentifier=1,[n])},collectEventData:function(n,t,r){var f=this.getTouchList(r,t),u=i.POINTER_TOUCH;return(r.type.match(/mouse/)||i.PointerEvent.matchType(i.POINTER_MOUSE,r))&&(u=i.POINTER_MOUSE),{center:i.utils.getCenter(f),timeStamp:+new Date,target:r.target,touches:f,eventType:t,pointerType:u,srcEvent:r,preventDefault:function(){this.srcEvent.preventManipulation&&this.srcEvent.preventManipulation(),this.srcEvent.preventDefault&&this.srcEvent.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return i.detection.stopDetect()}}}},i.PointerEvent={pointers:{},getTouchList:function(){var t=this,n=[];return Object.keys(t.pointers).sort().forEach(function(i){n.push(t.pointers[i])}),n},updatePointer:function(n,t){return n==i.EVENT_END?this.pointers={}:(t.identifier=t.pointerId,this.pointers[t.pointerId]=t),Object.keys(this.pointers).length},matchType:function(n,t){if(!t.pointerType)return!1;var r={};return r[i.POINTER_MOUSE]=t.pointerType==t.MSPOINTER_TYPE_MOUSE||t.pointerType==i.POINTER_MOUSE,r[i.POINTER_TOUCH]=t.pointerType==t.MSPOINTER_TYPE_TOUCH||t.pointerType==i.POINTER_TOUCH,r[i.POINTER_PEN]=t.pointerType==t.MSPOINTER_TYPE_PEN||t.pointerType==i.POINTER_PEN,r[n]},getEvents:function(){return["pointerdown MSPointerDown","pointermove MSPointerMove","pointerup pointercancel MSPointerUp MSPointerCancel"]},reset:function(){this.pointers={}}},i.utils={extend:function(n,i,r){for(var u in i)n[u]!==t&&r||(n[u]=i[u]);return n},hasParent:function(n,t){for(;n;){if(n==t)return!0;n=n.parentNode}return!1},getCenter:function(n){for(var r=[],i=[],t=0,u=n.length;u>t;t++)r.push(n[t].pageX),i.push(n[t].pageY);return{pageX:(Math.min.apply(Math,r)+Math.max.apply(Math,r))/2,pageY:(Math.min.apply(Math,i)+Math.max.apply(Math,i))/2}},getVelocity:function(n,t,i){return{x:Math.abs(t/n)||0,y:Math.abs(i/n)||0}},getAngle:function(n,t){var r=t.pageY-n.pageY,i=t.pageX-n.pageX;return 180*Math.atan2(r,i)/Math.PI},getDirection:function(n,t){var u=Math.abs(n.pageX-t.pageX),r=Math.abs(n.pageY-t.pageY);return u>=r?n.pageX-t.pageX>0?i.DIRECTION_LEFT:i.DIRECTION_RIGHT:n.pageY-t.pageY>0?i.DIRECTION_UP:i.DIRECTION_DOWN},getDistance:function(n,t){var r=t.pageX-n.pageX,i=t.pageY-n.pageY;return Math.sqrt(r*r+i*i)},getScale:function(n,t){return n.length>=2&&t.length>=2?this.getDistance(t[0],t[1])/this.getDistance(n[0],n[1]):1},getRotation:function(n,t){return n.length>=2&&t.length>=2?this.getAngle(t[1],t[0])-this.getAngle(n[1],n[0]):0},isVertical:function(n){return n==i.DIRECTION_UP||n==i.DIRECTION_DOWN},stopDefaultBrowserBehavior:function(n,t){var r,f=["webkit","khtml","moz","ms","o",""],i,u;if(t&&n.style){for(i=0;f.length>i;i++)for(u in t)t.hasOwnProperty(u)&&(r=u,f[i]&&(r=f[i]+r.substring(0,1).toUpperCase()+r.substring(1)),n.style[r]=t[u]);"none"==t.userSelect&&(n.onselectstart=function(){return!1})}}},i.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(n,t){this.current||(this.stopped=!1,this.current={inst:n,startEvent:i.utils.extend({},t),lastEvent:!1,name:""},this.detect(t))},detect:function(n){var t;if(this.current&&!this.stopped){n=this.extendEventData(n);for(var u=this.current.inst.options,r=0,f=this.gestures.length;f>r;r++)if(t=this.gestures[r],!this.stopped&&u[t.name]!==!1&&t.handler.call(t,n,this.current.inst)===!1){this.stopDetect();break}return this.current&&(this.current.lastEvent=n),n.eventType==i.EVENT_END&&!n.touches.length-1&&this.stopDetect(),n}},stopDetect:function(){this.previous=i.utils.extend({},this.current),this.current=null,this.stopped=!0},extendEventData:function(n){var t=this.current.startEvent,r,o;if(t&&(n.touches.length!=t.touches.length||n.touches===t.touches))for(t.touches=[],r=0,o=n.touches.length;o>r;r++)t.touches.push(i.utils.extend({},n.touches[r]));var s=n.timeStamp-t.timeStamp,e=n.center.pageX-t.center.pageX,u=n.center.pageY-t.center.pageY,f=i.utils.getVelocity(s,e,u);return i.utils.extend(n,{deltaTime:s,deltaX:e,deltaY:u,velocityX:f.x,velocityY:f.y,distance:i.utils.getDistance(t.center,n.center),angle:i.utils.getAngle(t.center,n.center),direction:i.utils.getDirection(t.center,n.center),scale:i.utils.getScale(t.touches,n.touches),rotation:i.utils.getRotation(t.touches,n.touches),startEvent:t}),n},register:function(n){var r=n.defaults||{};return r[n.name]===t&&(r[n.name]=!0),i.utils.extend(i.defaults,r,!0),n.index=n.index||1e3,this.gestures.push(n),this.gestures.sort(function(n,t){return n.index<t.index?-1:n.index>t.index?1:0}),this.gestures}},i.gestures=i.gestures||{},i.gestures.Hold={name:"hold",index:10,defaults:{hold_timeout:500,hold_threshold:1},timer:null,handler:function(n,t){switch(n.eventType){case i.EVENT_START:clearTimeout(this.timer),i.detection.current.name=this.name,this.timer=setTimeout(function(){"hold"==i.detection.current.name&&t.trigger("hold",n)},t.options.hold_timeout);break;case i.EVENT_MOVE:n.distance>t.options.hold_threshold&&clearTimeout(this.timer);break;case i.EVENT_END:clearTimeout(this.timer)}}},i.gestures.Tap={name:"tap",index:100,defaults:{tap_max_touchtime:250,tap_max_distance:10,tap_always:!0,doubletap_distance:20,doubletap_interval:300},handler:function(n,t){if(n.eventType==i.EVENT_END){var r=i.detection.previous,u=!1;if(n.deltaTime>t.options.tap_max_touchtime||n.distance>t.options.tap_max_distance)return;r&&"tap"==r.name&&n.timeStamp-r.lastEvent.timeStamp<t.options.doubletap_interval&&n.distance<t.options.doubletap_distance&&(t.trigger("doubletap",n),u=!0),(!u||t.options.tap_always)&&(i.detection.current.name="tap",t.trigger(i.detection.current.name,n))}}},i.gestures.Swipe={name:"swipe",index:40,defaults:{swipe_max_touches:1,swipe_velocity:.7},handler:function(n,t){if(n.eventType==i.EVENT_END){if(t.options.swipe_max_touches>0&&n.touches.length>t.options.swipe_max_touches)return;(n.velocityX>t.options.swipe_velocity||n.velocityY>t.options.swipe_velocity)&&(t.trigger(this.name,n),t.trigger(this.name+n.direction,n))}}},i.gestures.Drag={name:"drag",index:50,defaults:{drag_min_distance:10,correct_for_drag_min_distance:!0,drag_max_touches:1,drag_block_horizontal:!1,drag_block_vertical:!1,drag_lock_to_axis:!1,drag_lock_min_distance:25},triggered:!1,handler:function(n,r){var f,u;if(i.detection.current.name!=this.name&&this.triggered)return r.trigger(this.name+"end",n),this.triggered=!1,t;if(!(r.options.drag_max_touches>0&&n.touches.length>r.options.drag_max_touches))switch(n.eventType){case i.EVENT_START:this.triggered=!1;break;case i.EVENT_MOVE:if(n.distance<r.options.drag_min_distance&&i.detection.current.name!=this.name)return;i.detection.current.name!=this.name&&(i.detection.current.name=this.name,r.options.correct_for_drag_min_distance)&&(f=Math.abs(r.options.drag_min_distance/n.distance),i.detection.current.startEvent.center.pageX+=n.deltaX*f,i.detection.current.startEvent.center.pageY+=n.deltaY*f,n=i.detection.extendEventData(n)),(i.detection.current.lastEvent.drag_locked_to_axis||r.options.drag_lock_to_axis&&r.options.drag_lock_min_distance<=n.distance)&&(n.drag_locked_to_axis=!0),u=i.detection.current.lastEvent.direction,n.drag_locked_to_axis&&u!==n.direction&&(n.direction=i.utils.isVertical(u)?0>n.deltaY?i.DIRECTION_UP:i.DIRECTION_DOWN:0>n.deltaX?i.DIRECTION_LEFT:i.DIRECTION_RIGHT),this.triggered||(r.trigger(this.name+"start",n),this.triggered=!0),r.trigger(this.name,n),r.trigger(this.name+n.direction,n),(r.options.drag_block_vertical&&i.utils.isVertical(n.direction)||r.options.drag_block_horizontal&&!i.utils.isVertical(n.direction))&&n.preventDefault();break;case i.EVENT_END:this.triggered&&r.trigger(this.name+"end",n),this.triggered=!1}}},i.gestures.Transform={name:"transform",index:45,defaults:{transform_min_scale:.01,transform_min_rotation:1,transform_always_block:!1},triggered:!1,handler:function(n,r){if(i.detection.current.name!=this.name&&this.triggered)return r.trigger(this.name+"end",n),this.triggered=!1,t;if(!(2>n.touches.length))switch(r.options.transform_always_block&&n.preventDefault(),n.eventType){case i.EVENT_START:this.triggered=!1;break;case i.EVENT_MOVE:var f=Math.abs(1-n.scale),u=Math.abs(n.rotation);if(r.options.transform_min_scale>f&&r.options.transform_min_rotation>u)return;i.detection.current.name=this.name,this.triggered||(r.trigger(this.name+"start",n),this.triggered=!0),r.trigger(this.name,n),u>r.options.transform_min_rotation&&r.trigger("rotate",n),f>r.options.transform_min_scale&&(r.trigger("pinch",n),r.trigger("pinch"+(1>n.scale?"in":"out"),n));break;case i.EVENT_END:this.triggered&&r.trigger(this.name+"end",n),this.triggered=!1}}},i.gestures.Touch={name:"touch",index:-1/0,defaults:{prevent_default:!1,prevent_mouseevents:!1},handler:function(n,r){return r.options.prevent_mouseevents&&n.pointerType==i.POINTER_MOUSE?(n.stopDetect(),t):(r.options.prevent_default&&n.preventDefault(),n.eventType==i.EVENT_START&&r.trigger(this.name,n),t)}},i.gestures.Release={name:"release",index:1/0,handler:function(n,t){n.eventType==i.EVENT_END&&t.trigger(this.name,n)}},"function"==typeof define&&"object"==typeof define.amd&&define.amd?(n.Hammer=i,define(function(){return i})):"object"==typeof module&&"object"==typeof module.exports?module.exports=i:n.Hammer=i})(this),function(n,t){"use strict";n!==t&&(Hammer.event.bindDom=function(i,r,u){n(i).on(r,function(n){var i=n.originalEvent||n;i.pageX===t&&(i.pageX=n.pageX,i.pageY=n.pageY),i.target||(i.target=n.target),i.which===t&&(i.which=i.button),i.preventDefault||(i.preventDefault=n.preventDefault),i.stopPropagation||(i.stopPropagation=n.stopPropagation),u.call(this,i)})},Hammer.Instance.prototype.on=function(t,i){return n(this.element).on(t,i)},Hammer.Instance.prototype.off=function(t,i){return n(this.element).off(t,i)},Hammer.Instance.prototype.trigger=function(t,i){var r=n(this.element);return r.has(i.target).length&&(r=n(i.target)),r.trigger({type:t,gesture:i})},n.fn.hammer=function(t){return this.each(function(){var r=n(this),i=r.data("hammer");i?i&&t&&Hammer.utils.extend(i.options,t):r.data("hammer",new Hammer(this,t||{}))})})}(window.jQuery||window.Zepto),function(){"use strict";$.widget("ui.scrollbox",{options:{step:0,scrollingEnabled:!0},_create:function(){if(this.container=this.element.addClass("scrollbox-container").attr("tabindex","1"),this.items=this.element.children(),this.left=$('<div class="scrollbox-left-button"></div>').appendTo(this.container),this.viewport=$('<div class="scrollbox-viewport"></div>').appendTo(this.container),this.view=$('<div class="scrollbox-view"></div>').appendTo(this.viewport),this.right=$('<div class="scrollbox-right-button"></div>').appendTo(this.container),this.scrollbar=$('<div class="scrollbox-scrollbar"></div>').appendTo(this.container),this.scroll=$('<div class="scrollbox-scroll"></div>').appendTo(this.scrollbar),this.view.append(this.items),$.easing.vsEaseOutQuad===undefined&&$.extend($.easing,{vsEaseOutQuad:function(n,t,i,r,u){return-r*(t/=u)*(t-2)+i}}),$.browser.msie&&parseInt($.browser.version,10)<=8){var n=this.container.width()-this.left.outerWidth(!0)-this.right.outerWidth(!0);this.viewport.width(n).height(this.container.height()-this.scrollbar.outerHeight(!0)),this.scrollbar.width(n)}"Hammer"in window&&!$.browser.msie&&Hammer(this.viewport),this.scroll.draggable({axis:"x",containment:"parent",drag:$.proxy(this._onScroll,this),stop:$.proxy(this._onStopScroll,this)});this.container.on("mousewheel",$.proxy(this._onMouseScroll,this));this.left.on("mousedown",$.proxy(this._onLeftClick,this));this.right.on("mousedown",$.proxy(this._onRightClick,this));this.container.on("keydown",$.proxy(this._onKeydown,this));this.scroll.on("mousedown",$.proxy(this._onStartScroll,this));this.scrollbar.on("mousedown",$.proxy(this._onScrollbarClick,this));this.viewport.on("drag",$.proxy(this._onTouchDrag,this));this.viewport.on("dragstart",$.proxy(this._onTouchDragStart,this));this.viewport.on("dragend",$.proxy(this._onTouchDragEnd,this));this.refresh()},refresh:function(){if(Vista.Data.IsVistaWebMobile||!window.matchMedia("(max-width: "+Vista.Data.DeviceScreenSize+")").matches){this.items=this.view.children();var n=0;this.items.filter(":visible").each(function(){n+=$(this).outerWidth(!0)}),(Vista.Data.DisplayDoubleHeightNowShowingCarousel&&this.container[0].id==="home-now-showing"||Vista.Data.DisplayDoubleHeightComingSoonCarousel&&this.container[0].id==="home-coming-soon")&&(n=0,this.items.filter(".movie:visible").each(function(){n+=$(this).outerWidth(!0)})),n+=2,this.totalWidth=n,this.viewPortWidth=this.viewport.innerWidth(),this.maxViewOffset=n-this.viewPortWidth,this.scrollable=this.options.scrollingEnabled?this.maxViewOffset>0:!1,this.scrollable?(this.scrollbar.show(),this.scroll.width(Math.round(this.viewport.innerWidth()/n*this.scrollbar.innerWidth()-2)),this.maxScrollOffset=this.scrollbar.innerWidth()-this.scroll.outerWidth(!0)):this.scrollbar.hide(),this.options.step||(this.options.step=this.viewPortWidth),this.view.css("left","").width(n),this.scroll.css("left","")}},destroy:function(){this.element.removeClass("scrollbox-container").removeAttr("tabindex").append(this.items),this.left.remove(),this.right.remove(),this.viewport.remove(),this.scrollbar.remove(),$.Widget.prototype.destroy.call(this)},_moveTo:function(n,t){if(!this.scrollable)return null;t=$.extend({duration:0,queue:!1,easing:"vsEaseOutQuad",overscrollWeight:4},t||{});var o=1/this.maxViewOffset*-n,i=o*this.maxScrollOffset,r=this._overscroll(n);if(r!==0){var f=r===-1?n:n+this.maxViewOffset,s=f/t.overscrollWeight,u=r===-1?i:i-this.maxScrollOffset,e=u/t.overscrollWeight;n=n-f+s,i=i-u+e}return this.view.animate({left:n},t),this.scroll.animate({left:i},t)},_moveScrollTo:function(n,t){var r=1/this.maxScrollOffset*n,i=r*this.maxViewOffset;return this._moveTo(i,t)},_moveBy:function(n,t){var i=this.view.position().left;return this._moveTo(i+-n,t)},_moveScrollBy:function(n,t){var i=this.scroll.position().left;return this._moveScrollTo(i+n,t)},_overscroll:function(n){return(n=n||this.view.position().left,-n>this.maxViewOffset)?1:n>0?-1:0},_snapBack:function(n){var t,i;return(n=$.extend({duration:200},n||{}),t=this._overscroll(),t!==0)?(i=t===-1?0:-this.maxViewOffset,this._moveTo(i,n)):null},_onTouchDragStart:function(n){this.view.stop(),this.scroll.stop(),n.preventDefault(),this.startPos=this.view.position().left},_onTouchDrag:function(n){n.preventDefault(),this._moveTo(this.startPos+n.gesture.deltaX)},_onTouchDragEnd:function(n){n.preventDefault();var r=n.gesture.direction==="left"?1:-1,t=n.gesture.velocityX*150*r,i=Math.min(300,Math.abs(t)/Math.abs(n.gesture.velocityX)*2);this._overscroll()===0?this._moveBy(t,{duration:i,complete:$.proxy(this._snapBack,this)}):this._snapBack(),this.startPos=null},_onLeftClick:function(){return(this.view.stop(),this.scroll.stop(),this.view.position().left>=0)?(this._snapBack(),!1):(this._moveBy(-this.options.step,{duration:400,complete:$.proxy(this._snapBack,this)}),!0)},_onRightClick:function(){return(this.view.stop(),this.scroll.stop(),Math.round(this.view.position().left)<=Math.round(-this.maxViewOffset))?(this._snapBack(),!1):(this._moveBy(this.options.step,{duration:400,complete:$.proxy(this._snapBack,this)}),!0)},_onStartScroll:function(){this.scroll.addClass("scrollbox-scrolling"),$("body").mouseup($.proxy(this._onStopScroll,this))},_onStopScroll:function(){this.scroll.removeClass("scrollbox-scrolling"),$("body").unbind("mouseup",$.proxy(this._onStopScroll,this))},_onScroll:function(n,t){this.view.stop(!0,!1),this.scroll.stop(!0,!1),this._moveScrollTo(-t.position.left)},_onScrollbarClick:function(n){var r,i,t;$(n.target).is(this.scroll)||(r=this.scroll.position().left,i=typeof n.offsetX=="undefined"?n.pageX-$(n.target).offset().left:n.offsetX,i>=r&&i<=r+this.scroll.outerWidth(!0))||(t=Math.round(i-this.scroll.outerWidth()/2),t=Math.max(0,t),t=Math.min(this.maxScrollOffset,t),this._moveScrollTo(-t,{duration:200}))},_onMouseScroll:function(n,t,i,r){return i===1||r===1?!this._onLeftClick():i===-1||r===-1?!this._onRightClick():!0},_onKeydown:function(n){switch(n.which){case 37:this._onLeftClick();break;case 39:this._onRightClick()}}})}()