diff --git a/lib/version.inc b/lib/version.inc
index a202b4e078..c31795cee5 100644
--- a/lib/version.inc
+++ b/lib/version.inc
@@ -1,2 +1,2 @@
')
- // add to document
- .appendTo(document.body)
- // hide it at first
- .hide();
+ $.fn.extend({
+ tooltip: function(settings) {
+ settings = $.extend({}, $.tooltip.defaults, settings);
+ createHelper(settings);
+ return this.each(function() {
+ $.data(this, "tooltip", settings);
+ // copy tooltip into its own expando and remove the title
+ this.tooltipText = $(this).attr('title');
+ this.tooltipSrc = $(this).attr('tooltipsrc');
- // apply bgiframe if available
- if ( $.fn.bgiframe )
- helper.parent.bgiframe();
+ this.ajaxLoad = (this.tooltipText === '' && this.tooltipSrc !== '');
+ this.ajaxTimeout;
- // save references to title and url elements
- helper.title = $('h3', helper.parent);
- helper.body = $('div.body', helper.parent);
- helper.url = $('div.url', helper.parent);
- }
+ this.orEl = $(this);
+ $(this).removeAttr("title");
+ // also remove alt attribute to prevent default tooltip in IE
+ this.alt = "";
+ })
+ .mouseover(save)
+ .mouseout(hide)
+ .mousedown(fix);
+ },
+ fixPNG: IE ? function() {
+ return this.each(function () {
+ var image = $(this).css('backgroundImage');
+ if (image.match(/^url\(["']?(.*\.png)["']?\)$/i)) {
+ image = RegExp.$1;
+ $(this).css({
+ 'backgroundImage': 'none',
+ 'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')"
+ }).each(function () {
+ var position = $(this).css('position');
+ if (position != 'absolute' && position != 'relative')
+ $(this).css('position', 'relative');
+ });
+ }
+ });
+ } : function() {
+ return this;
+ },
+ unfixPNG: IE ? function() {
+ return this.each(function () {
+ $(this).css({
+ 'filter': '',
+ backgroundImage: ''
+ });
+ });
+ } : function() {
+ return this;
+ },
+ hideWhenEmpty: function() {
+ return this.each(function() {
+ $(this)[ $(this).html() ? "show" : "hide" ]();
+ });
+ },
+ url: function() {
+ return this.attr('href') || this.attr('src');
+ }
+ });
- function settings(element) {
- return $.data(element, "tooltip");
- }
+ function createHelper(settings) {
+ // there can be only one tooltip helper
+ if( helper.parent )
+ return;
+ // create the helper, h3 for title, div for url
+ helper.parent = $('')
+ // add to document
+ .appendTo(document.body)
+ // hide it at first
+ .hide();
- // main event handler to start showing tooltips
- function handle(event) {
+ // apply bgiframe if available
+ if ( $.fn.bgiframe )
+ helper.parent.bgiframe();
- if($($.tooltip.current).hasClass('SSTT') && $($.tooltip.current).hasClass('ui-state-active'))
- return;
+ // save references to title and url elements
+ helper.title = $('h3', helper.parent);
+ helper.body = $('div.body', helper.parent);
+ helper.url = $('div.url', helper.parent);
+ }
- // show helper, either with timeout or on instant
- if( settings(this).delay )
- tID = setTimeout(visible, settings(this).delay);
- else
- visible();
- show();
+ function settings(element) {
+ return $.data(element, "tooltip");
+ }
- // if selected, update the helper position when the mouse moves
- track = !!settings(this).track;
- $(document.body).bind('mousemove', update);
+ // main event handler to start showing tooltips
+ function handle(event) {
- // update at least once
- update(event);
- }
+ if($($.tooltip.current).hasClass('SSTT') && $($.tooltip.current).hasClass('ui-state-active'))
+ return;
- // save elements title before the tooltip is displayed
- function save(event) {
- // if this is the current source, or it has no title (occurs with click event), stop
+ // show helper, either with timeout or on instant
+ if( settings(this).delay )
+ tID = setTimeout(visible, settings(this).delay);
+ else
+ visible();
+ show();
+
+ // if selected, update the helper position when the mouse moves
+ track = !!settings(this).track;
+ $(document.body).bind('mousemove', update);
+
+ // update at least once
+ update(event);
+ }
+
+ // save elements title before the tooltip is displayed
+ function save(event) {
+ // if this is the current source, or it has no title (occurs with click event), stop
if(event.stopPropagation)
event.stopPropagation();
event.cancelBubble = true;
- if ( $.tooltip.blocked || this == $.tooltip.current || (!this.tooltipText && !settings(this).bodyHandler) )
- return;
+ if ( $.tooltip.blocked || this == $.tooltip.current || (!this.tooltipText && !this.tooltipSrc && !settings(this).bodyHandler) )
+ return;
- // save current
- $.tooltip.current = this;
- title = this.tooltipText;
+ // save current
+ $.tooltip.current = this;
+ title = this.tooltipText;
- if ( settings(this).bodyHandler ) {
- helper.title.hide();
- var bodyContent = settings(this).bodyHandler.call(this);
- if (bodyContent.nodeType || bodyContent.jquery) {
- helper.body.empty().append(bodyContent);
- } else {
- helper.body.html( bodyContent );
- }
- helper.body.show();
- } else if ( settings(this).showBody ) {
- var parts = title.split(settings(this).showBody);
- helper.title.html(parts.shift()).show();
- helper.body.empty();
- for(var i = 0, part; (part = parts[i]); i++) {
- if(i > 0)
- helper.body.append("
");
- helper.body.append(part);
- }
- helper.body.hideWhenEmpty();
- } else {
- helper.body.html(title).show();
- }
+ // if ( settings(this).bodyHandler ) {
+ // helper.title.hide();
+ // var bodyContent = settings(this).bodyHandler.call(this);
+ // if (bodyContent.nodeType || bodyContent.jquery) {
+ // helper.body.empty().append(bodyContent);
+ // } else {
+ // helper.body.html( bodyContent );
+ // }
+ // helper.body.show();
+ // } else if ( settings(this).showBody ) {
+ // var parts = title.split(settings(this).showBody);
+ // helper.title.html(parts.shift()).show();
+ // helper.body.empty();
+ // for(var i = 0, part; (part = parts[i]); i++) {
+ // if(i > 0)
+ // helper.body.append("
");
+ // helper.body.append(part);
+ // }
+ // helper.body.hideWhenEmpty();
+ // } else {
+ // helper.body.html(title).show();
+ // }
- // if element has href or src, add and show it, otherwise hide it
- if( settings(this).showURL && $(this).url() )
- helper.url.html( $(this).url().replace('http://', '') ).show();
- else
- helper.url.hide();
+ // if element has href or src, add and show it, otherwise hide it
+ if( settings(this).showURL && $(this).url() )
+ helper.url.html( $(this).url().replace('http://', '') ).show();
+ else
+ helper.url.hide();
- // add an optional class for this tip
-// helper.parent.addClass(settings(this).extraClass);
-
- // fix PNG background for IE
- if (settings(this).fixPNG )
- helper.parent.fixPNG();
- if(settings(this).outside)
- {
- var width = 'auto';
- var height = 'auto';
- var ratio = 1;
- if ($('#' + settings($.tooltip.current).id + ' .imgTips')[0]) {
- width = parseInt($('#' + settings($.tooltip.current).id + ' .imgTips')[0].style.width);
- height = parseInt($('#' + settings($.tooltip.current).id + ' .imgTips')[0].style.height);
- ratio = width/height;
- }
-
- var v = viewport(),
- h = helper.parent;
- helper.parent.css({
- width:width,
- top:0,
- left:0,
- visibility:'hidden',
- // visibility:'visible',
- display:'block',
- height:height
- });
-
- $(h).width($(h).width());
- width = ($(h).width()>(v.x-40))?(v.x-40):$(h).width();
- height = ($(h).height()>(v.y-40))?(v.y-40):$(h).height();
-
- if($('#' + settings($.tooltip.current).id + ' .audioTips').length > 0)
- {
- height = height < 26 ? 26 : height;
- }
-
- $(h).css({width:width,height:height});
-
- if (event) {
-
- var vert, vertS, hor, horS, top, left,ratioH,ratioV;
- // ratio = $(h).width()/$(h).height();
- var ratioSurfaceH;
- var ratioSurfaceV, wiH,wiV,heH,heV;
- var ratioImage = $(h).width()/$(h).height();
-
- //position de l'image
- if ($(event.target).offset().left > (v.x - $(event.target).offset().left - $(event.target).width())) {
- hor = 'gauche';
- wiH = $(event.target).offset().left;
-
- horS = wiH * v.y;
- ratioSurfaceH = wiH / v.y;
- }
- else {
- hor = 'droite';
- wiH = (v.x - $(event.target).offset().left - $(event.target).width());
- horS = wiH * v.y;
- ratioSurfaceH = wiH / v.y;
-
- }
- if ($(event.target).offset().top > (v.y - $(event.target).offset().top - $(event.target).height())) {
- vert = 'haut';
- heV = $(event.target).offset().top;
- vertS = heV * v.x;
- ratioSurfaceV = v.x / heV;
- }
- else {
- vert = 'bas';
- heV = (v.y - $(event.target).offset().top - $(event.target).height());
- vertS = heV * v.x;
- ratioSurfaceV = v.x / heV;
- }
+ // add an optional class for this tip
+ // helper.parent.addClass(settings(this).extraClass);
+ if(this.ajaxLoad)
+ {
+ clearTimeout($.tooltip.ajaxTimeout);
+ $.tooltip.ajaxTimeout = setTimeout("$.tooltip.delayAjax()", 300);
+ $.tooltip.ajaxEvent = event;
+ }
+ else
+ {
+ positioning.apply(this, arguments);
+ }
+ return;
+ }
- //correction par ratio
- if ($('#' + settings($.tooltip.current).id + ' .imgTips')[0]) {
+ function positioning(event)
+ {
- if(ratioSurfaceH > ratioImage)
- {
- horS = v.y * ratioImage*v.y;
- }
- else
- {
- horS = wiH * wiH/ratioImage;
- }
- if(ratioSurfaceV > ratioImage)
- {
- vertS = heV * ratioImage*heV;
- }
- else
- {
- vertS = v.x * v.x/ratioImage;
- }
- }
+ helper.body.html(title).show();
+ $this = $.tooltip.current;
+ // fix PNG background for IE
+ if (settings($this).fixPNG )
+ helper.parent.fixPNG();
+ if(settings($this).outside)
+ {
+ var width = 'auto';
+ var height = 'auto';
+ var ratio = 1;
+ if ($('#' + settings($.tooltip.current).id + ' .imgTips')[0]) {
+ width = parseInt($('#' + settings($.tooltip.current).id + ' .imgTips')[0].style.width);
+ height = parseInt($('#' + settings($.tooltip.current).id + ' .imgTips')[0].style.height);
+ ratio = width/height;
+ }
- var zH;
+ var v = viewport(),
+ h = helper.parent;
+ helper.parent.css({
+ width:width,
+ top:0,
+ left:0,
+ visibility:'hidden',
+ // visibility:'visible',
+ display:'block',
+ height:height
+ });
- if(vertS > horS)
- {
- // width = ($(h).width()>(v.x-40))?(v.x-40):$(h).width();
- var zL = event.pageX;
- var zW = $(h).width();
- zH = $(h).height();
- var ETOT = $(event.target).offset().top;
- var ETH = $(event.target).height();
- left = (zL - zW/2)<20?20:(((zL + zW/2+20)>v.x)?(v.x-zW-20):(zL -zW/2));
- switch(vert)
- {
- case 'haut':
- height = (zH>(ETOT-40))?(ETOT-40):zH;
- top = ETOT - height-20;
- break;
- case 'bas':
- height = ((v.y-ETH-ETOT-40)>zH)?zH:(v.y-ETH-ETOT-40);
- top = ETOT +ETH+20;
- break;
- default:
- break;
- }
- }
- else
- {
- // height = ($(h).height()>(v.y-40))?(v.y-40):$(h).height();
- zH = $(h).height();
- var zT = event.pageY;
- var EOTL = $(event.target).offset().left;
- var ETW = $(event.target).width();
- var zw = $(h).width();
- top = (zT - zH/2)<20?20:(((zT + zH/2+20)>v.y)?(v.y-zH-20):(zT - zH/2));
- switch(hor)
- {
- case 'gauche':
- width = (zw>(EOTL-40))?(EOTL-40):zw;
- left = EOTL - width-20;
- break;
- case 'droite':
- width = ((v.x-ETW-EOTL-40)>zw)?zw:(v.x-ETW-EOTL-40);
- left = EOTL +ETW+20;
- break;
- default:
- break;
- }
- }
+ $(h).width($(h).width());
+ width = ($(h).width()>(v.x-40))?(v.x-40):$(h).width();
+ height = ($(h).height()>(v.y-40))?(v.y-40):$(h).height();
- helper.parent.css({
- width: width,
- height: height,
- left: left,
- top: top
- });
+// $('#' + settings($.tooltip.current).id + ' .thumb_wrapper').width('auto').height('auto');
+
+ if($('#' + settings($.tooltip.current).id + ' .audioTips').length > 0)
+ {
+ height = height < 26 ? 26 : height;
+ }
+
+ $(h).css({
+ width:width,
+ height:height
+ });
+
+ if (event) {
+
+ var vert, vertS, hor, horS, top, left,ratioH,ratioV;
+ // ratio = $(h).width()/$(h).height();
+ var ratioSurfaceH;
+ var ratioSurfaceV, wiH,wiV,heH,heV;
+ var ratioImage = $(h).width()/$(h).height();
+
+ //position de l'image
+ if ($(event.target).offset().left > (v.x - $(event.target).offset().left - $(event.target).width())) {
+ hor = 'gauche';
+ wiH = $(event.target).offset().left;
+
+ horS = wiH * v.y;
+ ratioSurfaceH = wiH / v.y;
+ }
+ else {
+ hor = 'droite';
+ wiH = (v.x - $(event.target).offset().left - $(event.target).width());
+ horS = wiH * v.y;
+ ratioSurfaceH = wiH / v.y;
+
+ }
+ if ($(event.target).offset().top > (v.y - $(event.target).offset().top - $(event.target).height())) {
+ vert = 'haut';
+ heV = $(event.target).offset().top;
+ vertS = heV * v.x;
+ ratioSurfaceV = v.x / heV;
+ }
+ else {
+ vert = 'bas';
+ heV = (v.y - $(event.target).offset().top - $(event.target).height());
+ vertS = heV * v.x;
+ ratioSurfaceV = v.x / heV;
+ }
- //si ya une image on re-ajuste au ratio
- if ($('#' + settings($.tooltip.current).id + ' .imgTips')[0]) {
- if(width == 'auto')
- width = $('#' + settings($.tooltip.current).id).width();
- if(height == 'auto')
- height = $('#' + settings($.tooltip.current).id).height();
- if (ratio > 1) {
- var nh = width / ratio;
- if (nh > height) {
- width = ratio * height;
- nh = width / ratio;
- }
- height = nh;
- }
- else {
- var nw = ratio * height;
- if (nw > width) {
- height = width / ratio;
- nw = height * ratio;
- }
- width = nw;
- }
- }else{
- if(vertS < horS)
- {
- height = 'auto';
- }
- }
+ //correction par ratio
+ if ($('#' + settings($.tooltip.current).id + ' .imgTips')[0]) {
- helper.parent.css({
- width: width,
- height: height,
- left: left,
- top: top
- });
+ if(ratioSurfaceH > ratioImage)
+ {
+ horS = v.y * ratioImage*v.y;
+ }
+ else
+ {
+ horS = wiH * wiH/ratioImage;
+ }
+ if(ratioSurfaceV > ratioImage)
+ {
+ vertS = heV * ratioImage*heV;
+ }
+ else
+ {
+ vertS = v.x * v.x/ratioImage;
+ }
+ }
- $('#' + settings($.tooltip.current).id + ' .imgTips').css({
- width: width,
- height: height,
- left: left,
- top: top
- });
- }
+ var zH;
- }
- handle.apply(this, arguments);
- return;
- }
+ if(vertS > horS)
+ {
+ // width = ($(h).width()>(v.x-40))?(v.x-40):$(h).width();
+ var zL = event.pageX;
+ var zW = $(h).width();
+ zH = $(h).height();
+ var ETOT = $(event.target).offset().top;
+ var ETH = $(event.target).height();
+ left = (zL - zW/2)<20?20:(((zL + zW/2+20)>v.x)?(v.x-zW-20):(zL -zW/2));
+ switch(vert)
+ {
+ case 'haut':
+ height = (zH>(ETOT-40))?(ETOT-40):zH;
+ top = ETOT - height-20;
+ break;
+ case 'bas':
+ height = ((v.y-ETH-ETOT-40)>zH)?zH:(v.y-ETH-ETOT-40);
+ top = ETOT +ETH+20;
+ break;
+ default:
+ break;
+ }
+ }
+ else
+ {
+ // height = ($(h).height()>(v.y-40))?(v.y-40):$(h).height();
+ zH = $(h).height();
+ var zT = event.pageY;
+ var EOTL = $(event.target).offset().left;
+ var ETW = $(event.target).width();
+ var zw = $(h).width();
+ top = (zT - zH/2)<20?20:(((zT + zH/2+20)>v.y)?(v.y-zH-20):(zT - zH/2));
+ switch(hor)
+ {
+ case 'gauche':
+ width = (zw>(EOTL-40))?(EOTL-40):zw;
+ left = EOTL - width-20;
+ break;
+ case 'droite':
+ width = ((v.x-ETW-EOTL-40)>zw)?zw:(v.x-ETW-EOTL-40);
+ left = EOTL +ETW+20;
+ break;
+ default:
+ break;
+ }
+ }
- // delete timeout and show helper
- function show() {
- tID = null;
+ helper.parent.css({
+ width: width,
+ height: height,
+ left: left,
+ top: top
+ });
- if ((!IE || !$.fn.bgiframe) && settings($.tooltip.current).fade) {
- if (helper.parent.is(":animated"))
- helper.parent.stop().show().fadeTo(settings($.tooltip.current).fade, 100);
- else
- helper.parent.is(':visible') ? helper.parent.fadeTo(settings($.tooltip.current).fade, 100) : helper.parent.fadeIn(settings($.tooltip.current).fade);
- } else {
- helper.parent.show();
- }
- update();
- }
- function fix(event)
- {
- if(!settings(this).fixable)
- {
- hide(event);
- return;
- }
- event.cancelBubble = true;
- if(event.stopPropagation)
- event.stopPropagation();
- showOverlay('_tooltip','body',unfix_tooltip);
- $('#tooltip .tooltip_closer').show();
- $.tooltip.blocked = true;
- }
+ //si ya une image on re-ajuste au ratio
+ if ($('#' + settings($.tooltip.current).id + ' .imgTips')[0]) {
+ if(width == 'auto')
+ width = $('#' + settings($.tooltip.current).id).width();
+ if(height == 'auto')
+ height = $('#' + settings($.tooltip.current).id).height();
+ if (ratio > 1) {
+ var nh = width / ratio;
+ if (nh > height) {
+ width = ratio * height;
+ nh = width / ratio;
+ }
+ height = nh;
+ }
+ else {
+ var nw = ratio * height;
+ if (nw > width) {
+ height = width / ratio;
+ nw = height * ratio;
+ }
+ width = nw;
+ }
+ }else
+ {
+ if(vertS < horS)
+ {
+ height = 'auto';
+ }
+ }
- function visible(){
- $.tooltip.visible = true;
- helper.parent.css({
- visibility:'visible'
- });
- }
+ helper.parent.css({
+ width: width,
+ height: height,
+ left: left,
+ top: top
+ });
- /**
+ var $imgTips = $('#' + settings($.tooltip.current).id + ' .imgTips');
+ $imgTips.css({
+ width: width,
+ height: height,
+ left: left,
+ top: top
+ });
+
+// if($imgTips.size() > 0)
+// {
+// $('#' + settings($.tooltip.current).id).image_enhance('destroy').image_enhance({
+// zoomable:true
+// });
+// }
+ }
+
+ }
+ handle.apply($this, arguments);
+ return;
+ }
+
+ // delete timeout and show helper
+ function show() {
+ tID = null;
+
+ if ((!IE || !$.fn.bgiframe) && settings($.tooltip.current).fade) {
+ if (helper.parent.is(":animated"))
+ helper.parent.stop().show().fadeTo(settings($.tooltip.current).fade, 100);
+ else
+ helper.parent.is(':visible') ? helper.parent.fadeTo(settings($.tooltip.current).fade, 100) : helper.parent.fadeIn(settings($.tooltip.current).fade);
+ } else {
+ helper.parent.show();
+ }
+ update();
+ }
+
+ function fix(event)
+ {
+ if(!settings(this).fixable)
+ {
+ hide(event);
+ return;
+ }
+ event.cancelBubble = true;
+ if(event.stopPropagation)
+ event.stopPropagation();
+ showOverlay('_tooltip','body',unfix_tooltip);
+ $('#tooltip .tooltip_closer').show();
+ $.tooltip.blocked = true;
+ }
+
+ function visible(){
+ $.tooltip.visible = true;
+ helper.parent.css({
+ visibility:'visible'
+ });
+ }
+
+ /**
* callback for mousemove
* updates the helper position
* removes itself when no current element
*/
- function update(event) {
+ function update(event) {
- if($.tooltip.blocked)
- return;
+ if($.tooltip.blocked)
+ return;
- if (event && event.target.tagName == "OPTION") {
- return;
- }
+ if (event && event.target.tagName == "OPTION") {
+ return;
+ }
- // stop updating when tracking is disabled and the tooltip is visible
- if ( !track && helper.parent.is(":visible")) {
- $(document.body).unbind('mousemove', update);
- }
+ // stop updating when tracking is disabled and the tooltip is visible
+ if ( !track && helper.parent.is(":visible")) {
+ $(document.body).unbind('mousemove', update);
+ }
- // if no current element is available, remove this listener
- if( $.tooltip.current === null ) {
- $(document.body).unbind('mousemove', update);
- return;
- }
+ // if no current element is available, remove this listener
+ if( $.tooltip.current === null ) {
+ $(document.body).unbind('mousemove', update);
+ return;
+ }
- // remove position helper classes
- helper.parent.removeClass("viewport-right").removeClass("viewport-bottom");
+ // remove position helper classes
+ helper.parent.removeClass("viewport-right").removeClass("viewport-bottom");
- if(!settings($.tooltip.current).outside)
- {
- var left = helper.parent[0].offsetLeft;
- var top = helper.parent[0].offsetTop;
- helper.parent.width('auto');
- helper.parent.height('auto');
- if (event) {
- // position the helper 15 pixel to bottom right, starting from mouse position
- left = event.pageX + settings($.tooltip.current).left;
- top = event.pageY + settings($.tooltip.current).top;
- var right='auto';
- if (settings($.tooltip.current).positionLeft) {
- right = $(window).width() - left;
- left = 'auto';
- }
- helper.parent.css({
- left: left,
- right: right,
- top: top
- });
- }
+ if(!settings($.tooltip.current).outside)
+ {
+ var left = helper.parent[0].offsetLeft;
+ var top = helper.parent[0].offsetTop;
+ helper.parent.width('auto');
+ helper.parent.height('auto');
+ if (event) {
+ // position the helper 15 pixel to bottom right, starting from mouse position
+ left = event.pageX + settings($.tooltip.current).left;
+ top = event.pageY + settings($.tooltip.current).top;
+ var right='auto';
+ if (settings($.tooltip.current).positionLeft) {
+ right = $(window).width() - left;
+ left = 'auto';
+ }
+ helper.parent.css({
+ left: left,
+ right: right,
+ top: top
+ });
+ }
- var v = viewport(),
- h = helper.parent[0];
- // check horizontal position
- if (v.x + v.cx < h.offsetLeft + h.offsetWidth) {
- left -= h.offsetWidth + 20 + settings($.tooltip.current).left;
- helper.parent.css({left: left + 'px'}).addClass("viewport-right");
- }
- // check vertical position
- if (v.y + v.cy < h.offsetTop + h.offsetHeight) {
- top -= h.offsetHeight + 20 + settings($.tooltip.current).top;
- helper.parent.css({top: top + 'px'}).addClass("viewport-bottom");
- }
- }
- }
+ var v = viewport(),
+ h = helper.parent[0];
+ // check horizontal position
+ if (v.x + v.cx < h.offsetLeft + h.offsetWidth) {
+ left -= h.offsetWidth + 20 + settings($.tooltip.current).left;
+ helper.parent.css({
+ left: left + 'px'
+ }).addClass("viewport-right");
+ }
+ // check vertical position
+ if (v.y + v.cy < h.offsetTop + h.offsetHeight) {
+ top -= h.offsetHeight + 20 + settings($.tooltip.current).top;
+ helper.parent.css({
+ top: top + 'px'
+ }).addClass("viewport-bottom");
+ }
+ }
+ }
- function viewport() {
- return {
- x: $(window).width(),
- y: $(window).height(),
+ function viewport() {
+ return {
+ x: $(window).width(),
+ y: $(window).height(),
- cx: 0,
- cy: 0
- };
- }
+ cx: 0,
+ cy: 0
+ };
+ }
- // hide helper and restore added classes and the title
- function hide(event)
- {
- if($.tooltip.blocked || !$.tooltip.current)
- return;
- // clear timeout if possible
- if(tID)
- clearTimeout(tID);
- // no more current element
- $.tooltip.visible = false;
- var tsettings = settings($.tooltip.current);
- $.tooltip.current = null;
- function complete() {
- helper.parent.removeClass( tsettings.extraClass ).hide().css("opacity", "");
- var el =helper.parent.find('object').parent();
- el.empty();
- el.remove();
- }
- if ((!IE || !$.fn.bgiframe) && tsettings.fade) {
- if (helper.parent.is(':animated'))
- helper.parent.stop().fadeTo(tsettings.fade, 0, complete);
- else
- helper.parent.stop().fadeOut(tsettings.fade, complete);
- } else
- complete();
+ // hide helper and restore added classes and the title
+ function hide(event)
+ {
+ if($.tooltip.blocked || !$.tooltip.current)
+ return;
+ // clear timeout if possible
+ if(tID)
+ clearTimeout(tID);
+ // no more current element
+ $.tooltip.visible = false;
+ var tsettings = settings($.tooltip.current);
+ clearTimeout($.tooltip.ajaxTimeout);
+ if($.tooltip.ajaxRequest && $.tooltip.ajaxRequest.abort)
+ {
+ $.tooltip.ajaxRequest.abort();
+ }
+ $.tooltip.current = null;
+ function complete() {
+ helper.parent.removeClass( tsettings.extraClass ).hide().css("opacity", "");
+ }
+ if ((!IE || !$.fn.bgiframe) && tsettings.fade) {
+ if (helper.parent.is(':animated'))
+ helper.parent.stop().fadeTo(tsettings.fade, 0, complete);
+ else
+ helper.parent.stop().fadeOut(tsettings.fade, complete);
+ } else
+ complete();
- if( tsettings.fixPNG )
- helper.parent.unfixPNG();
- }
+ if( tsettings.fixPNG )
+ helper.parent.unfixPNG();
+ }
})(jQuery);
function unfix_tooltip()
{
- $.tooltip.blocked = false;
- $.tooltip.visible = false;
- $.tooltip.current = null;
- $('#tooltip').hide();
- $('#tooltip .tooltip_closer').hide();
- hideOverlay('_tooltip');
+ $.tooltip.blocked = false;
+ $.tooltip.visible = false;
+ $.tooltip.current = null;
+ $('#tooltip').hide();
+ $('#tooltip .tooltip_closer').hide();
+ hideOverlay('_tooltip');
}
$(document).bind('keydown', function(event){
- if(event.keyCode == 27 && $.tooltip.blocked === true)
- {
- unfix_tooltip();
- }
+ if(event.keyCode == 27 && $.tooltip.blocked === true)
+ {
+ unfix_tooltip();
+ }
});
\ No newline at end of file