HEX
Server: Apache
System: Linux mx52.hostgator.mx 5.14.0-687.12.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Jun 7 14:39:27 EDT 2026 x86_64
User: narrativ (1644)
PHP: 8.2.33
Disabled: NONE
Upload Files
File: /home4/narrativ/www/wp-content/plugins/jnews-essential/lib/vp/public/js/vendor/jquery.tipsy.js
/*!
 * jQuery.tipsy
 * Copyright (c) 2014 CreativeDream
 * Website: http://creativedream.net/plugins/
 * Version: 1.0 (18-11-2014)
 * Requires: jQuery v1.7.1 or later
 */
(function (e) {
    var $ = e
    e.fn.tipsy = function (t) {
        if (typeof (t) == "string" && ["show", "hide"].indexOf(t) > -1) {
            switch (t) {
                case "show":
                    $(this).trigger('tipsy.show');
                    break;
                case "hide":
                    $(this).trigger('tipsy.hide');
                    break;
            }
            return this;
        }
        var n = e.extend({
            arrowWidth: 10,
            attr: 'data-tipsy',
            cls: null,
            duration: 150,
            offset: 7,
            position: 'top-center',
            trigger: 'hover',
            onShow: null,
            onHide: null
        }, t);
        return this.each(function (t, r) {
            var s = e(r),
                b = '.tipsy',
                o = e('<div class="tipsy"></div>'),
                p = ["top-left", "top-center", "top-right", "bottom-left", "bottom-center", "bottom-right", "left", "right"],
                f = {
                    init: function () {
                        var d = {};
                        switch (n.trigger) {
                            case 'hover':
                                d = {
                                    mouseenter: f._show,
                                    mouseleave: f._hide
                                }
                                break;
                            case 'focus':
                                d = {
                                    focus: f._show,
                                    blur: f._hide
                                }
                                break;
                            case 'click':
                                d = {
                                    click: function (e) {
                                        if (!f._clSe) {
                                            f._clSe = true;
                                            f._show(e);
                                        } else {
                                            f._clSe = false;
                                            f._hide(e);
                                        }
                                    },
                                }
                                break;
                            case 'manual':
                                f._unbindOptions();
                                d = {
                                    "tipsy.show": function (e) {
                                        f._clSe = true;
                                        f._show(e);
                                    },
                                    "tipsy.hide": function (e) {
                                        f._clSe = false;
                                        f._hide(e);
                                    }
                                }
                                break;
                        }
                        s.on(d);
                        o.hide();
                    },
                    _show: function (e) {
                        $(b).remove();
                        f._clear();
                        if (f.hasAttr(n.attr + '-disabled')) {
                            return false
                        }
                        f._createBox();
                        if (n.trigger != 'manual') {
                            f._bindOptions()
                        }
                    },
                    _hide: function (e) {
                        f._fixTitle(true);
                        o.stop(true, true).fadeOut(n.duration, function () {
                            n.onHide != null && typeof n.onHide == "function" ? n.onHide(o, s) : null
                            f._clear();
                            $(this).remove();
                        })
                    },
                    _showIn: function () {
                        o.stop(true, true).fadeIn(n.duration, function () {
                            n.onShow != null && typeof n.onShow == "function" ? n.onShow(o, s) : null
                        })
                    },
                    _bindOptions: function () {
                        e(window).bind("contextmenu", function () {
                            f._hide()
                        }).bind("blur", function () {
                            f._hide()
                        }).bind("resize", function () {
                            f._hide()
                        }).bind("scroll", function () {
                            f._hide()
                        })
                    },
                    _unbindOptions: function () {
                        e(window).unbind("contextmenu", function () {
                            f._hide()
                        }).unbind("blur", function () {
                            f._hide()
                        }).unbind("resize", function () {
                            f._hide()
                        }).unbind("scroll", function () {
                            f._hide()
                        })
                    },
                    _clear: function () {
                        o.attr("class", "tipsy").empty();
                        f._lsWpI = [];
                        f._lsWtI = [];
                    },
                    hasAttr: function (e) {
                        e = s.attr(e);
                        return typeof e !== typeof undefined && e !== false
                    },
                    _fixTitle: function (a) {
                        if (a) {
                            if (f.hasAttr('data-title') && !f.hasAttr('title') && f._lsWtI[0] == true) {
                                s.attr('title', f._lsWtI[1] || '').removeAttr('data-title');
                            }
                        } else {
                            if (f.hasAttr('title') || !f.hasAttr('data-title')) {
                                f._lsWtI = [true, s.attr('title')]
                                s.attr('data-title', s.attr('title') || '').removeAttr('title');
                            }
                        }
                    },
                    _getTitle: function () {
                        f._fixTitle();
                        var title = s.attr('data-title');
                        title = '' + title;

                        return title;
                    },
                    _position: function (a) {
                        var css = {top: 0, left: 0},
                            position = (a ? a : (f.hasAttr(n.attr + '-position') ? s.attr(n.attr + '-position') : n.position)),
                            arrow = position.split('-'),
                            offset = (f.hasAttr(n.attr + '-offset') ? s.attr(n.attr + '-offset') : n.offset),
                            style = {
                                offsetTop: s.offset().top,
                                offsetLeft: s.offset().left,
                                width: s.outerWidth(),
                                height: s.outerHeight()
                            },
                            tStyle = {
                                width: o.outerWidth(),
                                height: o.outerHeight()
                            },
                            wStyle = {
                                width: $(window).outerWidth(),
                                height: $(window).outerHeight(),
                                scrollTop: $(window).scrollTop(),
                                scrollLeft: $(window).scrollLeft(),
                            };

                        if ($.inArray(position, p) == -1 || $.inArray(position, f._lsWpI) !== -1) {
                            f._hide();
                            return css
                        } else {
                            f._lsWpI.push(position)
                        }

                        switch (arrow[0]) {
                            case 'bottom':
                                css.top = style.offsetTop + style.height + offset;
                                if (css.top >= wStyle.height + wStyle.scrollTop) {
                                    return f._position('top' + '-' + arrow[1])
                                }
                                o.addClass('arrow-top');
                                break;
                            case 'top':
                                css.top = style.offsetTop - tStyle.height - offset;
                                if (css.top - wStyle.scrollTop <= 0) {
                                    return f._position('bottom' + '-' + arrow[1])
                                }
                                o.addClass('arrow-bottom');
                                break;
                            case 'left':
                                css.top = style.offsetTop + style.height / 2 - tStyle.height / 2;
                                css.left = style.offsetLeft - tStyle.width - offset;
                                if (css.left <= 0) {
                                    return f._position('right')
                                }
                                o.addClass('arrow-side-right');
                                return css;
                                break;
                            case 'right':
                                css.top = style.offsetTop + style.height / 2 - tStyle.height / 2;
                                css.left = style.offsetLeft + style.width + offset;
                                if (css.left + tStyle.width > wStyle.width) {
                                    return f._position('left')
                                }
                                o.addClass('arrow-side-left');
                                return css;
                                break;
                        }
                        switch (arrow[1]) {
                            case 'left':
                                css.left = style.offsetLeft + style.width / 2 - tStyle.width + n.arrowWidth;
                                if (css.left <= 0) {
                                    return f._position(arrow[0] + '-' + 'right')
                                }
                                o.addClass('arrow-right');
                                break;
                            case 'center':
                                css.left = style.offsetLeft + style.width / 2 - tStyle.width / 2;
                                if (css.left + tStyle.width > wStyle.width) {
                                    return f._position(arrow[0] + '-' + 'left')
                                }
                                if (css.left <= 0) {
                                    return f._position(arrow[0] + '-' + 'right')
                                }
                                o.addClass('arrow-center');
                                break;
                            case 'right':
                                css.left = style.offsetLeft + style.width / 2 - n.arrowWidth;
                                if (css.left + tStyle.width > wStyle.width) {
                                    return f._position(arrow[0] + '-' + 'left')
                                }
                                o.addClass('arrow-left');
                                break;
                        }

                        return css;
                    },
                    _createBox: function () {
                        o.html(f._getTitle()).appendTo('body');
                        if ((n.cls != null && typeof (n.cls) == "string") || f.hasAttr(n.attr + '-cls')) {
                            o.addClass((f.hasAttr(n.attr + '-cls') ? s.attr(n.attr + '-cls') : n.cls));
                        }
                        o.css(f._position());
                        f._showIn();
                    },
                    _lsWtI: [],
                    _lsWpI: []
                }
            f.init();
            return this;
        });
    }.bind($)
})(jQuery);