jQuery.bt={version:"0.9.5-rc1"};(function(a){jQuery.fn.bt=function(c,j){if(typeof c!="string"){var l=true;j=c;c=false}else var l=false;if(jQuery.fn.hoverIntent&&jQuery.bt.defaults.trigger=="hover")jQuery.bt.defaults.trigger="hoverIntent";return this.each(function(){var d=jQuery.extend(false,jQuery.bt.defaults,jQuery.bt.options,j);d.spikeLength=b(d.spikeLength);d.spikeGirth=b(d.spikeGirth);d.overlap=b(d.overlap);var i=false;d.killTitle&&a(this).find("[title]").andSelf().each(function(){!a(this).attr("bt-xTitle")&&a(this).attr("bt-xTitle",a(this).attr("title")).attr("title","")});if(typeof d.trigger=="string")d.trigger=[d.trigger];if(d.trigger[0]=="hoverIntent"){var n=jQuery.extend(d.hoverIntentOpts,{over:function(){this.btOn()},out:function(){this.btOff()}});a(this).hoverIntent(n)}else if(d.trigger[0]=="hover")a(this).hover(function(){this.btOn()},function(){this.btOff()});else if(d.trigger[0]=="now")if(a(this).hasClass("bt-active"))this.btOff();else this.btOn();else if(d.trigger[0]!="none")if(d.trigger.length>1&&d.trigger[0]!=d.trigger[1])a(this).bind(d.trigger[0],function(){this.btOn()}).bind(d.trigger[1],function(){this.btOff()});else a(this).bind(d.trigger[0],function(){if(a(this).hasClass("bt-active"))this.btOff();else this.btOn()});this.btOn=function(){typeof a(this).data("bt-box")=="object"&&this.btOff();d.preBuild.apply(this);a(jQuery.bt.vars.closeWhenOpenStack).btOff();a(this).addClass("bt-active "+d.activeClass);if(l&&d.ajaxPath==null){d.killTitle&&a(this).attr("title",a(this).attr("bt-xTitle"));c=a.isFunction(d.contentSelector)?d.contentSelector.apply(this):eval(d.contentSelector);d.killTitle&&a(this).attr("title","")}if(d.ajaxPath!=null&&c==false){if(typeof d.ajaxPath=="object"){var B=eval(d.ajaxPath[0]);B+=d.ajaxPath[1]?" "+d.ajaxPath[1]:""}else var B=d.ajaxPath;var bb=B.indexOf(" ");if(bb>=0){var P=B.slice(bb,B.length);B=B.slice(0,bb)}var ab=d.ajaxCache?a(document.body).data("btCache-"+B.replace(/\./g,"")):null;if(typeof ab=="string")c=P?a("<div/>").append(ab.replace(/<script(.|\s)*?\/script>/g,"")).find(P):ab;else{var kb=this,ob=jQuery.extend(false,{type:d.ajaxType,data:d.ajaxData,cache:d.ajaxCache,url:B,complete:function(b,e){if(e=="success"||e=="notmodified"){d.ajaxCache&&a(document.body).data("btCache-"+B.replace(/\./g,""),b.responseText);i=false;c=P?a("<div/>").append(b.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(P):b.responseText}else{if(e=="timeout")i=true;c=d.ajaxError.replace(/%error/g,b.statusText)}a(kb).hasClass("bt-active")&&kb.btOn()}},d.ajaxOpts);jQuery.ajax(ob);c=d.ajaxLoading}}var X=0,Y=0,x=0,y=0;if(d.shadow&&!m()){d.shadow=false;jQuery.extend(d,d.noShadowOpts)}if(d.shadow){if(d.shadowBlur>Math.abs(d.shadowOffsetX))X=d.shadowBlur*2;else X=d.shadowBlur+Math.abs(d.shadowOffsetX);x=d.shadowBlur-d.shadowOffsetX>0?d.shadowBlur-d.shadowOffsetX:0;if(d.shadowBlur>Math.abs(d.shadowOffsetY))Y=d.shadowBlur*2;else Y=d.shadowBlur+Math.abs(d.shadowOffsetY);y=d.shadowBlur-d.shadowOffsetY>0?d.shadowBlur-d.shadowOffsetY:0}if(d.offsetParent)var Z=a(d.offsetParent),cb=Z.offset(),V=a(this).offset(),W=b(V.top)-b(cb.top)+b(a(this).css("margin-top"))-y,U=b(V.left)-b(cb.left)+b(a(this).css("margin-left"))-x;else var Z=a(this).css("position")=="absolute"?a(this).parents().eq(0).offsetParent():a(this).offsetParent(),V=a(this).btPosition(),W=b(V.top)+b(a(this).css("margin-top"))-y,U=b(V.left)+b(a(this).css("margin-left"))-x;var T=a(this).btOuterWidth(),R=a(this).outerHeight();if(typeof c=="object"){var N=c,S=a(N).clone(true).show(),fb=a(N).data("bt-clones")||[];fb.push(S);a(N).data("bt-clones",fb);a(S).data("bt-orig",N);a(this).data("bt-content-orig",{original:N,clone:S});c=S}if(typeof c=="null"||c=="")return;var j=a('<div class="bt-content"></div>').append(c).css({padding:d.padding,position:"absolute",width:d.shrinkToFit?"auto":d.width,zIndex:d.textzIndex,left:x,top:y}).css(d.cssStyles),o=a('<div class="bt-wrapper"></div>').append(j).addClass(d.cssClass).css({position:"absolute",width:d.width,zIndex:d.wrapperzIndex,visibility:"hidden"}).appendTo(Z);if(jQuery.fn.bgiframe){j.bgiframe();o.bgiframe()}a(this).data("bt-box",o);var M=b(a(document).scrollTop()),L=b(a(document).scrollLeft()),ib=b(a(window).width()),gb=b(a(window).height()),jb=L+ib,hb=M+gb,A={},O=a(this).offset();A.top=O.top-M;A.bottom=gb-(O+R-M);A.left=O.left-L;A.right=ib-(O.left+T-L);var db=b(j.outerHeight()),eb=b(j.btOuterWidth());if(d.positions.constructor==String)d.positions=d.positions.replace(/ /,"").split(",");if(d.positions[0]=="most"){var w="top";for(var nb in A)w=A[nb]>A[w]?nb:w}else for(var qb in d.positions){var w=d.positions[qb];if((w=="left"||w=="right")&&A[w]>eb+d.spikeLength)break;else if((w=="top"||w=="bottom")&&A[w]>db+d.spikeLength)break}var lb=U+(T-eb)*.5,mb=W+(R-db)*.5,g=[],q,p,s,r,H,D,G,E,n,v,t;switch(w){case"top":j.css("margin-bottom",d.spikeLength+"px");o.css({top:W-j.outerHeight(true)+d.overlap,left:lb});E=jb-d.windowMargin-(j.offset().left+j.btOuterWidth(true));var J=x;if(E<0){o.css("left",b(o.css("left"))+E+"px");J-=E}G=j.offset().left+b(j.css("margin-left"))-(L+d.windowMargin);if(G<0){o.css("left",b(o.css("left"))-G+"px");J+=G}q=j.btPosition().top+b(j.css("margin-top"));p=j.btPosition().left+b(j.css("margin-left"));s=p+j.btOuterWidth();r=q+j.outerHeight();v={x:p+j.btOuterWidth()*d.centerPointX,y:q+j.outerHeight()*d.centerPointY};g[g.length]=t={y:r+d.spikeLength,x:(s-p)*.5+J,type:"spike"};n=e(t.x,t.y,v.x,v.y,r);n.x=n.x<p+d.spikeGirth/2+d.cornerRadius?p+d.spikeGirth/2+d.cornerRadius:n.x;n.x=n.x>s-d.spikeGirth/2-d.cornerRadius?s-d.spikeGirth/2-d.CornerRadius:n.x;g[g.length]={x:n.x-d.spikeGirth/2,y:r,type:"join"};g[g.length]={x:p,y:r,type:"corner"};g[g.length]={x:p,y:q,type:"corner"};g[g.length]={x:s,y:q,type:"corner"};g[g.length]={x:s,y:r,type:"corner"};g[g.length]={x:n.x+d.spikeGirth/2,y:r,type:"join"};g[g.length]=t;break;case"left":j.css("margin-right",d.spikeLength+"px");o.css({top:mb+"px",left:U-j.btOuterWidth(true)+d.overlap+"px"});D=hb-d.windowMargin-(j.offset().top+j.outerHeight(true));var K=y;if(D<0){o.css("top",b(o.css("top"))+D+"px");K-=D}H=j.offset().top+b(j.css("margin-top"))-(M+d.windowMargin);if(H<0){o.css("top",b(o.css("top"))-H+"px");K+=H}q=j.btPosition().top+b(j.css("margin-top"));p=j.btPosition().left+b(j.css("margin-left"));s=p+j.btOuterWidth();r=q+j.outerHeight();v={x:p+j.btOuterWidth()*d.centerPointX,y:q+j.outerHeight()*d.centerPointY};g[g.length]=t={x:s+d.spikeLength,y:(r-q)*.5+K,type:"spike"};n=f(t.x,t.y,v.x,v.y,s);n.y=n.y<q+d.spikeGirth/2+d.cornerRadius?q+d.spikeGirth/2+d.cornerRadius:n.y;n.y=n.y>r-d.spikeGirth/2-d.cornerRadius?r-d.spikeGirth/2-d.cornerRadius:n.y;g[g.length]={x:s,y:n.y+d.spikeGirth/2,type:"join"};g[g.length]={x:s,y:r,type:"corner"};g[g.length]={x:p,y:r,type:"corner"};g[g.length]={x:p,y:q,type:"corner"};g[g.length]={x:s,y:q,type:"corner"};g[g.length]={x:s,y:n.y-d.spikeGirth/2,type:"join"};g[g.length]=t;break;case"bottom":j.css("margin-top",d.spikeLength+"px");o.css({top:W+R-d.overlap,left:lb});E=jb-d.windowMargin-(j.offset().left+j.btOuterWidth(true));var J=x;if(E<0){o.css("left",b(o.css("left"))+E+"px");J-=E}G=j.offset().left+b(j.css("margin-left"))-(L+d.windowMargin);if(G<0){o.css("left",b(o.css("left"))-G+"px");J+=G}q=j.btPosition().top+b(j.css("margin-top"));p=j.btPosition().left+b(j.css("margin-left"));s=p+j.btOuterWidth();r=q+j.outerHeight();v={x:p+j.btOuterWidth()*d.centerPointX,y:q+j.outerHeight()*d.centerPointY};g[g.length]=t={x:(s-p)*.5+J,y:y,type:"spike"};n=e(t.x,t.y,v.x,v.y,q);n.x=n.x<p+d.spikeGirth/2+d.cornerRadius?p+d.spikeGirth/2+d.cornerRadius:n.x;n.x=n.x>s-d.spikeGirth/2-d.cornerRadius?s-d.spikeGirth/2-d.cornerRadius:n.x;g[g.length]={x:n.x+d.spikeGirth/2,y:q,type:"join"};g[g.length]={x:s,y:q,type:"corner"};g[g.length]={x:s,y:r,type:"corner"};g[g.length]={x:p,y:r,type:"corner"};g[g.length]={x:p,y:q,type:"corner"};g[g.length]={x:n.x-d.spikeGirth/2,y:q,type:"join"};g[g.length]=t;break;case"right":j.css("margin-left",d.spikeLength+"px");o.css({top:mb+"px",left:U+T-d.overlap+"px"});D=hb-d.windowMargin-(j.offset().top+j.outerHeight(true));var K=y;if(D<0){o.css("top",b(o.css("top"))+D+"px");K-=D}H=j.offset().top+b(j.css("margin-top"))-(M+d.windowMargin);if(H<0){o.css("top",b(o.css("top"))-H+"px");K+=H}q=j.btPosition().top+b(j.css("margin-top"));p=j.btPosition().left+b(j.css("margin-left"));s=p+j.btOuterWidth();r=q+j.outerHeight();v={x:p+j.btOuterWidth()*d.centerPointX,y:q+j.outerHeight()*d.centerPointY};g[g.length]=t={x:x,y:(r-q)*.5+K,type:"spike"};n=f(t.x,t.y,v.x,v.y,p);n.y=n.y<q+d.spikeGirth/2+d.cornerRadius?q+d.spikeGirth/2+d.cornerRadius:n.y;n.y=n.y>r-d.spikeGirth/2-d.cornerRadius?r-d.spikeGirth/2-d.cornerRadius:n.y;g[g.length]={x:p,y:n.y-d.spikeGirth/2,type:"join"};g[g.length]={x:p,y:q,type:"corner"};g[g.length]={x:s,y:q,type:"corner"};g[g.length]={x:s,y:r,type:"corner"};g[g.length]={x:p,y:r,type:"corner"};g[g.length]={x:p,y:n.y+d.spikeGirth/2,type:"join"};g[g.length]=t}var Q=document.createElement("canvas");a(Q).attr("width",b(j.btOuterWidth(true))+d.strokeWidth*2+X).attr("height",b(j.outerHeight(true))+d.strokeWidth*2+Y).appendTo(o).css({position:"absolute",zIndex:d.boxzIndex,top:"0px",left:"0px"});if(typeof G_vmlCanvasManager!="undefined")Q=G_vmlCanvasManager.initElement(Q);if(d.cornerRadius>0){for(var z=[],I,C=0;C<g.length;C++)if(g[C].type=="corner"){I=h(g[C],g[(C-1)%g.length],d.cornerRadius);I.type="arcStart";z[z.length]=I;z[z.length]=g[C];I=h(g[C],g[(C+1)%g.length],d.cornerRadius);I.type="arcEnd";z[z.length]=I}else z[z.length]=g[C];g=z}var u=Q.getContext("2d");if(d.shadow&&d.shadowOverlap!==true){var F=b(d.shadowOverlap);switch(w){case"top":d.shadowOffsetX+d.shadowBlur-F>0&&o.css("top",b(o.css("top"))-(d.shadowOffsetX+d.shadowBlur-F));break;case"right":x-F>0&&o.css("left",b(o.css("left"))+x-F);break;case"bottom":y-F>0&&o.css("top",b(o.css("top"))+y-F);break;case"left":d.shadowOffsetY+d.shadowBlur-F>0&&o.css("left",b(o.css("left"))-(d.shadowOffsetY+d.shadowBlur-F))}}k.apply(u,[g],d.strokeWidth);u.fillStyle=d.fill;if(d.shadow){u.shadowOffsetX=d.shadowOffsetX;u.shadowOffsetY=d.shadowOffsetY;u.shadowBlur=d.shadowBlur;u.shadowColor=d.shadowColor}u.closePath();u.fill();if(d.strokeWidth>0){u.shadowColor="rgba(0, 0, 0, 0)";u.lineWidth=d.strokeWidth;u.strokeStyle=d.strokeStyle;u.beginPath();k.apply(u,[g],d.strokeWidth);u.closePath();u.stroke()}d.preShow.apply(this,[o[0]]);o.css({display:"none",visibility:"visible"});d.showTip.apply(this,[o[0]]);if(d.overlay){var pb=a('<div class="bt-overlay"></div>').css({position:"absolute",backgroundColor:"blue",top:W,left:U,width:T,height:R,opacity:".2"}).appendTo(Z);a(this).data("overlay",pb)}if(d.ajaxPath!=null&&d.ajaxCache==false||i)c=false;if(d.clickAnywhereToClose){jQuery.bt.vars.clickAnywhereStack.push(this);a(document).click(jQuery.bt.docClick)}d.closeWhenOthersOpen&&jQuery.bt.vars.closeWhenOpenStack.push(this);d.postShow.apply(this,[o[0]])};this.btOff=function(){var c=a(this).data("bt-box");d.preHide.apply(this,[c]);var b=this;b.btCleanup=function(){var f=a(b).data("bt-box"),c=a(b).data("bt-content-orig"),e=a(b).data("bt-overlay");if(typeof f=="object"){a(f).remove();a(b).removeData("bt-box")}if(typeof c=="object"){var h=a(c.original).data("bt-clones");a(c).data("bt-clones",g(h,c.clone))}if(typeof e=="object"){a(e).remove();a(b).removeData("bt-overlay")}jQuery.bt.vars.clickAnywhereStack=g(jQuery.bt.vars.clickAnywhereStack,b);jQuery.bt.vars.closeWhenOpenStack=g(jQuery.bt.vars.closeWhenOpenStack,b);a(b).removeClass("bt-active "+d.activeClass);d.postHide.apply(b)};d.hideTip.apply(this,[c,b.btCleanup])};var o=this.btRefresh=function(){this.btOff();this.btOn()}});function k(a,b){this.moveTo(a[0].x,a[0].y);for(i=1;i<a.length;i++)if(a[i-1].type=="arcStart"){this.quadraticCurveTo(d(a[i].x,b),d(a[i].y,b),d(a[(i+1)%a.length].x,b),d(a[(i+1)%a.length].y,b));i++}else this.lineTo(d(a[i].x,b),d(a[i].y,b))}function d(d,a){var c;a=b(a);if(a%2)c=d;else c=Math.round(d-.5)+.5;return c}function b(a){return parseInt(a)||0}function g(a,d){var b,c=[];for(b in a)a[b]!=d&&c.push(a[b]);return c}function m(){try{var a=navigator.userAgent.toLowerCase();if(/webkit/.test(a))return true;else if(/gecko|mozilla/.test(a)&&parseFloat(a.match(/firefox\/(\d+(?:\.\d+)+)/)[1])>=3.1)return true}catch(b){}return false}function h(a,b,c){var e,d;if(a.x==b.x){e=a.y<b.y?a.y+c:a.y-c;return{x:a.x,y:e}}else if(a.y==b.y){d=a.x<b.x?a.x+c:a.x-c;return{x:d,y:a.y}}}function f(c,a,f,d,b){if(a==d)return{x:b,y:a};var e=(a-d)/(c-f),g=a-e*c,h=e*b+g;return{x:b,y:h}}function e(a,d,c,f,b){if(a==c)return{x:a,y:b};var e=(d-f)/(a-c),g=d-e*a,h=(b-g)/e;return{x:h,y:b}}};jQuery.fn.btPosition=function(){function d(a,b){return a[0]&&parseInt(jQuery.curCSS(a[0],b,true),10)||0}var f=0,g=0,e;if(this[0]){var a=this.offsetParent(),c=this.offset(),b=/^body|html$/i.test(a[0].tagName)?{top:0,left:0}:a.offset();c.top-=d(this,"marginTop");c.left-=d(this,"marginLeft");b.top+=d(a,"borderTopWidth");b.left+=d(a,"borderLeftWidth");e={top:c.top-b.top,left:c.left-b.left}}return e};jQuery.fn.btOuterWidth=function(b){function a(a,b){return a[0]&&parseInt(jQuery.curCSS(a[0],b,true),10)||0}return this.innerWidth()+a(this,"borderLeftWidth")+a(this,"borderRightWidth")+(b?a(this,"marginLeft")+a(this,"marginRight"):0)};jQuery.fn.btOn=function(){return this.each(function(){jQuery.isFunction(this.btOn)&&this.btOn()})};jQuery.fn.btOff=function(){return this.each(function(){jQuery.isFunction(this.btOff)&&this.btOff()})};jQuery.bt.vars={clickAnywhereStack:[],closeWhenOpenStack:[]};jQuery.bt.docClick=function(b){if(!b)var b=window.event;if(!a(b.target).parents().andSelf().filter(".bt-wrapper, .bt-active").length&&jQuery.bt.vars.clickAnywhereStack.length){a(jQuery.bt.vars.clickAnywhereStack).btOff();a(document).unbind("click",jQuery.bt.docClick)}};jQuery.bt.defaults={trigger:"hover",clickAnywhereToClose:true,closeWhenOthersOpen:true,shrinkToFit:false,width:"200px",padding:"10px",spikeGirth:10,spikeLength:15,overlap:0,overlay:false,killTitle:true,textzIndex:9999,boxzIndex:9998,wrapperzIndex:9997,offsetParent:null,positions:["most"],fill:"rgb(255, 255, 102)",windowMargin:10,strokeWidth:1,strokeStyle:"#000",cornerRadius:5,centerPointX:0,centerPointY:0,shadow:false,shadowOffsetX:2,shadowOffsetY:2,shadowBlur:3,shadowColor:"#000",shadowOverlap:false,noShadowOpts:{strokeStyle:"#999"},cssClass:"btwarpper",cssStyles:{},activeClass:"bt-active",contentSelector:"$(this).attr('title')",ajaxPath:null,ajaxError:"<strong>ERROR:</strong> <em>%error</em>",ajaxLoading:"<blink>Loading...</blink>",ajaxData:{},ajaxType:"GET",ajaxCache:false,ajaxOpts:{},preBuild:function(){},preShow:function(){},showTip:function(b){a(b).show()},postShow:function(){},preHide:function(){},hideTip:function(c,b){a(c).hide();b()},postHide:function(){},hoverIntentOpts:{interval:300,timeout:500}};jQuery.bt.options={}})(jQuery)
