/* Minification failed. Returning unminified contents.
(54,9-14): run-time error JS1195: Expected expression: class
(55,9-10): run-time error JS1002: Syntax error: }
(58,66-67): run-time error JS1004: Expected ';': {
(73,50-51): run-time error JS1004: Expected ';': {
(78,35-36): run-time error JS1014: Invalid character: `
(78,37-38): run-time error JS1004: Expected ';': {
(78,71-72): run-time error JS1004: Expected ';': {
(79,93-94): run-time error JS1004: Expected ';': {
(79,111-112): run-time error JS1195: Expected expression: &
(79,136-137): run-time error JS1195: Expected expression: &
(79,154-155): run-time error JS1014: Invalid character: `
(83,35-36): run-time error JS1014: Invalid character: `
(83,37-38): run-time error JS1004: Expected ';': {
(84,54-55): run-time error JS1004: Expected ';': {
(85,88-89): run-time error JS1004: Expected ';': {
(85,110-111): run-time error JS1195: Expected expression: &
(85,135-136): run-time error JS1195: Expected expression: &
(85,161-162): run-time error JS1014: Invalid character: `
(90,31-32): run-time error JS1014: Invalid character: `
(90,33-34): run-time error JS1004: Expected ';': {
(91,50-51): run-time error JS1004: Expected ';': {
(92,68-69): run-time error JS1004: Expected ';': {
(92,84-85): run-time error JS1195: Expected expression: &
(92,109-110): run-time error JS1014: Invalid character: `
(100,62-63): run-time error JS1004: Expected ';': {
(101,32-33): run-time error JS1014: Invalid character: `
(101,34-35): run-time error JS1004: Expected ';': {
(102,46-47): run-time error JS1004: Expected ';': {
(103,64-65): run-time error JS1004: Expected ';': {
(103,80-81): run-time error JS1195: Expected expression: &
(103,101-102): run-time error JS1195: Expected expression: &
(103,124-125): run-time error JS1014: Invalid character: `
(113,43-44): run-time error JS1004: Expected ';': {
(119,38-39): run-time error JS1195: Expected expression: >
(121,22-23): run-time error JS1195: Expected expression: ,
(125,18-19): run-time error JS1195: Expected expression: )
(127,52-53): run-time error JS1004: Expected ';': {
(147,29-30): run-time error JS1004: Expected ';': {
(153,27-28): run-time error JS1004: Expected ';': {
(161,9-10): run-time error JS1002: Syntax error: }
(162,9-24): run-time error JS1197: Too many errors. The file might not be a JavaScript file: ShowtimesNearMe
(130,21-27): run-time error JS1018: 'return' statement outside of function: return
 */
/* Minification failed. Returning unminified contents.
(10,9-14): run-time error JS1195: Expected expression: class
(11,9-10): run-time error JS1002: Syntax error: }
(14,66-67): run-time error JS1004: Expected ';': {
(29,50-51): run-time error JS1004: Expected ';': {
(34,35-36): run-time error JS1014: Invalid character: `
(34,37-38): run-time error JS1004: Expected ';': {
(34,71-72): run-time error JS1004: Expected ';': {
(35,93-94): run-time error JS1004: Expected ';': {
(35,111-112): run-time error JS1195: Expected expression: &
(35,136-137): run-time error JS1195: Expected expression: &
(35,154-155): run-time error JS1014: Invalid character: `
(39,35-36): run-time error JS1014: Invalid character: `
(39,37-38): run-time error JS1004: Expected ';': {
(40,54-55): run-time error JS1004: Expected ';': {
(41,88-89): run-time error JS1004: Expected ';': {
(41,110-111): run-time error JS1195: Expected expression: &
(41,135-136): run-time error JS1195: Expected expression: &
(41,161-162): run-time error JS1014: Invalid character: `
(46,31-32): run-time error JS1014: Invalid character: `
(46,33-34): run-time error JS1004: Expected ';': {
(47,50-51): run-time error JS1004: Expected ';': {
(48,68-69): run-time error JS1004: Expected ';': {
(48,84-85): run-time error JS1195: Expected expression: &
(48,109-110): run-time error JS1014: Invalid character: `
(56,62-63): run-time error JS1004: Expected ';': {
(57,32-33): run-time error JS1014: Invalid character: `
(57,34-35): run-time error JS1004: Expected ';': {
(58,46-47): run-time error JS1004: Expected ';': {
(59,64-65): run-time error JS1004: Expected ';': {
(59,80-81): run-time error JS1195: Expected expression: &
(59,101-102): run-time error JS1195: Expected expression: &
(59,124-125): run-time error JS1014: Invalid character: `
(69,43-44): run-time error JS1004: Expected ';': {
(75,38-39): run-time error JS1195: Expected expression: >
(77,22-23): run-time error JS1195: Expected expression: ,
(81,18-19): run-time error JS1195: Expected expression: )
(83,52-53): run-time error JS1004: Expected ';': {
(103,29-30): run-time error JS1004: Expected ';': {
(109,27-28): run-time error JS1004: Expected ';': {
(117,9-10): run-time error JS1002: Syntax error: }
(118,9-24): run-time error JS1197: Too many errors. The file might not be a JavaScript file: ShowtimesNearMe
(86,21-27): run-time error JS1018: 'return' statement outside of function: return
 */
/// <reference path="../app/showtimes.ts" />
/// <reference path="../app/tealium.ts" />
/// <reference path="../app/googleanalytics.ts" />
/// <reference path="../app/cinemark.ts" />
/// <reference path="../app/models.ts" />
var Cinemark;
(function (Cinemark) {
    let ShowtimesNearMe;
    (function (ShowtimesNearMe) {
        class Elements {
        }
        ShowtimesNearMe.Elements = Elements;
        class Model {
            constructor(contentId, cinemarkMovieId, screeningId) {
                this.showtimeDateFormat = "MM/D/YYYY";
                this.routeToGetTheatersForMovieWithSearchText = "showtimes/GetByMovieIdWithSearch?";
                this.routeToGetTheatersForMovieWithGeoPosition = "showtimes/GetByMovieIdWithGeoCode?";
                this.routeToGetTheatersBySearchText = "theaters/GetTheatersbyText?";
                this.routeToGetTheatersByGeoPosition = "theaters/GetTheatersByGeoCode?";
                this.routeToGetZipCodeByGeoPosition = "search/GetZipCodeByGeolocation?";
                this.routeToGetScreeningTheatersForMovieWithSearchText = "screening/UpdateTheaterList?";
                this.routeAdvanceTicketsByTimezoneText = "movie/UpdateShowTimeByZipCode";
                this.contentId = contentId;
                this.cinemarkMovieId = cinemarkMovieId;
                this.screeningId = screeningId;
                this.theatersUpdated = new Cinemark.Models.Observer();
                this.needsLocationUpdated = new Cinemark.Models.Observer();
            }
            findTheatersBySearchText(searchText) {
                var fullUrl;
                let userIsUnlocated = $('.unlocatedInput__inputBox').length ? true : false;
                if (this.cinemarkMovieId > 0) {
                    if (this.screeningId > 0) {
                        fullUrl = `${Cinemark.getBaseUmbracoApiUrl()}${this
                            .routeToGetScreeningTheatersForMovieWithSearchText}screeningId=${this.screeningId}&searchText=${searchText}&allTheaters=false`;
                    }
                    else {
                        this.showDate = $("#showdatesCarousel .item-selected a").data("datevalue");
                        fullUrl = `${Cinemark
                            .getBaseUmbracoApiUrl()}${this
                            .routeToGetTheatersForMovieWithSearchText}cinemarkMovieId=${this.cinemarkMovieId}&searchText=${searchText}&showDate=${this.showDate}`;
                    }
                    this.headlineText = searchText;
                }
                else {
                    fullUrl = `${Cinemark
                        .getBaseUmbracoApiUrl()}${this
                        .routeToGetTheatersBySearchText}contentId=${this.contentId}&searchText=${searchText}`;
                    this.headlineText = "Theatres Near " + searchText;
                }
                $("#Headline").show();
                $("#mainHeaderZipCode").text(searchText);
                this.showingAllTheaters = false;
                this.callApi(fullUrl, userIsUnlocated);
            }
            findTheatersWithGeoPosition(latitude, longitude) {
                const zipUrl = `${Cinemark
                    .getBaseUmbracoApiUrl()}${this
                    .routeToGetZipCodeByGeoPosition}contentId=${this.contentId}&latitude=${latitude}&longitude=${longitude}`;
                lastSearchedZipCodeZip = $.ajax({
                    type: 'GET',
                    cache: false,
                    async: false,
                    url: zipUrl,
                }).responseText;
                setCookie("LastGeoPosition", latitude + "," + longitude);
                this.findTheatersBySearchText(lastSearchedZipCodeZip);
            }
            callApi(url, userIsUnlocated) {
                var self = this;
                $.ajax({
                    type: 'GET',
                    cache: false,
                    url: url,
                    success: (data) => {
                        self.successCallback(data, userIsUnlocated);
                    },
                    error: () => {
                        self.errorCallback();
                    }
                });
            }
            successCallback(data, userIsUnlocated) {
                if (userIsUnlocated) {
                    window.location.reload();
                    return;
                }
                this.needsLocationUpdated.notify(false);
                this.theatersUpdated.notify(data);
                new Cinemark.FavoriteTheater().initialize();
                if (isAuthenticated) {
                    new Cinemark.WatchList().initialize();
                }
                if (this.showingAllTheaters)
                    $("#SearchResults").addClass("allParticipatingTheaters");
                else
                    $("#SearchResults").removeClass("allParticipatingTheaters");
                //close modal if exists
                $("#zipCodeChangeModal").modal('hide');
                //shows message if exists
                $("#presaleMessage").show();
            }
            errorCallback() {
                this.needsLocationUpdated.notify(true);
                var errorHtml = "<p>No showtimes are scheduled near this location.</p>";
                //make failure template
                this.theatersUpdated.notify(errorHtml);
            }
            setShowDate() {
                if (currentShowdate != undefined && currentShowdate.length > 0) {
                    this.showDate = currentShowdate;
                }
                else if (this.showDate === undefined) {
                    this.showDate = moment().format(this.showtimeDateFormat);
                }
            }
        }
        ShowtimesNearMe.Model = Model;
        class View {
            constructor(elements, model, controller) {
                this.initiatedSearch = false;
                this.synopsisCharacterCutOff = 480;
                this.elements = elements;
                this.model = model;
                this.controller = controller;
                this.init();
            }
            init() {
                var self = this;
                if (typeof (this.elements.useLocationButton) !== "undefined") {
                    this.elements.useLocationButton.onclick = (event) => {
                        self.startGeoSearch();
                        self.initiatedSearch = true;
                    };
                }
                self.configureLocationSearch();
                if (typeof (this.elements.searchForm) !== "undefined"
                    || typeof (this.elements.searchFormModal) !== "undefined") {
                    $(".ZipSearchForm").submit((event) => {
                        event.preventDefault();
                        var searchText = $("#ZipSearchText").val();
                        if (searchText == null)
                            searchText = $("#ZipSearchTextModal").val();
                        if (searchText !== "") {
                            self.performZipSearch(self, event, searchText);
                        }
                    });
                }
                this.model.theatersUpdated.attach((data) => {
                    self.updateTargetDiv(data);
                    self.refreshClickEvents();
                });
                this.model.needsLocationUpdated.attach((isNeeded) => {
                    self.toggleLocationNeededMessage(isNeeded);
                    self.configureLocationSearch();
                });
                if (this.elements.showtimeLinks.length) {
                    this.elements.showtimeLinks.map((link) => {
                        link.addEventListener('click', (e) => {
                            e.preventDefault();
                            let tealiumData;
                            if (typeof utag_data !== 'undefined') {
                                tealiumData = {
                                    'customer_id': utag_data.customer_id,
                                    'customer_type': utag_data.customer_type,
                                    'link_action': 'Click',
                                    'link_category': 'Movie',
                                    'link_name': 'Showtime',
                                };
                            }
                            let url = link.getAttribute('href');
                            self.controller.tealium.TrackEvent('select_showtime', tealiumData, () => {
                                window.location.href = url;
                            });
                        });
                    });
                }
                $(document)
                    .on("GeoCallbackComplete", (e, success, lat, long, permissiondenied) => {
                    if (self.initiatedSearch) {
                        self.initiatedSearch = false;
                        if (success) {
                            self.onGeoCallbackComplete(success, lat, long);
                        }
                        else {
                            self.toggleLocationNeededMessage(true);
                        }
                    }
                });
                this.playMovieTrailerFromUrlQueryParameter();
                if (isShowtimeAttributesEnabled) {
                    if (typeof (this.elements.auditoriumShowtimeAttributes) !== "undefined") {
                        this.elements.auditoriumShowtimeAttributes.forEach(item => {
                            item.onclick = () => {
                                const contentId = item.getAttribute("data-content-id");
                                this.controller.showShowtimeAttributeContentModal("", contentId);
                            };
                        });
                    }
                }
                else {
                    if (typeof (this.elements.printTypeItems) !== "undefined") {
                        this.elements.printTypeItems.forEach(item => {
                            item.onclick = (event) => {
                                var ContentId = item.getAttribute("data-content-id");
                                this.controller.showPrintTypeModal("", ContentId);
                            };
                        });
                    }
                }
                if (this.elements.loadMoreTheatersButton) {
                    this.elements.loadMoreTheatersButton.addEventListener('click', (e) => {
                        self.controller.loadMoreTheaters();
                    });
                }
                // Setting a minimum height to the content area to accommodate absolutely positioned sidebar on desktop
                if (window.outerWidth >= 768) {
                    let i = setInterval(function () {
                        var sidebarHeight = self.elements.sidebar.offsetHeight + 'px';
                        self.elements.contentContainer.style.minHeight = sidebarHeight;
                    }, 200);
                    setTimeout(function () {
                        clearInterval(i);
                    }, 2000);
                }
                if (this.elements.movieDetailSynopsisDesktopFull != null && this.elements.movieDetailSynopsisDesktopControlNew != null) {
                    if (this.elements.movieDetailSynopsisDesktopFull.innerText.length < this.synopsisCharacterCutOff) {
                        this.elements.movieDetailSynopsisDesktopFull.classList.remove('hidden');
                        this.elements.movieDetailSynopsisDesktopShort.classList.add('hidden');
                        this.elements.movieDetailSynopsisDesktopControlNew.classList.add('hidden');
                    }
                    else {
                        this.elements.synopsisShortPara.innerText = this.elements.synopsisFullPara.innerText.substring(0, this.synopsisCharacterCutOff) + "...";
                        this.elements.movieDetailSynopsisDesktopFull.classList.add('hidden');
                        this.elements.movieDetailSynopsisDesktopShort.classList.remove('hidden');
                        this.elements.movieDetailSynopsisDesktopControlNew.classList.remove('hidden');
                    }
                    this.elements.movieDetailSynopsisDesktopControlNew.addEventListener('click', () => this.toggleSynopsisView());
                }
            }
            toggleSynopsisView() {
                var isFull = this.elements.movieDetailSynopsisDesktopFull && !this.elements.movieDetailSynopsisDesktopFull.classList.contains('hidden');
                if (isFull) {
                    this.elements.movieDetailSynopsisDesktopFull.classList.add('hidden');
                    this.elements.movieDetailSynopsisDesktopShort.classList.remove('hidden');
                    this.elements.movieDetailSynopsisShowLess.classList.add('hidden');
                    this.elements.movieDetailSynopsisReadMore.classList.remove('hidden');
                }
                else {
                    this.elements.movieDetailSynopsisDesktopFull.classList.remove('hidden');
                    this.elements.movieDetailSynopsisDesktopShort.classList.add('hidden');
                    this.elements.movieDetailSynopsisShowLess.classList.remove('hidden');
                    this.elements.movieDetailSynopsisReadMore.classList.add('hidden');
                }
            }
            configureLocationSearch() {
                var self = this;
                if (typeof (this.elements.useLocationButtonChangeLocationTheaterComponent) !== "undefined") {
                    this.elements.useLocationButtonChangeLocationTheaterComponent.onclick = (event) => {
                        event.preventDefault();
                        self.startGeoSearch();
                    };
                }
            }
            performZipSearch(view, event, searchText) {
                $.ajax({
                    type: "POST",
                    url: `${Cinemark.getBaseUmbracoApiUrl()}${this.model.routeAdvanceTicketsByTimezoneText}`,
                    data: { zipCode: searchText, contentId: view.model.contentId }
                }).done(data => {
                    $("#mainHeaderZipCode").text(searchText);
                    $("#timeZoneMessage").text(decodeURIComponent(data.message));
                });
                return this.controller.formOnSubmit(event, searchText);
            }
            updateTargetDiv(html) {
                if (this.elements.headline !== undefined && this.model.headlineText !== undefined) {
                    this.elements.headline.innerText = this.model.headlineText;
                }
                jQuery("#SearchResults")[0].innerHTML = html;
                var theaterIdDiv = this.elements.targetDiv.getElementsByClassName("theateridsdiv");
                var theaterIds = theaterIdDiv !== undefined && theaterIdDiv != null && theaterIdDiv.length > 0
                    ? theaterIdDiv[0].getAttribute("data-theaterIds")
                    : "";
                jQuery(document).trigger("TheaterSearchComplete", [theaterIds]);
            }
            refreshClickEvents() {
                if (isShowtimeAttributesEnabled) {
                    var audShowtimeAttr = $(".showtime-attribute-item").toArray();
                    if (typeof (audShowtimeAttr) !== "undefined") {
                        audShowtimeAttr.forEach(item => {
                            item.onclick = () => {
                                const contentId = item.getAttribute("data-content-id");
                                this.controller.showShowtimeAttributeContentModal("", contentId);
                            };
                        });
                    }
                }
                else {
                    var printTypeItems = $('.print-type-item').toArray();
                    if (typeof (printTypeItems) !== "undefined") {
                        printTypeItems.forEach(item => {
                            item.onclick = (event) => {
                                var ContentId = item.getAttribute("data-content-id");
                                this.controller.showPrintTypeModal("", ContentId);
                            };
                        });
                    }
                }
            }
            toggleLocationNeededMessage(isNeeded) {
                //show 'Showtimes Near' header if hidden
                if (!isNeeded) {
                    $("#locationSelector").show();
                    this.elements.weekdaysDiv.hidden = isNeeded;
                }
            }
            startGeoSearch() {
                this.initiatedSearch = true;
                this.controller.startGeoLocation();
            }
            onGeoCallbackComplete(isSuccessful, latitude, longitude) {
                //window.location.reload();
                this.controller.findTheatersByGeoPosition(isSuccessful, latitude, longitude);
                this.configureLocationSearch();
            }
            playMovieTrailerFromUrlQueryParameter() {
                let queryStringParams = function (name) {
                    var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
                    if (results == null) {
                        return null;
                    }
                    else {
                        return decodeURI(results[1]) || null;
                    }
                };
                let trailerId = queryStringParams("trailer");
                if (trailerId && trailerId != null) {
                    if (this.elements.trailers[trailerId] && this.elements.trailers[trailerId] !== undefined) {
                        //Move to trailer before clicking on it
                        $('#movieMediaSlider').slick('slickGoTo', parseInt(trailerId), false);
                        this.elements.trailers[trailerId].click();
                    }
                }
            }
        }
        ShowtimesNearMe.View = View;
        class Controller {
            constructor(model, elements) {
                this.model = model;
                this.elements = elements;
                this.tealium = new Cinemark.Tracking.Tealium;
            }
            formOnSubmit(event, zipCode) {
                event.preventDefault();
                this.model.findTheatersBySearchText(zipCode);
            }
            startGeoLocation() {
                this.geoLocation = new Cinemark.GeoLocation();
            }
            findTheatersByGeoPosition(isSuccessful, latitude, longitude) {
                if (isSuccessful) {
                    this.model.findTheatersWithGeoPosition(latitude, longitude);
                }
            }
            showPrintTypeModal(printTypeUrl, printTypeContentPagePickerId) {
                var url = Cinemark.getBaseUmbracoApiUrl()
                    + `/showtimes/GetPrintTypeInfo/?printTypeContentPagePickerId=${printTypeContentPagePickerId}`;
                if (printTypeUrl !== null) {
                    $.ajax({
                        type: "GET",
                        url: url,
                        cache: false,
                        success: function (data) {
                            if (data !== null) {
                                //remove previous modal if one was triggered
                                if ($("#printTypeInfoModal") !== undefined) {
                                    $("#printTypeInfoModal").remove();
                                }
                                // data comes through as HTML for an entire modal
                                $("body").append(data);
                                new Cinemark.Modal($('#printTypeInfoModal')).initialize();
                                $("#printTypeInfoModal").modal('show');
                                jQuery($(document)).trigger("seatTypeInfoLoaded");
                            }
                        },
                        error: (errMsg) => {
                        }
                    });
                }
            }
            showShowtimeAttributeContentModal(contentTypeUrl, contentPagePickerId) {
                const url = Cinemark.getBaseUmbracoApiUrl()
                    + `/showtimes/GetShowtimeAttributeContent/?showtimeAttributeContentId=${contentPagePickerId}`;
                if (contentTypeUrl !== null) {
                    $.ajax({
                        type: "GET",
                        url: url,
                        cache: false,
                        success: function (data) {
                            if (data !== null) {
                                //remove previous modal if one was triggered
                                if ($("#showtimeAttributeContentModal") !== undefined) {
                                    $("#showtimeAttributeContentModal").remove();
                                }
                                // data comes through as HTML for an entire modal
                                $("body").append(data);
                                new Cinemark.Modal($('#showtimeAttributeContentModal')).initialize();
                                $("#showtimeAttributeContentModal").modal('show');
                                jQuery($(document)).trigger("seatTypeInfoLoaded");
                            }
                        },
                        error: (errMsg) => {
                        }
                    });
                }
            }
            loadMoreTheaters() {
                let url = Cinemark.getBaseUmbracoApiUrl() + `movie/GetAllTheatersShowTimes/`;
                Cinemark.startSpinner();
                $.ajax({
                    type: 'GET',
                    url: url,
                    cache: false,
                    success: (data) => {
                        if (data) {
                            this.elements.searchResults.innerHTML = data;
                            this.elements.loadMoreTheatersButton.hidden = true;
                        }
                    },
                    error: (jqXHR, textStatus, errorThrown) => {
                        console.error({ jqXHR, textStatus, errorThrown });
                    },
                    complete: (e) => {
                        Cinemark.stopSpinner();
                    }
                });
            }
        }
        ShowtimesNearMe.Controller = Controller;
    })(ShowtimesNearMe = Cinemark.ShowtimesNearMe || (Cinemark.ShowtimesNearMe = {}));
})(Cinemark || (Cinemark = {}));
$(document).ready(() => {
    if (jQuery('#ZipSearchForm #ZipSearchText').length || jQuery('#ZipSearchFormModal').length) {
        jQuery('#ZipSearchForm #ZipSearchText').on("input", function () {
            this.value = this.value.replace(/\D/g, '');
        });
        var elements = new Cinemark.ShowtimesNearMe.Elements();
        elements.searchForm = jQuery("#ZipSearchForm")[0];
        elements.searchFormModal = jQuery("#ZipSearchFormModal")[0];
        elements.useLocationButton = jQuery("#btnUseLocation")[0];
        elements.useLocationButtonChangeLocationTheaterComponent = $("#btnUseLocationComponentChangeLocation")[0];
        elements.changeZipButton = $("#btnChangeZip")[0];
        elements.searchText = jQuery("#ZipSearchText")[0];
        elements.theaterIdsDiv = jQuery("#TheaterIdsDiv")[0];
        elements.targetDiv = jQuery("#SearchResults")[0];
        elements.weekdaysDiv = jQuery("#movieDateSelector")[0];
        elements.headline = jQuery("#Headline")[0];
        elements.slicktrack = document.getElementsByClassName('slick-track')[0];
        elements.trailers = document.getElementsByClassName('trailer');
        elements.contentContainer = jQuery("#movie-detail-page")[0];
        elements.sidebar = jQuery("#MovieDetailsSidebar")[0];
        elements.printTypeItems = $('.print-type-item').toArray();
        elements.auditoriumShowtimeAttributes = $(".showtime-attribute-item").toArray();
        elements.loadMoreTheatersButton = $('.load-more-theaters')[0];
        elements.searchResults = jQuery("#SearchResults")[0];
        elements.showtimeLinks = $('.showtime-link').toArray();
        elements.movieDetailSynopsisDesktopControlNew = document.getElementById('movieDetailSynopsisDesktopControlNew');
        elements.movieDetailSynopsisDesktopFull = document.getElementById('movieDetailSynopsisDesktopFull');
        elements.movieDetailSynopsisDesktopShort = document.getElementById('movieDetailSynopsisDesktopShort');
        elements.movieDetailSynopsisReadMore = document.getElementById('movieDetailSynopsisReadMore');
        elements.movieDetailSynopsisShowLess = document.getElementById('movieDetailSynopsisShowLess');
        elements.synopsisFullPara = document.getElementById('synopsisFullPara');
        elements.synopsisShortPara = document.getElementById('synopsisShortPara');
        var model = new Cinemark.ShowtimesNearMe.Model(typeof (contentId) !== "undefined" ? contentId : 0, typeof (currentMovieId) !== "undefined" ? currentMovieId : 0, typeof (screeningId) !== "undefined" ? screeningId : 0);
        var controller = new Cinemark.ShowtimesNearMe.Controller(model, elements);
        var view = new Cinemark.ShowtimesNearMe.View(elements, model, controller);
    }
    var showtimes = new Cinemark.Showtimes.Controller();
    showtimes.init("#SearchResults", currentMovieId, currentTheaterId, currentTheaterIds, Cinemark.Showtimes.GetShowtimesMode.ByMovie);
    showtimes.showTimesUpdated.attach(() => {
        view.refreshClickEvents();
    });
});
//# sourceMappingURL=movie.js.map;
