/**
* jQuery EasyUI 1.3.6
*
* Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.
*
* Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt
* To use it on other terms please contact us at info@jeasyui.com
*
*/
(function ($) {
function _1(_2) {
$(_2).addClass("tooltip-f");
};
function _3(_4) {
var _5 = $.data(_4, "tooltip").options;
$(_4).unbind(".tooltip").bind(_5.showEvent + ".tooltip", function (e) {
_10(_4, e);
}).bind(_5.hideEvent + ".tooltip", function (e) {
_17(_4, e);
}).bind("mousemove.tooltip", function (e) {
if (_5.trackMouse) {
_5.trackMouseX = e.pageX;
_5.trackMouseY = e.pageY;
_6(_4);
}
});
};
function _7(_8) {
var _9 = $.data(_8, "tooltip");
if (_9.showTimer) {
clearTimeout(_9.showTimer);
_9.showTimer = null;
}
if (_9.hideTimer) {
clearTimeout(_9.hideTimer);
_9.hideTimer = null;
}
};
function _6(_a) {
var _b = $.data(_a, "tooltip");
if (!_b || !_b.tip) {
return;
}
var _c = _b.options;
var _d = _b.tip;
if (_c.trackMouse) {
t = $();
var _e = _c.trackMouseX + _c.deltaX;
var _f = _c.trackMouseY + _c.deltaY;
} else {
var t = $(_a);
var _e = t.offset().left + _c.deltaX;
var _f = t.offset().top + _c.deltaY;
}
switch (_c.position) {
case "right":
_e += t._outerWidth() + 12 + (_c.trackMouse ? 12 : 0);
_f -= (_d._outerHeight() - t._outerHeight()) / 2;
break;
case "left":
_e -= _d._outerWidth() + 12 + (_c.trackMouse ? 12 : 0);
_f -= (_d._outerHeight() - t._outerHeight()) / 2;
break;
case "top":
_e -= (_d._outerWidth() - t._outerWidth()) / 2;
_f -= _d._outerHeight() + 12 + (_c.trackMouse ? 12 : 0);
break;
case "bottom":
_e -= (_d._outerWidth() - t._outerWidth()) / 2;
_f += t._outerHeight() + 12 + (_c.trackMouse ? 12 : 0);
break;
}
if (!$(_a).is(":visible")) {
_e = -100000;
_f = -100000;
}
_d.css({ left: _e, top: _f, zIndex: (_c.zIndex != undefined ? _c.zIndex : ($.fn.window ? $.fn.window.defaults.zIndex++ : "")) });
_c.onPosition.call(_a, _e, _f);
};
function _10(_11, e) {
var _12 = $.data(_11, "tooltip");
var _13 = _12.options;
var tip = _12.tip;
if (!tip) {
tip = $("
").appendTo("body");
_12.tip = tip;
_14(_11);
}
tip.removeClass("tooltip-top tooltip-bottom tooltip-left tooltip-right").addClass("tooltip-" + _13.position);
_7(_11);
_12.showTimer = setTimeout(function () {
_6(_11);
tip.show();
_13.onShow.call(_11, e);
var _15 = tip.children(".tooltip-arrow-outer");
var _16 = tip.children(".tooltip-arrow");
var bc = "border-" + _13.position + "-color";
_15.add(_16).css({ borderTopColor: "", borderBottomColor: "", borderLeftColor: "", borderRightColor: "" });
_15.css(bc, tip.css(bc));
_16.css(bc, tip.css("backgroundColor"));
}, _13.showDelay);
};
function _17(_18, e) {
var _19 = $.data(_18, "tooltip");
if (_19 && _19.tip) {
_7(_18);
_19.hideTimer = setTimeout(function () {
_19.tip.hide();
_19.options.onHide.call(_18, e);
}, _19.options.hideDelay);
}
};
function _14(_1a, _1b) {
var _1c = $.data(_1a, "tooltip");
var _1d = _1c.options;
if (_1b) {
_1d.content = _1b;
}
if (!_1c.tip) {
return;
}
var cc = typeof _1d.content == "function" ? _1d.content.call(_1a) : _1d.content;
_1c.tip.children(".tooltip-content").html(cc);
_1d.onUpdate.call(_1a, cc);
};
function _1e(_1f) {
var _20 = $.data(_1f, "tooltip");
if (_20) {
_7(_1f);
var _21 = _20.options;
if (_20.tip) {
_20.tip.remove();
}
if (_21._title) {
$(_1f).attr("title", _21._title);
}
$.removeData(_1f, "tooltip");
$(_1f).unbind(".tooltip").removeClass("tooltip-f");
_21.onDestroy.call(_1f);
}
};
$.fn.tooltip = function (_22, _23) {
if (typeof _22 == "string") {
return $.fn.tooltip.methods[_22](this, _23);
}
_22 = _22 || {};
return this.each(function () {
var _24 = $.data(this, "tooltip");
if (_24) {
$.extend(_24.options, _22);
} else {
$.data(this, "tooltip", { options: $.extend({}, $.fn.tooltip.defaults, $.fn.tooltip.parseOptions(this), _22) });
_1(this);
}
_3(this);
_14(this);
});
};
$.fn.tooltip.methods = {
options: function (jq) {
return $.data(jq[0], "tooltip").options;
}, tip: function (jq) {
return $.data(jq[0], "tooltip").tip;
}, arrow: function (jq) {
return jq.tooltip("tip").children(".tooltip-arrow-outer,.tooltip-arrow");
}, show: function (jq, e) {
return jq.each(function () {
_10(this, e);
});
}, hide: function (jq, e) {
return jq.each(function () {
_17(this, e);
});
}, update: function (jq, _25) {
return jq.each(function () {
_14(this, _25);
});
}, reposition: function (jq) {
return jq.each(function () {
_6(this);
});
}, destroy: function (jq) {
return jq.each(function () {
_1e(this);
});
}
};
$.fn.tooltip.parseOptions = function (_26) {
var t = $(_26);
var _27 = $.extend({}, $.parser.parseOptions(_26, [
"position", "showEvent", "hideEvent", "content",
{ deltaX: "number", deltaY: "number", showDelay: "number", hideDelay: "number" }
]), { _title: t.attr("title") });
t.attr("title", "");
if (!_27.content) {
_27.content = _27._title;
}
return _27;
};
$.fn.tooltip.defaults = {
position: "bottom", content: null, trackMouse: false, deltaX: 0, deltaY: 0,
showEvent: "mouseenter", hideEvent: "mouseleave",
showDelay: 200, hideDelay: 100,
onShow: function (e) {
}, onHide: function (e) {
}, onUpdate: function (_28) {
}, onPosition: function (_29, top) {
}, onDestroy: function () {
}
};
})(jQuery);