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