charts-min.js revision 8e9350231feec41b56e3c4133fd2fd8f6b44bab4
YUI.add("charts",function(b){var g=b.config.doc,k,o,r,a,c=b.ClassNameManager.getClassName,m=c("seriesmarker");function p(){}p.ATTRS={styles:{getter:function(){this._styles=this._styles||this._getDefaultStyles();return this._styles;},setter:function(v){this._styles=this._setStyles(v);}},graphic:{}};p.NAME="renderer";p.prototype={_styles:null,_setStyles:function(w){var v=this.get("styles");return this._mergeStyles(w,v);},_mergeStyles:function(w,v){if(!v){v={};}var x=b.merge(v,{});b.Object.each(w,function(A,z,y){if(v.hasOwnProperty(z)&&b.Lang.isObject(A)&&!b.Lang.isArray(A)){x[z]=this._mergeStyles(A,v[z]);}else{x[z]=A;}},this);return x;},_getDefaultStyles:function(){return{padding:{top:0,right:0,bottom:0,left:0}};}};b.augment(p,b.Attribute);b.Renderer=p;k=function(){};k.prototype={_getDefaultMargins:function(){return{top:0,left:0,right:4,bottom:0};},setTickOffsets:function(){var x=this,z=x.get("styles").majorTicks,w=z.length,v=w*0.5,y=z.display;x.set("topTickOffset",0);x.set("bottomTickOffset",0);switch(y){case"inside":x.set("rightTickOffset",w);x.set("leftTickOffset",0);break;case"outside":x.set("rightTickOffset",0);x.set("leftTickOffset",w);break;case"cross":x.set("rightTickOffset",v);x.set("leftTickOffset",v);break;default:x.set("rightTickOffset",0);x.set("leftTickOffset",0);break;}},drawTick:function(B,z){var y=this,w=y.get("styles"),A=w.padding,x=z.length,C={x:A.left,y:B.y},v={x:x+A.left,y:B.y};y.drawLine(C,v,z);},getLineStart:function(){var v=this.get("styles"),z=v.padding,A=v.majorTicks,w=A.length,y=A.display,x={x:z.left,y:0};if(y==="outside"){x.x+=w;}else{if(y==="cross"){x.x+=w/2;}}return x;},getLabelPoint:function(v){return{x:v.x-this.get("leftTickOffset"),y:v.y};},updateMaxLabelSize:function(E){var G=this,C=this._labelRotationProps,w=C.rot,z=C.absRot,F=C.sinRadians,x=C.cosRadians,B=C.m11,A=C.m12,y=C.m21,v=C.m22,D;if(!g.createElementNS){E.style.filter="progid:DXImageTransform.Microsoft.Matrix(M11="+B+" M12="+A+" M21="+y+" M22="+v+' sizingMethod="auto expand")';G.set("maxLabelSize",Math.max(G.get("maxLabelSize"),E.offsetWidth));}else{E.style.msTransform="rotate(0deg)";if(w===0){D=E.offsetWidth;}else{if(z===90){D=E.offsetHeight;}else{D=(x*E.offsetWidth)+(F*E.offsetHeight);}}G.set("maxLabelSize",Math.max(G.get("maxLabelSize"),D));}},positionTitle:function(I){var K=this,G,L=K.get("styles").title,E=this._getTextRotationProps(L),z=E.rot,B=E.absRot,J=E.sinRadians,w=E.cosRadians,H=0,F=this.get("height")/2,v=0,C=0,D=I.offsetWidth,A=I.offsetHeight;if(b.config.doc.createElementNS){if(z===0){G=D;C-=A*0.5;}else{if(B===90){G=A;if(z===90){v+=A;C-=D*0.5;}else{C+=D*0.5;}}else{G=(w*D)+(J*A);if(z>0){C-=((J*D)+(w*A))/2;v+=Math.min(A,(J*A));}else{C+=(J*D)/2-(w*A)/2;}}}F+=C;H+=v;E.x=Math.round(H);E.y=Math.round(F);}else{if(z===0){C-=A*0.5;G=D;}else{if(z===90){C-=D*0.5;G=A;}else{if(z===-90){C-=D*0.5;G=A;}else{G=(w*D)+(J*A);C-=((J*D)+(w*A))/2;}}}F+=C;H+=v;I.style.left=Math.round(H)+"px";I.style.top=Math.round(F)+"px";}this._titleSize=G;this._rotate(I,E);},positionLabel:function(G,K){var J=this,I=J.get("leftTickOffset"),w=J.get("styles").label,A=0,z=K.x+this._titleSize,D=K.y,F=this._labelRotationProps,y=F.rot,C=F.absRot,H=F.sinRadians,x=F.cosRadians,v=J.get("maxLabelSize"),E=Math.round(G.offsetWidth),B=Math.round(G.offsetHeight);if(w.margin&&w.margin.right){A=w.margin.right;}if(!g.createElementNS){G.style.filter=null;E=Math.round(G.offsetWidth);B=Math.round(G.offsetHeight);if(y===0){z=E;D-=B*0.5;}else{if(C===90){z=B;D-=E*0.5;}else{if(y>0){z=(x*E)+(B*y/90);D-=(H*E)+(x*(B*0.5));}else{z=(x*E)+(C/90*B);D-=x*(B*0.5);}}}z+=I;G.style.left=Math.round((K.x+this._titleSize+v)-z)+"px";G.style.top=Math.round(D)+"px";this._rotate(G,this._labelRotationProps);return;}G.style.msTransform="rotate(0deg)";E=Math.round(G.offsetWidth);B=Math.round(G.offsetHeight);if(y===0){z-=E;D-=B*0.5;}else{if(y===90){D-=E*0.5;}else{if(y===-90){z-=B;D+=E*0.5;}else{if(y<0){z-=(x*E)+(H*B);D+=(H*E)-(x*(B*0.6));}else{z-=(x*E);D-=(H*E)+(x*(B*0.6));}}}}F.x=Math.round(J.get("maxLabelSize")+z);F.y=Math.round(D);this._rotate(G,this._labelRotationProps);},setSizeAndPosition:function(){var x=this,v=x.get("maxLabelSize"),w=x.get("styles"),B=x.get("leftTickOffset"),z=v+B,A=x.get("graphic"),y=w.label.margin;if(y&&y.right){z+=y.right;}z+=this._titleSize;z=Math.round(z);x.set("width",z);x.get("contentBox").setStyle("width",z);A.set("x",z-B);},offsetNodeForTick:function(v){},setCalculatedSize:function(){var z=this,y=z.get("styles"),x=y.label,A=z.get("leftTickOffset"),w=z.get("maxLabelSize"),v=Math.round(this._titleSize+A+w+x.margin.right);z.get("contentBox").setStyle("width",v);z.set("width",v);}};b.LeftAxisLayout=k;o=function(){};o.prototype={_getDefaultMargins:function(){return{top:0,left:4,right:0,bottom:0};},setTickOffsets:function(){var x=this,z=x.get("styles").majorTicks,w=z.length,v=w*0.5,y=z.display;x.set("topTickOffset",0);x.set("bottomTickOffset",0);switch(y){case"inside":x.set("leftTickOffset",w);x.set("rightTickOffset",0);break;case"outside":x.set("leftTickOffset",0);x.set("rightTickOffset",w);break;case"cross":x.set("rightTickOffset",v);x.set("leftTickOffset",v);break;default:x.set("leftTickOffset",0);x.set("rightTickOffset",0);break;}},drawTick:function(B,z){var y=this,w=y.get("styles"),A=w.padding,x=z.length,C={x:A.left,y:B.y},v={x:A.left+x,y:B.y};y.drawLine(C,v,z);},getLineStart:function(){var x=this,v=x.get("styles"),A=v.padding,B=v.majorTicks,w=B.length,z=B.display,y={x:A.left,y:A.top};if(z==="inside"){y.x+=w;}else{if(z==="cross"){y.x+=w/2;}}return y;},getLabelPoint:function(v){return{x:v.x+this.get("rightTickOffset"),y:v.y};},updateMaxLabelSize:function(E){var G=this,C=this._labelRotationProps,w=C.rot,z=C.absRot,F=C.sinRadians,x=C.cosRadians,B=C.m11,A=C.m12,y=C.m21,v=C.m22,D;if(!g.createElementNS){E.style.filter="progid:DXImageTransform.Microsoft.Matrix(M11="+B+" M12="+A+" M21="+y+" M22="+v+' sizingMethod="auto expand")';G.set("maxLabelSize",Math.max(G.get("maxLabelSize"),E.offsetWidth));}else{E.style.msTransform="rotate(0deg)";if(w===0){D=E.offsetWidth;
}else{if(z===90){D=E.offsetHeight;}else{D=(x*E.offsetWidth)+(F*E.offsetHeight);}}G.set("maxLabelSize",Math.max(G.get("maxLabelSize"),D));}},positionTitle:function(J){var L=this,H,M=L.get("styles").title,A=M.margin,F=this._getTextRotationProps(M),z=F.rot,C=F.absRot,K=F.sinRadians,w=F.cosRadians,I=0,G=this.get("height")/2,v=this.get("maxLabelSize")+A.left+this.get("rightTickOffset")+this.get("styles").label.margin.left,D=0,E=J.offsetWidth,B=J.offsetHeight;if(b.config.doc.createElementNS){if(z===0){H=E;D-=B*0.5;}else{if(C===90){H=B;if(z===90){D-=E*0.5;v+=B;}else{D+=E*0.5;}}else{H=(w*E)+(K*B);if(z>0){D-=((K*E)+(w*B))/2;v+=Math.min(B,(K*B));}else{D+=(K*E)/2-(w*B)/2;}}}G+=D;I+=v;F.x=Math.round(I);F.y=Math.round(G);}else{if(z===0){D-=B*0.5;H=E;}else{if(z===90){D-=E*0.5;H=B;}else{if(z===-90){D-=E*0.5;H=B;}else{H=(w*E)+(K*B);D-=((K*E)+(w*B))/2;}}}G+=D;I+=v;J.style.left=Math.round(I)+"px";J.style.top=Math.round(G)+"px";}this._titleSize=H;this._rotate(J,F);},positionLabel:function(F,J){var I=this,H=I.get("rightTickOffset"),v=I.get("styles").label,z=0,y=J.x,C=J.y,E=this._labelRotationProps,x=E.rot,B=E.absRot,G=E.sinRadians,w=E.cosRadians,D=Math.round(F.offsetWidth),A=Math.round(F.offsetHeight);if(v.margin&&v.margin.left){z=v.margin.left;}if(!g.createElementNS){F.style.filter=null;if(x===0){C-=A*0.5;}else{if(B===90){C-=D*0.5;}else{if(x>0){C-=(w*(A*0.5));}else{C-=(G*D)+(w*(A*0.5));}}}y+=z;y+=H;F.style.left=Math.round(y)+"px";F.style.top=Math.round(C)+"px";this._rotate(F,E);return;}F.style.msTransform="rotate(0deg)";D=Math.round(F.offsetWidth);A=Math.round(F.offsetHeight);if(x===0){C-=A*0.5;}else{if(x===90){y+=A;C-=D*0.5;}else{if(x===-90){C+=D*0.5;}else{if(x<0){C-=(w*(A*0.6));}else{C-=w*(A*0.6);y+=G*A;}}}}y+=z;y+=H;E.x=Math.round(y);E.y=Math.round(C);this._rotate(F,E);},setSizeAndPosition:function(){var x=this,w=x.get("styles").label,v=x.get("maxLabelSize"),z=x.get("rightTickOffset"),y=z+v;if(w.margin&&w.margin.left){y+=w.margin.left;}y+=this._titleSize;x.set("width",y);x.get("contentBox").setStyle("width",y);},offsetNodeForTick:function(v){var w=this,y=w.get("leftTickOffset"),x=0-y;v.setStyle("left",x);},setCalculatedSize:function(){var x=this,w=x.get("styles").label,v=Math.round(x.get("rightTickOffset")+x.get("maxLabelSize")+this._titleSize+x.get("styles").title.margin.left+w.margin.left);x.set("width",v);}};b.RightAxisLayout=o;r=function(){};r.prototype={_getDefaultMargins:function(){return{top:4,left:0,right:0,bottom:0};},setTickOffsets:function(){var x=this,z=x.get("styles").majorTicks,w=z.length,v=w*0.5,y=z.display;x.set("leftTickOffset",0);x.set("rightTickOffset",0);switch(y){case"inside":x.set("topTickOffset",w);x.set("bottomTickOffset",0);break;case"outside":x.set("topTickOffset",0);x.set("bottomTickOffset",w);break;case"cross":x.set("topTickOffset",v);x.set("bottomTickOffset",v);break;default:x.set("topTickOffset",0);x.set("bottomTickOffset",0);break;}},getLineStart:function(){var v=this.get("styles"),z=v.padding,A=v.majorTicks,w=A.length,y=A.display,x={x:0,y:z.top};if(y==="inside"){x.y+=w;}else{if(y==="cross"){x.y+=w/2;}}return x;},drawTick:function(B,z){var y=this,w=y.get("styles"),A=w.padding,x=z.length,C={x:B.x,y:A.top},v={x:B.x,y:x+A.top};y.drawLine(C,v,z);},getLabelPoint:function(v){return{x:v.x,y:v.y+this.get("bottomTickOffset")};},updateMaxLabelSize:function(E){var G=this,C=this._labelRotationProps,w=C.rot,z=C.absRot,F=C.sinRadians,x=C.cosRadians,B=C.m11,A=C.m12,y=C.m21,v=C.m22,D;if(!g.createElementNS){E.style.filter="progid:DXImageTransform.Microsoft.Matrix(M11="+B+" M12="+A+" M21="+y+" M22="+v+' sizingMethod="auto expand")';G.set("maxLabelSize",Math.max(G.get("maxLabelSize"),E.offsetHeight));}else{E.style.msTransform="rotate(0deg)";if(w===0){D=E.offsetHeight;}else{if(z===90){D=E.offsetWidth;}else{D=(F*E.offsetWidth)+(x*E.offsetHeight);}}G.set("maxLabelSize",Math.max(G.get("maxLabelSize"),D));}},positionTitle:function(I){var K=this,G,L=K.get("styles").title,E=this._getTextRotationProps(L),z=E.rot,B=E.absRot,J=E.sinRadians,w=E.cosRadians,H=this.get("width")/2,F=this.get("maxLabelSize")+this.get("styles").label.margin.top+L.margin.top+this.get("bottomTickOffset"),v=0,C=0,D=I.offsetWidth,A=I.offsetHeight;if(b.config.doc.createElementNS){if(z===0){G=A;v-=D*0.5;}else{if(B===90){G=D;if(z===-90){C+=D;v-=A;}}else{G=(J*D)+(w*A);if(z>0){v-=(w*D)/2-(J*A)/2;}else{C+=(J*D)-(w*A)/2;v-=(w*D)/2+(J*A)/2;}}}H+=v;F+=C;E.x=Math.round(H);E.y=Math.round(F);}else{if(z===0){v-=D*0.5;G=A;}else{if(z===90){v-=A*0.5;G=D;}else{if(z===-90){v-=A*0.5;G=D;}else{G=(J*D)+(w*A);v-=((w*D)+(J*A))/2;}}}H+=v;F+=C;I.style.left=Math.round(H)+"px";I.style.top=Math.round(F)+"px";}this._titleSize=G;this._rotate(I,E);},positionLabel:function(F,J){var I=this,H=I.get("bottomTickOffset"),v=I.get("styles").label,z=0,E=this._labelRotationProps,y=E.rot,B=E.absRot,G=E.sinRadians,x=E.cosRadians,w=Math.round(J.x),C=Math.round(J.y),D=Math.round(F.offsetWidth),A=Math.round(F.offsetHeight);if(v.margin&&v.margin.top){z=v.margin.top;}if(!g.createElementNS){F.style.filter=null;D=Math.round(F.offsetWidth);A=Math.round(F.offsetHeight);if(B===90){w-=A*0.5;}else{if(y<0){w-=x*D;w-=G*(A*0.5);}else{if(y>0){w-=G*(A*0.5);}else{w-=D*0.5;}}}C+=z;C+=H;F.style.left=Math.round(w)+"px";F.style.top=Math.round(C)+"px";this._rotate(F,E);return;}F.style.msTransform="rotate(0deg)";D=Math.round(F.offsetWidth);A=Math.round(F.offsetHeight);if(y===0){w-=D*0.5;}else{if(B===90){if(y===90){w+=A*0.5;}else{C+=D;w-=A*0.5;}}else{if(y<0){w-=(x*D)+(G*(A*0.6));C+=G*D;}else{w+=Math.round(G*(A*0.6));}}}C+=z;C+=H;E.x=w;E.y=C;this._rotate(F,E);},setSizeAndPosition:function(){var y=this,v=y.get("maxLabelSize"),x=y.get("bottomTickLength"),w=y.get("styles"),A=x+v,z=w.label.margin;if(z&&z.top){A+=z.top;}A=Math.round(A);y.set("height",A);},offsetNodeForTick:function(v){var w=this;w.get("contentBox").setStyle("top",0-w.get("topTickOffset"));},setCalculatedSize:function(){var x=this,w=x.get("styles").label,v=Math.round(x.get("bottomTickOffset")+x.get("maxLabelSize")+w.margin.top+this.get("styles").title.margin.top+this._titleSize);
x.set("height",v);}};b.BottomAxisLayout=r;a=function(){};a.prototype={_getDefaultMargins:function(){return{top:0,left:0,right:0,bottom:4};},setTickOffsets:function(){var x=this,z=x.get("styles").majorTicks,w=z.length,v=w*0.5,y=z.display;x.set("leftTickOffset",0);x.set("rightTickOffset",0);switch(y){case"inside":x.set("bottomTickOffset",w);x.set("topTickOffset",0);break;case"outside":x.set("bottomTickOffset",0);x.set("topTickOffset",w);break;case"cross":x.set("topTickOffset",v);x.set("bottomTickOffset",v);break;default:x.set("topTickOffset",0);x.set("bottomTickOffset",0);break;}},getLineStart:function(){var x=this,v=x.get("styles"),A=v.padding,B=v.majorTicks,w=B.length,z=B.display,y={x:0,y:A.top};if(z==="outside"){y.y+=w;}else{if(z==="cross"){y.y+=w/2;}}return y;},drawTick:function(B,z){var y=this,w=y.get("styles"),A=w.padding,x=z.length,C={x:B.x,y:A.top},v={x:B.x,y:x+A.top};y.drawLine(C,v,z);},getLabelPoint:function(v){return{x:v.x,y:v.y-this.get("topTickOffset")};},updateMaxLabelSize:function(E){var G=this,C=this._labelRotationProps,w=C.rot,z=C.absRot,F=C.sinRadians,x=C.cosRadians,B=C.m11,A=C.m12,y=C.m21,v=C.m22,D;if(!g.createElementNS){E.style.filter="progid:DXImageTransform.Microsoft.Matrix(M11="+B+" M12="+A+" M21="+y+" M22="+v+' sizingMethod="auto expand")';G.set("maxLabelSize",Math.max(G.get("maxLabelSize"),E.offsetHeight));}else{E.style.msTransform="rotate(0deg)";if(w===0){D=E.offsetHeight;}else{if(z===90){D=E.offsetWidth;}else{D=(F*E.offsetWidth)+(x*E.offsetHeight);}}G.set("maxLabelSize",Math.max(G.get("maxLabelSize"),D));}},positionTitle:function(I){var K=this,G,L=K.get("styles").title,E=this._getTextRotationProps(L),z=E.rot,B=E.absRot,J=E.sinRadians,w=E.cosRadians,H=this.get("width")/2,F=L.margin.top,v=0,C=0,D=I.offsetWidth,A=I.offsetHeight;if(b.config.doc.createElementNS){if(z===0){G=A;v-=D*0.5;}else{if(B===90){G=D;if(z===90){v+=A/2;}else{C+=D;v-=A/2;}}else{G=(J*D)+(w*A);if(z>0){v-=(w*D)/2-(J*A)/2;}else{C+=(J*D);v-=(w*D)/2+(J*A)/2;}}}H+=v;F+=C;E.x=Math.round(H);E.y=Math.round(F);}else{if(z===0){v-=D*0.5;G=A;}else{if(z===90){v-=A*0.5;G=D;}else{if(z===-90){v-=A*0.5;G=D;}else{G=(J*D)+(w*A);v-=((w*D)+(J*A))/2;}}}H+=v;F+=C;I.style.left=Math.round(H)+"px";I.style.top=Math.round(F)+"px";}this._titleSize=G;this._rotate(I,E);},positionLabel:function(B,I){var G=this,z=G.get("topTickOffset"),K=G.get("styles").label,y=G.get("styles").title,M=this.get("title")?this._titleSize+y.margin.top+y.margin.bottom:0,H=0,D=I.x,J=I.y+M,x=this._labelRotationProps,C=x.rot,w=x.absRot,F=x.sinRadians,A=x.cosRadians,E=G.get("maxLabelSize"),L=Math.round(B.offsetWidth),v=Math.round(B.offsetHeight);if(K.margin&&K.margin.bottom){H=K.margin.bottom;}if(!g.createElementNS){B.style.filter=null;L=Math.round(B.offsetWidth);v=Math.round(B.offsetHeight);if(C===0){D-=L*0.5;}else{if(w===90){D-=v*0.5;}else{if(C>0){D-=(A*L)+Math.min((F*v),(C/180*v));J-=(F*L)+(A*(v));J+=E;}else{D-=F*(v*0.5);J-=(F*L)+(A*(v));J+=E;}}}J-=z;B.style.left=Math.round(D);B.style.top=Math.round(J);this._rotate(B,x);return;}B.style.msTransform="rotate(0deg)";L=Math.round(B.offsetWidth);v=Math.round(B.offsetHeight);if(C===0){D-=L*0.5;J-=v;}else{if(C===90){D+=v*0.5;J-=L;}else{if(C===-90){D-=v*0.5;J-=0;}else{if(C<0){D-=(F*(v*0.6));J-=(A*v);}else{D-=(A*L)-(F*(v*0.6));J-=(F*L)+(A*v);}}}}J-=z;x.x=Math.round(D);x.y=Math.round(G.get("maxLabelSize")+J);this._rotate(B,x);},setSizeAndPosition:function(){var y=this,v=y.get("maxLabelSize"),B=y.get("topTickOffset"),x=y.get("styles"),z=x.label.margin,C=y.get("graphic"),A=B+v,w=x.title.margin;if(z&&z.bottom){A+=z.bottom;}if(this.get("title")){A+=this._titleSize+w.top+w.bottom;}y.set("height",A);C.set("y",A-B);},offsetNodeForTick:function(v){},setCalculatedSize:function(){var A=this,z=A.get("styles"),y=z.label.margin,x=z.title.margin,B=y.top+y.bottom+A.get("maxLabelSize"),w=A.get("title")?x.top+x.bottom+A._titleSize:0,v=Math.round(A.get("topTickOffset")+B+w);A.set("height",v);}};b.TopAxisLayout=a;b.Axis=b.Base.create("axis",b.Widget,[b.Renderer],{_dataChangeHandler:function(v){if(this.get("rendered")){this._drawAxis();}},_updateHandler:function(v){if(this.get("rendered")){this._drawAxis();}},renderUI:function(){var w=this.get("position"),v=this._layoutClasses[w];if(w&&w!="none"){this._layout=new v();if(this._layout){this._setCanvas();}}},syncUI:function(){var z=this._layout,y,x,v,A,w;if(z){y=z._getDefaultMargins();x=this.get("styles");v=x.label.margin;A=x.title.margin;for(w in y){if(y.hasOwnProperty(w)){v[w]=v[w]===undefined?y[w]:v[w];A[w]=A[w]===undefined?y[w]:A[w];}}}this._drawAxis();},_setCanvas:function(){var v=this.get("contentBox"),B=this.get("boundingBox"),A=this.get("position"),y=this._parentNode,x=this.get("width"),z=this.get("height");B.setStyle("position","absolute");x=x?x+"px":y.getStyle("width");z=z?z+"px":y.getStyle("height");if(A==="top"||A==="bottom"){v.setStyle("width",x);}else{v.setStyle("height",z);}v.setStyle("position","relative");v.setStyle("left","0px");v.setStyle("top","0px");this.set("graphic",new b.Graphic());this.get("graphic").render(v);},_getDefaultStyles:function(){var v={majorTicks:{display:"inside",length:4,color:"#dad8c9",weight:1,alpha:1},minorTicks:{display:"none",length:2,color:"#dad8c9",weight:1},line:{weight:1,color:"#dad8c9",alpha:1},majorUnit:{determinant:"count",count:11,distance:75},top:"0px",left:"0px",width:"100px",height:"100px",label:{color:"#808080",alpha:1,fontSize:"85%",rotation:0,margin:{top:undefined,right:undefined,bottom:undefined,left:undefined}},title:{color:"#808080",alpha:1,fontSize:"85%",rotation:undefined,margin:{top:undefined,right:undefined,bottom:undefined,left:undefined}},hideOverlappingLabelTicks:false};return b.merge(b.Renderer.prototype._getDefaultStyles(),v);},_handleSizeChange:function(y){var x=y.attrName,A=this.get("position"),w=A=="left"||A=="right",v=this.get("contentBox"),z=A=="bottom"||A=="top";v.setStyle("width",this.get("width"));v.setStyle("height",this.get("height"));if((z&&x=="width")||(w&&x=="height")){this._drawAxis();}},_layoutClasses:{top:a,bottom:r,left:k,right:o},drawLine:function(x,w,v){var y=this.get("path");
y.set("stroke",{weight:v.weight,color:v.color,opacity:v.alpha});y.moveTo(x.x,x.y);y.lineTo(w.x,w.y);},_getTextRotationProps:function(E){if(E.rotation===undefined){switch(this.get("position")){case"left":E.rotation=-90;break;case"right":E.rotation=90;break;default:E.rotation=0;break;}}var w=Math.min(90,Math.max(-90,E.rotation)),z=Math.abs(w),C=Math.PI/180,D=parseFloat(parseFloat(Math.sin(z*C)).toFixed(8)),x=parseFloat(parseFloat(Math.cos(z*C)).toFixed(8)),B=x,A=w>0?-D:D,y=-A,v=B;return{rot:w,absRot:z,radCon:C,sinRadians:D,cosRadians:x,m11:B,m12:A,m21:y,m22:v,textAlpha:E.alpha};},_drawAxis:function(){if(this._drawing){this._callLater=true;return;}this._drawing=true;this._callLater=false;if(this._layout){var C=this.get("styles"),z=C.label,M=C.majorTicks,v=M.display!="none",D,x=C.majorUnit,K,I,J=0,L=this._layout,H,N,F,B,A=this.get("labelFunction"),w=this.get("labelFunctionScope"),y=this.get("labelFormat"),E=this.get("graphic"),G=this.get("path");E.set("autoDraw",false);G.clear();this._labelRotationProps=this._getTextRotationProps(z);L.setTickOffsets.apply(this);H=this.getLength();F=L.getLineStart.apply(this);K=this.getTotalMajorUnits(x);I=this.getMajorUnitDistance(K,H,x);this.set("edgeOffset",this.getEdgeOffset(K,H)*0.5);D=this.getFirstPoint(F);this.drawLine(F,this.getLineEnd(D),C.line);if(v){L.drawTick.apply(this,[D,M]);}if(K<1){this._clearLabelCache();return;}this._createLabelCache();this._tickPoints=[];this.set("maxLabelSize",0);this._titleSize=0;for(;J<K;++J){if(v){L.drawTick.apply(this,[D,M]);}N=this.getPosition(D);B=this.getLabel(D,z);B.innerHTML=A.apply(w,[this.getLabelByIndex(J,K),y]);D=this.getNextPoint(D,I);}this._clearLabelCache();this._updateTitle();L.setSizeAndPosition.apply(this);if(this.get("overlapGraph")){L.offsetNodeForTick.apply(this,[this.get("contentBox")]);}L.setCalculatedSize.apply(this);for(J=0;J<K;++J){L.positionLabel.apply(this,[this.get("labels")[J],this._tickPoints[J]]);}}this._drawing=false;if(this._callLater){this._drawAxis();}else{this._updatePathElement();this.fire("axisRendered");}},_updatePathElement:function(){var v=this.get("path"),w=this.get("graphic");if(v){v.end();w._redraw();}},_updateTitle:function(){var x,z,y,A=this.get("title"),w=this._titleTextField,v;if(A!==null&&A!==undefined){y={rotation:"rotation",margin:"margin",alpha:"alpha"};z=this.get("styles").title;if(!w){w=b.config.doc.createElement("span");w.setAttribute("class","axisTitle");this.get("contentBox").appendChild(w);}w.setAttribute("style","display:block;white-space:nowrap;position:absolute;");for(x in z){if(z.hasOwnProperty(x)&&!y.hasOwnProperty(x)){w.style[x]=z[x];}}w.innerHTML=A;this._titleTextField=w;this._layout.positionTitle.apply(this,[w]);}else{if(w){v=w.parentNode;if(v){v.removeChild(w);}this._titleTextField=null;}}},getLabel:function(A,z){var x,w,y={rotation:"rotation",margin:"margin",alpha:"alpha"},v=this._labelCache;if(v.length>0){w=v.shift();}else{w=g.createElement("span");w.style.display="block";w.style.whiteSpace="nowrap";b.one(w).addClass("axisLabel");this.get("contentBox").appendChild(w);}w.style.position="absolute";this._labels.push(w);this._tickPoints.push({x:A.x,y:A.y});this._layout.updateMaxLabelSize.apply(this,[w]);for(x in z){if(z.hasOwnProperty(x)&&!y.hasOwnProperty(x)){w.style[x]=z[x];}}return w;},_createLabelCache:function(){if(this._labels){if(this._labelCache){this._labelCache=this._labels.concat(this._labelCache);}else{this._labelCache=this._labels.concat();}}else{this._clearLabelCache();}this._labels=[];},_clearLabelCache:function(){if(this._labelCache){var v=this._labelCache.length,x=0,w,y=this._labelCache;for(;x<v;++x){w=y[x];w.parentNode.removeChild(w);}}this._labelCache=[];},getLineEnd:function(y){var v=this.get("width"),x=this.get("height"),z=this.get("position");if(z==="top"||z==="bottom"){return{x:v,y:y.y};}else{return{x:y.x,y:x};}},getLength:function(){var x,z=this.get("styles"),A=z.padding,v=this.get("width"),y=this.get("height"),B=this.get("position");if(B==="top"||B==="bottom"){x=v-(A.left+A.right);}else{x=y-(A.top+A.bottom);}return x;},getFirstPoint:function(y){var v=this.get("styles"),z=this.get("position"),x=v.padding,w={x:y.x,y:y.y};if(z==="top"||z==="bottom"){w.x+=x.left+this.get("edgeOffset");}else{w.y+=this.get("height")-(x.top+this.get("edgeOffset"));}return w;},getNextPoint:function(v,w){var x=this.get("position");if(x==="top"||x==="bottom"){v.x=v.x+w;}else{v.y=v.y-w;}return v;},getLastPoint:function(){var x=this.get("styles"),y=x.padding,v=this.get("width"),z=this.get("position");if(z==="top"||z==="bottom"){return{x:v-y.right,y:y.top};}else{return{x:y.left,y:y.top};}},getPosition:function(v){var A,y=this.get("height"),x=this.get("styles"),z=x.padding,B=this.get("position"),w=this.get("dataType");if(B==="left"||B==="right"){if(w==="numeric"){A=(y-(z.top+z.bottom))-(v.y-z.top);}else{A=v.y-z.top;}}else{A=v.x-z.left;}return A;},_rotate:function(I,G){var z=G.rot,J=G.x,H=G.y,B,E,L,w,D,C,A,v,F,K;if(b.config.doc.createElementNS){I.style.MozTransformOrigin="0 0";I.style.MozTransform="translate("+J+"px,"+H+"px) rotate("+z+"deg)";I.style.webkitTransformOrigin="0 0";I.style.webkitTransform="translate("+J+"px,"+H+"px) rotate("+z+"deg)";I.style.msTransformOrigin="0 0";I.style.msTransform="translate("+J+"px,"+H+"px) rotate("+z+"deg)";I.style.OTransformOrigin="0 0";I.style.OTransform="translate("+J+"px,"+H+"px) rotate("+z+"deg)";}else{K=G.textAlpha;B=G.absRot;E=G.radCon;L=G.sinRadians;w=G.cosRadians;D=G.m11;C=G.m12;A=G.m21;v=G.m22;if(b.Lang.isNumber(K)&&K<1&&K>-1&&!isNaN(K)){F="progid:DXImageTransform.Microsoft.Alpha(Opacity="+Math.round(K*100)+")";}if(z!==0){if(F){F+=" ";}else{F="";}F+="progid:DXImageTransform.Microsoft.Matrix(M11="+D+" M12="+C+" M21="+A+" M22="+v+' sizingMethod="auto expand")';}if(F){I.style.filter=F;}}}},{ATTRS:{edgeOffset:{value:0},graphic:{},path:{readOnly:true,getter:function(){if(!this._path){var v=this.get("graphic");if(v){this._path=v.addShape({type:"path"});}}return this._path;}},node:{},position:{setOnce:true,setter:function(v){if(v=="none"){this.bindUI();
}return v;}},topTickOffset:{value:0},bottomTickOffset:{value:0},leftTickOffset:{value:0},rightTickOffset:{value:0},labels:{readOnly:true,getter:function(){return this._labels;}},tickPoints:{readOnly:true,getter:function(){if(this.get("position")=="none"){return this.get("styles").majorUnit.count;}return this._tickPoints;}},overlapGraph:{value:true,validator:function(v){return b.Lang.isBoolean(v);}},labelFunctionScope:{},maxLabelSize:{value:0},title:{}}});b.AxisType=b.Base.create("baseAxis",b.Axis,[],{bindUI:function(){this.after("dataReady",b.bind(this._dataChangeHandler,this));this.after("dataUpdate",b.bind(this._dataChangeHandler,this));this.after("minimumChange",b.bind(this._keyChangeHandler,this));this.after("maximumChange",b.bind(this._keyChangeHandler,this));this.after("keysChange",this._keyChangeHandler);this.after("dataProviderChange",this._dataProviderChangeHandler);this.after("stylesChange",this._updateHandler);this.after("positionChange",this._positionChangeHandler);this.after("overlapGraphChange",this._updateHandler);this.after("widthChange",this._handleSizeChange);this.after("heightChange",this._handleSizeChange);this.after("alwaysShowZeroChange",this._keyChangeHandler);this.after("roundingMethodChange",this._keyChangeHandler);},_dataProviderChangeHandler:function(y){var v=this.get("keyCollection").concat(),x=this.get("keys"),w;if(x){for(w in x){if(x.hasOwnProperty(w)){delete x[w];}}}if(v&&v.length){this.set("keys",v);}},GUID:"yuibaseaxis",_type:null,_setMaximum:null,_dataMaximum:null,_setMinimum:null,_data:null,_updateTotalDataFlag:true,_dataReady:false,addKey:function(v){this.set("keys",v);},_getKeyArray:function(y,z){var x=0,A,w=[],v=z.length;for(;x<v;++x){A=z[x];w[x]=A[y];}return w;},_setDataByKey:function(z,A){var y,B,w=[],x=this._dataClone.concat(),v=x.length;for(y=0;y<v;++y){B=x[y];w[y]=B[z];}this.get("keys")[z]=w;this._updateTotalDataFlag=true;},_updateTotalData:function(){var w=this.get("keys"),v;this._data=[];for(v in w){if(w.hasOwnProperty(v)){this._data=this._data.concat(w[v]);}}this._updateTotalDataFlag=false;},removeKey:function(w){var v=this.get("keys");if(v.hasOwnProperty(w)){delete v[w];this._keyChangeHandler();}},getKeyValueAt:function(w,v){var y=NaN,x=this.get("keys");if(x[w]&&x[w][v]){y=x[w][v];}return y;},getDataByKey:function(w){var v=this.get("keys");if(v[w]){return v[w];}return null;},_updateMinAndMax:function(){var A=this.get("data"),w=0,z=0,v,x,y;if(A&&A.length&&A.length>0){v=A.length;w=z=A[0];if(v>1){for(y=1;y<v;y++){x=A[y];if(isNaN(x)){continue;}w=Math.max(x,w);z=Math.min(x,z);}}}this._dataMaximum=w;this._dataMinimum=z;},getTotalMajorUnits:function(){var w,x=this.get("styles").majorUnit,v=this.get("length");if(x.determinant==="count"){w=x.count;}else{if(x.determinant==="distance"){w=(v/x.distance)+1;}}return w;},getMajorUnitDistance:function(v,y,w){var x;if(w.determinant==="count"){x=y/(v-1);}else{if(w.determinant==="distance"){x=w.distance;}}return x;},getEdgeOffset:function(w,v){return 0;},getLabelByIndex:function(z,w){var y=this.get("minimum"),v=this.get("maximum"),A=(v-y)/(w-1),x;w-=1;x=y+(z*A);return x;},_keyChangeHandler:function(v){this._updateMinAndMax();this.fire("dataUpdate");}},{ATTRS:{keys:{value:{},setter:function(z){var x={},w,v,y=this.get("dataProvider");if(b.Lang.isArray(z)){v=z.length;for(w=0;w<v;++w){x[z[w]]=this._getKeyArray(z[w],y);}}else{if(b.Lang.isString(z)){x=this.get("keys");x[z]=this._getKeyArray(z,y);}else{for(w in z){if(z.hasOwnProperty(w)){x[w]=this._getKeyArray(w,y);}}}}this._updateTotalDataFlag=true;return x;}},roundingMethod:{value:"niceNumber"},type:{readOnly:true,getter:function(){return this._type;}},dataProvider:{setter:function(v){return v;}},dataMaximum:{getter:function(){if(!this._dataMaximum){this._updateMinAndMax();}return this._dataMaximum;}},maximum:{getter:function(){var v=this.get("dataMaximum"),w=this.get("minimum");if(w===0&&v===0){v=10;}if(b.Lang.isNumber(this._setMaximum)){v=this._setMaximum;}return v;},setter:function(v){this._setMaximum=parseFloat(v);return v;}},dataMinimum:{getter:function(){if(!this._dataMinimum){this._updateMinAndMax();}return this._dataMinimum;}},minimum:{getter:function(){var v=this.get("dataMinimum");if(b.Lang.isNumber(this._setMinimum)){v=this._setMinimum;}return v;},setter:function(v){this._setMinimum=parseFloat(v);return v;}},setMax:{readOnly:true,getter:function(){return b.Lang.isNumber(this._setMaximum);}},setMin:{readOnly:true,getter:function(){return b.Lang.isNumber(this._setMinimum);}},data:{getter:function(){if(!this._data||this._updateTotalDataFlag){this._updateTotalData();}return this._data;}},keyCollection:{getter:function(){var x=this.get("keys"),w,v=[];for(w in x){if(x.hasOwnProperty(w)){v.push(w);}}return v;},readOnly:true},labelFunction:{value:function(w,v){return w;}}}});function l(v){l.superclass.constructor.apply(this,arguments);}l.NAME="numericAxis";l.ATTRS={alwaysShowZero:{value:true},labelFunction:{value:function(w,v){if(v){return b.DataType.Number.format(w,v);}return w;}},labelFormat:{value:{prefix:"",thousandsSeparator:"",decimalSeparator:"",decimalPlaces:"0",suffix:""}}};b.extend(l,b.AxisType,{_type:"numeric",getKeyValueAt:function(w,v){var y=NaN,x=this.get("keys");if(x[w]&&b.Lang.isNumber(parseFloat(x[w][v]))){y=x[w][v];}return y;},_getMinimumUnit:function(v,x,w){return this._getNiceNumber(Math.ceil((v-x)/w));},_getNiceNumber:function(x){var z=x,v=Math.ceil(Math.log(z)*0.4342944819032518),y=Math.pow(10,v),w;if(y/2>=z){w=Math.floor((y/2-z)/(Math.pow(10,v-1)/2));z=y/2-w*Math.pow(10,v-1)/2;}else{z=y;}if(!isNaN(z)){return z;}return x;},_updateMinAndMax:function(){var w=this.get("data"),B=0,v=0,z,y,x,C,D=this._setMaximum,A=this._setMinimum;if(!D&&!A){if(w&&w.length&&w.length>0){z=w.length;B=v=w[0];if(z>1){for(x=1;x<z;x++){y=w[x];if(isNaN(y)){if(b.Lang.isObject(y)){v=B=0;for(C in y){if(y.hasOwnProperty(C)){B=Math.max(y[C],B);v=Math.min(y[C],v);}}}B=D?this._setMaximum:B;v=A?this._setMinimum:v;continue;}B=D?this._setMaximum:Math.max(y,B);v=A?this._setMinimum:Math.min(y,v);
}}}this._roundMinAndMax(v,B);}},_roundMinAndMax:function(z,I){var C,x,J=z>=0,H=I>0,A,G,K,y,F,w,E,D=this.getTotalMajorUnits()-1,B=this.get("alwaysShowZero"),L=this.get("roundingMethod"),v=(I-z)/D>=1;if(L){if(L=="niceNumber"){C=this._getMinimumUnit(I,z,D);if(J&&H){if(B||z<C){z=0;}C=this._getMinimumUnit(I,z,D);I=this._roundUpToNearest(I,C);}else{if(H&&!J){y=Math.round(D/((-1*z)/I+1));y=Math.max(Math.min(y,D-1),1);F=D-y;w=Math.ceil(I/y);E=Math.floor(z/F)*-1;C=Math.max(w,E);C=this._getNiceNumber(C);I=C*y;z=C*F*-1;}else{if(B||I===0||I+C>0){I=0;C=this._getMinimumUnit(I,z,D);}else{I=this._roundUpToNearest(I,C);}z=I-(C*D);}}}else{if(L=="auto"){if(J&&H){if(B||z<(I-z)/D){z=0;}C=(I-z)/D;if(v){C=Math.ceil(C);}I=z+(C*D);}else{if(H&&!J){if(B){y=Math.round(D/((-1*z)/I+1));y=Math.max(Math.min(y,D-1),1);F=D-y;if(v){w=Math.ceil(I/y);E=Math.floor(z/F)*-1;}else{w=I/y;E=z/F*-1;}C=Math.max(w,E);I=C*y;z=C*F*-1;}else{C=(I-z)/D;if(v){C=Math.ceil(C);}z=this._roundDownToNearest(z,C);I=this._roundUpToNearest(I,C);}}else{C=(I-z)/D;if(v){C=Math.ceil(C);}if(B||I===0||I+C>0){I=0;C=(I-z)/D;if(v){Math.ceil(C);}}else{I=this._roundUpToNearest(I,C);}z=I-(C*D);}}}else{if(!isNaN(L)&&isFinite(L)){C=L;x=C*D;A=(I-z)>x;K=this._roundDownToNearest(z,C);G=this._roundUpToNearest(I,C);if(J&&H){if(B||K<=0){z=0;}else{z=K;}if(!A){I=z+x;}else{I=G;}}else{if(H&&!J){z=K;if(!A){I=z+x;}else{I=G;}}else{if(I===0||B){I=0;}else{I=G;}if(!A){z=I-x;}else{z=K;}}}}}}}this._dataMaximum=I;this._dataMinimum=z;},getLabelByIndex:function(z,w){var y=this.get("minimum"),v=this.get("maximum"),A=(v-y)/(w-1),x;w-=1;if(z===0){x=y;}else{if(z===w){x=v;}else{x=y+(z*A);x=this._roundToNearest(x,A);}}return x;},_roundToNearest:function(x,w){w=w||1;if(w===0){return x;}var v=Math.round(this._roundToPrecision(x/w,10))*w;return this._roundToPrecision(v,10);},_roundUpToNearest:function(w,v){v=v||1;if(v===0){return w;}return Math.ceil(this._roundToPrecision(w/v,10))*v;},_roundDownToNearest:function(w,v){v=v||1;if(v===0){return w;}return Math.floor(this._roundToPrecision(w/v,10))*v;},_roundToPrecision:function(x,v){v=v||0;var w=Math.pow(10,v);return Math.round(w*x)/w;}});b.NumericAxis=l;function e(v){e.superclass.constructor.apply(this,arguments);}e.NAME="stackedAxis";b.extend(e,b.NumericAxis,{_updateMinAndMax:function(){var B=0,w=0,A=0,v=0,z=0,x=0,C,y,D=this.get("keys");for(C in D){if(D.hasOwnProperty(C)){z=Math.max(z,D[C].length);}}for(;x<z;++x){A=0;v=0;for(C in D){if(D.hasOwnProperty(C)){y=D[C][x];if(isNaN(y)){continue;}if(y>=0){A+=y;}else{v+=y;}}}if(A>0){B=Math.max(B,A);}else{B=Math.max(B,v);}if(v<0){w=Math.min(w,v);}else{w=Math.min(w,A);}}this._roundMinAndMax(w,B);}});b.StackedAxis=e;function d(v){d.superclass.constructor.apply(this,arguments);}d.NAME="timeAxis";d.ATTRS={setMax:{readOnly:true,getter:function(){var v=this._getNumber(this._setMaximum);return(b.Lang.isNumber(v));}},setMin:{readOnly:true,getter:function(){var v=this._getNumber(this._setMinimum);return(b.Lang.isNumber(v));}},maximum:{getter:function(){var v=this._getNumber(this._setMaximum);if(!b.Lang.isNumber(v)){v=this._getNumber(this.get("dataMaximum"));}return v;},setter:function(v){this._setMaximum=this._getNumber(v);return v;}},minimum:{getter:function(){var v=this._getNumber(this._setMinimum);if(!b.Lang.isNumber(v)){v=this._getNumber(this.get("dataMinimum"));}return v;},setter:function(v){this._setMinimum=this._getNumber(v);return v;}},labelFunction:{value:function(w,v){w=b.DataType.Date.parse(w);if(v){return b.DataType.Date.format(w,{format:v});}return w;}},labelFormat:{value:"%b %d, %y"}};b.extend(d,b.AxisType,{GUID:"yuitimeaxis",_dataType:"time",getLabelByIndex:function(A,x){var z=this.get("minimum"),w=this.get("maximum"),v=this.get("position"),B,y;x-=1;B=((w-z)/x)*A;if(v=="bottom"||v=="top"){y=z+B;}else{y=w-B;}return y;},_getKeyArray:function(y,z){var A,w=[],x=0,B,v=z.length;for(;x<v;++x){A=z[x][y];if(b.Lang.isDate(A)){B=A.valueOf();}else{B=new Date(A);if(b.Lang.isDate(B)){B=B.valueOf();}else{if(!b.Lang.isNumber(A)){if(b.Lang.isNumber(parseFloat(A))){B=parseFloat(A);}else{if(typeof A!="string"){A=A.toString();}B=new Date(A).valueOf();}}else{B=A;}}}w[x]=B;}return w;},_setDataByKey:function(z,A){var B,w=[],y=this._dataClone.concat(),x,C,v=y.length;for(x=0;x<v;++x){B=y[x][z];if(b.Lang.isDate(B)){C=B.valueOf();}else{C=new Date(B);if(b.Lang.isDate(C)){C=C.valueOf();}else{if(!b.Lang.isNumber(B)){if(b.Lang.isNumber(parseFloat(B))){C=parseFloat(B);}else{if(typeof B!="string"){B=B.toString();}C=new Date(B).valueOf();}}else{C=B;}}}w[x]=C;}this.get("keys")[z]=w;this._updateTotalDataFlag=true;},_getNumber:function(v){if(b.Lang.isDate(v)){v=v.valueOf();}else{if(!b.Lang.isNumber(v)&&v){v=new Date(v).valueOf();}}return v;}});b.TimeAxis=d;function f(v){f.superclass.constructor.apply(this,arguments);}f.NAME="categoryAxis";b.extend(f,b.AxisType,{_indices:null,GUID:"yuicategoryaxis",_type:"category",_updateMinAndMax:function(){this._dataMaximum=Math.max(this.get("data").length-1,0);this._dataMinimum=0;},_getKeyArray:function(y,z){var x=0,A,w=[],B=[],v=z.length;if(!this._indices){this._indices={};}for(;x<v;++x){A=z[x];w[x]=x;B[x]=A[y];}this._indices[y]=w;return B;},_setDataByKey:function(z){var y,A,w=[],B=[],x=this._dataClone.concat(),v=x.length;if(!this._indices){this._indices={};}for(y=0;y<v;++y){A=x[y];w[y]=y;B[y]=A[z];}this._indices[z]=w;this.get("keys")[z]=B.concat();this._updateTotalDataFlag=true;},getDataByKey:function(w){if(!this._indices){this.get("keys");}var v=this._indices;if(v[w]){return v[w];}return null;},getTotalMajorUnits:function(w,v){return this.get("data").length;},getMajorUnitDistance:function(v,y,w){var x;if(w.determinant==="count"){x=y/v;}else{if(w.determinant==="distance"){x=w.distance;}}return x;},getEdgeOffset:function(w,v){return v/w;},getLabelByIndex:function(y,w){var x,z=this.get("data"),v=this.get("position");if(v=="bottom"||v=="top"){x=z[y];}else{x=z[w-(y+1)];}return x;}});b.CategoryAxis=f;function j(){}j.prototype={getCurveControlPoints:function(y,B){var z=[],x=1,w=y.length-1,v=[],A=[];if(w<1){return null;
}z[0]={startx:y[0],starty:B[0],endx:y[1],endy:B[1]};if(w===1){z[0].ctrlx1=(2*y[0]+y[1])/3;z[0].ctrly2=(2*B[0]+B[1])/3;z[0].ctrlx2=2*z[0].ctrlx1-y[0];z[0].ctrly2=2*z[0].ctrly1-B[0];return z;}for(;x<w;++x){z.push({startx:Math.round(y[x]),starty:Math.round(B[x]),endx:Math.round(y[x+1]),endy:Math.round(B[x+1])});v[x]=4*y[x]+2*y[x+1];A[x]=4*B[x]+2*B[x+1];}v[0]=y[0]+(2*y[1]);v[w-1]=(8*y[w-1]+y[w])/2;v=this.getControlPoints(v.concat());A[0]=B[0]+(2*B[1]);A[w-1]=(8*B[w-1]+B[w])/2;A=this.getControlPoints(A.concat());for(x=0;x<w;++x){z[x].ctrlx1=Math.round(v[x]);z[x].ctrly1=Math.round(A[x]);if(x<w-1){z[x].ctrlx2=Math.round(2*y[x+1]-v[x+1]);z[x].ctrly2=Math.round(2*B[x+1]-A[x+1]);}else{z[x].ctrlx2=Math.round((y[w]+v[w-1])/2);z[x].ctrly2=Math.round((B[w]+A[w-1])/2);}}return z;},getControlPoints:function(B){var y=B.length,w=[],A=[],v=2,z=1;w[0]=B[0]/v;for(;z<y;++z){A[z]=1/v;v=(z<y-1?4:3.5)-A[z];w[z]=(B[z]-w[z-1])/v;}for(z=1;z<y;++z){w[y-z-1]-=A[y-z]*w[y-z];}return w;}};b.CurveUtil=j;function i(){}i.prototype={_stackCoordinates:function(){var F=this.get("direction"),x=this.get("order"),D=this.get("type"),G=this.get("graph"),A=G.get("height"),w=G.seriesTypes[D],z=0,C,E=this.get("xcoords"),y=this.get("ycoords"),B,v;if(x===0){return;}B=w[x-1].get("xcoords").concat();v=w[x-1].get("ycoords").concat();if(F==="vertical"){C=B.length;for(;z<C;++z){if(!isNaN(B[z])&&!isNaN(E[z])){E[z]+=B[z];}}}else{C=v.length;for(;z<C;++z){if(!isNaN(v[z])&&!isNaN(y[z])){y[z]=v[z]-(A-y[z]);}}}}};b.StackingUtil=i;function h(){}h.prototype={_lineDefaults:null,_getGraphic:function(){var v=this.get("graphic")||this.get("graph").get("graphic");if(!this._lineGraphic){this._lineGraphic=v.addShape({type:"path"});}this._lineGraphic.clear();return this._lineGraphic;},_toggleVisible:function(v){if(this._lineGraphic){this._lineGraphic.set("visible",v);}},drawLines:function(){if(this.get("xcoords").length<1){return;}var C=b.Lang.isNumber,D=this.get("xcoords").concat(),S=this.get("ycoords").concat(),O=this.get("direction"),J=O==="vertical"?S.length:D.length,Q,v,y=true,R,P,N,K,I,z=this.get("styles").line,L=z.lineType,G=z.color||this._getDefaultColor(this.get("graphOrder"),"line"),E=z.alpha,M=z.dashLength,B=z.gapSpace,A=z.connectDiscontinuousPoints,w=z.discontinuousType,x=z.discontinuousDashLength,H=z.discontinuousGapSpace,F=this._getGraphic();F.set("stroke",{weight:z.weight,color:G,opacity:E});for(I=0;I<J;I=++I){N=D[I];K=S[I];v=C(N)&&C(K);if(!v){Q=v;continue;}if(y){y=false;F.moveTo(N,K);}else{if(Q){if(L!="dashed"){F.lineTo(N,K);}else{this.drawDashedLine(R,P,N,K,M,B);}}else{if(!A){F.moveTo(N,K);}else{if(w!="solid"){this.drawDashedLine(R,P,N,K,x,H);}else{F.lineTo(N,K);}}}}R=N;P=K;Q=true;}F.end();},drawSpline:function(){if(this.get("xcoords").length<1){return;}var H=this.get("xcoords"),B=this.get("ycoords"),J=this.getCurveControlPoints(H,B),C=J.length,E,D,w,v,I,G,A=0,K=this.get("styles").line,L=this._getGraphic(),F=K.alpha,z=K.color||this._getDefaultColor(this.get("graphOrder"),"line");L.set("stroke",{weight:K.weight,color:z,opacity:F});L.moveTo(H[0],B[0]);for(;A<C;A=++A){I=J[A].endx;G=J[A].endy;E=J[A].ctrlx1;D=J[A].ctrlx2;w=J[A].ctrly1;v=J[A].ctrly2;L.curveTo(E,w,D,v,I,G);}L.end();},drawDashedLine:function(F,K,v,H,x,w){x=x||10;w=w||10;var z=x+w,C=v-F,G=H-K,I=Math.sqrt(Math.pow(C,2)+Math.pow(G,2)),A=Math.floor(Math.abs(I/z)),y=Math.atan2(G,C),E=F,D=K,B,J=this._getGraphic();C=Math.cos(y)*z;G=Math.sin(y)*z;for(B=0;B<A;++B){J.moveTo(E,D);J.lineTo(E+Math.cos(y)*x,D+Math.sin(y)*x);E+=C;D+=G;}J.moveTo(E,D);I=Math.sqrt((v-E)*(v-E)+(H-D)*(H-D));if(I>x){J.lineTo(E+Math.cos(y)*x,D+Math.sin(y)*x);}else{if(I>0){J.lineTo(E+Math.cos(y)*I,D+Math.sin(y)*I);}}J.moveTo(v,H);},_getLineDefaults:function(){return{alpha:1,weight:6,lineType:"solid",dashLength:10,gapSpace:10,connectDiscontinuousPoints:true,discontinuousType:"solid",discontinuousDashLength:10,discontinuousGapSpace:10};}};b.augment(h,b.Attribute);b.Lines=h;function t(v){var w={area:{getter:function(){return this._defaults||this._getAreaDefaults();},setter:function(y){var x=this._defaults||this._getAreaDefaults();this._defaults=b.merge(x,y);}}};this.addAttrs(w,v);this.get("styles");}t.prototype={_getPath:function(){var v=this._path;if(!v){v=this.get("graph").get("graphic").addShape({type:"path"});this._path=v;}return v;},_toggleVisible:function(v){if(this._path){this._path.set("visible",v);}},drawFill:function(D,z){if(D.length<1){return;}var C=D.length,w=D[0],v=z[0],B=w,A=v,H,F,y=1,E=this.get("styles").area,G=this._getPath(),x=E.color||this._getDefaultColor(this.get("graphOrder"),"slice");G.clear();G.set("fill",{color:x,opacity:E.alpha});G.set("stroke",{weight:0});G.moveTo(w,v);for(;y<C;y=++y){H=D[y];F=z[y];if(isNaN(F)){B=H;A=F;continue;}G.lineTo(H,F);B=H;A=F;}G.end();},drawAreaSpline:function(){if(this.get("xcoords").length<1){return;}var I=this.get("xcoords"),D=this.get("ycoords"),K=this.getCurveControlPoints(I,D),E=K.length,G,F,A,z,J,H,C=0,w=I[0],v=D[0],L=this.get("styles").area,M=this._getPath(),B=L.color||this._getDefaultColor(this.get("graphOrder"),"slice");M.set("fill",{color:B,opacity:L.alpha});M.set("stroke",{weight:0});M.moveTo(w,v);for(;C<E;C=++C){J=K[C].endx;H=K[C].endy;G=K[C].ctrlx1;F=K[C].ctrlx2;A=K[C].ctrly1;z=K[C].ctrly2;M.curveTo(G,A,F,z,J,H);}if(this.get("direction")==="vertical"){M.lineTo(this._leftOrigin,H);M.lineTo(this._leftOrigin,v);}else{M.lineTo(J,this._bottomOrigin);M.lineTo(w,this._bottomOrigin);}M.lineTo(w,v);M.end();},drawStackedAreaSpline:function(){if(this.get("xcoords").length<1){return;}var H=this.get("xcoords"),S=this.get("ycoords"),G,N=this.get("order"),z=this.get("type"),v=this.get("graph"),A=v.seriesTypes[z],w,K,P,J,I,R,Q,E,C,O=0,F,D,B=this.get("styles").area,L=this._getPath(),M=B.color||this._getDefaultColor(this.get("graphOrder"),"slice");F=H[0];D=S[0];G=this.getCurveControlPoints(H,S);P=G.length;L.set("fill",{color:M,opacity:B.alpha});L.set("stroke",{weight:0});L.moveTo(F,D);for(;O<P;O=++O){E=G[O].endx;C=G[O].endy;J=G[O].ctrlx1;I=G[O].ctrlx2;R=G[O].ctrly1;Q=G[O].ctrly2;
L.curveTo(J,R,I,Q,E,C);}if(N>0){w=A[N-1].get("xcoords").concat().reverse();K=A[N-1].get("ycoords").concat().reverse();G=this.getCurveControlPoints(w,K);O=0;P=G.length;L.lineTo(w[0],K[0]);for(;O<P;O=++O){E=G[O].endx;C=G[O].endy;J=G[O].ctrlx1;I=G[O].ctrlx2;R=G[O].ctrly1;Q=G[O].ctrly2;L.curveTo(J,R,I,Q,E,C);}}else{if(this.get("direction")==="vertical"){L.lineTo(this._leftOrigin,S[S.length-1]);L.lineTo(this._leftOrigin,D);}else{L.lineTo(H[H.length-1],this._bottomOrigin);L.lineTo(F,this._bottomOrigin);}}L.lineTo(F,D);L.end();},_defaults:null,_getClosingPoints:function(){var v=this.get("xcoords").concat(),w=this.get("ycoords").concat();if(this.get("direction")==="vertical"){v.push(this._leftOrigin);v.push(this._leftOrigin);w.push(w[w.length-1]);w.push(w[0]);}else{v.push(v[v.length-1]);v.push(v[0]);w.push(this._bottomOrigin);w.push(this._bottomOrigin);}v.push(v[0]);w.push(w[0]);return[v,w];},_getStackedClosingPoints:function(){var z=this.get("order"),C=this.get("type"),F=this.get("graph"),D=this.get("direction"),x=F.seriesTypes[C],B,y,E=this.get("xcoords").concat(),A=this.get("ycoords").concat(),w=E[0],v=A[0];if(z>0){B=x[z-1].get("xcoords").concat();y=x[z-1].get("ycoords").concat();E=E.concat(B.concat().reverse());A=A.concat(y.concat().reverse());E.push(E[0]);A.push(A[0]);}else{if(D==="vertical"){E.push(this._leftOrigin);E.push(this._leftOrigin);A.push(A[A.length-1]);A.push(v);}else{E.push(E[E.length-1]);E.push(w);A.push(this._bottomOrigin);A.push(this._bottomOrigin);}}return[E,A];},_getAreaDefaults:function(){return{};}};b.augment(t,b.Attribute);b.Fills=t;function s(v){var w={markers:{getter:function(){return this._markers;}}};this.addAttrs(w,v);}s.prototype={_plotDefaults:null,drawPlots:function(){if(!this.get("xcoords")||this.get("xcoords").length<1){return;}var L=b.Lang.isNumber,x=b.clone(this.get("styles").marker),K=x.width,D=x.height,J=this.get("xcoords"),B=this.get("ycoords"),C=0,E=J.length,I=B[0],z,A,F=K/2,y=D/2,H=null,G=null,v=this.get("graphOrder");if(b.Lang.isArray(x.fill.color)){H=x.fill.color.concat();}if(b.Lang.isArray(x.border.color)){G=x.border.colors.concat();}this._createMarkerCache();for(;C<E;++C){I=parseFloat(B[C]-y);z=parseFloat(J[C]-F);if(!L(z)||!L(I)){this._markers.push(null);continue;}if(H){x.fill.color=H[C%H.length];}if(G){x.border.colors=G[C%G.length];}x.x=z;x.y=I;A=this.getMarker(x,v,C);}this._clearMarkerCache();},_getPlotDefaults:function(){var v={fill:{type:"solid",alpha:1,colors:null,alphas:null,ratios:null},border:{weight:1,alpha:1},width:10,height:10,shape:"circle"};v.fill.color=this._getDefaultColor(this.get("graphOrder"),"fill");v.border.color=this._getDefaultColor(this.get("graphOrder"),"border");return v;},_markers:null,_markerCache:null,getMarker:function(z,v,y){var w,x=z.border;z.id="series_"+v+"_"+y;x.opacity=x.alpha;z.stroke=x;z.fill.opacity=z.fill.alpha;if(this._markerCache.length>0){while(!w){if(this._markerCache.length<1){w=this._createMarker(z,v,y);break;}w=this._markerCache.shift();}w.set(z);}else{w=this._createMarker(z,v,y);}this._markers.push(w);return w;},_createMarker:function(z,v,y){var A=this.get("graphic"),x,w=b.clone(z);A.set("autoDraw",false);w.type=w.shape;x=A.addShape(w);x.addClass(m);return x;},_createMarkerCache:function(){if(this._markers&&this._markers.length>0){this._markerCache=this._markers.concat();}else{this._markerCache=[];}this._markers=[];},_toggleVisible:function(z){var w,y=this.get("markers"),x=0,v;if(y){v=y.length;for(;x<v;++x){w=y[x];if(w){w.set("visible",z);}}}},_clearMarkerCache:function(){var v=this._markerCache.length,x=0,w;while(this._markerCache.length>0){w=this._markerCache.shift();if(w){w.destroy();}}},updateMarkerState:function(C,A){if(this._markers[A]){var E,B,F=b.clone(this.get("styles").marker),v=this._getState(C),D=this.get("xcoords"),z=this.get("ycoords"),y=this._markers[A],x=v=="off"||!F[v]?F:F[v];x.fill.color=this._getItemColor(x.fill.color,A);x.border.color=this._getItemColor(x.border.color,A);x.stroke=x.border;y.set(x);E=x.width;B=x.height;y.set("x",(D[A]-E/2));y.set("y",(z[A]-B/2));y.set("visible",this.get("visible"));}},_getItemColor:function(w,v){if(b.Lang.isArray(w)){return w[v%w.length];}return w;},_setStyles:function(v){v=this._parseMarkerStyles(v);return b.Renderer.prototype._setStyles.apply(this,[v]);},_parseMarkerStyles:function(w){if(w.marker){var v=this._getPlotDefaults();w.marker=this._mergeStyles(w.marker,v);if(w.marker.over){w.marker.over=this._mergeStyles(w.marker.over,w.marker);}if(w.marker.down){w.marker.down=this._mergeStyles(w.marker.down,w.marker);}}return w;},_getState:function(v){var w;switch(v){case"mouseout":w="off";break;case"mouseover":w="over";break;case"mouseup":w="over";break;case"mousedown":w="down";break;}return w;},_stateSyles:null};b.augment(s,b.Attribute);b.Plots=s;function u(){}u.prototype={drawSeries:function(){if(this.get("xcoords").length<1){return;}var R=b.clone(this.get("styles").marker),S,L,I=this.get("xcoords"),U=this.get("ycoords"),O=0,P=I.length,J=U[0],x=this.get("type"),w=this.get("graph"),E=w.seriesTypes[x],Q=E.length,G=0,H=0,A=0,D,M,N=this.get("order"),F=this.get("graphOrder"),z,C,K,y,T,v=null,B=null;if(b.Lang.isArray(R.fill.color)){v=R.fill.color.concat();}if(b.Lang.isArray(R.border.color)){B=R.border.colors.concat();}if(this.get("direction")=="vertical"){K="height";y="width";}else{K="width";y="height";}S=R[K];L=R[y];this._createMarkerCache();for(;O<Q;++O){M=E[O];G+=M.get("styles").marker[K];if(N>O){A=G;}}H=P*G;if(H>w.get(K)){D=w.get(K)/H;G*=D;A*=D;S*=D;S=Math.max(S,1);}A-=G/2;for(O=0;O<P;++O){if(isNaN(I[O])||isNaN(U[O])){this._markers.push(null);continue;}T=this._getMarkerDimensions(I[O],U[O],L,A);if(!isNaN(T.calculatedSize)&&T.calculatedSize>0){J=T.top;z=T.left;R[K]=S;R[y]=T.calculatedSize;R.x=z;R.y=J;if(v){R.fill.color=v[O%v.length];}if(B){R.border.colors=B[O%B.length];}C=this.getMarker(R,F,O);}else{this._markers.push(null);}}this._clearMarkerCache();},_defaultFillColors:["#66007f","#a86f41","#295454","#996ab2","#e8cdb7","#90bdbd","#000000","#c3b8ca","#968373","#678585"],_getPlotDefaults:function(){var v={fill:{type:"solid",alpha:1,colors:null,alphas:null,ratios:null},border:{weight:0,alpha:1},width:12,height:12,shape:"rect",padding:{top:0,left:0,right:0,bottom:0}};
v.fill.color=this._getDefaultColor(this.get("graphOrder"),"fill");v.border.color=this._getDefaultColor(this.get("graphOrder"),"border");return v;}};b.Histogram=u;b.CartesianSeries=b.Base.create("cartesianSeries",b.Base,[b.Renderer],{_xDisplayName:null,_yDisplayName:null,_leftOrigin:null,_bottomOrigin:null,render:function(){this._setCanvas();this.addListeners();this.set("rendered",true);this.validate();},addListeners:function(){var w=this.get("xAxis"),v=this.get("yAxis");if(w){w.after("dataReady",b.bind(this._xDataChangeHandler,this));w.after("dataUpdate",b.bind(this._xDataChangeHandler,this));}if(v){v.after("dataReady",b.bind(this._yDataChangeHandler,this));v.after("dataUpdate",b.bind(this._yDataChangeHandler,this));}this.after("xAxisChange",this._xAxisChangeHandler);this.after("yAxisChange",this._yAxisChangeHandler);this.after("stylesChange",function(y){var x=this._updateAxisData();if(x){this.draw();}});this.after("widthChange",function(y){var x=this._updateAxisData();if(x){this.draw();}});this.after("heightChange",function(y){var x=this._updateAxisData();if(x){this.draw();}});this.after("visibleChange",this._handleVisibleChange);},_xAxisChangeHandler:function(w){var v=this.get("xAxis");v.after("dataReady",b.bind(this._xDataChangeHandler,this));v.after("dataUpdate",b.bind(this._xDataChangeHandler,this));},_yAxisChangeHandler:function(w){var v=this.get("yAxis");v.after("dataReady",b.bind(this._yDataChangeHandler,this));v.after("dataUpdate",b.bind(this._yDataChangeHandler,this));},GUID:"yuicartesianseries",_xDataChangeHandler:function(v){var w=this._updateAxisData();if(w){this.draw();}},_yDataChangeHandler:function(v){var w=this._updateAxisData();if(w){this.draw();}},_updateAxisData:function(){var z=this.get("xAxis"),w=this.get("yAxis"),x=this.get("xKey"),v=this.get("yKey"),y,A;if(!z||!w||!x||!v){return false;}A=z.getDataByKey(x);y=w.getDataByKey(v);if(!A||!y){return false;}this.set("xData",A.concat());this.set("yData",y.concat());return true;},validate:function(){if((this.get("xData")&&this.get("yData"))||this._updateAxisData()){this.draw();}},_setCanvas:function(){var v=this.get("graph"),w=v.get("graphic");this.set("graphic",w);},setAreaData:function(){var N=b.Lang.isNumber,ab,Z,A=this.get("graph"),J=A.get("width"),U=A.get("height"),H=this.get("xAxis"),x=this.get("yAxis"),C=this.get("xData").concat(),X=this.get("yData").concat(),R,V,ae=H.getEdgeOffset(C.length,J),G=x.getEdgeOffset(X.length,U),O=this.get("styles").padding,Q=O.left,Y=O.top,E=J-(Q+O.right+ae),T=U-(Y+O.bottom+G),M=[],ad=[],ac=H.get("maximum"),W=H.get("minimum"),z=x.get("maximum"),v=x.get("minimum"),D=E/(ac-W),K=T/(z-v),F,aa=this.get("direction"),S=0,I=[],P=[],B=this.get("xMarkerPlaneOffset"),y=this.get("yMarkerPlaneOffset"),L=this.get("graphic");L.set("width",J);L.set("height",U);F=C.length;ae*=0.5;G*=0.5;if(aa==="vertical"){X=X.reverse();}this._leftOrigin=Math.round(((0-W)*D)+Q+ae);this._bottomOrigin=Math.round((T+Y+G)-(0-v)*K);for(;S<F;++S){R=parseFloat(C[S]);V=parseFloat(X[S]);if(N(R)){ab=Math.round((((R-W)*D)+Q+ae));}else{ab=NaN;}if(N(V)){Z=Math.round(((T+Y+G)-(V-v)*K));}else{Z=NaN;}M.push(ab);ad.push(Z);I.push({start:ab-B,end:ab+B});P.push({start:Z-y,end:Z+y});}this.set("xcoords",M);this.set("ycoords",ad);this.set("xMarkerPlane",I);this.set("yMarkerPlane",P);},draw:function(){var y=this.get("graph"),v=y.get("width"),x=y.get("height");if(this.get("rendered")){if((isFinite(v)&&isFinite(x)&&v>0&&x>0)&&((this.get("xData")&&this.get("yData"))||this._updateAxisData())){if(this._drawing){this._callLater=true;return;}this._drawing=true;this._callLater=false;this.setAreaData();if(this.get("xcoords")&&this.get("ycoords")){this.drawSeries();}this._drawing=false;if(this._callLater){this.draw();}else{this._toggleVisible(this.get("visible"));this.fire("drawingComplete");}}}},_defaultPlaneOffset:4,_getDefaultStyles:function(){return{padding:{top:0,left:0,right:0,bottom:0}};},_defaultLineColors:["#426ab3","#d09b2c","#000000","#b82837","#b384b5","#ff7200","#779de3","#cbc8ba","#7ed7a6","#007a6c"],_defaultFillColors:["#6084d0","#eeb647","#6c6b5f","#d6484f","#ce9ed1","#ff9f3b","#93b7ff","#e0ddd0","#94ecba","#309687"],_defaultBorderColors:["#205096","#b38206","#000000","#94001e","#9d6fa0","#e55b00","#5e85c9","#adab9e","#6ac291","#006457"],_defaultSliceColors:["#66007f","#a86f41","#295454","#996ab2","#e8cdb7","#90bdbd","#000000","#c3b8ca","#968373","#678585"],_getDefaultColor:function(y,z){var w={line:this._defaultLineColors,fill:this._defaultFillColors,border:this._defaultBorderColors,slice:this._defaultSliceColors},x=w[z],v=x.length;y=y||0;if(y>=v){y=y%v;}z=z||"fill";return w[z][y];},_handleVisibleChange:function(v){this._toggleVisible(this.get("visible"));}},{ATTRS:{xDisplayName:{getter:function(){return this._xDisplayName||this.get("xKey");},setter:function(v){this._xDisplayName=v;return v;}},yDisplayName:{getter:function(){return this._yDisplayName||this.get("yKey");},setter:function(v){this._yDisplayName=v;return v;}},categoryDisplayName:{readOnly:true,getter:function(){return this.get("direction")=="vertical"?this.get("yDisplayName"):this.get("xDisplayName");}},valueDisplayName:{readOnly:true,getter:function(){return this.get("direction")=="vertical"?this.get("xDisplayName"):this.get("yDisplayName");}},type:{value:"cartesian"},order:{},graphOrder:{},xcoords:{},ycoords:{},graph:{},xAxis:{},yAxis:{},xKey:{},yKey:{},xData:{},yData:{},rendered:{value:false},width:{readOnly:true,getter:function(){this.get("graph").get("width");}},height:{readOnly:true,getter:function(){this.get("graph").get("height");}},visible:{value:true},xMarkerPlane:{},yMarkerPlane:{},xMarkerPlaneOffset:{getter:function(){var v=this.get("styles").marker;if(v&&v.width&&isFinite(v.width)){return v.width*0.5;}return this._defaultPlaneOffset;}},yMarkerPlaneOffset:{getter:function(){var v=this.get("styles").marker;if(v&&v.height&&isFinite(v.height)){return v.height*0.5;}return this._defaultPlaneOffset;}},direction:{value:"horizontal"}}});b.MarkerSeries=b.Base.create("markerSeries",b.CartesianSeries,[b.Plots],{drawSeries:function(){this.drawPlots();
},_setStyles:function(v){if(!v.marker){v={marker:v};}v=this._parseMarkerStyles(v);return b.MarkerSeries.superclass._mergeStyles.apply(this,[v,this._getDefaultStyles()]);},_getDefaultStyles:function(){var v=this._mergeStyles({marker:this._getPlotDefaults()},b.MarkerSeries.superclass._getDefaultStyles());return v;}},{ATTRS:{type:{value:"marker"}}});b.LineSeries=b.Base.create("lineSeries",b.CartesianSeries,[b.Lines],{drawSeries:function(){this.drawLines();},_setStyles:function(v){if(!v.line){v={line:v};}return b.LineSeries.superclass._setStyles.apply(this,[v]);},_getDefaultStyles:function(){var v=this._mergeStyles({line:this._getLineDefaults()},b.LineSeries.superclass._getDefaultStyles());return v;}},{ATTRS:{type:{value:"line"}}});b.SplineSeries=b.Base.create("splineSeries",b.LineSeries,[b.CurveUtil,b.Lines],{drawSeries:function(){this.drawSpline();}},{ATTRS:{type:{value:"spline"}}});b.AreaSplineSeries=b.Base.create("areaSplineSeries",b.CartesianSeries,[b.Fills,b.CurveUtil],{drawSeries:function(){this.drawAreaSpline();}},{ATTRS:{type:{value:"areaSpline"}}});b.StackedSplineSeries=b.Base.create("stackedSplineSeries",b.SplineSeries,[b.StackingUtil],{setAreaData:function(){b.StackedSplineSeries.superclass.setAreaData.apply(this);this._stackCoordinates.apply(this);}},{ATTRS:{type:{value:"stackedSpline"}}});b.StackedMarkerSeries=b.Base.create("stackedMarkerSeries",b.MarkerSeries,[b.StackingUtil],{setAreaData:function(){b.StackedMarkerSeries.superclass.setAreaData.apply(this);this._stackCoordinates.apply(this);}},{ATTRS:{type:{value:"stackedMarker"}}});b.ColumnSeries=b.Base.create("columnSeries",b.MarkerSeries,[b.Histogram],{_getMarkerDimensions:function(w,v,y,z){var x={left:w+z};if(this._bottomOrigin>=v){x.top=v;x.calculatedSize=this._bottomOrigin-x.top;}else{x.top=this._bottomOrigin;x.calculatedSize=v-this._bottomOrigin;}return x;},updateMarkerState:function(x,J){if(this._markers[J]){var C=b.clone(this.get("styles").marker),M,y=this._getState(x),F=this.get("xcoords"),N=this.get("ycoords"),A=this._markers[J],v=this.get("graph"),w,B=v.seriesTypes[this.get("type")],K=B.length,E=0,z=0,H,G=0,D=[],I=this.get("order"),L;M=y=="off"||!C[y]?C:C[y];M.fill.color=this._getItemColor(M.fill.color,J);M.border.color=this._getItemColor(M.border.color,J);L=this._getMarkerDimensions(F[J],N[J],C.width,z);M.height=L.calculatedSize;A.set(M);for(;G<K;++G){D[G]=F[J]+E;w=B[G].get("styles").marker;E+=w.width;if(I>G){z=E;}z-=E/2;}for(G=0;G<K;++G){H=B[G].get("markers")[J];if(H&&H!==undefined){H.set("x",(D[G]-E/2));}}}}},{ATTRS:{type:{value:"column"}}});b.BarSeries=b.Base.create("barSeries",b.MarkerSeries,[b.Histogram],{_getMarkerDimensions:function(w,v,y,z){var x={top:v+z};if(w>=this._leftOrigin){x.left=this._leftOrigin;x.calculatedSize=w-x.left;}else{x.left=w;x.calculatedSize=this._leftOrigin-w;}return x;},updateMarkerState:function(x,J){if(this._markers[J]){var C=b.clone(this.get("styles").marker),M,y=this._getState(x),E=this.get("xcoords"),N=this.get("ycoords"),A=this._markers[J],v=this.get("graph"),B=v.seriesTypes[this.get("type")],K=B.length,w,D=0,z=0,G,F=0,I=[],H=this.get("order"),L;M=y=="off"||!C[y]?C:C[y];M.fill.color=this._getItemColor(M.fill.color,J);M.border.color=this._getItemColor(M.border.color,J);L=this._getMarkerDimensions(E[J],N[J],C.height,z);M.width=L.calculatedSize;A.set(M);for(;F<K;++F){I[F]=N[J]+D;w=B[F].get("styles").marker;D+=w.height;if(H>F){z=D;}z-=D/2;}for(F=0;F<K;++F){G=B[F].get("markers")[J];if(G&&G!==undefined){G.set("y",(I[F]-D/2));}}}}},{ATTRS:{type:{value:"bar"},direction:{value:"vertical"}}});b.AreaSeries=b.Base.create("areaSeries",b.CartesianSeries,[b.Fills],{drawSeries:function(){this.drawFill.apply(this,this._getClosingPoints());},_setStyles:function(v){if(!v.area){v={area:v};}return b.AreaSeries.superclass._setStyles.apply(this,[v]);},_getDefaultStyles:function(){var v=this._mergeStyles({area:this._getAreaDefaults()},b.AreaSeries.superclass._getDefaultStyles());return v;}},{ATTRS:{type:{value:"area"}}});b.StackedAreaSplineSeries=b.Base.create("stackedAreaSplineSeries",b.AreaSeries,[b.CurveUtil,b.StackingUtil],{drawSeries:function(){this._stackCoordinates();this.drawStackedAreaSpline();}},{ATTRS:{type:{value:"stackedAreaSpline"}}});b.ComboSeries=b.Base.create("comboSeries",b.CartesianSeries,[b.Fills,b.Lines,b.Plots],{drawSeries:function(){if(this.get("showAreaFill")){this.drawFill.apply(this,this._getClosingPoints());}if(this.get("showLines")){this.drawLines();}if(this.get("showMarkers")){this.drawPlots();}},_toggleVisible:function(z){var y,w,v,x;if(this.get("showAreaFill")&&this._path){this._path.set("visible",z);}if(this.get("showLines")){this._lineGraphic.set("visible",z);}if(this.get("showMarkers")){y=this.get("markers");if(y){x=0;v=y.length;for(;x<v;++x){w=y[x];if(w){w.set("visible",z);}}}}},_getDefaultStyles:function(){var v=b.ComboSeries.superclass._getDefaultStyles();v.line=this._getLineDefaults();v.marker=this._getPlotDefaults();v.area=this._getAreaDefaults();return v;}},{ATTRS:{type:{value:"combo"},showAreaFill:{value:false},showLines:{value:true},showMarkers:{value:true},marker:{lazyAdd:false,getter:function(){return this.get("styles").marker;},setter:function(v){this.set("styles",{marker:v});}},line:{lazyAdd:false,getter:function(){return this.get("styles").line;},setter:function(v){this.set("styles",{line:v});}},area:{lazyAdd:false,getter:function(){return this.get("styles").area;},setter:function(v){this.set("styles",{area:v});}}}});b.StackedComboSeries=b.Base.create("stackedComboSeries",b.ComboSeries,[b.StackingUtil],{setAreaData:function(){b.StackedComboSeries.superclass.setAreaData.apply(this);this._stackCoordinates.apply(this);},drawSeries:function(){if(this.get("showAreaFill")){this.drawFill.apply(this,this._getStackedClosingPoints());}if(this.get("showLines")){this.drawLines();}if(this.get("showMarkers")){this.drawPlots();}}},{ATTRS:{type:{value:"stackedCombo"},showAreaFill:{value:true}}});b.ComboSplineSeries=b.Base.create("comboSplineSeries",b.ComboSeries,[b.CurveUtil],{drawSeries:function(){if(this.get("showAreaFill")){this.drawAreaSpline();
}if(this.get("showLines")){this.drawSpline();}if(this.get("showMarkers")){this.drawPlots();}}},{ATTRS:{type:{value:"comboSpline"}}});b.StackedComboSplineSeries=b.Base.create("stackedComboSplineSeries",b.StackedComboSeries,[b.CurveUtil],{drawSeries:function(){if(this.get("showAreaFill")){this.drawStackedAreaSpline();}if(this.get("showLines")){this.drawSpline();}if(this.get("showMarkers")){this.drawPlots();}}},{ATTRS:{type:{value:"stackedComboSpline"},showAreaFill:{value:true}}});b.StackedLineSeries=b.Base.create("stackedLineSeries",b.LineSeries,[b.StackingUtil],{setAreaData:function(){b.StackedLineSeries.superclass.setAreaData.apply(this);this._stackCoordinates.apply(this);}},{ATTRS:{type:{value:"stackedLine"}}});b.StackedAreaSeries=b.Base.create("stackedAreaSeries",b.AreaSeries,[b.StackingUtil],{setAreaData:function(){b.StackedAreaSeries.superclass.setAreaData.apply(this);this._stackCoordinates.apply(this);},drawSeries:function(){this.drawFill.apply(this,this._getStackedClosingPoints());}},{ATTRS:{type:{value:"stackedArea"}}});b.StackedColumnSeries=b.Base.create("stackedColumnSeries",b.ColumnSeries,[b.StackingUtil],{drawSeries:function(){if(this.get("xcoords").length<1){return;}var I=b.Lang.isNumber,Q=this.get("styles").marker,H=Q.width,P=Q.height,J=this.get("xcoords"),R=this.get("ycoords"),N=0,O=J.length,K=R[0],z=this.get("type"),x=this.get("graph"),E=x.seriesTypes[z],C,M=this.get("order"),G=this.get("graphOrder"),A,D,B,F,L,v=M===0,y=O*H;this._createMarkerCache();if(y>this.get("width")){C=this.width/y;H*=C;H=Math.max(H,1);}if(!v){B=E[M-1];F=B.get("negativeBaseValues");L=B.get("positiveBaseValues");}else{F=[];L=[];}this.set("negativeBaseValues",F);this.set("positiveBaseValues",L);for(N=0;N<O;++N){A=J[N];K=R[N];if(!I(K)||!I(A)){if(v){F[N]=this._bottomOrigin;L[N]=this._bottomOrigin;}this._markers.push(null);continue;}if(v){P=Math.abs(this._bottomOrigin-K);if(K<this._bottomOrigin){L[N]=K;F[N]=this._bottomOrigin;}else{if(K>this._bottomOrigin){L[N]=this._bottomOrigin;F[N]=K;K-=P;}else{L[N]=K;F[N]=K;}}}else{if(K>this._bottomOrigin){K+=(F[N]-this._bottomOrigin);P=K-F[N];F[N]=K;K-=P;}else{if(K<=this._bottomOrigin){K=L[N]-(this._bottomOrigin-K);P=L[N]-K;L[N]=K;}}}if(!isNaN(P)&&P>0){A-=H/2;Q.width=H;Q.height=P;Q.x=A;Q.y=K;D=this.getMarker(Q,G,N);}else{this._markers.push(null);}}this._clearMarkerCache();},updateMarkerState:function(z,y){if(this._markers[y]){var A,w,B=this._getState(z),x=this.get("xcoords"),v=this._markers[y],C=0;A=this.get("styles").marker;C=A.width*0.5;w=B=="off"||!A[B]?A:A[B];w.height=v.get("height");w.x=(x[y]-C);w.y=v.get("y");w.id=v.get("id");v.set(w);}},_getPlotDefaults:function(){var v={fill:{type:"solid",alpha:1,colors:null,alphas:null,ratios:null},border:{weight:0,alpha:1},width:24,height:24,shape:"rect",padding:{top:0,left:0,right:0,bottom:0}};v.fill.color=this._getDefaultColor(this.get("graphOrder"),"fill");v.border.color=this._getDefaultColor(this.get("graphOrder"),"border");return v;}},{ATTRS:{type:{value:"stackedColumn"},negativeBaseValues:{value:null},positiveBaseValues:{value:null}}});b.StackedBarSeries=b.Base.create("stackedBarSeries",b.BarSeries,[b.StackingUtil],{drawSeries:function(){if(this.get("xcoords").length<1){return;}var H=b.Lang.isNumber,P=this.get("styles").marker,G=P.width,O=P.height,I=this.get("xcoords"),R=this.get("ycoords"),M=0,N=I.length,J=R[0],y=this.get("type"),x=this.get("graph"),D=x.seriesTypes[y],B,L=this.get("order"),F=this.get("graphOrder"),z,C,A,E,K,v=L===0,Q=N*O;this._createMarkerCache();if(Q>this.get("height")){B=this.height/Q;O*=B;O=Math.max(O,1);}if(!v){A=D[L-1];E=A.get("negativeBaseValues");K=A.get("positiveBaseValues");}else{E=[];K=[];}this.set("negativeBaseValues",E);this.set("positiveBaseValues",K);for(M=0;M<N;++M){J=R[M];z=I[M];if(!H(J)||!H(z)){if(v){K[M]=this._leftOrigin;E[M]=this._leftOrigin;}this._markers.push(null);continue;}if(v){G=Math.abs(z-this._leftOrigin);if(z>this._leftOrigin){K[M]=z;E[M]=this._leftOrigin;z-=G;}else{if(z<this._leftOrigin){K[M]=this._leftOrigin;E[M]=z;}else{K[M]=z;E[M]=this._leftOrigin;}}}else{if(z<this._leftOrigin){z=E[M]-(this._leftOrigin-I[M]);G=E[M]-z;E[M]=z;}else{if(z>=this._leftOrigin){z+=(K[M]-this._leftOrigin);G=z-K[M];K[M]=z;z-=G;}}}if(!isNaN(G)&&G>0){J-=O/2;P.width=G;P.height=O;P.x=z;P.y=J;C=this.getMarker(P,F,M);}else{this._markers.push(null);}}this._clearMarkerCache();},updateMarkerState:function(z,x){if(this._markers[x]){var B=this._getState(z),C=this.get("ycoords"),v=this._markers[x],A=this.get("styles").marker,y=A.height,w=B=="off"||!A[B]?A:A[B];w.y=(C[x]-y/2);w.x=v.get("x");w.width=v.get("width");w.id=v.get("id");v.set(w);}},_getPlotDefaults:function(){var v={fill:{type:"solid",alpha:1,colors:null,alphas:null,ratios:null},border:{weight:0,alpha:1},width:24,height:24,shape:"rect",padding:{top:0,left:0,right:0,bottom:0}};v.fill.color=this._getDefaultColor(this.get("graphOrder"),"fill");v.border.color=this._getDefaultColor(this.get("graphOrder"),"border");return v;}},{ATTRS:{type:{value:"stackedBar"},direction:{value:"vertical"},negativeBaseValues:{value:null},positiveBaseValues:{value:null}}});b.PieSeries=b.Base.create("pieSeries",b.MarkerSeries,[],{_map:null,_image:null,_setMap:function(){var x="pieHotSpotMapi_"+Math.round(100000*Math.random()),v=this.get("graph").get("contentBox"),w;if(this._image){v.removeChild(this._image);while(this._areaNodes&&this._areaNodes.length>0){w=this._areaNodes.shift();this._map.removeChild(w);}v.removeChild(this._map);}this._image=g.createElement("img");this._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAABCAYAAAD9yd/wAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABJJREFUeNpiZGBgSGPAAgACDAAIkABoFyloZQAAAABJRU5ErkJggg==";v.appendChild(this._image);this._image.setAttribute("usemap","#"+x);this._image.style.zIndex=3;this._image.style.opacity=0;this._image.setAttribute("alt","imagemap");this._map=g.createElement("map");this._map.style.zIndex=5;v.appendChild(this._map);this._map.setAttribute("name",x);this._map.setAttribute("id",x);this._areaNodes=[];
},_categoryDisplayName:null,_valueDisplayName:null,addListeners:function(){var v=this.get("categoryAxis"),w=this.get("valueAxis");if(v){v.after("dataReady",b.bind(this._categoryDataChangeHandler,this));v.after("dataUpdate",b.bind(this._categoryDataChangeHandler,this));}if(w){w.after("dataReady",b.bind(this._valueDataChangeHandler,this));w.after("dataUpdate",b.bind(this._valueDataChangeHandler,this));}this.after("categoryAxisChange",this.categoryAxisChangeHandler);this.after("valueAxisChange",this.valueAxisChangeHandler);this.after("stylesChange",this._updateHandler);},validate:function(){this.draw();this._renderered=true;},_categoryAxisChangeHandler:function(v){var w=this.get("categoryAxis");w.after("dataReady",b.bind(this._categoryDataChangeHandler,this));w.after("dataUpdate",b.bind(this._categoryDataChangeHandler,this));},_valueAxisChangeHandler:function(v){var w=this.get("valueAxis");w.after("dataReady",b.bind(this._valueDataChangeHandler,this));w.after("dataUpdate",b.bind(this._valueDataChangeHandler,this));},GUID:"pieseries",_categoryDataChangeHandler:function(v){if(this._rendered&&this.get("categoryKey")&&this.get("valueKey")){this.draw();}},_valueDataChangeHandler:function(v){if(this._rendered&&this.get("categoryKey")&&this.get("valueKey")){this.draw();}},draw:function(){var y=this.get("graph"),v=y.get("width"),x=y.get("height");if(isFinite(v)&&isFinite(x)&&v>0&&x>0){this._rendered=true;this.drawSeries();this.fire("drawingComplete");}},drawPlots:function(){var y=this.get("valueAxis").getDataByKey(this.get("valueKey")).concat(),z=this.get("categoryAxis").getDataByKey(this.get("categoryKey")).concat(),C=0,aa=y.length,J=this.get("styles").marker,v=J.fill.colors,ab=J.fill.alphas||["1"],G=J.border.colors,A=[J.border.weight],B=[J.border.alpha],ac=A.concat(),L=G.concat(),N=B.concat(),X,Z,O=J.padding,x=this.get("graph"),M=x.get("width")-(O.left+O.right),W=x.get("height")-(O.top+O.bottom),U=-90,H=M/2,P=W/2,D=Math.min(H,P),V=0,S,Y=0,R,T,E,K,F,I=this.get("graphOrder"),Q=b.Graphic.NAME=="canvasGraphic";for(;V<aa;++V){S=y[V];y.push(S);if(!isNaN(S)){C+=S;}}X=v?v.concat():null;Z=ab?ab.concat():null;this._createMarkerCache();if(Q){this._setMap();this._image.width=M;this._image.height=W;}for(V=0;V<aa;V++){S=y[V];if(C===0){Y=360/y.length;}else{Y=360*(S/C);}Y=Math.round(Y);if(X&&X.length<1){X=v.concat();}if(Z&&Z.length<1){Z=ab.concat();}if(ac&&ac.length<1){ac=A.concat();}if(ac&&L.length<1){L=G.concat();}if(N&&N.length<1){N=B.concat();}E=ac?ac.shift():null;R=L?L.shift():null;T=N?N.shift():null;U+=Y;K={border:{color:R,weight:E,alpha:T},fill:{color:X?X.shift():this._getDefaultColor(V,"slice"),alpha:Z?Z.shift():null},type:"pieslice",arc:Y,radius:D,startAngle:U,cx:H,cy:P,width:M,height:W};F=this.getMarker(K,I,V);if(Q){this._addHotspot(K,I,V);}}this._clearMarkerCache();},_addHotspot:function(A,N,B){var K=g.createElement("area"),M=1,G=A.cx,E=A.cy,D=A.arc,L=A.startAngle-D,J=A.startAngle,w=A.radius,H=G+Math.cos(L/180*Math.PI)*w,F=E+Math.sin(L/180*Math.PI)*w,P=G+Math.cos(J/180*Math.PI)*w,O=E+Math.sin(J/180*Math.PI)*w,S=Math.floor(D/10)-1,z=(D/(Math.floor(D/10))/180)*Math.PI,C=Math.atan((F-E)/(H-G)),R=G+", "+E+", "+H+", "+F,Q,I,v;for(M=1;M<=S;++M){v=z*M;Q=Math.cos(C+v);I=Math.sin(C+v);if(L<=90){R+=", "+(G+(w*Math.cos(C+(z*M))));R+=", "+(E+(w*Math.sin(C+(z*M))));}else{R+=", "+(G-(w*Math.cos(C+(z*M))));R+=", "+(E-(w*Math.sin(C+(z*M))));}}R+=", "+P+", "+O;R+=", "+G+", "+E;this._map.appendChild(K);K.setAttribute("class","SERIES_MARKER");K.setAttribute("id","hotSpot_"+N+"_"+B);K.setAttribute("shape","polygon");K.setAttribute("coords",R);this._areaNodes.push(K);},updateMarkerState:function(z,x){if(this._markers[x]){var B=this._getState(z),w,y,v=this._markers[x],A=this.get("styles").marker;w=B=="off"||!A[B]?A:A[B];y=this._mergeStyles(w,{});y.fill.color=y.fill.colors[x%y.fill.colors.length];y.fill.alpha=y.fill.alphas[x%y.fill.alphas.length];v.set(y);}},_createMarker:function(z,v,y){var A=this.get("graphic"),x,w=b.clone(z);A.set("autoDraw",false);x=A.addShape(w);x.addClass("SERIES_MARKER");return x;},_clearMarkerCache:function(){var v=this._markerCache.length,x=0,w;for(;x<v;++x){w=this._markerCache[x];if(w){w.destroy();}}this._markerCache=[];},_getPlotDefaults:function(){var v={padding:{top:0,left:0,right:0,bottom:0},fill:{alphas:["1"]},border:{weight:0,alpha:1}};v.fill.colors=this._defaultSliceColors;v.border.colors=this._defaultBorderColors;return v;},_defaultLineColors:["#426ab3","#d09b2c","#000000","#b82837","#b384b5","#ff7200","#779de3","#cbc8ba","#7ed7a6","#007a6c"],_defaultFillColors:["#6084d0","#eeb647","#6c6b5f","#d6484f","#ce9ed1","#ff9f3b","#93b7ff","#e0ddd0","#94ecba","#309687"],_defaultBorderColors:["#205096","#b38206","#000000","#94001e","#9d6fa0","#e55b00","#5e85c9","#adab9e","#6ac291","#006457"],_defaultSliceColors:["#66007f","#a86f41","#295454","#996ab2","#e8cdb7","#90bdbd","#000000","#c3b8ca","#968373","#678585"],_getDefaultColor:function(y,z){var w={line:this._defaultLineColors,fill:this._defaultFillColors,border:this._defaultBorderColors,slice:this._defaultSliceColors},x=w[z],v=x.length;y=y||0;if(y>=v){y=y%v;}z=z||"fill";return w[z][y];}},{ATTRS:{type:{value:"pie"},order:{},graph:{},categoryAxis:{value:null,validator:function(v){return v!==this.get("categoryAxis");}},valueAxis:{value:null,validator:function(v){return v!==this.get("valueAxis");}},categoryKey:{value:null,validator:function(v){return v!==this.get("categoryKey");}},valueKey:{value:null,validator:function(v){return v!==this.get("valueKey");}},categoryDisplayName:{setter:function(v){this._categoryDisplayName=v;return v;},getter:function(){return this._categoryDisplayName||this.get("categoryKey");}},valueDisplayName:{setter:function(v){this._valueDisplayName=v;return v;},getter:function(){return this._valueDisplayName||this.get("valueKey");}},slices:null}});b.Gridlines=b.Base.create("gridlines",b.Base,[b.Renderer],{_path:null,remove:function(){var v=this._path;if(v){v.destroy();}},draw:function(){if(this.get("axis")&&this.get("graph")){this._drawGridlines();
}},_drawGridlines:function(){var K,v=this.get("axis"),E=v.get("position"),H,B=0,y,F=this.get("direction"),I=this.get("graph"),G=I.get("width"),D=I.get("height"),J=this.get("styles").line,A=J.color,C=J.weight,z=J.alpha,x=F=="vertical"?this._verticalLine:this._horizontalLine;if(E=="none"){H=[];y=v.get("styles").majorUnit.count;for(;B<y;++B){H[B]={x:G*(B/(y-1)),y:D*(B/(y-1))};}B=0;}else{H=v.get("tickPoints");y=H.length;}K=I.get("gridlines");K.set("width",G);K.set("height",D);K.set("stroke",{weight:C,color:A,opacity:z});for(;B<y;++B){x(K,H[B],G,D);}K.end();},_horizontalLine:function(z,y,v,x){z.moveTo(0,y.y);z.lineTo(v,y.y);},_verticalLine:function(z,y,v,x){z.moveTo(y.x,0);z.lineTo(y.x,x);},_getDefaultStyles:function(){var v={line:{color:"#f0efe9",weight:1,alpha:1}};return v;}},{ATTRS:{direction:{},axis:{},graph:{}}});b.Graph=b.Base.create("graph",b.Widget,[b.Renderer],{bindUI:function(){var v=this.get("boundingBox");v.setStyle("position","absolute");this.after("widthChange",this._sizeChangeHandler);this.after("heightChange",this._sizeChangeHandler);this.after("stylesChange",this._updateStyles);},syncUI:function(){var v,y,z,D=this.get("seriesCollection"),A,B=0,C=D.length,w=this.get("horizontalGridlines"),x=this.get("verticalGridlines");if(this.get("showBackground")){v=this.get("background");y=this.get("contentBox");z=this.get("styles").background;z.stroke=z.border;z.stroke.opacity=z.stroke.alpha;z.fill.opacity=z.fill.alpha;z.width=this.get("width");z.height=this.get("height");z.type=z.shape;v.set(z);}for(;B<C;++B){A=D[B];if(A instanceof b.CartesianSeries){A.render();}}if(w&&w instanceof b.Gridlines){w.draw();}if(x&&x instanceof b.Gridlines){x.draw();}},seriesTypes:null,getSeriesByIndex:function(x){var v=this.get("seriesCollection"),w;if(v&&v.length>x){w=v[x];}return w;},getSeriesByKey:function(x){var w=this._seriesDictionary,v;if(w&&w.hasOwnProperty(x)){v=w[x];}return v;},addDispatcher:function(v){if(!this._dispatchers){this._dispatchers=[];}this._dispatchers.push(v);},_seriesCollection:null,_seriesDictionary:null,_parseSeriesCollection:function(z){if(!z){return;}var w=z.length,y=0,x,v;if(!this.get("seriesCollection")){this._seriesCollection=[];}if(!this._seriesDictionary){this._seriesDictionary={};}if(!this.seriesTypes){this.seriesTypes=[];}for(;y<w;++y){x=z[y];if(!(x instanceof b.CartesianSeries)&&!(x instanceof b.PieSeries)){this._createSeries(x);continue;}this._addSeries(x);}w=this.get("seriesCollection").length;for(y=0;y<w;++y){x=this.get("seriesCollection")[y];v=x.get("direction")=="horizontal"?"yKey":"xKey";this._seriesDictionary[x.get(v)]=x;}},_addSeries:function(x){var y=x.get("type"),A=this.get("seriesCollection"),z=A.length,w=this.seriesTypes,v;if(!x.get("graph")){x.set("graph",this);}A.push(x);if(!w.hasOwnProperty(y)){this.seriesTypes[y]=[];}v=this.seriesTypes[y];x.set("graphOrder",z);x.set("order",v.length);v.push(x);this.addDispatcher(x);x.after("drawingComplete",b.bind(this._drawingCompleteHandler,this));this.fire("seriesAdded",x);},_createSeries:function(z){var A=z.type,B=this.get("seriesCollection"),x=this.seriesTypes,w,v,y;z.graph=this;if(!x.hasOwnProperty(A)){x[A]=[];}w=x[A];z.graph=this;z.order=w.length;z.graphOrder=B.length;v=this._getSeries(z.type);y=new v(z);this.addDispatcher(y);y.after("drawingComplete",b.bind(this._drawingCompleteHandler,this));w.push(y);B.push(y);},_getSeries:function(v){var w;switch(v){case"line":w=b.LineSeries;break;case"column":w=b.ColumnSeries;break;case"bar":w=b.BarSeries;break;case"area":w=b.AreaSeries;break;case"candlestick":w=b.CandlestickSeries;break;case"ohlc":w=b.OHLCSeries;break;case"stackedarea":w=b.StackedAreaSeries;break;case"stackedline":w=b.StackedLineSeries;break;case"stackedcolumn":w=b.StackedColumnSeries;break;case"stackedbar":w=b.StackedBarSeries;break;case"markerseries":w=b.MarkerSeries;break;case"spline":w=b.SplineSeries;break;case"areaspline":w=b.AreaSplineSeries;break;case"stackedspline":w=b.StackedSplineSeries;break;case"stackedareaspline":w=b.StackedAreaSplineSeries;break;case"stackedmarkerseries":w=b.StackedMarkerSeries;break;case"pie":w=b.PieSeries;break;case"combo":w=b.ComboSeries;break;case"stackedcombo":w=b.StackedComboSeries;break;case"combospline":w=b.ComboSplineSeries;break;case"stackedcombospline":w=b.StackedComboSplineSeries;break;default:w=b.CartesianSeries;break;}return w;},_markerEventHandler:function(A){var y=A.type,v=A.currentTarget,z=v.getAttribute("id").split("_"),x=this.getSeriesByIndex(z[1]),w=z[2];x.updateMarkerState(y,w);},_dispatchers:null,_updateStyles:function(){var w=this.get("styles").background,v=w.border;v.opacity=v.alpha;w.stroke=v;w.fill.opacity=w.fill.alpha;this.get("background").set(w);this._sizeChangeHandler();},_sizeChangeHandler:function(C){var v=this.get("horizontalGridlines"),D=this.get("verticalGridlines"),x=this.get("width"),A=this.get("height"),z=this.get("styles").background,B,y;if(z&&z.border){B=z.border.weight||0;}if(this.get("showBackground")){y=this.get("background");if(x&&A){y.set("width",x);y.set("height",A);}}if(this._gridlines){this._gridlines.clear();}if(v&&v instanceof b.Gridlines){v.draw();}if(D&&D instanceof b.Gridlines){D.draw();}this._drawSeries();},_drawSeries:function(){if(this._drawing){this._callLater=true;return;}var x,w,v,y=this.get("graphic");y.set("autoDraw",false);this._callLater=false;this._drawing=true;x=this.get("seriesCollection");w=0;v=x.length;for(;w<v;++w){x[w].draw();if(!x[w].get("xcoords")||!x[w].get("ycoords")){this._callLater=true;break;}}this._drawing=false;if(this._callLater){this._drawSeries();}},_drawingCompleteHandler:function(x){var w=x.currentTarget,y,v=b.Array.indexOf(this._dispatchers,w);if(v>-1){this._dispatchers.splice(v,1);}if(this._dispatchers.length<1){y=this.get("graphic");if(!y.get("autoDraw")){y._redraw();}this.fire("chartRendered");}},_getDefaultStyles:function(){var v={background:{shape:"rect",fill:{color:"#faf9f2"},border:{color:"#dad8c9",weight:1}}};return v;}},{ATTRS:{seriesCollection:{getter:function(){return this._seriesCollection;
},setter:function(v){this._parseSeriesCollection(v);return this._seriesCollection;}},showBackground:{value:true},seriesDictionary:{readOnly:true,getter:function(){return this._seriesDictionary;}},horizontalGridlines:{value:null,setter:function(w){var v=this.get("horizontalGridlines");if(v&&v instanceof b.Gridlines){v.remove();}if(w instanceof b.Gridlines){v=w;w.set("graph",this);return w;}else{if(w&&w.axis){v=new b.Gridlines({direction:"horizontal",axis:w.axis,graph:this,styles:w.styles});return v;}}}},verticalGridlines:{value:null,setter:function(w){var v=this.get("verticalGridlines");if(v&&v instanceof b.Gridlines){v.remove();}if(w instanceof b.Gridlines){v=w;w.set("graph",this);return w;}else{if(w&&w.axis){v=new b.Gridlines({direction:"vertical",axis:w.axis,graph:this,styles:w.styles});return v;}}}},background:{getter:function(){if(!this._background){this._backgroundGraphic=new b.Graphic({render:this.get("contentBox")});this._backgroundGraphic.get("node").style.zIndex=-2;this._background=this._backgroundGraphic.addShape({type:"rect"});}return this._background;}},gridlines:{readOnly:true,getter:function(){if(!this._gridlines){this._gridlinesGraphic=new b.Graphic({render:this.get("contentBox")});this._gridlinesGraphic.get("node").style.zIndex=-1;this._gridlines=this._gridlinesGraphic.addShape({type:"path"});}return this._gridlines;}},graphic:{readOnly:true,getter:function(){if(!this._graphic){this._graphic=new b.Graphic({render:this.get("contentBox")});this._graphic.set("autoDraw",false);}return this._graphic;}}}});function n(){}n.ATTRS={tooltip:{valueFn:"_getTooltip",setter:function(v){return this._updateTooltip(v);}},categoryKey:{value:"category"},categoryType:{value:"category"},interactionType:{value:"marker"},dataProvider:{setter:function(v){return this._setDataValues(v);}},seriesKeys:{},axesCollection:{},graph:{valueFn:"_getGraph"}};n.prototype={_getGraph:function(){var v=new b.Graph();v.after("chartRendered",b.bind(function(w){this.fire("chartRendered");},this));return v;},getSeries:function(x){var v=null,w=this.get("graph");if(w){if(b.Lang.isNumber(x)){v=w.getSeriesByIndex(x);}else{v=w.getSeriesByKey(x);}}return v;},getAxisByKey:function(x){var v,w=this.get("axes");if(w.hasOwnProperty(x)){v=w[x];}return v;},getCategoryAxis:function(){var w,v=this.get("categoryKey"),x=this.get("axes");if(x.hasOwnProperty(v)){w=x[v];}return w;},_direction:"horizontal",_dataProvider:null,_setDataValues:function(A){if(b.Lang.isArray(A[0])){var z,C=[],x=A[0],y=0,w=x.length,B,v=A.length;for(;y<w;++y){z={category:x[y]};for(B=1;B<v;++B){z["series"+B]=A[B][y];}C[y]=z;}return C;}return A;},_seriesCollection:null,_setSeriesCollection:function(v){this._seriesCollection=v;},_getAxisClass:function(v){return this._axisClass[v];},_axisClass:{stacked:b.StackedAxis,numeric:b.NumericAxis,category:b.CategoryAxis,time:b.TimeAxis},_axes:null,renderUI:function(){var v=this.get("tooltip");this.get("boundingBox").setStyle("position","absolute");this.get("contentBox").setStyle("position","absolute");this._addAxes();this._addSeries();if(v&&v.show){this._addTooltip();}this._redraw();},bindUI:function(){this.after("tooltipChange",b.bind(this._tooltipChangeHandler,this));this.after("widthChange",this._sizeChanged);this.after("heightChange",this._sizeChanged);this.after("dataProviderChange",this._dataProviderChangeHandler);var z=this.get("tooltip"),C="mouseout",y="mouseover",w=this.get("contentBox"),B=this.get("interactionType"),x=0,v,A="."+m;if(B=="marker"){C=z.hideEvent;y=z.showEvent;b.delegate("mouseenter",b.bind(this._markerEventDispatcher,this),w,A);b.delegate("mousedown",b.bind(this._markerEventDispatcher,this),w,A);b.delegate("mouseup",b.bind(this._markerEventDispatcher,this),w,A);b.delegate("mouseleave",b.bind(this._markerEventDispatcher,this),w,A);b.delegate("click",b.bind(this._markerEventDispatcher,this),w,A);b.delegate("mousemove",b.bind(this._positionTooltip,this),w,A);}else{if(B=="planar"){this._overlay.on("mousemove",b.bind(this._planarEventDispatcher,this));this.on("mouseout",this.hideTooltip);}}if(z){if(C&&y&&C==y){this.on(B+"Event:"+C,this.toggleTooltip);}else{if(y){this.on(B+"Event:"+y,z[B+"EventHandler"]);}if(C){if(b.Lang.isArray(C)){v=C.length;for(;x<v;++x){this.on(B+"Event:"+C[x],this.hideTooltip);}}this.on(B+"Event:"+C,this.hideTooltip);}}}},_markerEventDispatcher:function(B){var D=B.type,v=this.get("contentBox"),H=B.currentTarget,G=H.getAttribute("id").split("_"),w=G[1],z=this.getSeries(parseInt(w,10)),A=G[2],C=this.getSeriesItems(z,A),F=B.pageX-v.getX(),E=B.pageY-v.getY();if(D=="mouseenter"){D="mouseover";}else{if(D=="mouseleave"){D="mouseout";}}z.updateMarkerState(D,A);B.halt();this.fire("markerEvent:"+D,{categoryItem:C.category,valueItem:C.value,node:H,x:F,y:E,series:z,index:A,seriesIndex:w});},_dataProviderChangeHandler:function(z){var w=this.get("dataProvider"),y=this.get("axes"),v,x;for(v in y){if(y.hasOwnProperty(v)){x=y[v];if(x instanceof b.Axis){x.set("dataProvider",w);}}}},toggleTooltip:function(w){var v=this.get("tooltip");if(v.visible){this.hideTooltip();}else{v.markerEventHandler.apply(this,[w]);}},_showTooltip:function(A,v,B){var w=this.get("tooltip"),z=w.node;if(A){w.visible=true;z.set("innerHTML",A);z.setStyle("top",B+"px");z.setStyle("left",v+"px");z.setStyle("visibility","visible");}},_positionTooltip:function(B){var z=this.get("tooltip"),A=z.node,w=this.get("contentBox"),v=(B.pageX+10)-w.getX(),C=(B.pageY+10)-w.getY();if(A){A.setStyle("left",v+"px");A.setStyle("top",C+"px");}},hideTooltip:function(){var v=this.get("tooltip"),w=v.node;v.visible=false;w.set("innerHTML","");w.setStyle("left",-10000);w.setStyle("top",-10000);w.setStyle("visibility","hidden");},_addTooltip:function(){var w=this.get("tooltip"),y=this.get("id")+"_tooltip",v=this.get("contentBox"),x=g.getElementById(y);if(x){v.removeChild(x);}w.node.setAttribute("id",y);w.node.setStyle("visibility","hidden");v.appendChild(w.node);},_updateTooltip:function(A){var x=this._tooltip,v,z,y,w={markerLabelFunction:"markerLabelFunction",planarLabelFunction:"planarLabelFunction",showEvent:"showEvent",hideEvent:"hideEvent",markerEventHandler:"markerEventHandler",planarEventHandler:"planarEventHandler",show:"show"};
if(b.Lang.isObject(A)){z=A.styles;y=b.one(A.node)||x.node;if(z){for(v in z){if(z.hasOwnProperty(v)){y.setStyle(v,z[v]);}}}for(v in w){if(A.hasOwnProperty(v)){x[v]=A[v];}}x.node=y;}return x;},_getTooltip:function(){var w=g.createElement("div"),v={markerLabelFunction:this._tooltipLabelFunction,planarLabelFunction:this._planarLabelFunction,show:true,hideEvent:"mouseout",showEvent:"mouseover",markerEventHandler:function(y){var x=this.get("tooltip"),z=x.markerLabelFunction.apply(this,[y.categoryItem,y.valueItem,y.index,y.series,y.seriesIndex]);this._showTooltip(z,y.x+10,y.y+10);},planarEventHandler:function(y){var x=this.get("tooltip"),A,z=this.get("categoryAxis");A=x.planarLabelFunction.apply(this,[z,y.valueItem,y.index,y.items,y.seriesIndex]);this._showTooltip(A,y.x+10,y.y+10);}};w.setAttribute("id",this.get("id")+"_tooltip");w=b.one(w);w.setStyle("fontSize","85%");w.setStyle("opacity","0.83");w.setStyle("position","absolute");w.setStyle("paddingTop","2px");w.setStyle("paddingRight","5px");w.setStyle("paddingBottom","4px");w.setStyle("paddingLeft","2px");w.setStyle("backgroundColor","#fff");w.setStyle("border","1px solid #dbdccc");w.setStyle("pointerEvents","none");w.setStyle("zIndex",3);w.setStyle("whiteSpace","noWrap");w.setStyle("visibility","hidden");v.node=b.one(w);this._tooltip=v;return v;},_planarLabelFunction:function(B,F,D,z,x){var v="",E,A=0,C=z.length,w,y;if(B){v+=B.get("labelFunction").apply(this,[B.getKeyValueAt(this.get("categoryKey"),D),B.get("labelFormat")]);}for(;A<C;++A){y=z[A];if(y.get("visible")){E=F[A];w=E.axis;v+="<br/><span>"+E.displayName+": "+w.get("labelFunction").apply(this,[w.getKeyValueAt(E.key,D),w.get("labelFormat")])+"</span>";}}return v;},_tooltipLabelFunction:function(A,v,y,x,w){var z=A.displayName+":&nbsp;"+A.axis.get("labelFunction").apply(this,[A.value,A.axis.get("labelFormat")])+"<br/>"+v.displayName+":&nbsp;"+v.axis.get("labelFunction").apply(this,[v.value,v.axis.get("labelFormat")]);return z;},_tooltipChangeHandler:function(z){if(this.get("tooltip")){var x=this.get("tooltip"),y=x.node,w=x.show,v=this.get("contentBox");if(y&&w){if(!v.contains(y)){this._addTooltip();}}}}};b.ChartBase=n;b.CartesianChart=b.Base.create("cartesianChart",b.Widget,[b.ChartBase],{renderUI:function(){var x=this.get("tooltip"),v,w=c("overlay");this.get("boundingBox").setStyle("position","absolute");this.get("contentBox").setStyle("position","absolute");this._addAxes();this._addGridlines();this._addSeries();if(x&&x.show){this._addTooltip();}this.get("styles");if(this.get("interactionType")=="planar"){v=g.createElement("div");this.get("contentBox").appendChild(v);this._overlay=b.one(v);this._overlay.setStyle("position","absolute");this._overlay.setStyle("background","#fff");this._overlay.setStyle("opacity",0);this._overlay.addClass(w);this._overlay.setStyle("zIndex",4);}this._redraw();},_planarEventDispatcher:function(Q){var w=this.get("graph"),C=this.get("boundingBox"),L=w.get("contentBox"),H=Q.pageX,R=H-L.getX(),F=H-C.getX(),G=Q.pageY,P=G-L.getY(),E=G-C.getY(),v=w.get("seriesCollection"),I,N=0,D,B=this._selectedIndex,S,K=[],z=[],J=[],T=this.get("direction"),U,M=T=="horizontal"?R:P,A=T=="horizontal"?v[0].get("xMarkerPlane"):v[0].get("yMarkerPlane"),O=A.length;for(;N<O;++N){if(M<=A[N].end&&M>=A[N].start){D=N;break;}}O=v.length;for(N=0;N<O;++N){I=v[N];U=I.get("markers");if(U&&!isNaN(B)&&B>-1){I.updateMarkerState("mouseout",B);}if(I.get("ycoords")[D]>-1){if(U&&!isNaN(D)&&D>-1){I.updateMarkerState("mouseover",D);}S=this.getSeriesItems(I,D);z.push(S.category);J.push(S.value);K.push(I);}}this._selectedIndex=D;if(D>-1){this.fire("planarEvent:mouseover",{categoryItem:z,valueItem:J,x:F,y:E,items:K,index:D});}else{this.fire("planarEvent:mouseout");}},_type:"combo",_axesRenderQueue:null,_addToAxesRenderQueue:function(v){if(!this._axesRenderQueue){this._axesRenderQueue=[];}if(b.Array.indexOf(this._axesRenderQueue,v)<0){this._axesRenderQueue.push(v);}},_getDefaultSeriesCollection:function(O){var E=this.get("direction"),v=O||[],L,I,G=[],B,A=this.get("seriesKeys").concat(),K,z,H,y=this.get("type"),M,D,N,w,x=this.get("categoryKey"),J=this.get("showMarkers"),F=this.get("showAreaFill"),C=this.get("showLines");if(E=="vertical"){L="yAxis";D="yKey";I="xAxis";N="xKey";}else{L="xAxis";D="xKey";I="yAxis";N="yKey";}H=v.length;for(K=0;K<H;++K){M=this._getBaseAttribute(v[K],N);if(M){z=b.Array.indexOf(A,M);if(z>-1){A.splice(z,1);}G.push(M);}}if(A.length>0){G=G.concat(A);}H=G.length;for(K=0;K<H;++K){B=v[K]||{type:y};if(B instanceof b.CartesianSeries){this._parseSeriesAxes(B);continue;}B[D]=B[D]||x;B[N]=B[N]||A.shift();B[L]=this._getCategoryAxis();B[I]=this._getSeriesAxis(B[N]);B.type=B.type||y;if((B.type=="combo"||B.type=="stackedcombo"||B.type=="combospline"||B.type=="stackedcombospline")){if(F!==null){B.showAreaFill=(B.showAreaFill!==null&&B.showAreaFill!==undefined)?B.showAreaFill:F;}if(J!==null){B.showMarkers=(B.showMarkers!==null&&B.showMarkers!==undefined)?B.showMarkers:J;}if(C!==null){B.showLines=(B.showLines!==null&&B.showLines!==undefined)?B.showLines:C;}}v[K]=B;}if(O){w=this.get("graph");w.set("seriesCollection",v);v=w.get("seriesCollection");}return v;},_parseSeriesAxes:function(w){var A=this.get("axes"),y=w.get("xAxis"),v=w.get("yAxis"),z=b.Axis,x;if(y&&!(y instanceof z)&&b.Lang.isString(y)&&A.hasOwnProperty(y)){x=A[y];if(x instanceof z){w.set("xAxis",x);}}if(v&&!(v instanceof z)&&b.Lang.isString(v)&&A.hasOwnProperty(v)){x=A[v];if(x instanceof z){w.set("yAxis",x);}}},_getCategoryAxis:function(){var v,w=this.get("axes"),x=this.get("categoryAxisName")||this.get("categoryKey");v=w[x];return v;},_getSeriesAxis:function(w,A){var z=this.get("axes"),v,y,x;if(z){if(A&&z.hasOwnProperty(A)){x=z[A];}else{for(v in z){if(z.hasOwnProperty(v)){y=z[v].get("keys");if(y&&y.hasOwnProperty(w)){x=z[v];break;}}}}}return x;},_getBaseAttribute:function(w,v){if(w instanceof b.Base){return w.get(v);}if(w.hasOwnProperty(v)){return w[v];}return null;},_setBaseAttribute:function(w,v,x){if(w instanceof b.Base){w.set(v,x);}else{w[v]=x;
}},_parseAxes:function(w){var A=this._getDefaultAxes(w),D={},y={edgeOffset:"edgeOffset",position:"position",overlapGraph:"overlapGraph",labelFunction:"labelFunction",labelFunctionScope:"labelFunctionScope",labelFormat:"labelFormat",maximum:"maximum",minimum:"minimum",roundingMethod:"roundingMethod",alwaysShowZero:"alwaysShowZero",title:"title"},z=this.get("dataProvider"),G,B,H,x,F,E,v,C;for(B in A){if(A.hasOwnProperty(B)){F=A[B];if(F instanceof b.Axis){x=F;}else{E=this._getAxisClass(F.type);v={};v.dataProvider=F.dataProvider||z;v.keys=F.keys;if(F.hasOwnProperty("roundingUnit")){v.roundingUnit=F.roundingUnit;}H=F.position;if(F.styles){v.styles=F.styles;}v.position=F.position;for(G in y){if(y.hasOwnProperty(G)&&F.hasOwnProperty(G)){v[G]=F[G];}}x=new E(v);}if(x){C=this.get(H+"AxesCollection");if(C&&b.Array.indexOf(C,x)>0){x.set("overlapGraph",false);}x.after("axisRendered",b.bind(this._axisRendered,this));D[B]=x;}}}return D;},_addAxes:function(){var B=this.get("axes"),x,z,C,v=this.get("width"),y=this.get("height"),A=b.Node.one(this._parentNode);if(!this._axesCollection){this._axesCollection=[];}for(x in B){if(B.hasOwnProperty(x)){z=B[x];if(z instanceof b.Axis){if(!v){this.set("width",A.get("offsetWidth"));v=this.get("width");}if(!y){this.set("height",A.get("offsetHeight"));y=this.get("height");}z.set("width",v);z.set("height",y);this._addToAxesRenderQueue(z);C=z.get("position");if(!this.get(C+"AxesCollection")){this.set(C+"AxesCollection",[z]);}else{this.get(C+"AxesCollection").push(z);}this._axesCollection.push(z);if(z.get("keys").hasOwnProperty(this.get("categoryKey"))){this.set("categoryAxis",z);}z.render(this.get("contentBox"));}}}},_addSeries:function(){var v=this.get("graph"),w=this.get("seriesCollection");v.render(this.get("contentBox"));},_addGridlines:function(){var F=this.get("graph"),w=this.get("horizontalGridlines"),x=this.get("verticalGridlines"),E=this.get("direction"),G=this.get("leftAxesCollection"),A=this.get("rightAxesCollection"),C=this.get("bottomAxesCollection"),y=this.get("topAxesCollection"),z,v=this.get("categoryAxis"),D,B;if(this._axesCollection){z=this._axesCollection.concat();z.splice(b.Array.indexOf(z,v),1);}if(w){if(G&&G[0]){D=G[0];}else{if(A&&A[0]){D=A[0];}else{D=E=="horizontal"?v:z[0];}}if(!this._getBaseAttribute(w,"axis")&&D){this._setBaseAttribute(w,"axis",D);}if(this._getBaseAttribute(w,"axis")){F.set("horizontalGridlines",w);}}if(x){if(C&&C[0]){B=C[0];}else{if(y&&y[0]){B=y[0];}else{B=E=="vertical"?v:z[0];}}if(!this._getBaseAttribute(x,"axis")&&B){this._setBaseAttribute(x,"axis",B);}if(this._getBaseAttribute(x,"axis")){F.set("verticalGridlines",x);}}},_getDefaultAxes:function(N){var F=this.get("categoryKey"),w,L,H,y={},J=[],x=this.get("categoryAxisName")||this.get("categoryKey"),v=this.get("valueAxisName"),z=this.get("seriesKeys")||[],O,M,E,C,I,G,K=this.get("dataProvider"),P=this.get("direction"),D,A,B=[],Q=this.get("stacked")?"stacked":"numeric";G=K[0];if(P=="vertical"){D="bottom";A="left";}else{D="left";A="bottom";}if(N){for(O in N){if(N.hasOwnProperty(O)){w=N[O];H=this._getBaseAttribute(w,"keys");L=this._getBaseAttribute(w,"type");if(L=="time"||L=="category"){x=O;this.set("categoryAxisName",O);if(b.Lang.isArray(H)&&H.length>0){F=H[0];this.set("categoryKey",F);}y[O]=w;}else{if(O==x){y[O]=w;}else{y[O]=w;if(O!=v&&H&&b.Lang.isArray(H)){C=H.length;for(E=0;E<C;++E){J.push(H[E]);}B.push(y[O]);}if(!(this._getBaseAttribute(y[O],"type"))){this._setBaseAttribute(y[O],"type",Q);}if(!(this._getBaseAttribute(y[O],"position"))){this._setBaseAttribute(y[O],"position",this._getDefaultAxisPosition(y[O],B,D));}}}}}}if(z.length<1){for(O in G){if(G.hasOwnProperty(O)&&O!=F&&b.Array.indexOf(J,O)==-1){z.push(O);}}}I=b.Array.indexOf(z,F);if(I>-1){z.splice(I,1);}M=J.length;for(O=0;O<M;++O){I=b.Array.indexOf(z,J[O]);if(I>-1){z.splice(I,1);}}if(!y.hasOwnProperty(x)){y[x]={};}if(!(this._getBaseAttribute(y[x],"keys"))){this._setBaseAttribute(y[x],"keys",[F]);}if(!(this._getBaseAttribute(y[x],"position"))){this._setBaseAttribute(y[x],"position",A);}if(!(this._getBaseAttribute(y[x],"type"))){this._setBaseAttribute(y[x],"type",this.get("categoryType"));}if(!y.hasOwnProperty(v)&&z&&z.length>0){y[v]={keys:z};B.push(y[v]);}if(J.length>0){if(z.length>0){z=J.concat(z);}else{z=J;}}if(y.hasOwnProperty(v)){if(!(this._getBaseAttribute(y[v],"position"))){this._setBaseAttribute(y[v],"position",this._getDefaultAxisPosition(y[v],B,D));}if(!(this._getBaseAttribute(y[v],"type"))){this._setBaseAttribute(y[v],"type",Q);}if(!(this._getBaseAttribute(y[v],"keys"))){this._setBaseAttribute(y[v],"keys",z);}}this.set("seriesKeys",z);return y;},_getDefaultAxisPosition:function(y,w,v){var z=this.get("direction"),x=b.Array.indexOf(w,y);if(w[x-1]&&w[x-1].position){if(z=="horizontal"){if(w[x-1].position=="left"){v="right";}else{if(w[x-1].position=="right"){v="left";}}}else{if(w[x-1].position=="bottom"){v="top";}else{v="bottom";}}}return v;},getSeriesItems:function(A,z){var B=A.get("xAxis"),x=A.get("yAxis"),y=A.get("xKey"),w=A.get("yKey"),C,v;if(this.get("direction")=="vertical"){C={axis:x,key:w,value:x.getKeyValueAt(w,z)};v={axis:B,key:y,value:B.getKeyValueAt(y,z)};}else{v={axis:x,key:w,value:x.getKeyValueAt(w,z)};C={axis:B,key:y,value:B.getKeyValueAt(y,z)};}C.displayName=A.get("categoryDisplayName");v.displayName=A.get("valueDisplayName");C.value=C.axis.getKeyValueAt(C.key,z);v.value=v.axis.getKeyValueAt(v.key,z);return{category:C,value:v};},_axisRendered:function(v){this._axesRenderQueue=this._axesRenderQueue.splice(1+b.Array.indexOf(this._axesRenderQueue,v.currentTarget),1);if(this._axesRenderQueue.length<1){this._redraw();}},_sizeChanged:function(y){if(this._axesCollection){var x=this._axesCollection,w=0,v=x.length;for(;w<v;++w){this._addToAxesRenderQueue(x[w]);}this._redraw();}},_redraw:function(){if(this._drawing){this._callLater=true;return;}this._drawing=true;this._callLater=false;var K=this.get("width"),H=this.get("height"),C=0,z=0,x=0,F=0,y=this.get("leftAxesCollection"),v=this.get("rightAxesCollection"),E=this.get("topAxesCollection"),I=this.get("bottomAxesCollection"),G=0,D,B,J,M=[],A="visible",L=this.get("graph");
if(y){D=y.length;for(G=D-1;G>-1;--G){M[b.Array.indexOf(this._axesCollection,y[G])]={x:C+"px"};C+=y[G].get("width");}}if(v){D=v.length;G=0;for(G=D-1;G>-1;--G){z+=v[G].get("width");M[b.Array.indexOf(this._axesCollection,v[G])]={x:(K-z)+"px"};}}if(E){D=E.length;for(G=D-1;G>-1;--G){M[b.Array.indexOf(this._axesCollection,E[G])]={y:x+"px"};x+=E[G].get("height");}}if(I){D=I.length;for(G=D-1;G>-1;--G){F+=I[G].get("height");M[b.Array.indexOf(this._axesCollection,I[G])]={y:(H-F)+"px"};}}D=this._axesCollection.length;G=0;for(;G<D;++G){B=this._axesCollection[G];J=B.get("position");if(J=="left"||J==="right"){B.get("boundingBox").setStyle("top",x+"px");B.get("boundingBox").setStyle("left",M[G].x);if(B.get("height")!==H-(F+x)){B.set("height",H-(F+x));}}else{if(J=="bottom"||J=="top"){if(B.get("width")!==K-(C+z)){B.set("width",K-(C+z));}B.get("boundingBox").setStyle("left",C+"px");B.get("boundingBox").setStyle("top",M[G].y);}}if(B.get("setMax")||B.get("setMin")){A="hidden";}}this._drawing=false;if(this._callLater){this._redraw();return;}if(L){L.get("boundingBox").setStyle("left",C+"px");L.get("boundingBox").setStyle("top",x+"px");L.set("width",K-(C+z));L.set("height",H-(x+F));L.get("boundingBox").setStyle("overflow",A);}if(this._overlay){this._overlay.setStyle("left",C+"px");this._overlay.setStyle("top",x+"px");this._overlay.setStyle("width",(K-(C+z))+"px");this._overlay.setStyle("height",(H-(x+F))+"px");}}},{ATTRS:{axesStyles:{getter:function(){var x=this.get("axes"),v,w=this._axesStyles;if(x){for(v in x){if(x.hasOwnProperty(v)&&x[v] instanceof b.Axis){if(!w){w={};}w[v]=x[v].get("styles");}}}return w;},setter:function(x){var w=this.get("axes"),v;for(v in x){if(x.hasOwnProperty(v)&&w.hasOwnProperty(v)){this._setBaseAttribute(w[v],"styles",x[v]);}}}},seriesStyles:{getter:function(){var w=this._seriesStyles,x=this.get("graph"),y,v;if(x){y=x.get("seriesDictionary");if(y){w={};for(v in y){if(y.hasOwnProperty(v)){w[v]=y[v].get("styles");}}}}return w;},setter:function(y){var w,v,x;if(b.Lang.isArray(y)){x=this.get("seriesCollection");w=0;v=y.length;for(;w<v;++w){this._setBaseAttribute(x[w],"styles",y[w]);}}else{for(w in y){if(y.hasOwnProperty(w)){x=this.getSeries(w);this._setBaseAttribute(x,"styles",y[w]);}}}}},graphStyles:{getter:function(){var v=this.get("graph");if(v){return(v.get("styles"));}return this._graphStyles;},setter:function(w){var v=this.get("graph");this._setBaseAttribute(v,"styles",w);}},styles:{getter:function(){var v={axes:this.get("axesStyles"),series:this.get("seriesStyles"),graph:this.get("graphStyles")};return v;},setter:function(v){if(v.hasOwnProperty("axes")){if(this.get("axesStyles")){this.set("axesStyles",v.axes);}else{this._axesStyles=v.axes;}}if(v.hasOwnProperty("series")){if(this.get("seriesStyles")){this.set("seriesStyles",v.series);}else{this._seriesStyles=v.series;}}if(v.hasOwnProperty("graph")){this.set("graphStyles",v.graph);}}},axes:{valueFn:"_parseAxes",setter:function(v){return this._parseAxes(v);}},seriesCollection:{valueFn:"_getDefaultSeriesCollection",setter:function(v){return this._getDefaultSeriesCollection(v);}},leftAxesCollection:{},bottomAxesCollection:{},rightAxesCollection:{},topAxesCollection:{},stacked:{value:false},direction:{getter:function(){var v=this.get("type");if(v=="bar"){return"vertical";}else{if(v=="column"){return"horizontal";}}return this._direction;},setter:function(v){this._direction=v;return this._direction;}},showAreaFill:{},showMarkers:{},showLines:{},categoryAxisName:{},valueAxisName:{value:"values"},horizontalGridlines:{getter:function(){var v=this.get("graph");if(v){return v.get("horizontalGridlines");}return this._horizontalGridlines;},setter:function(w){var v=this.get("graph");if(w&&!b.Lang.isObject(w)){w={};}if(v){v.set("horizontalGridlines",w);}else{this._horizontalGridlines=w;}}},verticalGridlines:{getter:function(){var v=this.get("graph");if(v){return v.get("verticalGridlines");}return this._verticalGridlines;},setter:function(w){var v=this.get("graph");if(w&&!b.Lang.isObject(w)){w={};}if(v){v.set("verticalGridlines",w);}else{this._verticalGridlines=w;}}},type:{getter:function(){if(this.get("stacked")){return"stacked"+this._type;}return this._type;},setter:function(v){if(this._type=="bar"){if(v!="bar"){this.set("direction","horizontal");}}else{if(v=="bar"){this.set("direction","vertical");}}this._type=v;return this._type;}},categoryAxis:{}}});b.PieChart=b.Base.create("pieChart",b.Widget,[b.ChartBase],{_getSeriesCollection:function(){if(this._seriesCollection){return this._seriesCollection;}var A=this.get("axes"),C=[],B,y=0,x,D=this.get("type"),F,v="categoryAxis",z="categoryKey",w="valueAxis",E="valueKey";if(A){B=A.values.get("keyCollection");F=A.category.get("keyCollection")[0];x=B.length;for(;y<x;++y){C[y]={type:D};C[y][v]="category";C[y][w]="values";C[y][z]=F;C[y][E]=B[y];}}this._seriesCollection=C;return C;},_parseAxes:function(z){if(!this._axes){this._axes={};}var A,F,y,D,v,C,E=this.get("type"),G=this.get("width"),B=this.get("height"),x=b.Node.one(this._parentNode);if(!G){this.set("width",x.get("offsetWidth"));G=this.get("width");}if(!B){this.set("height",x.get("offsetHeight"));B=this.get("height");}for(A in z){if(z.hasOwnProperty(A)){D=z[A];F=E=="pie"?"none":D.position;C=this._getAxisClass(D.type);v={dataProvider:this.get("dataProvider")};if(D.hasOwnProperty("roundingUnit")){v.roundingUnit=D.roundingUnit;}v.keys=D.keys;v.width=G;v.height=B;v.position=F;v.styles=D.styles;y=new C(v);y.on("axisRendered",b.bind(this._axisRendered,this));this._axes[A]=y;}}},_addAxes:function(){var y=this.get("axes"),v,w,x;if(!y){this.set("axes",this._getDefaultAxes());y=this.get("axes");}if(!this._axesCollection){this._axesCollection=[];}for(v in y){if(y.hasOwnProperty(v)){w=y[v];x=w.get("position");if(!this.get(x+"AxesCollection")){this.set(x+"AxesCollection",[w]);}else{this.get(x+"AxesCollection").push(w);}this._axesCollection.push(w);}}},_addSeries:function(){var v=this.get("graph"),w=this.get("seriesCollection");this._parseSeriesAxes(w);v.set("showBackground",false);
v.set("width",this.get("width"));v.set("height",this.get("height"));v.set("seriesCollection",w);this._seriesCollection=v.get("seriesCollection");v.render(this.get("contentBox"));},_parseSeriesAxes:function(A){var w=0,v=A.length,y,z=this.get("axes"),x;for(;w<v;++w){y=A[w];if(y){if(y instanceof b.PieSeries){x=y.get("categoryAxis");if(x&&!(x instanceof b.Axis)){y.set("categoryAxis",z[x]);}x=y.get("valueAxis");if(x&&!(x instanceof b.Axis)){y.set("valueAxis",z[x]);}continue;}y.categoryAxis=z.category;y.valueAxis=z.values;if(!y.type){y.type=this.get("type");}}}},_getDefaultAxes:function(){var z=this.get("categoryKey"),w=this.get("seriesKeys")||[],v="numeric",y,x=this.get("dataProvider")[0];if(w.length<1){for(y in x){if(y!=z){w.push(y);}}if(w.length>0){this.set("seriesKeys",w);}}return{values:{keys:w,type:v},category:{keys:[z],type:this.get("categoryType")}};},getSeriesItems:function(x,w){var y={axis:x.get("categoryAxis"),key:x.get("categoryKey"),displayName:x.get("categoryDisplayName")},v={axis:x.get("valueAxis"),key:x.get("valueKey"),displayName:x.get("valueDisplayName")};y.value=y.axis.getKeyValueAt(y.key,w);v.value=v.axis.getKeyValueAt(v.key,w);return{category:y,value:v};},_sizeChanged:function(v){this._redraw();},_redraw:function(){var v=this.get("graph");if(v){v.set("width",this.get("width"));v.set("height",this.get("height"));}}},{ATTRS:{axes:{getter:function(){return this._axes;},setter:function(v){this._parseAxes(v);}},seriesCollection:{getter:function(){return this._getSeriesCollection();},setter:function(v){return this._setSeriesCollection(v);}},type:{value:"pie"}}});function q(v){if(v.type!="pie"){return new b.CartesianChart(v);}else{return new b.PieChart(v);}}b.Chart=q;},"@VERSION@",{requires:["dom","datatype-number","datatype-date","event-custom","event-mouseenter","widget","widget-position","widget-stack","graphics"]});