n&&(n=a.x+d,e=b),a.x-dn&&(n=a.x+c,e=b):b>this.valuesCount/2&&a.x-c
0){var d,e=c*(this.drawingArea/this.steps),f=this.yCenter-e;if(this.lineWidth>0)if(a.strokeStyle=this.lineColor,a.lineWidth=this.lineWidth,this.lineArc)a.beginPath(),a.arc(this.xCenter,this.yCenter,e,0,2*Math.PI),a.closePath(),a.stroke();else{a.beginPath();for(var g=0;g=0;b--){if(this.angleLineWidth>0){var c=this.getPointPosition(b,this.calculateCenterOffset(this.max));a.beginPath(),a.moveTo(this.xCenter,this.yCenter),a.lineTo(c.x,c.y),a.stroke(),a.closePath()}var d=this.getPointPosition(b,this.calculateCenterOffset(this.max)+5);a.font=G(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),a.fillStyle=this.pointLabelFontColor;var f=this.labels.length,g=this.labels.length/2,h=g/2,i=h>b||b>f-h,j=b===h||b===f-h;a.textAlign=0===b?"center":b===g?"center":g>b?"left":"right",a.textBaseline=j?"middle":i?"bottom":"top",a.fillText(this.labels[b],d.x,d.y)}}}}}),d.addEvent(window,"resize",function(){var a;return function(){clearTimeout(a),a=setTimeout(function(){e(c.instances,function(a){a.options.responsive&&a.resize(a.render,!0)})},50)}}()),n?define(function(){return c}):"object"==typeof module&&module.exports&&(module.exports=c),b.Chart=c,a.fn.chart=function(){var a=[];return this.each(function(){a.push(new c(this.getContext("2d")))}),1===a.length?a[0]:a}}).call(this,jQuery),function(a){"use strict";var b=a&&a.zui?a.zui:this,c=b.Chart,d=c.helpers,e={scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,bezierCurve:!0,bezierCurveTension:.4,pointDot:!0,pointDotRadius:4,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<% for (var i=0; i- <%if(datasets[i].label){%><%=datasets[i].label%><%}%>
<%}%>
'};c.Type.extend({name:"Line",defaults:e,initialize:function(b){this.PointClass=c.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx,inRange:function(a){return Math.pow(a-this.x,2)0&&bthis.scale.endPoint?a.controlPoints.outer.y=this.scale.endPoint:a.controlPoints.outer.ythis.scale.endPoint?a.controlPoints.inner.y=this.scale.endPoint:a.controlPoints.inner.y0&&(c.lineTo(h[h.length-1].x,this.scale.endPoint),c.lineTo(h[0].x,this.scale.endPoint),c.fillStyle=a.fillColor,c.closePath(),c.fill()),d.each(h,function(a){a.draw()})},this)}}),a.fn.lineChart=function(b,d){var e=[];return this.each(function(){var f=a(this);e.push(new c(this.getContext("2d")).Line(b,a.extend(f.data(),d)))}),1===e.length?e[0]:e}}.call(this,jQuery),function(a){"use strict";var b=a&&a.zui?a.zui:this,c=b.Chart,d=c.helpers,e={segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:1,percentageInnerCutout:50,scaleShowLabels:!1,scaleLabel:"<%=value%>",scaleLabelPlacement:"auto",animationSteps:60,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<% for (var i=0; i- <%if(segments[i].label){%><%=segments[i].label%><%}%>
<%}%>
'};c.Type.extend({name:"Doughnut",defaults:e,initialize:function(a){this.segments=[],this.outerRadius=(d.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,this.SegmentArc=c.Arc.extend({ctx:this.chart.ctx,x:this.chart.width/2,y:this.chart.height/2}),this.options.showTooltips&&d.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getSegmentsAtEvent(a):[];d.each(this.segments,function(a){a.restore(["fillColor"])}),d.each(b,function(a){a.fillColor=a.highlightColor}),this.showTooltip(b)}),this.calculateTotal(a),d.each(a,function(a,b){this.addData(a,b,!0)},this),this.render()},getSegmentsAtEvent:function(a){var b=[],c=d.getRelativePosition(a);return d.each(this.segments,function(a){a.inRange(c.x,c.y)&&b.push(a)},this),b},addData:function(b,c,d){if(a.zui&&a.zui.Color&&a.zui.Color.get){var e=new a.zui.Color.get(b.color);b.color=e.toCssStr(),b.highlight||(b.highlight=e.lighten(5).toCssStr())}var f=c||this.segments.length;this.segments.splice(f,0,new this.SegmentArc({id:"undefined"==typeof b.id?f:b.id,value:b.value,outerRadius:this.options.animateScale?0:this.outerRadius,innerRadius:this.options.animateScale?0:this.outerRadius/100*this.options.percentageInnerCutout,fillColor:b.color,highlightColor:b.highlight||b.color,showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,startAngle:1.5*Math.PI,circumference:this.options.animateRotate?0:this.calculateCircumference(b.value),label:b.label})),d||(this.reflow(),this.update())},calculateCircumference:function(a){return 2*Math.PI*(Math.abs(a)/this.total)},calculateTotal:function(a){this.total=0,d.each(a,function(a){this.total+=Math.abs(a.value)},this)},update:function(){this.calculateTotal(this.segments),d.each(this.activeElements,function(a){a.restore(["fillColor"])}),d.each(this.segments,function(a){a.save()}),this.render()},removeData:function(a){var b=d.isNumber(a)?a:this.segments.length-1;this.segments.splice(b,1),this.reflow(),this.update()},reflow:function(){d.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.outerRadius=(d.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,d.each(this.segments,function(a){a.update({outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout})},this)},drawLabel:function(b,c){var e=this.options,f=(b.endAngle+b.startAngle)/2,g=e.scaleLabelPlacement;"inside"!==g&&"outside"!==g&&this.chart.width-this.chart.height>50&&b.circumference=0,p=h+m,q=i+n;h=o?Math.max(m+b.outerRadius+10,h+30+m):Math.min(m-b.outerRadius-10-l,h-30+m-l),i=Math.max(15,Math.min(this.chart.height-15,i+n-20)),k.beginPath(),k.moveTo(p,q),k.lineTo(o?h-5:h+5+l,i+7),k.lineTo(o?h+l+5:h-5,i+7),k.strokeStyle=a.zui&&a.zui.Color?new a.zui.Color(b.fillColor).fade(20).toCssStr():b.fillColor,k.strokeWidth=e.scaleLineWidth,k.stroke(),k.closePath(),k.fillStyle=b.fillColor,h+=5}else h=.7*h+m,i=.7*i+n,k.fillStyle=a.zui&&a.zui.Color?new a.zui.Color(b.fillColor).contrast().toCssStr():"#fff",h-=l/2,i-=6;k.fillText(j,h,i)},draw:function(a){var b=a?a:1;this.clear(),d.each(this.segments,function(c,d){c.transition({circumference:this.calculateCircumference(c.value),outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout},b),c.endAngle=c.startAngle+c.circumference,c.draw(),0===d&&(c.startAngle=1.5*Math.PI),d<% for (var i=0; i<%if(datasets[i].label){%><%=datasets[i].label%><%}%><%}%>'};c.Type.extend({name:"Bar",defaults:e,initialize:function(b){var e=this.options;this.ScaleClass=c.Scale.extend({offsetGridLines:!0,calculateBarX:function(a,b,c){var d=this.calculateBaseWidth(),f=this.calculateX(c)-d/2,g=this.calculateBarWidth(a);return f+g*b+b*e.barDatasetSpacing+g/2},calculateBaseWidth:function(){return this.calculateX(1)-this.calculateX(0)-2*e.barValueSpacing},calculateBarWidth:function(a){var b=this.calculateBaseWidth()-(a-1)*e.barDatasetSpacing;return b/a}}),this.datasets=[],this.options.showTooltips&&d.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getBarsAtEvent(a):[];this.eachBars(function(a){a.restore(["fillColor","strokeColor"])}),d.each(b,function(a){a.fillColor=a.highlightFill,a.strokeColor=a.highlightStroke}),this.showTooltip(b)}),this.BarClass=c.Rectangle.extend({strokeWidth:this.options.barStrokeWidth,showStroke:this.options.barShowStroke,ctx:this.chart.ctx}),d.each(b.datasets,function(c,e){if(a.zui&&a.zui.Color&&a.zui.Color.get){var f=a.zui.Color.get(c.color),g=f.toCssStr();c.fillColor||(c.fillColor=f.clone().fade(50).toCssStr()),c.strokeColor||(c.strokeColor=g)}var h={label:c.label||null,fillColor:c.fillColor,strokeColor:c.strokeColor,bars:[]};this.datasets.push(h),d.each(c.data,function(a,d){h.bars.push(new this.BarClass({value:a,label:b.labels[d],datasetLabel:c.label,strokeColor:c.strokeColor,fillColor:c.fillColor,highlightFill:c.highlightFill||c.fillColor,highlightStroke:c.highlightStroke||c.strokeColor}))},this)},this),this.buildScale(b.labels),this.BarClass.prototype.base=this.scale.endPoint,this.eachBars(function(a,b,c){d.extend(a,{width:this.scale.calculateBarWidth(this.datasets.length),x:this.scale.calculateBarX(this.datasets.length,c,b),y:this.scale.endPoint}),a.save()},this),this.render()},update:function(){this.scale.update(),d.each(this.activeElements,function(a){a.restore(["fillColor","strokeColor"])}),this.eachBars(function(a){a.save()}),this.render()},eachBars:function(a){d.each(this.datasets,function(b,c){d.each(b.bars,a,this,c)},this)},getBarsAtEvent:function(a){for(var b,c=[],e=d.getRelativePosition(a),f=function(a){c.push(a.bars[b])},g=0;g0&&bthis.scale.endPoint?a.controlPoints.outer.y=this.scale.endPoint:a.controlPoints.outer.ythis.scale.endPoint?a.controlPoints.inner.y=this.scale.endPoint:a.controlPoints.inner.y0&&(c.lineTo(h[h.length-1].x,this.scale.endPoint),c.lineTo(h[0].x,this.scale.endPoint),c.fillStyle=a.fillColor,c.closePath(),c.fill()),d.each(h,function(a){a.draw()})},this)}}),a.fn.lineChart=function(b,d){var e=[];return this.each(function(){var f=a(this);e.push(new c(this.getContext("2d")).Line(b,a.extend(f.data(),d)))}),1===e.length?e[0]:e}}.call(this,jQuery),function(a){"use strict";var b=a&&a.zui?a.zui:this,c=b.Chart,d=c.helpers,e={segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:1,percentageInnerCutout:50,scaleShowLabels:!1,scaleLabel:"<%=value%>",scaleLabelPlacement:"auto",animationSteps:60,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<% for (var i=0; i- <%if(segments[i].label){%><%=segments[i].label%><%}%>
<%}%>
'};c.Type.extend({name:"Doughnut",defaults:e,initialize:function(a){this.segments=[],this.outerRadius=(d.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,this.SegmentArc=c.Arc.extend({ctx:this.chart.ctx,x:this.chart.width/2,y:this.chart.height/2}),this.options.showTooltips&&d.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getSegmentsAtEvent(a):[];d.each(this.segments,function(a){a.restore(["fillColor"])}),d.each(b,function(a){a.fillColor=a.highlightColor}),this.showTooltip(b)}),this.calculateTotal(a),d.each(a,function(a,b){this.addData(a,b,!0)},this),this.render()},getSegmentsAtEvent:function(a){var b=[],c=d.getRelativePosition(a);return d.each(this.segments,function(a){a.inRange(c.x,c.y)&&b.push(a)},this),b},addData:function(b,c,d){if(a.zui&&a.zui.Color&&a.zui.Color.get){var e=new a.zui.Color.get(b.color);b.color=e.toCssStr(),b.highlight||(b.highlight=e.lighten(5).toCssStr())}var f=c||this.segments.length;this.segments.splice(f,0,new this.SegmentArc({id:"undefined"==typeof b.id?f:b.id,value:b.value,outerRadius:this.options.animateScale?0:this.outerRadius,innerRadius:this.options.animateScale?0:this.outerRadius/100*this.options.percentageInnerCutout,fillColor:b.color,highlightColor:b.highlight||b.color,showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,startAngle:1.5*Math.PI,circumference:this.options.animateRotate?0:this.calculateCircumference(b.value),label:b.label})),d||(this.reflow(),this.update())},calculateCircumference:function(a){return 2*Math.PI*(Math.abs(a)/this.total)},calculateTotal:function(a){this.total=0,d.each(a,function(a){this.total+=Math.abs(a.value)},this)},update:function(){this.calculateTotal(this.segments),d.each(this.activeElements,function(a){a.restore(["fillColor"])}),d.each(this.segments,function(a){a.save()}),this.render()},removeData:function(a){var b=d.isNumber(a)?a:this.segments.length-1;this.segments.splice(b,1),this.reflow(),this.update()},reflow:function(){d.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.outerRadius=(d.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,d.each(this.segments,function(a){a.update({outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout})},this)},drawLabel:function(b,c){var e=this.options,f=(b.endAngle+b.startAngle)/2,g=e.scaleLabelPlacement;"inside"!==g&&"outside"!==g&&this.chart.width-this.chart.height>50&&b.circumference=0,p=h+m,q=i+n;h=o?Math.max(m+b.outerRadius+10,h+30+m):Math.min(m-b.outerRadius-10-l,h-30+m-l),i=Math.max(15,Math.min(this.chart.height-15,i+n-20)),k.beginPath(),k.moveTo(p,q),k.lineTo(o?h-5:h+5+l,i+7),k.lineTo(o?h+l+5:h-5,i+7),k.strokeStyle=a.zui&&a.zui.Color?new a.zui.Color(b.fillColor).fade(20).toCssStr():b.fillColor,k.strokeWidth=e.scaleLineWidth,k.stroke(),k.closePath(),k.fillStyle=b.fillColor,h+=5}else h=.7*h+m,i=.7*i+n,k.fillStyle=a.zui&&a.zui.Color?new a.zui.Color(b.fillColor).contrast().toCssStr():"#fff",h-=l/2,i-=6;k.fillText(j,h,i)},draw:function(a){var b=a?a:1;this.clear(),d.each(this.segments,function(c,d){c.transition({circumference:this.calculateCircumference(c.value),outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout},b),c.endAngle=c.startAngle+c.circumference,c.draw(),0===d&&(c.startAngle=1.5*Math.PI),d<% for (var i=0; i<%if(datasets[i].label){%><%=datasets[i].label%><%}%><%}%>'};c.Type.extend({name:"Bar",defaults:e,initialize:function(b){var e=this.options;this.ScaleClass=c.Scale.extend({offsetGridLines:!0,calculateBarX:function(a,b,c){var d=this.calculateBaseWidth(),f=this.calculateX(c)-d/2,g=this.calculateBarWidth(a);return f+g*b+b*e.barDatasetSpacing+g/2},calculateBaseWidth:function(){return this.calculateX(1)-this.calculateX(0)-2*e.barValueSpacing},calculateBarWidth:function(a){var b=this.calculateBaseWidth()-(a-1)*e.barDatasetSpacing;return b/a}}),this.datasets=[],this.options.showTooltips&&d.bindEvents(this,this.options.tooltipEvents,function(a){var b="mouseout"!==a.type?this.getBarsAtEvent(a):[];this.eachBars(function(a){a.restore(["fillColor","strokeColor"])}),d.each(b,function(a){a.fillColor=a.highlightFill,a.strokeColor=a.highlightStroke}),this.showTooltip(b)}),this.BarClass=c.Rectangle.extend({strokeWidth:this.options.barStrokeWidth,showStroke:this.options.barShowStroke,ctx:this.chart.ctx}),d.each(b.datasets,function(c,e){if(a.zui&&a.zui.Color&&a.zui.Color.get){var f=a.zui.Color.get(c.color),g=f.toCssStr();c.fillColor||(c.fillColor=f.clone().fade(50).toCssStr()),c.strokeColor||(c.strokeColor=g)}var h={label:c.label||null,fillColor:c.fillColor,strokeColor:c.strokeColor,bars:[]};this.datasets.push(h),d.each(c.data,function(a,d){h.bars.push(new this.BarClass({value:a,label:b.labels[d],datasetLabel:c.label,strokeColor:c.strokeColor,fillColor:c.fillColor,highlightFill:c.highlightFill||c.fillColor,highlightStroke:c.highlightStroke||c.strokeColor}))},this)},this),this.buildScale(b.labels),this.BarClass.prototype.base=this.scale.endPoint,this.eachBars(function(a,b,c){d.extend(a,{width:this.scale.calculateBarWidth(this.datasets.length),x:this.scale.calculateBarX(this.datasets.length,c,b),y:this.scale.endPoint}),a.save()},this),this.render()},update:function(){this.scale.update(),d.each(this.activeElements,function(a){a.restore(["fillColor","strokeColor"])}),this.eachBars(function(a){a.save()}),this.render()},eachBars:function(a){d.each(this.datasets,function(b,c){d.each(b.bars,a,this,c)},this)},getBarsAtEvent:function(a){for(var b,c=[],e=d.getRelativePosition(a),f=function(a){c.push(a.bars[b])},g=0;g