PageSourceSearch

https://looke.com.br/scripts/Carousel/Hover.js?20220513

js looke.com.br collected 2026-09-24 09:31:59 UTC 12,216 bytes, 304 lines download raw bytes

1var Hover = Hover || {};
2
3(function hover() {
4    Hover.maxWidthMobile = 1280;
5
6    var videoMuted = true;
7    var timeoutHover;
8    var timeoutVideo;
9    var timeoutPrice;
10    var statusHover = new Object();
11    var lastElement;
12    var lastUl;
13    var hostName = window.location.hostname;
14
15    var lastElementId;
16    var lastUlId;
17    var elementId;
18    var ulId;
19
20    var getMediaPrice = function (element) {
21        var elementId = $(element).closest("li").attr("mediaid");
22
23        $(element).find(".priceContainer").html("").css({ "opacity": 0 }).addClass("loadingIcon").delay(1500).queue(function () {
24            $(this).css({ "opacity": 1 }).dequeue();
25        });
26        $.ajaxSetup({ cache: false });
27        $.ajax({
28            type: "GET",
29            url: "/Media/_MoviePrice",
30            data: "m=" + elementId,
31            success: function (data) {
32                fillMediaPrice(element, data);
33            },
34            error: function (xhr, ajaxOptions, thrownError) {
35                console.log("getMediaPrice error (" + elementId + "):", thrownError);
36            }
37
38        });
39    };
40
41    var getInfoPosition = function (element) {
42        var elementPosition = $(element).offset().left;
43        var elementSize = $(element).parent().width();
44        if (elementPosition < $(window).width() - (elementSize + elementPosition)) return "right";
45        else return "left";
46    }
47
48    var fillMediaPrice = function (element, data) {
49        var elementId = $(element).closest("li").attr("mediaid");
50        if (statusHover[elementId]) {
51            $(element).find(".priceContainer").removeClass("loadingIcon").dequeue().html(data);
52            if (getInfoPosition(element) == "right") {
53                $(element).find(".hoverPrice").removeClass("hoverPriceLeft").addClass("hoverPriceRight");
54            } else {
55                $(element).find(".hoverPrice").removeClass("hoverPriceRight").addClass("hoverPriceLeft");
56            }
57            $(element).find(".mediaMember").addClass("mediaMemberEnter");
58            $(element).find("priceCut").addClass("priceCutDel");
59        }
60    };
61
62    Hover.verifyInfoPosition = function (element) {
63        var elementPosition = $(element).offset().left;
64        var elementSize = $(element).width();
65        var marginOffset = 120;
66
67        var textSize;
68        if (getInfoPosition(element) == "right") {
69            $(element).find(".mediaHover").removeClass("mediaHoverLeft").addClass("mediaHoverRight");
70            $(element).find(".videoMute").removeClass("buttomLeft").addClass("buttomRight");
71            $(element).find(".mediaSynopsi .buttons").removeClass("buttomLeft").addClass("buttomRight");
72            textSize = $(window).width() - (elementPosition + elementSize + marginOffset);
73        } else {
74            $(element).find(".mediaHover").removeClass("mediaHoverRight").addClass("mediaHoverLeft");
75            $(element).find(".videoMute").removeClass("buttomRight").addClass("buttomLeft");
76            $(element).find(".mediaSynopsi .buttons").removeClass("buttomRight").addClass("buttomLeft");
77            textSize = elementPosition;
78        }
79        $(element).find(".hoverTextTitle").css({ "max-width": textSize + "px" });
80        $(element).find(".mediaSynopsi").fadeIn();
81    };
82
83    Hover.verifyScrollPosition = function (element) {
84        var marginOffset = 65;
85        var elementPositionX = $(element).offset().left;
86        var elementWidth = $(element).width();
87
88        if (elementPositionX + elementWidth > $(window).width() - marginOffset) {
89            newPosition = $(element).closest("ul").position().left - (elementWidth - ($(window).width() - elementPositionX)) - marginOffset;
90            $(element).closest("ul").css({ "left": newPosition });
91
92            setTimeout(function () { Carousel.init($(element).closest("ul")) }, 0.3 * 1000);
93        } else if (elementPositionX < marginOffset) {
94            newPosition = $(element).closest("ul").position().left - elementPositionX + marginOffset;
95            if (newPosition >= 0) newPosition = 0;
96            $(element).closest("ul").css({ "left": newPosition });
97
98            setTimeout(function () { Carousel.init($(element).closest("ul")) }, 0.3 * 1000);
99        }
100    };
101
102    Hover.checkHoverPosition = function (e, element) {
103        lastElementId = $(lastElement).closest("li").attr("mediaid");
104        lastUlId = $(lastElement).closest("li").closest("ul").attr("id");
105        statusHover[lastElementId] = false;
106
107        elementId = $(element).closest("li").attr("mediaid");
108        ulId = $(element).closest("li").closest("ul").attr("id");
109        statusHover[elementId] = true;
110
111        if (lastElementId != elementId) clearTimeout(timeoutVideo);
112
113        clearTimeout(timeoutHover);
114        if (!Carousel.scrollActive) {
115            if ($(window).width() > Hover.maxWidthMobile + 6000) Hover.fullHover(e, element, lastElementId, lastUlId, elementId, ulId);
116            else Hover.mobileHover(e, element);
117        }
118    };
119    Hover.mobileHover = function (e, element) {
120        if (lastElementId != elementId) {
121            $(element).addClass("mediaMobilePreview").addClass("transitionDelay0");
122            Hover.disableHover(e, lastElement);
123            lastElement = element;
124        }
125    };
126    Hover.mobileOut = function (e, element) {
127        if ($(window).width() <= Hover.maxWidthMobile + 6000) {
128            $(element).removeClass("mediaMobilePreview");
129            Hover.disableHover(e, element);
130        }
131    };
132
133    Hover.fullHover = function (e, element, lastElementId, lastUlId, elementId, ulId) {
134        timeoutHover = setTimeout(function () {
135            if (lastElementId != elementId) {
136                if (ulId != lastUlId) {
137                    if (lastUl) {
138                        lastUl.closest(".mediaCarousel").find(".carousel_title_panel").removeClass('carousel_title_panel_media_hover');
139                        lastUl.removeClass('hoverHeightLi');
140                    }
141                    lastUl = $(element).closest("li").closest("ul");
142                }
143
144
145                var imgLandscape = $(element).find(".imgStyle_landscape");
146                var timeOffset = 0.3;
147                if (ulId == lastUlId) {
148                    imgLandscape.addClass("transitionDelay0");
149                    $(element).addClass("transitionDelay0");
150                    $(lastElement).addClass("transitionDelay0");
151                    timeOffset = 0;
152                } else {
153                    imgLandscape.removeClass("transitionDelay0");
154                    $(element).removeClass("transitionDelay0");
155                    $(lastElement).removeClass("transitionDelay0");
156                }
157
158                clearTimeout(timeoutPrice);
159                timeoutPrice = setTimeout(function () {
160                    getMediaPrice(element);
161                    Hover.verifyInfoPosition(element);
162                    Hover.verifyScrollPosition(element);
163                }, (0.35 + timeOffset) * 1000);
164
165                imgLandscape.show().attr("opacity", 0).addClass("imgLandscapeHover");
166                $(element).addClass("mediaPreview");
167                $(element).closest(".mediaCarousel").find(".carousel_title_panel").addClass('carousel_title_panel_media_hover');
168                $(element).closest("li").addClass('hoverHeightLi');
169                $(element).closest("li").closest("ul").addClass('hoverHeightLi');
170
171
172                var video = $(element).find("video");
173                video.attr("src", "");
174                video.show();
175
176                clearTimeout(timeoutVideo);
177                timeoutVideo = setTimeout(function () {
178                    playVideo(element, video, imgLandscape);
179                }, 2 * 1000);
180
181                Hover.disableHover(e, lastElement);
182                lastElement = element;
183            }
184        }, 0.2 * 1000);
185    };
186
187    function playVideo(element, video, imgLandscape) {
188        video.attr("src", $(element).find("#trailerUrl").val());
189        video[0].onloadedmetadata = function () {
190            elementId = $(element).closest("li").attr("mediaid");
191            if (statusHover[elementId]) onPlayVideo(element, video, imgLandscape);
192        };
193    }
194    function onPlayVideo(element, video, imgLandscape) {
195        video[0].play();
196        video.prop('muted', videoMuted);
197        $(element).find(".videoMute").show();
198        $(element).find(".imgBase").fadeOut();
199        imgLandscape.delay(1000).queue(function () {
200            $(this).removeClass("imgLandscapeHover").dequeue();
201        });
202    }
203
204    Hover.disableHover = function (e, element) {
205        try { $(element).find("video")[0].pause(); } catch (e) { e };
206
207        $(element).closest("li").removeClass('hoverHeightLi');
208        $(element).removeClass("mediaPreview").removeClass("mediaMobilePreview");
209        $(element).find(".videoMute").hide();
210        $(element).find("priceCut").removeClass("priceCutDel");
211        $(element).find(".priceContainer").html("").removeClass("loadingIcon").dequeue();
212        $(element).find(".mediaMember").removeClass("mediaMemberEnter");
213        $(element).find(".mediaHover").removeClass("mediaHoverRight").removeClass("mediaHoverLeft");
214        $(element).find(".hoverPrice").removeClass("hoverPriceRight").removeClass("hoverPriceLeft");
215        $(element).find(".mediaSynopsi").hide();
216
217        setTimeout(function () {
218            $(element).find(".imgBase").fadeIn();
219            $(element).find(".imgHover").removeClass("imgLandscapeHover").dequeue();
220        }, 0.1 * 1000);
221    };
222
223    Hover.toggleVolume = function (e, element) {
224        var video = $(element);
225        if (video.prop('muted')) {
226            video.prop('muted', false);
227            videoMuted = false;
228            $(element).closest("li").find(".videoMute").addClass("videoMuted");
229        } else {
230            video.prop('muted', true);
231            videoMuted = true;
232            $(element).closest("li").find(".videoMute").removeClass("videoMuted");
233        }
234    };
235
236    Hover.toggleInfo = function (e, element) {
237        $(element).fadeToggle();
238    };
239    Hover.details = function (uniqueUrl) {
240        if (!Carousel.scrollActive) {
241            Helpers.showLoading();
242            window.location.href = uniqueUrl;
243        }
244    }
245    Hover.executeRent = function (element) {
246        var elementId = $(element).closest("li").attr("mediaid");
247        Helpers.showPaymentForm(elementId, 1);
248    };
249    Hover.executeBuy = function (element) {
250        var elementId = $(element).closest("li").attr("mediaid");
251        Helpers.showPaymentForm(elementId, 2);
252    };
253    Hover.executeAcquired = function (element, episodeId) {
254        var elementId = (episodeId == 0) ? $(element).closest("li").attr("mediaid") : episodeId;
255        Helpers.startPlayback(elementId);
256    };
257    Hover.executeSubscribeFree = function (element, episodeId) {
258        var elementId = (episodeId == 0) ? $(element).closest("li").attr("mediaid") : episodeId;
259        Helpers.startSVODAuthorize(elementId);
260    };
261    Hover.executeSubscribeNow = function (subscriptionURL) {
262        Helpers.showLoading();
263        if (subscriptionURL == 'videoclub')
264            window.location.href = "/flow";
265        else
266            window.location.href = "/subscription/" + subscriptionURL;
267    };
268
269    Hover.carouselDisableHover = function () {
270        clearTimeout(timeoutHover);
271        clearTimeout(timeoutVideo);
272
273        var lastElementId = $(lastElement).closest("li").attr("mediaid");
274        statusHover[lastElementId] = false;
275        timeoutHover = setTimeout(function () {
276            clearTimeout(timeoutPrice);
277            if (lastUl) {
278                lastUl.closest(".mediaCarousel").find(".carousel_title_panel").removeClass('carousel_title_panel_media_hover');
279                lastUl.removeClass('hoverHeightLi');
280            }
281            Hover.disableHover(null, lastElement);
282            lastElement = null;
283        }, 0.3 * 1000);
284    };
285
286
287
288
289
290    Hover.hover = function (obj) {
291
292        var $element = $(obj);
293
294        $element.on({
295            click: function () {
296                Hover.deselect();
297                //
298            }
299        });
300    }
301    Hover.deselect = function () {
302        //
303    };
304})();

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.