charts-min.js revision 4e193d2ba0d77bc16cfbf67644c9cf2cb2937ead
YUI.add("charts",function(b){var g=b.config.doc,q=b.Lang,l=q.isString,k,p,v,a,c=b.ClassNameManager.getClassName,n=c("seriesmarker"),r,B,w,z,u;r=function(C){r.superclass.constructor.apply(this,arguments);};r.NAME="shapeGroup";b.extend(r,b.Path,{_draw:function(){var J=this.get("xvalues"),G=this.get("yvalues"),N,M,D,F,U=0,V,R=[],H=this.get("dimensions"),S=H.width,O=H.height,E=H.radius,I=H.yRadius,P=this.get("id"),C=this.node.className,T=q.isArray(S),Q=q.isArray(O),K=q.isArray(E),L=q.isArray(I);if(J&&G&&J.length>0){this.clear();V=J.length;for(;U<V;++U){N=J[U];M=G[U];D=K?E[U]:E;F=L?I[U]:I;if(!isNaN(N)&&!isNaN(M)&&!isNaN(D)){this.drawShape({x:N,y:M,width:T?S[U]:S,height:Q?O[U]:O,radius:D,yRadius:F});this.closePath();R[U]={id:P+"_"+U,className:C,coords:(N-this._left)+", "+(M-this._top)+", "+E,shape:"circle"};}}this._closePath();}},_getRadiusCollection:function(F){var D=0,C=F.length,E=[];for(;D<C;++D){E[D]=F[D]*0.5;}return E;}});r.ATTRS=b.merge(b.Path.ATTRS,{dimensions:{getter:function(){var G=this._dimensions,E,D,F,C;if(G.hasOwnProperty("radius")){return G;}else{F=G.width;C=G.height;E=q.isArray(F)?this._getRadiusCollection(F):(F*0.5);D=q.isArray(C)?this._getRadiusCollection(C):(C*0.5);return{width:F,height:C,radius:E,yRadius:D};}},setter:function(C){this._dimensions=C;return C;}},xvalues:{getter:function(){return this._xvalues;},setter:function(C){this._xvalues=C;}},yvalues:{getter:function(){return this._yvalues;},setter:function(C){this._yvalues=C;}}});b.ShapeGroup=r;B=function(C){B.superclass.constructor.apply(this,arguments);};B.NAME="circleGroup";b.extend(B,b.ShapeGroup,{drawShape:function(C){this.drawCircle(C.x,C.y,C.radius);}});B.ATTRS=b.merge(b.ShapeGroup.ATTRS,{dimensions:{getter:function(){var G=this._dimensions,E,D,F,C;if(G.hasOwnProperty("radius")){return G;}else{F=G.width;C=G.height;E=q.isArray(F)?this._getRadiusCollection(F):(F*0.5);D=E;return{width:F,height:C,radius:E,yRadius:D};}}}});B.ATTRS=b.ShapeGroup.ATTRS;b.CircleGroup=B;w=function(C){w.superclass.constructor.apply(this,arguments);};w.NAME="rectGroup";b.extend(w,b.ShapeGroup,{drawShape:function(C){this.drawRect(C.x,C.y,C.width,C.height);}});w.ATTRS=b.ShapeGroup.ATTRS;b.RectGroup=w;u=function(C){u.superclass.constructor.apply(this,arguments);};u.NAME="diamondGroup";b.extend(u,b.ShapeGroup,{drawShape:function(C){this.drawDiamond(C.x,C.y,C.width,C.height);}});u.ATTRS=b.ShapeGroup.ATTRS;b.DiamondGroup=u;z=function(C){z.superclass.constructor.apply(this,arguments);};z.NAME="diamondGroup";b.extend(z,b.ShapeGroup,{drawShape:function(C){this.drawEllipse(C.x,C.y,C.width,C.height);}});z.ATTRS=b.ShapeGroup.ATTRS;b.EllipseGroup=z;function s(){}s.ATTRS={styles:{getter:function(){this._styles=this._styles||this._getDefaultStyles();return this._styles;},setter:function(C){this._styles=this._setStyles(C);}},graphic:{}};s.NAME="renderer";s.prototype={_styles:null,_setStyles:function(D){var C=this.get("styles");return this._mergeStyles(D,C);},_mergeStyles:function(D,C){if(!C){C={};}var E=b.merge(C,{});b.Object.each(D,function(H,G,F){if(C.hasOwnProperty(G)&&q.isObject(H)&&!q.isFunction(H)&&!q.isArray(H)){E[G]=this._mergeStyles(H,C[G]);}else{E[G]=H;}},this);return E;},_getDefaultStyles:function(){return{padding:{top:0,right:0,bottom:0,left:0}};}};b.augment(s,b.Attribute);b.Renderer=s;k=function(){};k.prototype={_getDefaultMargins:function(){return{top:0,left:0,right:4,bottom:0};},setTickOffsets:function(){var E=this,G=E.get("styles").majorTicks,D=G.length,C=D*0.5,F=G.display;E.set("topTickOffset",0);E.set("bottomTickOffset",0);switch(F){case"inside":E.set("rightTickOffset",D);E.set("leftTickOffset",0);break;case"outside":E.set("rightTickOffset",0);E.set("leftTickOffset",D);break;case"cross":E.set("rightTickOffset",C);E.set("leftTickOffset",C);break;default:E.set("rightTickOffset",0);E.set("leftTickOffset",0);break;}},drawTick:function(J,K,F){var I=this,C=I.get("styles"),H=C.padding,G=F.length,D={x:H.left,y:K.y},E={x:G+H.left,y:K.y};I.drawLine(J,D,E);},getLineStart:function(){var C=this.get("styles"),G=C.padding,H=C.majorTicks,D=H.length,F=H.display,E={x:G.left,y:0};if(F==="outside"){E.x+=D;}else{if(F==="cross"){E.x+=D/2;}}return E;},getLabelPoint:function(C){return{x:C.x-this.get("leftTickOffset"),y:C.y};},updateMaxLabelSize:function(G,E){var K=this,H=this._labelRotationProps,C=H.rot,F=H.absRot,J=H.sinRadians,D=H.cosRadians,I;if(C===0){I=G;}else{if(F===90){I=E;}else{I=(D*G)+(J*E);}}K._maxLabelSize=Math.max(K._maxLabelSize,I);},getExplicitlySized:function(F){if(this._explicitWidth){var E=this,C=E._explicitWidth,D=E._totalTitleSize,H=E.get("leftTickOffset"),G=F.label.margin.right;E._maxLabelSize=C-(H+G+D);return true;}return false;},positionTitle:function(J){var L=this,C=L._titleBounds,D=L.get("styles").title.margin,G=L._titleRotationProps,K=C.right-C.left,F=J.offsetWidth,E=J.offsetHeight,I=(F*-0.5)+(K*0.5),H=(L.get("height")*0.5)-(E*0.5);G.labelWidth=F;G.labelHeight=E;if(D&&D.left){I+=D.left;}G.x=I;G.y=H;G.transformOrigin=[0.5,0.5];L._rotate(J,G);},positionLabel:function(M,Q,O,H){var P=this,N=P.get("leftTickOffset"),J=this._totalTitleSize,E=Q.x+J-N,I=Q.y,L=this._labelRotationProps,D=L.rot,G=L.absRot,C=P._maxLabelSize,K=this._labelWidths[H],F=this._labelHeights[H];if(D===0){E-=K;I-=F*0.5;}else{if(D===90){E-=K*0.5;}else{if(D===-90){E-=K*0.5;I-=F;}else{E-=K+(F*G/360);I-=F*0.5;}}}L.labelWidth=K;L.labelHeight=F;L.x=Math.round(C+E);L.y=Math.round(I);this._rotate(M,L);},_setRotationCoords:function(G){var D=G.rot,E=G.absRot,H,F,C=G.labelWidth,I=G.labelHeight;if(D===0){H=C;F=I*0.5;}else{if(D===90){F=0;H=C*0.5;}else{if(D===-90){H=C*0.5;F=I;}else{H=C+(I*E/360);F=I*0.5;}}}G.x-=H;G.y-=F;},_getTransformOrigin:function(C){var D;if(C===0){D=[0,0];}else{if(C===90){D=[0.5,0];}else{if(C===-90){D=[0.5,1];}else{D=[1,0.5];}}}return D;},offsetNodeForTick:function(C){},setCalculatedSize:function(){var H=this,J=this.get("graphic"),G=H.get("styles"),F=G.label,I=H.get("leftTickOffset"),D=H._maxLabelSize,E=this._totalTitleSize,C=Math.round(E+I+D+F.margin.right);if(this._explicitWidth){C=this._explicitWidth;
}this.set("calculatedWidth",C);J.set("x",C-I);}};b.LeftAxisLayout=k;p=function(){};p.prototype={_getDefaultMargins:function(){return{top:0,left:4,right:0,bottom:0};},setTickOffsets:function(){var E=this,G=E.get("styles").majorTicks,D=G.length,C=D*0.5,F=G.display;E.set("topTickOffset",0);E.set("bottomTickOffset",0);switch(F){case"inside":E.set("leftTickOffset",D);E.set("rightTickOffset",0);break;case"outside":E.set("leftTickOffset",0);E.set("rightTickOffset",D);break;case"cross":E.set("rightTickOffset",C);E.set("leftTickOffset",C);break;default:E.set("leftTickOffset",0);E.set("rightTickOffset",0);break;}},drawTick:function(J,K,F){var I=this,C=I.get("styles"),H=C.padding,G=F.length,D={x:H.left,y:K.y},E={x:H.left+G,y:K.y};I.drawLine(J,D,E);},getLineStart:function(){var E=this,C=E.get("styles"),H=C.padding,I=C.majorTicks,D=I.length,G=I.display,F={x:H.left,y:H.top};if(G==="inside"){F.x+=D;}else{if(G==="cross"){F.x+=D/2;}}return F;},getLabelPoint:function(C){return{x:C.x+this.get("rightTickOffset"),y:C.y};},updateMaxLabelSize:function(G,E){var K=this,H=this._labelRotationProps,C=H.rot,F=H.absRot,J=H.sinRadians,D=H.cosRadians,I;if(C===0){I=G;}else{if(F===90){I=E;}else{I=(D*G)+(J*E);}}K._maxLabelSize=Math.max(K._maxLabelSize,I);},getExplicitlySized:function(F){if(this._explicitWidth){var E=this,C=E._explicitWidth,D=this._totalTitleSize,H=E.get("rightTickOffset"),G=F.label.margin.right;E._maxLabelSize=C-(H+G+D);return true;}return false;},positionTitle:function(J){var L=this,C=L._titleBounds,D=L.get("styles").title.margin,G=L._titleRotationProps,F=J.offsetWidth,E=J.offsetHeight,K=C.right-C.left,I=this.get("width")-(F*0.5)-(K*0.5),H=(L.get("height")*0.5)-(E*0.5);G.labelWidth=F;G.labelHeight=E;if(D&&D.right){I-=D.left;}G.x=I;G.y=H;G.transformOrigin=[0.5,0.5];L._rotate(J,G);},positionLabel:function(M,Q,O,H){var P=this,N=P.get("rightTickOffset"),L=O.label,E=0,D=Q.x,I=Q.y,K=this._labelRotationProps,C=K.rot,G=K.absRot,J=this._labelWidths[H],F=this._labelHeights[H];if(L.margin&&L.margin.left){E=L.margin.left;}if(C===0){I-=F*0.5;}else{if(C===90){D-=J*0.5;I-=F;}else{if(C===-90){D-=J*0.5;}else{I-=F*0.5;D+=F/2*G/90;}}}D+=E;D+=N;K.labelWidth=J;K.labelHeight=F;K.x=Math.round(D);K.y=Math.round(I);this._rotate(M,K);},_setRotationCoords:function(G){var D=G.rot,E=G.absRot,H=0,F=0,C=G.labelWidth,I=G.labelHeight;if(D===0){F=I*0.5;}else{if(D===90){H=C*0.5;F=I;}else{if(D===-90){H=C*0.5;}else{F=I*0.5;H=I/2*E/90;}}}G.x-=H;G.y-=F;},_getTransformOrigin:function(C){var D;if(C===0){D=[0,0];}else{if(C===90){D=[0.5,1];}else{if(C===-90){D=[0.5,0];}else{D=[0,0.5];}}}return D;},offsetNodeForTick:function(C){var D=this,F=D.get("leftTickOffset"),E=0-F;C.setStyle("left",E);},setCalculatedSize:function(){var G=this,F=G.get("styles"),D=F.label,E=this._totalTitleSize,C=Math.round(G.get("rightTickOffset")+G._maxLabelSize+E+D.margin.left);if(this._explicitWidth){C=this._explicitWidth;}G.set("calculatedWidth",C);G.get("contentBox").setStyle("width",C);}};b.RightAxisLayout=p;v=function(){};v.prototype={_getDefaultMargins:function(){return{top:4,left:0,right:0,bottom:0};},setTickOffsets:function(){var E=this,G=E.get("styles").majorTicks,D=G.length,C=D*0.5,F=G.display;E.set("leftTickOffset",0);E.set("rightTickOffset",0);switch(F){case"inside":E.set("topTickOffset",D);E.set("bottomTickOffset",0);break;case"outside":E.set("topTickOffset",0);E.set("bottomTickOffset",D);break;case"cross":E.set("topTickOffset",C);E.set("bottomTickOffset",C);break;default:E.set("topTickOffset",0);E.set("bottomTickOffset",0);break;}},getLineStart:function(){var C=this.get("styles"),G=C.padding,H=C.majorTicks,D=H.length,F=H.display,E={x:0,y:G.top};if(F==="inside"){E.y+=D;}else{if(F==="cross"){E.y+=D/2;}}return E;},drawTick:function(J,K,F){var I=this,C=I.get("styles"),H=C.padding,G=F.length,D={x:K.x,y:H.top},E={x:K.x,y:G+H.top};I.drawLine(J,D,E);},getLabelPoint:function(C){return{x:C.x,y:C.y+this.get("bottomTickOffset")};},updateMaxLabelSize:function(G,E){var K=this,H=this._labelRotationProps,C=H.rot,F=H.absRot,J=H.sinRadians,D=H.cosRadians,I;if(C===0){I=E;}else{if(F===90){I=G;}else{I=(J*G)+(D*E);}}K._maxLabelSize=Math.max(K._maxLabelSize,I);},getExplicitlySized:function(G){if(this._explicitHeight){var F=this,D=F._explicitHeight,C=F._totalTitleSize,E=F.get("bottomTickOffset"),H=G.label.margin.right;F._maxLabelSize=D-(E+H+C);return true;}return false;},positionTitle:function(K){var L=this,C=L._titleBounds,D=L.get("styles").title.margin,H=L._titleRotationProps,F=C.bottom-C.top,G=K.offsetWidth,E=K.offsetHeight,J=(L.get("width")*0.5)-(G*0.5),I=L.get("height")-E/2-F/2;H.labelWidth=G;H.labelHeight=E;if(D&&D.bottom){I-=D.bottom;}H.x=J;H.y=I;H.transformOrigin=[0.5,0.5];L._rotate(K,H);},positionLabel:function(M,Q,O,H){var P=this,N=P.get("bottomTickOffset"),L=O.label,E=0,K=P._labelRotationProps,D=K.rot,G=K.absRot,C=Math.round(Q.x),I=Math.round(Q.y),J=P._labelWidths[H],F=P._labelHeights[H];if(L.margin&&L.margin.top){E=L.margin.top;}if(D>0){I-=F/2*D/90;}else{if(D<0){C-=J;I-=F/2*G/90;}else{C-=J*0.5;}}I+=E;I+=N;K.labelWidth=J;K.labelHeight=F;K.x=C;K.y=I;P._rotate(M,K);},_setRotationCoords:function(G){var D=G.rot,E=G.absRot,C=G.labelWidth,I=G.labelHeight,H,F;if(D>0){H=0;F=I/2*D/90;}else{if(D<0){H=C;F=I/2*E/90;}else{H=C*0.5;F=0;}}G.x-=H;G.y-=F;},_getTransformOrigin:function(C){var D;if(C>0){D=[0,0.5];}else{if(C<0){D=[1,0.5];}else{D=[0,0];}}return D;},offsetNodeForTick:function(C){var D=this;D.get("contentBox").setStyle("top",0-D.get("topTickOffset"));},setCalculatedSize:function(){var G=this,F=G.get("styles"),D=F.label,E=G._totalTitleSize,C=Math.round(G.get("bottomTickOffset")+G._maxLabelSize+D.margin.top+E);if(G._explicitHeight){C=G._explicitHeight;}G.set("calculatedHeight",C);}};b.BottomAxisLayout=v;a=function(){};a.prototype={_getDefaultMargins:function(){return{top:0,left:0,right:0,bottom:4};},setTickOffsets:function(){var E=this,G=E.get("styles").majorTicks,D=G.length,C=D*0.5,F=G.display;E.set("leftTickOffset",0);E.set("rightTickOffset",0);switch(F){case"inside":E.set("bottomTickOffset",D);
E.set("topTickOffset",0);break;case"outside":E.set("bottomTickOffset",0);E.set("topTickOffset",D);break;case"cross":E.set("topTickOffset",C);E.set("bottomTickOffset",C);break;default:E.set("topTickOffset",0);E.set("bottomTickOffset",0);break;}},getLineStart:function(){var E=this,C=E.get("styles"),H=C.padding,I=C.majorTicks,D=I.length,G=I.display,F={x:0,y:H.top};if(G==="outside"){F.y+=D;}else{if(G==="cross"){F.y+=D/2;}}return F;},drawTick:function(J,K,F){var I=this,C=I.get("styles"),H=C.padding,G=F.length,D={x:K.x,y:H.top},E={x:K.x,y:G+H.top};I.drawLine(J,D,E);},getLabelPoint:function(C){return{x:C.x,y:C.y-this.get("topTickOffset")};},updateMaxLabelSize:function(G,E){var K=this,H=this._labelRotationProps,C=H.rot,F=H.absRot,J=H.sinRadians,D=H.cosRadians,I;if(C===0){I=E;}else{if(F===90){I=G;}else{I=(J*G)+(D*E);}}K._maxLabelSize=Math.max(K._maxLabelSize,I);},getExplicitlySized:function(F){if(this._explicitHeight){var E=this,D=E._explicitHeight,C=E._totalTitleSize,H=E.get("topTickOffset"),G=F.label.margin.right;E._maxLabelSize=D-(H+G+C);return true;}return false;},positionTitle:function(K){var L=this,C=L._titleBounds,D=L.get("styles").title.margin,H=L._titleRotationProps,G=K.offsetWidth,E=K.offsetHeight,F=C.bottom-C.top,J=(L.get("width")*0.5)-(G*0.5),I=F/2-E/2;H.labelWidth=G;H.labelHeight=E;if(D&&D.top){I+=D.top;}H.x=J;H.y=I;H.transformOrigin=[0.5,0.5];L._rotate(K,H);},positionLabel:function(M,P,N,H){var O=this,J=this._totalTitleSize,C=O._maxLabelSize,E=P.x,I=P.y+J+C,L=this._labelRotationProps,D=L.rot,G=L.absRot,K=this._labelWidths[H],F=this._labelHeights[H];if(D===0){E-=K*0.5;I-=F;}else{if(D===90){E-=K;I-=(F*0.5);}else{if(D===-90){I-=(F*0.5);}else{if(D>0){E-=K;I-=F-(F*D/180);}else{I-=F-(F*G/180);}}}}L.x=Math.round(E);L.y=Math.round(I);L.labelWidth=K;L.labelHeight=F;this._rotate(M,L);},_setRotationCoords:function(G){var D=G.rot,E=G.absRot,C=G.labelWidth,I=G.labelHeight,H,F;if(D===0){H=C*0.5;F=I;}else{if(D===90){H=C;F=(I*0.5);}else{if(D===-90){F=(I*0.5);}else{if(D>0){H=C;F=I-(I*D/180);}else{F=I-(I*E/180);}}}}G.x-=H;G.y-=F;},_getTransformOrigin:function(C){var D;if(C===0){D=[0,0];}else{if(C===90){D=[1,0.5];}else{if(C===-90){D=[0,0.5];}else{if(C>0){D=[1,0.5];}else{D=[0,0.5];}}}}return D;},offsetNodeForTick:function(C){},setCalculatedSize:function(){var G=this,J=G.get("graphic"),F=G.get("styles"),E=F.label.margin,I=E.bottom+G._maxLabelSize,D=G._totalTitleSize,H=this.get("topTickOffset"),C=Math.round(H+I+D);if(this._explicitHeight){C=this._explicitWidth;}G.set("calculatedHeight",C);J.set("y",C-H);}};b.TopAxisLayout=a;b.Axis=b.Base.create("axis",b.Widget,[b.Renderer],{_calculatedWidth:0,_calculatedHeight:0,_dataChangeHandler:function(C){if(this.get("rendered")){this._drawAxis();}},_positionChangeHandler:function(C){this._updateGraphic(C.newVal);this._updateHandler();},_updateGraphic:function(C){var D=this.get("graphic");if(C=="none"){if(D){D.destroy();}}else{if(!D){this._setCanvas();}}},_updateHandler:function(C){if(this.get("rendered")){this._drawAxis();}},renderUI:function(){this._updateGraphic(this.get("position"));},syncUI:function(){var G=this._layout,F,E,C,H,D;if(G){F=G._getDefaultMargins();E=this.get("styles");C=E.label.margin;H=E.title.margin;for(D in F){if(F.hasOwnProperty(D)){C[D]=C[D]===undefined?F[D]:C[D];H[D]=H[D]===undefined?F[D]:H[D];}}}this._drawAxis();},_setCanvas:function(){var C=this.get("contentBox"),H=this.get("boundingBox"),G=this.get("position"),E=this._parentNode,D=this.get("width"),F=this.get("height");H.setStyle("position","absolute");H.setStyle("zIndex",2);D=D?D+"px":E.getStyle("width");F=F?F+"px":E.getStyle("height");if(G==="top"||G==="bottom"){C.setStyle("width",D);}else{C.setStyle("height",F);}C.setStyle("position","relative");C.setStyle("left","0px");C.setStyle("top","0px");this.set("graphic",new b.Graphic());this.get("graphic").render(C);},_getDefaultStyles:function(){var C={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(),C);},_handleSizeChange:function(F){var E=F.attrName,H=this.get("position"),D=H=="left"||H=="right",C=this.get("contentBox"),G=H=="bottom"||H=="top";C.setStyle("width",this.get("width"));C.setStyle("height",this.get("height"));if((G&&E=="width")||(D&&E=="height")){this._drawAxis();}},_layoutClasses:{top:a,bottom:v,left:k,right:p},drawLine:function(E,D,C){E.moveTo(D.x,D.y);E.lineTo(C.x,C.y);},_getTextRotationProps:function(G){if(G.rotation===undefined){switch(this.get("position")){case"left":G.rotation=-90;break;case"right":G.rotation=90;break;default:G.rotation=0;break;}}var D=Math.min(90,Math.max(-90,G.rotation)),F=Math.abs(D),E=Math.PI/180,H=parseFloat(parseFloat(Math.sin(F*E)).toFixed(8)),C=parseFloat(parseFloat(Math.cos(F*E)).toFixed(8));return{rot:D,absRot:F,radCon:E,sinRadians:H,cosRadians:C,textAlpha:G.alpha};},_drawAxis:function(){if(this._drawing){this._callLater=true;return;}this._drawing=true;this._callLater=false;if(this._layout){var K=this.get("styles"),M=K.line,I=K.label,Y=K.majorTicks,C=Y.display!="none",L,F=K.majorUnit,V,T,U=0,W=this._layout,S,Z,O,J,X,D,H=this.get("labelFunction"),E=this.get("labelFunctionScope"),G=this.get("labelFormat"),N=this.get("graphic"),P=this.get("path"),Q,R;this._labelWidths=[];this._labelHeights=[];N.set("autoDraw",false);P.clear();P.set("stroke",{weight:M.weight,color:M.color,opacity:M.alpha});this._labelRotationProps=this._getTextRotationProps(I);this._labelRotationProps.transformOrigin=W._getTransformOrigin(this._labelRotationProps.rot);
W.setTickOffsets.apply(this);S=this.getLength();O=W.getLineStart.apply(this);V=this.getTotalMajorUnits(F);T=this.getMajorUnitDistance(V,S,F);this.set("edgeOffset",this.getEdgeOffset(V,S)*0.5);if(V<1){this._clearLabelCache();}else{L=this.getFirstPoint(O);this.drawLine(P,O,this.getLineEnd(L));if(C){Q=this.get("tickPath");Q.clear();Q.set("stroke",{weight:Y.weight,color:Y.color,opacity:Y.alpha});W.drawTick.apply(this,[Q,L,Y]);}this._createLabelCache();this._tickPoints=[];this._maxLabelSize=0;this._totalTitleSize=0;this._titleSize=0;this._setTitle();R=W.getExplicitlySized.apply(this,[K]);for(;U<V;++U){if(C){W.drawTick.apply(this,[Q,L,Y]);}Z=this.getPosition(L);J=this.getLabel(L,I);this._labels.push(J);this._tickPoints.push({x:L.x,y:L.y});this.get("appendLabelFunction")(J,H.apply(E,[this.getLabelByIndex(U,V),G]));X=Math.round(J.offsetWidth);D=Math.round(J.offsetHeight);if(!R){this._layout.updateMaxLabelSize.apply(this,[X,D]);}this._labelWidths.push(X);this._labelHeights.push(D);L=this.getNextPoint(L,T);}this._clearLabelCache();if(this.get("overlapGraph")){W.offsetNodeForTick.apply(this,[this.get("contentBox")]);}W.setCalculatedSize.apply(this);if(this._titleTextField){this._layout.positionTitle.apply(this,[this._titleTextField]);}for(U=0;U<V;++U){W.positionLabel.apply(this,[this.get("labels")[U],this._tickPoints[U],K,U]);}}}this._drawing=false;if(this._callLater){this._drawAxis();}else{this._updatePathElement();this.fire("axisRendered");}},_setTotalTitleSize:function(K){var I=this._titleTextField,J=I.offsetWidth,G=I.offsetHeight,D=this._titleRotationProps.rot,C,L,E=K.margin,F=this.get("position"),H=new b.Matrix();H.rotate(D);C=H.getContentRect(J,G);if(F=="left"||F=="right"){L=C.right-C.left;if(E){L+=E.left+E.right;}}else{L=C.bottom-C.top;if(E){L+=E.top+E.bottom;}}this._titleBounds=C;this._totalTitleSize=L;},_updatePathElement:function(){var C=this._path,F=this._tickPath,D=false,E=this.get("graphic");if(C){D=true;C.end();}if(F){D=true;F.end();}if(D){E._redraw();}},_setTitle:function(){var E,G,F,H=this.get("title"),D=this._titleTextField,C;if(H!==null&&H!==undefined){F={rotation:"rotation",margin:"margin",alpha:"alpha"};G=this.get("styles").title;if(!D){D=g.createElement("span");D.style.display="block";D.style.whiteSpace="nowrap";D.setAttribute("class","axisTitle");this.get("contentBox").append(D);}else{if(!g.createElementNS){if(D.style.filter){D.style.filter=null;}}}D.style.position="absolute";for(E in G){if(G.hasOwnProperty(E)&&!F.hasOwnProperty(E)){D.style[E]=G[E];}}this.get("appendTitleFunction")(D,H);this._titleTextField=D;this._titleRotationProps=this._getTextRotationProps(G);this._setTotalTitleSize(G);}else{if(D){C=D.parentNode;if(C){C.removeChild(D);}this._titleTextField=null;this._totalTitleSize=0;}}},getLabel:function(H,F){var D,C,G=this._labelCache,E={rotation:"rotation",margin:"margin",alpha:"alpha"};if(G&&G.length>0){C=G.shift();}else{C=g.createElement("span");C.className=b.Lang.trim([C.className,"axisLabel"].join(" "));this.get("contentBox").append(C);}if(!g.createElementNS){if(C.style.filter){C.style.filter=null;}}C.style.display="block";C.style.whiteSpace="nowrap";C.style.position="absolute";for(D in F){if(F.hasOwnProperty(D)&&!E.hasOwnProperty(D)){C.style[D]=F[D];}}return C;},_createLabelCache:function(){if(this._labels){while(this._labels.length>0){this._labelCache.push(this._labels.shift());}}else{this._clearLabelCache();}this._labels=[];},_clearLabelCache:function(){if(this._labelCache){var C=this._labelCache.length,E=0,D;for(;E<C;++E){D=this._labelCache[E];this._removeChildren(D);b.Event.purgeElement(D,true);D.parentNode.removeChild(D);}}this._labelCache=[];},getLineEnd:function(E){var C=this.get("width"),D=this.get("height"),F=this.get("position");if(F==="top"||F==="bottom"){return{x:C,y:E.y};}else{return{x:E.x,y:D};}},getLength:function(){var D,F=this.get("styles"),G=F.padding,C=this.get("width"),E=this.get("height"),H=this.get("position");if(H==="top"||H==="bottom"){D=C-(G.left+G.right);}else{D=E-(G.top+G.bottom);}return D;},getFirstPoint:function(F){var C=this.get("styles"),G=this.get("position"),E=C.padding,D={x:F.x,y:F.y};if(G==="top"||G==="bottom"){D.x+=E.left+this.get("edgeOffset");}else{D.y+=this.get("height")-(E.top+this.get("edgeOffset"));}return D;},getNextPoint:function(C,D){var E=this.get("position");if(E==="top"||E==="bottom"){C.x=C.x+D;}else{C.y=C.y-D;}return C;},getLastPoint:function(){var D=this.get("styles"),E=D.padding,C=this.get("width"),F=this.get("position");if(F==="top"||F==="bottom"){return{x:C-E.right,y:E.top};}else{return{x:E.left,y:E.top};}},getPosition:function(C){var H,F=this.get("height"),E=this.get("styles"),G=E.padding,I=this.get("position"),D=this.get("dataType");if(I==="left"||I==="right"){if(D==="numeric"){H=(F-(G.top+G.bottom))-(C.y-G.top);}else{H=C.y-G.top;}}else{H=C.x-G.left;}return H;},_rotate:function(I,F){var C=F.rot,K=F.x,H=F.y,E,L,J=new b.Matrix(),D=F.transformOrigin||[0,0],G;if(g.createElementNS){J.translate(K,H);J.rotate(C);I.style.MozTransformOrigin=(D[0]*100)+"% "+(D[1]*100)+"%";I.style.MozTransform=J.toCSSText();I.style.webkitTransformOrigin=(D[0]*100)+"% "+(D[1]*100)+"%";I.style.webkitTransform=J.toCSSText();I.style.msTransformOrigin=(D[0]*100)+"% "+(D[1]*100)+"%";I.style.msTransform=J.toCSSText();I.style.OTransformOrigin=(D[0]*100)+"% "+(D[1]*100)+"%";I.style.OTransform=J.toCSSText();}else{L=F.textAlpha;if(q.isNumber(L)&&L<1&&L>-1&&!isNaN(L)){E="progid:DXImageTransform.Microsoft.Alpha(Opacity="+Math.round(L*100)+")";}if(C!==0){J.rotate(C);G=J.getContentRect(F.labelWidth,F.labelHeight);J.init();J.translate(G.left,G.top);J.translate(K,H);this._simulateRotateWithTransformOrigin(J,C,D,F.labelWidth,F.labelHeight);if(E){E+=" ";}else{E="";}E+=J.toFilterText();I.style.left=J.dx+"px";I.style.top=J.dy+"px";}else{I.style.left=K+"px";I.style.top=H+"px";}if(E){I.style.filter=E;}}},_simulateRotateWithTransformOrigin:function(E,D,F,C,G){var I=F[0]*C,H=F[1]*G;I=!isNaN(I)?I:0;H=!isNaN(H)?H:0;E.translate(I,H);E.rotate(D);E.translate(-I,-H);},getMaxLabelBounds:function(){return this._getLabelBounds(this.getMaximumValue());
},getMinLabelBounds:function(){return this._getLabelBounds(this.getMinimumValue());},_getLabelBounds:function(H){var G=this._layout,F=this.get("styles").label,C=new b.Matrix(),D,E=this._getTextRotationProps(F);E.transformOrigin=G._getTransformOrigin(E.rot);D=this.getLabel({x:0,y:0},F);this.get("appendLabelFunction")(D,this.get("labelFunction").apply(this,[H,this.get("labelFormat")]));E.labelWidth=D.offsetWidth;E.labelHeight=D.offsetHeight;this._removeChildren(D);b.Event.purgeElement(D,true);D.parentNode.removeChild(D);E.x=0;E.y=0;G._setRotationCoords(E);C.translate(E.x,E.y);this._simulateRotateWithTransformOrigin(C,E.rot,E.transformOrigin,E.labelWidth,E.labelHeight);return C.getContentRect(E.labelWidth,E.labelHeight);},_removeChildren:function(C){if(C.hasChildNodes()){var D;while(C.firstChild){D=C.firstChild;this._removeChildren(D);C.removeChild(D);}}},destructor:function(){var D=this.get("contentBox").getDOMNode(),G=this.get("labels"),F=this.get("graphic"),E,C=G?G.length:0;if(C>0){while(G.length>0){E=G.shift();this._removeChildren(E);D.removeChild(E);E=null;}}if(F){F.destroy();}},_maxLabelSize:0,_setText:function(C,D){C.innerHTML="";if(q.isNumber(D)){D=D+"";}else{if(!D){D="";}}if(l(D)){D=g.createTextNode(D);}C.appendChild(D);}},{ATTRS:{width:{lazyAdd:false,getter:function(){if(this._explicitWidth){return this._explicitWidth;}return this._calculatedWidth;},setter:function(C){this._explicitWidth=C;return C;}},height:{lazyAdd:false,getter:function(){if(this._explicitHeight){return this._explicitHeight;}return this._calculatedHeight;},setter:function(C){this._explicitHeight=C;return C;}},calculatedWidth:{getter:function(){return this._calculatedWidth;},setter:function(C){this._calculatedWidth=C;return C;}},calculatedHeight:{getter:function(){return this._calculatedHeight;},setter:function(C){this._calculatedHeight=C;return C;}},edgeOffset:{value:0},graphic:{},path:{readOnly:true,getter:function(){if(!this._path){var C=this.get("graphic");if(C){this._path=C.addShape({type:"path"});}}return this._path;}},tickPath:{readOnly:true,getter:function(){if(!this._tickPath){var C=this.get("graphic");if(C){this._tickPath=C.addShape({type:"path"});}}return this._tickPath;}},node:{},position:{setter:function(D){var C=this._layoutClasses[D];if(D&&D!="none"){this._layout=new C();}return D;}},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(C){return q.isBoolean(C);}},labelFunctionScope:{},maxLabelSize:{getter:function(){return this._maxLabelSize;},setter:function(C){this._maxLabelSize=C;return C;}},title:{value:null},labelFunction:{value:function(D,C){return D;}},appendLabelFunction:{getter:function(){return this._setText;}},appendTitleFunction:{getter:function(){return this._setText;}}}});b.AxisType=b.Base.create("baseAxis",b.Axis,[],{initializer: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("alwaysShowZeroChange",this._keyChangeHandler);this.after("roundingMethodChange",this._keyChangeHandler);},bindUI:function(){this.after("stylesChange",this._updateHandler);this.after("overlapGraphChange",this._updateHandler);this.after("positionChange",this._positionChangeHandler);this.after("widthChange",this._handleSizeChange);this.after("heightChange",this._handleSizeChange);this.after("calculatedWidthChange",this._handleSizeChange);this.after("calculatedHeightChange",this._handleSizeChange);},_dataProviderChangeHandler:function(F){var C=this.get("keyCollection").concat(),E=this.get("keys"),D;if(E){for(D in E){if(E.hasOwnProperty(D)){delete E[D];}}}if(C&&C.length){this.set("keys",C);}},GUID:"yuibaseaxis",_type:null,_setMaximum:null,_dataMaximum:null,_setMinimum:null,_data:null,_updateTotalDataFlag:true,_dataReady:false,addKey:function(C){this.set("keys",C);},_getKeyArray:function(F,G){var E=0,H,D=[],C=G.length;for(;E<C;++E){H=G[E];D[E]=H[F];}return D;},_setDataByKey:function(G,H){var F,I,D=[],E=this._dataClone.concat(),C=E.length;for(F=0;F<C;++F){I=E[F];D[F]=I[G];}this.get("keys")[G]=D;this._updateTotalDataFlag=true;},_updateTotalData:function(){var D=this.get("keys"),C;this._data=[];for(C in D){if(D.hasOwnProperty(C)){this._data=this._data.concat(D[C]);}}this._updateTotalDataFlag=false;},removeKey:function(D){var C=this.get("keys");if(C.hasOwnProperty(D)){delete C[D];this._keyChangeHandler();}},getKeyValueAt:function(D,C){var F=NaN,E=this.get("keys");if(E[D]&&q.isNumber(parseFloat(E[D][C]))){F=E[D][C];}return parseFloat(F);},getDataByKey:function(D){var C=this.get("keys");if(C[D]){return C[D];}return null;},_updateMinAndMax:function(){var H=this.get("data"),D=0,G=0,C,E,F;if(H&&H.length&&H.length>0){C=H.length;D=G=H[0];if(C>1){for(F=1;F<C;F++){E=H[F];if(isNaN(E)){continue;}D=Math.max(E,D);G=Math.min(E,G);}}}this._dataMaximum=D;this._dataMinimum=G;},getTotalMajorUnits:function(){var D,E=this.get("styles").majorUnit,C=this.get("length");if(E.determinant==="count"){D=E.count;}else{if(E.determinant==="distance"){D=(C/E.distance)+1;}}return D;},getMajorUnitDistance:function(C,F,D){var E;if(D.determinant==="count"){E=F/(C-1);}else{if(D.determinant==="distance"){E=D.distance;}}return E;},getEdgeOffset:function(D,C){return 0;},getLabelByIndex:function(G,D){var F=this.get("minimum"),C=this.get("maximum"),H=(C-F)/(D-1),E;D-=1;E=F+(G*H);return E;},_keyChangeHandler:function(C){this._updateMinAndMax();this.fire("dataUpdate");},_hasDataOverflow:function(){if(this.get("setMin")||this.get("setMax")){return true;
}return false;},getMinimumValue:function(){return this.get("minimum");},getMaximumValue:function(){return this.get("maximum");}},{ATTRS:{keys:{value:{},setter:function(G){var E={},D,C,F=this.get("dataProvider");if(q.isArray(G)){C=G.length;for(D=0;D<C;++D){E[G[D]]=this._getKeyArray(G[D],F);}}else{if(q.isString(G)){E=this.get("keys");E[G]=this._getKeyArray(G,F);}else{for(D in G){if(G.hasOwnProperty(D)){E[D]=this._getKeyArray(D,F);}}}}this._updateTotalDataFlag=true;return E;}},roundingMethod:{value:"niceNumber"},type:{readOnly:true,getter:function(){return this._type;}},dataProvider:{setter:function(C){return C;}},dataMaximum:{getter:function(){if(!this._dataMaximum){this._updateMinAndMax();}return this._dataMaximum;}},maximum:{lazyAdd:false,getter:function(){var C=this.get("dataMaximum"),D=this.get("minimum");if(D===0&&C===0){C=10;}if(q.isNumber(this._setMaximum)){C=this._setMaximum;}return parseFloat(C);},setter:function(C){this._setMaximum=parseFloat(C);return C;}},dataMinimum:{getter:function(){if(!this._dataMinimum){this._updateMinAndMax();}return this._dataMinimum;}},minimum:{lazyAdd:false,getter:function(){var C=this.get("dataMinimum");if(q.isNumber(this._setMinimum)){C=this._setMinimum;}return parseFloat(C);},setter:function(C){this._setMinimum=parseFloat(C);return C;}},setMax:{readOnly:true,getter:function(){return q.isNumber(this._setMaximum);}},setMin:{readOnly:true,getter:function(){return q.isNumber(this._setMinimum);}},data:{getter:function(){if(!this._data||this._updateTotalDataFlag){this._updateTotalData();}return this._data;}},keyCollection:{getter:function(){var E=this.get("keys"),D,C=[];for(D in E){if(E.hasOwnProperty(D)){C.push(D);}}return C;},readOnly:true}}});function m(C){m.superclass.constructor.apply(this,arguments);}m.NAME="numericAxis";m.ATTRS={alwaysShowZero:{value:true},labelFunction:{value:function(D,C){if(C){return b.DataType.Number.format(D,C);}return D;}},labelFormat:{value:{prefix:"",thousandsSeparator:"",decimalSeparator:"",decimalPlaces:"0",suffix:""}}};b.extend(m,b.AxisType,{getTotalByKey:function(F){var G=0,D=this.getDataByKey(F),E=0,H,C=D?D.length:0;for(;E<C;++E){H=parseFloat(D[E]);if(!isNaN(H)){G+=H;}}return G;},_type:"numeric",_getMinimumUnit:function(C,E,D){return this._getNiceNumber(Math.ceil((C-E)/D));},_getNiceNumber:function(E){var G=E,C=Math.ceil(Math.log(G)*0.4342944819032518),F=Math.pow(10,C),D;if(F/2>=G){D=Math.floor((F/2-G)/(Math.pow(10,C-1)/2));G=F/2-D*Math.pow(10,C-1)/2;}else{G=F;}if(!isNaN(G)){return G;}return E;},_updateMinAndMax:function(){var D=this.get("data"),I,C,G,F,E=0,J,K=this.get("setMax"),H=this.get("setMin");if(!K||!H){if(D&&D.length&&D.length>0){G=D.length;for(;E<G;E++){F=D[E];if(isNaN(F)){if(q.isObject(F)){C=I=0;for(J in F){if(F.hasOwnProperty(J)){I=Math.max(F[J],I);C=Math.min(F[J],C);}}}I=K?this._setMaximum:I;C=H?this._setMinimum:C;continue;}if(H){C=this._setMinimum;}else{if(C===undefined){C=F;}else{C=Math.min(F,C);}}if(K){I=this._setMaximum;}else{if(I===undefined){I=F;}else{I=Math.max(F,I);}}this._actualMaximum=I;this._actualMinimum=C;}}this._roundMinAndMax(C,I,H,K);}},_roundMinAndMax:function(I,L,J,O){var D,U,R=I>=0,F=L>0,T,C,Q,K,M,S,P,H=this.getTotalMajorUnits()-1,N=this.get("alwaysShowZero"),E=this.get("roundingMethod"),G=(L-I)/H>=1;if(E){if(E=="niceNumber"){D=this._getMinimumUnit(L,I,H);if(R&&F){if((N||I<D)&&!J){I=0;D=this._getMinimumUnit(L,I,H);}else{I=this._roundDownToNearest(I,D);}if(O){if(!N){I=L-(D*H);}}else{if(J){L=I+(D*H);}else{L=this._roundUpToNearest(L,D);}}}else{if(F&&!R){if(N){K=Math.round(H/((-1*I)/L+1));K=Math.max(Math.min(K,H-1),1);M=H-K;S=Math.ceil(L/K);P=Math.floor(I/M)*-1;if(J){while(P<S&&M>=0){M--;K++;S=Math.ceil(L/K);P=Math.floor(I/M)*-1;}if(M>0){L=P*K;}else{L=I+(D*H);}}else{if(O){while(S<P&&K>=0){M++;K--;P=Math.floor(I/M)*-1;S=Math.ceil(L/K);}if(K>0){I=S*M*-1;}else{I=L-(D*H);}}else{D=Math.max(S,P);D=this._getNiceNumber(D);L=D*K;I=D*M*-1;}}}else{if(O){I=L-(D*H);}else{if(J){L=I+(D*H);}else{I=this._roundDownToNearest(I,D);L=this._roundUpToNearest(L,D);}}}}else{if(J){if(N){L=0;}else{L=I+(D*H);}}else{if(!O){if(N||L===0||L+D>0){L=0;D=this._getMinimumUnit(L,I,H);}else{L=this._roundUpToNearest(L,D);}I=L-(D*H);}else{I=L-(D*H);}}}}}else{if(E=="auto"){if(R&&F){if((N||I<(L-I)/H)&&!J){I=0;}D=(L-I)/H;if(G){D=Math.ceil(D);}L=I+(D*H);}else{if(F&&!R){if(N){K=Math.round(H/((-1*I)/L+1));K=Math.max(Math.min(K,H-1),1);M=H-K;if(G){S=Math.ceil(L/K);P=Math.floor(I/M)*-1;}else{S=L/K;P=I/M*-1;}D=Math.max(S,P);L=D*K;I=D*M*-1;}else{D=(L-I)/H;if(G){D=Math.ceil(D);}I=this._roundDownToNearest(I,D);L=this._roundUpToNearest(L,D);}}else{D=(L-I)/H;if(G){D=Math.ceil(D);}if(N||L===0||L+D>0){L=0;D=(L-I)/H;if(G){Math.ceil(D);}}else{L=this._roundUpToNearest(L,D);}I=L-(D*H);}}}else{if(!isNaN(E)&&isFinite(E)){D=E;U=D*H;T=(L-I)>U;Q=this._roundDownToNearest(I,D);C=this._roundUpToNearest(L,D);if(O){I=L-U;}else{if(J){L=I+U;}else{if(R&&F){if(N||Q<=0){I=0;}else{I=Q;}L=I+U;}else{if(F&&!R){I=Q;L=I+U;}else{if(N||C>=0){L=0;}else{L=C;}I=L-U;}}}}}}}}this._dataMaximum=L;this._dataMinimum=I;},getLabelByIndex:function(G,D){var F=this.get("minimum"),C=this.get("maximum"),I=(C-F)/(D-1),E,H=this.get("roundingMethod");D-=1;if(G===0){E=F;}else{if(G===D){E=C;}else{E=(G*I);if(H=="niceNumber"){E=this._roundToNearest(E,I);}E+=F;}}return parseFloat(E);},_roundToNearest:function(E,D){D=D||1;if(D===0){return E;}var C=Math.round(this._roundToPrecision(E/D,10))*D;return this._roundToPrecision(C,10);},_roundUpToNearest:function(D,C){C=C||1;if(C===0){return D;}return Math.ceil(this._roundToPrecision(D/C,10))*C;},_roundDownToNearest:function(D,C){C=C||1;if(C===0){return D;}return Math.floor(this._roundToPrecision(D/C,10))*C;},_roundToPrecision:function(E,C){C=C||0;var D=Math.pow(10,C);return Math.round(D*E)/D;},_hasDataOverflow:function(){var E,D,C;if(this.get("setMin")||this.get("setMax")){return true;}E=this.get("roundingMethod");D=this._actualMinimum;C=this._actualMaximum;if(q.isNumber(E)&&((q.isNumber(C)&&C>this._dataMaximum)||(q.isNumber(D)&&D<this._dataMinimum))){return true;
}return false;}});b.NumericAxis=m;function e(C){e.superclass.constructor.apply(this,arguments);}e.NAME="stackedAxis";b.extend(e,b.NumericAxis,{_updateMinAndMax:function(){var J=0,D=0,I=0,C=0,G=0,E=0,K,F,L=this.get("keys"),H=this.get("setMin"),M=this.get("setMax");for(K in L){if(L.hasOwnProperty(K)){G=Math.max(G,L[K].length);}}for(;E<G;++E){I=0;C=0;for(K in L){if(L.hasOwnProperty(K)){F=L[K][E];if(isNaN(F)){continue;}if(F>=0){I+=F;}else{C+=F;}}}if(I>0){J=Math.max(J,I);}else{J=Math.max(J,C);}if(C<0){D=Math.min(D,C);}else{D=Math.min(D,I);}}this._actualMaximum=J;this._actualMinimum=D;if(M){J=this._setMaximum;}if(H){D=this._setMinimum;}this._roundMinAndMax(D,J,H,M);}});b.StackedAxis=e;function d(C){d.superclass.constructor.apply(this,arguments);}d.NAME="timeAxis";d.ATTRS={setMax:{readOnly:true,getter:function(){var C=this._getNumber(this._setMaximum);return(q.isNumber(C));}},setMin:{readOnly:true,getter:function(){var C=this._getNumber(this._setMinimum);return(q.isNumber(C));}},maximum:{getter:function(){var C=this._getNumber(this._setMaximum);if(!q.isNumber(C)){C=this._getNumber(this.get("dataMaximum"));}return parseFloat(C);},setter:function(C){this._setMaximum=this._getNumber(C);return C;}},minimum:{getter:function(){var C=this._getNumber(this._setMinimum);if(!q.isNumber(C)){C=this._getNumber(this.get("dataMinimum"));}return parseFloat(C);},setter:function(C){this._setMinimum=this._getNumber(C);return C;}},labelFunction:{value:function(D,C){D=b.DataType.Date.parse(D);if(C){return b.DataType.Date.format(D,{format:C});}return D;}},labelFormat:{value:"%b %d, %y"}};b.extend(d,b.AxisType,{GUID:"yuitimeaxis",_dataType:"time",getLabelByIndex:function(H,E){var G=this.get("minimum"),D=this.get("maximum"),C=this.get("position"),I,F;E-=1;I=((D-G)/E)*H;if(C=="bottom"||C=="top"){F=G+I;}else{F=D-I;}return F;},_getKeyArray:function(F,G){var H,D=[],E=0,I,C=G.length;for(;E<C;++E){H=G[E][F];if(q.isDate(H)){I=H.valueOf();}else{I=new Date(H);if(q.isDate(I)){I=I.valueOf();}else{if(!q.isNumber(H)){if(q.isNumber(parseFloat(H))){I=parseFloat(H);}else{if(typeof H!="string"){H=H;}I=new Date(H).valueOf();}}else{I=H;}}}D[E]=I;}return D;},_setDataByKey:function(G,H){var I,D=[],F=this._dataClone.concat(),E,J,C=F.length;for(E=0;E<C;++E){I=F[E][G];if(q.isDate(I)){J=I.valueOf();}else{J=new Date(I);if(q.isDate(J)){J=J.valueOf();}else{if(!q.isNumber(I)){if(q.isNumber(parseFloat(I))){J=parseFloat(I);}else{if(typeof I!="string"){I=I.toString();}J=new Date(I).valueOf();}}else{J=I;}}}D[E]=J;}this.get("keys")[G]=D;this._updateTotalDataFlag=true;},_getNumber:function(C){if(q.isDate(C)){C=C.valueOf();}else{if(!q.isNumber(C)&&C){C=new Date(C).valueOf();}}return C;}});b.TimeAxis=d;function f(C){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(F,G){var E=0,H,D=[],I=[],C=G.length;if(!this._indices){this._indices={};}for(;E<C;++E){H=G[E];D[E]=E;I[E]=H[F];}this._indices[F]=D;return I;},_setDataByKey:function(G){var F,H,D=[],I=[],E=this._dataClone.concat(),C=E.length;if(!this._indices){this._indices={};}for(F=0;F<C;++F){H=E[F];D[F]=F;I[F]=H[G];}this._indices[G]=D;this.get("keys")[G]=I.concat();this._updateTotalDataFlag=true;},getDataByKey:function(D){if(!this._indices){this.get("keys");}var C=this._indices;if(C[D]){return C[D];}return null;},getTotalMajorUnits:function(D,C){return this.get("data").length;},getMajorUnitDistance:function(C,F,D){var E;if(D.determinant==="count"){E=F/C;}else{if(D.determinant==="distance"){E=D.distance;}}return E;},getEdgeOffset:function(D,C){return C/D;},getKeyValueAt:function(D,C){var F=NaN,E=this.get("keys");if(E[D]&&E[D][C]){F=E[D][C];}return F;},getLabelByIndex:function(F,D){var E,G=this.get("data"),C=this.get("position");if(C=="bottom"||C=="top"){E=G[F];}else{E=G[D-(F+1)];}return E;},getMinimumValue:function(){var D=this.get("data"),C=D[0];return C;},getMaximumValue:function(){var E=this.get("data"),C=E.length-1,D=E[C];return D;}});b.CategoryAxis=f;function j(){}j.prototype={getCurveControlPoints:function(F,I){var G=[],E=1,D=F.length-1,C=[],H=[];if(D<1){return null;}G[0]={startx:F[0],starty:I[0],endx:F[1],endy:I[1]};if(D===1){G[0].ctrlx1=(2*F[0]+F[1])/3;G[0].ctrly2=(2*I[0]+I[1])/3;G[0].ctrlx2=2*G[0].ctrlx1-F[0];G[0].ctrly2=2*G[0].ctrly1-I[0];return G;}for(;E<D;++E){G.push({startx:Math.round(F[E]),starty:Math.round(I[E]),endx:Math.round(F[E+1]),endy:Math.round(I[E+1])});C[E]=4*F[E]+2*F[E+1];H[E]=4*I[E]+2*I[E+1];}C[0]=F[0]+(2*F[1]);C[D-1]=(8*F[D-1]+F[D])/2;C=this.getControlPoints(C.concat());H[0]=I[0]+(2*I[1]);H[D-1]=(8*I[D-1]+I[D])/2;H=this.getControlPoints(H.concat());for(E=0;E<D;++E){G[E].ctrlx1=Math.round(C[E]);G[E].ctrly1=Math.round(H[E]);if(E<D-1){G[E].ctrlx2=Math.round(2*F[E+1]-C[E+1]);G[E].ctrly2=Math.round(2*I[E+1]-H[E+1]);}else{G[E].ctrlx2=Math.round((F[D]+C[D-1])/2);G[E].ctrly2=Math.round((I[D]+H[D-1])/2);}}return G;},getControlPoints:function(H){var E=H.length,D=[],G=[],C=2,F=1;D[0]=H[0]/C;for(;F<E;++F){G[F]=1/C;C=(F<E-1?4:3.5)-G[F];D[F]=(H[F]-D[F-1])/C;}for(F=1;F<E;++F){D[E-F-1]-=G[E-F]*D[E-F];}return D;}};b.CurveUtil=j;function i(){}i.prototype={_stackCoordinates:function(){var M=this.get("direction"),E=this.get("order"),K=this.get("type"),N=this.get("graph"),H=N.get("height"),D=N.seriesTypes[K],G=0,J,L=this.get("xcoords"),F=this.get("ycoords"),I,C;if(E===0){return;}I=D[E-1].get("xcoords").concat();C=D[E-1].get("ycoords").concat();if(M==="vertical"){J=I.length;for(;G<J;++G){if(!isNaN(I[G])&&!isNaN(L[G])){L[G]+=I[G];}}}else{J=C.length;for(;G<J;++G){if(!isNaN(C[G])&&!isNaN(F[G])){F[G]=C[G]-(H-F[G]);}}}}};b.StackingUtil=i;function h(){}h.prototype={_lineDefaults:null,_getGraphic:function(){var C=this.get("graphic")||this.get("graph").get("graphic");if(!this._lineGraphic){this._lineGraphic=C.addShape({type:"path"});}this._lineGraphic.clear();return this._lineGraphic;},_toggleVisible:function(C){if(this._lineGraphic){this._lineGraphic.set("visible",C);
}},drawLines:function(){if(this.get("xcoords").length<1){return;}var J=q.isNumber,K=this.get("xcoords").concat(),Z=this.get("ycoords").concat(),V=this.get("direction"),Q=V==="vertical"?Z.length:K.length,X,C,F=true,Y,W,U,R,P,G=this.get("styles").line,S=G.lineType,N=G.color||this._getDefaultColor(this.get("graphOrder"),"line"),L=G.alpha,T=G.dashLength,I=G.gapSpace,H=G.connectDiscontinuousPoints,D=G.discontinuousType,E=G.discontinuousDashLength,O=G.discontinuousGapSpace,M=this._getGraphic();M.set("stroke",{weight:G.weight,color:N,opacity:L});for(P=0;P<Q;P=++P){U=K[P];R=Z[P];C=J(U)&&J(R);if(!C){X=C;continue;}if(F){F=false;M.moveTo(U,R);}else{if(X){if(S!="dashed"){M.lineTo(U,R);}else{this.drawDashedLine(Y,W,U,R,T,I);}}else{if(!H){M.moveTo(U,R);}else{if(D!="solid"){this.drawDashedLine(Y,W,U,R,E,O);}else{M.lineTo(U,R);}}}}Y=U;W=R;X=true;}M.end();},drawSpline:function(){if(this.get("xcoords").length<1){return;}var M=this.get("xcoords"),G=this.get("ycoords"),O=this.getCurveControlPoints(M,G),H=O.length,J,I,D,C,N,L,F=0,P=this.get("styles").line,Q=this._getGraphic(),K=P.alpha,E=P.color||this._getDefaultColor(this.get("graphOrder"),"line");Q.set("stroke",{weight:P.weight,color:E,opacity:K});Q.moveTo(M[0],G[0]);for(;F<H;F=++F){N=O[F].endx;L=O[F].endy;J=O[F].ctrlx1;I=O[F].ctrlx2;D=O[F].ctrly1;C=O[F].ctrly2;Q.curveTo(J,D,I,C,N,L);}Q.end();},drawDashedLine:function(M,R,C,O,E,D){E=E||10;D=D||10;var G=E+D,J=C-M,N=O-R,P=Math.sqrt(Math.pow(J,2)+Math.pow(N,2)),H=Math.floor(Math.abs(P/G)),F=Math.atan2(N,J),L=M,K=R,I,Q=this._getGraphic();J=Math.cos(F)*G;N=Math.sin(F)*G;for(I=0;I<H;++I){Q.moveTo(L,K);Q.lineTo(L+Math.cos(F)*E,K+Math.sin(F)*E);L+=J;K+=N;}Q.moveTo(L,K);P=Math.sqrt((C-L)*(C-L)+(O-K)*(O-K));if(P>E){Q.lineTo(L+Math.cos(F)*E,K+Math.sin(F)*E);}else{if(P>0){Q.lineTo(L+Math.cos(F)*P,K+Math.sin(F)*P);}}Q.moveTo(C,O);},_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 y(C){var D={area:{getter:function(){return this._defaults||this._getAreaDefaults();},setter:function(F){var E=this._defaults||this._getAreaDefaults();this._defaults=b.merge(E,F);}}};this.addAttrs(D,C);this.get("styles");}y.prototype={_getPath:function(){var C=this._path;if(!C){C=this.get("graph").get("graphic").addShape({type:"path"});this._path=C;}return C;},_toggleVisible:function(C){if(this._path){this._path.set("visible",C);}},drawFill:function(K,G){if(K.length<1){return;}var J=K.length,D=K[0],C=G[0],I=D,H=C,O,M,F=1,L=this.get("styles").area,N=this._getPath(),E=L.color||this._getDefaultColor(this.get("graphOrder"),"slice");N.clear();N.set("fill",{color:E,opacity:L.alpha});N.set("stroke",{weight:0});N.moveTo(D,C);for(;F<J;F=++F){O=K[F];M=G[F];if(isNaN(M)){I=O;H=M;continue;}N.lineTo(O,M);I=O;H=M;}N.end();},drawAreaSpline:function(){if(this.get("xcoords").length<1){return;}var N=this.get("xcoords"),I=this.get("ycoords"),P=this.getCurveControlPoints(N,I),J=P.length,L,K,F,E,O,M,H=0,D=N[0],C=I[0],Q=this.get("styles").area,R=this._getPath(),G=Q.color||this._getDefaultColor(this.get("graphOrder"),"slice");R.set("fill",{color:G,opacity:Q.alpha});R.set("stroke",{weight:0});R.moveTo(D,C);for(;H<J;H=++H){O=P[H].endx;M=P[H].endy;L=P[H].ctrlx1;K=P[H].ctrlx2;F=P[H].ctrly1;E=P[H].ctrly2;R.curveTo(L,F,K,E,O,M);}if(this.get("direction")==="vertical"){R.lineTo(this._leftOrigin,M);R.lineTo(this._leftOrigin,C);}else{R.lineTo(O,this._bottomOrigin);R.lineTo(D,this._bottomOrigin);}R.lineTo(D,C);R.end();},drawStackedAreaSpline:function(){if(this.get("xcoords").length<1){return;}var M=this.get("xcoords"),X=this.get("ycoords"),L,S=this.get("order"),E=this.get("type"),C=this.get("graph"),F=C.seriesTypes[E],D,P,U,O,N,W,V,J,H,T=0,K,I,G=this.get("styles").area,Q=this._getPath(),R=G.color||this._getDefaultColor(this.get("graphOrder"),"slice");K=M[0];I=X[0];L=this.getCurveControlPoints(M,X);U=L.length;Q.set("fill",{color:R,opacity:G.alpha});Q.set("stroke",{weight:0});Q.moveTo(K,I);for(;T<U;T=++T){J=L[T].endx;H=L[T].endy;O=L[T].ctrlx1;N=L[T].ctrlx2;W=L[T].ctrly1;V=L[T].ctrly2;Q.curveTo(O,W,N,V,J,H);}if(S>0){D=F[S-1].get("xcoords").concat().reverse();P=F[S-1].get("ycoords").concat().reverse();L=this.getCurveControlPoints(D,P);T=0;U=L.length;Q.lineTo(D[0],P[0]);for(;T<U;T=++T){J=L[T].endx;H=L[T].endy;O=L[T].ctrlx1;N=L[T].ctrlx2;W=L[T].ctrly1;V=L[T].ctrly2;Q.curveTo(O,W,N,V,J,H);}}else{if(this.get("direction")==="vertical"){Q.lineTo(this._leftOrigin,X[X.length-1]);Q.lineTo(this._leftOrigin,I);}else{Q.lineTo(M[M.length-1],this._bottomOrigin);Q.lineTo(K,this._bottomOrigin);}}Q.lineTo(K,I);Q.end();},_defaults:null,_getClosingPoints:function(){var C=this.get("xcoords").concat(),D=this.get("ycoords").concat();if(this.get("direction")==="vertical"){C.push(this._leftOrigin);C.push(this._leftOrigin);D.push(D[D.length-1]);D.push(D[0]);}else{C.push(C[C.length-1]);C.push(C[0]);D.push(this._bottomOrigin);D.push(this._bottomOrigin);}C.push(C[0]);D.push(D[0]);return[C,D];},_getStackedClosingPoints:function(){var G=this.get("order"),J=this.get("type"),M=this.get("graph"),K=this.get("direction"),E=M.seriesTypes[J],I,F,L=this.get("xcoords").concat(),H=this.get("ycoords").concat(),D=L[0],C=H[0];if(G>0){I=E[G-1].get("xcoords").concat();F=E[G-1].get("ycoords").concat();L=L.concat(I.concat().reverse());H=H.concat(F.concat().reverse());L.push(L[0]);H.push(H[0]);}else{if(K==="vertical"){L.push(this._leftOrigin);L.push(this._leftOrigin);H.push(H[H.length-1]);H.push(C);}else{L.push(L[L.length-1]);L.push(D);H.push(this._bottomOrigin);H.push(this._bottomOrigin);}}return[L,H];},_getAreaDefaults:function(){return{};}};b.augment(y,b.Attribute);b.Fills=y;function x(C){var D={markers:{getter:function(){return this._markers;}}};this.addAttrs(D,C);}x.prototype={_plotDefaults:null,drawPlots:function(){if(!this.get("xcoords")||this.get("xcoords").length<1){return;}var M=q.isNumber,T=b.clone(this.get("styles").marker),L=T.width,S=T.height,N=this.get("xcoords"),U=this.get("ycoords"),Q=0,R=N.length,O=U[0],F,I,P=L/2,E=S/2,J,G,D=null,H=null,K=this.get("graphOrder"),C=this.get("groupMarkers");
if(C){J=[];G=[];for(;Q<R;++Q){J.push(parseFloat(N[Q]-P));G.push(parseFloat(U[Q]-E));}this._createGroupMarker({xvalues:J,yvalues:G,fill:T.fill,border:T.border,dimensions:{width:L,height:S},graphOrder:K,shape:T.shape});return;}if(q.isArray(T.fill.color)){D=T.fill.color.concat();}if(q.isArray(T.border.color)){H=T.border.colors.concat();}this._createMarkerCache();for(;Q<R;++Q){O=parseFloat(U[Q]-E);F=parseFloat(N[Q]-P);if(!M(F)||!M(O)){this._markers.push(null);continue;}if(D){T.fill.color=D[Q%D.length];}if(H){T.border.colors=H[Q%H.length];}T.x=F;T.y=O;I=this.getMarker(T,K,Q);}this._clearMarkerCache();},_groupShapes:{circle:b.CircleGroup,rect:b.RectGroup,ellipse:b.EllipseGroup,diamond:b.DiamondGroup},_getGroupShape:function(C){if(q.isString(C)){C=this._groupShapes[C];}return C;},_getPlotDefaults:function(){var C={fill:{type:"solid",alpha:1,colors:null,alphas:null,ratios:null},border:{weight:1,alpha:1},width:10,height:10,shape:"circle"};C.fill.color=this._getDefaultColor(this.get("graphOrder"),"fill");C.border.color=this._getDefaultColor(this.get("graphOrder"),"border");return C;},_markers:null,_markerCache:null,getMarker:function(G,C,F){var D,E=G.border;G.id=this.get("chart").get("id")+"_"+C+"_"+F;E.opacity=E.alpha;G.stroke=E;G.fill.opacity=G.fill.alpha;if(this._markerCache.length>0){while(!D){if(this._markerCache.length<1){D=this._createMarker(G,C,F);break;}D=this._markerCache.shift();}D.set(G);}else{D=this._createMarker(G,C,F);}this._markers.push(D);return D;},_createMarker:function(G,C,F){var H=this.get("graphic"),E,D=b.clone(G);H.set("autoDraw",false);D.type=D.shape;E=H.addShape(D);E.addClass(n);return E;},_createMarkerCache:function(){if(this._groupMarker){this._groupMarker.destroy();this._groupMarker=null;}if(this._markers&&this._markers.length>0){this._markerCache=this._markers.concat();}else{this._markerCache=[];}this._markers=[];},_createGroupMarker:function(G){var D,H=this.get("markers"),F=G.border,I,C,E;if(H&&H.length>0){while(H.length>0){D=H.shift();D.destroy();}this.set("markers",[]);}F.opacity=F.alpha;C={id:this.get("chart").get("id")+"_"+G.graphOrder,stroke:F,fill:G.fill,dimensions:G.dimensions,xvalues:G.xvalues,yvalues:G.yvalues};C.fill.opacity=G.fill.alpha;E=this._getGroupShape(G.shape);if(E){C.type=E;}if(G.hasOwnProperty("radius")&&!isNaN(G.radius)){C.dimensions.radius=G.radius;}if(this._groupMarker){this._groupMarker.destroy();}I=this.get("graphic");I.set("autoDraw",true);this._groupMarker=I.addShape(C);},_toggleVisible:function(G){var D,F=this.get("markers"),E=0,C;if(F){C=F.length;for(;E<C;++E){D=F[E];if(D){D.set("visible",G);}}}},_clearMarkerCache:function(){var C;while(this._markerCache.length>0){C=this._markerCache.shift();if(C){C.destroy();}}},updateMarkerState:function(I,G){if(this._markers&&this._markers[G]){var K,H,L=b.clone(this.get("styles").marker),C=this._getState(I),J=this.get("xcoords"),F=this.get("ycoords"),E=this._markers[G],D=C=="off"||!L[C]?L:L[C];D.fill.color=this._getItemColor(D.fill.color,G);D.border.color=this._getItemColor(D.border.color,G);D.stroke=D.border;E.set(D);K=D.width;H=D.height;E.set("x",(J[G]-K/2));E.set("y",(F[G]-H/2));E.set("visible",this.get("visible"));}},_getItemColor:function(D,C){if(q.isArray(D)){return D[C%D.length];}return D;},_setStyles:function(C){C=this._parseMarkerStyles(C);return b.Renderer.prototype._setStyles.apply(this,[C]);},_parseMarkerStyles:function(D){if(D.marker){var C=this._getPlotDefaults();D.marker=this._mergeStyles(D.marker,C);if(D.marker.over){D.marker.over=this._mergeStyles(D.marker.over,D.marker);}if(D.marker.down){D.marker.down=this._mergeStyles(D.marker.down,D.marker);}}return D;},_getState:function(C){var D;switch(C){case"mouseout":D="off";break;case"mouseover":D="over";break;case"mouseup":D="over";break;case"mousedown":D="down";break;}return D;},_stateSyles:null};b.augment(x,b.Attribute);b.Plots=x;function A(){}A.prototype={drawSeries:function(){if(this.get("xcoords").length<1){return;}var ae=b.clone(this.get("styles").marker),U,Q,M=this.get("xcoords"),N=this.get("ycoords"),af=0,J=M.length,F=N[0],al=this.get("type"),Z=this.get("graph"),X=Z.seriesTypes[al],D=X.length,ac=0,ah=0,aa=0,ab,S,T=this.get("order"),aj=this.get("graphOrder"),E,ak,O,P,V,ag=null,C=null,W=[],G=[],K,L,R,ai,Y={width:[],height:[]},I=[],H=[],ad=this.get("groupMarkers");if(q.isArray(ae.fill.color)){ag=ae.fill.color.concat();}if(q.isArray(ae.border.color)){C=ae.border.colors.concat();}if(this.get("direction")=="vertical"){O="height";P="width";}else{O="width";P="height";}U=ae[O];Q=ae[P];this._createMarkerCache();for(;af<D;++af){S=X[af];ac+=S.get("styles").marker[O];if(T>af){aa=ac;}}ah=J*ac;this._maxSize=Z.get(O);if(ah>this._maxSize){ab=Z.get(O)/ah;ac*=ab;aa*=ab;U*=ab;U=Math.max(U,1);this._maxSize=U;}aa-=ac/2;for(af=0;af<J;++af){K=M[af]-ac/2;L=K+ac;R=N[af]-ac/2;ai=R+ac;W.push({start:K,end:L});G.push({start:R,end:ai});if(isNaN(M[af])||isNaN(N[af])){this._markers.push(null);continue;}V=this._getMarkerDimensions(M[af],N[af],Q,aa);if(!isNaN(V.calculatedSize)&&V.calculatedSize>0){F=V.top;E=V.left;if(ad){Y[O][af]=U;Y[P][af]=V.calculatedSize;I.push(E);H.push(F);}else{ae[O]=U;ae[P]=V.calculatedSize;ae.x=E;ae.y=F;if(ag){ae.fill.color=ag[af%ag.length];}if(C){ae.border.colors=C[af%C.length];}ak=this.getMarker(ae,aj,af);}}else{if(!ad){this._markers.push(null);}}}this.set("xMarkerPlane",W);this.set("yMarkerPlane",G);if(ad){this._createGroupMarker({fill:ae.fill,border:ae.border,dimensions:Y,xvalues:I,yvalues:H,shape:ae.shape});}else{this._clearMarkerCache();}},_defaultFillColors:["#66007f","#a86f41","#295454","#996ab2","#e8cdb7","#90bdbd","#000000","#c3b8ca","#968373","#678585"],_getPlotDefaults:function(){var C={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}};C.fill.color=this._getDefaultColor(this.get("graphOrder"),"fill");C.border.color=this._getDefaultColor(this.get("graphOrder"),"border");return C;}};b.Histogram=A;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 D=this.get("xAxis"),C=this.get("yAxis");if(D){D.after("dataReady",b.bind(this._xDataChangeHandler,this));D.after("dataUpdate",b.bind(this._xDataChangeHandler,this));}if(C){C.after("dataReady",b.bind(this._yDataChangeHandler,this));C.after("dataUpdate",b.bind(this._yDataChangeHandler,this));}this.after("xAxisChange",this._xAxisChangeHandler);this.after("yAxisChange",this._yAxisChangeHandler);this.after("stylesChange",function(F){var E=this._updateAxisData();if(E){this.draw();}});this.after("widthChange",function(F){var E=this._updateAxisData();if(E){this.draw();}});this.after("heightChange",function(F){var E=this._updateAxisData();if(E){this.draw();}});this.after("visibleChange",this._handleVisibleChange);},_xAxisChangeHandler:function(D){var C=this.get("xAxis");C.after("dataReady",b.bind(this._xDataChangeHandler,this));C.after("dataUpdate",b.bind(this._xDataChangeHandler,this));},_yAxisChangeHandler:function(D){var C=this.get("yAxis");C.after("dataReady",b.bind(this._yDataChangeHandler,this));C.after("dataUpdate",b.bind(this._yDataChangeHandler,this));},GUID:"yuicartesianseries",_xDataChangeHandler:function(C){var D=this._updateAxisData();if(D){this.draw();}},_yDataChangeHandler:function(C){var D=this._updateAxisData();if(D){this.draw();}},_updateAxisData:function(){var G=this.get("xAxis"),D=this.get("yAxis"),E=this.get("xKey"),C=this.get("yKey"),F,H;if(!G||!D||!E||!C){return false;}H=G.getDataByKey(E);F=D.getDataByKey(C);if(!H||!F){return false;}this.set("xData",H.concat());this.set("yData",F.concat());return true;},validate:function(){if((this.get("xData")&&this.get("yData"))||this._updateAxisData()){this.draw();}else{this.fire("drawingComplete");}},_setCanvas:function(){var C=this.get("graph"),D=C.get("graphic");this.set("graphic",D);},setAreaData:function(){var T=q.isNumber,ah,af,G=this.get("graph"),P=G.get("width"),aa=G.get("height"),N=this.get("xAxis"),D=this.get("yAxis"),I=this.get("xData").concat(),ad=this.get("yData").concat(),X,ab,ak=N.getEdgeOffset(I.length,P),M=D.getEdgeOffset(ad.length,aa),U=this.get("styles").padding,W=U.left,ae=U.top,K=P-(W+U.right+ak),Z=aa-(ae+U.bottom+M),S=[],aj=[],ai=N.get("maximum"),ac=N.get("minimum"),F=D.get("maximum"),C=D.get("minimum"),J=K/(ai-ac),Q=Z/(F-C),L,ag=this.get("direction"),Y=0,O=[],V=[],H=this.get("xMarkerPlaneOffset"),E=this.get("yMarkerPlaneOffset"),R=this.get("graphic");R.set("width",P);R.set("height",aa);L=I.length;ak*=0.5;M*=0.5;if(ag==="vertical"){ad=ad.reverse();}this._leftOrigin=Math.round(((0-ac)*J)+W+ak);this._bottomOrigin=Math.round((Z+ae+M));for(;Y<L;++Y){X=parseFloat(I[Y]);ab=parseFloat(ad[Y]);if(T(X)){ah=Math.round((((X-ac)*J)+W+ak));}else{ah=NaN;}if(T(ab)){af=Math.round(((Z+ae+M)-(ab-C)*Q));}else{af=NaN;}S.push(ah);aj.push(af);O.push({start:ah-H,end:ah+H});V.push({start:af-E,end:af+E});}this.set("xcoords",S);this.set("ycoords",aj);this.set("xMarkerPlane",O);this.set("yMarkerPlane",V);},draw:function(){var E=this.get("graph"),C=E.get("width"),D=E.get("height");if(this.get("rendered")){if((isFinite(C)&&isFinite(D)&&C>0&&D>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(F,G){var D={line:this._defaultLineColors,fill:this._defaultFillColors,border:this._defaultBorderColors,slice:this._defaultSliceColors},E=D[G],C=E.length;F=F||0;if(F>=C){F=F%C;}G=G||"fill";return D[G][F];},_handleVisibleChange:function(C){this._toggleVisible(this.get("visible"));},getTotalValues:function(){var C=this.get("valueAxis").getTotalByKey(this.get("valueKey"));return C;},destructor:function(){if(this._path){this._path.destroy();}if(this._lineGraphic){this._lineGraphic.destroy();this._lineGraphic=null;}if(this.get("graphic")){this.get("graphic").destroy();}}},{ATTRS:{xDisplayName:{getter:function(){return this._xDisplayName||this.get("xKey");},setter:function(C){this._xDisplayName=C.toString();return C;}},yDisplayName:{getter:function(){return this._yDisplayName||this.get("yKey");},setter:function(C){this._yDisplayName=C.toString();return C;}},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:{},chart:{readOnly:true,getter:function(){return this.get("graph").get("chart");}},graph:{},xAxis:{},yAxis:{},xKey:{setter:function(C){return C.toString();}},yKey:{setter:function(C){return C.toString();}},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 C=this.get("styles").marker;if(C&&C.width&&isFinite(C.width)){return C.width*0.5;}return this._defaultPlaneOffset;}},yMarkerPlaneOffset:{getter:function(){var C=this.get("styles").marker;
if(C&&C.height&&isFinite(C.height)){return C.height*0.5;}return this._defaultPlaneOffset;}},direction:{value:"horizontal"},groupMarkers:{getter:function(){if(this._groupMarkers===undefined){return this.get("graph").get("groupMarkers");}else{return this._groupMarkers;}},setter:function(C){this._groupMarkers=C;return C;}}}});b.MarkerSeries=b.Base.create("markerSeries",b.CartesianSeries,[b.Plots],{drawSeries:function(){this.drawPlots();},_setStyles:function(C){if(!C.marker){C={marker:C};}C=this._parseMarkerStyles(C);return b.MarkerSeries.superclass._mergeStyles.apply(this,[C,this._getDefaultStyles()]);},_getDefaultStyles:function(){var C=this._mergeStyles({marker:this._getPlotDefaults()},b.MarkerSeries.superclass._getDefaultStyles());return C;}},{ATTRS:{type:{value:"marker"}}});b.LineSeries=b.Base.create("lineSeries",b.CartesianSeries,[b.Lines],{drawSeries:function(){this.drawLines();},_setStyles:function(C){if(!C.line){C={line:C};}return b.LineSeries.superclass._setStyles.apply(this,[C]);},_getDefaultStyles:function(){var C=this._mergeStyles({line:this._getLineDefaults()},b.LineSeries.superclass._getDefaultStyles());return C;}},{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(D,C,F,G){var E={left:D+G};if(this._bottomOrigin>=C){E.top=C;E.calculatedSize=this._bottomOrigin-E.top;}else{E.top=this._bottomOrigin;E.calculatedSize=C-this._bottomOrigin;}return E;},updateMarkerState:function(E,Q){if(this._markers&&this._markers[Q]){var K=b.clone(this.get("styles").marker),U,F=this._getState(E),M=this.get("xcoords"),V=this.get("ycoords"),H=this._markers[Q],S,C=this.get("graph"),D,I=C.seriesTypes[this.get("type")],R=I.length,L=0,G=0,O,N=0,J=[],P=this.get("order"),T;U=F=="off"||!K[F]?b.clone(K):b.clone(K[F]);U.fill.color=this._getItemColor(U.fill.color,Q);U.border.color=this._getItemColor(U.border.color,Q);T=this._getMarkerDimensions(M[Q],V[Q],K.width,G);U.height=T.calculatedSize;U.width=Math.min(this._maxSize,U.width);H.set(U);for(;N<R;++N){J[N]=M[Q]+L;D=I[N].get("styles").marker;L+=Math.min(this._maxSize,D.width);if(P>N){G=L;}G-=L/2;}for(N=0;N<R;++N){S=I[N].get("markers");if(S){O=S[Q];if(O&&O!==undefined){O.set("x",(J[N]-L/2));}}}}}},{ATTRS:{type:{value:"column"}}});b.BarSeries=b.Base.create("barSeries",b.MarkerSeries,[b.Histogram],{_getMarkerDimensions:function(D,C,F,G){var E={top:C+G};if(D>=this._leftOrigin){E.left=this._leftOrigin;E.calculatedSize=D-E.left;}else{E.left=D;E.calculatedSize=this._leftOrigin-D;}return E;},updateMarkerState:function(E,Q){if(this._markers&&this._markers[Q]){var J=b.clone(this.get("styles").marker),U,F=this._getState(E),L=this.get("xcoords"),V=this.get("ycoords"),H=this._markers[Q],S,C=this.get("graph"),I=C.seriesTypes[this.get("type")],R=I.length,D,K=0,G=0,N,M=0,P=[],O=this.get("order"),T;U=F=="off"||!J[F]?J:J[F];U.fill.color=this._getItemColor(U.fill.color,Q);U.border.color=this._getItemColor(U.border.color,Q);T=this._getMarkerDimensions(L[Q],V[Q],J.height,G);U.width=T.calculatedSize;U.height=Math.min(this._maxSize,U.height);H.set(U);for(;M<R;++M){P[M]=V[Q]+K;D=I[M].get("styles").marker;K+=Math.min(this._maxSize,D.height);if(O>M){G=K;}G-=K/2;}for(M=0;M<R;++M){S=I[M].get("markers");if(S){N=S[Q];if(N&&N!==undefined){N.set("y",(P[M]-K/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(C){if(!C.area){C={area:C};}return b.AreaSeries.superclass._setStyles.apply(this,[C]);},_getDefaultStyles:function(){var C=this._mergeStyles({area:this._getAreaDefaults()},b.AreaSeries.superclass._getDefaultStyles());return C;}},{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(G){var F,D,C,E;if(this.get("showAreaFill")&&this._path){this._path.set("visible",G);}if(this.get("showLines")&&this._lineGraphic){this._lineGraphic.set("visible",G);}if(this.get("showMarkers")){F=this.get("markers");if(F){E=0;C=F.length;for(;E<C;++E){D=F[E];if(D){D.set("visible",G);}}}}},_getDefaultStyles:function(){var C=b.ComboSeries.superclass._getDefaultStyles();C.line=this._getLineDefaults();C.marker=this._getPlotDefaults();C.area=this._getAreaDefaults();return C;}},{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(C){this.set("styles",{marker:C});}},line:{lazyAdd:false,getter:function(){return this.get("styles").line;},setter:function(C){this.set("styles",{line:C});}},area:{lazyAdd:false,getter:function(){return this.get("styles").area;
},setter:function(C){this.set("styles",{area:C});}}}});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 U=q.isNumber,ac=b.clone(this.get("styles").marker),T=ac.width,ab=ac.height,V=this.get("xcoords"),ad=this.get("ycoords"),Z=0,aa=V.length,W=ad[0],H=this.get("type"),F=this.get("graph"),Q=F.seriesTypes[H],O,Y=this.get("order"),S=this.get("graphOrder"),I,P,D,N,L,R,X,E=Y===0,G=aa*T,K={width:[],height:[]},M=[],J=[],C=this.get("groupMarkers");if(q.isArray(ac.fill.color)){D=ac.fill.color.concat();}if(q.isArray(ac.border.color)){N=ac.border.colors.concat();}this._createMarkerCache();if(G>this.get("width")){O=this.width/G;T*=O;T=Math.max(T,1);}if(!E){L=Q[Y-1];R=L.get("negativeBaseValues");X=L.get("positiveBaseValues");if(!R||!X){E=true;X=[];R=[];}}else{R=[];X=[];}this.set("negativeBaseValues",R);this.set("positiveBaseValues",X);for(Z=0;Z<aa;++Z){I=V[Z];W=ad[Z];if(!U(W)||!U(I)){if(E){R[Z]=this._bottomOrigin;X[Z]=this._bottomOrigin;}this._markers.push(null);continue;}if(E){ab=Math.abs(this._bottomOrigin-W);if(W<this._bottomOrigin){X[Z]=W;R[Z]=this._bottomOrigin;}else{if(W>this._bottomOrigin){X[Z]=this._bottomOrigin;R[Z]=W;W-=ab;}else{X[Z]=W;R[Z]=W;}}}else{if(W>this._bottomOrigin){W+=(R[Z]-this._bottomOrigin);ab=W-R[Z];R[Z]=W;W-=ab;}else{if(W<=this._bottomOrigin){W=X[Z]-(this._bottomOrigin-W);ab=X[Z]-W;X[Z]=W;}}}if(!isNaN(ab)&&ab>0){I-=T/2;if(C){K.width[Z]=T;K.height[Z]=ab;M.push(I);J.push(W);}else{ac.width=T;ac.height=ab;ac.x=I;ac.y=W;if(D){ac.fill.color=D[Z%D.length];}if(N){ac.border.color=N[Z%N.length];}P=this.getMarker(ac,S,Z);}}else{if(!C){this._markers.push(null);}}}if(C){this._createGroupMarker({fill:ac.fill,border:ac.border,dimensions:K,xvalues:M,yvalues:J,shape:ac.shape});}else{this._clearMarkerCache();}},updateMarkerState:function(J,H){if(this._markers&&this._markers[H]){var L,E,C=this._getState(J),K=this.get("xcoords"),I=this._markers[H],G=0,D,F;L=this.get("styles").marker;G=L.width*0.5;E=C=="off"||!L[C]?b.clone(L):b.clone(L[C]);E.height=I.get("height");E.x=(K[H]-G);E.y=I.get("y");E.id=I.get("id");D=E.fill.color;F=E.border.color;if(q.isArray(D)){E.fill.color=D[H%D.length];}else{E.fill.color=this._getItemColor(E.fill.color,H);}if(q.isArray(F)){E.border.color=F[H%F.length];}else{E.border.color=this._getItemColor(E.border.color,H);}I.set(E);}},_getPlotDefaults:function(){var C={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}};C.fill.color=this._getDefaultColor(this.get("graphOrder"),"fill");C.border.color=this._getDefaultColor(this.get("graphOrder"),"border");return C;}},{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 T=q.isNumber,ab=b.clone(this.get("styles").marker),S=ab.width,aa=ab.height,U=this.get("xcoords"),ad=this.get("ycoords"),Y=0,Z=U.length,V=ad[0],G=this.get("type"),F=this.get("graph"),P=F.seriesTypes[G],N,X=this.get("order"),R=this.get("graphOrder"),H,O,K,Q,W,D,M,E=X===0,ac=Z*aa,J={width:[],height:[]},L=[],I=[],C=this.get("groupMarkers");if(q.isArray(ab.fill.color)){D=ab.fill.color.concat();}if(q.isArray(ab.border.color)){M=ab.border.colors.concat();}this._createMarkerCache();if(ac>this.get("height")){N=this.height/ac;aa*=N;aa=Math.max(aa,1);}if(!E){K=P[X-1];Q=K.get("negativeBaseValues");W=K.get("positiveBaseValues");if(!Q||!W){E=true;W=[];Q=[];}}else{Q=[];W=[];}this.set("negativeBaseValues",Q);this.set("positiveBaseValues",W);for(Y=0;Y<Z;++Y){V=ad[Y];H=U[Y];if(!T(V)||!T(H)){if(E){W[Y]=this._leftOrigin;Q[Y]=this._leftOrigin;}this._markers.push(null);continue;}if(E){S=Math.abs(H-this._leftOrigin);if(H>this._leftOrigin){W[Y]=H;Q[Y]=this._leftOrigin;H-=S;}else{if(H<this._leftOrigin){W[Y]=this._leftOrigin;Q[Y]=H;}else{W[Y]=H;Q[Y]=this._leftOrigin;}}}else{if(H<this._leftOrigin){H=Q[Y]-(this._leftOrigin-U[Y]);S=Q[Y]-H;Q[Y]=H;}else{if(H>=this._leftOrigin){H+=(W[Y]-this._leftOrigin);S=H-W[Y];W[Y]=H;H-=S;}}}if(!isNaN(S)&&S>0){V-=aa/2;if(C){J.width[Y]=S;J.height[Y]=aa;L.push(H);I.push(V);}else{ab.width=S;ab.height=aa;ab.x=H;ab.y=V;
if(D){ab.fill.color=D[Y%D.length];}if(M){ab.border.color=M[Y%M.length];}O=this.getMarker(ab,R,Y);}}else{if(!C){this._markers.push(null);}}}if(C){this._createGroupMarker({fill:ab.fill,border:ab.border,dimensions:J,xvalues:L,yvalues:I,shape:ab.shape});}else{this._clearMarkerCache();}},updateMarkerState:function(K,H){if(this._markers[H]){var C=this._getState(K),G=this.get("ycoords"),I=this._markers[H],L=this.get("styles").marker,J=L.height,E=C=="off"||!L[C]?b.clone(L):b.clone(L[C]),D,F;E.y=(G[H]-J/2);E.x=I.get("x");E.width=I.get("width");E.id=I.get("id");D=E.fill.color;F=E.border.color;if(q.isArray(D)){E.fill.color=D[H%D.length];}else{E.fill.color=this._getItemColor(E.fill.color,H);}if(q.isArray(F)){E.border.color=F[H%F.length];}else{E.border.color=this._getItemColor(E.border.color,H);}I.set(E);}},_getPlotDefaults:function(){var C={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}};C.fill.color=this._getDefaultColor(this.get("graphOrder"),"fill");C.border.color=this._getDefaultColor(this.get("graphOrder"),"border");return C;}},{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 E="pieHotSpotMapi_"+Math.round(100000*Math.random()),C=this.get("graph").get("contentBox"),D;if(this._image){C.removeChild(this._image);while(this._areaNodes&&this._areaNodes.length>0){D=this._areaNodes.shift();this._map.removeChild(D);}C.removeChild(this._map);}this._image=g.createElement("img");this._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAABCAYAAAD9yd/wAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABJJREFUeNpiZGBgSGPAAgACDAAIkABoFyloZQAAAABJRU5ErkJggg==";C.appendChild(this._image);this._image.setAttribute("usemap","#"+E);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;C.appendChild(this._map);this._map.setAttribute("name",E);this._map.setAttribute("id",E);this._areaNodes=[];},_categoryDisplayName:null,_valueDisplayName:null,addListeners:function(){var C=this.get("categoryAxis"),D=this.get("valueAxis");if(C){C.after("dataReady",b.bind(this._categoryDataChangeHandler,this));C.after("dataUpdate",b.bind(this._categoryDataChangeHandler,this));}if(D){D.after("dataReady",b.bind(this._valueDataChangeHandler,this));D.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(C){var D=this.get("categoryAxis");D.after("dataReady",b.bind(this._categoryDataChangeHandler,this));D.after("dataUpdate",b.bind(this._categoryDataChangeHandler,this));},_valueAxisChangeHandler:function(C){var D=this.get("valueAxis");D.after("dataReady",b.bind(this._valueDataChangeHandler,this));D.after("dataUpdate",b.bind(this._valueDataChangeHandler,this));},GUID:"pieseries",_categoryDataChangeHandler:function(C){if(this._rendered&&this.get("categoryKey")&&this.get("valueKey")){this.draw();}},_valueDataChangeHandler:function(C){if(this._rendered&&this.get("categoryKey")&&this.get("valueKey")){this.draw();}},draw:function(){var E=this.get("graph"),C=E.get("width"),D=E.get("height");if(isFinite(C)&&isFinite(D)&&C>0&&D>0){this._rendered=true;if(this._drawing){this._callLater=true;return;}this._drawing=true;this._callLater=false;this.drawSeries();this._drawing=false;if(this._callLater){this.draw();}else{this.fire("drawingComplete");}}},drawPlots:function(){var E=this.get("valueAxis").getDataByKey(this.get("valueKey")).concat(),F=this.get("categoryAxis").getDataByKey(this.get("categoryKey")).concat(),I=0,ah=E.length,Q=this.get("styles").marker,C=Q.fill.colors,ai=Q.fill.alphas||["1"],M=Q.border.colors,G=[Q.border.weight],H=[Q.border.alpha],aj=G.concat(),S=M.concat(),U=H.concat(),ae,ag,V=Q.padding,D=this.get("graph"),O=Math.min(D.get("width"),D.get("height")),T=O-(V.left+V.right),ad=O-(V.top+V.bottom),ab=-90,N=T/2,W=ad/2,J=Math.min(N,W),ac=0,Z,af=0,Y,aa,K,R,L,P=this.get("graphOrder"),X=b.Graphic.NAME=="canvasGraphic";for(;ac<ah;++ac){Z=parseFloat(E[ac]);E.push(Z);if(!isNaN(Z)){I+=Z;}}ae=C?C.concat():null;ag=ai?ai.concat():null;this._createMarkerCache();if(X){this._setMap();this._image.width=T;this._image.height=ad;}for(ac=0;ac<ah;ac++){Z=E[ac];if(I===0){af=360/E.length;}else{af=360*(Z/I);}af=Math.round(af);if(ae&&ae.length<1){ae=C.concat();}if(ag&&ag.length<1){ag=ai.concat();}if(aj&&aj.length<1){aj=G.concat();}if(aj&&S.length<1){S=M.concat();}if(U&&U.length<1){U=H.concat();}K=aj?aj.shift():null;Y=S?S.shift():null;aa=U?U.shift():null;ab+=af;R={border:{color:Y,weight:K,alpha:aa},fill:{color:ae?ae.shift():this._getDefaultColor(ac,"slice"),alpha:ag?ag.shift():null},type:"pieslice",arc:af,radius:J,startAngle:ab,cx:N,cy:W,width:T,height:ad};L=this.getMarker(R,P,ac);if(X){this._addHotspot(R,P,ac);}}this._clearMarkerCache();},_addHotspot:function(F,S,G){var P=g.createElement("area"),R=1,L=F.cx,J=F.cy,I=F.arc,Q=F.startAngle-I,O=F.startAngle,D=F.radius,M=L+Math.cos(Q/180*Math.PI)*D,K=J+Math.sin(Q/180*Math.PI)*D,U=L+Math.cos(O/180*Math.PI)*D,T=J+Math.sin(O/180*Math.PI)*D,X=Math.floor(I/10)-1,E=(I/(Math.floor(I/10))/180)*Math.PI,H=Math.atan((K-J)/(M-L)),W=L+", "+J+", "+M+", "+K,V,N,C;for(R=1;R<=X;++R){C=E*R;V=Math.cos(H+C);N=Math.sin(H+C);if(Q<=90){W+=", "+(L+(D*Math.cos(H+(E*R))));W+=", "+(J+(D*Math.sin(H+(E*R))));}else{W+=", "+(L-(D*Math.cos(H+(E*R))));W+=", "+(J-(D*Math.sin(H+(E*R))));}}W+=", "+U+", "+T;W+=", "+L+", "+J;this._map.appendChild(P);P.setAttribute("class",n);P.setAttribute("id","hotSpot_"+S+"_"+G);P.setAttribute("shape","polygon");P.setAttribute("coords",W);this._areaNodes.push(P);
},updateMarkerState:function(G,E){if(this._markers[E]){var I=this._getState(G),D,F,C=this._markers[E],H=this.get("styles").marker;D=I=="off"||!H[I]?H:H[I];F=this._mergeStyles(D,{});F.fill.color=F.fill.colors[E%F.fill.colors.length];F.fill.alpha=F.fill.alphas[E%F.fill.alphas.length];C.set(F);}},_createMarker:function(G,C,F){var H=this.get("graphic"),E,D=b.clone(G);H.set("autoDraw",false);E=H.addShape(D);E.addClass(n);return E;},_clearMarkerCache:function(){var C=this._markerCache.length,E=0,D;for(;E<C;++E){D=this._markerCache[E];if(D){D.destroy();}}this._markerCache=[];},_getPlotDefaults:function(){var C={padding:{top:0,left:0,right:0,bottom:0},fill:{alphas:["1"]},border:{weight:0,alpha:1}};C.fill.colors=this._defaultSliceColors;C.border.colors=this._defaultBorderColors;return C;},_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(F,G){var D={line:this._defaultLineColors,fill:this._defaultFillColors,border:this._defaultBorderColors,slice:this._defaultSliceColors},E=D[G],C=E.length;F=F||0;if(F>=C){F=F%C;}G=G||"fill";return D[G][F];}},{ATTRS:{type:{value:"pie"},order:{},graph:{},categoryAxis:{value:null,validator:function(C){return C!==this.get("categoryAxis");}},valueAxis:{value:null,validator:function(C){return C!==this.get("valueAxis");}},categoryKey:{value:null,validator:function(C){return C!==this.get("categoryKey");}},valueKey:{value:null,validator:function(C){return C!==this.get("valueKey");}},categoryDisplayName:{setter:function(C){this._categoryDisplayName=C;return C;},getter:function(){return this._categoryDisplayName||this.get("categoryKey");}},valueDisplayName:{setter:function(C){this._valueDisplayName=C;return C;},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 C=this._path;if(C){C.destroy();}},draw:function(){if(this.get("axis")&&this.get("graph")){this._drawGridlines();}},_drawGridlines:function(){var Q,C=this.get("axis"),K=C.get("position"),N,H=0,E,L=this.get("direction"),O=this.get("graph"),M=O.get("width"),J=O.get("height"),P=this.get("styles").line,G=P.color,I=P.weight,F=P.alpha,D=L=="vertical"?this._verticalLine:this._horizontalLine;if(isFinite(M)&&isFinite(J)&&M>0&&J>0){if(K!="none"&&C&&C.get("tickPoints")){N=C.get("tickPoints");E=N.length;}else{N=[];E=C.get("styles").majorUnit.count;for(;H<E;++H){N[H]={x:M*(H/(E-1)),y:J*(H/(E-1))};}H=0;}Q=O.get("gridlines");Q.set("width",M);Q.set("height",J);Q.set("stroke",{weight:I,color:G,opacity:F});for(;H<E;++H){D(Q,N[H],M,J);}Q.end();}},_horizontalLine:function(F,E,C,D){F.moveTo(0,E.y);F.lineTo(C,E.y);},_verticalLine:function(F,E,C,D){F.moveTo(E.x,0);F.lineTo(E.x,D);},_getDefaultStyles:function(){var C={line:{color:"#f0efe9",weight:1,alpha:1}};return C;}},{ATTRS:{direction:{},axis:{},graph:{}}});b.Graph=b.Base.create("graph",b.Widget,[b.Renderer],{bindUI:function(){var C=this.get("boundingBox");C.setStyle("position","absolute");this.after("widthChange",this._sizeChangeHandler);this.after("heightChange",this._sizeChangeHandler);this.after("stylesChange",this._updateStyles);},syncUI:function(){var C,F,G,K=this.get("seriesCollection"),H,I=0,J=K.length,D=this.get("horizontalGridlines"),E=this.get("verticalGridlines");if(this.get("showBackground")){C=this.get("background");F=this.get("contentBox");G=this.get("styles").background;G.stroke=G.border;G.stroke.opacity=G.stroke.alpha;G.fill.opacity=G.fill.alpha;G.width=this.get("width");G.height=this.get("height");G.type=G.shape;C.set(G);}for(;I<J;++I){H=K[I];if(H instanceof b.CartesianSeries){H.render();}}if(D&&D instanceof b.Gridlines){D.draw();}if(E&&E instanceof b.Gridlines){E.draw();}},seriesTypes:null,getSeriesByIndex:function(E){var C=this.get("seriesCollection"),D;if(C&&C.length>E){D=C[E];}return D;},getSeriesByKey:function(E){var D=this._seriesDictionary,C;if(D&&D.hasOwnProperty(E)){C=D[E];}return C;},addDispatcher:function(C){if(!this._dispatchers){this._dispatchers=[];}this._dispatchers.push(C);},_seriesCollection:null,_seriesDictionary:null,_parseSeriesCollection:function(G){if(!G){return;}var D=G.length,F=0,E,C;if(!this.get("seriesCollection")){this._seriesCollection=[];}if(!this._seriesDictionary){this._seriesDictionary={};}if(!this.seriesTypes){this.seriesTypes=[];}for(;F<D;++F){E=G[F];if(!(E instanceof b.CartesianSeries)&&!(E instanceof b.PieSeries)){this._createSeries(E);continue;}this._addSeries(E);}D=this.get("seriesCollection").length;for(F=0;F<D;++F){E=this.get("seriesCollection")[F];C=E.get("direction")=="horizontal"?"yKey":"xKey";this._seriesDictionary[E.get(C)]=E;}},_addSeries:function(E){var F=E.get("type"),H=this.get("seriesCollection"),G=H.length,D=this.seriesTypes,C;if(!E.get("graph")){E.set("graph",this);}H.push(E);if(!D.hasOwnProperty(F)){this.seriesTypes[F]=[];}C=this.seriesTypes[F];E.set("graphOrder",G);E.set("order",C.length);C.push(E);this.addDispatcher(E);E.after("drawingComplete",b.bind(this._drawingCompleteHandler,this));this.fire("seriesAdded",E);},_createSeries:function(G){var H=G.type,I=this.get("seriesCollection"),E=this.seriesTypes,D,C,F;G.graph=this;if(!E.hasOwnProperty(H)){E[H]=[];}D=E[H];G.graph=this;G.order=D.length;G.graphOrder=I.length;C=this._getSeries(G.type);F=new C(G);this.addDispatcher(F);F.after("drawingComplete",b.bind(this._drawingCompleteHandler,this));D.push(F);I.push(F);},_seriesMap:{line:b.LineSeries,column:b.ColumnSeries,bar:b.BarSeries,area:b.AreaSeries,candlestick:b.CandlestickSeries,ohlc:b.OHLCSeries,stackedarea:b.StackedAreaSeries,stackedline:b.StackedLineSeries,stackedcolumn:b.StackedColumnSeries,stackedbar:b.StackedBarSeries,markerseries:b.MarkerSeries,spline:b.SplineSeries,areaspline:b.AreaSplineSeries,stackedspline:b.StackedSplineSeries,stackedareaspline:b.StackedAreaSplineSeries,stackedmarkerseries:b.StackedMarkerSeries,pie:b.PieSeries,combo:b.ComboSeries,stackedcombo:b.StackedComboSeries,combospline:b.ComboSplineSeries,stackedcombospline:b.StackedComboSplineSeries},_getSeries:function(C){var D;
if(q.isString(C)){D=this._seriesMap[C];}else{D=C;}return D;},_markerEventHandler:function(H){var F=H.type,C=H.currentTarget,G=C.getAttribute("id").split("_"),E=this.getSeriesByIndex(G[1]),D=G[2];E.updateMarkerState(F,D);},_dispatchers:null,_updateStyles:function(){var D=this.get("styles").background,C=D.border;C.opacity=C.alpha;D.stroke=C;D.fill.opacity=D.fill.alpha;this.get("background").set(D);this._sizeChangeHandler();},_sizeChangeHandler:function(I){var C=this.get("horizontalGridlines"),J=this.get("verticalGridlines"),D=this.get("width"),G=this.get("height"),F=this.get("styles").background,H,E;if(F&&F.border){H=F.border.weight||0;}if(this.get("showBackground")){E=this.get("background");if(D&&G){E.set("width",D);E.set("height",G);}}if(this._gridlines){this._gridlines.clear();}if(C&&C instanceof b.Gridlines){C.draw();}if(J&&J instanceof b.Gridlines){J.draw();}this._drawSeries();},_drawSeries:function(){if(this._drawing){this._callLater=true;return;}var E,D,C,F=this.get("graphic");F.set("autoDraw",false);this._callLater=false;this._drawing=true;E=this.get("seriesCollection");D=0;C=E.length;for(;D<C;++D){E[D].draw();if((!E[D].get("xcoords")||!E[D].get("ycoords"))&&!E[D] instanceof b.PieSeries){this._callLater=true;break;}}this._drawing=false;if(this._callLater){this._drawSeries();}},_drawingCompleteHandler:function(E){var D=E.currentTarget,F,C=b.Array.indexOf(this._dispatchers,D);if(C>-1){this._dispatchers.splice(C,1);}if(this._dispatchers.length<1){F=this.get("graphic");if(!F.get("autoDraw")){F._redraw();}this.fire("chartRendered");}},_getDefaultStyles:function(){var C={background:{shape:"rect",fill:{color:"#faf9f2"},border:{color:"#dad8c9",weight:1}}};return C;},destructor:function(){if(this._graphic){this._graphic.destroy();}if(this._background){this._background.get("graphic").destroy();}if(this._gridlines){this._gridlines.get("graphic").destroy();}}},{ATTRS:{chart:{},seriesCollection:{getter:function(){return this._seriesCollection;},setter:function(C){this._parseSeriesCollection(C);return this._seriesCollection;}},showBackground:{value:true},seriesDictionary:{readOnly:true,getter:function(){return this._seriesDictionary;}},horizontalGridlines:{value:null,setter:function(D){var C=this.get("horizontalGridlines");if(C&&C instanceof b.Gridlines){C.remove();}if(D instanceof b.Gridlines){C=D;D.set("graph",this);return D;}else{if(D&&D.axis){C=new b.Gridlines({direction:"horizontal",axis:D.axis,graph:this,styles:D.styles});return C;}}}},verticalGridlines:{value:null,setter:function(D){var C=this.get("verticalGridlines");if(C&&C instanceof b.Gridlines){C.remove();}if(D instanceof b.Gridlines){C=D;D.set("graph",this);return D;}else{if(D&&D.axis){C=new b.Gridlines({direction:"vertical",axis:D.axis,graph:this,styles:D.styles});return C;}}}},background:{getter:function(){if(!this._background){this._backgroundGraphic=new b.Graphic({render:this.get("contentBox")});this._backgroundGraphic.get("node").style.zIndex=0;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.get("node").style.zIndex=2;this._graphic.set("autoDraw",false);}return this._graphic;}},groupMarkers:{value:false}}});function o(){}o.ATTRS={tooltip:{valueFn:"_getTooltip",setter:function(C){return this._updateTooltip(C);}},categoryKey:{value:"category"},categoryType:{value:"category"},interactionType:{value:"marker"},dataProvider:{setter:function(C){return this._setDataValues(C);}},seriesKeys:{},axesCollection:{},graph:{valueFn:"_getGraph"},groupMarkers:{value:false,setter:function(C){if(this.get("graph")){this.get("graph").set("groupMarkers",C);}return C;}}};o.prototype={_getGraph:function(){var C=new b.Graph({chart:this,groupMarkers:this.get("groupMarkers")});C.after("chartRendered",b.bind(function(D){this.fire("chartRendered");},this));return C;},getSeries:function(E){var C=null,D=this.get("graph");if(D){if(q.isNumber(E)){C=D.getSeriesByIndex(E);}else{C=D.getSeriesByKey(E);}}return C;},getAxisByKey:function(E){var C,D=this.get("axes");if(D&&D.hasOwnProperty(E)){C=D[E];}return C;},getCategoryAxis:function(){var D,C=this.get("categoryKey"),E=this.get("axes");if(E.hasOwnProperty(C)){D=E[C];}return D;},_direction:"horizontal",_dataProvider:null,_setDataValues:function(H){if(q.isArray(H[0])){var G,J=[],E=H[0],F=0,D=E.length,I,C=H.length;for(;F<D;++F){G={category:E[F]};for(I=1;I<C;++I){G["series"+I]=H[I][F];}J[F]=G;}return J;}return H;},_seriesCollection:null,_setSeriesCollection:function(C){this._seriesCollection=C;},_getAxisClass:function(C){return this._axisClass[C];},_axisClass:{stacked:b.StackedAxis,numeric:b.NumericAxis,category:b.CategoryAxis,time:b.TimeAxis},_axes:null,initializer:function(){this._axesRenderQueue=[];this.after("dataProviderChange",this._dataProviderChangeHandler);},renderUI:function(){var C=this.get("tooltip");this.get("boundingBox").setStyle("position","absolute");this.get("contentBox").setStyle("position","absolute");this._addAxes();this._addSeries();if(C&&C.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);var G=this.get("tooltip"),J="mouseout",F="mouseover",D=this.get("contentBox"),I=this.get("interactionType"),E=0,C,H="."+n;if(I=="marker"){J=G.hideEvent;F=G.showEvent;b.delegate("mouseenter",b.bind(this._markerEventDispatcher,this),D,H);b.delegate("mousedown",b.bind(this._markerEventDispatcher,this),D,H);b.delegate("mouseup",b.bind(this._markerEventDispatcher,this),D,H);b.delegate("mouseleave",b.bind(this._markerEventDispatcher,this),D,H);
b.delegate("click",b.bind(this._markerEventDispatcher,this),D,H);b.delegate("mousemove",b.bind(this._positionTooltip,this),D,H);}else{if(I=="planar"){this._overlay.on("mousemove",b.bind(this._planarEventDispatcher,this));this.on("mouseout",this.hideTooltip);}}if(G){if(J&&F&&J==F){this.on(I+"Event:"+J,this.toggleTooltip);}else{if(F){this.on(I+"Event:"+F,G[I+"EventHandler"]);}if(J){if(q.isArray(J)){C=J.length;for(;E<C;++E){this.on(I+"Event:"+J[E],this.hideTooltip);}}this.on(I+"Event:"+J,this.hideTooltip);}}}},_markerEventDispatcher:function(I){var K=I.type,C=this.get("contentBox"),O=I.currentTarget,N=O.getAttribute("id").split("_"),H=N.pop(),F=N.pop(),G=this.getSeries(parseInt(F,10)),J=this.getSeriesItems(G,H),E=I.pageX,D=I.pageY,M=E-C.getX(),L=D-C.getY();if(K=="mouseenter"){K="mouseover";}else{if(K=="mouseleave"){K="mouseout";}}G.updateMarkerState(K,H);I.halt();this.fire("markerEvent:"+K,{originEvent:I,pageX:E,pageY:D,categoryItem:J.category,valueItem:J.value,node:O,x:M,y:L,series:G,index:H,seriesIndex:F});},_dataProviderChangeHandler:function(G){var D=this.get("dataProvider"),F=this.get("axes"),C,E;if(F){for(C in F){if(F.hasOwnProperty(C)){E=F[C];if(E instanceof b.Axis){E.set("dataProvider",D);}}}}},toggleTooltip:function(D){var C=this.get("tooltip");if(C.visible){this.hideTooltip();}else{C.markerEventHandler.apply(this,[D]);}},_showTooltip:function(F,C,G){var D=this.get("tooltip"),E=D.node;if(F){D.visible=true;D.setTextFunction(E,F);E.setStyle("top",G+"px");E.setStyle("left",C+"px");E.setStyle("visibility","visible");}},_positionTooltip:function(G){var E=this.get("tooltip"),F=E.node,D=this.get("contentBox"),C=(G.pageX+10)-D.getX(),H=(G.pageY+10)-D.getY();if(F){F.setStyle("left",C+"px");F.setStyle("top",H+"px");}},hideTooltip:function(){var C=this.get("tooltip"),D=C.node;C.visible=false;D.set("innerHTML","");D.setStyle("left",-10000);D.setStyle("top",-10000);D.setStyle("visibility","hidden");},_addTooltip:function(){var D=this.get("tooltip"),F=this.get("id")+"_tooltip",C=this.get("contentBox"),E=g.getElementById(F);if(E){C.removeChild(E);}D.node.setAttribute("id",F);D.node.setStyle("visibility","hidden");C.appendChild(D.node);},_updateTooltip:function(H){var E=this._tooltip,C,G,F,D={markerLabelFunction:"markerLabelFunction",planarLabelFunction:"planarLabelFunction",setTextFunction:"setTextFunction",showEvent:"showEvent",hideEvent:"hideEvent",markerEventHandler:"markerEventHandler",planarEventHandler:"planarEventHandler",show:"show"};if(q.isObject(H)){G=H.styles;F=b.one(H.node)||E.node;if(G){for(C in G){if(G.hasOwnProperty(C)){F.setStyle(C,G[C]);}}}for(C in D){if(H.hasOwnProperty(C)){E[C]=H[C];}}E.node=F;}return E;},_getTooltip:function(){var D=g.createElement("div"),C={setTextFunction:this._setText,markerLabelFunction:this._tooltipLabelFunction,planarLabelFunction:this._planarLabelFunction,show:true,hideEvent:"mouseout",showEvent:"mouseover",markerEventHandler:function(F){var E=this.get("tooltip"),G=E.markerLabelFunction.apply(this,[F.categoryItem,F.valueItem,F.index,F.series,F.seriesIndex]);this._showTooltip(G,F.x+10,F.y+10);},planarEventHandler:function(F){var E=this.get("tooltip"),H,G=this.get("categoryAxis");H=E.planarLabelFunction.apply(this,[G,F.valueItem,F.index,F.items,F.seriesIndex]);this._showTooltip(H,F.x+10,F.y+10);}};D.setAttribute("id",this.get("id")+"_tooltip");D=b.one(D);D.setStyle("fontSize","85%");D.setStyle("opacity","0.83");D.setStyle("position","absolute");D.setStyle("paddingTop","2px");D.setStyle("paddingRight","5px");D.setStyle("paddingBottom","4px");D.setStyle("paddingLeft","2px");D.setStyle("backgroundColor","#fff");D.setStyle("border","1px solid #dbdccc");D.setStyle("pointerEvents","none");D.setStyle("zIndex",3);D.setStyle("whiteSpace","noWrap");D.setStyle("visibility","hidden");C.node=b.one(D);this._tooltip=C;return C;},_planarLabelFunction:function(I,M,K,G,E){var C=g.createElement("div"),L,H=0,J=G.length,D,F;if(I){C.appendChild(g.createTextNode(I.get("labelFunction").apply(this,[I.getKeyValueAt(this.get("categoryKey"),K),I.get("labelFormat")])));}for(;H<J;++H){F=G[H];if(F.get("visible")){L=M[H];D=L.axis;C.appendChild(g.createElement("br"));C.appendChild(g.createTextNode(L.displayName+": "+D.get("labelFunction").apply(this,[D.getKeyValueAt(L.key,K),D.get("labelFormat")])));}}return C;},_tooltipLabelFunction:function(H,C,F,E,D){var G=g.createElement("div");G.appendChild(g.createTextNode(H.displayName+": "+H.axis.get("labelFunction").apply(this,[H.value,H.axis.get("labelFormat")])));G.appendChild(g.createElement("br"));G.appendChild(g.createTextNode(C.displayName+": "+C.axis.get("labelFunction").apply(this,[C.value,C.axis.get("labelFormat")])));return G;},_tooltipChangeHandler:function(G){if(this.get("tooltip")){var E=this.get("tooltip"),F=E.node,D=E.show,C=this.get("contentBox");if(F&&D){if(!C.contains(F)){this._addTooltip();}}}},_setText:function(C,D){C.setContent("");if(q.isNumber(D)){D=D+"";}else{if(!D){D="";}}if(l(D)){D=g.createTextNode(D);}C.appendChild(D);}};b.ChartBase=o;b.CartesianChart=b.Base.create("cartesianChart",b.Widget,[b.ChartBase],{renderUI:function(){var E=this.get("tooltip"),C,D=c("overlay");this.get("boundingBox").setStyle("position","absolute");this.get("contentBox").setStyle("position","absolute");this._addAxes();this._addGridlines();this._addSeries();if(E&&E.show){this._addTooltip();}this.get("styles");if(this.get("interactionType")=="planar"){C=g.createElement("div");this.get("contentBox").appendChild(C);this._overlay=b.one(C);this._overlay.setStyle("position","absolute");this._overlay.setStyle("background","#fff");this._overlay.setStyle("opacity",0);this._overlay.addClass(D);this._overlay.setStyle("zIndex",4);}this._redraw();},_planarEventDispatcher:function(X){var F=this.get("graph"),J=this.get("boundingBox"),R=F.get("contentBox"),E=X.pageX,C=X.pageY,N=E-J.getX(),M=C-J.getY(),K={x:E-R.getX(),y:C-R.getY()},D=F.get("seriesCollection"),O,V=0,L,I=this._selectedIndex,Z,Q=[],G=[],P=[],aa=this.get("direction"),ab,Y,T,S,H,W,U;if(aa=="horizontal"){Y="x";
T="y";}else{T="x";Y="y";}S=K[Y];if(D){W=D.length;while(V<W&&!H){if(D[V]){H=D[V].get(Y+"MarkerPlane");}V++;}}if(H){W=H.length;for(V=0;V<W;++V){if(S<=H[V].end&&S>=H[V].start){L=V;break;}}W=D.length;for(V=0;V<W;++V){O=D[V];U=O.get(T+"coords");ab=O.get("markers");if(ab&&!isNaN(I)&&I>-1){O.updateMarkerState("mouseout",I);}if(U&&U[L]>-1){if(ab&&!isNaN(L)&&L>-1){O.updateMarkerState("mouseover",L);}Z=this.getSeriesItems(O,L);G.push(Z.category);P.push(Z.value);Q.push(O);}}this._selectedIndex=L;if(L>-1){this.fire("planarEvent:mouseover",{categoryItem:G,valueItem:P,x:N,y:M,pageX:E,pageY:C,items:Q,index:L,originEvent:X});}else{this.fire("planarEvent:mouseout");}}},_type:"combo",_axesRenderQueue:null,_addToAxesRenderQueue:function(C){if(!this._axesRenderQueue){this._axesRenderQueue=[];}if(b.Array.indexOf(this._axesRenderQueue,C)<0){this._axesRenderQueue.push(C);}},_addToAxesCollection:function(C,E){var D=this.get(C+"AxesCollection");if(!D){D=[];this.set(C+"AxesCollection",D);}D.push(E);},_getDefaultSeriesCollection:function(V){var L=this.get("direction"),C=V||[],S,P,N=[],I,H=this.get("seriesKeys").concat(),R,G,O,F=this.get("type"),T,K,U,D,E=this.get("categoryKey"),Q=this.get("showMarkers"),M=this.get("showAreaFill"),J=this.get("showLines");if(L=="vertical"){S="yAxis";K="yKey";P="xAxis";U="xKey";}else{S="xAxis";K="xKey";P="yAxis";U="yKey";}O=C.length;for(R=0;R<O;++R){T=this._getBaseAttribute(C[R],U);if(T){G=b.Array.indexOf(H,T);if(G>-1){H.splice(G,1);}N.push(T);}}if(H.length>0){N=N.concat(H);}O=N.length;for(R=0;R<O;++R){I=C[R]||{type:F};if(I instanceof b.CartesianSeries){this._parseSeriesAxes(I);continue;}I[K]=I[K]||E;I[U]=I[U]||H.shift();I[S]=this._getCategoryAxis();I[P]=this._getSeriesAxis(I[U]);I.type=I.type||F;if((I.type=="combo"||I.type=="stackedcombo"||I.type=="combospline"||I.type=="stackedcombospline")){if(M!==null){I.showAreaFill=(I.showAreaFill!==null&&I.showAreaFill!==undefined)?I.showAreaFill:M;}if(Q!==null){I.showMarkers=(I.showMarkers!==null&&I.showMarkers!==undefined)?I.showMarkers:Q;}if(J!==null){I.showLines=(I.showLines!==null&&I.showLines!==undefined)?I.showLines:J;}}C[R]=I;}if(V){D=this.get("graph");D.set("seriesCollection",C);C=D.get("seriesCollection");}return C;},_parseSeriesAxes:function(D){var H=this.get("axes"),F=D.get("xAxis"),C=D.get("yAxis"),G=b.Axis,E;if(F&&!(F instanceof G)&&q.isString(F)&&H.hasOwnProperty(F)){E=H[F];if(E instanceof G){D.set("xAxis",E);}}if(C&&!(C instanceof G)&&q.isString(C)&&H.hasOwnProperty(C)){E=H[C];if(E instanceof G){D.set("yAxis",E);}}},_getCategoryAxis:function(){var C,D=this.get("axes"),E=this.get("categoryAxisName")||this.get("categoryKey");C=D[E];return C;},_getSeriesAxis:function(D,H){var G=this.get("axes"),C,F,E;if(G){if(H&&G.hasOwnProperty(H)){E=G[H];}else{for(C in G){if(G.hasOwnProperty(C)){F=G[C].get("keys");if(F&&F.hasOwnProperty(D)){E=G[C];break;}}}}}return E;},_getBaseAttribute:function(D,C){if(D instanceof b.Base){return D.get(C);}if(D.hasOwnProperty(C)){return D[C];}return null;},_setBaseAttribute:function(D,C,E){if(D instanceof b.Base){D.set(C,E);}else{D[C]=E;}},_parseAxes:function(D){var H=this._getDefaultAxes(D),L={},F={edgeOffset:"edgeOffset",position:"position",overlapGraph:"overlapGraph",labelFunction:"labelFunction",labelFunctionScope:"labelFunctionScope",labelFormat:"labelFormat",maximum:"maximum",minimum:"minimum",roundingMethod:"roundingMethod",alwaysShowZero:"alwaysShowZero",title:"title",width:"width",height:"height"},G=this.get("dataProvider"),O,I,P,E,J,N,M,C,K;for(I in H){if(H.hasOwnProperty(I)){N=H[I];if(N instanceof b.Axis){E=N;}else{E=null;C={};C.dataProvider=N.dataProvider||G;C.keys=N.keys;if(N.hasOwnProperty("roundingUnit")){C.roundingUnit=N.roundingUnit;}P=N.position;if(N.styles){C.styles=N.styles;}C.position=N.position;for(O in F){if(F.hasOwnProperty(O)&&N.hasOwnProperty(O)){C[O]=N[O];}}if(D){E=this.getAxisByKey(I);}if(E&&E instanceof b.Axis){J=E.get("position");if(P!=J){if(J!="none"){K=this.get(J+"AxesCollection");K.splice(b.Array.indexOf(K,E),1);}if(P!="none"){this._addToAxesCollection(P,E);}}E.setAttrs(C);}else{M=this._getAxisClass(N.type);E=new M(C);E.after("axisRendered",b.bind(this._axisRendered,this));}}if(E){K=this.get(P+"AxesCollection");if(K&&b.Array.indexOf(K,E)>0){E.set("overlapGraph",false);}L[I]=E;}}}return L;},_addAxes:function(){var H=this.get("axes"),D,F,I,C=this.get("width"),E=this.get("height"),G=b.Node.one(this._parentNode);if(!this._axesCollection){this._axesCollection=[];}for(D in H){if(H.hasOwnProperty(D)){F=H[D];if(F instanceof b.Axis){if(!C){this.set("width",G.get("offsetWidth"));C=this.get("width");}if(!E){this.set("height",G.get("offsetHeight"));E=this.get("height");}this._addToAxesRenderQueue(F);I=F.get("position");if(!this.get(I+"AxesCollection")){this.set(I+"AxesCollection",[F]);}else{this.get(I+"AxesCollection").push(F);}this._axesCollection.push(F);if(F.get("keys").hasOwnProperty(this.get("categoryKey"))){this.set("categoryAxis",F);}F.render(this.get("contentBox"));}}}},_addSeries:function(){var C=this.get("graph"),D=this.get("seriesCollection");C.render(this.get("contentBox"));},_addGridlines:function(){var M=this.get("graph"),D=this.get("horizontalGridlines"),E=this.get("verticalGridlines"),L=this.get("direction"),N=this.get("leftAxesCollection"),H=this.get("rightAxesCollection"),J=this.get("bottomAxesCollection"),F=this.get("topAxesCollection"),G,C=this.get("categoryAxis"),K,I;if(this._axesCollection){G=this._axesCollection.concat();G.splice(b.Array.indexOf(G,C),1);}if(D){if(N&&N[0]){K=N[0];}else{if(H&&H[0]){K=H[0];}else{K=L=="horizontal"?C:G[0];}}if(!this._getBaseAttribute(D,"axis")&&K){this._setBaseAttribute(D,"axis",K);}if(this._getBaseAttribute(D,"axis")){M.set("horizontalGridlines",D);}}if(E){if(J&&J[0]){I=J[0];}else{if(F&&F[0]){I=F[0];}else{I=L=="vertical"?C:G[0];}}if(!this._getBaseAttribute(E,"axis")&&I){this._setBaseAttribute(E,"axis",I);}if(this._getBaseAttribute(E,"axis")){M.set("verticalGridlines",E);}}},_getAllKeys:function(H){var E=0,C=H.length,G,D,F={};for(;E<C;++E){G=H[E];
for(D in G){if(G.hasOwnProperty(D)){F[D]=true;}}}return F;},_getDefaultAxes:function(U){var M=this.get("categoryKey"),D,S,O,F={},Q=[],E=this.get("categoryAxisName")||this.get("categoryKey"),C=this.get("valueAxisName"),G=this.get("seriesKeys")||[],V,T,L,J,P,N,R=this.get("dataProvider"),W=this.get("direction"),K,H,I=[],X=this.get("stacked")?"stacked":"numeric";if(W=="vertical"){K="bottom";H="left";}else{K="left";H="bottom";}if(U){for(V in U){if(U.hasOwnProperty(V)){D=U[V];O=this._getBaseAttribute(D,"keys");S=this._getBaseAttribute(D,"type");if(S=="time"||S=="category"){E=V;this.set("categoryAxisName",V);if(q.isArray(O)&&O.length>0){M=O[0];this.set("categoryKey",M);}F[V]=D;}else{if(V==E){F[V]=D;}else{F[V]=D;if(V!=C&&O&&q.isArray(O)){J=O.length;for(L=0;L<J;++L){Q.push(O[L]);}I.push(F[V]);}if(!(this._getBaseAttribute(F[V],"type"))){this._setBaseAttribute(F[V],"type",X);}if(!(this._getBaseAttribute(F[V],"position"))){this._setBaseAttribute(F[V],"position",this._getDefaultAxisPosition(F[V],I,K));}}}}}}if(G.length<1){N=this._getAllKeys(R);for(V in N){if(N.hasOwnProperty(V)&&V!=M&&b.Array.indexOf(Q,V)==-1){G.push(V);}}}P=b.Array.indexOf(G,M);if(P>-1){G.splice(P,1);}T=Q.length;for(V=0;V<T;++V){P=b.Array.indexOf(G,Q[V]);if(P>-1){G.splice(P,1);}}if(!F.hasOwnProperty(E)){F[E]={};}if(!(this._getBaseAttribute(F[E],"keys"))){this._setBaseAttribute(F[E],"keys",[M]);}if(!(this._getBaseAttribute(F[E],"position"))){this._setBaseAttribute(F[E],"position",H);}if(!(this._getBaseAttribute(F[E],"type"))){this._setBaseAttribute(F[E],"type",this.get("categoryType"));}if(!F.hasOwnProperty(C)&&G&&G.length>0){F[C]={keys:G};I.push(F[C]);}if(Q.length>0){if(G.length>0){G=Q.concat(G);}else{G=Q;}}if(F.hasOwnProperty(C)){if(!(this._getBaseAttribute(F[C],"position"))){this._setBaseAttribute(F[C],"position",this._getDefaultAxisPosition(F[C],I,K));}if(!(this._getBaseAttribute(F[C],"type"))){this._setBaseAttribute(F[C],"type",X);}if(!(this._getBaseAttribute(F[C],"keys"))){this._setBaseAttribute(F[C],"keys",G);}}this.set("seriesKeys",G);return F;},_getDefaultAxisPosition:function(F,D,C){var G=this.get("direction"),E=b.Array.indexOf(D,F);if(D[E-1]&&D[E-1].position){if(G=="horizontal"){if(D[E-1].position=="left"){C="right";}else{if(D[E-1].position=="right"){C="left";}}}else{if(D[E-1].position=="bottom"){C="top";}else{C="bottom";}}}return C;},getSeriesItems:function(H,G){var I=H.get("xAxis"),E=H.get("yAxis"),F=H.get("xKey"),D=H.get("yKey"),J,C;if(this.get("direction")=="vertical"){J={axis:E,key:D,value:E.getKeyValueAt(D,G)};C={axis:I,key:F,value:I.getKeyValueAt(F,G)};}else{C={axis:E,key:D,value:E.getKeyValueAt(D,G)};J={axis:I,key:F,value:I.getKeyValueAt(F,G)};}J.displayName=H.get("categoryDisplayName");C.displayName=H.get("valueDisplayName");J.value=J.axis.getKeyValueAt(J.key,G);C.value=C.axis.getKeyValueAt(C.key,G);return{category:J,value:C};},_axisRendered:function(C){this._axesRenderQueue=this._axesRenderQueue.splice(1+b.Array.indexOf(this._axesRenderQueue,C.currentTarget),1);if(this._axesRenderQueue.length<1){this._redraw();}},_sizeChanged:function(F){if(this._axesCollection){var E=this._axesCollection,D=0,C=E.length;for(;D<C;++D){this._addToAxesRenderQueue(E[D]);}this._redraw();}},_getTopOverflow:function(H,F,D){var E=0,C,I=0,G;if(H){C=H.length;for(;E<C;++E){G=H[E];I=Math.max(I,Math.abs(G.getMaxLabelBounds().top)-(G.getEdgeOffset(G.get("styles").majorTicks.count,D)*0.5));}}if(F){E=0;C=F.length;for(;E<C;++E){G=F[E];I=Math.max(I,Math.abs(G.getMaxLabelBounds().top)-(G.getEdgeOffset(G.get("styles").majorTicks.count,D)*0.5));}}return I;},_getRightOverflow:function(H,E,G){var D=0,C,I=0,F;if(H){C=H.length;for(;D<C;++D){F=H[D];I=Math.max(I,F.getMaxLabelBounds().right-(F.getEdgeOffset(F.get("styles").majorTicks.count,G)*0.5));}}if(E){D=0;C=E.length;for(;D<C;++D){F=E[D];I=Math.max(I,F.getMaxLabelBounds().right-(F.getEdgeOffset(F.get("styles").majorTicks.count,G)*0.5));}}return I;},_getLeftOverflow:function(H,E,G){var D=0,C,I=0,F;if(H){C=H.length;for(;D<C;++D){F=H[D];I=Math.max(I,Math.abs(F.getMinLabelBounds().left)-(F.getEdgeOffset(F.get("styles").majorTicks.count,G)*0.5));}}if(E){D=0;C=E.length;for(;D<C;++D){F=E[D];I=Math.max(I,Math.abs(F.getMinLabelBounds().left)-(F.getEdgeOffset(F.get("styles").majorTicks.count,G)*0.5));}}return I;},_getBottomOverflow:function(H,F,D){var E=0,C,I=0,G;if(H){C=H.length;for(;E<C;++E){G=H[E];I=Math.max(I,G.getMinLabelBounds().bottom-(G.getEdgeOffset(G.get("styles").majorTicks.count,D)*0.5));}}if(F){E=0;C=F.length;for(;E<C;++E){G=F[E];I=Math.max(I,G.getMinLabelBounds().bottom-(G.getEdgeOffset(G.get("styles").majorTicks.count,D)*0.5));}}return I;},_redraw:function(){if(this._drawing){this._callLater=true;return;}this._drawing=true;this._callLater=false;var P=this.get("width"),aa=this.get("height"),L=0,Y=0,Q=0,C=0,D=this.get("leftAxesCollection"),N=this.get("rightAxesCollection"),O=this.get("topAxesCollection"),ad=this.get("bottomAxesCollection"),Z=0,W,H,F="visible",G=this.get("graph"),J,R,X,V,K,M,ac,ab,U=this.get("allowContentOverflow"),S,E,af,T,I,ae={};if(D){af=[];W=D.length;for(Z=W-1;Z>-1;--Z){af.unshift(L);L+=D[Z].get("width");}}if(N){E=[];W=N.length;Z=0;for(Z=W-1;Z>-1;--Z){Y+=N[Z].get("width");E.unshift(P-Y);}}if(O){T=[];W=O.length;for(Z=W-1;Z>-1;--Z){T.unshift(Q);Q+=O[Z].get("height");}}if(ad){I=[];W=ad.length;for(Z=W-1;Z>-1;--Z){C+=ad[Z].get("height");I.unshift(aa-C);}}K=P-(L+Y);M=aa-(C+Q);ae.left=L;ae.top=Q;ae.bottom=aa-C;ae.right=P-Y;if(!U){J=this._getTopOverflow(D,N);R=this._getBottomOverflow(D,N);X=this._getLeftOverflow(ad,O);V=this._getRightOverflow(ad,O);S=J-Q;if(S>0){ae.top=J;if(T){Z=0;W=T.length;for(;Z<W;++Z){T[Z]+=S;}}}S=R-C;if(S>0){ae.bottom=aa-R;if(I){Z=0;W=I.length;for(;Z<W;++Z){I[Z]-=S;}}}S=X-L;if(S>0){ae.left=X;if(af){Z=0;W=af.length;for(;Z<W;++Z){af[Z]+=S;}}}S=V-Y;if(S>0){ae.right=P-V;if(E){Z=0;W=E.length;for(;Z<W;++Z){E[Z]-=S;}}}}K=ae.right-ae.left;M=ae.bottom-ae.top;ac=ae.left;ab=ae.top;if(O){W=O.length;Z=0;for(;Z<W;Z++){H=O[Z];if(H.get("width")!==K){H.set("width",K);}H.get("boundingBox").setStyle("left",ac+"px");
H.get("boundingBox").setStyle("top",T[Z]+"px");}if(H._hasDataOverflow()){F="hidden";}}if(ad){W=ad.length;Z=0;for(;Z<W;Z++){H=ad[Z];if(H.get("width")!==K){H.set("width",K);}H.get("boundingBox").setStyle("left",ac+"px");H.get("boundingBox").setStyle("top",I[Z]+"px");}if(H._hasDataOverflow()){F="hidden";}}if(D){W=D.length;Z=0;for(;Z<W;++Z){H=D[Z];H.get("boundingBox").setStyle("top",ab+"px");H.get("boundingBox").setStyle("left",af[Z]+"px");if(H.get("height")!==M){H.set("height",M);}}if(H._hasDataOverflow()){F="hidden";}}if(N){W=N.length;Z=0;for(;Z<W;++Z){H=N[Z];H.get("boundingBox").setStyle("top",ab+"px");H.get("boundingBox").setStyle("left",E[Z]+"px");if(H.get("height")!==M){H.set("height",M);}}if(H._hasDataOverflow()){F="hidden";}}this._drawing=false;if(this._callLater){this._redraw();return;}if(G){G.get("boundingBox").setStyle("left",ac+"px");G.get("boundingBox").setStyle("top",ab+"px");G.set("width",K);G.set("height",M);G.get("boundingBox").setStyle("overflow",F);}if(this._overlay){this._overlay.setStyle("left",ac+"px");this._overlay.setStyle("top",ab+"px");this._overlay.setStyle("width",K+"px");this._overlay.setStyle("height",M+"px");}},destructor:function(){var G=this.get("graph"),E=0,C,H=this.get("seriesCollection"),D=this._axesCollection,F=this.get("tooltip").node;C=H?H.length:0;for(;E<C;++E){if(H[E] instanceof b.CartesianSeries){H[E].destroy(true);}}C=D?D.length:0;for(E=0;E<C;++E){if(D[E] instanceof b.Axis){D[E].destroy(true);}}if(G){G.destroy(true);}if(F){F.remove(true);}if(this._overlay){this._overlay.remove(true);}}},{ATTRS:{allowContentOverflow:{value:false},axesStyles:{getter:function(){var E=this.get("axes"),C,D=this._axesStyles;if(E){for(C in E){if(E.hasOwnProperty(C)&&E[C] instanceof b.Axis){if(!D){D={};}D[C]=E[C].get("styles");}}}return D;},setter:function(E){var D=this.get("axes"),C;for(C in E){if(E.hasOwnProperty(C)&&D.hasOwnProperty(C)){this._setBaseAttribute(D[C],"styles",E[C]);}}}},seriesStyles:{getter:function(){var D=this._seriesStyles,E=this.get("graph"),F,C;if(E){F=E.get("seriesDictionary");if(F){D={};for(C in F){if(F.hasOwnProperty(C)){D[C]=F[C].get("styles");}}}}return D;},setter:function(F){var D,C,E;if(q.isArray(F)){E=this.get("seriesCollection");D=0;C=F.length;for(;D<C;++D){this._setBaseAttribute(E[D],"styles",F[D]);}}else{for(D in F){if(F.hasOwnProperty(D)){E=this.getSeries(D);this._setBaseAttribute(E,"styles",F[D]);}}}}},graphStyles:{getter:function(){var C=this.get("graph");if(C){return(C.get("styles"));}return this._graphStyles;},setter:function(D){var C=this.get("graph");this._setBaseAttribute(C,"styles",D);}},styles:{getter:function(){var C={axes:this.get("axesStyles"),series:this.get("seriesStyles"),graph:this.get("graphStyles")};return C;},setter:function(C){if(C.hasOwnProperty("axes")){if(this.get("axesStyles")){this.set("axesStyles",C.axes);}else{this._axesStyles=C.axes;}}if(C.hasOwnProperty("series")){if(this.get("seriesStyles")){this.set("seriesStyles",C.series);}else{this._seriesStyles=C.series;}}if(C.hasOwnProperty("graph")){this.set("graphStyles",C.graph);}}},axes:{valueFn:"_getDefaultAxes",setter:function(C){return this._parseAxes(C);}},seriesCollection:{valueFn:"_getDefaultSeriesCollection",setter:function(C){return this._getDefaultSeriesCollection(C);}},leftAxesCollection:{},bottomAxesCollection:{},rightAxesCollection:{},topAxesCollection:{},stacked:{value:false},direction:{getter:function(){var C=this.get("type");if(C=="bar"){return"vertical";}else{if(C=="column"){return"horizontal";}}return this._direction;},setter:function(C){this._direction=C;return this._direction;}},showAreaFill:{},showMarkers:{},showLines:{},categoryAxisName:{},valueAxisName:{value:"values"},horizontalGridlines:{getter:function(){var C=this.get("graph");if(C){return C.get("horizontalGridlines");}return this._horizontalGridlines;},setter:function(D){var C=this.get("graph");if(D&&!q.isObject(D)){D={};}if(C){C.set("horizontalGridlines",D);}else{this._horizontalGridlines=D;}}},verticalGridlines:{getter:function(){var C=this.get("graph");if(C){return C.get("verticalGridlines");}return this._verticalGridlines;},setter:function(D){var C=this.get("graph");if(D&&!q.isObject(D)){D={};}if(C){C.set("verticalGridlines",D);}else{this._verticalGridlines=D;}}},type:{getter:function(){if(this.get("stacked")){return"stacked"+this._type;}return this._type;},setter:function(C){if(this._type=="bar"){if(C!="bar"){this.set("direction","horizontal");}}else{if(C=="bar"){this.set("direction","vertical");}}this._type=C;return this._type;}},categoryAxis:{}}});b.PieChart=b.Base.create("pieChart",b.Widget,[b.ChartBase],{_getSeriesCollection:function(){if(this._seriesCollection){return this._seriesCollection;}var H=this.get("axes"),J=[],I,F=0,E,K=this.get("type"),M,C="categoryAxis",G="categoryKey",D="valueAxis",L="valueKey";if(H){I=H.values.get("keyCollection");M=H.category.get("keyCollection")[0];E=I.length;for(;F<E;++F){J[F]={type:K};J[F][C]="category";J[F][D]="values";J[F][G]=M;J[F][L]=I[F];}}this._seriesCollection=J;return J;},_parseAxes:function(F){if(!this._axes){this._axes={};}var G,L,E,J,C,I,K=this.get("type"),M=this.get("width"),H=this.get("height"),D=b.Node.one(this._parentNode);if(!M){this.set("width",D.get("offsetWidth"));M=this.get("width");}if(!H){this.set("height",D.get("offsetHeight"));H=this.get("height");}for(G in F){if(F.hasOwnProperty(G)){J=F[G];L=K=="pie"?"none":J.position;I=this._getAxisClass(J.type);C={dataProvider:this.get("dataProvider")};if(J.hasOwnProperty("roundingUnit")){C.roundingUnit=J.roundingUnit;}C.keys=J.keys;C.width=M;C.height=H;C.position=L;C.styles=J.styles;E=new I(C);E.on("axisRendered",b.bind(this._axisRendered,this));this._axes[G]=E;}}},_addAxes:function(){var F=this.get("axes"),C,D,E;if(!F){this.set("axes",this._getDefaultAxes());F=this.get("axes");}if(!this._axesCollection){this._axesCollection=[];}for(C in F){if(F.hasOwnProperty(C)){D=F[C];E=D.get("position");if(!this.get(E+"AxesCollection")){this.set(E+"AxesCollection",[D]);}else{this.get(E+"AxesCollection").push(D);
}this._axesCollection.push(D);}}},_addSeries:function(){var C=this.get("graph"),D=this.get("seriesCollection");this._parseSeriesAxes(D);C.set("showBackground",false);C.set("width",this.get("width"));C.set("height",this.get("height"));C.set("seriesCollection",D);this._seriesCollection=C.get("seriesCollection");C.render(this.get("contentBox"));},_parseSeriesAxes:function(H){var D=0,C=H.length,F,G=this.get("axes"),E;for(;D<C;++D){F=H[D];if(F){if(F instanceof b.PieSeries){E=F.get("categoryAxis");if(E&&!(E instanceof b.Axis)){F.set("categoryAxis",G[E]);}E=F.get("valueAxis");if(E&&!(E instanceof b.Axis)){F.set("valueAxis",G[E]);}continue;}F.categoryAxis=G.category;F.valueAxis=G.values;if(!F.type){F.type=this.get("type");}}}},_getDefaultAxes:function(){var G=this.get("categoryKey"),D=this.get("seriesKeys")||[],C="numeric",F,E=this.get("dataProvider")[0];if(D.length<1){for(F in E){if(F!=G){D.push(F);}}if(D.length>0){this.set("seriesKeys",D);}}return{values:{keys:D,type:C},category:{keys:[G],type:this.get("categoryType")}};},getSeriesItems:function(E,D){var F={axis:E.get("categoryAxis"),key:E.get("categoryKey"),displayName:E.get("categoryDisplayName")},C={axis:E.get("valueAxis"),key:E.get("valueKey"),displayName:E.get("valueDisplayName")};F.value=F.axis.getKeyValueAt(F.key,D);C.value=C.axis.getKeyValueAt(C.key,D);return{category:F,value:C};},_sizeChanged:function(D){var C=this.get("graph");if(C){C.set(D.attrName,D.newVal);}},_redraw:function(){var C=this.get("graph");if(C){C.set("width",this.get("width"));C.set("height",this.get("height"));}},_tooltipLabelFunction:function(J,C,F,E,D){var I=g.createElement("div"),G=E.getTotalValues(),H=Math.round((C.value/G)*10000)/100;I.appendChild(g.createTextNode(J.displayName+": "+J.axis.get("labelFunction").apply(this,[J.value,J.axis.get("labelFormat")])));I.appendChild(g.createElement("br"));I.appendChild(g.createTextNode(C.displayName+": "+C.axis.get("labelFunction").apply(this,[C.value,C.axis.get("labelFormat")])));I.appendChild(g.createElement("br"));I.appendChild(g.createTextNode(H+"%"));return I;}},{ATTRS:{axes:{getter:function(){return this._axes;},setter:function(C){this._parseAxes(C);}},seriesCollection:{getter:function(){return this._getSeriesCollection();},setter:function(C){return this._setSeriesCollection(C);}},type:{value:"pie"}}});function t(C){if(C.type!="pie"){return new b.CartesianChart(C);}else{return new b.PieChart(C);}}b.Chart=t;},"@VERSION@",{requires:["dom","datatype-number","datatype-date","event-custom","event-mouseenter","widget","widget-position","widget-stack","graphics"]});