(function(){function b(n,h,g,t,e,o){o=o||{};var c=this,q=[],k=n.set(),s=n.set(),m=n.set(),x=[],z=e.length,A=0,D=0,C=0,f=9,B=true;function w(I,H,i,K,G,P){var M=Math.PI/180,E=I+i*Math.cos(-K*M),p=I+i*Math.cos(-G*M),J=I+i/2*Math.cos(-(K+(G-K)/2)*M),O=H+i*Math.sin(-K*M),N=H+i*Math.sin(-G*M),F=H+i/2*Math.sin(-(K+(G-K)/2)*M),L=["M",I,H,"L",E,O,"A",i,i,0,+(Math.abs(G-K)>180),1,p,N,"z"];L.middle={x:J,y:F};return L}s.covers=k;if(z==1){m.push(n.circle(h,g,t).attr({fill:c.colors[0],stroke:o.stroke||"#fff","stroke-width":o.strokewidth==null?1:o.strokewidth}));k.push(n.circle(h,g,t).attr(c.shim));D=e[0];e[0]={value:e[0],order:0,valueOf:function(){return this.value}};m[0].middle={x:h,y:g};m[0].mangle=180}else{for(var y=0;y<z;y++){D+=e[y];e[y]={value:e[y],order:y,valueOf:function(){return this.value}}}e.sort(function(p,i){return i.value-p.value});for(y=0;y<z;y++){if(B&&e[y]*360/D<=1.5){f=y;B=false}if(y>f){B=false;e[f].value+=e[y];e[f].others=true;C=e[f].value}}z=Math.min(f+1,e.length);C&&e.splice(z)&&(e[f].others=true);for(y=0;y<z;y++){var j=A-360*e[y]/D/2;if(!y){A=90-j;j=A-360*e[y]/D/2}if(o.init){var l=w(h,g,1,A,A-360*e[y]/D).join(",")}var v=w(h,g,t,A,A-=360*e[y]/D);var u=n.path(o.init?l:v).attr({fill:o.colors&&o.colors[y]||c.colors[y]||"#666",stroke:o.stroke||"#fff","stroke-width":(o.strokewidth==null?1:o.strokewidth),"stroke-linejoin":"round"});u.value=e[y];u.middle=v.middle;u.mangle=j;q.push(u);m.push(u);o.init&&u.animate({path:v.join(",")},(+o.init-1)||1000,">")}for(y=0;y<z;y++){u=n.path(q[y].attr("path")).attr(c.shim);o.href&&o.href[y]&&u.attr({href:o.href[y]});u.attr=function(){};k.push(u);m.push(u)}}s.hover=function(F,r){r=r||function(){};var E=this;for(var p=0;p<z;p++){(function(G,H,i){var I={sector:G,cover:H,cx:h,cy:g,mx:G.middle.x,my:G.middle.y,mangle:G.mangle,r:t,value:e[i],total:D,label:E.labels&&E.labels[i]};H.mouseover(function(){F.call(I)}).mouseout(function(){r.call(I)})})(m[p],k[p],p)}return this};s.each=function(E){var r=this;for(var p=0;p<z;p++){(function(F,G,i){var H={sector:F,cover:G,cx:h,cy:g,x:F.middle.x,y:F.middle.y,mangle:F.mangle,r:t,value:e[i],total:D,label:r.labels&&r.labels[i]};E.call(H)})(m[p],k[p],p)}return this};s.click=function(E){var r=this;for(var p=0;p<z;p++){(function(F,G,i){var H={sector:F,cover:G,cx:h,cy:g,mx:F.middle.x,my:F.middle.y,mangle:F.mangle,r:t,value:e[i],total:D,label:r.labels&&r.labels[i]};G.click(function(){E.call(H)})})(m[p],k[p],p)}return this};s.inject=function(i){i.insertBefore(k[0])};var d=function(J,E,r,p){var N=h+t+t/5,M=g,I=M+10;J=J||[];p=(p&&p.toLowerCase&&p.toLowerCase())||"east";r=n[r&&r.toLowerCase()]||"circle";s.labels=n.set();for(var H=0;H<z;H++){var O=m[H].attr("fill"),F=e[H].order,G;e[H].others&&(J[F]=E||"Others");J[F]=c.labelise(J[F],e[H],D);s.labels.push(n.set());s.labels[H].push(n[r](N+5,I,5).attr({fill:O,stroke:"none"}));s.labels[H].push(G=n.text(N+20,I,J[F]||e[F]).attr(c.txtattr).attr({fill:o.legendcolor||"#000","text-anchor":"start"}));k[H].label=s.labels[H];I+=G.getBBox().height*1.2}var K=s.labels.getBBox(),L={east:[0,-K.height/2],west:[-K.width-2*t-20,-K.height/2],north:[-t-K.width/2,-t-K.height-10],south:[-t-K.width/2,t+10]}[p];s.labels.translate.apply(s.labels,L);s.push(s.labels)};if(o.legend){d(o.legend,o.legendothers,o.legendmark,o.legendpos)}s.push(m,k);s.series=m;s.covers=k;return s}var a=function(){};a.prototype=Raphael.g;b.prototype=new a;Raphael.fn.piechart=function(c,g,f,d,e){return new b(this,c,g,f,d,e)}})();