(function(C){var A=null,B={},F=null,E=null,D={sourceType:"attribute",source:"title",activateOn:"hover",insertInto:"body",addClass:"levitip",topOffset:10,leftOffset:10,closeDelay:100,dropShadow:true,useHoverIntent:true,hiSensitivity:7,hiInterval:50,onOpen:function(){},onClose:function(){}};C.extend({LeviTip:function(H,G){this.init(H,G)}});C.extend(C.LeviTip,{addSourceHandler:function(G){if(G.get&&G.type){B[G.type]=G}},closeLeviTip:function(){if(A){A.close()}},setDefaults:function(G){C.extend(D,G)},prototype:{init:function(I,J){if(!I){return }this.settings=C.extend({},D,J);this.target=I;this.timer=this.tipHover=false;this.handler=B[this.settings.sourceType]||0;this.pos={cx:0,cy:0,px:0,py:0};var G=this,H=(this.settings.activateOn=="hover"?function(K){if(G.settings.activateOn=="hover"){G.hoverIn(K)}}:function(){});if(!F){E=C("<div class=\"innerbox\"></div>");F=C("<div><div class=\"shadowbox1\"></div><div class=\"shadowbox2\"></div><div class=\"shadowbox3\"></div></div>").append(E);F.css({position:"absolute",display:"none"}).addClass("levitipouter").appendTo("body");if(C.browser.msie&&(!C.browser.version||parseInt(C.browser.version)<=6)&&C.fn.bgiframe){F.bgiframe()}}if(!this.handler){return }if(this.handler.prepare){this.handler.prepare(this)}if(C.fn.hoverIntent&&this.settings.useHoverIntent){C(I).hoverIntent({interval:this.settings.hiInterval,sensitivity:this.settings.hiSensitivity,over:H,out:function(){G.hoverOut()},timeout:0})}else{C(I).hover(H,function(){G.hoverOut()})}if(this.settings.activateOn=="click"){C(I).click(function(K){G.hoverIn(K)})}},hoverIn:function(J){if(A){if(A==this){if(this.timer){clearTimeout(this.timer)}return }else{A.close();A=null}}var I=(this.settings.insertInto=="target")?this.target:(this.settings.insertInto=="body")?"body":this.settings.insertInto;F.appendTo(I).css({visibility:"hidden",display:"block"});var H=this.handler.get(this);if(!H){return }E.html(H).children().show();if(this.settings.addClass){E.addClass(this.settings.addClass)}if(this.settings.dropShadow){F.addClass("outerbox")}this.pos={cx:J.clientX,cy:J.clientY,px:J.pageX,py:J.pageY};this.setPosition();F.css({display:"none",visibility:""}).show();A=this;if(this.settings.insertInto=="body"){var G=this;F.hover(function(K){G.tipHoverIn(K)},function(){G.tipHoverOut()})}if(this.settings.onOpen){this.settings.onOpen(F,this.target)}},hoverOut:function(){var G=this;this.timer=setTimeout(function(){if(!G.tipHover){G.close()}},this.settings.closeDelay)},tipHoverIn:function(){this.tipHover=true},tipHoverOut:function(){this.tipHover=false;this.hoverOut()},setPosition:function(){var M,M,J=C(window).width(),H=C(window).height(),L,K;L=F.offsetParent();K=(this.settings.insertInto=="body")?{left:0,top:0,scrollLeft:0,scrollTop:0}:L.offset();if(this.settings.insertInto=="target"&&L.css("position")=="fixed"){posX=this.pos.cx;M=this.pos.cy}else{posX=this.pos.px;M=this.pos.py}posX+=this.settings.leftOffset-K.left-K.scrollLeft;M+=this.settings.topOffset-K.top-K.scrollTop;if(J<this.pos.cx+F[0].clientWidth+this.settings.leftOffset){var I=C(window).scrollLeft();posX-=F[0].clientWidth+this.settings.leftOffset*2;if(K.left-I+posX<0){posX-=K.left-I+posX}}if(H<this.pos.cy+F[0].clientHeight+this.settings.topOffset){var G=C(window).scrollTop();M-=F[0].clientHeight+this.settings.topOffset*2;if(K.top-G+M<0){M-=K.top-G+M}}F.css({left:posX,top:M})},close:function(){if(this.timer){clearTimeout(this.timer)}F.hide().unbind("mouseover").unbind("mouseout").css({left:0,top:0}).removeClass("outerbox");if(this.settings.addClass){E.removeClass(this.settings.addClass)}A=false;if(this.handler.end){this.handler.end(this)}if(this.settings.onClose){this.settings.onClose(F,this.target)}}}});C.fn.extend({leviTip:function(G){return this.each(function(){new C.LeviTip(this,G)})}});C.LeviTip.addSourceHandler({type:"attribute",get:function(H){var G=C(H.target).attr(H.settings.source);if(H.settings.source=="title"){H.titleAttr=G;C(H.target).attr("title","")}return G},end:function(G){if(G.settings.source=="title"&&G.titleAttr){C(G.target).attr("title",G.titleAttr)}}});C.LeviTip.addSourceHandler({type:"element",prepare:function(G){if(G.settings.hideSourceElement){C(G.settings.source).hide()}},get:function(G){var H=[];if(G.settings.source){H=C(G.settings.source);if(H.length){H=H.clone(true).show()}}return H}});C.LeviTip.addSourceHandler({type:"firstchild",prepare:function(G){if(G.settings.hideSourceElement){C(G.target.firstChild).hide()}},get:function(G){var H=C(G.target.firstChild);if(H.length){H=H.clone(true).show()}return H}})})(jQuery);

