(function(a) {
a.fn.powerFloat = function(d) {
return a(this).each(function() {
var e = a.extend({},
b, d || {});
var f = function(h, g) {
if (c.target && c.target.css("display") !== "none") {
c.targetHide()
}
c.s = h;
c.trigger = g
};
switch (e.eventType) {
case "hover":
a(this).hover(function() {
f(e, a(this));
var h = parseInt(e.showDelay, 10),
g;
if (h) {
if (g) {
clearTimeout(g)
}
g = setTimeout(function() {
c.targetGet()
},
h)
} else {
c.targetGet()
}
},
function() {
c.flagDisplay = false;
c.targetHold();
if (e.hoverHold) {
setTimeout(function() {
c.displayDetect()
},
200)
} else {
c.displayDetect()
}
});
if (e.hoverFollow) {
a(this).mousemove(function(g) {
c.cacheData.left = g.pageX;
c.cacheData.top = g.pageY;
c.targetGet();
return false
})
}
break;
case "click":
a(this).click(function(g) {
if (c.flagDisplay && g.target === c.trigger.get(0)) {
c.flagDisplay = false;
c.displayDetect()
} else {
f(e, a(this));
c.targetGet();
if (!a(document).data("mouseupBind")) {
a(document).bind("mouseup",
function(i) {
var h = false;
a(i.target).parents().each(function() {
if (c.target && a(this).attr("id") == c.target.attr("id")) {
h = true
}
});
if (e.eventType === "click" && c.flagDisplay && i.target != c.trigger.get(0) && !h) {
c.flagDisplay = false;
c.displayDetect()
}
return false
}).data("mouseupBind", true)
}
}
});
break;
case "focus":
a(this).focus(function() {
var g = a(this);
setTimeout(function() {
f(e, g);
c.targetGet()
},
200)
}).blur(function() {
c.flagDisplay = false;
setTimeout(function() {
c.displayDetect()
},
190)
});
break;
default:
f(e, a(this));
c.targetGet();
a(document).unbind("mouseup")
}
})
};
var c = {
targetGet: function() {
if (!this.trigger) {
return this
}
var h = this.trigger.attr(this.s.targetAttr),
g = this.s.target;
switch (this.s.targetMode) {
case "common":
if (g) {
var i = typeof(g);
if (i === "object") {
if (g.size()) {
c.target = g.eq(0)
}
} else {
if (i === "string") {
if (a(g).size()) {
c.target = a(g).eq(0)
}
}
}
} else {
if (h && a("#" + h).size()) {
c.target = a("#" + h)
}
}
if (c.target) {
c.targetShow()
} else {
return this
}
break;
case "ajax":
var d = g || h;
this.targetProtect = false;
if (/(\.jpg|\.png|\.gif|\.bmp|\.jpeg)$/i.test(d)) {
if (c.cacheData[d]) {
c.target = a(c.cacheData[d]);
c.targetShow()
} else {
var f = new Image();
c.loading();
f.onload = function() {
var m = f.width,
q = f.height;
var p = a(window).width(),
s = a(window).height();
var r = m / q,
o = p / s;
if (r > o) {
if (m > p / 2) {
m = p / 2;
q = m / r
}
} else {
if (q > s / 2) {
q = s / 2;
m = q * r
}
}
var n = '';
c.cacheData[d] = n;
c.target = a(n);
c.targetShow()
};
f.onerror = function() {
c.target = a('