//>>built
define("dojox/charting/plot2d/Stacked",["dojo/_base/lang","dojo/_base/declare","dojo/_base/array","./Default","./common","dojox/lang/functional","dojox/lang/functional/reversed","dojox/lang/functional/sequence"],function(_1,_2,_3,_4,dc,df,_5,_6){var _7=_5.lambda("item.purgeGroup()");return _2("dojox.charting.plot2d.Stacked",_4,{getSeriesStats:function(){var _8=dc.collectStackedStats(this.series);this._maxRunLength=_8.hmax;return _8;},render:function(_9,_a){this.getSeriesStats();if(this._maxRunLength<=0){return this;}var i,j,s,v,_b,_c;var _d=df.repeat(this._maxRunLength,"-> 0",0);for(i=0;i<this.series.length;++i){_b=this.series[i];for(j=0;j<_b.data.length;++j){_c=_b.data[j];if(_c!==null){v=(typeof _c=="number")?_c:_c.y;if(isNaN(v)){v=0;}_d[j]+=v;}}}if(this.zoom&&!this.isDataDirty()){return this.performZoom(_9,_a);}this.resetEvents();this.dirty=this.isDirty();if(this.dirty){_3.forEach(this.series,_7);this._eventSeries={};this.cleanGroup();s=this.group;df.forEachRev(this.series,function(_e){_e.cleanGroup(s);});}var t=this.chart.theme,_f=this.events(),ht=this._hScaler.scaler.getTransformerFromModel(this._hScaler),vt=this._vScaler.scaler.getTransformerFromModel(this._vScaler);for(i=this.series.length-1;i>=0;--i){_b=this.series[i];if(!this.dirty&&!_b.dirty){t.skip();this._reconnectEvents(_b.name);continue;}_b.cleanGroup();s=_b.group;var _10=t.next(this.opt.areas?"area":"line",[this.opt,_b],true),_11,_12=_3.map(_d,function(v,i){return {x:ht(i+1)+_a.l,y:_9.height-_a.b-vt(v)};},this);var _13=this.opt.tension?dc.curve(_12,this.opt.tension):"";if(this.opt.areas){var _14=_1.clone(_12);if(this.opt.tension){var p=dc.curve(_14,this.opt.tension);p+=" L"+_12[_12.length-1].x+","+(_9.height-_a.b)+" L"+_12[0].x+","+(_9.height-_a.b)+" L"+_12[0].x+","+_12[0].y;_b.dyn.fill=s.createPath(p).setFill(_10.series.fill).getFill();}else{_14.push({x:_12[_12.length-1].x,y:_9.height-_a.b});_14.push({x:_12[0].x,y:_9.height-_a.b});_14.push(_12[0]);_b.dyn.fill=s.createPolyline(_14).setFill(_10.series.fill).getFill();}}if(this.opt.lines||this.opt.markers){if(_10.series.outline){_11=dc.makeStroke(_10.series.outline);_11.width=2*_11.width+_10.series.stroke.width;}}if(this.opt.markers){_b.dyn.marker=_10.symbol;}var _15,_16,_17;if(_10.series.shadow&&_10.series.stroke){var _18=_10.series.shadow,_19=_3.map(_12,function(c){return {x:c.x+_18.dx,y:c.y+_18.dy};});if(this.opt.lines){if(this.opt.tension){_b.dyn.shadow=s.createPath(dc.curve(_19,this.opt.tension)).setStroke(_18).getStroke();}else{_b.dyn.shadow=s.createPolyline(_19).setStroke(_18).getStroke();}}if(this.opt.markers){_18=_10.marker.shadow;_17=_3.map(_19,function(c){return s.createPath("M"+c.x+" "+c.y+" "+_10.symbol).setStroke(_18).setFill(_18.color);},this);}}if(this.opt.lines){if(_11){if(this.opt.tension){_b.dyn.outline=s.createPath(_13).setStroke(_11).getStroke();}else{_b.dyn.outline=s.createPolyline(_12).setStroke(_11).getStroke();}}if(this.opt.tension){_b.dyn.stroke=s.createPath(_13).setStroke(_10.series.stroke).getStroke();}else{_b.dyn.stroke=s.createPolyline(_12).setStroke(_10.series.stroke).getStroke();}}if(this.opt.markers){_15=new Array(_12.length);_16=new Array(_12.length);_11=null;if(_10.marker.outline){_11=dc.makeStroke(_10.marker.outline);_11.width=2*_11.width+(_10.marker.stroke?_10.marker.stroke.width:0);}_3.forEach(_12,function(c,i){var _1a="M"+c.x+" "+c.y+" "+_10.symbol;if(_11){_16[i]=s.createPath(_1a).setStroke(_11);}_15[i]=s.createPath(_1a).setStroke(_10.marker.stroke).setFill(_10.marker.fill);},this);if(_f){var _1b=new Array(_15.length);_3.forEach(_15,function(s,i){var o={element:"marker",index:i,run:_b,shape:s,outline:_16[i]||null,shadow:_17&&_17[i]||null,cx:_12[i].x,cy:_12[i].y,x:i+1,y:_b.data[i]};this._connectEvents(o);_1b[i]=o;},this);this._eventSeries[_b.name]=_1b;}else{delete this._eventSeries[_b.name];}}_b.dirty=false;for(j=0;j<_b.data.length;++j){_c=_b.data[j];if(_c!==null){v=(typeof _c=="number")?_c:_c.y;if(isNaN(v)){v=0;}_d[j]-=v;}}}this.dirty=false;return this;}});});
