/* FusionCharts JavaScript Library Copyright FusionCharts Technologies LLP License Information at FusionCharts JavaScript Library Copyright FusionCharts Technologies LLP License Information at @version 3.11.0 */ FusionCharts.register("module",["private","modules.renderer.js-charts",function(){function pa(c,D){for(var f=[],a=0,h=c.length;ac?f+c:c}function Ka(c,D,f,a,h){return Ja((D-f[1]-a.top)/h,c-f[0]-a.left)}function ma(c){this.config={};this.linkedItems={chart:c}}var I=this,W=I.hcLib,La=W.hasTouch,Ea=I.window,ja=Ea.document,la=W.Raphael,Ia=W.BLANKSTRING,ea=W.pluck,s=W.pluckNumber,Ta=W.getFirstValue,Ma=W.extend2, na=W.toRaphaelColor,Ba=W.hasSVG,Ua=W.hashify,ra="createTouch"in ja,Ga=ra&&!(Ea.navigator.maxTouchPoints||Ea.navigator.msMaxTouchPoints),Fa=W.each,Na=W.plotEventHandler,za=W.componentDispose,xa=8===Ea.document.documentMode?"visible":"",sa=Math,fa=sa.sin,qa=sa.cos,Ja=sa.atan2,ua=sa.round,ka=sa.min,va=sa.max,wa=sa.abs,ya=sa.PI,Aa=sa.ceil,Ca=sa.floor,ta=ya/180,a=180/ya,b=Math.PI,d=b/2,n=2*b,l=b+d,k=W.getFirstColor,g=W.getFirstAlpha,N=W.graphics.getDarkColor,p=W.graphics.getLightColor,F=W.graphics.convertColor, G=W.POSITION_BOTTOM,z=W.POSITION_RIGHT,m=W.chartAPI,q=W.COMMASTRING,r=W.ZEROSTRING,K=W.ONESTRING,B=!/fusioncharts\.com$/i.test(Ea.location.hostname),ba={},R={};m("column2d",{standaloneInit:!0,friendlyName:"Column Chart",creditLabel:B,defaultDatasetType:"column",applicableDSList:{column:!0},singleseries:!0},m.sscartesian);m("column3d",{friendlyName:"3D Column Chart",defaultDatasetType:"column3d",applicableDSList:{column3d:!0},defaultPlotShadow:1,creditLabel:B,is3D:!0,standaloneInit:!0,hasLegend:!1, singleseries:!0,fireGroupEvent:!0,defaultZeroPlaneHighlighted:!1},m.sscartesian3d);m("bar2d",{friendlyName:"Bar Chart",isBar:!0,standaloneInit:!0,defaultDatasetType:"bar2d",creditLabel:B,applicableDSList:{bar2d:!0},singleseries:!0,spaceManager:m.barbase},m.ssbarcartesian);m("bar3d",{friendlyName:"3D Bar Chart",defaultDatasetType:"bar3d",applicableDSList:{bar3d:!0},defaultPlotShadow:1,fireGroupEvent:!0,standaloneInit:!0,creditLabel:B,is3D:!0,isBar:!0,singleseries:!0,defaultZeroPlaneHighlighted:!1}, m.ssbarcartesian3d);m("line",{friendlyName:"Line Chart",standaloneInit:!0,creditLabel:B,defaultPlotShadow:1,singleseries:!0,axisPaddingLeft:0,axisPaddingRight:0,defaultDatasetType:"line"},m.sscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0});m("area2d",{friendlyName:"Area Chart",standaloneInit:!0,creditLabel:B,defaultDatasetType:"area",singleseries:!0,defaultPlotShadow:0},m.sscartesian);m("pareto2d",{defaultDatasetType:"column2d",singleseries:!0,creditLabel:B,_createDatasets:function(){var c= this.components,D=this.jsonData,f=this.is3D,a=c.numberFormatter,h=D.data||D.dataset&&D.dataset[0]&&D.dataset[0].data,e=h&&h.length,J=D.chart,b=this.defaultDatasetType,D=new (FusionCharts.get("component",["dataset","Pareto"])),d=s(J.showcumulativeline,1),P=[],t,v;if(h){for(J=0;Jc-a.lastSliceTimeStamp)return;a.lastSliceTimeStamp=c}c=t.element;a=t.connector;t=t.label||t.dataLabel;D="object"===typeof D?"t"+D:D;P=d.connectorPath;f=(u?-1:1)*d.transX;oa=(u?-1:1)*d.transY;v=c.data("eventArgs")||c.data("eventArgs",{});I.raiseEvent("slicingStart",{slicedState:u,dataIndex:"index"in h&&h.index,data:e.getPlotData(b,u)},e.chartInstance);c.animateWith(g,n,{transform:u?"t0,0":D},l,A,function(){I.raiseEvent("slicingEnd",{slicedState:u,dataIndex:"index"in h&&h.index,data:e.getPlotData(b, u)},e.chartInstance)});t&&t.x&&((D=t.data("textPos"))||(D=t.data("textPos",{x:t.x,y:t.y})),t.animateWith(g,n,{x:t.x+(u?0:f)},l,A),D.x=t.x+(u?0:f));P&&(P[1]+=f,P[2]+=oa,P[4]+=f,P[6]+=f,a.animateWith(g,n,{path:P},l,A));return v.isSliced=u=d.sliced=!u}},sliceInOtherPies:function(c){var D=this.components.dataset[0],f=D.components.data,a=f.length,h=0,e;for(D.enableMultiSlicing=!0;a--;)a!==c&&(e=f[a]).config.sliced&&++h&&this._plotGraphicClick.call(e.graphics);D.enableMultiSlicing=!1;return!!h},placeDataLabels:function(){var c= function(c,f){return c.point.value-f.point.value},D=function(c,f){return c.angle-f.angle},f=["start","start","end","end"],a=[-1,1,1,-1],h=[1,1,-1,-1];return function(e,J,g,oa){var P=this.config,t=this.components.dataset[0].config,v=P.canvasLeft,u=P.canvasTop,A=P.canvasWidth,m=v+.5*P.canvasWidth,k=u+.5*P.canvasHeight,q=this.linkedItems.smartLabel,p=t.dataLabelOptions,x=p.style,ia=s(Aa(parseFloat(x.lineHeight)),12),L=1===J.length?P.singletonPlaceValue:!1,G=p.skipOverlapLabels,N=p.manageLabelOverflow, z=p.connectorPadding,r;r=oa&&oa.metrics||[m,k,2*t.pieMinRadius,t.innerSize||0];var F=r[1],M=r[0];oa=.5*r[2];var w=[[],[],[],[]],t=g.labelsRadius=oa+p.distance,k=m=parseInt(x.fontSize,10),C=k/2,z=[z,z,-z,-z];g=g.labelsMaxInQuadrant||(g.labelsMaxInQuadrant=Ca(t/k));var p=p.isSmartLineSlanted,y=r[3]/2,B,K,E,Q,H,O,Oa,T,Z,ca,ba,V,ga,aa,U,ha,S;r=Number.POSITIVE_INFINITY;var $,R;B=[];E=[];B=this.get("config","animationObj");var W=e?0:B.duration||0,ea=B.dummyObj,I=B.animObj,ja=B.animType;q.useEllipsesOnOverflow(P.useEllipsesWhenOverflow); e||q.setStyle(x);if(1==J.length&&!y&&L)y=J[0],R=y.graphics,V=R.label,y.slicedTranslation=[v,u],V&&(V.attr({visibility:xa,"text-anchor":"middle",x:0,y:0,transform:["t",M,F]}),V.x=M,V.data("textPos",{x:M,y:F})),R.connector&&R.connector.attr({path:[]});else if(L)S=y+(oa-y)/2,Fa(J,function(c){$=c.config;R=c.graphics;if(V=R.label)V.attr({transform:"t0,0"}),ba=$.angle,ca=F+S*fa(ba),O=M+S*qa(ba),V.x=O,V._x=O,V.y=ca,c.sliced&&(ha=c.slicedTranslation,aa=ha[0]-v,U=ha[1]-u,O+=aa,ca+=U),V.animateWith(ea,I,{visibility:xa, "text-anchor":"middle",x:0,y:0,transform:["t",O,ca]},W,ja)});else{Fa(J,function(c){$=c.config;R=c.graphics;if(V=R.label)V.attr({transform:"t0,0"}),ba=$.angle%n,0>ba&&(ba=n+ba),ga=0<=ba&&bag?x/E:m,C=k/2);ia=E*k;r=x;for(J=0;JE&&(y=E),r=y+k,ia=void 0===$.clearance?2*Aa(s(parseFloat($.style.border),12),12):2*Aa(s(parseFloat($.style.border),$.clearance)),T=(y+L[J].oriY)/2,y=M+h[e]*t*qa(sa.asin(T/x)),T*=a[e],T+=F,Z=F+oa*fa(ba),H=M+oa*qa(ba), (2>e&&yH)&&(y=H),O=y+z[e],ca=T-C-2,Oa=O+z[e],V.x=Oa,V._x=Oa,N&&(K=1k&&(T+=k),V.attr({text:ia.text}).tooltip(ia.tooltext)),V.y=ca,Q&&(aa=$.transX,U=$.transY,O+=aa,y+=aa,H+=aa,Z+=U,Oa+=aa),V.attr({"text-anchor":B,vAlign:"middle"}),$._textAttrs||($._textAttrs={}),$._textAttrs.x=Oa,$._textAttrs.y=T,(ia=V.data("textPos"))? V.attr({x:ia.x,y:ia.y}).animateWith(ea,I,$._textAttrs,W):V.attr($._textAttrs),V.data("textPos",{x:Oa,y:T}),ia=R.connector)$.connectorPath=y=["M",H,Z,"L",p?y:H,T,O,T],(H=ia.data("connectorPath"))?ia.attr({path:H.path}).animateWith(ea,I,{path:y},W):ia.attr({path:y}),ia.data("connectorPath",{path:y})}}}}(),_spaceManager:function(){var c=this.config,D=this.components,f=D.dataset[0],a=f.components.data,h=f.config,e=D.legend,b=D.colorManager,d=this.linkedItems.smartLabel,g=h.dataLabelCounter,P=0,t=this.jsonData.chart, D=s(t.managelabeloverflow,0),v=s(t.slicingdistance),u=h.preSliced||t.enableslicing!==r||t.showlegend===K&&t.interactivelegend!==r?wa(s(v,20)):0,A=s(t.pieradius,0),l=(v=s(t.enablesmartlabels,t.enablesmartlabel,1))?s(t.skipoverlaplabels,t.skipoverlaplabel,1):0,n=s(t.issmartlineslanted,1),m=g?s(t.labeldistance,t.nametbdistance,5):u,k=s(t.smartlabelclearance,5),x=c.width-(c.marginRight+c.marginLeft),q=c.height-(c.marginTop+c.marginBottom),p=ka(q,x),N=ea(t.smartlinecolor,b.getColor("plotFillColor")),B= s(t.smartlinealpha,100),ba=s(t.smartlinethickness,.7),f=h.dataLabelOptions||(h.dataLabelOptions=f._parseDataLabelOptions()),b=f.style,b=g?s(parseInt(b.lineHeight,10),12):0,R=0===A?.15*p:A,da=2*R,M={bottom:0,right:0},w=h.pieYScale,p=h.pieSliceDepth;f.connectorWidth=ba;f.connectorPadding=s(t.connectorpadding,5);f.connectorColor=F(N,B);g&&(v&&(m=k),m+=u);k=da+2*(b+m);k=this._manageChartMenuBar(ka?p-a:h.pieSliceDepth;f.isSmartLineSlanted=n;f.enableSmartLabels=v;f.skipOverlapLabels=l;f.manageLabelOverflow= D},_stubRadius:function(c,D,f,a){var b=this.components.dataset[0],e=b.config,d=e.dataLabelCounter,g=this.jsonData.chart,l=s(g.slicingdistance),P=e.preSliced||g.enableslicing!==r||g.showlegend===K&&g.interactivelegend!==r?wa(s(l,20)):0,g=s(g.pieradius,0),t=ka(f,c),b=e.dataLabelOptions||(e.dataLabelOptions=b._parseDataLabelOptions()),v=b.style,d=d?s(parseInt(v.lineHeight,10),12):0,g=0===g?.15*t:g,t=0,t=ka(c/2-D-P,f/2-d)-a;t>=g?g=t:l||(P=a=va(ka(a-(g-t),P),10));e.slicingDistance=P;e.pieMinRadius=g;b.distance= a;return g},getDataSet:function(c){return this.components.dataset[c]},_startingAngle:function(c,D){var f,b=this.components.dataset[0].config,h=(f=b.startAngle)*-a+(0>-1*f?360:0);if(!isNaN(c)){if(b.singletonCase||b.isRotating)return;c+=D?h:0;b.startAngle=-c*ta;this._rotate(c);h=c}return ua(100*((h%=360)+(0>h?360:0)))/100},eiMethods:{isPlotItemSliced:function(c){var D,f,a,b=this.apiInstance;return b&&b.components.dataset&&(a=b.components.dataset[0])&&(D=a.components.data)&&D.length&&D[c]&&(f=D[c].config)&& f.sliced},addData:function(){var c,a=this.apiInstance;return a&&a.components.dataset&&(c=a.components.dataset[0])&&c.addData.apply(c,arguments)},removeData:function(){var c,a=this.apiInstance;return a&&a.components.dataset&&(c=a.components.dataset[0])&&c.removeData.apply(c,arguments)},updateData:function(){var c,a=this.apiInstance;return a&&a.components.dataset&&(c=a.components.dataset[0])&&c.updateData.apply(c,arguments)},slicePlotItem:function(c,a){var f,b,h,e,d=this.apiInstance;return d&&d.components.dataset&& (f=d.components.dataset[0])&&(b=f.components.data)&&(e=b.length)&&b[c=f.config.reversePlotOrder?e-c-1:c]&&(h=b[c].config)&&((!!a!==h.sliced||void 0===a)&&d._plotGraphicClick.call(b[c].graphics.element)||h.sliced)},centerLabel:function(c,a){var f=this.apiInstance,b=f.components.dataset[0],h=b.config,e=h.piePlotOptions.innerSize,d=h.pieCenter,g=d[0],d=d[1],h=h.centerLabelConfig,l;if("object"!==typeof a)a=h;else for(l in h)void 0===a[l]&&(a[l]=h[l]);a.label=c;b.centerLabelConfig=a;e&&f.drawDoughnutCenterLabel(c|| "",g,d,e,e,a,!0)},startingAngle:function(c,a){return this.apiInstance._startingAngle(c,a)}}},m.guageBase,{plotborderthickness:1,alphaanimation:0,singletonPlaceValue:!0});m("pie3d",{defaultDatasetType:"Pie3D",applicableDSList:{Pie3D:!0},is3D:!0,friendlyName:"3D Pie Chart",fireGroupEvent:!0,creditLabel:B,getPointColor:function(c){return c},_configureManager:function(){var c=this.components.dataset[0],a=c.config,f=c.components,c=f.Pie3DManager,f=f.data;c&&c.configure(a.pieSliceDepth,1===f.length,a.use3DLighting, !1)},defaultPlotShadow:0,_preDrawCalculate:function(){var c,a,f=this.config,b=0,h=this.components.dataset[0],e=h.config;c=h.components;a=e.dataLabelOptions;var d=e.pie3DOptions=h._parsePie3DOptions(),g=ea(e.startAngle,0)%n,l=e.managedPieSliceDepth,P=e.slicedOffset=d.slicedOffset,t=f.canvasWidth,v=f.canvasHeight,u=[f.canvasLeft+.5*t,f.canvasTop+.5*v-.5*l],A,m,f=c.data,k,q=ka(t,v),p,x=a.distance;A=e.pieYScale;var r=e.slicedOffsetY||(e.slicedOffsetY=P*e.pieYScale);k=c.Pie3DManager;u.push(2*e.pieMinRadius, d.innerSize||0);u=pa(u,function(c,a){return(p=/%$/.test(c))?[t,v-l,q,q][a]*parseInt(c,10)/100:c});u[2]/=2;u[3]/=2;u.push(u[2]*A);u.push((u[2]+u[3])/2);u.push(u[5]*A);h.getX=function(c,a){m=sa.asin((c-u[1])/(u[2]+x));return u[0]+(a?-1:1)*qa(m)*(u[2]+x)};e.center=u;Fa(f,function(c){b+=c.config.y});e.labelsRadius=u[2]+x;e.labelsRadiusY=e.labelsRadius*A;e.quadrantHeight=(v-l)/2;e.quadrantWidth=t/2;h=ua(1E3*g)/1E3;d=h+n;g=s(parseInt(a.style.fontSize,10),10)+4;e.maxLabels=Ca(e.quadrantHeight/g);e.labelFontSize= g;e.connectorPadding=s(a.connectorPadding,5);e.isSmartLineSlanted=ea(a.isSmartLineSlanted,!0);e.connectorWidth=s(a.connectorWidth,1);e.enableSmartLabels=a.enableSmartLabels;k||(k=c.Pie3DManager=new ma(this),this.get("graphics","datasetGroup").trackTooltip(!0));this._configureManager();for(c=f.length-1;0<=c;--c)a=f[c],a=a.config,g=h,k=b?a.y/b:0,h=ua(1E3*(h+k*n))/1E3,h>d&&(h=d),A=h,a.shapeArgs={start:ua(1E3*g)/1E3,end:ua(1E3*A)/1E3},a.centerAngle=m=(A+g)/2%n,a.slicedTranslation=[ua(qa(m)*P),ua(fa(m)* r)],g=qa(m)*u[2],e.radiusY=A=fa(m)*u[4],a.tooltipPos=[u[0]+.7*g,u[1]+A],a.percentage=100*k,a.total=b},placeDataLabels:function(){var c=function(c,a){return c.point.value-a.point.value},a=function(c,a){return c.angle-a.angle},f=["start","start","end","end"],g=[-1,1,1,-1],h=[1,1,-1,-1];return function(e){var J,m,k,P=this.config,t=this.components.dataset[0],v=t.config,u=t.components.data,A=v.piePlotOptions,q=P.canvasLeft,p=P.canvasTop,t=P.canvasWidth,r=q+.5*P.canvasWidth,G=p+.5*P.canvasHeight,x=this.linkedItems.smartLabel, z=v.dataLabelOptions,L=z.style;J=s(Aa(parseFloat(L.lineHeight)),12);var N=Ta(z.placeInside,!1),F=z.skipOverlapLabels,B=z.manageLabelOverflow,K=z.connectorPadding,ba=z.distance,M=z.connectorWidth,w=[[],[],[],[]],C=parseInt(L.fontSize,10),y=C,Y=y/2,K=[K,K,-K,-K],X=z.isSmartLineSlanted,E,Q,H,O,R,T,Z,ca,S,V,ga,aa,U,ha,ba=0V&&(V=n+V),aa=0<=V&&Vja?I/Q:C,Y=y/2);N=Q*y;L=I;for(v=0;vQ&&(J=Q),L=J+y,Z=(J+u[v].oriY)/2,H=ea+h[P]*G*qa(sa.asin(Z/I)), Z*=g[P],Z+=$,ca=$+r*fa(V),O=ea+A*qa(V),(2>P&&HO)&&(H=O),R=H+K[P],S=Z+Y-2,T=R+K[P],ga.x=T,ga._x=T,B&&(E=1=g?g=t:l||(k=b=va(ka(b-(g-t),k),10));e.slicingDistance=k;e.pieMinRadius=g;h.distance=b;return g}, _startingAngle:function(c,a){var f,b=this.components.dataset[0].config,h=(f=b.startAngle)+(0>f?360:0);if(!isNaN(c)){if(b.singletonCase||b.isRotating)return;c+=a?h:0;this._rotate(c);h=c}return ua(100*((h%=360)+(0>h?360:0)))/100}},m.pie2d,{plotborderthickness:.1,alphaanimation:1});m("doughnut2d",{friendlyName:"Doughnut Chart",defaultDatasetType:"Doughnut2D",creditLabel:B,applicableDSList:{Doughnut2D:!0},getPointColor:function(c,a,f){var b;c=k(c);a=g(a);100>f&&Ba?(b=N(c,Ca(100*(85-.2*(100-f)))/100), c=p(c,Ca(100*(100-.5*f))/100),a={FCcolor:{color:b+","+c+","+c+","+b,alpha:a+","+a+","+a+","+a,radialGradient:!0,gradientUnits:"userSpaceOnUse",r:f}}):a={FCcolor:{color:c+","+c,alpha:a+","+a,ratio:"0,100"}};return a},drawDoughnutCenterLabel:function(c,a,f,b,h,e,d){var g=this.components,l=g.dataset[0].config;e=e||l.lastCenterLabelConfig;var g=g.paper,k=this.linkedItems.smartLabel,t=this.graphics,v=t.datasetGroup,u=e.padding,A=2*e.textPadding,m={fontFamily:e.font,fontSize:e.fontSize+"px",lineHeight:1.2* e.fontSize+"px",fontWeight:e.bold?"bold":"",fontStyle:e.italic?"italic":""},n=1.414*(.5*b-u)-A;h=1.414*(.5*h-u)-A;var q;k.setStyle(m);k.useEllipsesOnOverflow(this.config.useEllipsesWhenOverflow);k=k.getSmartText(c,n,h);(h=t.doughnutCenterLabel)?(h.attr("text")!==c&&this.centerLabelChange(c),q=t.centerLabelOvalBg):(e.bgOval&&(t.centerLabelOvalBg=q=g.circle(a,f,.5*b-u,v)),h=t.doughnutCenterLabel=g.text(v).hover(this.centerLabelRollover,this.centerLabelRollout).click(this.centerLabelClick),h.chart=this); c?(h.css(m).attr({x:a,y:f,text:k.text,visibility:xa,direction:l.textDirection,fill:na({FCcolor:{color:e.color,alpha:e.alpha}}),"text-bound":e.bgOval?"none":[na({FCcolor:{color:e.bgColor,alpha:e.bgAlpha}}),na({FCcolor:{color:e.borderColor,alpha:e.borderAlpha}}),e.borderThickness,e.textPadding,e.borderRadius]}).tooltip(e.toolText||k.tooltext),e.bgOval&&q&&q.attr({visibility:xa,fill:Ua(e.bgColor),"fill-opacity":e.bgAlpha/100,stroke:Ua(e.borderColor),"stroke-width":e.borderThickness,"stroke-opacity":e.borderAlpha/ 100})):(h.attr("visibility","hidden"),q&&q.attr("visibility","hidden"));d&&(l.lastCenterLabelConfig=e,l.centerLabelConfig=e)},centerLabelRollover:function(){var c=this.chart,a=c.config,f=c.chartInstance,b=f.ref,h=c.components.dataset[0].config.lastCenterLabelConfig,a={height:a.height,width:a.width,pixelHeight:b.offsetHeight,pixelWidth:b.offsetWidth,id:f.id,renderer:f.args.renderer,container:c.linkedItems.container,centerLabelText:h&&h.label};this.attr("text")&&I.raiseEvent("centerLabelRollover",a, f,this,c.hoverOnCenterLabel)},centerLabelRollout:function(){var c=this.chart,a=c.config,f=c.chartInstance,b=f.ref,h=c.components.dataset[0].config.lastCenterLabelConfig,a={height:a.height,width:a.width,pixelHeight:b.offsetHeight,pixelWidth:b.offsetWidth,id:f.id,renderer:f.args.renderer,container:c.linkedItems.container,centerLabelText:h&&h.label};this.attr("text")&&I.raiseEvent("centerLabelRollout",a,f,this,c.hoverOffCenterLabel)},centerLabelClick:function(){var c=this.chart,a=c.config,f=c.chartInstance, b=f.ref,h=c.components.dataset[0].config.lastCenterLabelConfig,c={height:a.height,width:a.width,pixelHeight:b.offsetHeight,pixelWidth:b.offsetWidth,id:f.id,renderer:f.args.renderer,container:c.linkedItems.container,centerLabelText:h&&h.label};this.attr("text")&&I.raiseEvent("centerLabelClick",c,f)},centerLabelChange:function(c){var a=this.config,f=this.chartInstance,b=f.ref;I.raiseEvent("centerLabelChanged",{height:a.height,width:a.width,pixelHeight:b.offsetHeight,pixelWidth:b.offsetWidth,id:f.id, renderer:f.args.renderer,container:this.linkedItems.container,centerLabelText:c},f)},hoverOnCenterLabel:function(){var c=this.chart.components.dataset[0].config.lastCenterLabelConfig;(c.hoverColor||c.hoverAlpha)&&this.attr({fill:na({FCcolor:{color:c.hoverColor||c.color,alpha:c.hoverAlpha||c.alpha}})})},hoverOffCenterLabel:function(){var c=this.chart.components.dataset[0].config.lastCenterLabelConfig;(c.hoverColor||c.hoverAlpha)&&this.attr({fill:na({FCcolor:{color:c.color,alpha:c.alpha}})})}},m.pie2d, {singletonPlaceValue:!1});m("doughnut3d",{friendlyName:"3D Doughnut Chart",defaultDatasetType:"Doughnut3D",creditLabel:B,applicableDSList:{Doughnut3D:!0},_configureManager:function(){var c=this.components.dataset[0],a=c.config,f=c.components,c=f.Pie3DManager,f=f.data;c&&c.configure(a.pieSliceDepth,1===f.length,a.use3DLighting,!0)}},m.pie3d);m("mscolumn2d",{standaloneInit:!0,friendlyName:"Multi-series Column Chart",creditLabel:B,defaultDatasetType:"column",applicableDSList:{column:!0},eiMethods:{}}, m.mscartesian);m("mscolumn3d",{standaloneInit:!0,defaultDatasetType:"column3d",friendlyName:"Multi-series 3D Column Chart",applicableDSList:{column3d:!0},defaultPlotShadow:1,fireGroupEvent:!0,is3D:!0,creditLabel:B,defaultZeroPlaneHighlighted:!1},m.mscartesian3d);m("msbar2d",{standaloneInit:!0,friendlyName:"Multi-series Bar Chart",isBar:!0,hasLegend:!0,creditLabel:B,defaultDatasetType:"bar2d",applicableDSList:{bar2d:!0}},m.msbarcartesian);m("msbar3d",{standaloneInit:!0,defaultSeriesType:"bar3d",friendlyName:"Multi-series 3D Bar Chart", fireGroupEvent:!0,defaultPlotShadow:1,is3D:!0,isBar:!0,hasLegend:!0,creditLabel:B,defaultZeroPlaneHighlighted:!1,defaultDatasetType:"bar3d",applicableDSList:{bar3d:!0}},m.msbarcartesian3d);m("msarea",{standaloneInit:!0,friendlyName:"Multi-series Area Chart",creditLabel:B,defaultDatasetType:"area",showValues:1,defaultPlotShadow:0,applicableDSList:{area:!0}},m.mscartesian);m("msline",{standaloneInit:!0,friendlyName:"Multi-series Line Chart",creditLabel:B,defaultDatasetType:"line",defaultPlotShadow:1, axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{line:!0}},m.mscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0});m("stackedarea2d",{friendlyName:"Stacked Area Chart",isStacked:!0,showsum:0,creditLabel:B,areaAlpha:100},m.msarea);m("stackedcolumn2d",{friendlyName:"Stacked Column Chart",isStacked:!0,creditLabel:B},m.mscolumn2d);m("stackedcolumn3d",{friendlyName:"3D Stacked Column Chart",isStacked:!0,creditLabel:B},m.mscolumn3d);m("stackedbar2d",{friendlyName:"Stacked Bar Chart", isStacked:!0,creditLabel:B},m.msbar2d);m("stackedbar3d",{friendlyName:"3D Stacked Bar Chart",isStacked:!0,creditLabel:B},m.msbar3d);m("marimekko",{standaloneInit:!0,friendlyName:"Marimekko Chart",isValueAbs:!0,distributedColumns:!0,stack100percent:!0,defaultDatasetType:"marimekko",applicableDSList:{marimekko:!0},isStacked:!0,showsum:1,creditLabel:B,_setAxisLimits:function(){var c=this.components,a=c.dataset,f=c.yAxis,c=c.xAxis,b,h=a.length,e,d=-Infinity,g=Infinity,l=Infinity,k=-Infinity,t,v,u={}; t=this.config.categories;var A=[],m=function(c){d=va(d,c.max);g=ka(g,c.min);k=va(k,c.xMax||-Infinity);l=ka(l,c.xMin||Infinity)};for(e=0;ee&&t.splice(e,v-e);this._setCategories();e=c[0].getLimit();l=e.min;k=e.max;t=l;v=k-l;for(e=0;em)for(v=h,A=A-m+h;vb)for(v=a,A=r-b+a;vu&&d.removeData(u,t-u,!1),d.JSONData= f,d.configure()):(d.chart=this,d.index=F,d.init(f)),G.push(d),e.push(d),F++;n=x&&x.length;if(n>b)for(v=a,A=n-b+a;vm;p=qa(e);r=fa(e);t=qa(m);v=fa(m);u=M+C*p;A=w+y*r;z=M+Y*p;N=w+X*r;ga=A+H;aa=M+C*t;U=w+y*v;G=M+Y*t;F=w+X*v;ha=U+H; ba?(x=M+E*p,B=w+Q*r,K=B+H,L=M+E*t,s=w+Q*v,R=s+H,a.startSlice=["M",u,A,"L",u,ga,x,K,x,B,"Z"],a.endSlice=["M",aa,U,"L",aa,ha,L,R,L,s,"Z"]):(a.startSlice=["M",u,A,"L",u,ga,M,O,M,w,"Z"],a.endSlice=["M",aa,U,"L",aa,ha,M,O,M,w,"Z"]);Ba?(q=(e>m?n:0)+m-e,a.clipTopPath=ba?[["M",u,A,"A",C,y,0,q>b?1:0,1,aa,U,"L",L,s,"A",E,Q,0,q>b?1:0,0,x,B,"Z"]]:[["M",u,A,"A",C,y,0,q>b?1:0,1,aa,U,"L",M,w,"Z"]],a.clipOuterFrontPath1=[V],a.clipTopBorderPath=[["M",z,N,"A",Y,X,0,q>b?1:0,1,G,F,"L",aa,U,aa,U+1,"A",C,y,0,q>b?1:0,0, u,A+1,"L",u,A,"Z"]],k!=h?e>m?eb?(a.clipOuterFrontPath=[["M",I,w,"A",C,y,0,1,1,T,w,"v",H,"A",C,y,0,1,0,I,w+H,"Z"]],a.clipOuterBackPath=[["M",T,w,"A",C,y,0,0,1,aa,U,"v",H,"A",C,y,0,0,0,T,w+H,"Z","M",I,w,"A",C,y,0,0,0,u,A,"v",H,"A",C,y,0,0,1,I,w+H,"Z"]],ba&&(a.clipInnerFrontPath=[["M",Z,w,"A",E,Q,0,1,1,ca,w,"v",H,"A",E,Q,0,1,0,Z,w+H,"Z"]],a.clipInnerBackPath=[["M",ca,w,"A",E,Q,0,0,1,L,s,"v",H,"A",E,Q,0,0,0,ca,w+H,"Z","M",Z,w,"A",E,Q,0,0,0,x,B,"v",H,"A",E,Q,0,0,1,Z,w+H,"Z"]])):(a.clipOuterFrontPath=[["M",I,w,"A",C,y,0,0,1,aa,U, "v",H,"A",C,y,0,0,0,I,w+H,"Z"]],a.clipOuterBackPath=[["M",u,A,"A",C,y,0,0,1,I,w,"v",H,"A",C,y,0,0,0,u,ga,"Z"]],ba&&(a.clipInnerFrontPath=[["M",Z,w,"A",E,Q,0,0,1,L,s,"v",H,"A",E,Q,0,0,0,Z,w+H,"Z"]],a.clipInnerBackPath=[["M",x,B,"A",E,Q,0,0,1,Z,w,"v",H,"A",E,Q,0,0,0,x,K,"Z"]])):eb?(a.clipOuterFrontPath=[["M",u,A,"A",C,y,0,0,1,T,w,"v",H,"A",C,y,0,0,0,u,ga,"Z"]],a.clipOuterBackPath=[["M",T,w,"A",C,y,0,0,1,aa,U,"v",H,"A",C,y,0,0,0,T,w+H,"Z"]],ba&&(a.clipInnerFrontPath=[["M",x,B,"A",E,Q,0,0,1,ca,w, "v",H,"A",E,Q,0,0,0,x,K,"Z"]],a.clipInnerBackPath=[["M",ca,w,"A",E,Q,0,0,1,L,s,"v",H,"A",E,Q,0,0,0,ca,w+H,"Z"]])):(a.clipOuterFrontPath=[["M",u,A,"A",C,y,0,0,1,aa,U,"v",H,"A",C,y,0,0,0,u,ga,"Z"]],a.clipOuterBackPath=[V],ba&&(a.clipInnerFrontPath=[["M",x,B,"A",E,Q,0,0,1,L,s,"v",H,"A",E,Q,0,0,0,x,K,"Z"]],a.clipInnerBackPath=[V])):(a.clipOuterFrontPath=[V],a.clipOuterBackPath=[["M",u,A,"A",C,y,0,0,1,aa,U,"v",H,"A",C,y,0,0,0,u,ga,"Z"]],ba&&(a.clipInnerFrontPath=[V],a.clipInnerBackPath=[["M",x,B,"A",E, Q,0,0,1,L,s,"v",H,"A",E,Q,0,0,0,x,K,"Z"]])):a.clipOuterFrontPath=a.clipOuterBackPath=a.clipInnerBackPath=a.clipInnerFrontPath=[V],$="litepath",a.clipBottomBorderPath=a.clipTopPath,a.startSlice=[a.startSlice],a.endSlice=[a.endSlice]):(Y=this.moveCmdArr,X=this.lineCmdArr,p=this.closeCmdArr,H=[M,w],r=[T,w],W=[M,W],t=[I,w],v=[M,w+y],V=[T,O],ea=[I,O],z=[ca,w],N=[Z,w],G=[ca,O],F=[Z,O],a.clipOuterFrontPath1=[],k!=h?(e>m?eb?(k=f(M,w,u,A,I,w,C,y,1,0),h=f(M,w,I,w,T,w,C,y,1,0),U=f(M,w,T,w,aa,U,C,y,1,0),a.clipOuterFrontPath=Y.concat(t,h,X,V,f(M,O,T,O,I,O,C,y,0,0),p),a.clipOuterBackPath=Y.concat([u,A],k,X,ea,f(M,O,I,O,u,ga,C,y,0,0),p,Y,r,U,X,[aa,ha],f(M,O,aa,ha,T,O,C,y,0,0),p),a.clipTopBorderPath=Y.concat([u,A],k,h,U),ba?(C=f(M,w,L,s,ca,w,E,Q,0,0),y=f(M,w,ca,w,Z,w,E,Q,0,0),B=f(M,w,Z,w,x,B,E,Q, 0,0),a.clipInnerFrontPath=Y.concat(z,y,X,F,f(M,O,Z,O,ca,O,E,Q,1,0),p),a.clipInnerBackPath=Y.concat(N,B,X,[x,K],f(M,O,x,K,Z,O,E,Q,1,0),p,Y,[L,s],C,X,G,f(M,O,ca,O,L,R,E,Q,1,0),p),a.clipTopPath=a.clipTopBorderPath.concat(X,[L,s],C,y,B,p),a.clipTopBorderPath=a.clipTopBorderPath.concat(Y,[L,s],C,y,B)):a.clipTopPath=a.clipTopBorderPath.concat(X,H,p)):(k=f(M,w,u,A,I,w,C,y,1,0),h=f(M,w,I,w,aa,U,C,y,1,0),a.clipOuterFrontPath=Y.concat(t,h,X,[aa,ha],f(M,O,aa,ha,I,O,C,y,0,0),p),a.clipOuterBackPath=Y.concat([u, A],k,X,ea,f(M,O,I,O,u,ga,C,y,0,0),p),a.clipTopBorderPath=Y.concat([u,A],k,h),ba?(C=f(M,w,L,s,Z,w,E,Q,0,0),y=f(M,w,Z,w,x,B,E,Q,0,0),a.clipInnerFrontPath=Y.concat([L,s],C,X,F,f(M,O,Z,O,L,R,E,Q,1,0),p),a.clipInnerBackPath=Y.concat(N,y,X,[x,K],f(M,O,x,K,Z,O,E,Q,1,0),p),a.clipTopPath=a.clipTopBorderPath.concat(X,[L,s],C,y,p),a.clipTopBorderPath=a.clipTopBorderPath.concat(Y,[L,s],C,y)):a.clipTopPath=a.clipTopBorderPath.concat(X,H,p)):eb?(k=f(M,w,u,A,T,w,C,y,1,0),h=f(M,w,T,w,aa,U,C,y,1,0),a.clipOuterBackPath= Y.concat(r,h,X,[aa,ha],f(M,O,aa,ha,T,O,C,y,0,0),p),a.clipOuterFrontPath=Y.concat([u,A],k,X,V,f(M,O,T,O,u,ga,C,y,0,0),p),a.clipTopBorderPath=Y.concat([u,A],k,h),ba?(C=f(M,w,L,s,ca,w,E,Q,0,0),y=f(M,w,ca,w,x,B,E,Q,0,0),a.clipInnerBackPath=Y.concat([L,s],C,X,G,f(M,O,ca,O,L,R,E,Q,1,0),p),a.clipInnerFrontPath=Y.concat(z,y,X,[x,K],f(M,O,x,K,ca,O,E,Q,1,0),p),a.clipTopPath=a.clipTopBorderPath.concat(X,[L,s],C,y,p),a.clipTopBorderPath=a.clipTopBorderPath.concat(Y,[L,s],C,y)):a.clipTopPath=a.clipTopBorderPath.concat(X, H,p)):(k=f(M,w,u,A,aa,U,C,y,1,0),a.clipOuterBackPath=Y.concat([u,A]),a.clipTopBorderPath=a.clipOuterBackPath.concat(k),a.clipOuterFrontPath=a.clipTopBorderPath.concat(X,[aa,ha],f(M,O,aa,ha,u,ga,C,y,0,0),p),ba?(C=f(M,w,L,s,x,B,E,Q,0,0),a.clipInnerBackPath=Y.concat([L,s]),a.clipTopPath=a.clipTopBorderPath.concat(X,[L,s],C,p),a.clipTopBorderPath=a.clipTopBorderPath.concat(Y,[L,s],C),a.clipInnerFrontPath=a.clipInnerBackPath.concat(C,X,[x,K],f(M,O,x,K,L,R,E,Q,1,0),p)):a.clipTopPath=a.clipTopBorderPath.concat(X, H,p)):(k=f(M,w,u,A,aa,U,C,y,1,0),a.clipOuterFrontPath=Y.concat([u,A]),a.clipTopBorderPath=a.clipOuterFrontPath.concat(k),a.clipOuterBackPath=a.clipTopBorderPath.concat(X,[aa,ha],f(M,O,aa,ha,u,ga,C,y,0,0),p),ba?(C=f(M,w,L,s,x,B,E,Q,0,0),a.clipInnerFrontPath=Y.concat([L,s]),a.clipTopPath=a.clipTopBorderPath.concat(X,[L,s],C,p),a.clipTopBorderPath=a.clipTopBorderPath.concat(a.clipInnerFrontPath,C),a.clipInnerBackPath=a.clipInnerFrontPath.concat(C,X,[x,K],f(M,O,x,K,L,R,E,Q,1,0),p)):a.clipTopPath=a.clipTopBorderPath.concat(X, H,p)),k=Y.concat(r,X,t),C=Y.concat(W,X,v),a.clipTopPath=a.clipTopPath.concat(k,C),a.clipOuterFrontPath=a.clipOuterFrontPath.concat(k),a.clipOuterFrontPath1=a.clipOuterFrontPath1.concat(k),a.clipOuterBackPath=a.clipOuterBackPath.concat(k),ba&&(C=Y.concat(z,X,N),a.clipInnerFrontPath=a.clipInnerFrontPath.concat(C),a.clipInnerBackPath=a.clipInnerBackPath.concat(C))):(a.clipTopPath=a.clipOuterFrontPath=a.clipOuterBackPath=[],ba&&(a.clipInnerFrontPath=a.clipInnerBackPath=[])),a.clipBottomBorderPath=a.clipTopBorderPath); g||(da.startSlice._conf.index=e,da.endSlice._conf.index=m,da.backOuter._conf.index=x=ka&&(e<=l||m>l)||e<=l&&m>l?l:e>b?e:m,da.frontOuter._conf.index=f=m<=d?m:e>m||e<=d?d:e,da.frontOuter1._conf.index=e,da.frontOuter1._conf.cIndex=b,e>m?(da.backOuter._conf.cIndex=eb?da.frontOuter1.show().attr($, a.clipOuterFrontPath1):da.frontOuter1.hide(),a.thisElement._attr($,a.clipTopPath),da.bottom.attr($,a.clipTopPath),da.bottomBorder.attr($,a.clipBottomBorderPath),da.topBorder&&da.topBorder.attr($,a.clipTopBorderPath),da.frontOuter.attr($,a.clipOuterFrontPath),da.backOuter.attr($,a.clipOuterBackPath),ba&&(da.backInner.attr($,a.clipInnerBackPath),da.frontInner.attr($,a.clipInnerFrontPath),da.backInner._conf.index=x,da.frontInner._conf.index=f,e>m?(da.backInner._conf.cIndex=n,da.frontInner._conf.cIndex= 0):da.backInner._conf.cIndex=da.frontInner._conf.cIndex=ja),this.hasOnePoint?(da.startSlice.hide(),da.endSlice.hide()):(da.startSlice.attr($,a.startSlice).show(),da.endSlice.attr($,a.endSlice).show()))},_setSliceCosmetics:function(a){var b=a.thisElement,d=a.showBorderEffect,g=a.elements,h=F(a.borderColor,s(a.borderAlpha,a.alpha)),e=a.borderWidth,k;a.color&&(a=this._parseSliceColor(a.color,a.alpha,a),Ba?(k={fill:na(a.top),"stroke-width":0},d?g.topBorder.show().attr({fill:na(a.topBorder),"stroke-width":0}): (g.topBorder.hide(),k.stroke=h,k["stroke-width"]=e),b._attr(k)):(b._attr({fill:na(a.top),"stroke-width":0}),g.topBorder.attr({stroke:h,"stroke-width":e})),g.bottom.attr({fill:na(a.bottom)}),g.bottomBorder.attr({stroke:h,"stroke-width":e}),g.frontOuter.attr({fill:na(a.frontOuter)}),g.frontOuter1.attr({fill:na(a.frontOuter)}),g.backOuter.attr({fill:na(a.backOuter)}),g.startSlice.attr({fill:na(a.startSlice),stroke:h,"stroke-width":e}),g.endSlice.attr({fill:na(a.endSlice),stroke:h,"stroke-width":e}), this.isDoughnut&&(g.frontInner.attr({fill:na(a.frontInner)}),g.backInner.attr({fill:na(a.backInner)})))},createSlice:function(){var a={stroke:!0,strokeWidth:!0,"stroke-width":!0,dashstyle:!0,"stroke-dasharray":!0,translateX:!0,translateY:!0,"stroke-opacity":!0,fill:!0,opacity:!0,transform:!0,ishot:!0,cursor:!0,start:!0,end:!0,color:!0,alpha:!0,borderColor:!0,borderAlpha:!0,borderWidth:!0,rolloverProps:!0,showBorderEffect:!0,positionIndex:!0,cx:!0,cy:!0,radiusYFactor:!0,r:!0,innerR:!0},b=function(b, d){var e,f,h=this,g=h._confObject,k={},l=g.elements,m,n,p,q=g.Pie3DManager,r;"string"===typeof b&&void 0!==d&&null!==d&&(e=b,b={},b[e]=d);if(b&&"string"!==typeof b){for(e in b)if(f=b[e],a[e])if(g[e]=f,"ishot"===e||"cursor"===e||"transform"===e)k[e]=f,r=!0;else if("start"===e||"end"===e||"cx"===e||"cy"===e||"radiusYFactor"===e||"r"===e||"innerR"===e)n=!0;else{if("color"===e||"alpha"===e||"borderColor"===e||"borderAlpha"===e||"borderWidth"===e)p=!0}else h._attr(e,f);n&&(q._setSliceShape(g),q.refreshDrawing()); (p||n)&&q._setSliceCosmetics(g);if(r){for(m in l)l[m].attr(k);h._attr(k)}}else h=a[b]?g[b]:h._attr(b);return h},d=function(a,b){var c=this._confObject.elements,d;for(d in c)c[d].on(a,b);return this._on(a,b)},g=function(a,b,c){var d,e=this._confObject.elements,f=-1n&&b.removeData(n,d-n,!1),N[a].JSONData=g,N[a].configure(),N[a]._deleteGridImages&&N[a]._deleteGridImages()):(b=new d,N.push(b),b.chart=this,b.index=a,b.init(g))}if(p>z){l=p-z;b=a;for(z=l+a;bg&&nN&&lSwitch to Zoom Mode
Select a subset of data to zoom into it for detailed view"),btnSwitchToPinModeTooltext:ea(b.btnswitchtopinmodetooltext,"Switch to Pin Mode
Select a subset of data and compare with the rest of the view"),pinPaneFill:Ma(ea(b.pinpanebgcolor,n),s(b.pinpanebgalpha,15)),zoomPaneFill:Ma(ea(b.zoompanebgcolor,"#b9d5f1"), s(b.zoompanebgalpha,30)),zoomPaneStroke:Ma(ea(b.zoompanebordercolor,"#3399ff"),s(b.zoompaneborderalpha,80)),showPeakData:s(b.showpeakdata,0),maxPeakDataLimit:s(b.maxpeakdatalimit,b.maxpeaklimit,null),minPeakDataLimit:s(b.minpeakdatalimit,b.minpeaklimit,null),crossline:{enabled:s(b.showcrossline,1),line:{"stroke-width":s(b.crosslinethickness,1),stroke:Ta(ea(b.crosslinecolor,"#000000")),"stroke-opacity":s(b.crosslinealpha,20)/100},labelEnabled:s(b.showcrosslinelabel,b.showcrossline,1),labelstyle:{fontSize:Aa(b.crosslinelabelsize)? Aa(b.crosslinelabelsize)+"px":a.outCanfontSize,fontFamily:ea(b.crosslinelabelfont,a.outCanfontFamily)},valueEnabled:s(b.showcrosslinevalues,b.showcrossline,1),valuestyle:{fontSize:Aa(b.crosslinevaluesize)?Aa(b.crosslinevaluesize)+"px":a.inCanfontSize,fontFamily:ea(b.crosslinevaluefont,a.inCanvasStyle.fontFamily)}},useCrossline:s(b.usecrossline,1),tooltipSepChar:ea(b.tooltipsepchar,", "),showTerminalValidData:s(b.showterminalvaliddata,0),cdmchar:ea(b.dataseparator,"|"),cdm:s(b.compactdatamode,0)})}, getValuePixel:function(a){var b=this.config.viewPortConfig;return b.ddsi+Ja(a/b.ppp)},__toolbar:function(){var a,b,d,n,l=this,k=l.components,g=k.tb=new (FusionCharts.register("component",["toolbox","toolbox"])),N=g.getDefaultConfiguration(),p,F;g.init({iAPI:{chart:l},graphics:l.graphics,chart:l,components:k});a=k.toolBoxAPI||g.getAPIInstances(g.ALIGNMENT_HORIZONTAL);b=a.SymbolStore;d=a.ComponentGroup;n=a.Toolbar;p=a.Symbol;F=a.Scroller;g.graphics={};return{reInit:function(){g.init({iAPI:{chart:l}, graphics:l.graphics,chart:l,components:k})},addSymbol:function(a,b,d,g){a=new p(a);d&&g.setConfiguaration({buttons:la(la({},N),d)});b.tooltext=d.tooltip;b&&a.attachEventHandlers(b);g.addSymbol(a);return a},addScroll:function(a,b){var d=new F(a);b&&d.attachEventHandlers(b);return d},addComponentGroup:function(a,b){var g;g=new d;g.setConfiguaration({group:{fill:b?b.fill:Ma("EBEBEB",0),borderThickness:b?s(b.borderThickness,0):0}});return g},addToolBox:function(a){var b,d=new n;for(b=0;b(b=s(a.pixelsperpoint,15))&&(b=1);(d=s(a.pixelsperlabel,a.xaxisminlabelwidth,d.getAxisData("labels").rotation?20:60))J||J>=(R-1||1))&&(J=0);(S<=J||S>(R-1||1))&&(S=R-1||1);R=r.viewPortConfig=la(r.viewPortConfig,{amrd:s(a.anchorminrenderdistance,20),nvl:s(a.numvisiblelabels,0),cdm:ba,oppp:b,oppl:d,dsi:J,dei:S,vdl:S-J,clen:R,offset:0,step:1,llen:0,alen:0,ddsi:J,ddei:S, ppc:0});if(R.clen){for(;t--;)a=P[t].config,W=ka(W,a.drawAnchors&&(a.anchorRadius||0)+(Number(a.anchorBorderThickness)||0)||0);r.overFlowingMarkerWidth=W;D=r.canvasPadding=ka(W,D);r._prezoomed=R.dei-R.dsid&&(b=d);p.transform(["T",b,k]);q.pintracker.transform(p.transform());ra.svg||(e[0]=e[0]+b-l-this.__pindragdelta,p.attr("clip-rect",e));this.__pindragoffset=a},function(){this.__pinboundleft=0-g[0]+l+K;this.__pinboundright=this.__pinboundleft+n-g[2];this.data("cliprect",p.attr("clip-rect"));p._.clipispath=!0},function(){p._.clipispath=!1;this.__pindragdelta=this.__pindragoffset;delete this.__pindragoffset;delete this.__pinboundleft; delete this.__pinboundright}));I++;N=ra.crispBound(K-I,f+c+I,B+I+I,r.scrollHeight,I);I--;na(G,{attr:{stroke:r.zoomPaneStroke,fill:r.zoomPaneFill,strokeWidth:0},selectionStart:function(){},selectionEnd:function(a){var b=a.selectionLeft-K;a=b+a.selectionWidth;q.crossline&&q.crossline.hide();G[r.viewPortConfig.pinned?"pinRangePixels":"zoomRangePixels"](b,a)}});e&&0!==e.enabled&&1===r.useCrossline?(z||(z=q.crossline=new ta),z.configure(G,e)):z&&z.hide()}},resetZoom:function(){var a=this.config.viewPortHistory, b=a[0];if(!a.length)return!1;a.length=0;this.zoomTo(b.dsi,b.dei,b)&&pa.raiseEvent("zoomReset",this._zoomargs,this.chartInstance,[this.chartInstance.id]);return!0},eiMethods:{zoomOut:function(){var a;if(a=this.apiInstance)return a.zoomOut&&a.zoomOut()},zoomTo:function(a,b){var d;if(d=this.apiInstance)return d.zoomRange&&d.zoomRange(a,b)},resetChart:function(){var a;if(a=this.apiInstance)a.pinRangePixels&&a.pinRangePixels(),a.resetZoom&&a.resetZoom()},setZoomMode:function(a){var b;(b=this.apiInstance)&& b.activatePin&&b.activatePin(!a)},getViewStartIndex:function(){var a;if(this.apiInstance&&(a=this.apiInstance.config.viewPortConfig))return a.ddsi},getViewEndIndex:function(){var a,b;if(this.apiInstance&&(a=this.apiInstance.config.viewPortConfig))return b=a.ddei-1,(b>=a.clen?a.clen:b)-1}},zoomOut:function(){var a,b,d=this.config;b=d.viewPortHistory;var n,l,k;a=b.pop();b=b[0]||d.viewPortConfig;a?(n=a.dsi,l=a.dei):d._prezoomed&&(n=0,l=b.clen-1);(k=this.zoomTo(n,l,a))&&pa.raiseEvent("zoomedout",k,this.chartInstance); return!0},zoomRangePixels:function(a,b){var d=this.config,n=d.viewPortHistory,d=d.viewPortConfig,l=d.ppp,k=d.ddsi,g;n.push(d);(g=this.zoomTo(k+Ja(a/l),k+Ja(b/l)))?pa.raiseEvent("zoomedin",g,this.chartInstance):n.pop()},zoomRange:function(a,b){var d,n,l=this.config,k=l.viewPortConfig;n=this.components.xAxis[0];var g=l.viewPortHistory,s;g.push(k);d=n.getPixel(a);n=n.getPixel(b);k.x=d;k.scaleX=l.canvasWidth/(d-n);(s=this.zoomTo(+a,+b))?pa.raiseEvent("zoomedin",s,this.chartInstance):g.pop()},zoomTo:function(a, b,d){var n,l;n=this.config;var k=this.components,g=n.viewPortConfig,s=n.canvasHeight;l=n.canvasLeft;var p=n.canvasTop,F=n.canvasBottom,G=n.viewPortHistory,z=g.clen,m=this.components.xAxis[0];0>a&&(a=0);a>=z-1&&(a=z-1);b<=a&&(b=a+1);b>z-1&&(b=z-1);if(a===b||a===g.dsi&&b===g.dei)return!1;this.pinRangePixels();g=la({},g);g.dsi=a;g.dei=b;g=n.viewPortConfig=g;d?this.updateVisual(d.x,d.y,d.scaleX,d.scaleY):(d=m.getPixel(a),n=m.getPixel(b),l=this.getOriginalPositions(d-l,p,n-l,F-p),this.zoomSelection(l[0], 0,l[2],s));k.scrollBar.node.attr({"scroll-ratio":g.vdl/(z-!!z),"scroll-position":[g.dsi/(z-g.vdl-1),!0]});k={level:G.length+1,startIndex:a,startLabel:m.getLabel(a).oriLabel,endIndex:b,endLabel:m.getLabel(b).oriLabel};pa.raiseEvent("zoomed",k,this.chartInstance,[this.chartInstance.id,a,b,k.startLabel,k.endLabel,k.level]);return k},activatePin:function(a){var b=this.config.viewPortConfig,d=this.components.tb.graphics.pinButton;if(b.pinned^(a=!!a))return a||this.pinRangePixels(),pa.raiseEvent("zoomModeChanged", {pinModeActive:a},this.chartInstance,[]),this.updateButtonVisual(d.node,a?"pressed":"enable"),b.pinned=a},updateButtonVisual:function(a,b){return a.attr({disable:{config:{hover:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3",cursor:"default"},normal:{fill:"#FFFFFF",stroke:"#E3E3E3","stroke-width":1,cursor:"default"},disable:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3","stroke-opacity":1,cursor:"default"},pressed:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3",cursor:"default"}},"button-disabled":!1, stroke:"#E3E3E3","stroke-opacity":1},enable:{config:{hover:{fill:"#FFFFFF","stroke-width":1,stroke:"#aaaaaa",cursor:"pointer"},normal:{fill:"#FFFFFF",stroke:"#C2C2C2","stroke-width":1,cursor:"pointer"},disable:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3","stroke-opacity":1,cursor:"pointer"},pressed:{fill:"#EFEFEF","stroke-width":1,stroke:"#C2C2C2",cursor:"pointer"}},"button-disabled":!1,fill:["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF",!0],stroke:"#C2C2C2","stroke-opacity":1},pressed:{config:{pressed:{fill:["#FFFFFF", "#FFFFFF","#FFFFFF","#FFFFFF",!0]}},fill:["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF",!0],stroke:"#E3E3E3"}}[b])},pinRangePixels:function(a,b){var d,n=this.components,l=n.paper,k=this.graphics,g=this.config,s=g.canvasLeft,p=g.viewPortConfig,F=k.zoompin;d=k.pinrect;var G=g["clip-pinrect"],z=g._pingrouptransform,n=n.dataset,m=b-a,q,r,K,k=k.pintracker;if(p&&F&&d){if(a===b)return F.hide(),k.hide(),p.pinned=!1;for(K=n.length;K--;)q=n[K],d=q.graphics,r=d.pinline,r||(r=d.pinline=l.path(F)),r.attr({path:d.lineElement.attrs.path, transform:["T",-g._visx,-g._ymin]}).attr(q.config.pin);G[0]=a+s;G[2]=m;F.attr({"clip-rect":G,transform:z}).show();k.__pindragdelta=0;k.show().attr({transform:z,x:a,width:m});this.getValuePixel(a);this.getValuePixel(b);return p.pinned=!0}},_createLayers:function(){var a,b=this.components.paper;ja.scatter._createLayers.call(this);a=this.graphics;a.imageContainer=b.group("dataset-orphan",a.dataSetGroup);this.__preDraw();this.toogleDragPan(!0)},getValue:function(a){var b=this.config,d=this.components, n=b.viewPortConfig;a=this.getOriginalPositions(a.x,a.y,a.x,a.y);var l=d.xAxis[0].config.axisRange,d=d.yAxis[0].config.axisRange,k=l.min,g=d.max;return{x:k+(a[0]-b.canvasLeft)/(b.canvasWidth*n.scaleX/(l.max-k)),y:g-(a[1]-b.canvasTop)/(b.canvasHeight*n.scaleY/(g-d.min))}},getOriginalPositions:function(a,b,d,n){var l=this.config,k=l.viewPortConfig,g=k.scaleX,s=k.scaleY,p=k.x,k=k.y,F=va(a,d);a=ka(a,d);d=va(b,n);b=ka(b,n);a=a>l.canvasWidth?l.canvasWidth:a;b=b>l.canvasHeight?l.canvasHeight:b;F=0>F?0:F; d=0>d?0:d;return[p+F/g,k+d/s,(a-F)/g,(b-d)/s]},zoomSelection:function(a,b,d,n){var l=this.config;d&&n&&(d=Math.abs(l.canvasWidth/d),n=Math.abs(l.canvasHeight/n),this.updateVisual(a,b,d,n))},updateVisual:function(a,b,d,n,l){var k=this.config,g=k.viewPortConfig,s=k.canvasWidth,p=k.canvasHeight,F=k.viewPortHistory.slice(-1)[0]||g,k=k.maxZoomLimit;g.x=isNaN(a)?a=F.x:a;g.y=isNaN(b)?b=F.y:b;g.scaleX=d||(d=F.scaleX);g.scaleY=n||(n=F.scaleY);d>k&&(g.x=va(a,s-s/k),g.scaleX=k);n>k&&(g.y=va(b,p-p/k),g.scaleY= k);this.updateManager(l)},toogleDragPan:function(a){var b=this.config.viewPortConfig,d=b.status;a&&(b.status="zoom"===d?"pan":"zoom")},resize:function(){var a=this.config,b=this.graphics,d=this.components.canvas,n=d.graphics,l=n.canvasBorderElement,n=n.canvasElement,d=d.config.canvasBorderThickness,k=d/2,g=a.canvasHeight-=d,s=a.canvasWidth-=2*d,p=a.canvasLeft+=d;a.canvasBottom-=d;a.canvasRight-=d;n?n.attr({x:p,y:a.canvasTop,height:g,width:s}):this.drawCanvas();l&&l.attr({x:p-k,y:a.canvasTop-k,height:g+ d,width:s+d,"stroke-width":d});b.imageContainer.attr({"clip-rect":a.canvasLeft+","+a.canvasTop+","+a.canvasWidth+","+a.canvasHeight}).transform("t"+a.canvasLeft+","+a.canvasTop);b.trackerElem.attr({x:a.canvasLeft,y:a.canvasTop,width:a.canvasWidth,height:a.canvasHeight});b.tracker&&b.tracker.attr({"clip-rect":a.canvasLeft+","+a.canvasTop+","+a.canvasWidth+","+a.canvasHeight})},updateManager:function(a){var b,d=this.components,n=d.dataset,l=n.length,k=this.config,g=k.viewPortConfig,s=k._ypvr,p=k._visw, F=this.components.xAxis[0],G=function(){return F.getPixel.apply(F,arguments)},z=F.getAxisData("labels").style,m,q,r,K,B=this.updateButtonVisual,I=d.tb.graphics,R=I.zoomOutButton,I=I.resetButton,c=k.viewPortHistory;!g&&(g=k.viewPortConfig);m=g.oppp;b=r=g.nvl;q=g.vdl=g.dei-g.dsi;r=g.ppl=b?p/b:g.oppl;p=g.step=(K=g.ppp=p/q)F.getCategoryLen()?g.scaleX=1:g.scaleX=F.getCategoryLen()/Math.abs(q-r-p-.9);void 0!==a&&d.scrollBar.node.attr({"scroll-position":a});a=F._getVisibleConfig();a=Math.ceil((a.maxValue-a.minValue+1)/b);F.setLabelConfig({step:b?a:z*p});F.setAxisData({labelStep:b?a:z*p});F.setAxisConfig({animateAxis:!1});F.draw();F.setAxisConfig({animateAxis:!0});for(b=0;b'),ma.jQuery("#fc-zoominfo").css({position:"absolute",left:"10px",top:"0","pointer-events":"none",opacity:.7,width:"250px",zIndex:"999",border:"1px solid #cccccc","box-shadow":"1px 1px 3px #cccccc",background:"#ffffff"})),this.debug.text(JSON.stringify(g,0,2))):(this.debug&& ma.jQuery("#fc-zoominfo").remove(),delete this.debug))},_drawDataset:function(){ja.zoomline.updateManager.call(this)},getParsedLabel:function(a){var b=this.xlabels;return b.parsed[a]||(b.parsed[a]=Ba(b.data[a]||""))},_createToolBox:function(){var a,b,d,n,l,k,g,s=this,p=s.config;g=p.allowPinMode;n=s.components;var F=p.showToolBarButtonTooltext;a=n.chartMenuBar;a&&a.drawn||(ja.scrollcolumn2d._createToolBox.call(s),a=n.tb,b=a.graphics||(a.graphics={}),d=n.toolBoxAPI||a.getAPIInstances(a.ALIGNMENT_HORIZONTAL), d=d.Symbol,n=n.chartMenuBar.componentGroups[0],l=b.zoomOutButton=(new d("zoomOutIcon",void 0,a.idCount++,a.pId)).attachEventHandlers({click:function(){s.zoomOut()},tooltext:F&&p.btnZoomOutTooltext||""}),k=b.resetButton=(new d("resetIcon",void 0,a.idCount++,a.pId)).attachEventHandlers({click:function(){s.resetZoom()},tooltext:F&&p.btnResetChartTooltext||""}),g&&(g=b.pinButton=(new d("pinModeIcon",void 0,a.idCount++,a.pId)).attachEventHandlers({click:function(){s.activatePin(!p.viewPortConfig.pinned)}, tooltext:F&&p.btnSwitchToPinModeTooltext||""}),n.addSymbol(g,!0)),n.addSymbol(k,!0),n.addSymbol(l,!0))},_scrollBar:ja.scrollcolumn2d,_manageScrollerPosition:ja.scrollcolumn2d,draw:function(){var a,b,d,n,l,k,g,s,p,F,G=this,z=G.config,m=G.graphics||(G.graphics={});k=G.components;a=G.jsonData;n=a.dataset;var q=a.categories&&a.categories[0].category;ja.msline.draw.call(G);g=z.canvasLeft;s=z.canvasTop;p=z.canvasHeight;F=z.canvasWidth;a=z.borderWidth;b=z.useRoundEdges;d=z.viewPortConfig;n&&q&&(a++,n=ra.crispBound(g- a,s+p+a,F+a+a,z.scrollHeight,a),a--,k=(l=k.scrollBar)&&l.node,l.draw(n.x+(b&&-1||a%2),n.y-(b&&4||2),{isHorizontal:!0,width:n.width-(!b&&2||0),height:n.height,showButtons:z.scrollShowButtons,scrollRatio:d.vdl/(d.clen-!!d.clen),scrollPosition:[d.dsi/(d.clen-d.vdl-1),!1],r:b&&2||0,parentLayer:m.parentGroup}),!k&&function(){var a;ra.eve.on("raphael.scroll.start."+l.node.id,function(b){a=b;G.crossline&&G.crossline.disable(!0);pa.raiseEvent("scrollstart",{scrollPosition:b},G.chartInstance)});ra.eve.on("raphael.scroll.end."+ l.node.id,function(b){G.crossline&&G.crossline.disable(!1);pa.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:b},G.chartInstance)})}())}},ja.msline,{showValues:0});ja("zoomlinedy",{isDual:!0,standaloneInit:!0,defaultDatasetType:"zoomline",applicableDSList:{zoomline:!0},creditLabel:xa,friendlyName:"Zoomable and Panable Multi-series Dual-axis Line Chart",_spaceManager:ja.msdybasecartesian._spaceManager,_setAxisLimits:ja.msdybasecartesian._setAxisLimits,_createAxes:ja.msdybasecartesian._createAxes, _feedAxesRawData:ja.msdybasecartesian._feedAxesRawData},ja.zoomline);FusionCharts.register("component",["dataset","zoomline",{_setConfigure:function(){var a=this.config,b=this.chart.jsonData.chart,d=this.JSONData;a.drawAnchors=s(b.drawanchors,b.showanchors,1);a.anchorRadius=s(d.anchorradius,b.anchorradius,a.lineThickness+2);this.__base__._setConfigure.apply(this,arguments)},configure:function(){var a,b,d={};a=this.chart.jsonData.chart;a.animation=0;a.showvalues=s(a.showvalues,0);this.__base__.configure.call(this); b=this.config;a=b.lineThickness+s(a.pinlinethicknessdelta,1);d["stroke-width"]=0ib||fib||eRa&&Ya(Ra,Za>Sa?Sa:Za),QaSa)&&Ya(Ra,Sa));p._oldHideAnchors=fb;p._oldEndIndex=Qa;p._oldStep=Pa;l.setVisibility(za);for(K=p._oldStartIndex=Za;K<=Qa;K+=Pa){A= q[K]||{};H=A.config||{};H.isRemoving=!1;t=H.setValue||null;Wa=K;if(nb)if(0===K&&null===t){hb=0;for(Da=b=K;Da=r&&null===t){for(Da=b=K;0d/2?d-b:-b);a=g.getPixel(G)-F-k;a<=p-k&&(n.transform(["T", ua(a),0]),this.hidden&&this.show(),(G>=s||Gc?d=q.NEG:d=q.POS,c=n(c),c<=f&&(f=c,e={absValue:c,noScaleSide:d});return e}function g(a){this.holes=d.call([],a)}var f=-1*a.height,k=F*s,h=0,e,l={},m,n=Math.abs,p=Math.floor,q={};"function"!=typeof Object.create&&(Object.create=function(){function a(){}var b=Object.prototype.hasOwnProperty;return function(c){var d,e,f;if("object"!=typeof c)throw new TypeError("Object prototype may only be an Object or null"); a.prototype=c;f=new a;a.prototype=null;if(1>>0;if(0===e)return-1;c=+b||0;Infinity===Math.abs(c)&&(c=0);if(c>=e)return-1;for(c=Math.max(0<=c?c:e-Math.abs(c),0);c>>0;if("function"!==typeof a)throw new TypeError(a+" is not a function");1g-1?g-1:d,f=this[g],d=new b,d.y=a,d.lRef=e,f){a=c.call(this.holes, g);e=g+a.absValue*a.noScaleSide;if(a.noScaleSide===q.POS)return d.applyDirectIndex(e),this.splice(e,1,d),this.holes.splice(this.holes.indexOf(e),1),e;if(a.noScaleSide===q.NEG){a=this.splice(e+1,this.length-1);this.pop();a.forEach(function(a){a&&a.applyShift(-1)});for([].push.apply(this,a);this[e];)e++;this.push(0);this.repositionHoles();a=c.call(this.holes,e);e+=a.absValue*a.noScaleSide;d.applyDirectIndex(e);this.splice(e,1,d);this.repositionHoles();return this.length-1}}else d.applyDirectIndex(g), this.splice(g,1,d),this.holes.splice(this.holes.indexOf(g),1)};try{Object.defineProperty(l,"top",{enumerable:!1,configurable:!1,get:function(){return f}}),Object.defineProperty(l,"bottom",{enumerable:!1,configurable:!1,get:function(){return k}})}catch(u){l.top=f,l.bottom=k}l.init=function(a,b){var c;h=a+2;f+=h/2;m=p(n(f)/h);e=new g(m);for(c=0;cI||gq||g=n&&"end"||"middle","text-bound":["rgba(255,255,255,0.8)", "rgba(0,0,0,0.2)",1,2.5]})):a.attr({x:-n})});a.positionLabel&&a.positionLabel.attr({x:k+a.left,text:a.getPositionLabel(l),"text-bound":["rgba(255,255,255,1)","rgba(0,0,0,1)",1,2.5]})};ta.prototype.show=function(){this.disabled||(this.hidden=!1,this.group.attr("visibility","visible"),this.line.attr("visibility","visible"),this.positionLabel&&this.positionLabel.attr("visibility","visible"))};ta.prototype.hide=function(){this.hidden=!0;this.group.attr("visibility","hidden");this.line.attr("visibility", "hidden");this.positionLabel&&this.positionLabel.attr("visibility","hidden")};ta.prototype.dispose=function(){for(var a in this)this.hasOwnProperty(a)&&delete this[a]};ra.addSymbol({pinModeIcon:function(a,b,d){var n=.5*d,l=a-d,k=a+d,g=a-n,s=a+n,p=a+.5,F=p+1,G=p+1.5,z=b-d,m=b+n,q=b-n,n=b+(d-n);return["M",l,z,"L",g,q,g,n,l,m,a-.5,m,a,b+d+.5,p,m,k,m,s,n,s,q,k,z,G,z,G,q,G,n,F,n,F,q,G,q,G,z,"Z"]},zoomOutIcon:function(a,b,d){a-=.2*d;b-=.2*d;var n=.8*d,l=ra.rad(43),k=ra.rad(48),g=a+n*wa(l),l=b+n*ya(l),s= a+n*wa(k),k=b+n*ya(k),p=ra.rad(45),F=g+d*wa(p),G=l+d*ya(p),z=s+d*wa(p);d=k+d*ya(p);return["M",g,l,"A",n,n,0,1,0,s,k,"Z","M",g+1,l+1,"L",F,G,z,d,s+1,k+1,"Z","M",a-2,b,"L",a+2,b,"Z"]},resetIcon:function(a,b,d){var n=a-d,l=(fa.PI/2+fa.PI)/2;a+=d*wa(l);var l=b+d*ya(l),k=2*d/3;return["M",n,b,"A",d,d,0,1,1,a,l,"L",a+k,l-1,a+2,l+k-.5,a,l]}})}]);