PageSourceSearch

https://www.tiendabellasartesjer.com/modules/appagebuilder/views/js/ApImageHotspot.js

js tiendabellasartesjer.com collected 2026-09-26 13:46:58 UTC 40,467 bytes, 762 lines download raw bytes

1/**
2 *  @Website: apollotheme.com - prestashop template provider
3 *  @author Apollotheme <[email protected]>
4 *  @copyright  2007-2018 Apollotheme
5 *  @description: 
6 */
7
8(function(a) {
9    a.fn.LiteTooltip = function(d, c) {
10        return this.each(function() {
11            var f = a.extend({}, a.fn.LiteTooltip.defaultSettings, d || {});
12            var e = a(this);
13            var g = new b(f, e);
14            if (g.settings.title != "") {
15                if (!e.is("input")) {
16                    e.css({cursor: "pointer"})
17                }
18                var debug = (g.settings.debug != null ) ? ((g.settings.debug == "true" || g.settings.debug == true) ? true : false) : false;
19                
20                if (g.settings.trigger == "hoverable") {
21                    this.toggle = false;
22                    e.bind("mouseenter", {settings: g.settings, element: e, $plugin: g, $toggle: this.toggle}, g.mouseOverHandler);
23                    if(!debug){
24                        e.bind("mouseleave", {settings: g.settings, element: e, $plugin: g, $toggle: this.toggle}, g.mouseOutHandler)
25                    }
26                } else {
27                    if (g.settings.trigger == "hover") {
28                        e.bind("mouseenter", {settings: g.settings, element: e, $plugin: g}, g.mouseOverHandler);
29                        if(!debug){
30                            e.bind("mouseleave", {settings: g.settings, element: e, $plugin: g}, g.mouseOutHandler)
31                        }
32                    } else {
33                        if (g.settings.trigger == "focus") {
34                            e.bind("focus", {settings: g.settings, element: e, $plugin: g}, g.mouseOverHandler);
35                            e.bind("blur", {settings: g.settings, element: e, $plugin: g}, g.mouseOutHandler)
36                        } else {
37                            if (g.settings.trigger == "click") {
38                                this.toggle = false;
39                                e.bind("click", {settings: g.settings, element: e, $plugin: g, $toggle: this.toggle}, g.mouseOverHandler);
40                                if (!g.settings.issticky) {
41                                    if(!debug){
42                                        e.bind("mouseleave", {settings: g.settings, element: e, $plugin: g, $toggle: this.toggle}, g.mouseOutHandler)
43                                    }
44                                }
45                            }
46                        }
47                    }
48                }
49            }
50        })
51    };
52    function b(d, c) {
53        this.settings = this.getSettings(d, c);
54        this.$element = c;
55        return this
56    }
57    b.prototype = {
58        getSettings: function(f, d) {
59            var e = (d.data("issticky") != null) ? ((d.data("issticky") == "true") ? true : false) : true;
60            var c = a.extend({}, f, {
61                location: d.data("location"),
62                title: d.data("title"),
63                backcolor: d.data("backcolor"),
64                textalign: d.data("textalign"),
65                trigger: d.data("trigger"),
66                textcolor: d.data("textcolor"),
67                opacity: d.data("opacity"),
68                templatename: d.data("templatename"),
69                width: d.data("width"),
70                margin: d.data("margin"),
71                padding: d.data("padding"),
72                delay: d.data("delay"),
73                issticky: e,
74                container: d.data("container"),
75                shadow: d.data("shadow")
76            });
77            return c
78        }, mouseOverHandler: function(n) {
79            if (typeof n.data.settings.onUpdate == "function") {
80                n.data.settings.title = n.data.settings.onUpdate.call(this)
81            }
82            if (n.data.element.is("input")) {
83                if (n.data.element.val() != "") {
84                    return false
85                }
86            }
87            if (n.data.settings.trigger == "click") {
88                if (!n.data.$toggle) {
89                    n.data.$toggle = true;
90                    this.toggle = true;
91                    n.data.element.unbind("click");
92                    n.data.element.bind("click", {
93                        settings: n.data.settings,
94                        element: n.data.element,
95                        $plugin: n.data.$plugin,
96                        $toggle: n.data.$toggle
97                    },
98                    n.data.$plugin.mouseOutHandler)
99                } else {
100                    n.data.$toggle = false;
101                    this.toggle = false;
102                    return false
103                }
104            }
105            var c = n.data.element;
106            var d = n.data.settings;
107            var R = parseInt(d.margin.toString().replace("px", ""));
108            var T = parseInt(d.padding.toString().replace("px", ""));
109            var Y = parseInt(d.width.toString().replace("px", ""));
110            var Q = d.container == "body" ? d.location : "none";
111            var N = d.backcolor;
112            var X = d.textcolor;
113            var W = d.textalign;
114            var V = d.templatename;
115            var P = d.delay;
116            var K = a(d.template);
117            K.css({opacity: d.opacity});
118            K.css("visibility", "visible");
119            K.find(".tooltip-content").css({"text-align": W}).html(d.title + d.clearfix);
120            K.find(".tooltip-content").css({padding: T + "px"});
121            
122            K.find(".tooltip-content p").css({background: N});
123            K.find(".tooltip-content p").css({color: X});
124//            K.find(".tooltip-content").css({background: N});
125//            K.find(".tooltip-content").css({color: X});
126            if (d.shadow == 1) {
127                K.find(".tooltip-content").css({"box-shadow": "1px 1px 3px 0px #888888"})
128            }
129            var M = Q;
130            var L = Q.split("-")[0];
131            var E = M;
132            var D = L;
133            K.removeClass(Q).addClass(M);
134            K.find(".tooltip-arrow").removeClass(Q).addClass(M).css("border-" + L + "-color", N);
135            var l = d.container;
136            if (d.container != "body") {
137                K.addClass("incontainer");
138                l = "#" + d.container;
139                a(l).children().each(function() {
140                    a(this).remove()
141                })
142            } else {
143                K.removeClass("incontainer");
144                l = "body"
145            }
146            a(l).append(K);
147            if (n.data.settings.trigger == "click") {
148                var O = a('<div id="tooltip-clickoutside"></div>');
149                O.css({
150                    width: "100%",
151                    height: "100%",
152                    position: "absolute",
153                    top: a(document).scrollTop() + "px",
154                    left: "0px"
155                });
156                a("body").append(O);
157                O.bind("click", {settings: n.data.settings, element: n.data.element, $plugin: n.data.$plugin, $toggle: n.data.$toggle}, n.data.$plugin.mouseOutHandler);
158                n.data.$toggle = false;
159                this.toggle = false
160            } else {
161                if (n.data.settings.trigger == "hoverable") {
162                    n.data.element.unbind("mouseenter")
163                }
164            }
165            if (d.container == "body") {
166                K.offset({top: 0, left: 0});
167                var ab = K.outerWidth();
168                var Z = K.outerHeight();
169                var ae = a(document).width();
170                var G = scrollbarWidth();
171                var ac = a(document).width() - a(window).width();
172                if (ac > 0) {
173                    ae = ae - G
174                }
175                if (ae > a(window).width()) {
176                    ae = a(window).width() - G
177                }
178                var ad = a(document).height();
179                if (ac > G) {
180                    ad = ad - G
181                }
182                if (Y != 0) {
183                    if (Y * 2 > ae) {
184                        Y = Math.floor((ae / 2) - 30)
185                    } else {
186                        Y -= 30
187                    }
188                    if (Y * 1.5 > ae / 2) {
189                        Y = Math.floor((ae / 2) - 30)
190                    }
191                } else {
192                    if (340 * 2 > ae) {
193                        Y = Math.floor((ae / 2) - 30)
194                    } else {
195                        Y = 340
196                    }
197                }
198                K.css({"max-width": Y});
199                ab = K.outerWidth();
200                Z = K.outerHeight();
201                var J = c.context;
202                var r = J.offsetWidth;
203                var o = J.offsetHeight;
204                var q = c.offset().top;
205                var p = c.offset().left;
206                if (J.tagName.toLowerCase() == "area") {
207                    var g = J.parentElement.getAttribute("name");
208                    var h = J.getAttribute("shape").toLowerCase();
209                    var x = a("img[usemap='#" + g + "']").offset().top;
210                    var w = a("img[usemap='#" + g + "']").offset().left;
211                    var j = parseInt(J.getAttribute("coords").split(",")[0]);
212                    var k = parseInt(J.getAttribute("coords").split(",")[1]);
213                    var i = parseInt(J.getAttribute("coords").split(",")[2]);
214                    var f = parseInt(J.getAttribute("coords").split(",")[3] || i);
215                    var v = {top: parseInt(x + k), left: parseInt(w + j)};
216                    if (h == "circle") {
217                        v = {top: parseInt(x + k - i), left: parseInt(w + j - i)};
218                        i *= 2;
219                        f *= 2
220                    }
221                    if (h == "rect") {
222                        v = {top: parseInt(x + k), left: parseInt(w + j)};
223                        i = i - j;
224                        f = f - k
225                    }
226                    if (h == "poly") {
227                        var m = new Array();
228                        var H = J.getAttribute("coords").split(",");
229                        for (var y = 0; y < H.length; ) {
230                            m.push({x: parseInt(H[y]), y: parseInt(H[y + 1])});
231                            y = y + 2
232                        }
233                        m.sort(function(e, af) {
234                            var ag = e.x, ah = af.x;
235                            if (ag == ah) {
236                                return 0
237                            }
238                            return ag < ah ? 1 : -1
239                        });
240                        var z = m[0].x;
241                        m.sort(function(e, af) {
242                            var ag = e.y, ah = af.y;
243                            if (ag == ah) {
244                                return 0
245                            }
246                            return ag < ah ? 1 : -1
247                        });
248                        var A = m[0].y;
249                        m.sort(function(e, af) {
250                            var ag = e.x, ah = af.x;
251                            if (ag == ah) {
252                                return 0
253                            }
254                            return ag > ah ? 1 : -1
255                        });
256                        var B = m[0].x;
257                        m.sort(function(e, af) {
258                            var ag = e.y, ah = af.y;
259                            if (ag == ah) {
260                                return 0
261                            }
262                            return ag > ah ? 1 : -1
263                        });
264                        var C = m[0].y;
265                        v = {top: parseInt(x + C), left: parseInt(w + B)};
266                        i = z - B;
267                        f = A - C
268                    }
269                    p = v.left;
270                    q = v.top;
271                    r = i;
272                    o = f
273                }
274                p = Math.round(p);
275                q = Math.round(q);
276                r = Math.round(r);
277                o = Math.round(o);
278                K.offset({top: 0, left: 0});
279                var S;
280                switch (Q) {
281                    case "top":
282                        S = {top: (q - Z - R), left: p - (ab / 2) + (r / 2)};
283                        break;
284                    case "top-left":
285                        S = {top: (q - Z - R), left: p};
286                        break;
287                    case "top-right":
288                        S = {top: (q - Z - R), left: p - ab + r};
289                        break;
290                    case "right":
291                        S = {top: (q + (o / 2) - (Z / 2)), left: p + r + R};
292                        break;
293                    case "right-top":
294                        S = {top: (q + o - Z + 8), left: p + r + R};
295                        break;
296                    case "right-bottom":
297                        S = {top: q - 8, left: p + r + R};
298                        break;
299                    case "bottom":
300                        S = {top: (q + o + R), left: p - (ab / 2) + (r / 2)};
301                        break;
302                    case "bottom-left":
303                        S = {top: (q + o + R), left: p};
304                        break;
305                    case "bottom-right":
306                        S = {top: (q + o + R), left: p - ab + r};
307                        break;
308                    case "left":
309                        S = {top: (q + (o / 2) - (Z / 2)), left: p - ab - R};
310                        break;
311                    case "left-top":
312                        S = {top: (q + o - Z + 8), left: p - ab - R};
313                        break;
314                    case "left-bottom":
315                        S = {top: q - 8, left: p - ab - R};
316                        break
317                }
318                var F = {top: 0, left: 0};
319                F.left = S.left;
320                F.top = S.top;
321                var aa = (((M.match("bottom") != null) || (M == "left") || (M == "right")) ? (((M == "left") || (M == "right")) ? (Z / 2) : (Z)) > (ad - q - o) : false);
322                if ((S.left < 0) || (S.top < 0) || (S.left + ab > ae) || aa) {
323                    if (L == "top" || L == "bottom" || L == "left" || L == "right") {
324                        var u = false;
325                        switch (L) {
326                            case "top":
327                                S.top = q - Z - R;
328                                S.left = p - (ab / 2) + (r / 2);
329                                u = true;
330                                break;
331                            case "bottom":
332                                S.top = q - Z - R;
333                                S.left = p - (ab / 2) + (r / 2);
334                                u = true;
335                                break;
336                            case "left":
337                                var I = M.replace(L + "-", "");
338                                if (I == "top") {
339                                    L = "top";
340                                    M = "top-left";
341                                    K.removeClass(E).addClass(M);
342                                    K.find(".tooltip-arrow").removeClass(E).css("border-" + D + "-color", "").addClass(M).css("border-" + L + "-color", N);
343                                    D = "top";
344                                    E = "top-left";
345                                    K.removeClass(Q).addClass(M);
346                                    K.find(".tooltip-arrow").removeClass(Q).addClass(M).css("border-" + L + "-color", N);
347                                    ab = K.outerWidth();
348                                    Z = K.outerHeight();
349                                    S.top = q - Z - R;
350                                    S.left = p - (ab / 2) + (r / 2);
351                                    F.left = p;
352                                    F.top = q - Z - R;
353                                    aa = (((M.match("bottom") != null) || (M == "left") || (M == "right")) ? (((M == "left") || (M == "right")) ? (Z / 2) : (Z)) > (ad - q - o) : false);
354                                    if ((S.left < 0) || (S.top < 0) || (S.left + ab > ae) || aa) {
355                                        u = true
356                                    } else {
357                                        S.left = F.left;
358                                        S.top = F.top
359                                    }
360                                } else {
361                                    if (I == "bottom") {
362                                        L = "bottom";
363                                        M = "bottom-left";
364                                        K.removeClass(E).addClass(M);
365                                        K.find(".tooltip-arrow").removeClass(E).css("border-" + D + "-color", "").addClass(M).css("border-" + L + "-color", N);
366                                        D = "bottom";
367                                        E = "bottom-left";
368                                        K.removeClass(Q).addClass(M);
369                                        K.find(".tooltip-arrow").removeClass(Q).addClass(M).css("border-" + L + "-color", N);
370                                        ab = K.outerWidth();
371                                        Z = K.outerHeight();
372                                        S.top = q + o + R;
373                                        S.left = p - (ab / 2) + (r / 2);
374                                        F.left = p;
375                                        F.top = q + o + R;
376                                        aa = (((M.match("bottom") != null) || (M == "left") || (M == "right")) ? (((M == "left") || (M == "right")) ? (Z / 2) : (Z)) > (ad - q - o) : false);
377                                        if ((S.left < 0) || (S.top < 0) || (S.left + ab > ae) || aa) {
378                                            u = true
379                                        } else {
380                                            S.left = F.left;
381                                            S.top = F.top
382                                        }
383                                    } else {
384                                        L = "top";
385                                        M = "top";
386                                        K.removeClass(E).addClass(M);
387                                        K.find(".tooltip-arrow").removeClass(E).css("border-" + D + "-color", "").addClass(M).css("border-" + L + "-color", N);
388                                        D = "top";
389                                        E = "top";
390                                        K.removeClass(Q).addClass(M);
391                                        K.find(".tooltip-arrow").removeClass(Q).addClass(M).css("border-" + L + "-color", N);
392                                        ab = K.outerWidth();
393                                        Z = K.outerHeight();
394                                        S.top = q - Z - R;
395                                        S.left = p - (ab / 2) + (r / 2);
396                                        F.left = S.left;
397                                        F.top = S.top;
398                                        aa = (((M.match("bottom") != null) || (M == "left") || (M == "right")) ? (((M == "left") || (M == "right")) ? (Z / 2) : (Z)) > (ad - q - o) : false);
399                                        if ((S.left < 0) || (S.top < 0) || (S.left + ab > ae) || aa) {
400                                            u = true
401                                        } else {
402                                            S.left = F.left;
403                                            S.top = F.top
404                                        }
405                                    }
406                                }
407                                break;
408                            case "right":
409                                var I = M.replace(L + "-", "");
410                                if (I == "top") {
411                                    L = "top";
412                                    M = "top-left";
413                                    K.removeClass(E).addClass(M);
414                                    K.find(".tooltip-arrow").removeClass(E).css("border-" + D + "-color", "").addClass(M).css("border-" + L + "-color", N);
415                                    D = "top";
416                                    E = "top-left";
417                                    K.removeClass(Q).addClass(M);
418                                    K.find(".tooltip-arrow").removeClass(Q).addClass(M).css("border-" + L + "-color", N);
419                                    ab = K.outerWidth();
420                                    Z = K.outerHeight();
421                                    S.top = q - Z - R;
422                                    S.left = p - (ab / 2) + (r / 2);
423                                    F.left = p;
424                                    F.top = q - Z - R;
425                                    aa = (((M.match("bottom") != null) || (M == "left") || (M == "right")) ? (((M == "left") || (M == "right")) ? (Z / 2) : (Z)) > (ad - q - o) : false);
426                                    if ((S.left < 0) || (S.top < 0) || (S.left + ab > ae) || aa) {
427                                        u = true
428                                    } else {
429                                        S.left = F.left;
430                                        S.top = F.top
431                                    }
432                                } else {
433                                    if (I == "bottom") {
434                                        L = "bottom";
435                                        M = "bottom-left";
436                                        K.removeClass(E).addClass(M);
437                                        K.find(".tooltip-arrow").removeClass(E).css("border-" + D + "-color", "").addClass(M).css("border-" + L + "-color", N);
438                                        D = "bottom";
439                                        E = "bottom-left";
440                                        K.removeClass(Q).addClass(M);
441                                        K.find(".tooltip-arrow").removeClass(Q).addClass(M).css("border-" + L + "-color", N);
442                                        ab = K.outerWidth();
443                                        Z = K.outerHeight();
444                                        S.top = q - Z - R;
445                                        S.left = p - (ab / 2) + (r / 2);
446                                        F.left = p;
447                                        F.top = q + o + R;
448                                        aa = (((M.match("bottom") != null) || (M == "left") || (M == "right")) ? (((M == "left") || (M == "right")) ? (Z / 2) : (Z)) > (ad - q - o) : false);
449                                        if ((S.left < 0) || (S.top < 0) || (S.left + ab > ae) || aa) {
450                                            u = true
451                                        } else {
452                                            S.left = F.left;
453                                            S.top = F.top
454                                        }
455                                    } else {
456                                        L = "top";
457                                        M = "top";
458                                        K.removeClass(E).addClass(M);
459                                        K.find(".tooltip-arrow").removeClass(E).css("border-" + D + "-color", "").addClass(M).css("border-" + L + "-color", N);
460                                        D = "top";
461                                        E = "top";
462                                        K.removeClass(Q).addClass(M);
463                                        K.find(".tooltip-arrow").removeClass(Q).addClass(M).css("border-" + L + "-color", N);
464                                        ab = K.outerWidth();
465                                        Z = K.outerHeight();
466                                        S.top = q - Z - R;
467                                        S.left = p - (ab / 2) + (r / 2);
468                                        F.left = S.left;
469                                        F.top = S.top;
470                                        aa = (((M.match("bottom") != null) || (M == "left") || (M == "right")) ? (((M == "left") || (M == "right")) ? (Z / 2) : (Z)) > (ad - q - o) : false);
471                                        if ((S.left < 0) || (S.top < 0) || (S.left + ab > ae) || aa) {
472                                            u = true
473                                        } else {
474                                            S.left = F.left;
475                                            S.top = F.top
476                                        }
477                                    }
478                                }
479                                break
480                        }
481                        if (u) {
482                            var s = false;
483                            var t = false;
484                            if (S.top < 0) {
485                                L = "bottom";
486                                M = "bottom";
487                                S.top = q + o + R;
488                                t = true;
489                                if (S.left < 0) {
490                                    L = "bottom";
491                                    M = "bottom-left";
492                                    S.left = p;
493                                    s = true
494                                }
495                                if (S.left + ab > ae) {
496                                    S.left = p - ab + r;
497                                    if (S.left < 0) {
498                                        L = "bottom";
499                                        M = "bottom";
500                                        S.left = p - (ab / 2) + (r / 2);
501                                        s = true
502                                    } else {
503                                        L = "bottom";
504                                        M = "bottom-right";
505                                        S.left = p - ab + r;
506                                        s = true
507                                    }
508                                }
509                            } else {
510                                L = "top";
511                                M = "top";
512                                S.top = q - Z - R;
513                                t = false;
514                                if (S.left < 0) {
515                                    L = "top";
516                                    M = "top-left";
517                                    S.left = p;
518                                    s = true
519                                }
520                                if (S.left + ab > ae) {
521                                    S.left = p - ab + r;
522                                    if (S.left < 0) {
523                                        L = "top";
524                                        M = "top";
525                                        S.left = p - (ab / 2) + (r / 2);
526                                        s = true
527                                    } else {
528                                        L = "top";
529                                        M = "top-right";
530                                        S.left = p - ab + r;
531                                        s = true
532                                    }
533                                }
534                            }
535                            if (!s) {
536                                if (t) {
537                                    M = E.replace("top", "bottom");
538                                    L = D.replace("top", "bottom");
539                                    if (F.left < 0) {
540                                        if (L == "bottom" || L == "top") {
541                                            M = M.replace("right", "left");
542                                            S.left = p
543                                        }
544                                    } else {
545                                        S.left = F.left
546                                    }
547                                } else {
548                                    M = E.replace("bottom", "top");
549                                    L = D.replace("bottom", "top");
550                                    if (F.left < 0) {
551                                        if (L == "bottom" || L == "top") {
552                                            M = M.replace("right", "left");
553                                            S.left = p
554                                        }
555                                    } else {
556                                        S.left = F.left
557                                    }
558                                }
559                            }
560                        }
561                    }
562                }
563                K.removeClass(E).addClass(M);
564                K.find(".tooltip-arrow").removeClass(E).css("border-" + D + "-color", "").addClass(M).css("border-" + L + "-color", N);
565                if (V != "") {
566                    if (K.find(".tooltip-content > .template").hasClass("template")) {
567                        K.find(".tooltip-content > .template").addClass(V);
568                        var U = K.find("." + V).css("background-color");
569//                        K.find(".tooltip-arrow").css("border-" + D + "-color", "");
570//                        K.find(".tooltip-arrow").css("border-" + L + "-color", U);
571                        //K.find(".tooltip-content").css({background: U})       // Fix background-color
572                    } else {
573                        if (K.find(".tooltip-content > .tooltip-menu").hasClass("tooltip-menu")) {
574                            K.find(".tooltip-content > .tooltip-menu").addClass(V);
575                            var U = K.find("." + V).css("background-color");
576                            K.find(".tooltip-arrow").css("border-" + D + "-color", "");
577                            K.find(".tooltip-arrow").css("border-" + L + "-color", U);
578                            K.find(".tooltip-content").css({background: U})
579                        }
580                    }
581                }
582                K.find(".tooltip-content > .video-wrapper").css({width: (K.width() - (T * 2)) + "px"});
583                K.offset(S)
584            }
585            K.hide();
586            c.removeAttr("title");
587            c.removeAttr("alt");
588            if (n.data.settings.trigger == "hoverable" || n.data.settings.trigger == "click") {
589                P = 0
590            }
591            switch (L) {
592                case "top":
593                    K.delay(P).css({top: "-=20", opacity: 0, display: "block"}).stop(true, true).animate({top: "+=20", opacity: d.opacity}, 150);
594                    break;
595                case "bottom":
596                    K.delay(P).css({top: "+=20", opacity: 0, display: "block"}).stop(true, true).animate({top: "-=20", opacity: d.opacity}, 150);
597                    break;
598                case "left":
599                    K.delay(P).css({left: "-=20", opacity: 0, display: "block"}).stop(true, true).animate({left: "+=20", opacity: d.opacity}, 150);
600                    break;
601                case "right":
602                    K.delay(P).css({left: "+=20", opacity: 0, display: "block"}).stop(true, true).animate({left: "-=20", opacity: d.opacity}, 150);
603                    break;
604                default:
605                    K.delay(P).css({opacity: 0, display: "block"}).stop(true, true).animate({opacity: d.opacity}, 150);
606                    break
607            }
608            n.data.$plugin.tooltip = K;
609            n.data.$plugin.location = Q;
610            n.data.$plugin.tooltip_arrow_border = L;
611            K = null;
612            return false
613        }, mouseOutHandler: function(d) {
614            var f = d.data.$plugin.tooltip;
615            var g = d.data.$plugin.location;
616            var c = false;
617            if (d.data.settings.trigger != "hoverable") {
618                if (d.data.settings.trigger == "hover") {
619                    a(f).delay(d.data.settings.delay);
620                    c = true
621                } else {
622                    c = true;
623                    if (d.data.settings.trigger == "click") {
624                        if (!d.data.settings.issticky) {
625                            d.data.settings.interval = setInterval(function() {
626                                a(f).fadeOut(0, function() {
627                                    a(d.data.$plugin.tooltip).remove()
628                                });
629                                clearInterval(d.data.settings.interval);
630                                this.toggle = false;
631                                d.data.$toggle = false;
632                                d.data.element.unbind("click");
633                                d.data.element.unbind("mouseleave");
634                                d.data.element.bind("click", {settings: d.data.settings, element: d.data.element, $plugin: d.data.$plugin, $toggle: false}, d.data.$plugin.mouseOverHandler);
635                                d.data.element.bind("mouseleave", {settings: d.data.settings, element: d.data.element, $plugin: d.data.$plugin, $toggle: false}, d.data.$plugin.mouseOutHandler)
636                            }, d.data.settings.delay == 0 ? 2000 : d.data.settings.delay);
637                            d.data.element.unbind("mouseleave");
638                            a(f).find(".tooltip-content").bind("mouseenter", {settings: d.data.settings, element: d.data.element, $plugin: d.data.$plugin, $toggle: true}, function() {
639                                d.data.element.unbind("click");
640                                d.data.element.unbind("mouseleave");
641                                this.toggle = true;
642                                d.data.$toggle = true;
643                                clearInterval(d.data.settings.interval)
644                            });
645                            a(f).find(".tooltip-content").bind("mouseleave", {settings: d.data.settings, element: d.data.element, $plugin: d.data.$plugin, $toggle: d.data.$toggle}, function() {
646                                a(f).fadeOut(0, function() {
647                                    a(d.data.$plugin.tooltip).remove()
648                                });
649                                this.toggle = false;
650                                d.data.$toggle = false;
651                                d.data.element.unbind("click");
652                                d.data.element.unbind("mouseleave");
653                                d.data.element.bind("click", {settings: d.data.settings, element: d.data.element, $plugin: d.data.$plugin, $toggle: false}, d.data.$plugin.mouseOverHandler);
654                                d.data.element.bind("mouseleave", {settings: d.data.settings, element: d.data.element, $plugin: d.data.$plugin, $toggle: false}, d.data.$plugin.mouseOutHandler)
655                            });
656                            c = false
657                        } else {
658                            c = true
659                        }
660                    }
661                }
662            } else {
663                d.data.settings.interval = setInterval(function() {
664                    a(f).fadeOut(0, function() {
665                        a(d.data.$plugin.tooltip).remove()
666                    });
667                    clearInterval(d.data.settings.interval);
668                    d.data.element.unbind("mouseleave");
669                    d.data.element.unbind("mouseenter");
670                    d.data.element.bind("mouseenter", {settings: d.data.settings, element: d.data.element, $plugin: d.data.$plugin, $toggle: false}, d.data.$plugin.mouseOverHandler);
671                    d.data.element.bind("mouseleave", {settings: d.data.settings, element: d.data.element, $plugin: d.data.$plugin, $toggle: false}, d.data.$plugin.mouseOutHandler)
672                }
672, d.data.settings.delay == 0 ? 2000 : d.data.settings.delay);
673                d.data.element.unbind("mouseleave");
674                a(f).find(".tooltip-content").bind("mouseenter", {settings: d.data.settings, element: d.data.element, $plugin: d.data.$plugin, $toggle: true}, function() {
675                    d.data.element.unbind("mouseenter");
676                    d.data.element.unbind("mouseleave");
677                    this.toggle = true;
678                    d.data.$toggle = true;
679                    clearInterval(d.data.settings.interval)
680                });
681                a(f).find(".tooltip-content").bind("mouseleave", {settings: d.data.settings, element: d.data.element, $plugin: d.data.$plugin, $toggle: true}, function() {
682                    a(f).fadeOut(0, function() {
683                        a(d.data.$plugin.tooltip).remove()
684                    });
685                    this.toggle = false;
686                    d.data.$toggle = false;
687                    d.data.element.unbind("mouseleave");
688                    d.data.element.unbind("mouseenter");
689                    d.data.element.bind("mouseenter", {settings: d.data.settings, element: d.data.element, $plugin: d.data.$plugin, $toggle: false}, d.data.$plugin.mouseOverHandler);
690                    d.data.element.bind("mouseleave", {settings: d.data.settings, element: d.data.element, $plugin: d.data.$plugin, $toggle: false}, d.data.$plugin.mouseOutHandler)
691                });
692                c = false
693            }
694            if (c) {
695                switch (d.data.$plugin.tooltip_arrow_border) {
696                    case "top":
697                        a(f).stop(true, true).animate({top: "-=20", opacity: 0}, 150, function() {
698                            a(d.data.$plugin.tooltip).remove()
699                        });
700                        break;
701                    case "bottom":
702                        a(f).stop(true, true).animate({top: "+=20", opacity: 0}, 150, function() {
703                            a(d.data.$plugin.tooltip).remove()
704                        });
705                        break;
706                    case "left":
707                        a(f).stop(true, true).animate({left: "-=20", opacity: 0}, 150, function() {
708                            a(d.data.$plugin.tooltip).remove()
709                        });
710                        break;
711                    case "right":
712                        a(f).stop(true, true).animate({left: "+=20", opacity: 0}, 150, function() {
713                            a(d.data.$plugin.tooltip).remove()
714                        });
715                        break
716                }
717                a(d.data.$plugin.tooltip).remove()
718            }
719            if (d.data.settings.trigger == "click") {
720                if (d.data.$toggle) {
721                    a("body").find("#tooltip-clickoutside").remove();
722                    this.toggle = false;
723                    d.data.$toggle = false;
724                    d.data.element.unbind("click");
725                    d.data.element.unbind("mouseleave");
726                    d.data.element.bind("click", {settings: d.data.settings, element: d.data.element, $plugin: d.data.$plugin, $toggle: d.data.$toggle}, d.data.$plugin.mouseOverHandler);
727                    if (!d.data.settings.issticky) {
728                        d.data.element.bind("mouseleave", {settings: d.data.settings, element: d.data.element, $plugin: d.data.$plugin, $toggle: d.data.$toggle}, d.data.$plugin.mouseOutHandler)
729                    }
730                }
731            }
732            return false
733        }};
734    scrollbarWidth = function() {
735        var c = a('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>');
736        a("body").append(c);
737        var d = a("div", c).innerWidth();
738        c.css("overflow", "scroll");
739        var e = a("div", c).innerWidth();
740        a(c).remove();
741        return (d - e)
742    };
743    a.fn.LiteTooltip.defaultSettings = {
744        location: "top",
745        title: "",
746        opacity: 0.89,
747        backcolor: "#000000",
748        textcolor: "#ffffff",
749        template: '<div class="litetooltip-wrapper"><div class="tooltip-arrow"></div><div class="tooltip-content"></div></div>',
750        margin: 5,
751        padding: 10,
752        width: 0,
753        textalign: "center",
754        trigger: "hover",
755        templatename: "",
756        delay: 0,
757        issticky: true,
758        clearfix: '<div class="clear"></div>',
759        container: "body",
760        shadow: 1
761    }
762})(jQuery);

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.