File Manager

Current Path : /webspace/www.babilon.be/html/shop/modules/syspay/js/
Upload File :
Current File : //webspace/www.babilon.be/html/shop/modules/syspay/js/jquery.qtip-1.0.0-rc3.min.js

/*
 * jquery.qtip. The jQuery tooltip plugin
 *
 * Copyright (c) 2009 Craig Thompson
 * http://craigsworks.com
 *
 * Licensed under MIT
 * http://www.opensource.org/licenses/mit-license.php
 *
 * Launch  : February 2009
 * Version : 1.0.0-rc3
 * Released: Tuesday 12th May, 2009 - 00:00
 * Debug: jquery.qtip.debug.js
 */

 
(function (f) {
    f.fn.qtip = function (B, u) {
        var y, t, A, s, x, w, v, z;
        if (typeof B == "string") {
            if (typeof f(this).data("qtip") !== "object") {
                f.fn.qtip.log.error.call(self, 1, f.fn.qtip.constants.NO_TOOLTIP_PRESENT, false)
            }
            if (B == "api") {
                return f(this).data("qtip").interfaces[f(this).data("qtip").current]
            } else {
                if (B == "interfaces") {
                    return f(this).data("qtip").interfaces
                }
            }
        } else {
            if (!B) {
                B = {}
            }
            if (typeof B.content !== "object" || (B.content.jquery && B.content.length > 0)) {
                B.content = {
                    text: B.content
                }
            }
            if (typeof B.content.title !== "object") {
                B.content.title = {
                    text: B.content.title
                }
            }
            if (typeof B.position !== "object") {
                B.position = {
                    corner: B.position
                }
            }
            if (typeof B.position.corner !== "object") {
                B.position.corner = {
                    target: B.position.corner,
                    tooltip: B.position.corner
                }
            }
            if (typeof B.show !== "object") {
                B.show = {
                    when: B.show
                }
            }
            if (typeof B.show.when !== "object") {
                B.show.when = {
                    event: B.show.when
                }
            }
            if (typeof B.show.effect !== "object") {
                B.show.effect = {
                    type: B.show.effect
                }
            }
            if (typeof B.hide !== "object") {
                B.hide = {
                    when: B.hide
                }
            }
            if (typeof B.hide.when !== "object") {
                B.hide.when = {
                    event: B.hide.when
                }
            }
            if (typeof B.hide.effect !== "object") {
                B.hide.effect = {
                    type: B.hide.effect
                }
            }
            if (typeof B.style !== "object") {
                B.style = {
                    name: B.style
                }
            }
            B.style = c(B.style);
            s = f.extend(true, {}, f.fn.qtip.defaults, B);
            s.style = a.call({
                options: s
            }, s.style);
            s.user = f.extend(true, {}, B)
        }
        return f(this).each(function () {
            if (typeof B == "string") {
                w = B.toLowerCase();
                A = f(this).qtip("interfaces");
                if (typeof A == "object") {
                    if (u === true && w == "destroy") {
                        while (A.length > 0) {
                            A[A.length - 1].destroy()
                        }
                    } else {
                        if (u !== true) {
                            A = [f(this).qtip("api")]
                        }
                        for (y = 0; y < A.length; y++) {
                            if (w == "destroy") {
                                A[y].destroy()
                            } else {
                                if (A[y].status.rendered === true) {
                                    if (w == "show") {
                                        A[y].show()
                                    } else {
                                        if (w == "hide") {
                                            A[y].hide()
                                        } else {
                                            if (w == "focus") {
                                                A[y].focus()
                                            } else {
                                                if (w == "disable") {
                                                    A[y].disable(true)
                                                } else {
                                                    if (w == "enable") {
                                                        A[y].disable(false)
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            } else {
                v = f.extend(true, {}, s);
                v.hide.effect.length = s.hide.effect.length;
                v.show.effect.length = s.show.effect.length;
                if (v.position.container === false) {
                    v.position.container = f(document.body)
                }
                if (v.position.target === false) {
                    v.position.target = f(this)
                }
                if (v.show.when.target === false) {
                    v.show.when.target = f(this)
                }
                if (v.hide.when.target === false) {
                    v.hide.when.target = f(this)
                }
                t = f.fn.qtip.interfaces.length;
                for (y = 0; y < t; y++) {
                    if (typeof f.fn.qtip.interfaces[y] == "undefined") {
                        t = y;
                        break
                    }
                }
                x = new d(f(this), v, t);
                f.fn.qtip.interfaces[t] = x;
                if (typeof f(this).data("qtip") == "object") {
                    if (typeof f(this).attr("qtip") === "undefined") {
                        f(this).data("qtip").current = f(this).data("qtip").interfaces.length
                    }
                    f(this).data("qtip").interfaces.push(x)
                } else {
                    f(this).data("qtip", {
                        current: 0,
                        interfaces: [x]
                    })
                } if (v.content.prerender === false && v.show.when.event !== false && v.show.ready !== true) {
                    v.show.when.target.bind(v.show.when.event + ".qtip-" + t + "-create", {
                        qtip: t
                    }, function (C) {
                        z = f.fn.qtip.interfaces[C.data.qtip];
                        z.options.show.when.target.unbind(z.options.show.when.event + ".qtip-" + C.data.qtip + "-create");
                        z.cache.mouse = {
                            x: C.pageX,
                            y: C.pageY
                        };
                        p.call(z);
                        z.options.show.when.target.trigger(z.options.show.when.event)
                    })
                } else {
                    x.cache.mouse = {
                        x: v.show.when.target.offset().left,
                        y: v.show.when.target.offset().top
                    };
                    p.call(x)
                }
            }
        })
    };

    function d(u, t, v) {
        var s = this;
        s.id = v;
        s.options = t;
        s.status = {
            animated: false,
            rendered: false,
            disabled: false,
            focused: false
        };
        s.elements = {
            target: u.addClass(s.options.style.classes.target),
            tooltip: null,
            wrapper: null,
            content: null,
            contentWrapper: null,
            title: null,
            button: null,
            tip: null,
            bgiframe: null
        };
        s.cache = {
            mouse: {},
            position: {},
            toggle: 0
        };
        s.timers = {};
        f.extend(s, s.options.api, {
            show: function (y) {
                var x, z;
                if (!s.status.rendered) {
                    return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.TOOLTIP_NOT_RENDERED, "show")
                }
                if (s.elements.tooltip.css("display") !== "none") {
                    return s
                }
                s.elements.tooltip.stop(true, false);
                x = s.beforeShow.call(s, y);
                if (x === false) {
                    return s
                }
                function w() {
                    if (s.options.position.type !== "static") {
                        s.focus()
                    }
                    s.onShow.call(s, y);
                    if (f.browser.msie) {
                        s.elements.tooltip.get(0).style.removeAttribute("filter")
                    }
                }
                s.cache.toggle = 1;
                if (s.options.position.type !== "static") {
                    s.updatePosition(y, (s.options.show.effect.length > 0))
                }
                if (typeof s.options.show.solo == "object") {
                    z = f(s.options.show.solo)
                } else {
                    if (s.options.show.solo === true) {
                        z = f("div.qtip").not(s.elements.tooltip)
                    }
                } if (z) {
                    z.each(function () {
                        if (f(this).qtip("api").status.rendered === true) {
                            f(this).qtip("api").hide()
                        }
                    })
                }
                if (typeof s.options.show.effect.type == "function") {
                    s.options.show.effect.type.call(s.elements.tooltip, s.options.show.effect.length);
                    s.elements.tooltip.queue(function () {
                        w();
                        f(this).dequeue()
                    })
                } else {
                    switch (s.options.show.effect.type.toLowerCase()) {
                        case "fade":
                            s.elements.tooltip.fadeIn(s.options.show.effect.length, w);
                            break;
                        case "slide":
                            s.elements.tooltip.slideDown(s.options.show.effect.length, function () {
                                w();
                                if (s.options.position.type !== "static") {
                                    s.updatePosition(y, true)
                                }
                            });
                            break;
                        case "grow":
                            s.elements.tooltip.show(s.options.show.effect.length, w);
                            break;
                        default:
                            s.elements.tooltip.show(null, w);
                            break
                    }
                    s.elements.tooltip.addClass(s.options.style.classes.active)
                }
                return f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.EVENT_SHOWN, "show")
            },
            hide: function (y) {
                var x;
                if (!s.status.rendered) {
                    return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.TOOLTIP_NOT_RENDERED, "hide")
                } else {
                    if (s.elements.tooltip.css("display") === "none") {
                        return s
                    }
                }
                clearTimeout(s.timers.show);
                s.elements.tooltip.stop(true, false);
                x = s.beforeHide.call(s, y);
                if (x === false) {
                    return s
                }
                function w() {
                    s.onHide.call(s, y)
                }
                s.cache.toggle = 0;
                if (typeof s.options.hide.effect.type == "function") {
                    s.options.hide.effect.type.call(s.elements.tooltip, s.options.hide.effect.length);
                    s.elements.tooltip.queue(function () {
                        w();
                        f(this).dequeue()
                    })
                } else {
                    switch (s.options.hide.effect.type.toLowerCase()) {
                        case "fade":
                            s.elements.tooltip.fadeOut(s.options.hide.effect.length, w);
                            break;
                        case "slide":
                            s.elements.tooltip.slideUp(s.options.hide.effect.length, w);
                            break;
                        case "grow":
                            s.elements.tooltip.hide(s.options.hide.effect.length, w);
                            break;
                        default:
                            s.elements.tooltip.hide(null, w);
                            break
                    }
                    s.elements.tooltip.removeClass(s.options.style.classes.active)
                }
                return f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.EVENT_HIDDEN, "hide")
            },
            updatePosition: function (w, x) {
                var C, G, L, J, H, E, y, I, B, D, K, A, F, z;
                if (!s.status.rendered) {
                    return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.TOOLTIP_NOT_RENDERED, "updatePosition")
                } else {
                    if (s.options.position.type == "static") {
                        return f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.CANNOT_POSITION_STATIC, "updatePosition")
                    }
                }
                G = {
                    position: {
                        left: 0,
                        top: 0
                    },
                    dimensions: {
                        height: 0,
                        width: 0
                    },
                    corner: s.options.position.corner.target
                };
                L = {
                    position: s.getPosition(),
                    dimensions: s.getDimensions(),
                    corner: s.options.position.corner.tooltip
                };
                if (s.options.position.target !== "mouse") {
                    if (s.options.position.target.get(0).nodeName.toLowerCase() == "area") {
                        J = s.options.position.target.attr("coords").split(",");
                        for (C = 0; C < J.length; C++) {
                            J[C] = parseInt(J[C])
                        }
                        H = s.options.position.target.parent("map").attr("name");
                        E = f('img[usemap="#' + H + '"]:first').offset();
                        G.position = {
                            left: Math.floor(E.left + J[0]),
                            top: Math.floor(E.top + J[1])
                        };
                        switch (s.options.position.target.attr("shape").toLowerCase()) {
                            case "rect":
                                G.dimensions = {
                                    width: Math.ceil(Math.abs(J[2] - J[0])),
                                    height: Math.ceil(Math.abs(J[3] - J[1]))
                                };
                                break;
                            case "circle":
                                G.dimensions = {
                                    width: J[2] + 1,
                                    height: J[2] + 1
                                };
                                break;
                            case "poly":
                                G.dimensions = {
                                    width: J[0],
                                    height: J[1]
                                };
                                for (C = 0; C < J.length; C++) {
                                    if (C % 2 == 0) {
                                        if (J[C] > G.dimensions.width) {
                                            G.dimensions.width = J[C]
                                        }
                                        if (J[C] < J[0]) {
                                            G.position.left = Math.floor(E.left + J[C])
                                        }
                                    } else {
                                        if (J[C] > G.dimensions.height) {
                                            G.dimensions.height = J[C]
                                        }
                                        if (J[C] < J[1]) {
                                            G.position.top = Math.floor(E.top + J[C])
                                        }
                                    }
                                }
                                G.dimensions.width = G.dimensions.width - (G.position.left - E.left);
                                G.dimensions.height = G.dimensions.height - (G.position.top - E.top);
                                break;
                            default:
                                return f.fn.qtip.log.error.call(s, 4, f.fn.qtip.constants.INVALID_AREA_SHAPE, "updatePosition");
                                break
                        }
                        G.dimensions.width -= 2;
                        G.dimensions.height -= 2
                    } else {
                        if (s.options.position.target.add(document.body).length === 1) {
                            G.position = {
                                left: f(document).scrollLeft(),
                                top: f(document).scrollTop()
                            };
                            G.dimensions = {
                                height: f(window).height(),
                                width: f(window).width()
                            }
                        } else {
                            if (typeof s.options.position.target.attr("qtip") !== "undefined") {
                                G.position = s.options.position.target.qtip("api").cache.position
                            } else {
                                G.position = s.options.position.target.offset()
                            }
                            G.dimensions = {
                                height: s.options.position.target.outerHeight(),
                                width: s.options.position.target.outerWidth()
                            }
                        }
                    }
                    y = f.extend({}, G.position);
                    if (G.corner.search(/right/i) !== -1) {
                        y.left += G.dimensions.width
                    }
                    if (G.corner.search(/bottom/i) !== -1) {
                        y.top += G.dimensions.height
                    }
                    if (G.corner.search(/((top|bottom)Middle)|center/) !== -1) {
                        y.left += (G.dimensions.width / 2)
                    }
                    if (G.corner.search(/((left|right)Middle)|center/) !== -1) {
                        y.top += (G.dimensions.height / 2)
                    }
                } else {
                    G.position = y = {
                        left: s.cache.mouse.x,
                        top: s.cache.mouse.y
                    };
                    G.dimensions = {
                        height: 1,
                        width: 1
                    }
                } if (L.corner.search(/right/i) !== -1) {
                    y.left -= L.dimensions.width
                }
                if (L.corner.search(/bottom/i) !== -1) {
                    y.top -= L.dimensions.height
                }
                if (L.corner.search(/((top|bottom)Middle)|center/) !== -1) {
                    y.left -= (L.dimensions.width / 2)
                }
                if (L.corner.search(/((left|right)Middle)|center/) !== -1) {
                    y.top -= (L.dimensions.height / 2)
                }
                I = (f.browser.msie) ? 1 : 0;
                B = (f.browser.msie && parseInt(f.browser.version.charAt(0)) === 6) ? 1 : 0;
                if (s.options.style.border.radius > 0) {
                    if (L.corner.search(/Left/) !== -1) {
                        y.left -= s.options.style.border.radius
                    } else {
                        if (L.corner.search(/Right/) !== -1) {
                            y.left += s.options.style.border.radius
                        }
                    } if (L.corner.search(/Top/) !== -1) {
                        y.top -= s.options.style.border.radius
                    } else {
                        if (L.corner.search(/Bottom/) !== -1) {
                            y.top += s.options.style.border.radius
                        }
                    }
                }
                if (I) {
                    if (L.corner.search(/top/) !== -1) {
                        y.top -= I
                    } else {
                        if (L.corner.search(/bottom/) !== -1) {
                            y.top += I
                        }
                    } if (L.corner.search(/left/) !== -1) {
                        y.left -= I
                    } else {
                        if (L.corner.search(/right/) !== -1) {
                            y.left += I
                        }
                    } if (L.corner.search(/leftMiddle|rightMiddle/) !== -1) {
                        y.top -= 1
                    }
                }
                if (s.options.position.adjust.screen === true) {
                    y = o.call(s, y, G, L)
                }
                if (s.options.position.target === "mouse" && s.options.position.adjust.mouse === true) {
                    if (s.options.position.adjust.screen === true && s.elements.tip) {
                        K = s.elements.tip.attr("rel")
                    } else {
                        K = s.options.position.corner.tooltip
                    }
                    y.left += (K.search(/right/i) !== -1) ? -6 : 6;
                    y.top += (K.search(/bottom/i) !== -1) ? -6 : 6
                }
                if (!s.elements.bgiframe && f.browser.msie && parseInt(f.browser.version.charAt(0)) == 6) {
                    f("select, object").each(function () {
                        A = f(this).offset();
                        A.bottom = A.top + f(this).height();
                        A.right = A.left + f(this).width();
                        if (y.top + L.dimensions.height >= A.top && y.left + L.dimensions.width >= A.left) {
                            k.call(s)
                        }
                    })
                }
                y.left += s.options.position.adjust.x;
                y.top += s.options.position.adjust.y;
                F = s.getPosition();
                if (y.left != F.left || y.top != F.top) {
                    z = s.beforePositionUpdate.call(s, w);
                    if (z === false) {
                        return s
                    }
                    s.cache.position = y;
                    if (x === true) {
                        s.status.animated = true;
                        s.elements.tooltip.animate(y, 200, "swing", function () {
                            s.status.animated = false
                        })
                    } else {
                        s.elements.tooltip.css(y)
                    }
                    s.onPositionUpdate.call(s, w);
                    if (typeof w !== "undefined" && w.type && w.type !== "mousemove") {
                        f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.EVENT_POSITION_UPDATED, "updatePosition")
                    }
                }
                return s
            },
            updateWidth: function (w) {
                var x;
                if (!s.status.rendered) {
                    return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.TOOLTIP_NOT_RENDERED, "updateWidth")
                } else {
                    if (w && typeof w !== "number") {
                        return f.fn.qtip.log.error.call(s, 2, "newWidth must be of type number", "updateWidth")
                    }
                }
                x = s.elements.contentWrapper.siblings().add(s.elements.tip).add(s.elements.button);
                if (!w) {
                    if (typeof s.options.style.width.value == "number") {
                        w = s.options.style.width.value
                    } else {
                        s.elements.tooltip.css({
                            width: "auto"
                        });
                        x.hide();
                        if (f.browser.msie) {
                            s.elements.wrapper.add(s.elements.contentWrapper.children()).css({
                                zoom: "normal"
                            })
                        }
                        w = s.getDimensions().width + 1;
                        if (!s.options.style.width.value) {
                            if (w > s.options.style.width.max) {
                                w = s.options.style.width.max
                            }
                            if (w < s.options.style.width.min) {
                                w = s.options.style.width.min
                            }
                        }
                    }
                }
                if (w % 2 !== 0) {
                    w -= 1
                }
                s.elements.tooltip.width(w);
                x.show();
                if (s.options.style.border.radius) {
                    s.elements.tooltip.find(".qtip-betweenCorners").each(function (y) {
                        f(this).width(w - (s.options.style.border.radius * 2))
                    })
                }
                if (f.browser.msie) {
                    s.elements.wrapper.add(s.elements.contentWrapper.children()).css({
                        zoom: "1"
                    });
                    s.elements.wrapper.width(w);
                    if (s.elements.bgiframe) {
                        s.elements.bgiframe.width(w).height(s.getDimensions.height)
                    }
                }
                return f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.EVENT_WIDTH_UPDATED, "updateWidth")
            },
            updateStyle: function (w) {
                var z, A, x, y, B;
                if (!s.status.rendered) {
                    return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.TOOLTIP_NOT_RENDERED, "updateStyle")
                } else {
                    if (typeof w !== "string" || !f.fn.qtip.styles[w]) {
                        return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.STYLE_NOT_DEFINED, "updateStyle")
                    }
                }
                s.options.style = a.call(s, f.fn.qtip.styles[w], s.options.user.style);
                s.elements.content.css(q(s.options.style));
                if (s.options.content.title.text !== false) {
                    s.elements.title.css(q(s.options.style.title, true))
                }
                s.elements.contentWrapper.css({
                    borderColor: s.options.style.border.color
                });
                if (s.options.style.tip.corner !== false) {
                    if (f("<canvas>").get(0).getContext) {
                        z = s.elements.tooltip.find(".qtip-tip canvas:first");
                        x = z.get(0).getContext("2d");
                        x.clearRect(0, 0, 300, 300);
                        y = z.parent("div[rel]:first").attr("rel");
                        B = b(y, s.options.style.tip.size.width, s.options.style.tip.size.height);
                        h.call(s, z, B, s.options.style.tip.color || s.options.style.border.color)
                    } else {
                        if (f.browser.msie) {
                            z = s.elements.tooltip.find('.qtip-tip [nodeName="shape"]');
                            z.attr("fillcolor", s.options.style.tip.color || s.options.style.border.color)
                        }
                    }
                }
                if (s.options.style.border.radius > 0) {
                    s.elements.tooltip.find(".qtip-betweenCorners").css({
                        backgroundColor: s.options.style.border.color
                    });
                    if (f("<canvas>").get(0).getContext) {
                        A = g(s.options.style.border.radius);
                        s.elements.tooltip.find(".qtip-wrapper canvas").each(function () {
                            x = f(this).get(0).getContext("2d");
                            x.clearRect(0, 0, 300, 300);
                            y = f(this).parent("div[rel]:first").attr("rel");
                            r.call(s, f(this), A[y], s.options.style.border.radius, s.options.style.border.color)
                        })
                    } else {
                        if (f.browser.msie) {
                            s.elements.tooltip.find('.qtip-wrapper [nodeName="arc"]').each(function () {
                                f(this).attr("fillcolor", s.options.style.border.color)
                            })
                        }
                    }
                }
                return f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.EVENT_STYLE_UPDATED, "updateStyle")
            },
            updateContent: function (A, y) {
                var z, x, w;
                if (!s.status.rendered) {
                    return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.TOOLTIP_NOT_RENDERED, "updateContent")
                } else {
                    if (!A) {
                        return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.NO_CONTENT_PROVIDED, "updateContent")
                    }
                }
                z = s.beforeContentUpdate.call(s, A);
                if (typeof z == "string") {
                    A = z
                } else {
                    if (z === false) {
                        return
                    }
                } if (f.browser.msie) {
                    s.elements.contentWrapper.children().css({
                        zoom: "normal"
                    })
                }
                if (A.jquery && A.length > 0) {
                    A.clone(true).appendTo(s.elements.content).show()
                } else {
                    s.elements.content.html(A)
                }
                x = s.elements.content.find("img[complete=false]");
                if (x.length > 0) {
                    w = 0;
                    x.each(function (C) {
                        f('<img src="' + f(this).attr("src") + '" />').load(function () {
                            if (++w == x.length) {
                                B()
                            }
                        })
                    })
                } else {
                    B()
                }
                function B() {
                    s.updateWidth();
                    if (y !== false) {
                        if (s.options.position.type !== "static") {
                            s.updatePosition(s.elements.tooltip.is(":visible"), true)
                        }
                        if (s.options.style.tip.corner !== false) {
                            n.call(s)
                        }
                    }
                }
                s.onContentUpdate.call(s);
                return f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.EVENT_CONTENT_UPDATED, "loadContent")
            },
            loadContent: function (w, z, A) {
                var y;
                if (!s.status.rendered) {
                    return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.TOOLTIP_NOT_RENDERED, "loadContent")
                }
                y = s.beforeContentLoad.call(s);
                if (y === false) {
                    return s
                }
                if (A == "post") {
                    f.post(w, z, x)
                } else {
                    f.get(w, z, x)
                }
                function x(B) {
                    s.onContentLoad.call(s);
                    f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.EVENT_CONTENT_LOADED, "loadContent");
                    s.updateContent(B)
                }
                return s
            },
            updateTitle: function (w) {
                if (!s.status.rendered) {
                    return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.TOOLTIP_NOT_RENDERED, "updateTitle")
                } else {
                    if (!w) {
                        return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.NO_CONTENT_PROVIDED, "updateTitle")
                    }
                }
                returned = s.beforeTitleUpdate.call(s);
                if (returned === false) {
                    return s
                }
                if (s.elements.button) {
                    s.elements.button = s.elements.button.clone(true)
                }
                s.elements.title.html(w);
                if (s.elements.button) {
                    s.elements.title.prepend(s.elements.button)
                }
                s.onTitleUpdate.call(s);
                return f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.EVENT_TITLE_UPDATED, "updateTitle")
            },
            focus: function (A) {
                var y, x, w, z;
                if (!s.status.rendered) {
                    return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.TOOLTIP_NOT_RENDERED, "focus")
                } else {
                    if (s.options.position.type == "static") {
                        return f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.CANNOT_FOCUS_STATIC, "focus")
                    }
                }
                y = parseInt(s.elements.tooltip.css("z-index"));
                x = 6000 + f("div.qtip[qtip]").length - 1;
                if (!s.status.focused && y !== x) {
                    z = s.beforeFocus.call(s, A);
                    if (z === false) {
                        return s
                    }
                    f("div.qtip[qtip]").not(s.elements.tooltip).each(function () {
                        if (f(this).qtip("api").status.rendered === true) {
                            w = parseInt(f(this).css("z-index"));
                            if (typeof w == "number" && w > -1) {
                                f(this).css({
                                    zIndex: parseInt(f(this).css("z-index")) - 1
                                })
                            }
                            f(this).qtip("api").status.focused = false
                        }
                    });
                    s.elements.tooltip.css({
                        zIndex: x
                    });
                    s.status.focused = true;
                    s.onFocus.call(s, A);
                    f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.EVENT_FOCUSED, "focus")
                }
                return s
            },
            disable: function (w) {
                if (!s.status.rendered) {
                    return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.TOOLTIP_NOT_RENDERED, "disable")
                }
                if (w) {
                    if (!s.status.disabled) {
                        s.status.disabled = true;
                        f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.EVENT_DISABLED, "disable")
                    } else {
                        f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.TOOLTIP_ALREADY_DISABLED, "disable")
                    }
                } else {
                    if (s.status.disabled) {
                        s.status.disabled = false;
                        f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.EVENT_ENABLED, "disable")
                    } else {
                        f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.TOOLTIP_ALREADY_ENABLED, "disable")
                    }
                }
                return s
            },
            destroy: function () {
                var w, x, y;
                x = s.beforeDestroy.call(s);
                if (x === false) {
                    return s
                }
                if (s.status.rendered) {
                    s.options.show.when.target.unbind("mousemove.qtip", s.updatePosition);
                    s.options.show.when.target.unbind("mouseout.qtip", s.hide);
                    s.options.show.when.target.unbind(s.options.show.when.event + ".qtip");
                    s.options.hide.when.target.unbind(s.options.hide.when.event + ".qtip");
                    s.elements.tooltip.unbind(s.options.hide.when.event + ".qtip");
                    s.elements.tooltip.unbind("mouseover.qtip", s.focus);
                    s.elements.tooltip.remove()
                } else {
                    s.options.show.when.target.unbind(s.options.show.when.event + ".qtip-create")
                } if (typeof s.elements.target.data("qtip") == "object") {
                    y = s.elements.target.data("qtip").interfaces;
                    if (typeof y == "object" && y.length > 0) {
                        for (w = 0; w < y.length - 1; w++) {
                            if (y[w].id == s.id) {
                                y.splice(w, 1)
                            }
                        }
                    }
                }
                delete f.fn.qtip.interfaces[s.id];
                if (typeof y == "object" && y.length > 0) {
                    s.elements.target.data("qtip").current = y.length - 1
                } else {
                    s.elements.target.removeData("qtip")
                }
                s.onDestroy.call(s);
                f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.EVENT_DESTROYED, "destroy");
                return s.elements.target
            },
            getPosition: function () {
                var w, x;
                if (!s.status.rendered) {
                    return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.TOOLTIP_NOT_RENDERED, "getPosition")
                }
                w = (s.elements.tooltip.css("display") !== "none") ? false : true;
                if (w) {
                    s.elements.tooltip.css({
                        visiblity: "hidden"
                    }).show()
                }
                x = s.elements.tooltip.offset();
                if (w) {
                    s.elements.tooltip.css({
                        visiblity: "visible"
                    }).hide()
                }
                return x
            },
            getDimensions: function () {
                var w, x;
                if (!s.status.rendered) {
                    return f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.TOOLTIP_NOT_RENDERED, "getDimensions")
                }
                w = (!s.elements.tooltip.is(":visible")) ? true : false;
                if (w) {
                    s.elements.tooltip.css({
                        visiblity: "hidden"
                    }).show()
                }
                x = {
                    height: s.elements.tooltip.outerHeight(),
                    width: s.elements.tooltip.outerWidth()
                };
                if (w) {
                    s.elements.tooltip.css({
                        visiblity: "visible"
                    }).hide()
                }
                return x
            }
        })
    }
    function p() {
        var s, w, u, t, v, y, x;
        s = this;
        s.beforeRender.call(s);
        s.status.rendered = true;
        s.elements.tooltip = '<div qtip="' + s.id + '" class="qtip ' + (s.options.style.classes.tooltip || s.options.style) + '"style="display:none; -moz-border-radius:0; -webkit-border-radius:0; border-radius:0;position:' + s.options.position.type + ';">  <div class="qtip-wrapper" style="position:relative; overflow:hidden; text-align:left;">    <div class="qtip-contentWrapper" style="overflow:hidden;">       <div class="qtip-content ' + s.options.style.classes.content + '"></div></div></div></div>';
        s.elements.tooltip = f(s.elements.tooltip);
        s.elements.tooltip.appendTo(s.options.position.container);
        s.elements.tooltip.data("qtip", {
            current: 0,
            interfaces: [s]
        });
        s.elements.wrapper = s.elements.tooltip.children("div:first");
        s.elements.contentWrapper = s.elements.wrapper.children("div:first").css({
            background: s.options.style.background
        });
        s.elements.content = s.elements.contentWrapper.children("div:first").css(q(s.options.style));
        if (f.browser.msie) {
            s.elements.wrapper.add(s.elements.content).css({
                zoom: 1
            })
        }
        if (s.options.hide.when.event == "unfocus") {
            s.elements.tooltip.attr("unfocus", true)
        }
        if (typeof s.options.style.width.value == "number") {
            s.updateWidth()
        }
        if (f("<canvas>").get(0).getContext || f.browser.msie) {
            if (s.options.style.border.radius > 0) {
                m.call(s)
            } else {
                s.elements.contentWrapper.css({
                    border: s.options.style.border.width + "px solid " + s.options.style.border.color
                })
            } if (s.options.style.tip.corner !== false) {
                e.call(s)
            }
        } else {
            s.elements.contentWrapper.css({
                border: s.options.style.border.width + "px solid " + s.options.style.border.color
            });
            s.options.style.border.radius = 0;
            s.options.style.tip.corner = false;
            f.fn.qtip.log.error.call(s, 2, f.fn.qtip.constants.CANVAS_VML_NOT_SUPPORTED, "render")
        } if ((typeof s.options.content.text == "string" && s.options.content.text.length > 0) || (s.options.content.text.jquery && s.options.content.text.length > 0)) {
            u = s.options.content.text
        } else {
            if (typeof s.elements.target.attr("title") == "string" && s.elements.target.attr("title").length > 0) {
                u = s.elements.target.attr("title").replace("\\n", "<br />");
                s.elements.target.attr("title", "")
            } else {
                if (typeof s.elements.target.attr("alt") == "string" && s.elements.target.attr("alt").length > 0) {
                    u = s.elements.target.attr("alt").replace("\\n", "<br />");
                    s.elements.target.attr("alt", "")
                } else {
                    u = " ";
                    f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.NO_VALID_CONTENT, "render")
                }
            }
        } if (s.options.content.title.text !== false) {
            j.call(s)
        }
        s.updateContent(u);
        l.call(s);
        if (s.options.show.ready === true) {
            s.show()
        }
        if (s.options.content.url !== false) {
            t = s.options.content.url;
            v = s.options.content.data;
            y = s.options.content.method || "get";
            s.loadContent(t, v, y)
        }
        s.onRender.call(s);
        f.fn.qtip.log.error.call(s, 1, f.fn.qtip.constants.EVENT_RENDERED, "render")
    }
    function m() {
        var F, z, t, B, x, E, u, G, D, y, w, C, A, s, v;
        F = this;
        F.elements.wrapper.find(".qtip-borderBottom, .qtip-borderTop").remove();
        t = F.options.style.border.width;
        B = F.options.style.border.radius;
        x = F.options.style.border.color || F.options.style.tip.color;
        E = g(B);
        u = {};
        for (z in E) {
            u[z] = '<div rel="' + z + '" style="' + ((z.search(/Left/) !== -1) ? "left" : "right") + ":0; position:absolute; height:" + B + "px; width:" + B + 'px; overflow:hidden; line-height:0.1px; font-size:1px">';
            if (f("<canvas>").get(0).getContext) {
                u[z] += '<canvas height="' + B + '" width="' + B + '" style="vertical-align: top"></canvas>'
            } else {
                if (f.browser.msie) {
                    G = B * 2 + 3;
                    u[z] += '<v:arc stroked="false" fillcolor="' + x + '" startangle="' + E[z][0] + '" endangle="' + E[z][1] + '" style="width:' + G + "px; height:" + G + "px; margin-top:" + ((z.search(/bottom/) !== -1) ? -2 : -1) + "px; margin-left:" + ((z.search(/Right/) !== -1) ? E[z][2] - 3.5 : -1) + 'px; vertical-align:top; display:inline-block; behavior:url(#default#VML)"></v:arc>'
                }
            }
            u[z] += "</div>"
        }
        D = F.getDimensions().width - (Math.max(t, B) * 2);
        y = '<div class="qtip-betweenCorners" style="height:' + B + "px; width:" + D + "px; overflow:hidden; background-color:" + x + '; line-height:0.1px; font-size:1px;">';
        w = '<div class="qtip-borderTop" dir="ltr" style="height:' + B + "px; margin-left:" + B + 'px; line-height:0.1px; font-size:1px; padding:0;">' + u.topLeft + u.topRight + y;
        F.elements.wrapper.prepend(w);
        C = '<div class="qtip-borderBottom" dir="ltr" style="height:' + B + "px; margin-left:" + B + 'px; line-height:0.1px; font-size:1px; padding:0;">' + u.bottomLeft + u.bottomRight + y;
        F.elements.wrapper.append(C);
        if (f("<canvas>").get(0).getContext) {
            F.elements.wrapper.find("canvas").each(function () {
                A = E[f(this).parent("[rel]:first").attr("rel")];
                r.call(F, f(this), A, B, x)
            })
        } else {
            if (f.browser.msie) {
                F.elements.tooltip.append('<v:image style="behavior:url(#default#VML);"></v:image>')
            }
        }
        s = Math.max(B, (B + (t - B)));
        v = Math.max(t - B, 0);
        F.elements.contentWrapper.css({
            border: "0px solid " + x,
            borderWidth: v + "px " + s + "px"
        })
    }
    function r(u, w, s, t) {
        var v = u.get(0).getContext("2d");
        v.fillStyle = t;
        v.beginPath();
        v.arc(w[0], w[1], s, 0, Math.PI * 2, false);
        v.fill()
    }
    function e(v) {
        var t, s, x, u, w;
        t = this;
        if (t.elements.tip !== null) {
            t.elements.tip.remove()
        }
        s = t.options.style.tip.color || t.options.style.border.color;
        if (t.options.style.tip.corner === false) {
            return
        } else {
            if (!v) {
                v = t.options.style.tip.corner
            }
        }
        x = b(v, t.options.style.tip.size.width, t.options.style.tip.size.height);
        t.elements.tip = '<div class="' + t.options.style.classes.tip + '" dir="ltr" rel="' + v + '" style="position:absolute; height:' + t.options.style.tip.size.height + "px; width:" + t.options.style.tip.size.width + 'px; margin:0 auto; line-height:0.1px; font-size:1px;">';
        if (f("<canvas>").get(0).getContext) {
            t.elements.tip += '<canvas height="' + t.options.style.tip.size.height + '" width="' + t.options.style.tip.size.width + '"></canvas>'
        } else {
            if (f.browser.msie) {
                u = t.options.style.tip.size.width + "," + t.options.style.tip.size.height;
                w = "m" + x[0][0] + "," + x[0][1];
                w += " l" + x[1][0] + "," + x[1][1];
                w += " " + x[2][0] + "," + x[2][1];
                w += " xe";
                t.elements.tip += '<v:shape fillcolor="' + s + '" stroked="false" filled="true" path="' + w + '" coordsize="' + u + '" style="width:' + t.options.style.tip.size.width + "px; height:" + t.options.style.tip.size.height + "px; line-height:0.1px; display:inline-block; behavior:url(#default#VML); vertical-align:" + ((v.search(/top/) !== -1) ? "bottom" : "top") + '"></v:shape>';
                t.elements.tip += '<v:image style="behavior:url(#default#VML);"></v:image>';
                t.elements.contentWrapper.css("position", "relative")
            }
        }
        t.elements.tooltip.prepend(t.elements.tip + "</div>");
        t.elements.tip = t.elements.tooltip.find("." + t.options.style.classes.tip).eq(0);
        if (f("<canvas>").get(0).getContext) {
            h.call(t, t.elements.tip.find("canvas:first"), x, s)
        }
        if (v.search(/top/) !== -1 && f.browser.msie && parseInt(f.browser.version.charAt(0)) === 6) {
            t.elements.tip.css({
                marginTop: -4
            })
        }
        n.call(t, v)
    }
    function h(t, v, s) {
        var u = t.get(0).getContext("2d");
        u.fillStyle = s;
        u.beginPath();
        u.moveTo(v[0][0], v[0][1]);
        u.lineTo(v[1][0], v[1][1]);
        u.lineTo(v[2][0], v[2][1]);
        u.fill()
    }
    function n(u) {
        var t, w, s, x, v;
        t = this;
        if (t.options.style.tip.corner === false || !t.elements.tip) {
            return
        }
        if (!u) {
            u = t.elements.tip.attr("rel")
        }
        w = positionAdjust = (f.browser.msie) ? 1 : 0;
        t.elements.tip.css(u.match(/left|right|top|bottom/)[0], 0);
        if (u.search(/top|bottom/) !== -1) {
            if (f.browser.msie) {
                if (parseInt(f.browser.version.charAt(0)) === 6) {
                    positionAdjust = (u.search(/top/) !== -1) ? -3 : 1
                } else {
                    positionAdjust = (u.search(/top/) !== -1) ? 1 : 2
                }
            }
            if (u.search(/Middle/) !== -1) {
                t.elements.tip.css({
                    left: "50%",
                    marginLeft: -(t.options.style.tip.size.width / 2)
                })
            } else {
                if (u.search(/Left/) !== -1) {
                    t.elements.tip.css({
                        left: t.options.style.border.radius - w
                    })
                } else {
                    if (u.search(/Right/) !== -1) {
                        t.elements.tip.css({
                            right: t.options.style.border.radius + w
                        })
                    }
                }
            } if (u.search(/top/) !== -1) {
                t.elements.tip.css({
                    top: -positionAdjust
                })
            } else {
                t.elements.tip.css({
                    bottom: positionAdjust
                })
            }
        } else {
            if (u.search(/left|right/) !== -1) {
                if (f.browser.msie) {
                    positionAdjust = (parseInt(f.browser.version.charAt(0)) === 6) ? 1 : ((u.search(/left/) !== -1) ? 1 : 2)
                }
                if (u.search(/Middle/) !== -1) {
                    t.elements.tip.css({
                        top: "50%",
                        marginTop: -(t.options.style.tip.size.height / 2)
                    })
                } else {
                    if (u.search(/Top/) !== -1) {
                        t.elements.tip.css({
                            top: t.options.style.border.radius - w
                        })
                    } else {
                        if (u.search(/Bottom/) !== -1) {
                            t.elements.tip.css({
                                bottom: t.options.style.border.radius + w
                            })
                        }
                    }
                } if (u.search(/left/) !== -1) {
                    t.elements.tip.css({
                        left: -positionAdjust
                    })
                } else {
                    t.elements.tip.css({
                        right: positionAdjust
                    })
                }
            }
        }
        s = "padding-" + u.match(/left|right|top|bottom/)[0];
        x = t.options.style.tip.size[(s.search(/left|right/) !== -1) ? "width" : "height"];
        t.elements.tooltip.css("padding", 0);
        t.elements.tooltip.css(s, x);
        if (f.browser.msie && parseInt(f.browser.version.charAt(0)) == 6) {
            v = parseInt(t.elements.tip.css("margin-top")) || 0;
            v += parseInt(t.elements.content.css("margin-top")) || 0;
            t.elements.tip.css({
                marginTop: v
            })
        }
    }
    function j() {
        var s = this;
        if (s.elements.title !== null) {
            s.elements.title.remove()
        }
        s.elements.title = f('<div class="' + s.options.style.classes.title + '">').css(q(s.options.style.title, true)).css({
            zoom: (f.browser.msie) ? 1 : 0
        }).prependTo(s.elements.contentWrapper);
        if (s.options.content.title.text) {
            s.updateTitle.call(s, s.options.content.title.text)
        }
        if (s.options.content.title.button !== false && typeof s.options.content.title.button == "string") {
            s.elements.button = f('<a class="' + s.options.style.classes.button + '" style="float:right; position: relative"></a>').css(q(s.options.style.button, true)).html(s.options.content.title.button).prependTo(s.elements.title).click(function (t) {
                if (!s.status.disabled) {
                    s.hide(t)
                }
            })
        }
    }
    function l() {
        var t, v, u, s;
        t = this;
        v = t.options.show.when.target;
        u = t.options.hide.when.target;
        if (t.options.hide.fixed) {
            u = u.add(t.elements.tooltip)
        }
        if (t.options.hide.when.event == "inactive") {
            s = ["click", "dblclick", "mousedown", "mouseup", "mousemove", "mouseout", "mouseenter", "mouseleave", "mouseover"];

            function y(z) {
                if (t.status.disabled === true) {
                    return
                }
                clearTimeout(t.timers.inactive);
                t.timers.inactive = setTimeout(function () {
                    f(s).each(function () {
                        u.unbind(this + ".qtip-inactive");
                        t.elements.content.unbind(this + ".qtip-inactive")
                    });
                    t.hide(z)
                }, t.options.hide.delay)
            }
        } else {
            if (t.options.hide.fixed === true) {
                t.elements.tooltip.bind("mouseover.qtip", function () {
                    if (t.status.disabled === true) {
                        return
                    }
                    clearTimeout(t.timers.hide)
                })
            }
        }
        function x(z) {
            if (t.status.disabled === true) {
                return
            }
            if (t.options.hide.when.event == "inactive") {
                f(s).each(function () {
                    u.bind(this + ".qtip-inactive", y);
                    t.elements.content.bind(this + ".qtip-inactive", y)
                });
                y()
            }
            clearTimeout(t.timers.show);
            clearTimeout(t.timers.hide);
            t.timers.show = setTimeout(function () {
                t.show(z)
            }, t.options.show.delay)
        }
        function w(z) {
            if (t.status.disabled === true) {
                return
            }
            if (t.options.hide.fixed === true && t.options.hide.when.event.search(/mouse(out|leave)/i) !== -1 && f(z.relatedTarget).parents("div.qtip[qtip]").length > 0) {
                z.stopPropagation();
                z.preventDefault();
                clearTimeout(t.timers.hide);
                return false
            }
            clearTimeout(t.timers.show);
            clearTimeout(t.timers.hide);
            t.elements.tooltip.stop(true, true);
            t.timers.hide = setTimeout(function () {
                t.hide(z)
            }, t.options.hide.delay)
        }
        if ((t.options.show.when.target.add(t.options.hide.when.target).length === 1 && t.options.show.when.event == t.options.hide.when.event && t.options.hide.when.event !== "inactive") || t.options.hide.when.event == "unfocus") {
            t.cache.toggle = 0;
            v.bind(t.options.show.when.event + ".qtip", function (z) {
                if (t.cache.toggle == 0) {
                    x(z)
                } else {
                    w(z)
                }
            })
        } else {
            v.bind(t.options.show.when.event + ".qtip", x);
            if (t.options.hide.when.event !== "inactive") {
                u.bind(t.options.hide.when.event + ".qtip", w)
            }
        } if (t.options.position.type.search(/(fixed|absolute)/) !== -1) {
            t.elements.tooltip.bind("mouseover.qtip", t.focus)
        }
        if (t.options.position.target === "mouse" && t.options.position.type !== "static") {
            v.bind("mousemove.qtip", function (z) {
                t.cache.mouse = {
                    x: z.pageX,
                    y: z.pageY
                };
                if (t.status.disabled === false && t.options.position.adjust.mouse === true && t.options.position.type !== "static" && t.elements.tooltip.css("display") !== "none") {
                    t.updatePosition(z)
                }
            })
        }
    }
    function o(u, v, A) {
        var z, s, x, y, t, w;
        z = this;
        if (A.corner == "center") {
            return v.position
        }
        s = f.extend({}, u);
        y = {
            x: false,
            y: false
        };
        t = {
            left: (s.left < f.fn.qtip.cache.screen.scroll.left),
            right: (s.left + A.dimensions.width + 2 >= f.fn.qtip.cache.screen.width + f.fn.qtip.cache.screen.scroll.left),
            top: (s.top < f.fn.qtip.cache.screen.scroll.top),
            bottom: (s.top + A.dimensions.height + 2 >= f.fn.qtip.cache.screen.height + f.fn.qtip.cache.screen.scroll.top)
        };
        x = {
            left: (t.left && (A.corner.search(/right/i) != -1 || (A.corner.search(/right/i) == -1 && !t.right))),
            right: (t.right && (A.corner.search(/left/i) != -1 || (A.corner.search(/left/i) == -1 && !t.left))),
            top: (t.top && A.corner.search(/top/i) == -1),
            bottom: (t.bottom && A.corner.search(/bottom/i) == -1)
        };
        if (x.left) {
            if (z.options.position.target !== "mouse") {
                s.left = v.position.left + v.dimensions.width
            } else {
                s.left = z.cache.mouse.x
            }
            y.x = "Left"
        } else {
            if (x.right) {
                if (z.options.position.target !== "mouse") {
                    s.left = v.position.left - A.dimensions.width
                } else {
                    s.left = z.cache.mouse.x - A.dimensions.width
                }
                y.x = "Right"
            }
        } if (x.top) {
            if (z.options.position.target !== "mouse") {
                s.top = v.position.top + v.dimensions.height
            } else {
                s.top = z.cache.mouse.y
            }
            y.y = "top"
        } else {
            if (x.bottom) {
                if (z.options.position.target !== "mouse") {
                    s.top = v.position.top - A.dimensions.height
                } else {
                    s.top = z.cache.mouse.y - A.dimensions.height
                }
                y.y = "bottom"
            }
        } if (s.left < 0) {
            s.left = u.left;
            y.x = false
        }
        if (s.top < 0) {
            s.top = u.top;
            y.y = false
        }
        if (z.options.style.tip.corner !== false) {
            s.corner = new String(A.corner);
            if (y.x !== false) {
                s.corner = s.corner.replace(/Left|Right|Middle/, y.x)
            }
            if (y.y !== false) {
                s.corner = s.corner.replace(/top|bottom/, y.y)
            }
            if (s.corner !== z.elements.tip.attr("rel")) {
                e.call(z, s.corner)
            }
        }
        return s
    }
    function q(u, t) {
        var v, s;
        v = f.extend(true, {}, u);
        for (s in v) {
            if (t === true && s.search(/(tip|classes)/i) !== -1) {
                delete v[s]
            } else {
                if (!t && s.search(/(width|border|tip|title|classes|user)/i) !== -1) {
                    delete v[s]
                }
            }
        }
        return v
    }
    function c(s) {
        if (typeof s.tip !== "object") {
            s.tip = {
                corner: s.tip
            }
        }
        if (typeof s.tip.size !== "object") {
            s.tip.size = {
                width: s.tip.size,
                height: s.tip.size
            }
        }
        if (typeof s.border !== "object") {
            s.border = {
                width: s.border
            }
        }
        if (typeof s.width !== "object") {
            s.width = {
                value: s.width
            }
        }
        if (typeof s.width.max == "string") {
            s.width.max = parseInt(s.width.max.replace(/([0-9]+)/i, "$1"))
        }
        if (typeof s.width.min == "string") {
            s.width.min = parseInt(s.width.min.replace(/([0-9]+)/i, "$1"))
        }
        if (typeof s.tip.size.x == "number") {
            s.tip.size.width = s.tip.size.x;
            delete s.tip.size.x
        }
        if (typeof s.tip.size.y == "number") {
            s.tip.size.height = s.tip.size.y;
            delete s.tip.size.y
        }
        return s
    }
    function a() {
        var s, t, u, x, v, w;
        s = this;
        u = [true, {}];
        for (t = 0; t < arguments.length; t++) {
            u.push(arguments[t])
        }
        x = [f.extend.apply(f, u)];
        while (typeof x[0].name == "string") {
            x.unshift(c(f.fn.qtip.styles[x[0].name]))
        }
        x.unshift(true, {
            classes: {
                tooltip: "qtip-" + (arguments[0].name || "defaults")
            }
        }, f.fn.qtip.styles.defaults);
        v = f.extend.apply(f, x);
        w = (f.browser.msie) ? 1 : 0;
        v.tip.size.width += w;
        v.tip.size.height += w;
        if (v.tip.size.width % 2 > 0) {
            v.tip.size.width += 1
        }
        if (v.tip.size.height % 2 > 0) {
            v.tip.size.height += 1
        }
        if (v.tip.corner === true) {
            v.tip.corner = (s.options.position.corner.tooltip === "center") ? false : s.options.position.corner.tooltip
        }
        return v
    }
    function b(v, u, t) {
        var s = {
            bottomRight: [
                [0, 0],
                [u, t],
                [u, 0]
            ],
            bottomLeft: [
                [0, 0],
                [u, 0],
                [0, t]
            ],
            topRight: [
                [0, t],
                [u, 0],
                [u, t]
            ],
            topLeft: [
                [0, 0],
                [0, t],
                [u, t]
            ],
            topMiddle: [
                [0, t],
                [u / 2, 0],
                [u, t]
            ],
            bottomMiddle: [
                [0, 0],
                [u, 0],
                [u / 2, t]
            ],
            rightMiddle: [
                [0, 0],
                [u, t / 2],
                [0, t]
            ],
            leftMiddle: [
                [u, 0],
                [u, t],
                [0, t / 2]
            ]
        };
        s.leftTop = s.bottomRight;
        s.rightTop = s.bottomLeft;
        s.leftBottom = s.topRight;
        s.rightBottom = s.topLeft;
        return s[v]
    }
    function g(s) {
        var t;
        if (f("<canvas>").get(0).getContext) {
            t = {
                topLeft: [s, s],
                topRight: [0, s],
                bottomLeft: [s, 0],
                bottomRight: [0, 0]
            }
        } else {
            if (f.browser.msie) {
                t = {
                    topLeft: [-90, 90, 0],
                    topRight: [-90, 90, -s],
                    bottomLeft: [90, 270, 0],
                    bottomRight: [90, 270, -s]
                }
            }
        }
        return t
    }
    function k() {
        var s, t, u;
        s = this;
        u = s.getDimensions();
        t = '<iframe class="qtip-bgiframe" frameborder="0" tabindex="-1" src="javascript:false" style="display:block; position:absolute; z-index:-1; filter:alpha(opacity=\'0\'); border: 1px solid red; height:' + u.height + "px; width:" + u.width + 'px" />';
        s.elements.bgiframe = s.elements.wrapper.prepend(t).children(".qtip-bgiframe:first")
    }
    f(document).ready(function () {
        f.fn.qtip.cache = {
            screen: {
                scroll: {
                    left: f(window).scrollLeft(),
                    top: f(window).scrollTop()
                },
                width: f(window).width(),
                height: f(window).height()
            }
        };
        var s;
        f(window).bind("resize scroll", function (t) {
            clearTimeout(s);
            s = setTimeout(function () {
                if (t.type === "scroll") {
                    f.fn.qtip.cache.screen.scroll = {
                        left: f(window).scrollLeft(),
                        top: f(window).scrollTop()
                    }
                } else {
                    f.fn.qtip.cache.screen.width = f(window).width();
                    f.fn.qtip.cache.screen.height = f(window).height()
                }
                for (i = 0; i < f.fn.qtip.interfaces.length; i++) {
                    var u = f.fn.qtip.interfaces[i];
                    if (u.status.rendered === true && (u.options.position.type !== "static" || u.options.position.adjust.scroll && t.type === "scroll" || u.options.position.adjust.resize && t.type === "resize")) {
                        u.updatePosition(t, true)
                    }
                }
            }, 100)
        });
        f(document).bind("mousedown.qtip", function (t) {
            if (f(t.target).parents("div.qtip").length === 0) {
                f(".qtip[unfocus]").each(function () {
                    var u = f(this).qtip("api");
                    if (f(this).is(":visible") && !u.status.disabled && f(t.target).add(u.elements.target).length > 1) {
                        u.hide(t)
                    }
                })
            }
        })
    });
    f.fn.qtip.interfaces = [];
    f.fn.qtip.log = {
        error: function () {
            return this
        }
    };
    f.fn.qtip.constants = {};
    f.fn.qtip.defaults = {
        content: {
            prerender: false,
            text: false,
            url: false,
            data: null,
            title: {
                text: false,
                button: false
            }
        },
        position: {
            target: false,
            corner: {
                target: "bottomRight",
                tooltip: "topLeft"
            },
            adjust: {
                x: 0,
                y: 0,
                mouse: true,
                screen: false,
                scroll: true,
                resize: true
            },
            type: "absolute",
            container: false
        },
        show: {
            when: {
                target: false,
                event: "mouseover"
            },
            effect: {
                type: "fade",
                length: 100
            },
            delay: 140,
            solo: false,
            ready: false
        },
        hide: {
            when: {
                target: false,
                event: "mouseout"
            },
            effect: {
                type: "fade",
                length: 100
            },
            delay: 0,
            fixed: false
        },
        api: {
            beforeRender: function () {},
            onRender: function () {},
            beforePositionUpdate: function () {},
            onPositionUpdate: function () {},
            beforeShow: function () {},
            onShow: function () {},
            beforeHide: function () {},
            onHide: function () {},
            beforeContentUpdate: function () {},
            onContentUpdate: function () {},
            beforeContentLoad: function () {},
            onContentLoad: function () {},
            beforeTitleUpdate: function () {},
            onTitleUpdate: function () {},
            beforeDestroy: function () {},
            onDestroy: function () {},
            beforeFocus: function () {},
            onFocus: function () {}
        }
    };
    f.fn.qtip.styles = {
        defaults: {
            background: "white",
            color: "#111",
            overflow: "hidden",
            textAlign: "left",
            width: {
                min: 0,
                max: 250
            },
            padding: "5px 9px",
            border: {
                width: 1,
                radius: 0,
                color: "#d3d3d3"
            },
            tip: {
                corner: false,
                color: false,
                size: {
                    width: 13,
                    height: 13
                },
                opacity: 1
            },
            title: {
                background: "#e1e1e1",
                fontWeight: "bold",
                padding: "7px 12px"
            },
            button: {
                cursor: "pointer"
            },
            classes: {
                target: "",
                tip: "qtip-tip",
                title: "qtip-title",
                button: "qtip-button",
                content: "qtip-content",
                active: "qtip-active"
            }
        },
        cream: {
            border: {
                width: 3,
                radius: 0,
                color: "#F9E98E"
            },
            title: {
                background: "#F0DE7D",
                color: "#A27D35"
            },
            background: "#FBF7AA",
            color: "#A27D35",
            classes: {
                tooltip: "qtip-cream"
            }
        },
        light: {
            border: {
                width: 3,
                radius: 0,
                color: "#E2E2E2"
            },
            title: {
                background: "#f1f1f1",
                color: "#454545"
            },
            background: "white",
            color: "#454545",
            classes: {
                tooltip: "qtip-light"
            }
        },
        dark: {
            border: {
                width: 3,
                radius: 0,
                color: "#303030"
            },
            title: {
                background: "#404040",
                color: "#f3f3f3"
            },
            background: "#505050",
            color: "#f3f3f3",
            classes: {
                tooltip: "qtip-dark"
            }
        },
        red: {
            border: {
                width: 3,
                radius: 0,
                color: "#CE6F6F"
            },
            title: {
                background: "#f28279",
                color: "#9C2F2F"
            },
            background: "#F79992",
            color: "#9C2F2F",
            classes: {
                tooltip: "qtip-red"
            }
        },
        green: {
            border: {
                width: 3,
                radius: 0,
                color: "#A9DB66"
            },
            title: {
                background: "#b9db8c",
                color: "#58792E"
            },
            background: "#CDE6AC",
            color: "#58792E",
            classes: {
                tooltip: "qtip-green"
            }
        },
        blue: {
            border: {
                width: 3,
                radius: 0,
                color: "#ADD9ED"
            },
            title: {
                background: "#D0E9F5",
                color: "#5E99BD"
            },
            background: "#E5F6FE",
            color: "#4D9FBF",
            classes: {
                tooltip: "qtip-blue"
            }
        }
    }
})(jQuery);

File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com