rem:   var c = document.createElement("v:oval"); c.setAttribute("strokeweight", "1px"); c.setAttribute("strokecolor", values[j].series.color); c.setAttribute("fillcolor", values[j].series.color); var str=document.createElement("v:stroke"); str.setAttribute("opacity","0.8"); c.appendChild(str); str=document.createElement("v:fill"); str.setAttribute("opacity","0.6"); c.appendChild(str); var s=c.style; s.position="absolute"; s.top=(y-r)+"px"; s.left=(x-r)+"px"; s.width=(r*2)+"px"; s.height=(r*2)+"px"; group.appendChild(c); if(applyTo){ applyTo(c, data[j].src); } 
add: data.push(tmp); 
context: 	StackedCurvedArea: function(		/* dojo.charting.PlotArea */plotarea,		/* dojo.charting.Plot */plot,		/* object? */kwArgs,		/* function? */applyTo	){		//	summary		//	Plots a set of stacked areas, using a tensioning factor to soften points.		//	Bindings: x/y		var tension = 3;		var area = plotarea.getArea();		var group=document.createElement("div");		group.style.position="absolute";		group.style.top="0px";		group.style.left="0px";		group.style.width=plotarea.size.width+"px";		group.style.height=plotarea.size.height+"px";		//	precompile the data		var n = plot.series.length;	//	how many series		var data = [];		var totals = [];		//	we're assuming that all series for this plot has the name x assignment for now.		for(var i=0; i<n; i++){			var tmp = plot.series[i].data.evaluate(kwArgs);			//	run through and add current totals			for(var j=0; j<tmp.length; j++){				if(i==0){ totals.push(tmp[j].y); }				else { totals[j] += tmp[j].y; }				tmp[j].y = totals[j];			}			data.push(tmp);		}		for(var i=n-1; i>=0; i--){			var path=document.createElement("v:shape");			path.setAttribute("strokeweight", "1px");			path.setAttribute("strokecolor", data[i][0].series.color);			path.setAttribute("fillcolor", data[i][0].series.color);			path.setAttribute("coordsize", (area.right-area.left) + "," + (area.bottom-area.top));			path.style.position="absolute";			path.style.top="0px";			path.style.left="0px";			path.style.width=area.right-area.left+"px";			path.style.height=area.bottom-area.top+"px";			var stroke=document.createElement("v:stroke");			stroke.setAttribute("opacity", "0.8");			path.appendChild(stroke);			var fill=document.createElement("v:fill");			fill.setAttribute("opacity", "0.4");			path.appendChild(fill);			var cmd = [];			var r=3;			for(var j=0; j<data[i].length; j++){				var values = data[i];				var x = Math.round(plot.axisX.getCoord(values[j].x, plotarea, plot));				var y = Math.round(plot.axisY.getCoord(values[j].y, plotarea, plot));				if (j==0){					cmd.push("m");					cmd.push(x+","+y);				}else{					var lastx = Math.round(plot.axisX.getCoord(values[j-1].x, plotarea, plot));					var lasty = Math.round(plot.axisY.getCoord(values[j-1].y, plotarea, plot));					var dx=x-lastx;					var dy=y-lasty;										cmd.push("c");					var cx=Math.round((x-(tension-1)*(dx/tension)));					cmd.push(cx+","+lasty);					cx=Math.round((x-(dx/tension)));					cmd.push(cx+","+y);					cmd.push(x+","+y);				}				//	add the circle.				var c = document.createElement("v:oval");				c.setAttribute("strokeweight", "1px");				c.setAttribute("strokecolor", values[j].series.color);				c.setAttribute("fillcolor", values[j].series.color);				var str=document.createElement("v:stroke");				str.setAttribute("opacity","0.8");				c.appendChild(str);				str=document.createElement("v:fill");				str.setAttribute("opacity","0.6");				c.appendChild(str);				var s=c.style;				s.position="absolute";				s.top=(y-r)+"px";				s.left=(x-r)+"px";				s.width=(r*2)+"px";				s.height=(r*2)+"px";				group.appendChild(c);				if(applyTo){ applyTo(c, data[j].src); }			}			//	now run the path backwards from the previous series.			if(i == 0){				cmd.push("l");				cmd.push(x + "," + Math.round(plot.axisY.getCoord(plot.axisX.origin, plotarea, plot)));				cmd.push("l");				cmd.push(Math.round(plot.axisX.getCoord(data[0][0].x, plotarea, plot)) + "," +  Math.round(plot.axisY.getCoord(plot.axisX.origin, plotarea, plot)));			} else {				var values = data[i-1];				cmd.push("l");				cmd.push(x + "," + Math.round(plot.axisY.getCoord(values[values.length-1].y, plotarea, plot)));				for(var j=values.length-2; j>=0; j--){					var x = Math.round(plot.axisX.getCoord(values[j].x, plotarea, plot));					var y = Math.round(plot.axisY.getCoord(values[j].y, plotarea, plot));					var lastx = Math.round(plot.axisX.getCoord(values[j+1].x, plotarea, plot));					var lasty = Math.round(plot.axisY.getCoord(values[j+1].y, plotarea, plot));					var dx=x-lastx;					var dy=y-lasty;										cmd.push("c");					var cx=Math.round((x-(tension-1)*(dx/tension)));					cmd.push(cx+","+lasty);					cx=Math.round((x-(dx/tension)));					cmd.push(cx+","+y);					cmd.push(x+","+y);				}			}			path.setAttribute("path", cmd.join(" ")+" x e");			group.appendChild(path);		}		return group;	//	HTMLDivElement	},
meta: 4707	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/4707/50c3492c4c3c825dbd3401e134a19ed46799c456/Plotters.js/buggy/www/resources/dojo-ajax/src/charting/vml/Plotters.js