!function(e){var i=10,s=.95;var t={series:{pie:{show:!1,radius:"auto",innerRadius:0,startAngle:1.5,tilt:1,shadow:{left:5,top:15,alpha:.02},offset:{top:0,left:"auto"},stroke:{color:"#fff",width:1},label:{show:"auto",formatter:function(e,i){return"
"+e+"
"+Math.round(i.percent)+"%
"},radius:1,background:{color:null,opacity:0},threshold:0},combine:{threshold:-1,color:null,label:"Other"},highlight:{opacity:.5}}}};e.plot.plugins.push({init:function(r){var a=null,l=null,n=null,o=null,p=null,h=!1,g=null,c=[];function u(i,s,r){h||(h=!0,a=i.getCanvas(),l=e(a).parent(),t=i.getOptions(),i.setData(function(e){for(var i=0,s=0,r=0,a=t.series.pie.combine.color,l=[],n=0;nt.series.pie.combine.threshold)&&l.push({data:[[1,o]],color:e[n].color,label:e[n].label,angle:o*Math.PI*2/i,percent:o/(i/100)})}return r>1&&l.push({data:[[1,s]],color:a,label:t.series.pie.combine.label,angle:s*Math.PI*2/i,percent:s/(i/100)}),l}(i.getData())))}function d(r,a){if(l){var c=r.getPlaceholder().width(),u=r.getPlaceholder().height(),d=l.children().filter(".legend").children().width()||0;g=a,h=!1,n=Math.min(c,u/t.series.pie.tilt)/2,p=u/2+t.series.pie.offset.top,o=c/2,"auto"==t.series.pie.offset.left?t.legend.position.match("w")?o+=d/2:o-=d/2:o+=t.series.pie.offset.left,oc-n&&(o=c-n);var v=r.getData(),b=0;do{b>0&&(n*=s),b+=1,w(),t.series.pie.tilt<=.8&&k()}while(!A()&&b=i&&(w(),l.prepend("
Could not draw pie with labels contained inside canvas
")),r.setSeries&&r.insertLegend&&(r.setSeries(v),r.insertLegend())}function w(){g.clearRect(0,0,c,u),l.children().filter(".pieLabel, .pieLabelBackground").remove()}function k(){var e=t.series.pie.shadow.left,i=t.series.pie.shadow.top,s=t.series.pie.shadow.alpha,r=t.series.pie.radius>1?t.series.pie.radius:n*t.series.pie.radius;if(!(r>=c/2-e||r*t.series.pie.tilt>=u/2-i||r<=10)){g.save(),g.translate(e,i),g.globalAlpha=s,g.fillStyle="#000",g.translate(o,p),g.scale(1,t.series.pie.tilt);for(var a=1;a<=10;a++)g.beginPath(),g.arc(0,0,r,0,2*Math.PI,!1),g.fill(),r-=a;g.restore()}}function A(){var i=Math.PI*t.series.pie.startAngle,s=t.series.pie.radius>1?t.series.pie.radius:n*t.series.pie.radius;g.save(),g.translate(o,p),g.scale(1,t.series.pie.tilt),g.save();for(var r=i,a=0;a0){for(g.save(),g.lineWidth=t.series.pie.stroke.width,r=i,a=0;a1?t.series.pie.label.radius:n*t.series.pie.label.radius,a=0;a=100*t.series.pie.label.threshold&&!h(v[a],s,a))return!1;s+=v[a].angle}return!0;function h(i,s,a){if(0==i.data[0][1])return!0;var n,h=t.legend.labelFormatter,g=t.series.pie.label.formatter;n=h?h(i.label,i):i.label,g&&(n=g(n,i));var d=(s+i.angle+s)/2,f=o+Math.round(Math.cos(d)*r),v=p+Math.round(Math.sin(d)*r)*t.series.pie.tilt,b=""+n+"";l.append(b);var w=l.children("#pieLabel"+a),k=v-w.height()/2,A=f-w.width()/2;if(w.css("top",k),w.css("left",A),0-k>0||0-A>0||u-(k+w.height())<0||c-(A+w.width())<0)return!1;if(0!=t.series.pie.label.background.opacity){var M=t.series.pie.label.background.color;null==M&&(M=i.color);var P="top:"+k+"px;left:"+A+"px;";e("
").css("opacity",t.series.pie.label.background.opacity).insertBefore(w)}return!0}}();function h(e,i,t){e<=0||isNaN(e)||(t?g.fillStyle=i:(g.strokeStyle=i,g.lineJoin="round"),g.beginPath(),Math.abs(e-2*Math.PI)>1e-9&&g.moveTo(0,0),g.arc(0,0,s,r,r+e/2,!1),g.arc(0,0,s,r+e/2,r+e,!1),g.closePath(),r+=e,t?g.fill():g.stroke())}}}function f(e){if(t.series.pie.innerRadius>0){e.save();var i=t.series.pie.innerRadius>1?t.series.pie.innerRadius:n*t.series.pie.innerRadius;e.globalCompositeOperation="destination-out",e.beginPath(),e.fillStyle=t.series.pie.stroke.color,e.arc(0,0,i,0,2*Math.PI,!1),e.fill(),e.closePath(),e.restore(),e.save(),e.beginPath(),e.strokeStyle=t.series.pie.stroke.color,e.arc(0,0,i,0,2*Math.PI,!1),e.stroke(),e.closePath(),e.restore()}}function v(e,i){for(var s=!1,t=-1,r=e.length,a=r-1;++t1?l.series.pie.radius:n*l.series.pie.radius,c=0;c1?i.series.pie.tilt=1:i.series.pie.tilt<0&&(i.series.pie.tilt=0))}),r.hooks.bindEvents.push(function(e,i){var s=e.getOptions();s.series.pie.show&&(s.grid.hoverable&&i.off("mousemove").on("mousemove",b),s.grid.clickable&&i.off("click").on("click",w))}),r.hooks.processDatapoints.push(function(e,i,s,t){e.getOptions().series.pie.show&&u(e)}),r.hooks.drawOverlay.push(function(e,i){e.getOptions().series.pie.show&&function(e,i){var s=e.getOptions(),t=s.series.pie.radius>1?s.series.pie.radius:n*s.series.pie.radius;i.save(),i.translate(o,p),i.scale(1,s.series.pie.tilt);for(var r=0;r1e-9&&i.moveTo(0,0),i.arc(0,0,t,e.startAngle,e.startAngle+e.angle/2,!1),i.arc(0,0,t,e.startAngle+e.angle/2,e.startAngle+e.angle,!1),i.closePath(),i.fill())}f(i),i.restore()}(e,i)}),r.hooks.draw.push(function(e,i){e.getOptions().series.pie.show&&d(e,i)})},options:t,name:"pie",version:"1.1"})}(jQuery);