PageSourceSearch

https://www.themeg.movie/js/main.js

js themeg.movie collected 2026-10-02 12:33:27 UTC 18,321 bytes, 680 lines download raw bytes

1var urlBrowser = window.location.href;
2var deeplink = "";
3var deeplinkTracking = "";
4var isTracking = false;
5var trackingCode = "";
6var scrollHomeTracking = false;
7var introTrailer = false;
8var isAudioPlaying = false;
9var isPlaying = false;
10let closeBtn = document.getElementById("introClose");
11let siteUrl = SITE.dom;
12var ticketingnavtabclick = true;
13var firsttimeactivenav = true;
14var firsttimeticketoverlayopen = true;
15
16var homepagedeeplink = "";
17var deeplinkflag = true;
18var isticketclick = false;
19
20
21
22var flag = 0;
23//var audioPlayer = document.getElementById("audio_player");
24$("#modalLoader").modal("show");
25function htmlDecode(input) {
26  if (input !== "") {
27    var e = document.createElement("div");
28    e.innerHTML = input;
29    return e.childNodes[0].nodeValue;
30  }
31}// end htmlDecode
32
33function removeSpecials(str) {
34  str = str.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g, "");
35  return str;
36} //end removeSpecials
37
38$("#introClose").click(function () {
39  
40  $("body").removeClass("noscroll");
41  $("body").css("overflow-y", "scroll");
42  //$(".wrapper").css("overflow-y", "scroll");
43  $("#youtubeVideointro").html("");
44  try{checkHeight();
45  initGallery();
46  initCharGallery();
47  pauseYoutubeVideo();
48  pauseHtmlVideo();  
49}catch(e){}
50  setTimeout(function () {
51    $("#containerCredits").delay(500).slideDown();
52    setTimeout(function () {
53      $("#containerCredits").slideUp();
54    }, 6000);
55  });
56  
57  
58}); //end intro close
59
60function windowHistrory(value1, value2){
61  window.history.pushState(
62    {
63      html: value1,
64      pageTitle: "",
65    },
66    "",
67    value2
68  );
69}// end windowHistrory
70
71deeplink = SITE.deeplink;
72SITE.isDeeplink == "true" ? (isDeeplink = true) : (isDeeplink = false);
73if (SITE.trackingValue !== "") {
74  deeplinkTracking = htmlDecode(SITE.trackingValue);
75} else {
76  deeplinkTracking = "";
77}
78
79function getElementY(query) {
80  return (
81    window.pageYOffset +
82    document.getElementById(query).getBoundingClientRect().top
83  );
84}// end getElementY
85
86function doScrolling(element, duration) {
87  var startingY = window.pageYOffset;
88
89  var elementY = getElementY(element);
90  var targetY =
91    document.body.scrollHeight - elementY < window.innerHeight
92      ? document.body.scrollHeight - window.innerHeight
93      : elementY;
94  var diff = targetY - startingY;
95  
96  var easing = function (t) {
97    return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;
98  };
99  var start;
100
101  //if (!diff) return
102
103  // Bootstrap our animation - it will get called right before next frame shall be rendered.
104  window.requestAnimationFrame(function step(timestamp) {
105    if (!start) start = timestamp;
106    // Elapsed miliseconds since start of scrolling.
107    var time = timestamp - start;
108    // Get percent of completion in range [0, 1].
109    var percent = Math.min(time / duration, 1);
110    // Apply the easing.
111    // It can cause bad-looking slow frames in browser performance tool, so be careful.
112    percent = easing(percent);
113
114    window.scrollTo(0, startingY + diff * percent);
115
116    // Proceed with animation as long as we wanted it to.
117    if (time < duration) {
118      window.requestAnimationFrame(step);
119    }
120  });
121  $("#loaderText").html("100%");
122  $("#modalLoader").modal("hide");
123}// End Do Scrolling
124
125function init() {
126  "use strict";
127  if (String($("#ticketingSectionOnOff").val()) !== "true") {
128    homepagedeeplink = siteUrl;
129  }
130
131  //BG Height
132  var checkHeight = function () {
133    var bgHeight = window.innerHeight - $(".footer").outerHeight();
134    $(".divBackground").css({
135      height: bgHeight + "px",
136    });
137
138    $("#home").css({
139      height: bgHeight + "px",
140    });
141  }; //end bg height
142
143  if (isDeeplink == true) {
144    $(".wrapper").show();
145  } else {
146    
147    if (String($("#ticketingSectionOnOff").val()) == "true") {
148      $("#ticketsNav").addClass("active-nav");
149    } else {
150      $("#homeNav").addClass("active-nav");
151    }
152  }
153
154  if (isDeeplink === true) {
155    var idValue = removeSpecials(deeplink.trim());
156    firsttimeticketoverlayopen = false;
157    ticketingnavtabclick = false;
158    checkHeight();
159    if (idValue === "home") {
160      if (isTracking !== false) {
161        windowHistrory(SITE.dom, SITE.dom + deeplinkTracking);
162      } else {
163        windowHistrory(homepagedeeplink, homepagedeeplink + deeplinkTracking)
164      }
165    } else {
166      windowHistrory("" + idValue + "/", "" + idValue + "/" + deeplinkTracking);
167    }
168    setTimeout(() => {
169       doScrolling(idValue, 2000);
170    }, 2000);
171  } else {
172    checkHeight();
173    initGallery();
174    initCharGallery();
175    $("#loaderText").html("100%");
176    setTimeout(() => {
177      $("#modalLoader").modal("hide");
178    }, 200);
179  } // End Deeplink
180
181  //Smooth Scroll
182
183  
184  $("[href^='#']").click(function (e) {
185    e.preventDefault();
186    var id = $(this).attr("href");
187    if(sectionarray.indexOf('gallery') > -1){initGallery();};
188    if (id !== "#ticket") {
189      isticketclick = false;
190      ticketingnavtabclick = false;
191      if (String($("#ticketingSectionOnOff").val()) == "true") {
192        ticketingoverlayclosefun();
193      }
194      $("body").css("overflow-y", "scroll");
195      $("html, body").animate(
196        {
197          scrollTop: $(id).offset().top,
198        },
199        900
200      );
201      //deeplink code
202      if (id !== "#home") {
203        var chnageId = removeSpecials(id.trim());
204         windowHistrory("" + chnageId + "/", "" + chnageId + "/" + deeplinkTracking);
205      } else {
206        if (isTracking !== false) {
207          windowHistrory(trackingCode, trackingCode);
208        } else {
209          windowHistrory("" + homepagedeeplink, "" + homepagedeeplink + deeplinkTracking);
210        }
211        //ticketing
212      }
213
214      menuhighlight(id);
215
216    } else if (id === "#ticket") {
217      isticketclick = true;
218      $(".ticketoverlay").addClass("ticketingoverlayOpenNew");
219
220      if(!sytsAllBasicData.siteIsForTracking){
221      syts_allClickTrackingHome(syts_movieIDHome.join(","), "25", "Get Tickets","","");
222      }
223      document.body.classList.add("noscroll");
224      $(".getTickets").css("display", "none");
225      $(".nav-link").removeClass("active-nav");
226      $("#ticketsNav").addClass("active-nav");
227      ticketingnavtabclick = true;
228      $("html, body").animate(
229        {
230          scrollTop: 0,
231        },
232        0
233      );
234
235      windowHistrory(SITE.dom, 'tickets/' + deeplinkTracking);
236      setTimeout(function(){        
237      $(".nav-link").removeClass("active-nav");
238      $("#ticketsNav").addClass("active-nav");
239      },1000);
240    }
241
242  });
243 
244  function menuhighlight(navid) {
245   
246    $(".nav-link").removeClass("active-nav");
247    $(".nav-link").removeClass("active");
248
249    switch (navid) {
250      case "#ticket":
251        $("#ticketsNav").addClass("active-nav");
252        break;
253      case "#home":
254        $("#homeNav").addClass("active-nav");
255        break;
256      case "#trailer":
257        $("#videoNav").addClass("active-nav");
258        break;
259      case "#synopsis":
260        $("#synosisNav").addClass("active-nav");
261        break;
262      case "#gallery":
263        $("#galleryNav").addClass("active-nav");
264        break;
265        case "#preorder":
266        $("#preorderNav").addClass("active-nav");
267        break;
268      case "#games":
269        $("#gamesNav").addClass("active-nav");
270        break;
271      case "#ownitnow":
272          $("#ownitnowNav").addClass("active-nav");
273          break;
274      case "#characterart":
275        $("#charactersNav").addClass("active-nav");
276        break;
277      default:
278        $("#homeNav").addClass("active-nav");
279      //alert('Nobody Wins!');
280    }
281  }
282  $(window).on("activate.bs.scrollspy", function (e, obj) {
283    let id = obj.relatedTarget;
284    if(sectionarray.indexOf('gallery') > -1){initGallery();};
285    if (isDeeplink == true && deeplinkflag) {
286      deeplinkflag = false;
287      id = "#" + removeSpecials(deeplink.trim());
288    } else if (isticketclick) {
289      id = "#ticket";
290    } else {
291      if (id == "#ticket") {
292        if (firsttimeticketoverlayopen) {
293          firsttimeticketoverlayopen = false;
294        } else {
295          if ($(id).offset().top < $("#"+SITE.sectionlist[1]).offset().top) {
296            id = "#"+SITE.sectionlist[0];
297          } else if ($(id).offset().top > $("#"+SITE.sectionlist[SITE.sectionlist.length-2]).offset().top) {
298            id = "#"+SITE.sectionlist[SITE.sectionlist.length-1];
299          } else {
300            var url = $(location).attr("href"),
301              parts = url.split("/"),
302              last_part = parts[parts.length - 2];
303            id = "#" + last_part;
304          }
305        }
306      }
307    }
308    
309
310    menuhighlight(id);
311
312    if (id == "#ticket") {
313      if (ticketingnavtabclick == true) {
314        let chnageId = siteUrl;
315        windowHistrory("" + chnageId, "" + chnageId + deeplinkTracking);
316      } else {
317        
318        if (isDeeplink == true && deeplinkflag) {
319          deeplinkflag = false;
320          var _id = removeSpecials(deeplink.trim());
321          
322          if (
323            _id == "synopsis" ||
324            _id == "ticket" ||
325            _id == "trailer" ||
326            _id == "gallery" ||
327            _id == "characterart" ||
328            _id == "games"
329          ) {
330            
331          } else {
332            $(".nav-link").removeClass("active-nav");
333            $("#ticketsNav").removeClass("active-nav");
334            $("#homeNav").addClass("active-nav");
335            windowHistrory("" + homepagedeeplink, "" + homepagedeeplink + deeplinkTracking);
336          }
337        } else {}
338      }
339    } else if (id !== "#home" && id !== undefined) {
340      let chnageId = removeSpecials(id.trim());
341      windowHistrory("" + chnageId + "/", "" + chnageId + "/" + deeplinkTracking);
342    } else {
343      if (id == "#home") {
344        windowHistrory("" + homepagedeeplink, "" + homepagedeeplink + deeplinkTracking);
345      } else {
346        let chnageId = siteUrl;
347        chnageId = chnageId.indexOf("index.php") > -1 ? cleanUrl(siteUrl) : "";
348        windowHistrory("" + chnageId, "" + chnageId + deeplinkTracking);
349      }
350    }
351  });
352
353  // Credits
354  $("#btnCredits").on("click", function () {
355    $("#containerCredits").slideDown();
356  });
357
358  $("#closeCredits").on("click", function () {
359    $("#containerCredits").slideUp();
360  });
361
362  function cleanUrl(link) {
363    let cleanurl = link.substring(0, link.indexOf("index.php"));
364    //console.log(cleanurl);
365    return cleanurl;
366  }
367
368  //Mobile Navigation Toggle
369  $("#navIcon").click(function () {
370    $(this).toggleClass("open");
371    $("nav").toggleClass("activatedMenus");
372    $("body").toggleClass("fixedBody");
373    $("#containerShare").fadeOut();
374  });
375
376  $(".nav-container").click(function (e) {
377    var target = $(e.target);
378
379    if (
380      ($(window).width() <= 1024 || $(window).width() === 1138) &&
381      target.is(".press-anchor")
382    ) {
383      $(".sub-menu").toggleClass("sub-menu-toggle");
384    } else {
385      if (!target.is(".cta-btn-link")) {
386        $("body").removeClass("fixedBody");
387        $("#navIcon").toggleClass("open");
388        $(".sub-menu").addClass("sub-menu-toggle");
389
390        setTimeout(function () {
391          $("nav").toggleClass("activatedMenus");
392        }, 300);
393      }
394    }
395  });
396
397  //Save to Calender
398  $(".save-btn-wrapper")
399    .mouseout(function () {
400      $(this).css("transform", "translateY(0)");
401    })
402    .mouseover(function () {
403      $(this).css("transform", "translateY(-100%)");
404    });
405
406  var checkCalendarClickOpen = true;
407
408  $(".cta-save-btn").click(function () {
409    $(".save-btn-wrapper").css("transform", "translateY(-100%)");
410    checkCalendarClickOpen = false;
411    setTimeout(function () {
412      checkCalendarClickOpen = true;
413    }, 200);
414  });
415  $(".home-wrapper,body").click(function () {
416    if (checkCalendarClickOpen) {
417      $(".save-btn-wrapper").css("transform", "translateY(0)");
418    }
419  });
420
421  //IE and EDGE BG Flicker Fix
422  if (
423    navigator.userAgent.match(/MSIE 10/i) ||
424    navigator.userAgent.match(/Trident\/7\./) ||
425    navigator.userAgent.match(/Edge\/12\./)
426  ) {
427    $("body").on("mousewheel", function (event) {
428      event.preventDefault();
429      var wd = event.wheelDelta;
430      var csp = window.pageYOffset;
431      window.scrollTo(0, csp - wd);
432    });
433  }
434}// end Init
435
436var checkTrailerHeight = function () {
437  var reqTrailerHeight = window.innerHeight;
438
439  $(".modal-dialog").css({
440    height: reqTrailerHeight + "px",
441    top: 0 + "px",
442  });
443
444  $(".video-player").css({
445    height:
446      reqTrailerHeight -
447      ($(".modal-header").outerHeight() +
448        $("#modalTrailer .footer").outerHeight() +
449        5) +
450      "px",
451  });
452}; // end check trailer height
453
454var isDevicePortrait = false;
455function detectDevicePortrait() {
456  if (
457    (isMobile || isTablet || isAndroidTablet || isIPadPro) &&
458    window.innerHeight > window.innerWidth
459  ) {
460    isDevicePortrait = true;
461  } else {
462    isDevicePortrait = false;
463    try {
464      pauseYoutubeVideo();
465      pauseHtmlVideo();
466      audioPlayer.pause();
467    } catch (e) {}
468  }
469}// End detect device portrait
470
471detectDevicePortrait();
472
473$(window).resize(function () {
474  checkHeight();
475  checkTrailerHeight();
476  detectDevicePortrait();
477});
478
479$(window).scroll(function () {
480  try {
481    pauseYoutubeVideo();
482    pauseHtmlVideo();
483  } catch (e) {}
484
485  var $sticky = $(".blackBg");
486
487  if (isMobile && $(this).scrollTop() > 150) {
488    $sticky.css({ "background-color": "rgba(0,0,0,0.6)" });
489  } else {
490    $sticky.css({ "background-color": "transparent" });
491  }
492
493  var scroll = $(window).scrollTop();
494
495//  if (scroll >= 700 && $(window).width() > 1400) {
496//    $("#navIcon span").css("background", "white");
497//    $("#btnShare span img").css("filter", "invert(100%)");
498//  } else if (scroll >= 500 && $(window).width() < 1400) {
499//    $("#navIcon span").css("background", "white");
500//    $("#btnShare span img").css("filter", "invert(100%)");
501//  } else {
502//    $("#navIcon span").css("background", "#151513");
503//    $("#btnShare span img").css("filter", "invert(0)");
504//  }
505}); // end window scroll
506
507document.addEventListener("visibilitychange", function () {
508  try{
509    pauseYoutubeVideo();
510    pauseHtmlVideo();
511    audioPlayer.pause();
512  }catch(e){}
513});
514
515// Before slide change For Youtube Slider
516$(".video-holder").on(
517  "beforeChange",
518  function (event, slick, currentSlide, nextSlide) {
519    pauseYoutubeVideo();
520    pauseHtmlVideo();
521    audioPlayer.pause(); 
522  }
523);
524
525// After slide change For Youtube Slider
526$(".video-holder").on(
527  "afterChange",
528  function (event, slick, currentSlide, nextSlide) {
529    playYoutubeVideo();
530  }
531);
532
533// Share
534
535$("#closeShare").on("click", function () {
536  $("#containerShare").slideToggle();
537});
538
539var shareBtn = document.getElementById("btnShare");
540shareFallback = document.getElementById("containerShare");
541
542shareBtn.addEventListener("click", function (ev) {
543  $("#containerShare").slideToggle();
544});
545
546const faders = document.querySelectorAll(".fade-in");
547const sliders = document.querySelectorAll(".slide-in");
548
549const appearOptions = {
550  threshold: 0,
551  rootMargin: "0px 0px -250px 0px",
552};
553
554const appearOnScroll = new IntersectionObserver(function (
555  entries,
556  appearOnScroll
557) {
558  entries.forEach((entry) => {
559    if (!entry.isIntersecting) {
560      return;
561    } else {
562      entry.target.classList.add("appear");
563      appearOnScroll.unobserve(entry.target);
564    }
565  });
566},
567appearOptions);
568
569faders.forEach((fader) => {
570  appearOnScroll.observe(fader);
571});
572
573sliders.forEach((slider) => {
574  appearOnScroll.observe(slider);
575});
576
577 $(document).ready(function () {
578  if(isMobile || isIPadPro || isAndroidTablet || isiPad || isTablet){
579    $('.vjs-default-skin.vjs-paused .vjs-big-play-button').css('display','none');
580    $('.vjs-default-skin.vjs-paused .vjs-control-bar').css('display','flex')
581    
582  }
583//   audioPlayer.load();
584//      try{initGallery();}catch(e){}
585 
586// });
587// audioPlayer.addEventListener("playing", function () {
588//   isAudioPlaying = true;
589//   barAnimationStart();
590 });
591
592$(window).on("blur focus", function (e) {
593  var prevType = $(this).data("prevType");
594  //console.log(prevType)
595
596  if (prevType != e.type) {
597    //  reduce double fire issues
598    switch (e.type) {
599      case "blur":
600        if (isAudioPlaying == true) {
601          audioPlayer.pause();
602          barAnimationStop();
603        }
604        break;
605      case "focus":
606        if (isAudioPlaying == true) {
607          audioPlayer.play();
608          barAnimationStart();
609        }
610        break;
611    }
612  }
613
614  $(this).data("prevType", e.type);
615});
616
617$(".audioplayer").on("click", function () {
618  togglePlay();
619});
620
621// $("body").on("click", function () {
622//   if (isAudioPlaying == false && flag == 0) {
623//     audioPlayer.play();
624//     barAnimationStart();
625//     flag = 1;
626//     isAudioPlaying = true;
627//   }
628// });
629
630function togglePlay() {
631  if (isAudioPlaying == true) {
632    console.log(isAudioPlaying);
633    audioPlayer.pause();
634    barAnimationStop();
635    isAudioPlaying = false;
636  } else {
637    audioPlayer.play();
638    barAnimationStart();
639  }
640}
641
642function barAnimationStart() {
643  $(".bar").each(function (i) {
644    genHeightStart($(this));
645  });
646}
647
648function barAnimationStop() {
649  $(".bar").stop(true).height(2);
650}
651
652function genHeightStart(bar) {
653  var minHeight = 1;
654  var maxHeight = 15;
655  var barHeight = Math.ceil(Math.random() * maxHeight + minHeight);
656  var time = barHeight * 20;
657  bar.animate(
658    {
659      height: barHeight,
660    },
661    time,
662    function () {
663      genHeightStart($(this));
664    }
665  );
666}
667
668window.addEventListener("load", function () {
669  $(document).keydown(function (e) {
670    if (e.which == 40) {
671      if (isAudioPlaying == false && flag == 0) {
672        audioPlayer.play();
673        barAnimationStart();
674        flag = 1;
675        isAudioPlaying = true;
676      }
677    }
678  });
679    
680});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.