/*
Highcharts JS v2.3.3 (2012-10-04)
(c) 2009-2011 Torstein Hønsi
License: www.highcharts.com/license
*/
!function(t,i){function a(t,i,a){this.init.call(this,t,i,a)}function e(t,i,a){t.call(this,i,a),this.chart.polar&&(this.closeSegment=function(t){var i=this.xAxis.center;t.push("L",i[0],i[1])},this.closedStacks=!0)}function n(t,a){var e=this.chart,n=this.options.animation,s=this.group,o=this.markerGroup,r=this.xAxis.center,l=e.plotLeft,h=e.plotTop;e.polar?e.renderer.isSVG&&(n===!0&&(n={}),a?(s.attrSetters.scaleX=s.attrSetters.scaleY=function(t,a){return this[a]=t,this.scaleX!==i&&this.scaleY!==i&&this.element.setAttribute("transform","translate("+this.translateX+","+this.translateY+") scale("+this.scaleX+","+this.scaleY+")"),!1},e={translateX:r[0]+l,translateY:r[1]+h,scaleX:0,scaleY:0},s.attr(e),o&&(o.attrSetters=s.attrSetters,o.attr(e))):(e={translateX:l,translateY:h,scaleX:1,scaleY:1},s.animate(e,n),o&&o.animate(e,n),this.animate=null)):t.call(this,a)}var s=t.each,o=t.extend,r=t.merge,l=t.map,h=t.pick,p=t.pInt,c=t.getOptions().plotOptions,d=t.seriesTypes,g=t.extendClass,u=t.wrap,f=t.Axis,y=t.Tick,x=t.Series,P=d.column.prototype,b=function(){};o(a.prototype,{init:function(i,a,e){var n=this,o=n.defaultOptions;n.chart=a,a.angular&&(o.background={}),n.options=i=r(o,i),(i=i.background)&&s([].concat(t.splat(i)).reverse(),function(t){var i=t.backgroundColor,t=r(n.defaultBackgroundOptions,t);i&&(t.backgroundColor=i),t.color=t.backgroundColor,e.options.plotBands.unshift(t)})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{shape:"circle",borderWidth:1,borderColor:"silver",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#FFF"],[1,"#DDD"]]},from:Number.MIN_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}});var m=f.prototype,f=y.prototype,A={getOffset:b,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:b,setCategories:b,setTitle:b},L={isRadial:!0,defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,plotBands:[],tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2},defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,plotBands:[],showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},plotBands:[],showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(t){this.options=r(this.defaultOptions,this.defaultRadialOptions,t)},getOffset:function(){m.getOffset.call(this),this.chart.axisOffset[this.side]=0,this.center=this.pane.center=d.pie.prototype.getCenter.call(this.pane)},getLinePath:function(t,i){var a=this.center,i=h(i,a[2]/2-this.offset);return this.chart.renderer.symbols.arc(this.left+a[0],this.top+a[1],i,i,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0})},setAxisTranslation:function(){m.setAxisTranslation.call(this),this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.isXAxis)&&(this.minPixelPadding=this.transA*this.minPointOffset+(this.reversed?(this.endAngleRad-this.startAngleRad)/4:0))},beforeSetTickPositions:function(){this.autoConnect&&(this.max+=this.categories&&1||this.pointRange||this.closestPointRange)},setAxisSize:function(){m.setAxisSize.call(this),this.center&&(this.len=this.width=this.height=this.isCircular?this.center[2]*(this.endAngleRad-this.startAngleRad)/2:this.center[2]/2)},getPosition:function(t,i){return this.isCircular||(i=this.translate(t),t=this.min),this.postTranslate(this.translate(t),h(i,this.center[2]/2)-this.offset)},postTranslate:function(t,i){var a=this.chart,e=this.center,t=this.startAngleRad+t;return{x:a.plotLeft+e[0]+Math.cos(t)*i,y:a.plotTop+e[1]+Math.sin(t)*i}},getPlotBandPath:function(t,i,a){var e,n=this.center,s=this.startAngleRad,o=n[2]/2,r=[h(a.outerRadius,"100%"),a.innerRadius,h(a.thickness,10)],c=/%$/,d=this.isCircular;return"polygon"===this.options.gridLineInterpolation?n=this.getPlotLinePath(t).concat(this.getPlotLinePath(i,!0)):(d||(r[0]=this.translate(t),r[1]=this.translate(i)),r=l(r,function(t){return c.test(t)&&(t=p(t,10)*o/100),t}),"circle"!==a.shape&&d?(t=s+this.translate(t),i=s+this.translate(i)):(t=-Math.PI/2,i=1.5*Math.PI,e=!0),n=this.chart.renderer.symbols.arc(this.left+n[0],this.top+n[1],r[0],r[0],{start:t,end:i,innerR:h(r[1],r[0]-r[2]),open:e})),n},getPlotLinePath:function(t,i){var a,e,n,o=this.center,r=this.chart,l=this.getPosition(t);return this.isCircular?n=["M",o[0]+r.plotLeft,o[1]+r.plotTop,"L",l.x,l.y]:"circle"===this.options.gridLineInterpolation?(t=this.translate(t))&&(n=this.getLinePath(0,t)):(a=r.xAxis[0],n=[],t=this.translate(t),o=a.tickPositions,a.autoConnect&&(o=o.concat([o[0]])),i&&(o=[].concat(o).reverse()),s(o,function(i,s){e=a.getPosition(i,t),n.push(s?"L":"M",e.x,e.y)})),n},getTitlePosition:function(){var t=this.center,i=this.chart,a=this.options.title;return{x:i.plotLeft+t[0]+(a.x||0),y:i.plotTop+t[1]-{high:.5,middle:.25,low:0}[a.align]*t[2]+(a.y||0)}}};u(m,"init",function(e,n,s){var p,c=this,d=n.angular,g=n.polar,u=s.isX,f=d&&u;d?(o(this,f?A:L),(p=!u)&&(this.defaultRadialOptions=this.defaultRadialGaugeOptions)):g&&(o(this,L),this.defaultRadialOptions=(p=u)?this.defaultRadialXOptions:r(this.defaultYAxisOptions,this.defaultRadialYOptions)),e.call(this,n,s),f||!d&&!g||(e=this.options,n.panes||(n.panes=l(t.splat(n.options.pane),function(t){return new a(t,n,c)})),this.pane=d=n.panes[s.pane||0],g=d.options,n.inverted=!1,n.options.chart.zoomType=null,this.startAngleRad=d=(g.startAngle-90)*Math.PI/180,this.endAngleRad=g=(h(g.endAngle,g.startAngle+360)-90)*Math.PI/180,this.offset=e.offset||0,(this.isCircular=p)&&s.max===i&&g-d===2*Math.PI&&(this.autoConnect=!0))}),u(f,"getPosition",function(t,i,a,e,n){var s=this.axis;return s.getPosition?s.getPosition(a):t.call(this,i,a,e,n)}),u(f,"getLabelPosition",function(t,i,a,e,n,s,o,r,l){var c=this.axis,d=s.y,g=s.align,u=180*((c.translate(this.pos)+c.startAngleRad+Math.PI/2)/Math.PI);return c.isRadial?(t=c.getPosition(this.pos,c.center[2]/2+h(s.distance,-25)),"auto"===s.rotation?e.attr({rotation:u}):null===d&&(d=.9*p(e.styles.lineHeight)-e.getBBox().height/2),null===g&&(g=c.isCircular?u>20&&160>u?"left":u>200&&340>u?"right":"center":"center",e.attr({align:g})),t.x+=s.x,t.y+=d):t=t.call(this,i,a,e,n,s,o,r,l),t}),u(f,"getMarkPath",function(t,i,a,e,n,s,o){var r=this.axis;return r.isRadial?(t=r.getPosition(this.pos,r.center[2]/2+e),i=["M",i,a,"L",t.x,t.y]):i=t.call(this,i,a,e,n,s,o),i}),c.arearange=r(c.area,{lineWidth:1,marker:null,threshold:null,tooltip:{pointFormat:'{series.name}: {point.low} - {point.high}
'},trackByArea:!0,dataLabels:{verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0},shadow:!1}),f=t.extendClass(t.Point,{applyOptions:function(t,a){var e=this.series,n=e.pointArrayMap,s=0,r=0,l=n.length;if("object"==typeof t&&"number"!=typeof t.length)o(this,t),this.options=t;else if(t.length)for(t.length>l&&("string"==typeof t[0]?this.name=t[0]:"number"==typeof t[0]&&(this.x=t[0]),s++);l>r;)this[n[r++]]=t[s++];return this.y=this[e.pointValKey],this.x===i&&e&&(this.x=a===i?e.autoIncrement():a),this},toYData:function(){return[this.low,this.high]}}),d.arearange=t.extendClass(d.area,{type:"arearange",pointArrayMap:["low","high"],pointClass:f,pointValKey:"low",translate:function(){var t=this.yAxis;d.area.prototype.translate.apply(this),s(this.points,function(i){null!==i.y&&(i.plotLow=i.plotY,i.plotHigh=t.translate(i.high,0,1,0,1))})},getSegmentPath:function(t){for(var i,a=[],e=t.length,n=x.prototype.getSegmentPath;e--;)i=t[e],a.push({plotX:i.plotX,plotY:i.plotHigh});return t=n.call(this,t),n=n.call(this,a),a=[].concat(t,n),n[0]="L",this.areaPath=this.areaPath.concat(t,n),a},drawDataLabels:function(){var t,i,a=this.data,e=a.length,n=[],s=x.prototype,o=this.options.dataLabels,r=this.chart.inverted;if(o.enabled||this._hasPointLabels){for(t=e;t--;)i=a[t],i.y=i.high,i.plotY=i.plotHigh,n[t]=i.dataLabel,i.dataLabel=i.dataLabelUpper,i.below=!1,r?(o.align="left",o.x=o.xHigh):o.y=o.yHigh;for(s.drawDataLabels.apply(this,arguments),t=e;t--;)i=a[t],i.dataLabelUpper=i.dataLabel,i.dataLabel=n[t],i.y=i.low,i.plotY=i.plotLow,i.below=!0,r?(o.align="right",o.x=o.xLow):o.y=o.yLow;s.drawDataLabels.apply(this,arguments)}},alignDataLabel:d.column.prototype.alignDataLabel,getSymbol:d.column.prototype.getSymbol,drawPoints:b}),c.areasplinerange=r(c.arearange),d.areasplinerange=g(d.arearange,{type:"areasplinerange",getPointSpline:d.spline.prototype.getPointSpline}),c.columnrange=r(c.column,c.arearange,{lineWidth:1,pointRange:null}),d.columnrange=g(d.arearange,{type:"columnrange",translate:function(){var t,i=this.yAxis;P.translate.apply(this),s(this.points,function(a){var e=a.shapeArgs;a.plotHigh=t=i.translate(a.high,0,1,0,1),a.plotLow=a.plotY,e.y=t,e.height=a.plotY-t,a.trackerArgs=e})},drawGraph:b,pointAttrToOptions:P.pointAttrToOptions,drawPoints:P.drawPoints,drawTracker:P.drawTracker,animate:P.animate}),c.gauge=r(c.line,{dataLabels:{enabled:!0,y:15,borderWidth:1,borderColor:"silver",borderRadius:3,style:{fontWeight:"bold"},verticalAlign:"top"},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1}),c={type:"gauge",pointClass:t.extendClass(t.Point,{setState:function(t){this.state=t}}),angular:!0,translate:function(){var t=this,i=t.yAxis,a=i.center;t.generatePoints(),s(t.points,function(e){var n=r(t.options.dial,e.dial),s=p(h(n.radius,80))*a[2]/200,o=p(h(n.baseLength,70))*s/100,l=p(h(n.rearLength,10))*s/100,c=n.baseWidth||3,d=n.topWidth||1;e.shapeType="path",e.shapeArgs={d:n.path||["M",-l,-c/2,"L",o,-c/2,s,-d/2,s,d/2,o,c/2,-l,c/2,"z"],translateX:a[0],translateY:a[1],rotation:180*(i.startAngleRad+i.translate(e.y))/Math.PI},e.plotX=a[0],e.plotY=a[1]})},drawPoints:function(){var t=this,i=t.yAxis.center,a=t.pivot,e=t.options,n=e.pivot;s(t.points,function(i){var a=i.graphic,n=i.shapeArgs,s=n.d,o=r(e.dial,i.dial);a?(a.animate(n),n.d=s):i.graphic=t.chart.renderer[i.shapeType](n).attr({stroke:o.borderColor||"none","stroke-width":o.borderWidth||0,fill:o.backgroundColor||"black",rotation:n.rotation}).add(t.group)}),a?a.animate({cx:i[0],cy:i[1]}):t.pivot=t.chart.renderer.circle(i[0],i[1],h(n.radius,5)).attr({"stroke-width":n.borderWidth||0,stroke:n.borderColor||"silver",fill:n.backgroundColor||"black"}).add(t.group)},animate:function(){var t=this;s(t.points,function(i){var a=i.graphic;a&&(a.attr({rotation:180*t.yAxis.startAngleRad/Math.PI}),a.animate({rotation:i.shapeArgs.rotation},t.options.animation))}),t.animate=null},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup),d.pie.prototype.render.call(this),this.group.clip(this.chart.clipRect)},setData:d.pie.prototype.setData,drawTracker:d.column.prototype.drawTracker},d.gauge=t.extendClass(d.line,c);var v=x.prototype,c=t.MouseTracker.prototype;v.toXY=function(t){var i,a=this.chart;i=t.plotX;var e=t.plotY;t.rectPlotX=i,t.rectPlotY=e,t.deg=180*(i/Math.PI),i=this.xAxis.postTranslate(t.plotX,this.yAxis.len-e),t.plotX=t.polarPlotX=i.x-a.plotLeft,t.plotY=t.polarPlotY=i.y-a.plotTop},u(d.area.prototype,"init",e),u(d.areaspline.prototype,"init",e),u(d.spline.prototype,"getPointSpline",function(t,i,a,e){var n,s,o,r,l,h,p;return this.chart.polar?(n=a.plotX,s=a.plotY,t=i[e-1],o=i[e+1],this.connectEnds&&(t||(t=i[i.length-2]),o||(o=i[1])),t&&o&&(r=t.plotX,l=t.plotY,i=o.plotX,h=o.plotY,r=(1.5*n+r)/2.5,l=(1.5*s+l)/2.5,o=(1.5*n+i)/2.5,p=(1.5*s+h)/2.5,i=Math.sqrt(Math.pow(r-n,2)+Math.pow(l-s,2)),h=Math.sqrt(Math.pow(o-n,2)+Math.pow(p-s,2)),r=Math.atan2(l-s,r-n),l=Math.atan2(p-s,o-n),p=Math.PI/2+(r+l)/2,Math.abs(r-p)>Math.PI/2&&(p-=Math.PI),r=n+Math.cos(p)*i,l=s+Math.sin(p)*i,o=n+Math.cos(Math.PI+p)*h,p=s+Math.sin(Math.PI+p)*h,a.rightContX=o,a.rightContY=p),e?(a=["C",t.rightContX||t.plotX,t.rightContY||t.plotY,r||n,l||s,n,s],t.rightContX=t.rightContY=null):a=["M",n,s]):a=t.call(this,i,a,e),a}),u(v,"translate",function(t){if(t.call(this),this.chart.polar&&!this.preventPostTranslate)for(var t=this.points,i=t.length;i--;)this.toXY(t[i])}),u(v,"getSegmentPath",function(t,i){var a=this.points;return this.chart.polar&&this.options.connectEnds!==!1&&i[i.length-1]===a[a.length-1]&&null!==a[0].y&&(this.connectEnds=!0,i=[].concat(i,[a[0]])),t.call(this,i)}),u(v,"animate",n),u(P,"animate",n),u(v,"setTooltipPoints",function(t,i){return this.chart.polar&&o(this.xAxis,{tooltipLen:360,tooltipPosName:"deg"}),t.call(this,i)}),u(P,"translate",function(t){var i,a,e=this.xAxis,n=this.yAxis.len,s=e.center,o=e.startAngleRad,r=this.chart.renderer;if(this.preventPostTranslate=!0,t.call(this),e.isRadial)for(e=this.points,a=e.length;a--;)i=e[a],t=i.barX+o,i.shapeType="path",i.shapeArgs={d:r.symbols.arc(s[0],s[1],n-i.plotY,null,{start:t,end:t+i.pointWidth,innerR:n-h(i.yBottom,n)})},this.toXY(i)}),u(P,"alignDataLabel",function(t,i,a,e,n,s){this.chart.polar?(t=180*(i.rectPlotX/Math.PI),null===e.align&&(e.align=t>20&&160>t?"left":t>200&&340>t?"right":"center"),null===e.verticalAlign&&(e.verticalAlign=45>t||t>315?"bottom":t>135&&225>t?"top":"middle"),v.alignDataLabel.call(this,i,a,e,n,s)):t.call(this,i,a,e,n,s)}),u(c,"getIndex",function(t,i){var a,e,n=this.chart;return n.polar?(e=n.xAxis[0].center,a=i.chartX-e[0]-n.plotLeft,n=i.chartY-e[1]-n.plotTop,a=180-Math.round(180*(Math.atan2(a,n)/Math.PI))):a=t.call(this,i),a}),u(c,"getMouseCoordinates",function(t,i){var a=this.chart,e={xAxis:[],yAxis:[]};return a.polar?s(a.axes,function(t){var n=t.isXAxis,s=t.center,o=i.chartX-s[0]-a.plotLeft,s=i.chartY-s[1]-a.plotTop;e[n?"xAxis":"yAxis"].push({axis:t,value:t.translate(n?Math.PI-Math.atan2(o,s):Math.sqrt(Math.pow(o,2)+Math.pow(s,2)),!0)})}):e=t.call(this,i),e})}(Highcharts);