aboutsummaryrefslogtreecommitdiff
path: root/includes/js/dojox/charting
diff options
context:
space:
mode:
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-11-14 15:39:19 +0000
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-11-14 15:39:19 +0000
commit1c5685d68f1b73270fb814fe04cbb490eb90ba5f (patch)
tree3d3ada08a934b96fc31531f1327690d7edc6f766 /includes/js/dojox/charting
parent104d59099e048688c4dbac37d72137006e396558 (diff)
downloadsemanticscuttle-1c5685d68f1b73270fb814fe04cbb490eb90ba5f.tar.gz
semanticscuttle-1c5685d68f1b73270fb814fe04cbb490eb90ba5f.tar.bz2
Minor fix: Remove DOJO library (60Mo) replaced by link to Google CDN (online DOJO library)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@159 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'includes/js/dojox/charting')
-rw-r--r--includes/js/dojox/charting/Chart2D.js341
-rw-r--r--includes/js/dojox/charting/Chart3D.js86
-rw-r--r--includes/js/dojox/charting/Element.js49
-rw-r--r--includes/js/dojox/charting/README31
-rw-r--r--includes/js/dojox/charting/Series.js20
-rw-r--r--includes/js/dojox/charting/Theme.js256
-rw-r--r--includes/js/dojox/charting/_color.js62
-rw-r--r--includes/js/dojox/charting/axis2d/Base.js31
-rw-r--r--includes/js/dojox/charting/axis2d/Default.js323
-rw-r--r--includes/js/dojox/charting/axis2d/common.js75
-rw-r--r--includes/js/dojox/charting/plot2d/Areas.js14
-rw-r--r--includes/js/dojox/charting/plot2d/Bars.js89
-rw-r--r--includes/js/dojox/charting/plot2d/Base.js60
-rw-r--r--includes/js/dojox/charting/plot2d/ClusteredBars.js63
-rw-r--r--includes/js/dojox/charting/plot2d/ClusteredColumns.js63
-rw-r--r--includes/js/dojox/charting/plot2d/Columns.js88
-rw-r--r--includes/js/dojox/charting/plot2d/Default.js173
-rw-r--r--includes/js/dojox/charting/plot2d/Grid.js116
-rw-r--r--includes/js/dojox/charting/plot2d/Lines.js13
-rw-r--r--includes/js/dojox/charting/plot2d/Markers.js13
-rw-r--r--includes/js/dojox/charting/plot2d/MarkersOnly.js14
-rw-r--r--includes/js/dojox/charting/plot2d/Pie.js199
-rw-r--r--includes/js/dojox/charting/plot2d/Scatter.js14
-rw-r--r--includes/js/dojox/charting/plot2d/Stacked.js160
-rw-r--r--includes/js/dojox/charting/plot2d/StackedAreas.js14
-rw-r--r--includes/js/dojox/charting/plot2d/StackedBars.js85
-rw-r--r--includes/js/dojox/charting/plot2d/StackedColumns.js83
-rw-r--r--includes/js/dojox/charting/plot2d/StackedLines.js13
-rw-r--r--includes/js/dojox/charting/plot2d/common.js113
-rw-r--r--includes/js/dojox/charting/plot3d/Bars.js66
-rw-r--r--includes/js/dojox/charting/plot3d/Base.js23
-rw-r--r--includes/js/dojox/charting/plot3d/Cylinders.js69
-rw-r--r--includes/js/dojox/charting/scaler.js161
-rw-r--r--includes/js/dojox/charting/tests/Theme.js71
-rw-r--r--includes/js/dojox/charting/tests/_color.js82
-rw-r--r--includes/js/dojox/charting/tests/charting.js12
-rw-r--r--includes/js/dojox/charting/tests/data/goog_prices.csv796
-rw-r--r--includes/js/dojox/charting/tests/data/msft_prices.csv796
-rw-r--r--includes/js/dojox/charting/tests/data/yahoo_prices.csv796
-rw-r--r--includes/js/dojox/charting/tests/runTests.html9
-rw-r--r--includes/js/dojox/charting/tests/test_bars.html65
-rw-r--r--includes/js/dojox/charting/tests/test_chart2d.html353
-rw-r--r--includes/js/dojox/charting/tests/test_chart2d_updating.html80
-rw-r--r--includes/js/dojox/charting/tests/test_cylinders.html65
-rw-r--r--includes/js/dojox/charting/tests/test_labels2d.html90
-rw-r--r--includes/js/dojox/charting/tests/test_pie2d.html128
-rw-r--r--includes/js/dojox/charting/tests/test_scaler.html97
-rw-r--r--includes/js/dojox/charting/tests/test_sparklines.html180
-rw-r--r--includes/js/dojox/charting/tests/test_widget2d.html98
-rw-r--r--includes/js/dojox/charting/themes/ET/greys.js63
-rw-r--r--includes/js/dojox/charting/themes/GreySkies.js11
-rw-r--r--includes/js/dojox/charting/themes/PlotKit/README11
-rw-r--r--includes/js/dojox/charting/themes/PlotKit/blue.js43
-rw-r--r--includes/js/dojox/charting/themes/PlotKit/cyan.js43
-rw-r--r--includes/js/dojox/charting/themes/PlotKit/green.js43
-rw-r--r--includes/js/dojox/charting/themes/PlotKit/orange.js43
-rw-r--r--includes/js/dojox/charting/themes/PlotKit/purple.js43
-rw-r--r--includes/js/dojox/charting/themes/PlotKit/red.js43
-rw-r--r--includes/js/dojox/charting/widget/Chart2D.js215
59 files changed, 0 insertions, 7256 deletions
diff --git a/includes/js/dojox/charting/Chart2D.js b/includes/js/dojox/charting/Chart2D.js
deleted file mode 100644
index 27be653..0000000
--- a/includes/js/dojox/charting/Chart2D.js
+++ /dev/null
@@ -1,341 +0,0 @@
-if(!dojo._hasResource["dojox.charting.Chart2D"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.Chart2D"] = true;
-dojo.provide("dojox.charting.Chart2D");
-
-dojo.require("dojox.gfx");
-dojo.require("dojox.lang.functional");
-dojo.require("dojox.lang.functional.fold");
-dojo.require("dojox.lang.functional.reversed");
-
-dojo.require("dojox.charting.Theme");
-dojo.require("dojox.charting.Series");
-
-dojo.require("dojox.charting.axis2d.Default");
-
-dojo.require("dojox.charting.plot2d.Default");
-dojo.require("dojox.charting.plot2d.Lines");
-dojo.require("dojox.charting.plot2d.Areas");
-dojo.require("dojox.charting.plot2d.Markers");
-dojo.require("dojox.charting.plot2d.MarkersOnly");
-dojo.require("dojox.charting.plot2d.Scatter");
-dojo.require("dojox.charting.plot2d.Stacked");
-dojo.require("dojox.charting.plot2d.StackedLines");
-dojo.require("dojox.charting.plot2d.StackedAreas");
-dojo.require("dojox.charting.plot2d.Columns");
-dojo.require("dojox.charting.plot2d.StackedColumns");
-dojo.require("dojox.charting.plot2d.ClusteredColumns");
-dojo.require("dojox.charting.plot2d.Bars");
-dojo.require("dojox.charting.plot2d.StackedBars");
-dojo.require("dojox.charting.plot2d.ClusteredBars");
-dojo.require("dojox.charting.plot2d.Grid");
-dojo.require("dojox.charting.plot2d.Pie");
-
-(function(){
- var df = dojox.lang.functional, dc = dojox.charting,
- clear = df.lambda("item.clear()"),
- purge = df.lambda("item.purgeGroup()"),
- destroy = df.lambda("item.destroy()"),
- makeClean = df.lambda("item.dirty = false"),
- makeDirty = df.lambda("item.dirty = true");
-
- dojo.declare("dojox.charting.Chart2D", null, {
- constructor: function(node, kwArgs){
- // initialize parameters
- if(!kwArgs){ kwArgs = {}; }
- this.margins = kwArgs.margins ? kwArgs.margins : {l: 10, t: 10, r: 10, b: 10};
- this.stroke = kwArgs.stroke;
- this.fill = kwArgs.fill;
-
- // default initialization
- this.theme = null;
- this.axes = {}; // map of axes
- this.stack = []; // stack of plotters
- this.plots = {}; // map of plotter indices
- this.series = []; // stack of data runs
- this.runs = {}; // map of data run indices
- this.dirty = true;
- this.coords = null;
-
- // create a surface
- this.node = dojo.byId(node);
- var box = dojo.marginBox(node);
- this.surface = dojox.gfx.createSurface(this.node, box.w, box.h);
- },
- destroy: function(){
- dojo.forEach(this.series, destroy);
- dojo.forEach(this.stack, destroy);
- df.forIn(this.axes, destroy);
- },
- getCoords: function(){
- if(!this.coords){
- this.coords = dojo.coords(this.node, true);
- }
- return this.coords;
- },
- setTheme: function(theme){
- this.theme = theme;
- this.dirty = true;
- return this;
- },
- addAxis: function(name, kwArgs){
- var axis;
- if(!kwArgs || !("type" in kwArgs)){
- axis = new dc.axis2d.Default(this, kwArgs);
- }else{
- axis = typeof kwArgs.type == "string" ?
- new dc.axis2d[kwArgs.type](this, kwArgs) :
- new kwArgs.type(this, kwArgs);
- }
- axis.name = name;
- axis.dirty = true;
- if(name in this.axes){
- this.axes[name].destroy();
- }
- this.axes[name] = axis;
- this.dirty = true;
- return this;
- },
- addPlot: function(name, kwArgs){
- var plot;
- if(!kwArgs || !("type" in kwArgs)){
- plot = new dc.plot2d.Default(this, kwArgs);
- }else{
- plot = typeof kwArgs.type == "string" ?
- new dc.plot2d[kwArgs.type](this, kwArgs) :
- new kwArgs.type(this, kwArgs);
- }
- plot.name = name;
- plot.dirty = true;
- if(name in this.plots){
- this.stack[this.plots[name]].destroy();
- this.stack[this.plots[name]] = plot;
- }else{
- this.plots[name] = this.stack.length;
- this.stack.push(plot);
- }
- this.dirty = true;
- return this;
- },
- addSeries: function(name, data, kwArgs){
- var run = new dc.Series(this, data, kwArgs);
- if(name in this.runs){
- this.series[this.runs[name]].destroy();
- this.series[this.runs[name]] = run;
- }else{
- this.runs[name] = this.series.length;
- this.series.push(run);
- }
- this.dirty = true;
- // fix min/max
- if(!("ymin" in run) && "min" in run){ run.ymin = run.min; }
- if(!("ymax" in run) && "max" in run){ run.ymax = run.max; }
- return this;
- },
- updateSeries: function(name, data){
- if(name in this.runs){
- var run = this.series[this.runs[name]],
- plot = this.stack[this.plots[run.plot]], axis;
- run.data = data;
- run.dirty = true;
- // check to see if axes and plot should be updated
- if(plot.hAxis){
- axis = this.axes[plot.hAxis];
- if(axis.dependOnData()){
- axis.dirty = true;
- // find all plots and mark them dirty
- dojo.forEach(this.stack, function(p){
- if(p.hAxis && p.hAxis == plot.hAxis){
- p.dirty = true;
- }
- });
- }
- }else{
- plot.dirty = true;
- }
- if(plot.vAxis){
- axis = this.axes[plot.vAxis];
- if(axis.dependOnData()){
- axis.dirty = true;
- // find all plots and mark them dirty
- dojo.forEach(this.stack, function(p){
- if(p.vAxis && p.vAxis == plot.vAxis){
- p.dirty = true;
- }
- });
- }
- }else{
- plot.dirty = true;
- }
- }
- return this;
- },
- resize: function(width, height){
- var box;
- switch(arguments.length){
- case 0:
- box = dojo.marginBox(this.node);
- break;
- case 1:
- box = width;
- break;
- default:
- box = {w: width, h: height};
- break;
- }
- dojo.marginBox(this.node, box);
- this.surface.setDimensions(box.w, box.h);
- this.dirty = true;
- this.coords = null;
- return this.render();
- },
- render: function(){
- if(this.dirty){
- return this.fullRender();
- }
-
- // calculate geometry
- dojo.forEach(this.stack, function(plot){
- if(plot.dirty || (plot.hAxis && this.axes[plot.hAxis].dirty) ||
- (plot.vAxis && this.axes[plot.vAxis].dirty)){
- plot.calculateAxes(this.plotArea);
- }
- }, this);
-
- // go over the stack backwards
- df.forEachRev(this.stack, function(plot){ plot.render(this.dim, this.offsets); }, this);
-
- // go over axes
- df.forIn(this.axes, function(axis){ axis.render(this.dim, this.offsets); }, this);
-
- this._makeClean();
-
- // BEGIN FOR HTML CANVAS
- if(this.surface.render){ this.surface.render(); };
- // END FOR HTML CANVAS
-
- return this;
- },
- fullRender: function(){
- this._makeDirty();
-
- // clear old values
- dojo.forEach(this.stack, clear);
- dojo.forEach(this.series, purge);
- df.forIn(this.axes, purge);
- dojo.forEach(this.stack, purge);
- this.surface.clear();
-
- // rebuild new connections, and add defaults
-
- // assign series
- dojo.forEach(this.series, function(run){
- if(!(run.plot in this.plots)){
- var plot = new dc.plot2d.Default(this, {});
- plot.name = run.plot;
- this.plots[run.plot] = this.stack.length;
- this.stack.push(plot);
- }
- this.stack[this.plots[run.plot]].addSeries(run);
- }, this);
- // assign axes
- dojo.forEach(this.stack, function(plot){
- if(plot.hAxis){
- plot.setAxis(this.axes[plot.hAxis]);
- }
- if(plot.vAxis){
- plot.setAxis(this.axes[plot.vAxis]);
- }
- }, this);
- // set up a theme
- if(!this.theme){
- this.theme = new dojox.charting.Theme(dojox.charting._def);
- }
- var requiredColors = df.foldl(this.stack, "z + plot.getRequiredColors()", 0);
- this.theme.defineColors({num: requiredColors, cache: false});
-
- // calculate geometry
-
- // 1st pass
- var dim = this.dim = this.surface.getDimensions();
- dim.width = dojox.gfx.normalizedLength(dim.width);
- dim.height = dojox.gfx.normalizedLength(dim.height);
- df.forIn(this.axes, clear);
- dojo.forEach(this.stack, function(plot){ plot.calculateAxes(dim); });
-
- // assumption: we don't have stacked axes yet
- var offsets = this.offsets = {l: 0, r: 0, t: 0, b: 0};
- df.forIn(this.axes, function(axis){
- df.forIn(axis.getOffsets(), function(o, i){ offsets[i] += o; });
- });
- // add margins
- df.forIn(this.margins, function(o, i){ offsets[i] += o; });
-
- // 2nd pass with realistic dimensions
- this.plotArea = {width: dim.width - offsets.l - offsets.r, height: dim.height - offsets.t - offsets.b};
- df.forIn(this.axes, clear);
- dojo.forEach(this.stack, function(plot){ plot.calculateAxes(this.plotArea); }, this);
-
- // generate shapes
-
- // draw a chart background
- var t = this.theme,
- fill = this.fill ? this.fill : (t.chart && t.chart.fill),
- stroke = this.stroke ? this.stroke : (t.chart && t.chart.stroke);
- if(fill){
- this.surface.createRect({
- width: dim.width,
- height: dim.height
- }).setFill(fill);
- }
- if(stroke){
- this.surface.createRect({
- width: dim.width - 1,
- height: dim.height - 1
- }).setStroke(stroke);
- }
- // draw a plot background
- fill = t.plotarea && t.plotarea.fill;
- stroke = t.plotarea && t.plotarea.stroke;
- if(fill){
- this.surface.createRect({
- x: offsets.l, y: offsets.t,
- width: dim.width - offsets.l - offsets.r,
- height: dim.height - offsets.t - offsets.b
- }).setFill(fill);
- }
- if(stroke){
- this.surface.createRect({
- x: offsets.l, y: offsets.t,
- width: dim.width - offsets.l - offsets.r - 1,
- height: dim.height - offsets.t - offsets.b - 1
- }).setStroke(stroke);
- }
-
- // go over the stack backwards
- df.foldr(this.stack, function(z, plot){ return plot.render(dim, offsets), 0; }, 0);
-
- // go over axes
- df.forIn(this.axes, function(axis){ axis.render(dim, offsets); });
-
- this._makeClean();
-
- return this;
- },
- _makeClean: function(){
- // reset dirty flags
- dojo.forEach(this.axes, makeClean);
- dojo.forEach(this.stack, makeClean);
- dojo.forEach(this.series, makeClean);
- this.dirty = false;
- },
- _makeDirty: function(){
- // reset dirty flags
- dojo.forEach(this.axes, makeDirty);
- dojo.forEach(this.stack, makeDirty);
- dojo.forEach(this.series, makeDirty);
- this.dirty = true;
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/Chart3D.js b/includes/js/dojox/charting/Chart3D.js
deleted file mode 100644
index 86dfd59..0000000
--- a/includes/js/dojox/charting/Chart3D.js
+++ /dev/null
@@ -1,86 +0,0 @@
-if(!dojo._hasResource["dojox.charting.Chart3D"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.Chart3D"] = true;
-dojo.provide("dojox.charting.Chart3D");
-
-dojo.require("dojox.gfx3d");
-
-(function(){
- var observerVector = {x: 0, y: 0, z: 1}, v = dojox.gfx3d.vector, n = dojox.gfx.normalizedLength;
-
- dojo.declare("dojox.charting.Chart3D", null, {
- constructor: function(node, lights, camera, theme){
- // setup a view
- this.node = dojo.byId(node);
- this.surface = dojox.gfx.createSurface(this.node, n(this.node.style.width), n(this.node.style.height));
- this.view = this.surface.createViewport();
- this.view.setLights(lights.lights, lights.ambient, lights.specular);
- this.view.setCameraTransform(camera);
- this.theme = theme;
-
- // initialize internal variables
- this.walls = [];
- this.plots = [];
- },
-
- // public API
- generate: function(){
- return this._generateWalls()._generatePlots();
- },
- invalidate: function(){
- this.view.invalidate();
- return this;
- },
- render: function(){
- this.view.render();
- return this;
- },
- addPlot: function(plot){
- return this._add(this.plots, plot);
- },
- removePlot: function(plot){
- return this._remove(this.plots, plot);
- },
- addWall: function(wall){
- return this._add(this.walls, wall);
- },
- removeWall: function(wall){
- return this._remove(this.walls, wall);
- },
-
- // internal API
- _add: function(array, item){
- if(!dojo.some(array, function(i){ return i == item; })){
- array.push(item);
- this.view.invalidate();
- }
- return this;
- },
- _remove: function(array, item){
- var a = dojo.filter(array, function(i){ return i != item; });
- return a.length < array.length ? (array = a, this.invalidate()) : this;
- },
- _generateWalls: function(){
- for(var i = 0; i < this.walls.length; ++i){
- if(v.dotProduct(observerVector, this.walls[i].normal) > 0){
- this.walls[i].generate(this);
- }
- }
- return this;
- },
- _generatePlots: function(){
- var depth = 0, m = dojox.gfx3d.matrix, i = 0;
- for(; i < this.plots.length; ++i){
- depth += this.plots[i].getDepth();
- }
- for(--i; i >= 0; --i){
- var scene = this.view.createScene();
- scene.setTransform(m.translate(0, 0, -depth));
- this.plots[i].generate(this, scene);
- depth -= this.plots[i].getDepth();
- }
- return this;
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/Element.js b/includes/js/dojox/charting/Element.js
deleted file mode 100644
index f6bdc5d..0000000
--- a/includes/js/dojox/charting/Element.js
+++ /dev/null
@@ -1,49 +0,0 @@
-if(!dojo._hasResource["dojox.charting.Element"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.Element"] = true;
-dojo.provide("dojox.charting.Element");
-
-dojo.declare("dojox.charting.Element", null, {
- constructor: function(chart){
- this.chart = chart;
- this.group = null;
- this.htmlElements = [];
- this.dirty = true;
- },
- createGroup: function(creator){
- if(!creator){ creator = this.chart.surface; }
- if(!this.group){
- this.group = creator.createGroup();
- }
- return this;
- },
- purgeGroup: function(){
- this.destroyHtmlElements();
- if(this.group){
- this.group.clear();
- this.group.removeShape();
- this.group = null;
- }
- this.dirty = true;
- return this;
- },
- cleanGroup: function(creator){
- this.destroyHtmlElements();
- if(!creator){ creator = this.chart.surface; }
- if(this.group){
- this.group.clear();
- }else{
- this.group = creator.createGroup();
- }
- this.dirty = true;
- return this;
- },
- destroyHtmlElements: function(){
- dojo.forEach(this.htmlElements, dojo._destroyElement);
- this.htmlElements = [];
- },
- destroy: function(){
- this.purgeGroup();
- }
-});
-
-}
diff --git a/includes/js/dojox/charting/README b/includes/js/dojox/charting/README
deleted file mode 100644
index 0858f3a..0000000
--- a/includes/js/dojox/charting/README
+++ /dev/null
@@ -1,31 +0,0 @@
--------------------------------------------------------------------------------
-dojox.charting
--------------------------------------------------------------------------------
-Version 0.800
-Release date: 10/31/2007
--------------------------------------------------------------------------------
-Project state:
-beta
--------------------------------------------------------------------------------
-Credits
- Tom Trenka (ttrenka@gmail.com)
- Eugene Lazutkin (eugene.lazutkin@gmail.com)
--------------------------------------------------------------------------------
-Project description
-
-Implementation of simple charting library based on dojox.gfx/dojox.gfx3d.
--------------------------------------------------------------------------------
-Dependencies:
-
-Dojo Core, dojox.gfx, dojox.gfx3d, dojox.lang.
--------------------------------------------------------------------------------
-Documentation
-
-Not ready yet.
--------------------------------------------------------------------------------
-Installation instructions
-
-Grab the following from the Dojo SVN Repository:
-http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/
-http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/
--------------------------------------------------------------------------------
diff --git a/includes/js/dojox/charting/Series.js b/includes/js/dojox/charting/Series.js
deleted file mode 100644
index 06115ec..0000000
--- a/includes/js/dojox/charting/Series.js
+++ /dev/null
@@ -1,20 +0,0 @@
-if(!dojo._hasResource["dojox.charting.Series"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.Series"] = true;
-dojo.provide("dojox.charting.Series");
-
-dojo.require("dojox.charting.Element");
-
-dojo.declare("dojox.charting.Series", dojox.charting.Element, {
- constructor: function(chart, data, kwArgs){
- dojo.mixin(this, kwArgs);
- if(typeof this.plot != "string"){ this.plot = "default"; }
- this.data = data;
- this.dirty = true;
- this.clear();
- },
- clear: function(){
- this.dyn = {};
- }
-});
-
-}
diff --git a/includes/js/dojox/charting/Theme.js b/includes/js/dojox/charting/Theme.js
deleted file mode 100644
index c7e3a6a..0000000
--- a/includes/js/dojox/charting/Theme.js
+++ /dev/null
@@ -1,256 +0,0 @@
-if(!dojo._hasResource["dojox.charting.Theme"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.Theme"] = true;
-dojo.provide("dojox.charting.Theme");
-dojo.require("dojox.charting._color");
-
-(function(){
- var dxc=dojox.charting;
- // TODO: Legend information
-
- dxc.Theme = function(/*Object?*/ kwArgs){
- kwArgs=kwArgs||{};
- var def = dxc.Theme._def;
- dojo.forEach(["chart", "plotarea", "axis", "series", "marker"], function(n){
- this[n] = dojo.mixin(dojo.clone(def[n]), kwArgs[n]||{});
- }, this);
- this.markers = dojo.mixin(dojo.clone(dxc.Theme.Markers), kwArgs.markers||{});
- this.colors = [];
- this.antiAlias = ("antiAlias" in kwArgs)?kwArgs.antiAlias:true;
- this.assignColors = ("assignColors" in kwArgs)?kwArgs.assignColors:true;
- this.assignMarkers = ("assignMarkers" in kwArgs)?kwArgs.assignMarkers:true;
- this._colorCache = null;
-
- // push the colors, use _def colors if none passed.
- kwArgs.colors = kwArgs.colors||def.colors;
- dojo.forEach(kwArgs.colors, function(item){
- this.colors.push(item);
- }, this);
-
- // private variables for color and marker indexing
- this._current = { color:0, marker: 0 };
- this._markers = [];
- this._buildMarkerArray();
- };
-
- // "static" fields
- // default markers.
- // A marker is defined by an SVG path segment; it should be defined as
- // relative motion, and with the assumption that the path segment
- // will be moved to the value point (i.e prepend Mx,y)
- dxc.Theme.Markers={
- CIRCLE: "m-3,0 c0,-4 6,-4 6,0 m-6,0 c0,4 6,4 6,0",
- SQUARE: "m-3,-3 l0,6 6,0 0,-6 z",
- DIAMOND: "m0,-3 l3,3 -3,3 -3,-3 z",
- CROSS: "m0,-3 l0,6 m-3,-3 l6,0",
- X: "m-3,-3 l6,6 m0,-6 l-6,6",
- TRIANGLE: "m-3,3 l3,-6 3,6 z",
- TRIANGLE_INVERTED:"m-3,-3 l3,6 3,-6 z"
- };
- dxc.Theme._def={
- // all objects are structs used directly in dojox.gfx
- chart:{
- stroke:null,
- fill: "white"
- },
- plotarea:{
- stroke:null,
- fill: "white"
- },
- // TODO: label rotation on axis
- axis:{
- stroke: { // the axis itself
- color:"#333",
- width:1
- },
- line: { // gridlines
- color:"#ccc",
- width:1,
- style:"Dot",
- cap:"round"
- },
- majorTick: { // major ticks on axis
- color:"#666",
- width:1,
- length:6,
- position:"center"
- },
- minorTick: { // minor ticks on axis
- color:"#666",
- width:0.8,
- length:3,
- position:"center"
- },
- font: "normal normal normal 7pt Tahoma", // labels on axis
- fontColor:"#333" // color of labels
- },
- series:{
- outline: {width: 0.1, color: "#ccc"}, // line or outline
- stroke: {width: 1.5, color: "#333"}, // line or outline
- fill: "#ccc", // fill, if appropriate
- font: "normal normal normal 7pt Tahoma", // if there's a label
- fontColor: "#000" // color of labels
- },
- marker:{ // any markers on a series.
- stroke: {width:1}, // stroke or outline
- fill: "#333", // fill if needed
- font: "normal normal normal 7pt Tahoma", // label
- fontColor: "#000"
- },
- colors:[
- "#000","#111","#222","#333",
- "#444","#555","#666","#777",
- "#888","#999","#aaa","#bbb",
- "#ccc"
- ]
- };
-
- // prototype methods
- dojo.extend(dxc.Theme, {
- defineColors: function(obj){
- // summary:
- // Generate a set of colors for the theme based on keyword
- // arguments
- var kwArgs=obj||{};
-
- // deal with caching
- var cache = false;
- if(kwArgs.cache === undefined){ cache = true; }
- if(kwArgs.cache == true){ cache = true; }
-
- if(cache){
- this._colorCache=kwArgs;
- } else {
- var mix=this._colorCache||{};
- kwArgs=dojo.mixin(dojo.clone(mix), kwArgs);
- }
-
- var c=[], n=kwArgs.num||32; // the number of colors to generate
- if(kwArgs.colors){
- // we have an array of colors predefined, so fix for the number of series.
- var l=kwArgs.colors.length;
- for(var i=0; i<n; i++){
- c.push(kwArgs.colors[i%l]);
- }
- this.colors=c;
- }else if(kwArgs.hue){
- // single hue, generate a set based on brightness
- var s=kwArgs.saturation||100; // saturation
- var st=kwArgs.low||30;
- var end=kwArgs.high||90;
- var step=(end-st)/n; // brightness steps
- for(var i=0; i<n; i++){
- c.push(dxc._color.fromHsb(kwArgs.hue, s, st+(step*i)).toHex());
- }
- this.colors=c;
- }else if(kwArgs.stops){
- // create color ranges that are either equally distributed, or
- // (optionally) based on a passed "offset" property. If you
- // pass an array of Colors, it will equally distribute, if
- // you pass an array of structs { color, offset }, it will
- // use the offset (0.0 - 1.0) to distribute. Note that offset
- // values should be plotted on a line from 0.0 to 1.0--i.e.
- // they should be additive. For example:
- // [ {color, offset:0}, { color, offset:0.2 }, { color, offset:0.5 }, { color, offset:1.0 } ]
- //
- // If you use stops for colors, you MUST have a color at 0.0 and one
- // at 1.0.
-
- // figure out how many stops we have
- var l=kwArgs.stops.length;
- if(l<2){
- throw new Error(
- "dojox.charting.Theme::defineColors: when using stops to "
- + "define a color range, you MUST specify at least 2 colors."
- );
- }
-
- // figure out if the distribution is equal or not. Note that
- // colors may not exactly match the stops you define; because
- // color generation is linear (i.e. evenly divided on a linear
- // axis), it's very possible that a color will land in between
- // two stops and not exactly *at* a stop.
- //
- // The only two colors guaranteed will be the end stops (i.e.
- // the first and last stop), which will *always* be set as
- // the end stops.
- if(typeof(kwArgs.stops[0].offset) == "undefined"){
- // set up equal offsets
- var off=1/(l-1);
- for(var i=0; i<l; i++){
- kwArgs.stops[i]={
- color:kwArgs.stops[i],
- offset:off*i
- };
- }
- }
- // ensure the ends.
- kwArgs.stops[0].offset=0;
- kwArgs.stops[l-1].offset=1;
- kwArgs.stops.sort(function(a,b){ return a.offset-b.offset; });
-
- // create the colors.
- // first stop.
- c.push(kwArgs.stops[0].color.toHex());
-
- // TODO: calculate the blend at n/steps and set the color
-
- // last stop
- c.push(kwArgs.stops[l-1].color.toHex());
- this.colors=c;
- }
- },
-
- _buildMarkerArray: function(){
- this._markers = [];
- for(var p in this.markers){ this._markers.push(this.markers[p]); }
- // reset the position
- this._current.marker=0;
- },
-
- addMarker:function(/*String*/ name, /*String*/ segment){
- // summary:
- // Add a custom marker to this theme.
- // example:
- // | myTheme.addMarker("Ellipse", foo);
- this.markers[name]=segment;
- this._buildMarkerArray();
- },
- setMarkers:function(/*Object*/ obj){
- // summary:
- // Set all the markers of this theme at once. obj should be a
- // dictionary of keys and path segments.
- //
- // example:
- // | myTheme.setMarkers({ "CIRCLE": foo });
- this.markers=obj;
- this._buildMarkerArray();
- },
-
- next: function(/*String?*/ type){
- // summary:
- // get either the next color or the next marker, depending on
- // what was passed. If type is not passed, it assumes color.
- // type:
- // Optional. One of either "color" or "marker". Defaults to
- // "color".
- // example:
- // | var color = myTheme.next();
- // | var color = myTheme.next("color");
- // | var marker = myTheme.next("marker");
- if(type == "marker"){
- return this._markers[ this._current.marker++ % this._markers.length ];
- }else{
- return this.colors[ this._current.color++ % this.colors.length ];
- }
- },
- clear: function(){
- // summary:
- // resets both marker and color counters back to the start.
- // Subsequent calls to `next` will retrievie the first value
- // of each depending on the passed type.
- this._current = {color: 0, marker: 0};
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/_color.js b/includes/js/dojox/charting/_color.js
deleted file mode 100644
index 7fe2947..0000000
--- a/includes/js/dojox/charting/_color.js
+++ /dev/null
@@ -1,62 +0,0 @@
-if(!dojo._hasResource["dojox.charting._color"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting._color"] = true;
-dojo.provide("dojox.charting._color");
-
-dojox.charting._color={};
-dojox.charting._color.fromHsb=function(/* int */hue, /* int */saturation, /* int */brightness){
- // summary
- // Creates an instance of dojo.Color based on HSB input (360, %, %)
- hue=Math.round(hue);
- saturation=Math.round((saturation/100)*255);
- brightness=Math.round((brightness/100)*255);
-
- var r, g, b;
- if(saturation==0){
- r=g=b=brightness;
- } else {
- var tint1=brightness,
- tint2=(255-saturation)*brightness/255,
- tint3=(tint1-tint2)*(hue%60)/60;
- if(hue<60){ r=tint1, g=tint2+tint3, b=tint2; }
- else if(hue<120){ r=tint1-tint3, g=tint1, b=tint2; }
- else if(hue<180){ r=tint2, g=tint1, b=tint2+tint3; }
- else if(hue<240){ r=tint2, g=tint1-tint3, b=tint1; }
- else if(hue<300){ r=tint2+tint3, g=tint2, b=tint1; }
- else if(hue<360){ r=tint1, g=tint2, b=tint1-tint3; }
- }
-
- r=Math.round(r); g=Math.round(g); b=Math.round(b);
- return new dojo.Color({ r:r, g:g, b:b });
-};
-
-dojox.charting._color.toHsb=function(/* int|Object|dojo.Color */ red, /* int? */ green, /* int? */blue){
- // summary
- // Returns the color in HSB representation (360, %, %)
- var r=red,g=green,b=blue;
- if(dojo.isObject(red)){
- r=red.r,g=red.g,b=red.b;
- }
- var min=Math.min(r,g,b);
- var max=Math.max(r,g,b);
- var delta=max-min;
-
- var hue=0, saturation=(max!=0?delta/max:0), brightness=max/255;
- if(saturation==0){ hue=0; }
- else {
- if(r==max){ hue=((max-b)/delta)-((max-g)/delta); }
- else if(g==max){ hue=2+(((max-r)/delta)-((max-b)/delta)); }
- else { hue=4+(((max-g)/delta)-((max-r)/delta)); }
- hue/=6;
- if(hue<0) hue++;
- }
-
- hue=Math.round(hue*360);
- saturation=Math.round(saturation*100);
- brightness=Math.round(brightness*100);
- return {
- h:hue, s:saturation, b:brightness,
- hue:hue, saturation:saturation, brightness:brightness
- }; // Object
-};
-
-}
diff --git a/includes/js/dojox/charting/axis2d/Base.js b/includes/js/dojox/charting/axis2d/Base.js
deleted file mode 100644
index ea9bf78..0000000
--- a/includes/js/dojox/charting/axis2d/Base.js
+++ /dev/null
@@ -1,31 +0,0 @@
-if(!dojo._hasResource["dojox.charting.axis2d.Base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.axis2d.Base"] = true;
-dojo.provide("dojox.charting.axis2d.Base");
-
-dojo.require("dojox.charting.Element");
-
-dojo.declare("dojox.charting.axis2d.Base", dojox.charting.Element, {
- constructor: function(chart, kwArgs){
- this.vertical = kwArgs && kwArgs.vertical;
- },
- clear: function(){
- return this;
- },
- initialized: function(){
- return false;
- },
- calculate: function(min, max, span){
- return this;
- },
- getScaler: function(){
- return null;
- },
- getOffsets: function(){
- return {l: 0, r: 0, t: 0, b: 0};
- },
- render: function(dim, offsets){
- return this;
- }
-});
-
-}
diff --git a/includes/js/dojox/charting/axis2d/Default.js b/includes/js/dojox/charting/axis2d/Default.js
deleted file mode 100644
index 491d9e9..0000000
--- a/includes/js/dojox/charting/axis2d/Default.js
+++ /dev/null
@@ -1,323 +0,0 @@
-if(!dojo._hasResource["dojox.charting.axis2d.Default"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.axis2d.Default"] = true;
-dojo.provide("dojox.charting.axis2d.Default");
-
-dojo.require("dojox.charting.scaler");
-dojo.require("dojox.charting.axis2d.common");
-dojo.require("dojox.charting.axis2d.Base");
-
-dojo.require("dojo.colors");
-dojo.require("dojox.gfx");
-dojo.require("dojox.lang.functional");
-dojo.require("dojox.lang.utils");
-
-(function(){
- var dc = dojox.charting,
- df = dojox.lang.functional,
- du = dojox.lang.utils,
- g = dojox.gfx,
- labelGap = 4; // in pixels
-
- var eq = function(/* Number */ a, /* Number */ b){
- // summary: compare two FP numbers for equality
- return Math.abs(a - b) <= 1e-6 * (Math.abs(a) + Math.abs(b)); // Boolean
- };
-
- dojo.declare("dojox.charting.axis2d.Default", dojox.charting.axis2d.Base, {
- defaultParams: {
- vertical: false, // true for vertical axis
- fixUpper: "none", // align the upper on ticks: "major", "minor", "micro", "none"
- fixLower: "none", // align the lower on ticks: "major", "minor", "micro", "none"
- natural: false, // all tick marks should be made on natural numbers
- leftBottom: true, // position of the axis, used with "vertical"
- includeZero: false, // 0 should be included
- fixed: true, // all labels are fixed numbers
- majorLabels: true, // draw major labels
- minorTicks: true, // draw minor ticks
- minorLabels: true, // draw minor labels
- microTicks: false, // draw micro ticks
- htmlLabels: true // use HTML to draw labels
- },
- optionalParams: {
- "min": 0, // minimal value on this axis
- "max": 1, // maximal value on this axis
- "majorTickStep": 4, // major tick step
- "minorTickStep": 2, // minor tick step
- "microTickStep": 1, // micro tick step
- "labels": [], // array of labels for major ticks
- // with corresponding numeric values
- // ordered by values
- // theme components
- "stroke": {}, // stroke for an axis
- "majorTick": {}, // stroke + length for a tick
- "minorTick": {}, // stroke + length for a tick
- "font": "", // font for labels
- "fontColor": "" // color for labels as a string
- },
-
- constructor: function(chart, kwArgs){
- this.opt = dojo.clone(this.defaultParams);
- du.updateWithObject(this.opt, kwArgs);
- du.updateWithPattern(this.opt, kwArgs, this.optionalParams);
- },
- dependOnData: function(){
- return !("min" in this.opt) || !("max" in this.opt);
- },
- clear: function(){
- delete this.scaler;
- this.dirty = true;
- return this;
- },
- initialized: function(){
- return "scaler" in this;
- },
- calculate: function(min, max, span, labels){
- if(this.initialized()){ return this; }
- this.labels = "labels" in this.opt ? this.opt.labels : labels;
- if("min" in this.opt){ min = this.opt.min; }
- if("max" in this.opt){ max = this.opt.max; }
- if(this.opt.includeZero){
- if(min > 0){ min = 0; }
- if(max < 0){ max = 0; }
- }
- var minMinorStep = 0, ta = this.chart.theme.axis,
- taFont = "font" in this.opt ? this.opt.font : ta.font,
- size = taFont ? g.normalizedLength(g.splitFontString(taFont).size) : 0;
- if(this.vertical){
- if(size){
- minMinorStep = size + labelGap;
- }
- }else{
- if(size){
- var labelWidth, i;
- if(this.labels){
- labelWidth = df.foldl(df.map(this.labels, function(label){
- return dojox.gfx._base._getTextBox(label.text, {font: taFont}).w;
- }), "Math.max(a, b)", 0);
- }else{
- var labelLength = Math.ceil(Math.log(Math.max(Math.abs(min), Math.abs(max))) / Math.LN10), t = [];
- if(min < 0 || max < 0){ t.push("-"); }
- for(i = 0; i < labelLength; ++i){ t.push("9"); }
- var precision = Math.floor(Math.log(max - min) / Math.LN10);
- if(precision > 0){
- t.push(".");
- for(i = 0; i < precision; ++i){ t.push("9"); }
- }
- labelWidth = dojox.gfx._base._getTextBox(t.join(""), {font: taFont}).w;
- }
- minMinorStep = labelWidth + labelGap;
- }
- }
- var kwArgs = {
- fixUpper: this.opt.fixUpper,
- fixLower: this.opt.fixLower,
- natural: this.opt.natural
- };
- if("majorTickStep" in this.opt){ kwArgs.majorTick = this.opt.majorTickStep; }
- if("minorTickStep" in this.opt){ kwArgs.minorTick = this.opt.minorTickStep; }
- if("microTickStep" in this.opt){ kwArgs.microTick = this.opt.microTickStep; }
- this.scaler = dojox.charting.scaler(min, max, span, kwArgs);
- this.scaler.minMinorStep = minMinorStep;
- return this;
- },
- getScaler: function(){
- return this.scaler;
- },
- getOffsets: function(){
- var offsets = {l: 0, r: 0, t: 0, b: 0}, s, labelWidth, gtb, a, b, c, d;
- var offset = 0, ta = this.chart.theme.axis,
- taFont = "font" in this.opt ? this.opt.font : ta.font,
- taMajorTick = "majorTick" in this.opt ? this.opt.majorTick : ta.majorTick,
- taMinorTick = "minorTick" in this.opt ? this.opt.minorTick : ta.minorTick,
- size = taFont ? g.normalizedLength(g.splitFontString(taFont).size) : 0;
- if(this.vertical){
- if(size){
- s = this.scaler;
- if(this.labels){
- labelWidth = df.foldl(df.map(this.labels, function(label){
- return dojox.gfx._base._getTextBox(label.text, {font: taFont}).w;
- }), "Math.max(a, b)", 0);
- }else{
- gtb = dojox.gfx._base._getTextBox;
- a = gtb(this._getLabel(s.major.start, s.major.prec), {font: taFont}).w;
- b = gtb(this._getLabel(s.major.start + s.major.count * s.major.tick, s.major.prec), {font: taFont}).w;
- c = gtb(this._getLabel(s.minor.start, s.minor.prec), {font: taFont}).w;
- d = gtb(this._getLabel(s.minor.start + s.minor.count * s.minor.tick, s.minor.prec), {font: taFont}).w;
- labelWidth = Math.max(a, b, c, d);
- }
- offset = labelWidth + labelGap;
- }
- offset += labelGap + Math.max(taMajorTick.length, taMinorTick.length);
- offsets[this.opt.leftBottom ? "l" : "r"] = offset;
- offsets.t = offsets.b = size / 2;
- }else{
- if(size){
- offset = size + labelGap;
- }
- offset += labelGap + Math.max(taMajorTick.length, taMinorTick.length);
- offsets[this.opt.leftBottom ? "b" : "t"] = offset;
- if(size){
- s = this.scaler;
- if(this.labels){
- labelWidth = df.foldl(df.map(this.labels, function(label){
- return dojox.gfx._base._getTextBox(label.text, {font: taFont}).w;
- }), "Math.max(a, b)", 0);
- }else{
- gtb = dojox.gfx._base._getTextBox;
- a = gtb(this._getLabel(s.major.start, s.major.prec), {font: taFont}).w;
- b = gtb(this._getLabel(s.major.start + s.major.count * s.major.tick, s.major.prec), {font: taFont}).w;
- c = gtb(this._getLabel(s.minor.start, s.minor.prec), {font: taFont}).w;
- d = gtb(this._getLabel(s.minor.start + s.minor.count * s.minor.tick, s.minor.prec), {font: taFont}).w;
- labelWidth = Math.max(a, b, c, d);
- }
- offsets.l = offsets.r = labelWidth / 2;
- }
- }
- return offsets;
- },
- render: function(dim, offsets){
- if(!this.dirty){ return this; }
- // prepare variable
- var start, stop, axisVector, tickVector, labelOffset, labelAlign,
- ta = this.chart.theme.axis,
- taStroke = "stroke" in this.opt ? this.opt.stroke : ta.stroke,
- taMajorTick = "majorTick" in this.opt ? this.opt.majorTick : ta.majorTick,
- taMinorTick = "minorTick" in this.opt ? this.opt.minorTick : ta.minorTick,
- taFont = "font" in this.opt ? this.opt.font : ta.font,
- taFontColor = "fontColor" in this.opt ? this.opt.fontColor : ta.fontColor,
- tickSize = Math.max(taMajorTick.length, taMinorTick.length),
- size = taFont ? g.normalizedLength(g.splitFontString(taFont).size) : 0;
- if(this.vertical){
- start = {y: dim.height - offsets.b};
- stop = {y: offsets.t};
- axisVector = {x: 0, y: -1};
- if(this.opt.leftBottom){
- start.x = stop.x = offsets.l;
- tickVector = {x: -1, y: 0};
- labelAlign = "end";
- }else{
- start.x = stop.x = dim.width - offsets.r;
- tickVector = {x: 1, y: 0};
- labelAlign = "start";
- }
- labelOffset = {x: tickVector.x * (tickSize + labelGap), y: size * 0.4};
- }else{
- start = {x: offsets.l};
- stop = {x: dim.width - offsets.r};
- axisVector = {x: 1, y: 0};
- labelAlign = "middle";
- if(this.opt.leftBottom){
- start.y = stop.y = dim.height - offsets.b;
- tickVector = {x: 0, y: 1};
- labelOffset = {y: tickSize + labelGap + size};
- }else{
- start.y = stop.y = offsets.t;
- tickVector = {x: 0, y: -1};
- labelOffset = {y: -tickSize - labelGap};
- }
- labelOffset.x = 0;
- }
-
- // render shapes
- this.cleanGroup();
- var s = this.group, c = this.scaler, step, next,
- nextMajor = c.major.start, nextMinor = c.minor.start, nextMicro = c.micro.start;
- s.createLine({x1: start.x, y1: start.y, x2: stop.x, y2: stop.y}).setStroke(taStroke);
- if(this.opt.microTicks && c.micro.tick){
- step = c.micro.tick, next = nextMicro;
- }else if(this.opt.minorTicks && c.minor.tick){
- step = c.minor.tick, next = nextMinor;
- }else if(c.major.tick){
- step = c.major.tick, next = nextMajor;
- }else{
- // don't draw anything
- return this;
- }
- while(next <= c.bounds.upper + 1/c.scale){
- var offset = (next - c.bounds.lower) * c.scale,
- x = start.x + axisVector.x * offset,
- y = start.y + axisVector.y * offset, elem;
- if(Math.abs(nextMajor - next) < step / 2){
- // major tick
- s.createLine({
- x1: x, y1: y,
- x2: x + tickVector.x * taMajorTick.length,
- y2: y + tickVector.y * taMajorTick.length
- }).setStroke(taMajorTick);
- if(this.opt.majorLabels){
- elem = dc.axis2d.common.createText[this.opt.htmlLabels && dojox.gfx.renderer != "vml" ? "html" : "gfx"]
- (this.chart, s, x + labelOffset.x, y + labelOffset.y, labelAlign,
- this._getLabel(nextMajor, c.major.prec), taFont, taFontColor);
- if(this.opt.htmlLabels){ this.htmlElements.push(elem); }
- }
- nextMajor += c.major.tick;
- nextMinor += c.minor.tick;
- nextMicro += c.micro.tick;
- }else if(Math.abs(nextMinor - next) < step / 2){
- // minor tick
- if(this.opt.minorTicks){
- s.createLine({
- x1: x, y1: y,
- x2: x + tickVector.x * taMinorTick.length,
- y2: y + tickVector.y * taMinorTick.length
- }).setStroke(taMinorTick);
- if(this.opt.minorLabels && (c.minMinorStep <= c.minor.tick * c.scale)){
- elem = dc.axis2d.common.createText[this.opt.htmlLabels && dojox.gfx.renderer != "vml" ? "html" : "gfx"]
- (this.chart, s, x + labelOffset.x, y + labelOffset.y, labelAlign,
- this._getLabel(nextMinor, c.minor.prec), taFont, taFontColor);
- if(this.opt.htmlLabels){ this.htmlElements.push(elem); }
- }
- }
- nextMinor += c.minor.tick;
- nextMicro += c.micro.tick;
- }else{
- // micro tick
- if(this.opt.microTicks){
- s.createLine({
- x1: x, y1: y,
- // use minor ticks for now
- x2: x + tickVector.x * taMinorTick.length,
- y2: y + tickVector.y * taMinorTick.length
- }).setStroke(taMinorTick);
- }
- nextMicro += c.micro.tick;
- }
- next += step;
- }
- this.dirty = false;
- return this;
- },
-
- // utilities
- _getLabel: function(number, precision){
- if(this.opt.labels){
- // classic binary search
- var l = this.opt.labels, lo = 0, hi = l.length;
- while(lo < hi){
- var mid = Math.floor((lo + hi) / 2), val = l[mid].value;
- if(val < number){
- lo = mid + 1;
- }else{
- hi = mid;
- }
- }
- // lets take into account FP errors
- if(lo < l.length && eq(l[lo].value, number)){
- return l[lo].text;
- }
- --lo;
- if(lo < l.length && eq(l[lo].value, number)){
- return l[lo].text;
- }
- lo += 2;
- if(lo < l.length && eq(l[lo].value, number)){
- return l[lo].text;
- }
- // otherwise we will produce a number
- }
- return this.opt.fixed ? number.toFixed(precision < 0 ? -precision : 0) : number.toString();
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/axis2d/common.js b/includes/js/dojox/charting/axis2d/common.js
deleted file mode 100644
index dd8ceb3..0000000
--- a/includes/js/dojox/charting/axis2d/common.js
+++ /dev/null
@@ -1,75 +0,0 @@
-if(!dojo._hasResource["dojox.charting.axis2d.common"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.axis2d.common"] = true;
-dojo.provide("dojox.charting.axis2d.common");
-
-dojo.require("dojox.gfx");
-
-(function(){
- var g = dojox.gfx;
-
- function clearNode(s){
- s.marginLeft = "0px";
- s.marginTop = "0px";
- s.marginRight = "0px";
- s.marginBottom = "0px";
- s.paddingLeft = "0px";
- s.paddingTop = "0px";
- s.paddingRight = "0px";
- s.paddingBottom = "0px";
- s.borderLeftWidth = "0px";
- s.borderTopWidth = "0px";
- s.borderRightWidth = "0px";
- s.borderBottomWidth = "0px";
- }
-
- dojo.mixin(dojox.charting.axis2d.common, {
- createText: {
- gfx: function(chart, creator, x, y, align, text, font, fontColor){
- return creator.createText({
- x: x, y: y, text: text, align: align
- }).setFont(font).setFill(fontColor);
- },
- html: function(chart, creator, x, y, align, text, font, fontColor){
- // setup the text node
- var p = dojo.doc.createElement("div"), s = p.style;
- clearNode(s);
- s.font = font;
- p.innerHTML = text;
- s.color = fontColor;
- // measure the size
- s.position = "absolute";
- s.left = "-10000px";
- dojo.body().appendChild(p);
- var size = g.normalizedLength(g.splitFontString(font).size),
- box = dojo.marginBox(p);
- // new settings for the text node
- dojo.body().removeChild(p);
- s.position = "relative";
- switch(align){
- case "middle":
- s.left = Math.floor(x - box.w / 2) + "px";
- break;
- case "end":
- s.left = Math.floor(x - box.w) + "px";
- break;
- //case "start":
- default:
- s.left = Math.floor(x) + "px";
- break;
- }
- s.top = Math.floor(y - size) + "px";
- // setup the wrapper node
- var wrap = dojo.doc.createElement("div"), w = wrap.style;
- clearNode(w);
- w.width = "0px";
- w.height = "0px";
- // insert nodes
- wrap.appendChild(p)
- chart.node.insertBefore(wrap, chart.node.firstChild);
- return p;
- }
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/plot2d/Areas.js b/includes/js/dojox/charting/plot2d/Areas.js
deleted file mode 100644
index 35d859f..0000000
--- a/includes/js/dojox/charting/plot2d/Areas.js
+++ /dev/null
@@ -1,14 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.Areas"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.Areas"] = true;
-dojo.provide("dojox.charting.plot2d.Areas");
-
-dojo.require("dojox.charting.plot2d.Default");
-
-dojo.declare("dojox.charting.plot2d.Areas", dojox.charting.plot2d.Default, {
- constructor: function(){
- this.opt.lines = true;
- this.opt.areas = true;
- }
-});
-
-}
diff --git a/includes/js/dojox/charting/plot2d/Bars.js b/includes/js/dojox/charting/plot2d/Bars.js
deleted file mode 100644
index dd82b64..0000000
--- a/includes/js/dojox/charting/plot2d/Bars.js
+++ /dev/null
@@ -1,89 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.Bars"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.Bars"] = true;
-dojo.provide("dojox.charting.plot2d.Bars");
-
-dojo.require("dojox.charting.plot2d.common");
-dojo.require("dojox.charting.plot2d.Base");
-
-dojo.require("dojox.lang.utils");
-dojo.require("dojox.lang.functional");
-dojo.require("dojox.lang.functional.reversed");
-
-(function(){
- var df = dojox.lang.functional, du = dojox.lang.utils,
- dc = dojox.charting.plot2d.common,
- purgeGroup = df.lambda("item.purgeGroup()");
-
- dojo.declare("dojox.charting.plot2d.Bars", dojox.charting.plot2d.Base, {
- defaultParams: {
- hAxis: "x", // use a horizontal axis named "x"
- vAxis: "y", // use a vertical axis named "y"
- gap: 0, // gap between columns in pixels
- shadows: null // draw shadows
- },
- optionalParams: {}, // no optional parameters
-
- constructor: function(chart, kwArgs){
- this.opt = dojo.clone(this.defaultParams);
- du.updateWithObject(this.opt, kwArgs);
- this.series = [];
- this.hAxis = this.opt.hAxis;
- this.vAxis = this.opt.vAxis;
- },
-
- calculateAxes: function(dim){
- var stats = dc.collectSimpleStats(this.series), t;
- stats.hmin -= 0.5;
- stats.hmax += 0.5;
- t = stats.hmin, stats.hmin = stats.vmin, stats.vmin = t;
- t = stats.hmax, stats.hmax = stats.vmax, stats.vmax = t;
- this._calc(dim, stats);
- return this;
- },
- render: function(dim, offsets){
- if(this.dirty){
- dojo.forEach(this.series, purgeGroup);
- this.cleanGroup();
- var s = this.group;
- df.forEachRev(this.series, function(item){ item.cleanGroup(s); });
- }
- var t = this.chart.theme, color, stroke, fill, f,
- gap = this.opt.gap < this._vScaler.scale / 3 ? this.opt.gap : 0;
- for(var i = this.series.length - 1; i >= 0; --i){
- var run = this.series[i];
- if(!this.dirty && !run.dirty){ continue; }
- run.cleanGroup();
- var s = run.group;
- if(!run.fill || !run.stroke){
- // need autogenerated color
- color = run.dyn.color = new dojo.Color(t.next("color"));
- }
- stroke = run.stroke ? run.stroke : dc.augmentStroke(t.series.stroke, color);
- fill = run.fill ? run.fill : dc.augmentFill(t.series.fill, color);
- var baseline = Math.max(0, this._hScaler.bounds.lower),
- xoff = offsets.l + this._hScaler.scale * (baseline - this._hScaler.bounds.lower),
- yoff = dim.height - offsets.b - this._vScaler.scale * (1.5 - this._vScaler.bounds.lower) + gap;
- for(var j = 0; j < run.data.length; ++j){
- var v = run.data[j],
- width = this._hScaler.scale * (v - baseline),
- height = this._vScaler.scale - 2 * gap,
- w = Math.abs(width);
- if(w >= 1 && height >= 1){
- var shape = s.createRect({
- x: xoff + (width < 0 ? width : 0),
- y: yoff - this._vScaler.scale * j,
- width: w, height: height
- }).setFill(fill).setStroke(stroke);
- run.dyn.fill = shape.getFill();
- run.dyn.stroke = shape.getStroke();
- }
- }
- run.dirty = false;
- }
- this.dirty = false;
- return this;
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/plot2d/Base.js b/includes/js/dojox/charting/plot2d/Base.js
deleted file mode 100644
index c894ce3..0000000
--- a/includes/js/dojox/charting/plot2d/Base.js
+++ /dev/null
@@ -1,60 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.Base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.Base"] = true;
-dojo.provide("dojox.charting.plot2d.Base");
-
-dojo.require("dojox.charting.Element");
-dojo.require("dojox.charting.plot2d.common");
-
-dojo.declare("dojox.charting.plot2d.Base", dojox.charting.Element, {
- clear: function(){
- this.series = [];
- this._hAxis = null;
- this._vAxis = null;
- this.dirty = true;
- return this;
- },
- setAxis: function(axis){
- if(axis){
- this[axis.vertical ? "_vAxis" : "_hAxis"] = axis;
- }
- return this;
- },
- addSeries: function(run){
- this.series.push(run);
- return this;
- },
- calculateAxes: function(dim){
- return this;
- },
- render: function(dim, offsets){
- return this;
- },
- getRequiredColors: function(){
- return this.series.length;
- },
-
- // utilities
- _calc: function(dim, stats){
- // calculate scaler
- if(this._hAxis){
- if(!this._hAxis.initialized()){
- this._hAxis.calculate(stats.hmin, stats.hmax, dim.width);
- }
- this._hScaler = this._hAxis.getScaler();
- }else{
- this._hScaler = {bounds: {lower: stats.hmin, upper: stats.hmax},
- scale: dim.width / (stats.hmax - stats.hmin)};
- }
- if(this._vAxis){
- if(!this._vAxis.initialized()){
- this._vAxis.calculate(stats.vmin, stats.vmax, dim.height);
- }
- this._vScaler = this._vAxis.getScaler();
- }else{
- this._vScaler = {bounds: {lower: stats.vmin, upper: stats.vmax},
- scale: dim.height / (stats.vmax - stats.vmin)};
- }
- }
-});
-
-}
diff --git a/includes/js/dojox/charting/plot2d/ClusteredBars.js b/includes/js/dojox/charting/plot2d/ClusteredBars.js
deleted file mode 100644
index 9d64bb2..0000000
--- a/includes/js/dojox/charting/plot2d/ClusteredBars.js
+++ /dev/null
@@ -1,63 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.ClusteredBars"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.ClusteredBars"] = true;
-dojo.provide("dojox.charting.plot2d.ClusteredBars");
-
-dojo.require("dojox.charting.plot2d.common");
-dojo.require("dojox.charting.plot2d.Bars");
-
-dojo.require("dojox.lang.functional");
-dojo.require("dojox.lang.functional.reversed");
-
-(function(){
- var df = dojox.lang.functional, dc = dojox.charting.plot2d.common,
- purgeGroup = df.lambda("item.purgeGroup()");
-
- dojo.declare("dojox.charting.plot2d.ClusteredBars", dojox.charting.plot2d.Bars, {
- render: function(dim, offsets){
- if(this.dirty){
- dojo.forEach(this.series, purgeGroup);
- this.cleanGroup();
- var s = this.group;
- df.forEachRev(this.series, function(item){ item.cleanGroup(s); });
- }
- var t = this.chart.theme, color, stroke, fill, f,
- gap = this.opt.gap < this._vScaler.scale / 3 ? this.opt.gap : 0,
- thickness = (this._vScaler.scale - 2 * gap) / this.series.length;
- for(var i = this.series.length - 1; i >= 0; --i){
- var run = this.series[i];
- if(!this.dirty && !run.dirty){ continue; }
- run.cleanGroup();
- var s = run.group;
- if(!run.fill || !run.stroke){
- // need autogenerated color
- color = run.dyn.color = new dojo.Color(t.next("color"));
- }
- stroke = run.stroke ? run.stroke : dc.augmentStroke(t.series.stroke, color);
- fill = run.fill ? run.fill : dc.augmentFill(t.series.fill, color);
- var baseline = Math.max(0, this._hScaler.bounds.lower),
- xoff = offsets.l + this._hScaler.scale * (baseline - this._hScaler.bounds.lower),
- yoff = dim.height - offsets.b - this._vScaler.scale * (1.5 - this._vScaler.bounds.lower) +
- gap + thickness * (this.series.length - i - 1);
- for(var j = 0; j < run.data.length; ++j){
- var v = run.data[j],
- width = this._hScaler.scale * (v - baseline),
- height = thickness, w = Math.abs(width);
- if(w >= 1 && height >= 1){
- var shape = s.createRect({
- x: xoff + (width < 0 ? width : 0),
- y: yoff - this._vScaler.scale * j,
- width: w, height: height
- }).setFill(fill).setStroke(stroke);
- run.dyn.fill = shape.getFill();
- run.dyn.stroke = shape.getStroke();
- }
- }
- run.dirty = false;
- }
- this.dirty = false;
- return this;
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/plot2d/ClusteredColumns.js b/includes/js/dojox/charting/plot2d/ClusteredColumns.js
deleted file mode 100644
index 9a4170a..0000000
--- a/includes/js/dojox/charting/plot2d/ClusteredColumns.js
+++ /dev/null
@@ -1,63 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.ClusteredColumns"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.ClusteredColumns"] = true;
-dojo.provide("dojox.charting.plot2d.ClusteredColumns");
-
-dojo.require("dojox.charting.plot2d.common");
-dojo.require("dojox.charting.plot2d.Columns");
-
-dojo.require("dojox.lang.functional");
-dojo.require("dojox.lang.functional.reversed");
-
-(function(){
- var df = dojox.lang.functional, dc = dojox.charting.plot2d.common,
- purgeGroup = df.lambda("item.purgeGroup()");
-
- dojo.declare("dojox.charting.plot2d.ClusteredColumns", dojox.charting.plot2d.Columns, {
- render: function(dim, offsets){
- if(this.dirty){
- dojo.forEach(this.series, purgeGroup);
- this.cleanGroup();
- var s = this.group;
- df.forEachRev(this.series, function(item){ item.cleanGroup(s); });
- }
- var t = this.chart.theme, color, stroke, fill, f,
- gap = this.opt.gap < this._hScaler.scale / 3 ? this.opt.gap : 0,
- thickness = (this._hScaler.scale - 2 * gap) / this.series.length;
- for(var i = 0; i < this.series.length; ++i){
- var run = this.series[i];
- if(!this.dirty && !run.dirty){ continue; }
- run.cleanGroup();
- var s = run.group;
- if(!run.fill || !run.stroke){
- // need autogenerated color
- color = run.dyn.color = new dojo.Color(t.next("color"));
- }
- stroke = run.stroke ? run.stroke : dc.augmentStroke(t.series.stroke, color);
- fill = run.fill ? run.fill : dc.augmentFill(t.series.fill, color);
- var baseline = Math.max(0, this._vScaler.bounds.lower),
- xoff = offsets.l + this._hScaler.scale * (0.5 - this._hScaler.bounds.lower) + gap + thickness * i,
- yoff = dim.height - offsets.b - this._vScaler.scale * (baseline - this._vScaler.bounds.lower);
- for(var j = 0; j < run.data.length; ++j){
- var v = run.data[j],
- width = thickness,
- height = this._vScaler.scale * (v - baseline),
- h = Math.abs(height);
- if(width >= 1 && h >= 1){
- var shape = s.createRect({
- x: xoff + this._hScaler.scale * j,
- y: yoff - (height < 0 ? 0 : height),
- width: width, height: h
- }).setFill(fill).setStroke(stroke);
- run.dyn.fill = shape.getFill();
- run.dyn.stroke = shape.getStroke();
- }
- }
- run.dirty = false;
- }
- this.dirty = false;
- return this;
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/plot2d/Columns.js b/includes/js/dojox/charting/plot2d/Columns.js
deleted file mode 100644
index ff97393..0000000
--- a/includes/js/dojox/charting/plot2d/Columns.js
+++ /dev/null
@@ -1,88 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.Columns"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.Columns"] = true;
-dojo.provide("dojox.charting.plot2d.Columns");
-
-dojo.require("dojox.charting.plot2d.common");
-dojo.require("dojox.charting.plot2d.Base");
-
-dojo.require("dojox.lang.utils");
-dojo.require("dojox.lang.functional");
-dojo.require("dojox.lang.functional.reversed");
-
-(function(){
- var df = dojox.lang.functional, du = dojox.lang.utils,
- dc = dojox.charting.plot2d.common,
- purgeGroup = df.lambda("item.purgeGroup()");
-
- dojo.declare("dojox.charting.plot2d.Columns", dojox.charting.plot2d.Base, {
- defaultParams: {
- hAxis: "x", // use a horizontal axis named "x"
- vAxis: "y", // use a vertical axis named "y"
- gap: 0, // gap between columns in pixels
- shadows: null // draw shadows
- },
- optionalParams: {}, // no optional parameters
-
- constructor: function(chart, kwArgs){
- this.opt = dojo.clone(this.defaultParams);
- du.updateWithObject(this.opt, kwArgs);
- this.series = [];
- this.hAxis = this.opt.hAxis;
- this.vAxis = this.opt.vAxis;
- },
-
- calculateAxes: function(dim){
- var stats = dc.collectSimpleStats(this.series);
- stats.hmin -= 0.5;
- stats.hmax += 0.5;
- this._calc(dim, stats);
- return this;
- },
- render: function(dim, offsets){
- if(this.dirty){
- dojo.forEach(this.series, purgeGroup);
- this.cleanGroup();
- var s = this.group;
- df.forEachRev(this.series, function(item){ item.cleanGroup(s); });
- }
- var t = this.chart.theme, color, stroke, fill, f,
- gap = this.opt.gap < this._hScaler.scale / 3 ? this.opt.gap : 0;
- for(var i = this.series.length - 1; i >= 0; --i){
- var run = this.series[i];
- if(!this.dirty && !run.dirty){ continue; }
- run.cleanGroup();
- var s = run.group;
- if(!run.fill || !run.stroke){
- // need autogenerated color
- color = run.dyn.color = new dojo.Color(t.next("color"));
- }
- stroke = run.stroke ? run.stroke : dc.augmentStroke(t.series.stroke, color);
- fill = run.fill ? run.fill : dc.augmentFill(t.series.fill, color);
- var baseline = Math.max(0, this._vScaler.bounds.lower),
- xoff = offsets.l + this._hScaler.scale * (0.5 - this._hScaler.bounds.lower) + gap,
- yoff = dim.height - offsets.b - this._vScaler.scale * (baseline - this._vScaler.bounds.lower);
- for(var j = 0; j < run.data.length; ++j){
- var v = run.data[j],
- width = this._hScaler.scale - 2 * gap,
- height = this._vScaler.scale * (v - baseline),
- h = Math.abs(height);
- if(width >= 1 && h >= 1){
- var rect = {
- x: xoff + this._hScaler.scale * j,
- y: yoff - (height < 0 ? 0 : height),
- width: width, height: h
- },
- shape = s.createRect(rect).setFill(fill).setStroke(stroke);
- run.dyn.fill = shape.getFill();
- run.dyn.stroke = shape.getStroke();
- }
- }
- run.dirty = false;
- }
- this.dirty = false;
- return this;
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/plot2d/Default.js b/includes/js/dojox/charting/plot2d/Default.js
deleted file mode 100644
index a8ca8a5..0000000
--- a/includes/js/dojox/charting/plot2d/Default.js
+++ /dev/null
@@ -1,173 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.Default"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.Default"] = true;
-dojo.provide("dojox.charting.plot2d.Default");
-
-dojo.require("dojox.charting.plot2d.common");
-dojo.require("dojox.charting.plot2d.Base");
-
-dojo.require("dojox.lang.utils");
-dojo.require("dojox.lang.functional");
-dojo.require("dojox.lang.functional.reversed");
-
-(function(){
- var df = dojox.lang.functional, du = dojox.lang.utils,
- dc = dojox.charting.plot2d.common,
- purgeGroup = df.lambda("item.purgeGroup()");
-
- dojo.declare("dojox.charting.plot2d.Default", dojox.charting.plot2d.Base, {
- defaultParams: {
- hAxis: "x", // use a horizontal axis named "x"
- vAxis: "y", // use a vertical axis named "y"
- lines: true, // draw lines
- areas: false, // draw areas
- markers: false, // draw markers
- shadows: 0, // draw shadows
- tension: 0 // draw curved lines (tension>0)
- },
- optionalParams: {}, // no optional parameters
-
- constructor: function(chart, kwArgs){
- this.opt = dojo.clone(this.defaultParams);
- du.updateWithObject(this.opt, kwArgs);
- this.series = [];
- this.hAxis = this.opt.hAxis;
- this.vAxis = this.opt.vAxis;
- },
-
- calculateAxes: function(dim){
- this._calc(dim, dc.collectSimpleStats(this.series));
- return this;
- },
- render: function(dim, offsets){
- if(this.dirty){
- dojo.forEach(this.series, purgeGroup);
- this.cleanGroup();
- var s = this.group;
- df.forEachRev(this.series, function(item){ item.cleanGroup(s); });
- }
- var t = this.chart.theme, stroke, outline, color, marker;
- for(var i = this.series.length - 1; i >= 0; --i){
- var run = this.series[i];
- if(!this.dirty && !run.dirty){ continue; }
- run.cleanGroup();
- if(!run.data.length){
- run.dirty = false;
- continue;
- }
-
- // inner function for translating polylines to curves with tension
- function curve(arr, tension){
- var p=dojo.map(arr, function(item, i){
- if(i==0){ return "M" + item.x + "," + item.y; }
- var dx=item.x-arr[i-1].x, dy=arr[i-1].y;
- return "C"+(item.x-(tension-1)*(dx/tension))+","+dy+" "+(item.x-(dx/tension))+","+item.y+" "+item.x+","+item.y;
- });
- return p.join(" ");
- }
-
- var s = run.group, lpoly;
- if(typeof run.data[0] == "number"){
- lpoly = dojo.map(run.data, function(v, i){
- return {
- x: this._hScaler.scale * (i + 1 - this._hScaler.bounds.lower) + offsets.l,
- y: dim.height - offsets.b - this._vScaler.scale * (v - this._vScaler.bounds.lower)
- };
- }, this);
- }else{
- lpoly = dojo.map(run.data, function(v, i){
- return {
- x: this._hScaler.scale * (v.x - this._hScaler.bounds.lower) + offsets.l,
- y: dim.height - offsets.b - this._vScaler.scale * (v.y - this._vScaler.bounds.lower)
- };
- }, this);
- }
- if(!run.fill || !run.stroke){
- // need autogenerated color
- color = run.dyn.color = new dojo.Color(t.next("color"));
- }
-
- var lpath="";
- if(this.opt.tension){
- var lpath=curve(lpoly, this.opt.tension);
- }
-
- if(this.opt.areas){
- var fill = run.fill ? run.fill : dc.augmentFill(t.series.fill, color);
- var apoly = dojo.clone(lpoly);
- if(this.opt.tension){
- var apath="L" + (apoly[apoly.length-1].x) + "," + (dim.height-offsets.b) + " "
- + "L"+apoly[0].x+","+(dim.height-offsets.b)+" "
- + "L"+apoly[0].x+","+apoly[0].y;
- run.dyn.fill = s.createPath(lpath+" "+apath).setFill(fill).getFill();
- } else {
- apoly.push({x: lpoly[lpoly.length - 1].x, y: dim.height - offsets.b});
- apoly.push({x: lpoly[0].x, y: dim.height - offsets.b});
- apoly.push(lpoly[0]);
- run.dyn.fill = s.createPolyline(apoly).setFill(fill).getFill();
- }
- }
- if(this.opt.lines || this.opt.markers){
- // need a stroke
- stroke = run.stroke ? dc.makeStroke(run.stroke) : dc.augmentStroke(t.series.stroke, color);
- if(run.outline || t.series.outline){
- outline = dc.makeStroke(run.outline ? run.outline : t.series.outline);
- outline.width = 2 * outline.width + stroke.width;
- }
- }
- if(this.opt.markers){
- // need a marker
- marker = run.dyn.marker = run.marker ? run.marker : t.next("marker");
- }
- if(this.opt.shadows && stroke){
- var sh = this.opt.shadows, shadowColor = new dojo.Color([0, 0, 0, 0.3]),
- spoly = dojo.map(lpoly, function(c){
- return {x: c.x + sh.dx, y: c.y + sh.dy};
- }),
- shadowStroke = dojo.clone(outline ? outline : stroke);
- shadowStroke.color = shadowColor;
- shadowStroke.width += sh.dw ? sh.dw : 0;
- if(this.opt.lines){
- if(this.opt.tension){
- s.createPath(curve(spoly, this.opt.tension)).setStroke(shadowStroke);
- } else {
- s.createPolyline(spoly).setStroke(shadowStroke);
- }
- }
- if(this.opt.markers){
- dojo.forEach(spoly, function(c){
- s.createPath("M" + c.x + " " + c.y + " " + marker).setStroke(shadowStroke).setFill(shadowColor);
- }, this);
- }
- }
- if(this.opt.lines){
- if(outline){
- if(this.opt.tension){
- run.dyn.outline = s.createPath(lpath).setStroke(outline).getStroke();
- } else {
- run.dyn.outline = s.createPolyline(lpoly).setStroke(outline).getStroke();
- }
- }
- if(this.opt.tension){
- run.dyn.stroke = s.createPath(lpath).setStroke(stroke).getStroke();
- } else {
- run.dyn.stroke = s.createPolyline(lpoly).setStroke(stroke).getStroke();
- }
- }
- if(this.opt.markers){
- dojo.forEach(lpoly, function(c){
- var path = "M" + c.x + " " + c.y + " " + marker;
- if(outline){
- s.createPath(path).setStroke(outline);
- }
- s.createPath(path).setStroke(stroke).setFill(stroke.color);
- }, this);
- }
- run.dirty = false;
- }
- this.dirty = false;
- return this;
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/plot2d/Grid.js b/includes/js/dojox/charting/plot2d/Grid.js
deleted file mode 100644
index 52cb348..0000000
--- a/includes/js/dojox/charting/plot2d/Grid.js
+++ /dev/null
@@ -1,116 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.Grid"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.Grid"] = true;
-dojo.provide("dojox.charting.plot2d.Grid");
-
-dojo.require("dojox.charting.Element");
-dojo.require("dojox.charting.plot2d.common");
-dojo.require("dojox.lang.functional");
-
-(function(){
- var du = dojox.lang.utils;
-
- dojo.declare("dojox.charting.plot2d.Grid", dojox.charting.Element, {
- defaultParams: {
- hAxis: "x", // use a horizontal axis named "x"
- vAxis: "y", // use a vertical axis named "y"
- hMajorLines: true, // draw horizontal major lines
- hMinorLines: false, // draw horizontal minor lines
- vMajorLines: true, // draw vertical major lines
- vMinorLines: false, // draw vertical minor lines
- hStripes: "none", // TBD
- vStripes: "none" // TBD
- },
- optionalParams: {}, // no optional parameters
-
- constructor: function(chart, kwArgs){
- this.opt = dojo.clone(this.defaultParams);
- du.updateWithObject(this.opt, kwArgs);
- this.hAxis = this.opt.hAxis;
- this.vAxis = this.opt.vAxis;
- },
- clear: function(){
- this._hAxis = null;
- this._vAxis = null;
- this.dirty = true;
- return this;
- },
- setAxis: function(axis){
- if(axis){
- this[axis.vertical ? "_vAxis" : "_hAxis"] = axis;
- }
- return this;
- },
- addSeries: function(run){
- // nothing
- return this;
- },
- calculateAxes: function(dim){
- // nothing
- return this;
- },
- getRequiredColors: function(){
- return 0;
- },
- render: function(dim, offsets){
- // draw horizontal stripes and lines
- if(!this.dirty){ return this; }
- this.cleanGroup();
- var s = this.group, ta = this.chart.theme.axis,
- scaler = this._vAxis.getScaler();
- if(this.opt.hMinorLines && scaler.minor.tick){
- for(var i = 0; i < scaler.minor.count; ++i){
- var y = dim.height - offsets.b - scaler.scale *
- (scaler.minor.start - scaler.bounds.lower + i * scaler.minor.tick);
- s.createLine({
- x1: offsets.l,
- y1: y,
- x2: dim.width - offsets.r,
- y2: y
- }).setStroke(ta.minorTick);
- }
- }
- if(this.opt.hMajorLines && scaler.major.tick){
- for(var i = 0; i < scaler.major.count; ++i){
- var y = dim.height - offsets.b - scaler.scale *
- (scaler.major.start - scaler.bounds.lower + i * scaler.major.tick);
- s.createLine({
- x1: offsets.l,
- y1: y,
- x2: dim.width - offsets.r,
- y2: y
- }).setStroke(ta.majorTick);
- }
- }
- // draw vertical stripes and lines
- scaler = this._hAxis.getScaler();
- if(this.opt.vMinorLines && scaler.minor.tick){
- for(var i = 0; i < scaler.minor.count; ++i){
- var x = offsets.l + scaler.scale *
- (scaler.minor.start - scaler.bounds.lower + i * scaler.minor.tick);
- s.createLine({
- x1: x,
- y1: offsets.t,
- x2: x,
- y2: dim.height - offsets.b
- }).setStroke(ta.minorTick);
- }
- }
- if(this.opt.vMajorLines && scaler.major.tick){
- for(var i = 0; i < scaler.major.count; ++i){
- var x = offsets.l + scaler.scale *
- (scaler.major.start - scaler.bounds.lower + i * scaler.major.tick);
- s.createLine({
- x1: x,
- y1: offsets.t,
- x2: x,
- y2: dim.height - offsets.b
- }).setStroke(ta.majorTick);
- }
- }
- this.dirty = false;
- return this;
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/plot2d/Lines.js b/includes/js/dojox/charting/plot2d/Lines.js
deleted file mode 100644
index 34e6897..0000000
--- a/includes/js/dojox/charting/plot2d/Lines.js
+++ /dev/null
@@ -1,13 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.Lines"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.Lines"] = true;
-dojo.provide("dojox.charting.plot2d.Lines");
-
-dojo.require("dojox.charting.plot2d.Default");
-
-dojo.declare("dojox.charting.plot2d.Lines", dojox.charting.plot2d.Default, {
- constructor: function(){
- this.opt.lines = true;
- }
-});
-
-}
diff --git a/includes/js/dojox/charting/plot2d/Markers.js b/includes/js/dojox/charting/plot2d/Markers.js
deleted file mode 100644
index 177aafb..0000000
--- a/includes/js/dojox/charting/plot2d/Markers.js
+++ /dev/null
@@ -1,13 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.Markers"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.Markers"] = true;
-dojo.provide("dojox.charting.plot2d.Markers");
-
-dojo.require("dojox.charting.plot2d.Default");
-
-dojo.declare("dojox.charting.plot2d.Markers", dojox.charting.plot2d.Default, {
- constructor: function(){
- this.opt.markers = true;
- }
-});
-
-}
diff --git a/includes/js/dojox/charting/plot2d/MarkersOnly.js b/includes/js/dojox/charting/plot2d/MarkersOnly.js
deleted file mode 100644
index 48cd663..0000000
--- a/includes/js/dojox/charting/plot2d/MarkersOnly.js
+++ /dev/null
@@ -1,14 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.MarkersOnly"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.MarkersOnly"] = true;
-dojo.provide("dojox.charting.plot2d.MarkersOnly");
-
-dojo.require("dojox.charting.plot2d.Default");
-
-dojo.declare("dojox.charting.plot2d.MarkersOnly", dojox.charting.plot2d.Default, {
- constructor: function(){
- this.opt.lines = false;
- this.opt.markers = true;
- }
-});
-
-}
diff --git a/includes/js/dojox/charting/plot2d/Pie.js b/includes/js/dojox/charting/plot2d/Pie.js
deleted file mode 100644
index 2d0f55e..0000000
--- a/includes/js/dojox/charting/plot2d/Pie.js
+++ /dev/null
@@ -1,199 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.Pie"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.Pie"] = true;
-dojo.provide("dojox.charting.plot2d.Pie");
-
-dojo.require("dojox.charting.Element");
-dojo.require("dojox.charting.axis2d.common");
-dojo.require("dojox.charting.plot2d.common");
-
-dojo.require("dojox.lang.functional");
-dojo.require("dojox.gfx");
-
-(function(){
- var df = dojox.lang.functional, du = dojox.lang.utils,
- dc = dojox.charting.plot2d.common,
- da = dojox.charting.axis2d.common,
- g = dojox.gfx;
-
- dojo.declare("dojox.charting.plot2d.Pie", dojox.charting.Element, {
- defaultParams: {
- labels: true,
- ticks: false,
- fixed: true,
- precision: 1,
- labelOffset: 20,
- labelStyle: "default", // default/rows/auto
- htmlLabels: true // use HTML to draw labels
- },
- optionalParams: {
- font: "",
- fontColor: "",
- radius: 0
- },
-
- constructor: function(chart, kwArgs){
- this.opt = dojo.clone(this.defaultParams);
- du.updateWithObject(this.opt, kwArgs);
- du.updateWithPattern(this.opt, kwArgs, this.optionalParams);
- this.run = null;
- this.dyn = [];
- },
- clear: function(){
- this.dirty = true;
- this.dyn = [];
- return this;
- },
- setAxis: function(axis){
- // nothing
- return this;
- },
- addSeries: function(run){
- this.run = run;
- return this;
- },
- calculateAxes: function(dim){
- // nothing
- return this;
- },
- getRequiredColors: function(){
- return this.run ? this.run.data.length : 0;
- },
- render: function(dim, offsets){
- if(!this.dirty){ return this; }
- this.dirty = false;
- this.cleanGroup();
- var s = this.group, color, t = this.chart.theme;
-
- // calculate the geometry
- var rx = (dim.width - offsets.l - offsets.r) / 2,
- ry = (dim.height - offsets.t - offsets.b) / 2,
- r = Math.min(rx, ry),
- taFont = "font" in this.opt ? this.opt.font : t.axis.font,
- size = taFont ? g.normalizedLength(g.splitFontString(taFont).size) : 0,
- taFontColor = "fontColor" in this.opt ? this.opt.fontColor : t.axis.fontColor,
- start = 0, step, sum, slices, labels, shift, labelR,
- run = this.run.data;
- if(typeof run[0] == "number"){
- sum = df.foldl1(run, "+");
- slices = dojo.map(run, function(x){ return x / sum; });
- if(this.opt.labels){
- labels = dojo.map(slices, function(x){
- return this._getLabel(x * 100) + "%";
- }, this);
- }
- }else{
- sum = df.foldl1(run, function(a, b){ return {y: a.y + b.y}; }).y;
- slices = df.map(run, function(x){ return x.y / sum; });
- if(this.opt.labels){
- labels = dojo.map(slices, function(x, i){
- var v = run[i];
- return "text" in v ? v.text : this._getLabel(x * 100) + "%";
- }, this);
- }
- }
- if(this.opt.labels){
- shift = df.foldl1(df.map(labels, function(label){
- return dojox.gfx._base._getTextBox(label, {font: taFont}).w;
- }, this), "Math.max(a, b)") / 2;
- if(this.opt.labelOffset < 0){
- r = Math.min(rx - 2 * shift, ry - size) + this.opt.labelOffset;
- }
- labelR = r - this.opt.labelOffset;
- }
- if("radius" in this.opt){
- r = this.opt.radius;
- labelR = r - this.opt.labelOffset;
- }
- var circle = {
- cx: offsets.l + rx,
- cy: offsets.t + ry,
- r: r
- };
-
- this.dyn = [];
- if(!this.run || !run.length){
- return this;
- }
- if(run.length == 1){
- // need autogenerated color
- color = new dojo.Color(t.next("color"));
- var shape = s.createCircle(circle).
- setFill(dc.augmentFill(t.run.fill, color)).
- setStroke(dc.augmentStroke(t.series.stroke, color));
- this.dyn.push({color: color, fill: shape.getFill(), stroke: shape.getStroke()});
- if(this.opt.labels){
- // draw the label
- var elem = da.createText[this.opt.htmlLabels && dojox.gfx.renderer != "vml" ? "html" : "gfx"]
- (this.chart, s, circle.cx, circle.cy + size / 2, "middle",
- "100%", taFont, taFontColor);
- if(this.opt.htmlLabels){ this.htmlElements.push(elem); }
- }
- return this;
- }
- // draw slices
- dojo.forEach(slices, function(x, i){
- // calculate the geometry of the slice
- var end = start + x * 2 * Math.PI, v = run[i];
- if(i + 1 == slices.length){
- end = 2 * Math.PI;
- }
- var step = end - start,
- x1 = circle.cx + r * Math.cos(start),
- y1 = circle.cy + r * Math.sin(start),
- x2 = circle.cx + r * Math.cos(end),
- y2 = circle.cy + r * Math.sin(end);
- // draw the slice
- var color, fill, stroke;
- if(typeof v == "object"){
- color = "color" in v ? v.color : new dojo.Color(t.next("color"));
- fill = "fill" in v ? v.fill : dc.augmentFill(t.series.fill, color);
- stroke = "stroke" in v ? v.stroke : dc.augmentStroke(t.series.stroke, color);
- }else{
- color = new dojo.Color(t.next("color"));
- fill = dc.augmentFill(t.series.fill, color);
- stroke = dc.augmentStroke(t.series.stroke, color);
- }
- var shape = s.createPath({}).
- moveTo(circle.cx, circle.cy).
- lineTo(x1, y1).
- arcTo(r, r, 0, step > Math.PI, true, x2, y2).
- lineTo(circle.cx, circle.cy).
- closePath().
- setFill(fill).
- setStroke(stroke);
- this.dyn.push({color: color, fill: fill, stroke: stroke});
- start = end;
- }, this);
- // draw labels
- if(this.opt.labels){
- start = 0;
- dojo.forEach(slices, function(slice, i){
- // calculate the geometry of the slice
- var end = start + slice * 2 * Math.PI, v = run[i];
- if(i + 1 == slices.length){
- end = 2 * Math.PI;
- }
- var labelAngle = (start + end) / 2,
- x = circle.cx + labelR * Math.cos(labelAngle),
- y = circle.cy + labelR * Math.sin(labelAngle) + size / 2;
- // draw the label
- var elem = da.createText[this.opt.htmlLabels && dojox.gfx.renderer != "vml" ? "html" : "gfx"]
- (this.chart, s, x, y, "middle",
- labels[i], taFont,
- (typeof v == "object" && "fontColor" in v)
- ? v.fontColor : taFontColor);
- if(this.opt.htmlLabels){ this.htmlElements.push(elem); }
- start = end;
- }, this);
- }
- return this;
- },
-
- // utilities
- _getLabel: function(number){
- return this.opt.fixed ? number.toFixed(this.opt.precision) : number.toString();
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/plot2d/Scatter.js b/includes/js/dojox/charting/plot2d/Scatter.js
deleted file mode 100644
index d307cb1..0000000
--- a/includes/js/dojox/charting/plot2d/Scatter.js
+++ /dev/null
@@ -1,14 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.Scatter"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.Scatter"] = true;
-dojo.provide("dojox.charting.plot2d.Scatter");
-
-dojo.require("dojox.charting.plot2d.Default");
-
-dojo.declare("dojox.charting.plot2d.Scatter", dojox.charting.plot2d.Default, {
- constructor: function(){
- this.opt.lines = false;
- this.opt.markers = true;
- }
-});
-
-}
diff --git a/includes/js/dojox/charting/plot2d/Stacked.js b/includes/js/dojox/charting/plot2d/Stacked.js
deleted file mode 100644
index 0e26a75..0000000
--- a/includes/js/dojox/charting/plot2d/Stacked.js
+++ /dev/null
@@ -1,160 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.Stacked"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.Stacked"] = true;
-dojo.provide("dojox.charting.plot2d.Stacked");
-
-dojo.require("dojox.charting.plot2d.common");
-dojo.require("dojox.charting.plot2d.Default");
-
-dojo.require("dojox.lang.functional");
-dojo.require("dojox.lang.functional.sequence");
-dojo.require("dojox.lang.functional.reversed");
-
-(function(){
- var df = dojox.lang.functional, dc = dojox.charting.plot2d.common,
- purgeGroup = df.lambda("item.purgeGroup()");
-
- dojo.declare("dojox.charting.plot2d.Stacked", dojox.charting.plot2d.Default, {
- calculateAxes: function(dim){
- var stats = dc.collectStackedStats(this.series);
- this._maxRunLength = stats.hmax;
- this._calc(dim, stats);
- return this;
- },
- render: function(dim, offsets){
- // stack all values
- var acc = df.repeat(this._maxRunLength, "-> 0", 0);
- for(var i = 0; i < this.series.length; ++i){
- var run = this.series[i];
- for(var j = 0; j < run.data.length; ++j){
- var v = run.data[j];
- if(isNaN(v)){ v = 0; }
- acc[j] += v;
- }
- }
- // draw runs in backwards
- if(this.dirty){
- dojo.forEach(this.series, purgeGroup);
- this.cleanGroup();
- var s = this.group;
- df.forEachRev(this.series, function(item){ item.cleanGroup(s); });
- }
-
- // inner function for translating polylines to curves with tension
- function curve(arr, tension){
- var p=dojo.map(arr, function(item, i){
- if(i==0){ return "M" + item.x + "," + item.y; }
- var dx=item.x-arr[i-1].x, dy=arr[i-1].y;
- return "C"+(item.x-(tension-1)*(dx/tension))+","+dy+" "+(item.x-(dx/tension))+","+item.y+" "+item.x+","+item.y;
- });
- return p.join(" ");
- }
-
- var t = this.chart.theme, stroke, outline, color, marker;
- for(var i = this.series.length - 1; i >= 0; --i){
- var run = this.series[i];
- if(!this.dirty && !run.dirty){ continue; }
- run.cleanGroup();
- var s = run.group,
- lpoly = dojo.map(acc, function(v, i){
- return {
- x: this._hScaler.scale * (i + 1 - this._hScaler.bounds.lower) + offsets.l,
- y: dim.height - offsets.b - this._vScaler.scale * (v - this._vScaler.bounds.lower)
- };
- }, this);
- if(!run.fill || !run.stroke){
- // need autogenerated color
- color = new dojo.Color(t.next("color"));
- }
-
- var lpath="";
- if(this.opt.tension){
- lpath=curve(lpoly, this.opt.tension);
- }
-
- if(this.opt.areas){
- var apoly = dojo.clone(lpoly);
- var fill = run.fill ? run.fill : dc.augmentFill(t.series.fill, color);
- if(this.opt.tension){
- var p=curve(apoly, this.opt.tension);
- p += " L" + lpoly[lpoly.length-1].x + "," + (dim.height - offsets.b) + " "
- + "L" + lpoly[0].x + "," + (dim.height - offsets.b) + " "
- + "L" + lpoly[0].x + "," + lpoly[0].y;
- s.createPath(p).setFill(fill);
- } else {
- apoly.push({x: lpoly[lpoly.length - 1].x, y: dim.height - offsets.b});
- apoly.push({x: lpoly[0].x, y: dim.height - offsets.b});
- apoly.push(lpoly[0]);
- s.createPolyline(apoly).setFill(fill);
- }
- }
- if(this.opt.lines || this.opt.markers){
- // need a stroke
- stroke = run.stroke ? dc.makeStroke(run.stroke) : dc.augmentStroke(t.series.stroke, color);
- if(run.outline || t.series.outline){
- outline = dc.makeStroke(run.outline ? run.outline : t.series.outline);
- outline.width = 2 * outline.width + stroke.width;
- }
- }
- if(this.opt.markers){
- // need a marker
- marker = run.marker ? run.marker : t.next("marker");
- }
- if(this.opt.shadows && stroke){
- var sh = this.opt.shadows, shadowColor = new dojo.Color([0, 0, 0, 0.3]),
- spoly = dojo.map(lpoly, function(c){
- return {x: c.x + sh.dx, y: c.y + sh.dy};
- }),
- shadowStroke = dojo.clone(outline ? outline : stroke);
- shadowStroke.color = shadowColor;
- shadowStroke.width += sh.dw ? sh.dw : 0;
- if(this.opt.lines){
- if(this.opt.tension){
- s.createPath(curve(spoly, this.opt.tension)).setStroke(shadowStroke);
- } else {
- s.createPolyline(spoly).setStroke(shadowStroke);
- }
- }
- if(this.opt.markers){
- dojo.forEach(spoly, function(c){
- s.createPath("M" + c.x + " " + c.y + " " + marker).setStroke(shadowStroke).setFill(shadowColor);
- }, this);
- }
- }
- if(this.opt.lines){
- if(outline){
- if(this.opt.tension){
- s.createPath(lpath).setStroke(outline);
- } else {
- s.createPolyline(lpoly).setStroke(outline);
- }
- }
- if(this.opt.tension){
- s.createPath(lpath).setStroke(stroke);
- } else {
- s.createPolyline(lpoly).setStroke(stroke);
- }
- }
- if(this.opt.markers){
- dojo.forEach(lpoly, function(c){
- var path = "M" + c.x + " " + c.y + " " + marker;
- if(outline){
- s.createPath(path).setStroke(outline);
- }
- s.createPath(path).setStroke(stroke).setFill(stroke.color);
- }, this);
- }
- run.dirty = false;
- // update the accumulator
- for(var j = 0; j < run.data.length; ++j){
- var v = run.data[j];
- if(isNaN(v)){ v = 0; }
- acc[j] -= v;
- }
- }
- this.dirty = false;
- return this;
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/plot2d/StackedAreas.js b/includes/js/dojox/charting/plot2d/StackedAreas.js
deleted file mode 100644
index 7bfd255..0000000
--- a/includes/js/dojox/charting/plot2d/StackedAreas.js
+++ /dev/null
@@ -1,14 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.StackedAreas"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.StackedAreas"] = true;
-dojo.provide("dojox.charting.plot2d.StackedAreas");
-
-dojo.require("dojox.charting.plot2d.Stacked");
-
-dojo.declare("dojox.charting.plot2d.StackedAreas", dojox.charting.plot2d.Stacked, {
- constructor: function(){
- this.opt.lines = true;
- this.opt.areas = true;
- }
-});
-
-}
diff --git a/includes/js/dojox/charting/plot2d/StackedBars.js b/includes/js/dojox/charting/plot2d/StackedBars.js
deleted file mode 100644
index e5c9c22..0000000
--- a/includes/js/dojox/charting/plot2d/StackedBars.js
+++ /dev/null
@@ -1,85 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.StackedBars"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.StackedBars"] = true;
-dojo.provide("dojox.charting.plot2d.StackedBars");
-
-dojo.require("dojox.charting.plot2d.common");
-dojo.require("dojox.charting.plot2d.Bars");
-
-dojo.require("dojox.lang.functional");
-dojo.require("dojox.lang.functional.reversed");
-
-(function(){
- var df = dojox.lang.functional, dc = dojox.charting.plot2d.common,
- purgeGroup = df.lambda("item.purgeGroup()");
-
- dojo.declare("dojox.charting.plot2d.StackedBars", dojox.charting.plot2d.Bars, {
- calculateAxes: function(dim){
- var stats = dc.collectStackedStats(this.series), t;
- this._maxRunLength = stats.hmax;
- stats.hmin -= 0.5;
- stats.hmax += 0.5;
- t = stats.hmin, stats.hmin = stats.vmin, stats.vmin = t;
- t = stats.hmax, stats.hmax = stats.vmax, stats.vmax = t;
- this._calc(dim, stats);
- return this;
- },
- render: function(dim, offsets){
- // stack all values
- var acc = df.repeat(this._maxRunLength, "-> 0", 0);
- for(var i = 0; i < this.series.length; ++i){
- var run = this.series[i];
- for(var j = 0; j < run.data.length; ++j){
- var v = run.data[j];
- if(isNaN(v)){ v = 0; }
- acc[j] += v;
- }
- }
- // draw runs in backwards
- if(this.dirty){
- dojo.forEach(this.series, purgeGroup);
- this.cleanGroup();
- var s = this.group;
- df.forEachRev(this.series, function(item){ item.cleanGroup(s); });
- }
- var t = this.chart.theme, color, stroke, fill, f,
- gap = this.opt.gap < this._vScaler.scale / 3 ? this.opt.gap : 0;
- for(var i = this.series.length - 1; i >= 0; --i){
- var run = this.series[i];
- if(!this.dirty && !run.dirty){ continue; }
- run.cleanGroup();
- var s = run.group;
- if(!run.fill || !run.stroke){
- // need autogenerated color
- color = run.dyn.color = new dojo.Color(t.next("color"));
- }
- stroke = run.stroke ? run.stroke : dc.augmentStroke(t.series.stroke, color);
- fill = run.fill ? run.fill : dc.augmentFill(t.series.fill, color);
- for(var j = 0; j < acc.length; ++j){
- var v = acc[j],
- width = this._hScaler.scale * (v - this._hScaler.bounds.lower),
- height = this._vScaler.scale - 2 * gap;
- if(width >= 1 && height >= 1){
- var shape = s.createRect({
- x: offsets.l,
- y: dim.height - offsets.b - this._vScaler.scale * (j + 1.5 - this._vScaler.bounds.lower) + gap,
- width: width, height: height
- }).setFill(fill).setStroke(stroke);
- run.dyn.fill = shape.getFill();
- run.dyn.stroke = shape.getStroke();
- }
- }
- run.dirty = false;
- // update the accumulator
- for(var j = 0; j < run.data.length; ++j){
- var v = run.data[j];
- if(isNaN(v)){ v = 0; }
- acc[j] -= v;
- }
- }
- this.dirty = false;
- return this;
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/plot2d/StackedColumns.js b/includes/js/dojox/charting/plot2d/StackedColumns.js
deleted file mode 100644
index 15fd141..0000000
--- a/includes/js/dojox/charting/plot2d/StackedColumns.js
+++ /dev/null
@@ -1,83 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.StackedColumns"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.StackedColumns"] = true;
-dojo.provide("dojox.charting.plot2d.StackedColumns");
-
-dojo.require("dojox.charting.plot2d.common");
-dojo.require("dojox.charting.plot2d.Columns");
-
-dojo.require("dojox.lang.functional");
-dojo.require("dojox.lang.functional.reversed");
-
-(function(){
- var df = dojox.lang.functional, dc = dojox.charting.plot2d.common,
- purgeGroup = df.lambda("item.purgeGroup()");
-
- dojo.declare("dojox.charting.plot2d.StackedColumns", dojox.charting.plot2d.Columns, {
- calculateAxes: function(dim){
- var stats = dc.collectStackedStats(this.series);
- this._maxRunLength = stats.hmax;
- stats.hmin -= 0.5;
- stats.hmax += 0.5;
- this._calc(dim, stats);
- return this;
- },
- render: function(dim, offsets){
- // stack all values
- var acc = df.repeat(this._maxRunLength, "-> 0", 0);
- for(var i = 0; i < this.series.length; ++i){
- var run = this.series[i];
- for(var j = 0; j < run.data.length; ++j){
- var v = run.data[j];
- if(isNaN(v)){ v = 0; }
- acc[j] += v;
- }
- }
- // draw runs in backwards
- if(this.dirty){
- dojo.forEach(this.series, purgeGroup);
- this.cleanGroup();
- var s = this.group;
- df.forEachRev(this.series, function(item){ item.cleanGroup(s); });
- }
- var t = this.chart.theme, color, stroke, fill, f,
- gap = this.opt.gap < this._hScaler.scale / 3 ? this.opt.gap : 0;
- for(var i = this.series.length - 1; i >= 0; --i){
- var run = this.series[i];
- if(!this.dirty && !run.dirty){ continue; }
- run.cleanGroup();
- var s = run.group;
- if(!run.fill || !run.stroke){
- // need autogenerated color
- color = run.dyn.color = new dojo.Color(t.next("color"));
- }
- stroke = run.stroke ? run.stroke : dc.augmentStroke(t.series.stroke, color);
- fill = run.fill ? run.fill : dc.augmentFill(t.series.fill, color);
- for(var j = 0; j < acc.length; ++j){
- var v = acc[j],
- width = this._hScaler.scale - 2 * gap,
- height = this._vScaler.scale * (v - this._vScaler.bounds.lower);
- if(width >= 1 && height >= 1){
- var shape = s.createRect({
- x: offsets.l + this._hScaler.scale * (j + 0.5 - this._hScaler.bounds.lower) + gap,
- y: dim.height - offsets.b - this._vScaler.scale * (v - this._vScaler.bounds.lower),
- width: width, height: height
- }).setFill(fill).setStroke(stroke);
- run.dyn.fill = shape.getFill();
- run.dyn.stroke = shape.getStroke();
- }
- }
- run.dirty = false;
- // update the accumulator
- for(var j = 0; j < run.data.length; ++j){
- var v = run.data[j];
- if(isNaN(v)){ v = 0; }
- acc[j] -= v;
- }
- }
- this.dirty = false;
- return this;
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/plot2d/StackedLines.js b/includes/js/dojox/charting/plot2d/StackedLines.js
deleted file mode 100644
index 2581b85..0000000
--- a/includes/js/dojox/charting/plot2d/StackedLines.js
+++ /dev/null
@@ -1,13 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.StackedLines"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.StackedLines"] = true;
-dojo.provide("dojox.charting.plot2d.StackedLines");
-
-dojo.require("dojox.charting.plot2d.Stacked");
-
-dojo.declare("dojox.charting.plot2d.StackedLines", dojox.charting.plot2d.Stacked, {
- constructor: function(){
- this.opt.lines = true;
- }
-});
-
-}
diff --git a/includes/js/dojox/charting/plot2d/common.js b/includes/js/dojox/charting/plot2d/common.js
deleted file mode 100644
index de60020..0000000
--- a/includes/js/dojox/charting/plot2d/common.js
+++ /dev/null
@@ -1,113 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot2d.common"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot2d.common"] = true;
-dojo.provide("dojox.charting.plot2d.common");
-
-dojo.require("dojo.colors");
-dojo.require("dojox.gfx");
-dojo.require("dojox.lang.functional");
-
-(function(){
- var df = dojox.lang.functional, dc = dojox.charting.plot2d.common;
-
- dojo.mixin(dojox.charting.plot2d.common, {
- makeStroke: function(stroke){
- if(!stroke){ return stroke; }
- if(typeof stroke == "string" || stroke instanceof dojo.Color){
- stroke = {color: stroke};
- }
- return dojox.gfx.makeParameters(dojox.gfx.defaultStroke, stroke);
- },
- augmentColor: function(target, color){
- var t = new dojo.Color(target),
- c = new dojo.Color(color);
- c.a = t.a;
- return c;
- },
- augmentStroke: function(stroke, color){
- var s = dc.makeStroke(stroke);
- if(s){
- s.color = dc.augmentColor(s.color, color);
- }
- return s;
- },
- augmentFill: function(fill, color){
- var fc, c = new dojo.Color(color);
- if(typeof fill == "string" || fill instanceof dojo.Color){
- return dc.augmentColor(fill, color);
- }
- return fill;
- },
-
- defaultStats: {hmin: Number.POSITIVE_INFINITY, hmax: Number.NEGATIVE_INFINITY,
- vmin: Number.POSITIVE_INFINITY, vmax: Number.NEGATIVE_INFINITY},
-
- collectSimpleStats: function(series){
- var stats = dojo.clone(dc.defaultStats);
- for(var i = 0; i < series.length; ++i){
- var run = series[i];
- if(!run.data.length){ continue; }
- if(typeof run.data[0] == "number"){
- // 1D case
- var old_vmin = stats.vmin, old_vmax = stats.vmax;
- if(!("ymin" in run) || !("ymax" in run)){
- dojo.forEach(run.data, function(val, i){
- var x = i + 1, y = val;
- if(isNaN(y)){ y = 0; }
- stats.hmin = Math.min(stats.hmin, x);
- stats.hmax = Math.max(stats.hmax, x);
- stats.vmin = Math.min(stats.vmin, y);
- stats.vmax = Math.max(stats.vmax, y);
- });
- }
- if("ymin" in run){ stats.vmin = Math.min(old_vmin, run.ymin); }
- if("ymax" in run){ stats.vmax = Math.max(old_vmax, run.ymax); }
- }else{
- // 2D case
- var old_hmin = stats.hmin, old_hmax = stats.hmax,
- old_vmin = stats.vmin, old_vmax = stats.vmax;
- if(!("xmin" in run) || !("xmax" in run) || !("ymin" in run) || !("ymax" in run)){
- dojo.forEach(run.data, function(val, i){
- var x = val.x, y = val.y;
- if(isNaN(x)){ x = 0; }
- if(isNaN(y)){ y = 0; }
- stats.hmin = Math.min(stats.hmin, x);
- stats.hmax = Math.max(stats.hmax, x);
- stats.vmin = Math.min(stats.vmin, y);
- stats.vmax = Math.max(stats.vmax, y);
- });
- }
- if("xmin" in run){ stats.hmin = Math.min(old_hmin, run.xmin); }
- if("xmax" in run){ stats.hmax = Math.max(old_hmax, run.xmax); }
- if("ymin" in run){ stats.vmin = Math.min(old_vmin, run.ymin); }
- if("ymax" in run){ stats.vmax = Math.max(old_vmax, run.ymax); }
- }
- }
- return stats;
- },
-
- collectStackedStats: function(series){
- // collect statistics
- var stats = dojo.clone(dc.defaultStats);
- if(series.length){
- // 1st pass: find the maximal length of runs
- stats.hmin = Math.min(stats.hmin, 1);
- stats.hmax = df.foldl(series, "seed, run -> Math.max(seed, run.data.length)", stats.hmax);
- // 2nd pass: stack values
- for(var i = 0; i < stats.hmax; ++i){
- var v = series[0].data[i];
- if(isNaN(v)){ v = 0; }
- stats.vmin = Math.min(stats.vmin, v);
- for(var j = 1; j < series.length; ++j){
- var t = series[j].data[i];
- if(isNaN(t)){ t = 0; }
- v += t;
- }
- stats.vmax = Math.max(stats.vmax, v);
- }
- }
- return stats;
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/plot3d/Bars.js b/includes/js/dojox/charting/plot3d/Bars.js
deleted file mode 100644
index 8fbe67c..0000000
--- a/includes/js/dojox/charting/plot3d/Bars.js
+++ /dev/null
@@ -1,66 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot3d.Bars"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot3d.Bars"] = true;
-dojo.provide("dojox.charting.plot3d.Bars");
-
-dojo.require("dojox.charting.plot3d.Base");
-
-(function(){
-
- // reduce function borrowed from dojox.fun
- var reduce = function(/*Array*/ a, /*Function|String|Array*/ f, /*Object?*/ o){
- // summary: repeatedly applies a binary function to an array from left
- // to right; returns the final value.
- a = typeof a == "string" ? a.split("") : a; o = o || dojo.global;
- var z = a[0];
- for(var i = 1; i < a.length; z = f.call(o, z, a[i++]));
- return z; // Object
- };
-
- dojo.declare("dojox.charting.plot3d.Bars", dojox.charting.plot3d.Base, {
- constructor: function(width, height, kwArgs){
- this.depth = "auto";
- this.gap = 0;
- this.data = [];
- this.material = {type: "plastic", finish: "dull", color: "lime"};
- if(kwArgs){
- if("depth" in kwArgs){ this.depth = kwArgs.depth; }
- if("gap" in kwArgs){ this.gap = kwArgs.gap; }
- if("material" in kwArgs){
- var m = kwArgs.material;
- if(typeof m == "string" || m instanceof dojo.Color){
- this.material.color = m;
- }else{
- this.material = m;
- }
- }
- }
- },
- getDepth: function(){
- if(this.depth == "auto"){
- var w = this.width;
- if(this.data && this.data.length){
- w = w / this.data.length;
- }
- return w - 2 * this.gap;
- }
- return this.depth;
- },
- generate: function(chart, creator){
- if(!this.data){ return this; }
- var step = this.width / this.data.length, org = 0,
- depth = this.depth == "auto" ? step - 2 * this.gap : this.depth,
- scale = this.height / reduce(this.data, Math.max);
- if(!creator){ creator = chart.view; }
- for(var i = 0; i < this.data.length; ++i, org += step){
- creator
- .createCube({
- bottom: {x: org + this.gap, y: 0, z: 0},
- top: {x: org + step - this.gap, y: this.data[i] * scale, z: depth}
- })
- .setFill(this.material);
- }
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/plot3d/Base.js b/includes/js/dojox/charting/plot3d/Base.js
deleted file mode 100644
index 5ba5dc4..0000000
--- a/includes/js/dojox/charting/plot3d/Base.js
+++ /dev/null
@@ -1,23 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot3d.Base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot3d.Base"] = true;
-dojo.provide("dojox.charting.plot3d.Base");
-
-dojo.require("dojox.charting.Chart3D");
-
-dojo.declare("dojox.charting.plot3d.Base", null, {
- constructor: function(width, height, kwArgs){
- this.width = width;
- this.height = height;
- },
- setData: function(data){
- this.data = data ? data : [];
- return this;
- },
- getDepth: function(){
- return this.depth;
- },
- generate: function(chart, creator){
- }
-});
-
-}
diff --git a/includes/js/dojox/charting/plot3d/Cylinders.js b/includes/js/dojox/charting/plot3d/Cylinders.js
deleted file mode 100644
index 96433d4..0000000
--- a/includes/js/dojox/charting/plot3d/Cylinders.js
+++ /dev/null
@@ -1,69 +0,0 @@
-if(!dojo._hasResource["dojox.charting.plot3d.Cylinders"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.plot3d.Cylinders"] = true;
-dojo.provide("dojox.charting.plot3d.Cylinders");
-
-dojo.require("dojox.charting.plot3d.Base");
-
-(function(){
-
- // reduce function borrowed from dojox.fun
- var reduce = function(/*Array*/ a, /*Function|String|Array*/ f, /*Object?*/ o){
- // summary: repeatedly applies a binary function to an array from left
- // to right; returns the final value.
- a = typeof a == "string" ? a.split("") : a; o = o || dojo.global;
- var z = a[0];
- for(var i = 1; i < a.length; z = f.call(o, z, a[i++]));
- return z; // Object
- };
-
- dojo.declare("dojox.charting.plot3d.Cylinders", dojox.charting.plot3d.Base, {
- constructor: function(width, height, kwArgs){
- this.depth = "auto";
- this.gap = 0;
- this.data = [];
- this.material = {type: "plastic", finish: "shiny", color: "lime"};
- this.outline = null;
- if(kwArgs){
- if("depth" in kwArgs){ this.depth = kwArgs.depth; }
- if("gap" in kwArgs){ this.gap = kwArgs.gap; }
- if("material" in kwArgs){
- var m = kwArgs.material;
- if(typeof m == "string" || m instanceof dojo.Color){
- this.material.color = m;
- }else{
- this.material = m;
- }
- }
- if("outline" in kwArgs){ this.outline = kwArgs.outline; }
- }
- },
- getDepth: function(){
- if(this.depth == "auto"){
- var w = this.width;
- if(this.data && this.data.length){
- w = w / this.data.length;
- }
- return w - 2 * this.gap;
- }
- return this.depth;
- },
- generate: function(chart, creator){
- if(!this.data){ return this; }
- var step = this.width / this.data.length, org = 0,
- scale = this.height / reduce(this.data, Math.max);
- if(!creator){ creator = chart.view; }
- for(var i = 0; i < this.data.length; ++i, org += step){
- creator
- .createCylinder({
- center: {x: org + step / 2, y: 0, z: 0},
- radius: step / 2 - this.gap,
- height: this.data[i] * scale
- })
- .setTransform(dojox.gfx3d.matrix.rotateXg(-90))
- .setFill(this.material).setStroke(this.outline);
- }
- }
- });
-})();
-
-}
diff --git a/includes/js/dojox/charting/scaler.js b/includes/js/dojox/charting/scaler.js
deleted file mode 100644
index 8a3d091..0000000
--- a/includes/js/dojox/charting/scaler.js
+++ /dev/null
@@ -1,161 +0,0 @@
-if(!dojo._hasResource["dojox.charting.scaler"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.scaler"] = true;
-dojo.provide("dojox.charting.scaler");
-
-(function(){
- var deltaLimit = 3; // pixels
-
- var isText = function(val, text){
- val = val.toLowerCase();
- for(var i = 0; i < text.length; ++i){
- if(val == text[i]){ return true; }
- }
- return false;
- };
-
- var calcTicks = function(min, max, kwArgs, majorTick, minorTick, microTick, span){
- kwArgs = dojo.clone(kwArgs);
- if(!majorTick){
- if(kwArgs.fixUpper == "major"){ kwArgs.fixUpper = "minor"; }
- if(kwArgs.fixLower == "major"){ kwArgs.fixLower = "minor"; }
- }
- if(!minorTick){
- if(kwArgs.fixUpper == "minor"){ kwArgs.fixUpper = "micro"; }
- if(kwArgs.fixLower == "minor"){ kwArgs.fixLower = "micro"; }
- }
- if(!microTick){
- if(kwArgs.fixUpper == "micro"){ kwArgs.fixUpper = "none"; }
- if(kwArgs.fixLower == "micro"){ kwArgs.fixLower = "none"; }
- }
- var lowerBound = isText(kwArgs.fixLower, ["major"]) ?
- Math.floor(min / majorTick) * majorTick :
- isText(kwArgs.fixLower, ["minor"]) ?
- Math.floor(min / minorTick) * minorTick :
- isText(kwArgs.fixLower, ["micro"]) ?
- Math.floor(min / microTick) * unit : min,
- upperBound = isText(kwArgs.fixUpper, ["major"]) ?
- Math.ceil(max / majorTick) * majorTick :
- isText(kwArgs.fixUpper, ["minor"]) ?
- Math.ceil(max / minorTick) * minorTick :
- isText(kwArgs.fixUpper, ["unit"]) ?
- Math.ceil(max / unit) * unit : max,
- majorStart = (isText(kwArgs.fixLower, ["major"]) || !majorTick) ?
- lowerBound : Math.ceil(lowerBound / majorTick) * majorTick,
- minorStart = (isText(kwArgs.fixLower, ["major", "minor"]) || !minorTick) ?
- lowerBound : Math.ceil(lowerBound / minorTick) * minorTick,
- microStart = (isText(kwArgs.fixLower, ["major", "minor", "micro"]) || ! microTick) ?
- lowerBound : Math.ceil(lowerBound / microTick) * microTick,
- majorCount = !majorTick ? 0 : (isText(kwArgs.fixUpper, ["major"]) ?
- Math.round((upperBound - majorStart) / majorTick) :
- Math.floor((upperBound - majorStart) / majorTick)) + 1,
- minorCount = !minorTick ? 0 : (isText(kwArgs.fixUpper, ["major", "minor"]) ?
- Math.round((upperBound - minorStart) / minorTick) :
- Math.floor((upperBound - minorStart) / minorTick)) + 1,
- microCount = !microTick ? 0 : (isText(kwArgs.fixUpper, ["major", "minor", "micro"]) ?
- Math.round((upperBound - microStart) / microTick) :
- Math.floor((upperBound - microStart) / microTick)) + 1,
- minorPerMajor = minorTick ? Math.round(majorTick / minorTick) : 0,
- microPerMinor = microTick ? Math.round(minorTick / microTick) : 0,
- majorPrecision = majorTick ? Math.floor(Math.log(majorTick) / Math.LN10) : 0,
- minorPrecision = minorTick ? Math.floor(Math.log(minorTick) / Math.LN10) : 0,
- scale = span / (upperBound - lowerBound);
- if(!isFinite(scale)){ scale = 1; }
- return {
- bounds: {
- lower: lowerBound,
- upper: upperBound
- },
- major: {
- tick: majorTick,
- start: majorStart,
- count: majorCount,
- prec: majorPrecision
- },
- minor: {
- tick: minorTick,
- start: minorStart,
- count: minorCount,
- prec: minorPrecision
- },
- micro: {
- tick: microTick,
- start: microStart,
- count: microCount,
- prec: 0
- },
- minorPerMajor: minorPerMajor,
- microPerMinor: microPerMinor,
- scale: scale
- };
- };
-
- dojox.charting.scaler = function(min, max, span, kwArgs){
- var h = {fixUpper: "none", fixLower: "none", natural: false};
- if(kwArgs){
- if("fixUpper" in kwArgs){ h.fixUpper = String(kwArgs.fixUpper); }
- if("fixLower" in kwArgs){ h.fixLower = String(kwArgs.fixLower); }
- if("natural" in kwArgs){ h.natural = Boolean(kwArgs.natural); }
- }
-
- if(max <= min){
- return calcTicks(min, max, h, 0, 0, 0, span); // Object
- }
-
- var mag = Math.floor(Math.log(max - min) / Math.LN10),
- major = kwArgs && ("majorTick" in kwArgs) ? kwArgs.majorTick : Math.pow(10, mag),
- minor = 0, micro = 0, ticks;
-
- // calculate minor ticks
- if(kwArgs && ("minorTick" in kwArgs)){
- minor = kwArgs.minorTick;
- }else{
- do{
- minor = major / 10;
- if(!h.natural || minor > 0.9){
- ticks = calcTicks(min, max, h, major, minor, 0, span);
- if(ticks.scale * ticks.minor.tick > deltaLimit){ break; }
- }
- minor = major / 5;
- if(!h.natural || minor > 0.9){
- ticks = calcTicks(min, max, h, major, minor, 0, span);
- if(ticks.scale * ticks.minor.tick > deltaLimit){ break; }
- }
- minor = major / 2;
- if(!h.natural || minor > 0.9){
- ticks = calcTicks(min, max, h, major, minor, 0, span);
- if(ticks.scale * ticks.minor.tick > deltaLimit){ break; }
- }
- return calcTicks(min, max, h, major, 0, 0, span); // Object
- }while(false);
- }
-
- // calculate micro ticks
- if(kwArgs && ("microTick" in kwArgs)){
- micro = kwArgs.microTick;
- ticks = calcTicks(min, max, h, major, minor, micro, span);
- }else{
- do{
- micro = minor / 10;
- if(!h.natural || micro > 0.9){
- ticks = calcTicks(min, max, h, major, minor, micro, span);
- if(ticks.scale * ticks.micro.tick > deltaLimit){ break; }
- }
- micro = minor / 5;
- if(!h.natural || micro > 0.9){
- ticks = calcTicks(min, max, h, major, minor, micro, span);
- if(ticks.scale * ticks.micro.tick > deltaLimit){ break; }
- }
- micro = minor / 2;
- if(!h.natural || micro > 0.9){
- ticks = calcTicks(min, max, h, major, minor, micro, span);
- if(ticks.scale * ticks.micro.tick > deltaLimit){ break; }
- }
- micro = 0;
- }while(false);
- }
-
- return micro ? ticks : calcTicks(min, max, h, major, minor, 0, span); // Object
- };
-})();
-
-}
diff --git a/includes/js/dojox/charting/tests/Theme.js b/includes/js/dojox/charting/tests/Theme.js
deleted file mode 100644
index c30635c..0000000
--- a/includes/js/dojox/charting/tests/Theme.js
+++ /dev/null
@@ -1,71 +0,0 @@
-if(!dojo._hasResource["dojox.charting.tests.Theme"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.tests.Theme"] = true;
-dojo.provide("dojox.charting.tests.Theme");
-dojo.require("dojox.charting.Theme");
-dojo.require("dojox.charting.themes.PlotKit.blue");
-
-(function(){
- var dxc=dojox.charting;
- var blue=dxc.themes.PlotKit.blue;
- tests.register("dojox.charting.tests.Theme", [
- function testDefineColor(t){
- var args={ num:16, cache:false };
- blue.defineColors(args);
- var a=blue.colors;
- var s="<table border=1>";
- for(var i=0; i<a.length; i++){
- if(i%8==0){
- if(i>0) s+="</tr>";
- s+="<tr>";
- }
- s+='<td width=16 bgcolor='+a[i]+'>&nbsp;</td>';
- }
- s+="</tr></table>";
- doh.debug(s);
-
- var args={ num:32, cache: false };
- blue.defineColors(args);
- var a=blue.colors;
- var s="<table border=1 style=margin-top:12px;>";
- for(var i=0; i<a.length; i++){
- if(i%8==0){
- if(i>0) s+="</tr>";
- s+="<tr>";
- }
- s+='<td width=16 bgcolor='+a[i]+'>&nbsp;</td>';
- }
- s+="</tr></table>";
- doh.debug(s);
-
- var args={ saturation:20, num:32, cache:false };
- blue.defineColors(args);
- var a=blue.colors;
- var s="<table border=1 style=margin-top:12px;>";
- for(var i=0; i<a.length; i++){
- if(i%8==0){
- if(i>0) s+="</tr>";
- s+="<tr>";
- }
- s+='<td width=16 bgcolor='+a[i]+'>&nbsp;</td>';
- }
- s+="</tr></table>";
- doh.debug(s);
-
- var args={ low:10, high:90, num:32, cache: false };
- blue.defineColors(args);
- var a=blue.colors;
- var s="<table border=1 style=margin-top:12px;>";
- for(var i=0; i<a.length; i++){
- if(i%8==0){
- if(i>0) s+="</tr>";
- s+="<tr>";
- }
- s+='<td width=16 bgcolor='+a[i]+'>&nbsp;</td>';
- }
- s+="</tr></table>";
- doh.debug(s);
- }
- ]);
-})();
-
-}
diff --git a/includes/js/dojox/charting/tests/_color.js b/includes/js/dojox/charting/tests/_color.js
deleted file mode 100644
index df263df..0000000
--- a/includes/js/dojox/charting/tests/_color.js
+++ /dev/null
@@ -1,82 +0,0 @@
-if(!dojo._hasResource["dojox.charting.tests._color"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.tests._color"] = true;
-dojo.provide("dojox.charting.tests._color");
-dojo.require("dojox.charting._color");
-
-/*
- Note that there are some minor inaccuracies that
- can be introduced for comparison purposes; the
- formulae used in Photoshop may produce *slightly*
- different numbers. But numbers will be off by
- 1, if at all.
- */
-(function(){
- var dxc=dojox.charting;
- var rgb=[
- { r:0x4f, g:0xc8, b:0xd6 },
- { r:0x40, g:0x9e, b:0x02 },
- { r:0xff, g:0xfb, b:0x85 },
- { r:0x7b, g:0x5a, b:0x7d }
- ];
- var hsb=[
- { h:186, s:63, b: 84 },
- { h: 96, s:99, b: 62 },
- { h: 58, s:48, b:100 },
- { h:297, s:28, b: 49 }
- ];
- tests.register("dojox.charting.tests._util", [
- function testToHsb(t){
- var c=rgb[0];
- var oHsb=dxc._color.toHsb(c.r, c.g, c.b);
- t.assertEqual(hsb[0].h, oHsb.h);
- t.assertEqual(hsb[0].s, oHsb.s);
- t.assertEqual(hsb[0].b, oHsb.b);
-
- var c=rgb[1];
- var oHsb=dxc._color.toHsb(c.r, c.g, c.b);
- t.assertEqual(hsb[1].h, oHsb.h);
- t.assertEqual(hsb[1].s, oHsb.s);
- t.assertEqual(hsb[1].b, oHsb.b);
-
- var c=rgb[2];
- var oHsb=dxc._color.toHsb(c.r, c.g, c.b);
- t.assertEqual(hsb[2].h, oHsb.h);
- t.assertEqual(hsb[2].s, oHsb.s);
- t.assertEqual(hsb[2].b, oHsb.b);
-
- var c=rgb[3];
- var oHsb=dxc._color.toHsb(c.r, c.g, c.b);
- t.assertEqual(hsb[3].h, oHsb.h);
- t.assertEqual(hsb[3].s, oHsb.s);
- t.assertEqual(hsb[3].b, oHsb.b);
- },
-
- function testFromHsb(t){
- var c1=dxc._color.fromHsb(hsb[0].h, hsb[0].s, hsb[0].b);
- var c2=rgb[0];
- t.assertEqual(c1.r, c2.r);
- t.assertEqual(c1.g, c2.g);
- t.assertEqual(c1.b, c2.b);
-
- var c1=dxc._color.fromHsb(hsb[1].h, hsb[1].s, hsb[1].b);
- var c2=rgb[1];
- t.assertEqual(c1.r, c2.r);
- t.assertEqual(c1.g, c2.g);
- t.assertEqual(c1.b, c2.b);
-
- var c1=dxc._color.fromHsb(hsb[2].h, hsb[2].s, hsb[2].b);
- var c2=rgb[2];
- t.assertEqual(c1.r, c2.r);
- t.assertEqual(c1.g, c2.g);
- t.assertEqual(c1.b, c2.b);
-
- var c1=dxc._color.fromHsb(hsb[3].h, hsb[3].s, hsb[3].b);
- var c2=rgb[3];
- t.assertEqual(c1.r, c2.r);
- t.assertEqual(c1.g, c2.g);
- t.assertEqual(c1.b, c2.b);
- }
- ]);
-})();
-
-}
diff --git a/includes/js/dojox/charting/tests/charting.js b/includes/js/dojox/charting/tests/charting.js
deleted file mode 100644
index 500f354..0000000
--- a/includes/js/dojox/charting/tests/charting.js
+++ /dev/null
@@ -1,12 +0,0 @@
-if(!dojo._hasResource["dojox.charting.tests.charting"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.tests.charting"] = true;
-dojo.provide("dojox.charting.tests.charting");
-
-try{
- dojo.require("dojox.charting.tests._color");
- dojo.require("dojox.charting.tests.Theme");
-}catch(e){
- doh.debug(e);
-}
-
-}
diff --git a/includes/js/dojox/charting/tests/data/goog_prices.csv b/includes/js/dojox/charting/tests/data/goog_prices.csv
deleted file mode 100644
index 901a6d2..0000000
--- a/includes/js/dojox/charting/tests/data/goog_prices.csv
+++ /dev/null
@@ -1,796 +0,0 @@
-Date,Open,High,Low,Close,Volume,Adj Close
-2008-02-29,471.87,479.74,464.65,471.18,9425400,471.18
-2008-02-28,470.50,479.09,467.36,475.39,6586900,475.39
-2008-02-27,460.13,475.49,459.64,472.86,10121900,472.86
-2008-02-26,461.20,466.47,446.85,464.19,23287300,464.19
-2008-02-25,505.95,506.50,485.74,486.44,8350800,486.44
-2008-02-22,502.06,509.00,497.55,507.80,5515900,507.80
-2008-02-21,512.85,513.21,499.50,502.86,5677800,502.86
-2008-02-20,503.51,511.01,498.82,509.00,6662200,509.00
-2008-02-19,534.94,535.06,506.50,508.95,6350400,508.95
-2008-02-15,528.31,532.66,524.33,529.64,5240100,529.64
-2008-02-14,538.35,541.04,531.00,532.25,6476700,532.25
-2008-02-13,522.50,534.99,518.69,534.62,6624700,534.62
-2008-02-12,523.39,530.60,513.03,518.09,6662300,518.09
-2008-02-11,520.52,523.71,513.40,521.16,5826000,521.16
-2008-02-08,509.41,517.73,508.70,516.69,6828900,516.69
-2008-02-07,496.86,514.19,494.76,504.95,7928900,504.95
-2008-02-06,511.14,511.17,497.93,501.71,7636400,501.71
-2008-02-05,489.43,509.00,488.52,506.80,11203300,506.80
-2008-02-04,509.07,512.78,492.55,495.43,13157100,495.43
-2008-02-01,528.67,536.67,510.00,515.90,17600500,515.90
-2008-01-31,539.01,573.00,534.29,564.30,14871300,564.30
-2008-01-30,549.19,560.43,543.51,548.27,7939600,548.27
-2008-01-29,560.47,561.33,540.67,550.52,6283000,550.52
-2008-01-28,570.97,572.24,548.60,555.98,5816700,555.98
-2008-01-25,591.81,595.00,566.18,566.40,6966000,566.40
-2008-01-24,558.80,579.69,554.14,574.49,9400900,574.49
-2008-01-23,560.71,568.00,519.00,548.62,16965700,548.62
-2008-01-22,562.03,597.50,561.20,584.35,9501500,584.35
-2008-01-18,608.36,609.99,598.45,600.25,8539600,600.25
-2008-01-17,620.76,625.74,598.01,600.79,8216800,600.79
-2008-01-16,628.97,639.99,601.93,615.95,10560000,615.95
-2008-01-15,645.90,649.05,635.38,637.65,5568200,637.65
-2008-01-14,651.14,657.40,645.25,653.82,4447500,653.82
-2008-01-11,642.70,649.47,630.11,638.25,4977000,638.25
-2008-01-10,645.01,657.20,640.11,646.73,6334200,646.73
-2008-01-09,630.04,653.34,622.51,653.20,6739700,653.20
-2008-01-08,653.00,659.96,631.00,631.68,5339100,631.68
-2008-01-07,653.94,662.28,637.35,649.25,6403400,649.25
-2008-01-04,679.69,680.96,655.00,657.00,5359800,657.00
-2008-01-03,685.26,686.85,676.52,685.33,3252500,685.33
-2008-01-02,692.87,697.37,677.73,685.19,4306900,685.19
-2007-12-31,698.57,702.49,690.58,691.48,2376200,691.48
-2007-12-28,704.93,707.95,696.54,702.53,2562700,702.53
-2007-12-27,707.07,716.00,700.74,700.74,2942500,700.74
-2007-12-26,698.99,713.22,698.21,710.84,2530000,710.84
-2007-12-24,694.99,700.73,693.06,700.73,1628400,700.73
-2007-12-21,697.88,699.26,693.24,696.69,5382000,696.69
-2007-12-20,685.83,691.00,680.61,689.69,4422200,689.69
-2007-12-19,674.21,679.50,669.00,677.37,4421100,677.37
-2007-12-18,674.16,676.71,652.50,673.35,7166700,673.35
-2007-12-17,688.00,695.42,663.67,669.23,5486000,669.23
-2007-12-14,687.51,699.70,687.26,689.96,3673500,689.96
-2007-12-13,696.31,697.62,681.21,694.05,5040800,694.05
-2007-12-12,714.00,714.32,688.50,699.35,6159100,699.35
-2007-12-11,719.94,720.99,698.78,699.20,6139100,699.20
-2007-12-10,715.99,724.80,714.00,718.42,3856200,718.42
-2007-12-07,714.99,718.00,710.50,714.87,3852100,714.87
-2007-12-06,697.80,716.56,697.01,715.26,4909000,715.26
-2007-12-05,692.73,698.93,687.50,698.51,4209600,698.51
-2007-12-04,678.31,692.00,677.12,684.16,4231800,684.16
-2007-12-03,691.01,695.00,681.14,681.53,4325100,681.53
-2007-11-30,711.00,711.06,682.11,693.00,7895500,693.00
-2007-11-29,690.75,702.79,687.77,697.00,6208000,697.00
-2007-11-28,682.11,694.30,672.14,692.26,7916500,692.26
-2007-11-27,674.80,676.43,650.26,673.57,8904500,673.57
-2007-11-26,680.20,693.40,665.00,666.00,6790100,666.00
-2007-11-23,670.00,678.28,668.11,676.70,2738700,676.70
-2007-11-21,643.77,669.97,642.08,660.52,7013500,660.52
-2007-11-20,636.48,659.10,632.87,648.54,9840600,648.54
-2007-11-19,629.59,636.77,618.50,625.85,5527400,625.85
-2007-11-16,633.94,635.49,616.02,633.63,9042800,633.63
-2007-11-15,638.57,647.50,624.00,629.65,6967700,629.65
-2007-11-14,673.28,675.49,636.27,641.68,8094700,641.68
-2007-11-13,644.99,660.92,632.07,660.55,8426100,660.55
-2007-11-12,657.74,669.93,626.21,632.07,10227300,632.07
-2007-11-09,675.78,681.88,661.21,663.97,11388100,663.97
-2007-11-08,734.60,734.89,677.18,693.84,16512200,693.84
-2007-11-07,741.13,747.24,723.14,732.94,8252900,732.94
-2007-11-06,737.56,741.79,725.00,741.79,8436300,741.79
-2007-11-05,706.99,730.23,706.07,725.65,8883700,725.65
-2007-11-02,710.51,713.58,697.34,711.25,5841500,711.25
-2007-11-01,702.79,713.72,701.78,703.21,6527200,703.21
-2007-10-31,700.69,707.00,696.04,707.00,6876800,707.00
-2007-10-30,677.51,699.91,677.51,694.77,6900600,694.77
-2007-10-29,677.77,680.00,672.09,679.23,3066300,679.23
-2007-10-26,674.03,676.54,668.06,674.60,3353900,674.60
-2007-10-25,678.68,678.97,663.55,668.51,5795500,668.51
-2007-10-24,672.71,677.47,659.56,675.82,7404200,675.82
-2007-10-23,661.25,677.60,660.00,675.77,6793700,675.77
-2007-10-22,638.67,655.00,636.28,650.75,6664400,650.75
-2007-10-19,654.56,658.49,643.23,644.71,15789000,644.71
-2007-10-18,635.41,641.37,628.50,639.62,12289200,639.62
-2007-10-17,630.45,634.00,621.59,633.48,6030500,633.48
-2007-10-16,618.49,625.92,611.99,616.00,6025300,616.00
-2007-10-15,638.47,639.86,615.55,620.11,6943800,620.11
-2007-10-12,623.98,638.40,618.24,637.39,6823700,637.39
-2007-10-11,633.64,641.41,609.00,622.00,11799000,622.00
-2007-10-10,621.36,625.68,616.80,625.39,5385600,625.39
-2007-10-09,615.11,623.78,608.39,615.18,8767800,615.18
-2007-10-08,595.00,610.26,593.95,609.62,5028000,609.62
-2007-10-05,587.11,596.00,587.01,594.05,5068700,594.05
-2007-10-04,585.09,585.09,577.06,579.03,2986700,579.03
-2007-10-03,586.25,588.99,580.36,584.02,3879500,584.02
-2007-10-02,583.38,596.81,580.01,584.39,7067500,584.39
-2007-10-01,569.97,584.35,569.61,582.55,4711300,582.55
-2007-09-28,567.00,569.55,564.12,567.27,2639500,567.27
-2007-09-27,571.73,571.74,565.78,567.50,2056300,567.50
-2007-09-26,570.40,571.79,563.81,568.16,3346100,568.16
-2007-09-25,564.00,569.56,562.86,569.00,2730600,569.00
-2007-09-24,561.00,571.46,560.00,568.02,5297000,568.02
-2007-09-21,556.34,560.79,552.83,560.10,8011700,560.10
-2007-09-20,547.00,556.80,546.03,552.83,5525000,552.83
-2007-09-19,539.27,549.45,538.86,546.85,5526900,546.85
-2007-09-18,526.52,537.25,524.27,535.27,4215700,535.27
-2007-09-17,526.53,529.28,524.07,525.30,2197500,525.30
-2007-09-14,523.20,530.27,522.22,528.75,2764900,528.75
-2007-09-13,524.06,527.21,523.22,524.78,1891100,524.78
-2007-09-12,520.53,527.98,519.00,522.65,2986000,522.65
-2007-09-11,516.99,521.65,515.73,521.33,2703600,521.33
-2007-09-10,521.28,522.07,510.88,514.48,3225800,514.48
-2007-09-07,517.86,521.24,516.80,519.35,3663600,519.35
-2007-09-06,529.36,529.83,518.24,523.52,3625900,523.52
-2007-09-05,523.40,529.48,522.25,527.80,3312900,527.80
-2007-09-04,515.02,528.00,514.62,525.15,3693700,525.15
-2007-08-31,513.10,516.50,511.47,515.25,2977600,515.25
-2007-08-30,512.36,515.40,510.58,511.40,2651700,511.40
-2007-08-29,507.84,513.30,507.23,512.88,2549300,512.88
-2007-08-28,511.53,514.98,505.79,506.40,3273900,506.40
-2007-08-27,514.43,517.45,511.40,513.26,2325100,513.26
-2007-08-24,512.61,515.55,508.50,515.00,2472700,515.00
-2007-08-23,516.00,516.13,507.00,512.19,3076700,512.19
-2007-08-22,509.96,516.25,509.25,512.75,3252700,512.75
-2007-08-21,498.94,508.16,497.77,506.61,3610600,506.61
-2007-08-20,502.46,502.56,496.00,497.92,2697300,497.92
-2007-08-17,497.44,501.00,491.65,500.04,5479400,500.04
-2007-08-16,492.02,496.43,480.46,491.52,8645600,491.52
-2007-08-15,509.00,511.69,496.71,497.55,5409500,497.55
-2007-08-14,515.72,517.40,508.00,508.60,3633700,508.60
-2007-08-13,519.54,519.75,513.03,515.50,3179300,515.50
-2007-08-10,510.18,518.72,505.63,515.75,5875200,515.75
-2007-08-09,520.80,526.82,514.63,514.73,4846500,514.73
-2007-08-08,519.34,525.78,517.09,525.78,4068800,525.78
-2007-08-07,509.75,519.88,509.04,516.02,4264300,516.02
-2007-08-06,503.00,510.15,502.50,510.00,3651500,510.00
-2007-08-03,510.05,513.20,503.00,503.00,3176200,503.00
-2007-08-02,513.72,514.99,509.00,511.01,3154900,511.01
-2007-08-01,510.50,516.51,508.14,512.94,4421500,512.94
-2007-07-31,520.23,520.44,510.00,510.00,4270500,510.00
-2007-07-30,512.92,519.34,510.50,516.11,3963300,516.11
-2007-07-27,508.53,516.62,505.50,511.89,5509100,511.89
-2007-07-26,508.74,512.59,498.88,508.00,6883400,508.00
-2007-07-25,516.98,517.02,505.56,509.76,5545000,509.76
-2007-07-24,509.30,518.69,507.11,514.00,5572100,514.00
-2007-07-23,519.01,520.00,512.15,512.51,6356700,512.51
-2007-07-20,511.90,523.18,509.50,520.12,17772300,520.12
-2007-07-19,553.46,553.52,542.24,548.59,11127200,548.59
-2007-07-18,553.89,554.50,543.81,549.50,6080000,549.50
-2007-07-17,555.04,557.73,552.38,555.00,4328600,555.00
-2007-07-16,550.30,558.58,549.31,552.99,6599500,552.99
-2007-07-13,547.91,552.67,547.25,552.16,5237100,552.16
-2007-07-12,545.86,547.32,540.22,545.33,3441600,545.33
-2007-07-11,543.61,546.50,540.01,544.47,3309300,544.47
-2007-07-10,543.79,547.00,541.65,543.34,3856000,543.34
-2007-07-09,543.00,548.74,540.26,542.56,3729800,542.56
-2007-07-06,541.25,543.87,538.73,539.40,2747000,539.40
-2007-07-05,535.56,544.40,532.15,541.63,4942900,541.63
-2007-07-03,531.06,534.40,527.50,534.34,1871800,534.34
-2007-07-02,525.49,531.85,524.20,530.38,3487600,530.38
-2007-06-29,526.02,527.40,519.46,522.70,3880600,522.70
-2007-06-28,524.88,529.50,523.80,525.01,4168400,525.01
-2007-06-27,525.00,527.99,519.56,526.29,6123100,526.29
-2007-06-26,532.73,533.20,526.24,530.26,5689500,530.26
-2007-06-25,528.98,534.99,523.38,527.42,7925000,527.42
-2007-06-22,516.42,524.99,516.10,524.98,7203700,524.98
-2007-06-21,510.98,515.29,506.28,514.11,4409700,514.11
-2007-06-20,516.96,518.75,509.06,509.97,4338200,509.97
-2007-06-19,514.01,517.25,511.54,514.31,4355300,514.31
-2007-06-18,506.18,516.00,504.24,515.20,4835900,515.20
-2007-06-15,508.19,509.00,501.23,505.89,6174100,505.89
-2007-06-14,505.38,505.88,501.70,502.84,4621200,502.84
-2007-06-13,507.09,508.54,498.69,505.24,7034000,505.24
-2007-06-12,508.71,511.67,503.17,504.77,6419500,504.77
-2007-06-11,514.02,518.25,510.00,511.34,4647700,511.34
-2007-06-08,516.20,519.64,509.46,515.49,6358200,515.49
-2007-06-07,519.75,526.50,512.51,515.06,10630500,515.06
-2007-06-06,516.75,520.78,515.26,518.25,7886700,518.25
-2007-06-05,509.75,519.00,506.61,518.84,10447100,518.84
-2007-06-04,497.91,510.51,497.59,507.07,7101000,507.07
-2007-06-01,501.00,505.02,497.93,500.40,4799000,500.40
-2007-05-31,500.56,508.78,497.06,497.91,8924300,497.91
-2007-05-30,484.50,498.84,483.00,498.60,7245800,498.60
-2007-05-29,485.00,491.80,484.00,487.11,5218000,487.11
-2007-05-25,479.70,484.95,477.27,483.52,5348500,483.52
-2007-05-24,475.15,479.20,471.50,474.33,4173600,474.33
-2007-05-23,480.82,483.41,473.75,473.97,5060200,473.97
-2007-05-22,473.00,479.01,473.00,475.86,3839000,475.86
-2007-05-21,469.53,479.20,466.72,470.60,6159300,470.60
-2007-05-18,472.03,472.70,469.75,470.32,3695900,470.32
-2007-05-17,472.46,475.22,470.81,470.96,4660600,470.96
-2007-05-16,462.00,473.14,459.02,472.61,6554200,472.61
-2007-05-15,461.96,462.54,457.41,458.00,4119000,458.00
-2007-05-14,465.48,467.51,460.00,461.78,3872700,461.78
-2007-05-11,461.83,467.00,461.00,466.74,2944100,466.74
-2007-05-10,467.04,469.49,461.02,461.47,3686300,461.47
-2007-05-09,466.15,471.73,463.88,469.25,3889900,469.25
-2007-05-08,466.13,468.17,464.73,466.81,2905100,466.81
-2007-05-07,472.14,472.82,466.47,467.27,3020100,467.27
-2007-05-04,470.12,474.84,465.88,471.12,3950000,471.12
-2007-05-03,466.22,474.07,465.29,473.23,3594200,473.23
-2007-05-02,468.65,471.08,465.73,465.78,3062700,465.78
-2007-05-01,472.19,472.81,464.17,469.00,3658200,469.00
-2007-04-30,479.15,481.35,471.38,471.38,3641200,471.38
-2007-04-27,480.07,482.40,478.33,479.01,2925700,479.01
-2007-04-26,478.10,484.45,477.11,481.18,4124900,481.18
-2007-04-25,480.00,481.37,476.11,477.99,3966800,477.99
-2007-04-24,478.61,479.98,475.55,477.53,3694700,477.53
-2007-04-23,480.10,485.00,478.26,479.08,5674600,479.08
-2007-04-20,490.52,492.50,482.02,482.48,12161500,482.48
-2007-04-19,474.50,481.95,469.59,471.65,11009600,471.65
-2007-04-18,471.26,479.90,469.53,476.01,5670500,476.01
-2007-04-17,473.80,476.39,471.60,472.80,3210100,472.80
-2007-04-16,468.46,476.99,468.15,474.27,5077900,474.27
-2007-04-13,468.45,468.77,463.36,466.29,2794800,466.29
-2007-04-12,464.00,468.00,462.24,467.39,2707900,467.39
-2007-04-11,466.06,469.40,462.61,464.53,3812000,464.53
-2007-04-10,467.09,470.79,465.16,466.50,2979300,466.50
-2007-04-09,472.98,473.00,465.59,468.21,3062100,468.21
-2007-04-05,471.30,472.09,469.62,471.51,2715800,471.51
-2007-04-04,472.14,473.00,469.58,471.02,3778800,471.02
-2007-04-03,464.05,474.25,464.00,472.60,6501800,472.60
-2007-04-02,457.76,458.53,452.12,458.53,3448500,458.53
-2007-03-30,462.10,463.40,456.14,458.16,3380200,458.16
-2007-03-29,464.55,466.00,455.00,460.92,3988500,460.92
-2007-03-28,461.87,465.44,460.15,461.88,4591600,461.88
-2007-03-27,463.55,465.23,460.34,463.62,3741200,463.62
-2007-03-26,460.55,465.00,455.62,465.00,4710300,465.00
-2007-03-23,461.45,463.39,457.08,461.83,4111300,461.83
-2007-03-22,455.61,462.17,452.53,462.04,5680700,462.04
-2007-03-21,445.30,456.57,445.21,456.55,5798300,456.55
-2007-03-20,445.79,447.60,443.60,445.28,3421500,445.28
-2007-03-19,443.25,448.50,440.63,447.23,5197700,447.23
-2007-03-16,445.65,446.70,439.89,440.85,5659100,440.85
-2007-03-15,447.86,449.82,443.94,446.19,3944200,446.19
-2007-03-14,443.23,448.66,439.00,448.00,8016900,448.00
-2007-03-13,450.11,451.93,442.83,443.03,6377300,443.03
-2007-03-12,452.57,455.25,451.11,454.75,3465400,454.75
-2007-03-09,458.00,458.40,450.10,452.96,4977700,452.96
-2007-03-08,459.22,465.50,454.10,454.72,5362800,454.72
-2007-03-07,462.69,463.14,454.29,455.64,6534100,455.64
-2007-03-06,447.47,459.00,447.38,457.55,7533700,457.55
-2007-03-05,437.02,445.50,437.00,440.95,6355100,440.95
-2007-03-02,445.11,448.70,438.68,438.68,6583600,438.68
-2007-03-01,442.67,452.42,440.00,448.23,8685200,448.23
-2007-02-28,450.41,453.67,443.04,449.45,8032300,449.45
-2007-02-27,455.00,459.80,447.17,448.77,9312800,448.77
-2007-02-26,472.83,475.25,463.75,464.93,3969900,464.93
-2007-02-23,475.75,476.95,467.80,470.62,3882600,470.62
-2007-02-22,478.69,484.24,474.39,475.85,5743900,475.85
-2007-02-21,469.84,478.68,467.74,475.86,5640600,475.86
-2007-02-20,468.47,472.75,464.71,472.10,4067600,472.10
-2007-02-16,462.80,470.15,462.06,469.94,6177000,469.94
-2007-02-15,466.00,466.13,460.72,461.47,4042400,461.47
-2007-02-14,460.00,469.13,459.22,465.93,5698800,465.93
-2007-02-13,459.15,462.78,457.26,459.10,4062600,459.10
-2007-02-12,460.68,462.39,455.02,458.29,5754500,458.29
-2007-02-09,471.65,472.68,461.50,461.89,4858600,461.89
-2007-02-08,468.05,473.75,465.15,471.03,4076700,471.03
-2007-02-07,473.82,474.35,468.78,470.01,4119800,470.01
-2007-02-06,468.10,473.30,467.26,471.48,5321900,471.48
-2007-02-05,477.50,478.00,466.19,467.16,7206900,467.16
-2007-02-02,482.61,485.00,477.81,481.50,6286500,481.50
-2007-02-01,506.00,506.01,481.53,481.75,15658700,481.75
-2007-01-31,496.49,505.00,495.51,501.50,12206100,501.50
-2007-01-30,494.00,498.00,491.22,494.32,4180500,494.32
-2007-01-29,498.00,498.75,490.50,492.47,4775700,492.47
-2007-01-26,490.93,497.90,487.03,495.84,5496500,495.84
-2007-01-25,501.00,504.50,485.66,488.09,6368500,488.09
-2007-01-24,484.45,499.54,483.29,499.07,6059300,499.07
-2007-01-23,480.79,484.75,477.29,479.05,4665500,479.05
-2007-01-22,492.50,492.65,478.50,480.84,5404300,480.84
-2007-01-19,487.98,490.76,486.74,489.75,4978300,489.75
-2007-01-18,494.52,496.48,487.43,487.83,5932000,487.83
-2007-01-17,503.39,507.77,494.38,497.28,6699100,497.28
-2007-01-16,507.55,513.00,503.30,504.28,7568900,504.28
-2007-01-12,501.99,505.00,500.00,505.00,4473700,505.00
-2007-01-11,497.20,501.75,496.18,499.72,7208200,499.72
-2007-01-10,484.43,493.55,482.04,489.46,5968500,489.46
-2007-01-09,485.45,488.25,481.20,485.50,5381400,485.50
-2007-01-08,487.69,489.87,482.20,483.58,4754400,483.58
-2007-01-05,482.50,487.50,478.11,487.19,6872100,487.19
-2007-01-04,469.00,483.95,468.35,483.26,7887600,483.26
-2007-01-03,466.00,476.66,461.11,467.59,7706500,467.59
-2006-12-29,462.10,464.47,459.86,460.48,2559200,460.48
-2006-12-28,467.12,468.58,462.25,462.56,3116200,462.56
-2006-12-27,460.00,468.08,459.10,468.03,4231500,468.03
-2006-12-26,456.52,459.47,454.59,457.53,2074300,457.53
-2006-12-22,457.50,458.64,452.73,455.58,3988300,455.58
-2006-12-21,464.18,465.25,452.34,456.20,6953300,456.20
-2006-12-20,470.00,471.50,462.33,462.90,4367800,462.90
-2006-12-19,461.72,469.31,458.50,468.63,6587000,468.63
-2006-12-18,482.51,482.74,460.72,462.80,8016600,462.80
-2006-12-15,482.64,484.11,479.84,480.30,5190800,480.30
-2006-12-14,480.25,483.75,477.26,482.12,4748900,482.12
-2006-12-13,484.69,485.50,477.02,478.99,4662100,478.99
-2006-12-12,483.85,486.36,480.28,481.78,4181000,481.78
-2006-12-11,484.92,488.90,483.80,483.93,3263400,483.93
-2006-12-08,481.94,488.60,480.00,484.11,3974900,484.11
-2006-12-07,490.23,491.80,482.42,482.64,4664300,482.64
-2006-12-06,486.96,492.40,484.52,488.71,4450300,488.71
-2006-12-05,487.40,489.44,484.89,487.00,4103000,487.00
-2006-12-04,483.00,487.43,479.35,484.85,4899900,484.85
-2006-12-01,485.98,488.39,478.50,480.80,5631400,480.80
-2006-11-30,484.19,490.40,481.55,484.81,5577500,484.81
-2006-11-29,494.24,494.74,482.25,484.65,6315300,484.65
-2006-11-28,481.13,489.86,477.03,489.50,7797600,489.50
-2006-11-27,501.37,501.78,484.75,484.75,7324700,484.75
-2006-11-24,504.50,507.50,504.00,505.00,1732700,505.00
-2006-11-22,510.97,513.00,505.78,508.01,4500700,508.01
-2006-11-21,496.54,510.00,495.83,509.65,8427500,509.65
-2006-11-20,498.40,498.40,492.65,495.05,5124500,495.05
-2006-11-17,493.25,499.66,493.00,498.79,5511000,498.79
-2006-11-16,495.00,497.68,492.56,495.90,5092600,495.90
-2006-11-15,493.43,499.85,491.93,491.93,8370700,491.93
-2006-11-14,480.70,489.95,480.50,489.30,7223400,489.30
-2006-11-13,474.90,481.17,474.14,481.03,4341900,481.03
-2006-11-10,473.78,474.72,470.29,473.55,2796700,473.55
-2006-11-09,476.50,479.49,471.86,472.63,4879200,472.63
-2006-11-08,470.35,481.74,468.60,475.00,7965000,475.00
-2006-11-07,476.95,479.02,471.77,472.57,4897100,472.57
-2006-11-06,473.77,479.66,472.33,476.95,4991500,476.95
-2006-11-03,472.23,473.75,465.06,471.80,4907700,471.80
-2006-11-02,467.50,473.73,466.38,469.91,5236700,469.91
-2006-11-01,478.76,479.13,465.26,467.50,5426300,467.50
-2006-10-31,478.06,482.16,473.84,476.39,6285400,476.39
-2006-10-30,474.82,480.46,470.01,476.57,6563100,476.57
-2006-10-27,483.90,485.24,472.49,475.20,6604000,475.20
-2006-10-26,487.68,491.96,484.20,485.10,7031700,485.10
-2006-10-25,477.49,488.50,475.11,486.60,9187500,486.60
-2006-10-24,476.28,477.86,471.41,473.31,8660200,473.31
-2006-10-23,462.28,484.64,460.37,480.78,15104500,480.78
-2006-10-20,458.99,460.10,453.59,459.67,11647900,459.67
-2006-10-19,420.23,429.50,419.57,426.06,11503500,426.06
-2006-10-18,422.99,424.75,417.50,419.31,6017300,419.31
-2006-10-17,420.30,423.75,416.70,420.64,5211000,420.64
-2006-10-16,427.70,429.20,421.34,421.75,4319400,421.75
-2006-10-13,427.76,429.50,425.56,427.30,3622500,427.30
-2006-10-12,428.56,429.68,424.00,427.44,4844000,427.44
-2006-10-11,425.02,429.91,423.76,426.50,5635400,426.50
-2006-10-10,431.56,437.85,422.39,426.65,9788600,426.65
-2006-10-09,424.80,431.95,423.42,429.00,7583300,429.00
-2006-10-06,410.22,421.91,409.75,420.50,7336500,420.50
-2006-10-05,414.70,418.24,410.86,411.81,5789800,411.81
-2006-10-04,404.97,415.77,403.05,415.70,6661800,415.70
-2006-10-03,401.29,406.46,398.19,404.04,5464700,404.04
-2006-10-02,401.90,406.00,400.80,401.44,3651900,401.44
-2006-09-29,405.13,405.62,401.41,401.90,3310900,401.90
-2006-09-28,404.08,406.98,400.54,403.58,5107400,403.58
-2006-09-27,406.30,411.22,402.37,402.92,5876700,402.92
-2006-09-26,405.50,407.68,401.77,406.87,5289400,406.87
-2006-09-25,405.58,409.45,402.50,403.98,5737300,403.98
-2006-09-22,404.98,407.45,401.36,403.78,4649600,403.78
-2006-09-21,400.30,408.45,399.86,406.85,10692100,406.85
-2006-09-20,407.10,407.39,394.62,397.00,9147800,397.00
-2006-09-19,415.46,415.49,392.74,403.81,14292900,403.81
-2006-09-18,410.00,418.69,409.47,414.69,7106700,414.69
-2006-09-15,407.48,410.05,406.74,409.88,7838200,409.88
-2006-09-14,404.30,406.28,401.93,403.98,5366100,403.98
-2006-09-13,395.15,406.76,395.10,406.57,9768200,406.57
-2006-09-12,385.00,392.73,384.88,391.90,5442200,391.90
-2006-09-11,378.26,384.69,377.77,384.09,4529200,384.09
-2006-09-08,376.72,380.79,376.72,377.85,3083400,377.85
-2006-09-07,379.39,381.75,377.40,378.49,3842000,378.49
-2006-09-06,382.10,383.19,379.66,380.14,3724100,380.14
-2006-09-05,379.87,385.40,377.44,384.36,4074300,384.36
-2006-09-01,380.99,381.28,377.19,378.60,2672900,378.60
-2006-08-31,381.49,382.15,378.20,378.53,2959900,378.53
-2006-08-30,379.21,384.65,378.51,380.75,4044400,380.75
-2006-08-29,380.78,382.32,377.20,378.95,4460000,378.95
-2006-08-28,375.61,380.95,375.00,380.95,4164000,380.95
-2006-08-25,373.08,375.32,372.50,373.26,2466700,373.26
-2006-08-24,374.44,376.40,372.26,373.73,3482500,373.73
-2006-08-23,377.64,378.27,372.66,373.43,3642300,373.43
-2006-08-22,377.73,379.26,374.84,378.29,4164100,378.29
-2006-08-21,378.10,379.00,375.22,377.30,4023300,377.30
-2006-08-18,386.31,387.09,380.75,383.36,4952200,383.36
-2006-08-17,386.39,390.00,383.92,385.80,5080200,385.80
-2006-08-16,383.48,388.45,382.12,387.72,5853200,387.72
-2006-08-15,374.11,381.67,372.60,380.97,6698200,380.97
-2006-08-14,371.50,375.13,368.67,369.43,4968300,369.43
-2006-08-11,374.40,375.28,368.00,368.50,3766500,368.50
-2006-08-10,373.88,377.67,372.46,374.20,4261900,374.20
-2006-08-09,382.80,384.68,376.36,376.94,4311000,376.94
-2006-08-08,382.82,384.50,379.09,381.00,5743200,381.00
-2006-08-07,371.50,379.73,371.15,377.95,3946900,377.95
-2006-08-04,379.56,380.68,371.75,373.85,5095200,373.85
-2006-08-03,364.98,377.91,363.36,375.39,6327000,375.39
-2006-08-02,375.60,377.17,365.20,367.23,7097800,367.23
-2006-08-01,385.11,385.77,375.51,375.51,5463200,375.51
-2006-07-31,388.00,389.17,383.31,386.60,4595300,386.60
-2006-07-28,382.00,389.56,381.73,388.12,4083600,388.12
-2006-07-27,387.37,387.49,377.95,382.40,5641100,382.40
-2006-07-26,388.20,391.91,383.00,385.50,5531900,385.50
-2006-07-25,385.02,391.31,383.80,389.36,5761100,389.36
-2006-07-24,392.82,393.89,381.21,390.90,8086100,390.90
-2006-07-21,386.14,391.75,377.69,390.11,11754600,390.11
-2006-07-20,404.28,404.44,385.66,387.12,12538700,387.12
-2006-07-19,395.01,401.14,394.66,399.00,8518500,399.00
-2006-07-18,409.75,410.57,397.74,403.05,8536800,403.05
-2006-07-17,404.63,411.00,403.72,407.89,5811900,407.89
-2006-07-14,410.33,411.49,398.61,403.50,7552100,403.50
-2006-07-13,414.00,418.34,406.83,408.83,6924500,408.83
-2006-07-12,422.09,422.74,416.73,417.25,4906700,417.25
-2006-07-11,418.51,425.05,413.03,424.56,5971300,424.56
-2006-07-10,423.44,425.23,416.38,418.20,4436400,418.20
-2006-07-07,426.05,427.89,415.88,420.45,6041900,420.45
-2006-07-06,423.38,425.38,421.98,423.19,3687100,423.19
-2006-07-05,421.52,422.80,415.64,421.46,4985600,421.46
-2006-07-03,420.04,423.77,419.45,423.20,2156700,423.20
-2006-06-30,415.60,419.33,412.33,419.33,6258000,419.33
-2006-06-29,407.99,418.20,405.82,417.81,6658200,417.81
-2006-06-28,404.01,406.48,401.13,406.11,3710500,406.11
-2006-06-27,405.71,408.00,401.01,402.32,4107100,402.32
-2006-06-26,406.75,408.30,403.25,404.22,3551200,404.22
-2006-06-23,402.76,409.75,400.74,404.86,5314800,404.86
-2006-06-22,401.58,406.00,388.00,399.95,5911900,399.95
-2006-06-21,391.06,404.00,389.75,402.13,8744400,402.13
-2006-06-20,388.03,391.87,386.51,387.17,4039900,387.17
-2006-06-19,390.85,394.80,386.98,388.14,7633100,388.14
-2006-06-16,389.10,390.93,388.00,390.70,5304600,390.70
-2006-06-15,386.62,392.25,383.00,391.00,6785700,391.00
-2006-06-14,389.83,391.10,378.52,384.39,7772000,384.39
-2006-06-13,380.90,387.00,378.12,386.52,7659100,386.52
-2006-06-12,388.34,390.49,381.00,381.54,5019100,381.54
-2006-06-09,392.19,395.43,385.35,386.57,6157500,386.57
-2006-06-08,387.75,394.27,378.59,393.30,10359500,393.30
-2006-06-07,393.24,394.86,386.50,386.51,8911300,386.51
-2006-06-06,376.58,390.00,376.30,389.99,10259800,389.99
-2006-06-05,376.18,381.45,374.15,374.44,5558500,374.44
-2006-06-02,386.84,387.08,377.45,379.44,6386400,379.44
-2006-06-01,373.54,382.99,371.60,382.62,6278000,382.62
-2006-05-31,373.80,378.25,366.78,371.82,7981300,371.82
-2006-05-30,378.28,381.00,371.45,371.94,4316000,371.94
-2006-05-26,384.55,385.88,380.03,381.35,3667000,381.35
-2006-05-25,379.08,383.00,372.31,382.99,8194600,382.99
-2006-05-24,377.35,383.44,371.61,381.25,9553800,381.25
-2006-05-23,374.21,383.88,373.56,375.58,8983000,375.58
-2006-05-22,367.85,373.03,365.25,370.95,8604400,370.95
-2006-05-19,373.28,374.50,360.57,370.02,11398200,370.02
-2006-05-18,378.78,381.81,370.71,370.99,5835000,370.99
-2006-05-17,370.61,379.84,370.22,374.50,10643800,374.50
-2006-05-16,375.99,376.86,369.89,371.30,6491100,371.30
-2006-05-15,375.93,380.15,368.25,376.20,8590100,376.20
-2006-05-12,383.54,384.87,373.55,374.13,10087600,374.13
-2006-05-11,403.42,404.71,384.98,387.00,8892800,387.00
-2006-05-10,408.31,411.71,401.86,402.98,6187200,402.98
-2006-05-09,395.70,409.00,393.75,408.80,9140600,408.80
-2006-05-08,395.11,397.12,390.05,394.78,5118600,394.78
-2006-05-05,397.60,400.68,391.78,394.30,6065000,394.30
-2006-05-04,395.03,398.87,392.21,394.75,4652000,394.75
-2006-05-03,396.35,401.50,390.88,394.17,8072200,394.17
-2006-05-02,401.08,402.49,388.40,394.80,13104300,394.80
-2006-05-01,418.47,419.44,398.55,398.90,10361200,398.90
-2006-04-28,418.63,425.73,416.30,417.94,7421300,417.94
-2006-04-27,422.91,426.91,419.39,420.03,8337900,420.03
-2006-04-26,427.74,430.04,423.53,425.97,7277800,425.97
-2006-04-25,439.63,441.04,426.00,427.16,9569000,427.16
-2006-04-24,439.40,444.70,436.52,440.50,8836400,440.50
-2006-04-21,448.90,450.72,436.17,437.10,22551300,437.10
-2006-04-20,411.01,416.00,408.20,415.00,12271500,415.00
-2006-04-19,412.57,413.64,406.73,410.50,6781700,410.50
-2006-04-18,407.93,409.83,401.50,404.24,8137600,404.24
-2006-04-17,403.45,412.50,400.84,406.82,8259500,406.82
-2006-04-13,408.63,409.76,400.50,402.16,6552900,402.16
-2006-04-12,409.00,411.33,405.19,408.95,6017000,408.95
-2006-04-11,416.42,419.10,406.22,409.66,11107200,409.66
-2006-04-10,407.08,417.17,405.25,416.38,9320100,416.38
-2006-04-07,412.41,412.85,404.02,406.16,7025900,406.16
-2006-04-06,406.49,413.89,405.43,411.18,8598500,411.18
-2006-04-05,408.20,414.57,402.82,407.99,13410500,407.99
-2006-04-04,389.90,404.90,388.14,404.34,15715700,404.34
-2006-04-03,389.53,392.47,387.93,389.70,8122700,389.70
-2006-03-31,388.74,391.87,384.03,390.00,36521400,390.00
-2006-03-30,389.19,393.50,383.61,388.44,14711700,388.44
-2006-03-29,379.94,399.00,379.51,394.98,19027500,394.98
-2006-03-28,371.71,377.86,371.17,377.20,8945800,377.20
-2006-03-27,367.09,371.71,365.00,369.69,7023700,369.69
-2006-03-24,368.62,370.09,362.51,365.80,15180600,365.80
-2006-03-23,342.35,345.75,340.20,341.89,7434700,341.89
-2006-03-22,339.75,344.10,337.50,340.22,7596000,340.22
-2006-03-21,350.01,351.66,339.08,339.92,9831100,339.92
-2006-03-20,342.34,350.09,341.54,348.19,10407600,348.19
-2006-03-17,338.80,341.78,334.93,339.79,8551700,339.79
-2006-03-16,348.61,348.75,337.90,338.77,10016700,338.77
-2006-03-15,350.77,352.30,340.53,344.50,12768800,344.50
-2006-03-14,337.14,352.37,332.62,351.16,18450700,351.16
-2006-03-13,340.93,346.10,335.45,337.06,13642400,337.06
-2006-03-10,343.50,344.50,331.55,337.50,19325600,337.50
-2006-03-09,355.39,358.53,341.50,343.00,13910400,343.00
-2006-03-08,353.93,360.03,350.54,353.88,11745600,353.88
-2006-03-07,365.02,368.45,358.15,364.45,10378800,364.45
-2006-03-06,380.91,383.40,367.14,368.10,8939700,368.10
-2006-03-03,384.30,387.24,375.76,378.18,11962000,378.18
-2006-03-02,364.28,381.10,362.20,376.45,18330300,376.45
-2006-03-01,368.56,369.45,361.30,364.80,12061200,364.80
-2006-02-28,393.20,397.54,338.51,362.62,39437600,362.62
-2006-02-27,381.27,391.70,380.28,390.38,10212200,390.38
-2006-02-24,377.30,380.07,373.49,377.40,6484300,377.40
-2006-02-23,365.61,381.24,365.39,378.07,12551600,378.07
-2006-02-22,367.15,368.95,363.86,365.49,6476200,365.49
-2006-02-21,366.44,373.54,365.11,366.59,8686000,366.59
-2006-02-17,369.86,372.14,363.62,368.75,14320200,368.75
-2006-02-16,345.67,367.00,344.49,366.46,21315500,366.46
-2006-02-15,341.27,346.00,337.83,342.38,12947000,342.38
-2006-02-14,345.33,351.69,342.40,343.32,14654000,343.32
-2006-02-13,346.64,350.60,341.89,345.70,19717800,345.70
-2006-02-10,361.95,364.50,353.14,362.61,15223500,362.61
-2006-02-09,371.20,374.40,356.11,358.77,11912400,358.77
-2006-02-08,368.48,370.69,354.67,369.08,20804100,369.08
-2006-02-07,382.99,383.70,363.35,367.92,16630200,367.92
-2006-02-06,385.31,389.90,379.56,385.10,8940400,385.10
-2006-02-03,393.62,393.90,372.57,381.55,18281800,381.55
-2006-02-02,403.82,406.50,395.98,396.04,11807700,396.04
-2006-02-01,389.03,402.00,387.52,401.78,27122500,401.78
-2006-01-31,430.57,439.60,423.97,432.66,22066000,432.66
-2006-01-30,429.23,433.28,425.00,426.82,8588900,426.82
-2006-01-27,435.00,438.22,428.98,433.49,8452200,433.49
-2006-01-26,439.54,439.99,423.56,434.27,12926100,434.27
-2006-01-25,451.26,454.23,429.22,433.00,18739800,433.00
-2006-01-24,436.03,444.95,434.48,443.03,15464600,443.03
-2006-01-23,407.38,428.39,405.73,427.50,22741400,427.50
-2006-01-20,438.70,440.03,394.74,399.46,41116700,399.46
-2006-01-19,451.17,453.49,433.00,436.45,14537300,436.45
-2006-01-18,447.30,457.36,443.25,444.91,20485700,444.91
-2006-01-17,463.06,469.90,462.53,467.11,8270300,467.11
-2006-01-13,464.31,466.89,461.61,466.25,7656600,466.25
-2006-01-12,473.72,474.99,461.50,463.63,10125300,463.63
-2006-01-11,471.27,475.11,469.18,471.63,9007400,471.63
-2006-01-10,464.42,470.25,462.04,469.76,9097100,469.76
-2006-01-09,466.41,473.40,460.94,466.90,12791900,466.90
-2006-01-06,456.87,470.50,453.24,465.66,17756900,465.66
-2006-01-05,446.00,451.55,441.50,451.24,10808300,451.24
-2006-01-04,443.90,448.96,439.75,445.24,15286400,445.24
-2006-01-03,422.52,435.67,418.22,435.23,13121200,435.23
-2005-12-30,417.27,418.21,413.74,414.86,7587100,414.86
-2005-12-29,427.98,428.73,419.17,420.15,6945800,420.15
-2005-12-28,424.34,427.78,421.26,426.69,7117900,426.69
-2005-12-27,431.86,431.86,422.76,424.64,6702800,424.64
-2005-12-23,432.15,432.50,428.78,430.93,4595100,430.93
-2005-12-22,431.77,432.86,425.93,432.04,7546600,432.04
-2005-12-21,433.55,436.86,420.71,426.33,11221900,426.33
-2005-12-20,427.86,432.20,424.67,429.74,10084700,429.74
-2005-12-19,432.20,446.21,420.11,424.60,21936800,424.60
-2005-12-16,425.34,432.50,422.75,430.15,16330500,430.15
-2005-12-15,419.11,423.14,416.50,422.55,6045800,422.55
-2005-12-14,417.04,419.73,415.49,418.96,6630400,418.96
-2005-12-13,412.50,418.00,411.64,417.49,8157000,417.49
-2005-12-12,414.63,415.21,409.95,412.61,6950100,412.61
-2005-12-09,415.00,415.78,408.56,409.20,7643400,409.20
-2005-12-08,405.30,410.65,402.64,410.65,8910100,410.65
-2005-12-07,406.16,406.70,399.01,404.22,11665900,404.22
-2005-12-06,408.70,416.41,401.70,404.54,15114700,404.54
-2005-12-05,417.00,417.50,404.28,405.85,10289400,405.85
-2005-12-02,416.94,419.53,413.86,417.70,7543500,417.70
-2005-12-01,409.20,415.44,408.29,414.09,9744900,414.09
-2005-11-30,404.26,408.45,395.56,404.91,15596600,404.91
-2005-11-29,424.46,426.40,402.14,403.54,21495800,403.54
-2005-11-28,429.82,431.24,422.44,423.48,11008400,423.48
-2005-11-25,425.78,428.75,425.30,428.62,4840100,428.62
-2005-11-23,417.04,424.72,415.78,422.86,10085000,422.86
-2005-11-22,408.65,417.31,406.23,416.47,9596000,416.47
-2005-11-21,399.17,409.98,393.49,409.36,10335100,409.36
-2005-11-18,403.49,404.50,399.85,400.21,7025700,400.21
-2005-11-17,401.80,403.81,399.53,403.45,9212200,403.45
-2005-11-16,396.20,398.85,394.11,398.15,8695200,398.15
-2005-11-15,394.38,397.00,390.95,392.80,8624900,392.80
-2005-11-14,392.12,398.22,391.53,396.97,7807900,396.97
-2005-11-11,395.12,396.90,388.85,390.40,7063900,390.40
-2005-11-10,378.36,391.35,377.43,391.10,9128700,391.10
-2005-11-09,386.67,388.29,378.03,379.15,10466900,379.15
-2005-11-08,394.25,395.59,388.58,389.90,7897500,389.90
-2005-11-07,395.10,397.47,392.15,395.03,9591500,395.03
-2005-11-04,389.98,391.79,385.45,390.43,8824900,390.43
-2005-11-03,382.41,386.58,381.38,385.95,7448400,385.95
-2005-11-02,381.70,385.00,377.17,379.68,10565400,379.68
-2005-11-01,371.86,383.90,369.01,379.38,16356100,379.38
-2005-10-31,360.24,374.75,359.51,372.14,14342900,372.14
-2005-10-28,355.27,358.95,355.02,358.17,5903500,358.17
-2005-10-27,356.60,357.09,351.68,353.06,5134400,353.06
-2005-10-26,346.28,356.00,346.19,355.44,8907500,355.44
-2005-10-25,345.78,347.40,342.86,346.91,6878300,346.91
-2005-10-24,343.37,349.30,342.19,348.65,9431700,348.65
-2005-10-21,345.80,346.43,333.00,339.90,22892400,339.90
-2005-10-20,309.99,311.13,301.21,303.20,13911700,303.20
-2005-10-19,304.00,309.87,303.96,308.70,7010700,308.70
-2005-10-18,304.96,307.96,302.74,303.28,7077800,303.28
-2005-10-17,297.50,305.20,294.56,305.00,7566700,305.00
-2005-10-14,299.90,300.23,292.54,296.14,8519100,296.14
-2005-10-13,302.00,302.00,290.68,297.44,10567700,297.44
-2005-10-12,305.20,307.19,299.00,300.97,9306200,300.97
-2005-10-11,310.61,312.65,304.86,306.10,8542600,306.10
-2005-10-10,313.31,314.82,309.15,310.65,5572200,310.65
-2005-10-07,314.79,316.67,310.54,312.99,6770300,312.99
-2005-10-06,314.14,314.48,310.09,312.75,7993800,312.75
-2005-10-05,312.69,314.90,308.00,310.71,8328400,310.71
-2005-10-04,319.95,321.28,310.74,311.00,9144300,311.00
-2005-10-03,313.63,320.11,312.79,318.68,9160300,318.68
-2005-09-30,314.22,317.50,312.29,316.46,9151300,316.46
-2005-09-29,306.68,310.72,306.08,309.62,5613800,309.62
-2005-09-28,314.22,315.10,305.60,306.00,7997400,306.00
-2005-09-27,314.95,318.41,313.38,313.94,6873100,313.94
-2005-09-26,319.50,320.95,312.56,314.28,9894400,314.28
-2005-09-23,313.00,317.21,312.59,315.36,8483800,315.36
-2005-09-22,311.50,319.22,310.17,311.37,13006400,311.37
-2005-09-21,308.41,313.76,305.96,311.90,10119700,311.90
-2005-09-20,306.15,311.30,305.23,307.91,9351000,307.91
-2005-09-19,301.00,306.00,300.71,303.79,5761900,303.79
-2005-09-16,304.02,304.50,299.87,300.20,7579800,300.20
-2005-09-15,299.52,306.75,297.91,302.62,15466200,302.62
-2005-09-14,308.73,313.28,300.30,303.00,11275800,303.00
-2005-09-13,309.00,315.53,306.17,311.68,10299900,311.68
-2005-09-12,301.75,311.42,301.00,309.74,10386500,309.74
-2005-09-09,297.28,299.10,296.56,299.09,4390500,299.09
-2005-09-08,294.83,299.28,293.36,295.39,6613300,295.39
-2005-09-07,285.89,295.50,285.28,294.87,7499500,294.87
-2005-09-06,289.00,289.39,286.80,287.11,4212300,287.11
-2005-09-02,286.51,289.99,286.44,288.45,3434500,288.45
-2005-09-01,285.91,287.50,285.00,286.25,2742100,286.25
-2005-08-31,288.23,288.50,284.36,286.00,5034000,286.00
-2005-08-30,287.39,289.51,285.88,287.27,4792000,287.27
-2005-08-29,282.24,289.12,282.24,288.45,5903000,288.45
-2005-08-26,283.48,285.02,282.66,283.58,3755300,283.58
-2005-08-25,282.55,284.00,279.97,282.59,4376600,282.59
-2005-08-24,277.57,284.75,276.45,282.57,8593100,282.57
-2005-08-23,276.16,279.74,274.12,279.58,5821700,279.58
-2005-08-22,281.24,281.47,273.35,274.01,6813000,274.01
-2005-08-19,280.99,281.45,279.62,280.00,5542900,280.00
-2005-08-18,275.91,280.50,275.00,279.99,11872800,279.99
-2005-08-17,285.51,286.57,284.00,285.10,3883300,285.10
-2005-08-16,284.88,287.79,283.34,285.65,7109200,285.65
-2005-08-15,289.80,292.77,283.77,284.00,8174700,284.00
-2005-08-12,283.36,290.20,281.64,289.72,6585900,289.72
-2005-08-11,285.89,286.58,280.62,284.05,7514900,284.05
-2005-08-10,291.30,292.33,284.88,285.68,6879000,285.68
-2005-08-09,291.96,292.68,288.51,291.57,5779300,291.57
-2005-08-08,293.60,295.65,290.49,291.25,4481800,291.25
-2005-08-05,297.50,298.51,291.31,292.35,5939700,292.35
-2005-08-04,295.55,299.00,295.25,297.73,5236500,297.73
-2005-08-03,298.00,299.72,295.60,297.30,5930600,297.30
-2005-08-02,291.60,299.52,291.12,299.19,7290200,299.19
-2005-08-01,288.12,292.50,288.10,291.61,5662400,291.61
-2005-07-29,292.14,292.84,286.99,287.76,8363300,287.76
-2005-07-28,297.41,297.41,293.28,293.50,5925600,293.50
-2005-07-27,297.74,298.23,292.40,296.93,7217900,296.93
-2005-07-26,295.01,298.00,292.09,296.09,9816900,296.09
-2005-07-25,302.39,303.29,294.96,295.85,9658800,295.85
-2005-07-22,306.37,309.25,296.33,302.40,23386800,302.40
-2005-07-21,314.05,317.80,311.21,313.94,19789400,313.94
-2005-07-20,305.57,312.61,301.80,312.00,14310400,312.00
-2005-07-19,302.10,310.35,301.80,309.90,12621400,309.90
-2005-07-18,300.00,301.90,297.75,299.54,6207800,299.54
-2005-07-15,301.24,303.40,299.78,301.19,8438400,301.19
-2005-07-14,305.34,306.75,300.07,300.89,10667700,300.89
-2005-07-13,292.51,299.24,292.10,298.86,11437900,298.86
-2005-07-12,293.39,294.40,290.93,291.78,5864900,291.78
-2005-07-11,296.40,296.60,291.02,293.35,8390300,293.35
-2005-07-08,296.25,297.50,294.05,296.23,7457600,296.23
-2005-07-07,289.39,295.80,288.51,295.54,10672100,295.54
-2005-07-06,297.30,297.60,291.38,291.52,8000300,291.52
-2005-07-05,292.10,295.98,290.23,295.71,7494000,295.71
-2005-07-01,295.04,296.24,289.22,291.25,9227600,291.25
-2005-06-30,294.34,298.93,291.04,294.15,15094400,294.15
-2005-06-29,302.50,304.38,292.15,292.72,18298700,292.72
-2005-06-28,306.28,309.25,302.00,302.00,19036500,302.00
-2005-06-27,298.90,304.47,293.86,304.10,17802900,304.10
-2005-06-24,290.90,298.00,289.58,297.25,17771200,297.25
-2005-06-23,288.00,294.81,286.50,289.71,14056400,289.71
-2005-06-22,289.67,292.32,288.67,289.30,10474000,289.30
-2005-06-21,288.07,290.30,284.97,287.84,15132300,287.84
-2005-06-20,276.09,287.67,271.73,286.70,21024700,286.70
-2005-06-17,279.00,280.30,275.90,280.30,10434400,280.30
-2005-06-16,274.26,278.30,273.07,277.44,12462400,277.44
-2005-06-15,275.00,277.30,267.43,274.80,20883100,274.80
-2005-06-14,278.59,281.24,277.75,278.35,10091900,278.35
-2005-06-13,279.82,284.19,276.52,282.75,12803200,282.75
-2005-06-10,286.99,287.28,280.02,282.50,12696600,282.50
-2005-06-09,284.72,288.50,280.56,286.31,16441100,286.31
-2005-06-08,292.85,293.19,278.00,279.56,25700900,279.56
-2005-06-07,297.10,299.59,290.30,293.12,24323000,293.12
-2005-06-06,282.39,293.75,281.83,290.94,22525900,290.94
-2005-06-03,286.79,289.30,277.41,280.26,18782300,280.26
-2005-06-02,288.73,289.78,284.60,287.90,17974100,287.90
-2005-06-01,283.20,292.89,282.02,288.00,35191700,288.00
-2005-05-31,269.43,278.40,269.37,277.27,22236800,277.27
-2005-05-27,260.46,266.05,259.25,266.00,12184100,266.00
-2005-05-26,260.96,263.76,258.30,259.20,13546600,259.20
-2005-05-25,252.73,260.98,250.63,260.81,18057900,260.81
-2005-05-24,256.96,265.44,253.50,256.00,29043100,256.00
-2005-05-23,243.16,258.10,242.71,255.45,21388300,255.45
-2005-05-20,241.21,241.67,239.65,241.61,8163500,241.61
-2005-05-19,240.34,241.17,238.27,239.18,9716500,239.18
-2005-05-18,233.61,239.97,233.52,239.16,12312000,239.16
-2005-05-17,230.56,233.45,230.20,233.13,7808900,233.13
-2005-05-16,229.68,231.62,228.57,231.05,5681400,231.05
-2005-05-13,229.18,231.09,227.32,229.24,7415500,229.24
-2005-05-12,230.81,232.23,228.20,228.72,8948200,228.72
-2005-05-11,228.97,231.98,227.93,231.29,11478800,231.29
-2005-05-10,225.47,227.80,224.72,227.80,6345800,227.80
-2005-05-09,228.00,228.50,225.43,226.02,5536800,226.02
-2005-05-06,228.40,229.25,226.47,228.02,6763900,228.02
-2005-05-05,228.62,228.62,225.88,226.98,7509600,226.98
-2005-05-04,227.23,229.88,227.00,228.50,12083500,228.50
-2005-05-03,221.85,228.15,221.32,226.19,17780200,226.19
-2005-05-02,222.05,223.70,220.21,222.29,9767400,222.29
-2005-04-29,221.91,222.25,217.82,220.00,9170200,220.00
-2005-04-28,219.50,222.08,217.71,219.45,8682800,219.45
-2005-04-27,217.99,220.85,216.74,219.78,10264800,219.78
-2005-04-26,220.22,222.00,218.29,218.75,17272000,218.75
-2005-04-25,217.82,224.74,217.52,223.53,19840000,223.53
-2005-04-22,222.90,224.00,214.26,215.81,33205100,215.81
-2005-04-21,200.42,205.00,199.32,204.22,17751900,204.22
-2005-04-20,198.58,200.50,195.91,198.10,15451500,198.10
-2005-04-19,189.33,192.00,188.03,191.40,8430000,191.40
-2005-04-18,184.58,187.88,183.49,186.97,6550300,186.97
-2005-04-15,190.10,190.34,184.66,185.00,11577400,185.00
-2005-04-14,193.27,194.36,190.10,191.45,6152700,191.45
-2005-04-13,193.47,194.32,189.73,192.93,6555800,192.93
-2005-04-12,193.00,194.42,189.41,193.96,7319600,193.96
-2005-04-11,193.09,194.80,192.32,193.23,5410500,193.23
-2005-04-08,193.69,195.10,191.45,192.05,5116600,192.05
-2005-04-07,188.78,194.62,188.64,193.76,9692200,193.76
-2005-04-06,189.24,189.65,187.58,189.22,5252600,189.22
-2005-04-05,187.73,190.26,187.57,188.57,8736700,188.57
-2005-04-04,179.95,185.32,179.84,185.29,8076400,185.29
-2005-04-01,181.76,182.95,179.99,180.04,6182000,180.04
-2005-03-31,177.95,181.39,177.64,180.51,6768600,180.51
-2005-03-30,180.64,181.45,179.60,180.45,6236100,180.45
-2005-03-29,181.05,183.28,178.07,179.57,6473000,179.57
-2005-03-28,181.68,184.80,180.95,181.42,8738000,181.42
-2005-03-24,180.70,180.86,179.20,179.25,3705200,179.25
-2005-03-23,177.97,180.24,177.97,178.98,4845000,178.98
-2005-03-22,181.18,181.94,177.85,178.60,5631700,178.60
-2005-03-21,179.27,182.17,177.25,180.88,7483700,180.88
-2005-03-18,178.81,180.40,178.31,180.04,7090000,180.04
-2005-03-17,177.13,179.64,175.80,179.29,8260600,179.29
-2005-03-16,176.70,178.61,175.01,175.60,7106300,175.60
-2005-03-15,175.30,180.00,174.21,178.61,10422100,178.61
-2005-03-14,178.33,178.40,172.57,174.99,11146600,174.99
-2005-03-11,180.44,180.95,177.15,177.80,8028300,177.80
-2005-03-10,181.01,181.20,177.40,179.98,10960500,179.98
-2005-03-09,184.21,184.65,180.16,181.35,11360400,181.35
-2005-03-08,189.10,189.85,184.97,185.20,8046100,185.20
-2005-03-07,187.78,189.60,187.03,188.81,8667400,188.81
-2005-03-04,186.70,187.25,185.07,185.90,6774100,185.90
-2005-03-03,186.13,187.75,184.31,187.01,7608600,187.01
-2005-03-02,185.95,187.67,184.36,185.18,7285500,185.18
-2005-03-01,189.29,189.75,182.00,186.06,9311200,186.06
-2005-02-28,186.00,189.87,185.85,187.99,7818400,187.99
-2005-02-25,189.15,189.92,185.51,185.87,9973500,185.87
-2005-02-24,183.37,189.85,182.23,188.89,25814300,188.89
-2005-02-23,193.30,194.48,188.66,193.95,15586000,193.95
-2005-02-22,196.50,198.90,190.39,191.37,13483700,191.37
-2005-02-18,198.51,198.84,196.66,197.95,8485900,197.95
-2005-02-17,197.83,199.75,196.81,197.90,10414400,197.90
-2005-02-16,194.70,199.33,194.30,198.41,16532300,198.41
-2005-02-15,193.60,199.84,193.08,195.23,25782800,195.23
-2005-02-14,182.85,193.08,181.00,192.99,38562200,192.99
-2005-02-11,186.66,192.32,186.07,187.40,13116000,187.40
-2005-02-10,191.97,192.21,185.25,187.98,18982700,187.98
-2005-02-09,200.76,201.60,189.46,191.58,17171500,191.58
-2005-02-08,196.96,200.02,194.53,198.64,11480000,198.64
-2005-02-07,205.26,206.40,195.51,196.03,12960400,196.03
-2005-02-04,206.47,207.75,202.60,204.36,14819300,204.36
-2005-02-03,205.99,213.37,205.81,210.86,12988100,210.86
-2005-02-02,215.55,216.80,203.66,205.96,32799300,205.96
-2005-02-01,194.38,196.66,190.63,191.90,18839000,191.90
-2005-01-31,193.69,196.36,191.72,195.62,9596700,195.62
-2005-01-28,190.02,194.70,186.34,190.34,12208200,190.34
-2005-01-27,188.76,188.86,185.20,188.08,6627400,188.08
-2005-01-26,179.27,189.41,179.15,189.24,12307900,189.24
-2005-01-25,181.94,182.24,176.29,177.12,10659200,177.12
-2005-01-24,188.69,189.33,180.32,180.72,14022700,180.72
-2005-01-21,194.54,195.36,188.12,188.28,9258400,188.28
-2005-01-20,192.50,196.25,192.00,193.92,9001600,193.92
-2005-01-19,204.65,205.30,196.71,197.30,11257700,197.30
-2005-01-18,200.97,205.02,198.66,203.90,13172600,203.90
-2005-01-14,196.00,200.01,194.13,199.97,9640300,199.97
-2005-01-13,195.38,197.39,194.05,195.33,6849400,195.33
-2005-01-12,194.33,195.93,190.50,195.38,8177800,195.38
-2005-01-11,195.62,197.71,193.18,193.54,6958700,193.54
-2005-01-10,194.50,198.10,191.83,195.06,7539600,195.06
-2005-01-07,190.64,194.25,188.78,193.85,9662900,193.85
-2005-01-06,195.08,195.90,187.72,188.55,10387100,188.55
-2005-01-05,193.45,196.90,192.23,193.51,8236600,193.51
-2005-01-04,201.40,202.93,193.48,194.50,13755900,194.50
-2005-01-03,197.40,203.64,195.46,202.71,15844200,202.71
diff --git a/includes/js/dojox/charting/tests/data/msft_prices.csv b/includes/js/dojox/charting/tests/data/msft_prices.csv
deleted file mode 100644
index a0c1e90..0000000
--- a/includes/js/dojox/charting/tests/data/msft_prices.csv
+++ /dev/null
@@ -1,796 +0,0 @@
-Date,Open,High,Low,Close,Volume,Adj Close
-2008-02-29,27.69,27.83,27.02,27.20,117394000,27.20
-2008-02-28,28.02,28.27,27.80,27.93,83002900,27.93
-2008-02-27,28.19,28.68,28.10,28.26,75187200,28.26
-2008-02-26,27.74,28.86,27.67,28.38,108923500,28.38
-2008-02-25,27.65,28.24,27.48,27.84,109945200,27.84
-2008-02-22,28.24,28.39,27.20,27.68,125705400,27.68
-2008-02-21,28.62,28.96,27.96,28.10,98776500,28.10
-2008-02-20,28.15,28.26,27.92,28.22,92830000,28.22
-2008-02-19,28.80,28.84,28.07,28.17,68261200,28.17
-2008-02-15,28.31,28.64,28.25,28.42,68166100,28.31
-2008-02-14,28.88,29.04,28.46,28.50,68191600,28.39
-2008-02-13,28.62,29.05,28.53,28.96,88986200,28.85
-2008-02-12,28.43,28.62,28.11,28.34,84365900,28.23
-2008-02-11,28.52,28.61,27.91,28.21,156814100,28.10
-2008-02-08,28.29,29.08,28.24,28.56,124872000,28.45
-2008-02-07,28.34,28.78,27.90,28.12,164964900,28.01
-2008-02-06,29.28,29.35,28.29,28.52,138315600,28.41
-2008-02-05,29.91,29.94,28.89,29.07,137534100,28.96
-2008-02-04,30.49,30.72,30.11,30.19,119998600,30.07
-2008-02-01,31.06,33.25,30.25,30.45,291138900,30.33
-2008-01-31,31.91,32.74,31.72,32.60,103642200,32.47
-2008-01-30,32.56,32.80,32.05,32.20,106432600,32.08
-2008-01-29,32.85,32.89,32.35,32.60,68023000,32.47
-2008-01-28,33.02,33.10,32.42,32.72,81019000,32.59
-2008-01-25,34.90,35.00,32.87,32.94,196992300,32.81
-2008-01-24,32.35,33.36,32.12,33.25,155640400,33.12
-2008-01-23,31.48,32.05,31.04,31.93,137597400,31.81
-2008-01-22,31.54,32.53,31.50,31.96,108521400,31.84
-2008-01-18,33.16,34.00,32.97,33.01,117062000,32.88
-2008-01-17,33.54,33.80,32.97,33.11,94247800,32.98
-2008-01-16,33.42,33.65,32.51,33.23,120778500,33.10
-2008-01-15,34.03,34.38,34.00,34.00,61606200,33.87
-2008-01-14,34.46,34.57,34.08,34.39,52792200,34.26
-2008-01-11,34.14,34.24,33.72,33.91,55187900,33.78
-2008-01-10,34.35,34.50,33.78,34.33,72446000,34.20
-2008-01-09,33.36,34.54,33.35,34.44,74305500,34.31
-2008-01-08,34.71,34.71,33.40,33.45,79148300,33.32
-2008-01-07,34.55,34.80,34.25,34.61,80164300,34.48
-2008-01-04,35.19,35.20,34.09,34.38,72090800,34.25
-2008-01-03,35.22,35.65,34.86,35.37,49599600,35.23
-2008-01-02,35.79,35.96,35.00,35.22,63004200,35.08
-2007-12-31,35.90,35.99,35.52,35.60,35229700,35.46
-2007-12-28,36.10,36.23,35.67,36.12,33447200,35.98
-2007-12-27,36.35,36.55,35.94,35.97,33311100,35.83
-2007-12-26,36.41,36.64,36.26,36.61,30252400,36.47
-2007-12-24,36.13,36.72,36.05,36.58,29622600,36.44
-2007-12-21,35.90,36.06,35.75,36.06,83240500,35.92
-2007-12-20,35.29,35.79,35.08,35.52,59345000,35.38
-2007-12-19,34.69,35.14,34.38,34.79,58469100,34.66
-2007-12-18,34.64,35.00,34.21,34.74,52791800,34.61
-2007-12-17,35.03,35.13,34.36,34.39,58121200,34.26
-2007-12-14,35.05,35.84,35.01,35.31,71126200,35.17
-2007-12-13,34.48,35.45,34.28,35.22,73913200,35.08
-2007-12-12,34.61,35.09,33.93,34.47,63345400,34.34
-2007-12-11,34.73,34.99,33.93,34.10,55070700,33.97
-2007-12-10,34.64,34.95,34.47,34.76,36083500,34.63
-2007-12-07,34.61,34.70,34.22,34.53,40771000,34.40
-2007-12-06,34.26,34.61,33.87,34.55,49209700,34.42
-2007-12-05,33.14,34.52,33.03,34.15,84894700,34.02
-2007-12-04,32.74,33.24,32.63,32.77,54801500,32.64
-2007-12-03,33.50,33.64,32.68,32.92,61770600,32.79
-2007-11-30,33.92,34.12,33.19,33.60,71027800,33.47
-2007-11-29,33.58,33.93,33.31,33.59,53633600,33.46
-2007-11-28,33.38,33.89,32.90,33.70,88585000,33.57
-2007-11-27,33.27,33.60,32.68,33.06,84178400,32.93
-2007-11-26,34.09,34.37,32.93,32.97,80335000,32.84
-2007-11-23,34.36,34.44,33.71,34.11,33467200,33.98
-2007-11-21,34.40,34.73,34.18,34.23,89518700,34.10
-2007-11-20,34.23,34.97,34.10,34.58,100009400,34.45
-2007-11-19,33.96,34.24,33.87,33.96,63000300,33.83
-2007-11-16,33.86,34.26,33.71,34.09,71113800,33.96
-2007-11-15,33.76,34.10,33.55,33.76,63111200,33.63
-2007-11-14,34.62,34.75,33.75,33.93,83840100,33.80
-2007-11-13,33.54,34.67,33.38,34.46,104261100,34.33
-2007-11-12,33.32,33.71,33.02,33.38,84719000,33.14
-2007-11-09,34.18,34.54,33.65,33.73,125111400,33.49
-2007-11-08,35.60,35.90,34.40,34.74,133742400,34.49
-2007-11-07,36.04,36.16,35.45,35.52,74873600,35.27
-2007-11-06,36.59,36.66,35.87,36.41,100966700,36.15
-2007-11-05,36.76,37.10,36.63,36.73,75485400,36.47
-2007-11-02,37.22,37.50,36.42,37.06,96389800,36.79
-2007-11-01,36.53,37.49,36.36,37.06,152078800,36.79
-2007-10-31,35.52,37.00,35.51,36.81,185635800,36.55
-2007-10-30,34.37,35.59,34.35,35.57,107297300,35.32
-2007-10-29,34.85,35.29,34.45,34.57,114655600,34.32
-2007-10-26,36.01,36.03,34.56,35.03,287270900,34.78
-2007-10-25,31.57,32.22,31.49,31.99,169588700,31.76
-2007-10-24,30.85,31.30,30.50,31.25,77979200,31.03
-2007-10-23,30.71,31.12,30.71,30.90,49956200,30.68
-2007-10-22,30.12,30.70,30.12,30.51,58785100,30.29
-2007-10-19,31.09,31.09,30.11,30.17,75200200,29.95
-2007-10-18,31.22,31.23,30.63,31.16,49208600,30.94
-2007-10-17,30.75,31.23,30.65,31.08,86092400,30.86
-2007-10-16,30.24,30.58,30.23,30.32,56286200,30.10
-2007-10-15,30.10,30.33,30.00,30.04,47150500,29.83
-2007-10-12,30.03,30.40,29.95,30.17,31121100,29.95
-2007-10-11,30.30,30.63,29.79,29.91,50788400,29.70
-2007-10-10,30.04,30.37,30.03,30.23,32251500,30.01
-2007-10-09,30.03,30.39,30.00,30.10,63603100,29.88
-2007-10-08,29.66,29.85,29.60,29.84,30265400,29.63
-2007-10-05,29.89,29.99,29.73,29.84,45012300,29.63
-2007-10-04,29.56,29.77,29.44,29.71,37868000,29.50
-2007-10-03,29.71,29.85,29.29,29.45,37633900,29.24
-2007-10-02,29.70,29.85,29.57,29.70,33700900,29.49
-2007-10-01,29.46,29.79,29.41,29.77,43875100,29.56
-2007-09-28,29.49,29.69,29.23,29.46,45819100,29.25
-2007-09-27,29.70,29.72,29.44,29.49,43407100,29.28
-2007-09-26,29.68,29.85,29.48,29.50,60337000,29.29
-2007-09-25,29.14,29.56,29.11,29.56,75621000,29.35
-2007-09-24,28.81,29.61,28.80,29.08,104459800,28.87
-2007-09-21,28.69,28.81,28.44,28.65,135636100,28.45
-2007-09-20,28.48,28.58,28.34,28.42,67168900,28.22
-2007-09-19,28.87,28.91,28.30,28.67,94242200,28.46
-2007-09-18,28.70,28.97,28.27,28.93,77462400,28.72
-2007-09-17,28.79,28.88,28.62,28.73,39536500,28.52
-2007-09-14,28.98,29.11,28.88,29.04,33496600,28.83
-2007-09-13,29.12,29.26,28.96,29.16,35288600,28.95
-2007-09-12,28.81,29.17,28.80,28.93,42364700,28.72
-2007-09-11,28.63,28.95,28.58,28.93,34380800,28.72
-2007-09-10,28.67,28.75,28.41,28.48,37247600,28.28
-2007-09-07,28.62,28.83,28.32,28.44,52160900,28.24
-2007-09-06,28.56,29.01,28.55,28.91,45430800,28.70
-2007-09-05,28.65,28.73,28.42,28.48,47669800,28.28
-2007-09-04,28.50,29.10,28.48,28.81,45689600,28.60
-2007-08-31,28.70,28.92,28.36,28.73,42511900,28.52
-2007-08-30,28.42,28.93,28.32,28.45,33690700,28.25
-2007-08-29,28.13,28.61,27.82,28.59,45753700,28.39
-2007-08-28,28.30,28.49,27.91,27.93,43924400,27.73
-2007-08-27,28.61,28.77,28.40,28.49,32789500,28.29
-2007-08-24,28.21,28.84,28.07,28.81,45158900,28.60
-2007-08-23,28.28,28.33,28.10,28.30,33886600,28.10
-2007-08-22,28.27,28.32,28.01,28.22,44763500,28.02
-2007-08-21,28.10,28.32,27.87,28.07,50786200,27.87
-2007-08-20,28.18,28.49,28.08,28.26,49952000,28.06
-2007-08-17,28.09,28.25,27.82,28.25,76747700,28.05
-2007-08-16,27.88,28.35,27.51,27.81,81447400,27.61
-2007-08-15,28.24,28.99,28.05,28.10,48117700,27.90
-2007-08-14,28.77,28.89,28.20,28.27,42944100,28.07
-2007-08-13,28.94,28.99,28.44,28.63,55492300,28.33
-2007-08-10,28.90,29.05,28.26,28.71,76576200,28.41
-2007-08-09,29.64,30.10,28.92,29.30,72964500,28.99
-2007-08-08,29.72,30.01,29.21,30.00,52898600,29.68
-2007-08-07,29.33,29.79,29.05,29.55,49163000,29.24
-2007-08-06,29.05,29.54,28.75,29.54,59530500,29.23
-2007-08-03,29.45,29.78,28.90,28.96,61535500,28.65
-2007-08-02,29.19,29.79,29.02,29.52,47938300,29.21
-2007-08-01,28.95,29.55,28.82,29.30,80006300,28.99
-2007-07-31,29.71,29.72,28.98,28.99,66554000,28.68
-2007-07-30,29.41,29.49,28.95,29.40,67499600,29.09
-2007-07-27,29.93,30.00,29.36,29.39,69214600,29.08
-2007-07-26,30.24,30.53,29.51,29.98,87025300,29.66
-2007-07-25,30.99,31.30,30.37,30.71,54950100,30.38
-2007-07-24,31.01,31.48,30.71,30.80,59729300,30.47
-2007-07-23,31.36,31.52,31.12,31.19,48910600,30.86
-2007-07-20,31.15,31.20,30.79,31.16,98292600,30.83
-2007-07-19,31.05,31.84,30.93,31.51,121159300,31.18
-2007-07-18,30.51,30.97,30.50,30.92,64414400,30.59
-2007-07-17,30.02,30.88,30.01,30.78,77539600,30.45
-2007-07-16,29.76,30.24,29.72,30.03,48023200,29.71
-2007-07-13,29.94,30.02,29.66,29.82,42173000,29.50
-2007-07-12,29.56,30.11,29.44,30.07,54302400,29.75
-2007-07-11,29.24,29.65,29.21,29.49,48017000,29.18
-2007-07-10,29.70,29.99,29.18,29.33,66013500,29.02
-2007-07-09,29.86,29.95,29.81,29.87,33831400,29.55
-2007-07-06,29.91,30.04,29.66,29.97,57541000,29.65
-2007-07-05,30.05,30.22,29.83,29.99,47838500,29.67
-2007-07-03,29.79,30.22,29.78,30.02,35202600,29.70
-2007-07-02,29.67,29.80,29.49,29.74,47316000,29.42
-2007-06-29,29.87,29.93,29.04,29.47,71193900,29.16
-2007-06-28,29.86,29.97,29.68,29.83,46055200,29.51
-2007-06-27,29.36,29.95,29.36,29.87,53468600,29.55
-2007-06-26,29.55,29.80,29.50,29.52,48340300,29.21
-2007-06-25,29.47,29.77,29.38,29.49,53905800,29.18
-2007-06-22,30.00,30.10,29.45,29.49,86219900,29.18
-2007-06-21,29.98,30.30,29.91,30.22,56564800,29.90
-2007-06-20,30.44,30.51,29.96,30.01,46861600,29.69
-2007-06-19,30.48,30.66,30.38,30.46,46802600,30.14
-2007-06-18,30.69,30.72,30.42,30.51,45412600,30.19
-2007-06-15,30.86,30.88,30.43,30.49,100933000,30.17
-2007-06-14,30.35,30.71,30.30,30.52,59065700,30.20
-2007-06-13,29.97,30.41,29.85,30.39,64435600,30.07
-2007-06-12,29.96,30.24,29.77,29.85,56981800,29.53
-2007-06-11,29.94,30.25,29.93,30.02,48467400,29.70
-2007-06-08,29.58,30.06,29.41,30.05,61346200,29.73
-2007-06-07,30.02,30.29,29.59,29.62,71971400,29.31
-2007-06-06,30.37,30.53,30.25,30.29,38217500,29.97
-2007-06-05,30.62,30.63,30.33,30.58,44265000,30.26
-2007-06-04,30.42,30.76,30.40,30.72,41434500,30.39
-2007-06-01,30.79,30.90,30.55,30.59,39469400,30.27
-2007-05-31,31.12,31.16,30.61,30.69,85290500,30.36
-2007-05-30,30.55,31.13,30.51,31.11,57376800,30.78
-2007-05-29,30.49,30.83,30.39,30.79,42373100,30.46
-2007-05-25,30.28,30.66,30.18,30.48,47726500,30.16
-2007-05-24,30.54,30.80,29.96,30.17,64046400,29.85
-2007-05-23,30.84,30.84,30.57,30.58,46322500,30.26
-2007-05-22,30.90,30.93,30.66,30.69,39999500,30.36
-2007-05-21,30.73,31.16,30.73,31.05,41836400,30.72
-2007-05-18,30.97,30.99,30.58,30.83,58453000,30.50
-2007-05-17,31.03,31.14,30.96,30.98,41045600,30.65
-2007-05-16,31.00,31.09,30.81,31.07,45833600,30.74
-2007-05-15,30.90,31.09,30.84,30.90,75013900,30.57
-2007-05-14,30.84,30.99,30.81,30.97,70188500,30.54
-2007-05-11,30.57,30.98,30.55,30.89,43425300,30.46
-2007-05-10,30.68,30.93,30.53,30.58,55398600,30.16
-2007-05-09,30.70,30.93,30.57,30.78,51735000,30.35
-2007-05-08,30.68,30.94,30.58,30.75,60551700,30.33
-2007-05-07,30.52,30.76,30.48,30.71,59889100,30.29
-2007-05-04,30.68,30.70,30.29,30.56,104385900,30.14
-2007-05-03,30.60,31.00,30.53,30.97,82036800,30.54
-2007-05-02,30.39,30.69,30.30,30.61,80686700,30.19
-2007-05-01,29.94,30.42,29.90,30.40,73539300,29.98
-2007-04-30,30.13,30.37,29.94,29.94,67788800,29.53
-2007-04-27,30.17,30.74,30.00,30.12,128298800,29.70
-2007-04-26,29.09,29.35,28.91,29.10,68760300,28.70
-2007-04-25,28.86,29.00,28.69,28.99,39475000,28.59
-2007-04-24,28.79,28.96,28.59,28.79,34236700,28.39
-2007-04-23,28.96,28.99,28.67,28.78,41739100,28.38
-2007-04-20,28.98,29.10,28.70,29.02,60311500,28.62
-2007-04-19,28.34,28.89,28.26,28.69,43648800,28.29
-2007-04-18,28.61,28.67,28.36,28.60,41778400,28.20
-2007-04-17,28.63,28.89,28.56,28.85,33170200,28.45
-2007-04-16,28.60,28.75,28.21,28.73,30740100,28.33
-2007-04-13,28.43,28.70,28.10,28.61,36002900,28.21
-2007-04-12,28.06,28.62,28.04,28.54,43762100,28.15
-2007-04-11,28.30,28.57,27.99,28.11,44050200,27.72
-2007-04-10,28.50,28.64,28.22,28.40,38643100,28.01
-2007-04-09,28.58,28.72,28.39,28.57,31384600,28.18
-2007-04-05,28.32,28.65,28.30,28.55,30131200,28.16
-2007-04-04,28.01,28.78,27.90,28.50,63244200,28.11
-2007-04-03,27.86,28.06,27.75,27.87,39821300,27.48
-2007-04-02,27.89,27.93,27.56,27.74,41977600,27.36
-2007-03-30,27.75,27.95,27.50,27.87,47061000,27.48
-2007-03-29,27.84,27.85,27.49,27.75,42629900,27.37
-2007-03-28,27.58,28.00,27.40,27.64,46947000,27.26
-2007-03-27,28.04,28.16,27.65,27.72,58979800,27.34
-2007-03-26,27.94,28.22,27.70,28.22,47491500,27.83
-2007-03-23,28.22,28.27,27.80,28.02,50519800,27.63
-2007-03-22,28.52,28.55,28.01,28.27,47934900,27.88
-2007-03-21,27.90,28.52,27.56,28.52,72808200,28.13
-2007-03-20,27.93,28.16,27.76,27.84,47902400,27.46
-2007-03-19,27.34,27.83,27.20,27.83,49412000,27.45
-2007-03-16,27.35,27.48,27.20,27.33,65055300,26.95
-2007-03-15,27.32,27.47,27.20,27.28,51757100,26.90
-2007-03-14,26.82,27.40,26.73,27.40,75730300,27.02
-2007-03-13,27.25,27.40,26.71,26.72,75169500,26.35
-2007-03-12,27.18,27.48,27.13,27.44,36516400,27.06
-2007-03-09,27.42,27.48,27.03,27.29,80125000,26.91
-2007-03-08,27.72,27.85,26.60,27.32,72175200,26.94
-2007-03-07,27.76,27.90,27.55,27.61,52044700,27.23
-2007-03-06,27.80,27.94,27.65,27.83,49361800,27.45
-2007-03-05,27.49,27.91,27.41,27.55,56454300,27.17
-2007-03-02,28.02,28.16,27.76,27.76,63254700,27.38
-2007-03-01,27.82,28.33,27.73,28.09,80175700,27.70
-2007-02-28,27.95,28.25,27.92,28.17,86333300,27.78
-2007-02-27,28.71,28.97,27.79,27.87,87143300,27.48
-2007-02-26,28.96,29.09,28.82,29.07,63481900,28.67
-2007-02-23,29.22,29.28,28.89,28.90,63787100,28.50
-2007-02-22,29.31,29.54,29.16,29.39,57754400,28.98
-2007-02-21,28.75,29.39,28.74,29.35,68604900,28.94
-2007-02-20,28.63,28.86,28.47,28.83,53978200,28.43
-2007-02-16,28.91,28.94,28.65,28.74,109340300,28.34
-2007-02-15,29.58,29.65,29.22,29.46,63858100,29.05
-2007-02-14,29.17,29.69,29.15,29.40,55588600,28.99
-2007-02-13,29.04,29.20,28.96,29.01,50348100,28.61
-2007-02-12,28.89,29.09,28.83,28.94,52774400,28.44
-2007-02-09,29.35,29.40,28.93,28.98,69823100,28.48
-2007-02-08,29.24,29.80,29.20,29.26,48749000,28.76
-2007-02-07,29.64,29.70,29.25,29.37,65145500,28.86
-2007-02-06,29.59,29.75,29.22,29.51,79281100,29.00
-2007-02-05,29.97,30.02,29.41,29.61,99102100,29.10
-2007-02-02,30.82,30.84,30.13,30.19,60401700,29.67
-2007-02-01,30.84,30.94,30.37,30.56,55355800,30.03
-2007-01-31,30.41,31.10,30.35,30.86,73968400,30.33
-2007-01-30,30.57,30.64,30.14,30.48,61900400,29.96
-2007-01-29,30.65,30.78,30.34,30.53,57605900,30.00
-2007-01-26,31.22,31.23,30.60,30.60,96103700,30.07
-2007-01-25,31.08,31.48,30.45,30.45,97378700,29.93
-2007-01-24,30.78,31.30,30.65,31.09,58527800,30.55
-2007-01-23,30.63,30.96,30.52,30.74,49171200,30.21
-2007-01-22,31.06,31.12,30.51,30.72,56143900,30.19
-2007-01-19,30.73,31.11,30.69,31.11,75826900,30.57
-2007-01-18,31.15,31.37,30.80,31.00,56364300,30.47
-2007-01-17,31.26,31.44,31.01,31.10,58519600,30.56
-2007-01-16,31.26,31.45,31.03,31.16,62379600,30.62
-2007-01-12,30.65,31.39,30.64,31.21,103972500,30.67
-2007-01-11,29.76,30.75,29.65,30.70,99464300,30.17
-2007-01-10,29.80,29.89,29.43,29.66,55017400,29.15
-2007-01-09,30.00,30.18,29.73,29.96,44636600,29.44
-2007-01-08,29.65,30.10,29.53,29.93,50220200,29.41
-2007-01-05,29.63,29.75,29.45,29.64,44607200,29.13
-2007-01-04,29.70,29.97,29.44,29.81,45774500,29.30
-2007-01-03,29.91,30.25,29.40,29.86,76935100,29.35
-2006-12-29,29.86,30.15,29.83,29.86,41739800,29.35
-2006-12-28,29.86,30.03,29.81,29.98,26690600,29.46
-2006-12-27,29.99,30.13,29.91,30.02,31248400,29.50
-2006-12-26,29.53,30.00,29.40,29.99,37098300,29.47
-2006-12-22,29.83,29.86,29.62,29.64,37971700,29.13
-2006-12-21,30.13,30.14,29.89,29.98,32270500,29.46
-2006-12-20,29.99,30.24,29.97,30.09,31202100,29.57
-2006-12-19,29.71,30.17,29.53,29.99,53822100,29.47
-2006-12-18,30.19,30.26,29.78,29.89,56986800,29.38
-2006-12-15,30.14,30.23,30.03,30.19,102783700,29.67
-2006-12-14,29.54,30.08,29.52,30.07,85866500,29.55
-2006-12-13,29.60,29.60,29.32,29.55,46002500,29.04
-2006-12-12,29.56,29.63,29.22,29.43,68529400,28.92
-2006-12-11,29.19,29.75,29.11,29.54,107712000,29.03
-2006-12-08,28.82,29.40,28.80,29.40,108854900,28.89
-2006-12-07,28.96,29.07,28.81,28.85,46831100,28.35
-2006-12-06,29.10,29.13,28.87,28.99,48564100,28.49
-2006-12-05,29.36,29.40,29.03,29.13,45606000,28.63
-2006-12-04,29.23,29.52,29.17,29.33,55123400,28.82
-2006-12-01,29.23,29.30,28.90,29.12,72257000,28.62
-2006-11-30,29.42,29.57,29.33,29.36,53297400,28.85
-2006-11-29,29.44,29.78,29.43,29.57,58775100,29.06
-2006-11-28,29.34,29.42,29.13,29.39,52602300,28.88
-2006-11-27,29.69,29.74,29.33,29.48,72722100,28.97
-2006-11-24,29.66,29.84,29.64,29.76,20456700,29.25
-2006-11-22,29.97,30.00,29.82,29.92,43907200,29.40
-2006-11-21,29.91,30.00,29.79,29.92,66446600,29.40
-2006-11-20,29.52,30.00,29.50,29.89,85703800,29.38
-2006-11-17,29.31,29.54,29.28,29.40,49356700,28.89
-2006-11-16,29.14,29.64,29.13,29.47,64328500,28.96
-2006-11-15,29.13,29.36,29.11,29.12,63943200,28.62
-2006-11-14,29.28,29.42,29.07,29.23,63012500,28.73
-2006-11-13,29.19,29.46,29.16,29.35,47271800,28.75
-2006-11-10,29.17,29.29,29.15,29.24,37855100,28.64
-2006-11-09,29.11,29.40,29.00,29.26,89407500,28.66
-2006-11-08,28.78,29.23,28.66,28.98,77403300,28.38
-2006-11-07,28.86,29.07,28.80,28.95,56511200,28.35
-2006-11-06,28.77,29.05,28.76,28.84,60446200,28.25
-2006-11-03,28.85,28.93,28.61,28.73,41124500,28.14
-2006-11-02,28.71,28.86,28.58,28.77,58674400,28.18
-2006-11-01,28.78,28.99,28.70,28.81,75895900,28.22
-2006-10-31,28.66,28.85,28.56,28.71,61861700,28.12
-2006-10-30,28.35,28.84,28.32,28.53,47296800,27.94
-2006-10-27,28.49,28.79,28.25,28.34,89060100,27.76
-2006-10-26,28.33,28.41,28.04,28.35,69964200,27.77
-2006-10-25,28.28,28.46,28.14,28.31,40717100,27.73
-2006-10-24,28.43,28.43,28.13,28.28,61409600,27.70
-2006-10-23,28.30,28.69,28.18,28.45,48525000,27.86
-2006-10-20,28.48,28.49,28.17,28.43,48887800,27.85
-2006-10-19,28.35,28.45,28.12,28.29,44730800,27.71
-2006-10-18,28.50,28.70,28.26,28.52,40630800,27.93
-2006-10-17,28.24,28.51,28.17,28.44,40122600,27.85
-2006-10-16,28.48,28.60,28.33,28.45,49744800,27.86
-2006-10-13,28.34,28.69,28.31,28.37,129751900,27.79
-2006-10-12,27.58,28.29,27.54,28.22,120174900,27.64
-2006-10-11,27.46,27.67,27.42,27.54,37219600,26.97
-2006-10-10,27.69,27.75,27.44,27.69,34598500,27.12
-2006-10-09,27.80,27.93,27.62,27.72,33366300,27.15
-2006-10-06,27.76,28.00,27.65,27.87,36452200,27.30
-2006-10-05,27.92,28.11,27.78,27.92,81967200,27.35
-2006-10-04,27.39,27.96,27.37,27.94,82191200,27.37
-2006-10-03,27.37,27.48,27.21,27.37,39386200,26.81
-2006-10-02,27.32,27.49,27.15,27.36,52908100,26.80
-2006-09-29,27.35,27.42,27.21,27.35,34283500,26.79
-2006-09-28,27.47,27.52,27.26,27.40,44179700,26.84
-2006-09-27,27.18,27.47,27.12,27.44,66233900,26.88
-2006-09-26,26.91,27.32,26.88,27.20,54766500,26.64
-2006-09-25,26.81,27.19,26.79,26.95,67903900,26.40
-2006-09-22,26.83,26.85,26.48,26.66,47712500,26.11
-2006-09-21,27.24,27.25,26.85,26.90,58495100,26.35
-2006-09-20,27.01,27.23,26.99,27.18,71676400,26.62
-2006-09-19,26.74,26.94,26.72,26.86,43039100,26.31
-2006-09-18,26.74,27.04,26.67,26.79,49135000,26.24
-2006-09-15,26.58,26.94,26.49,26.85,126057700,26.30
-2006-09-14,25.99,26.50,25.98,26.33,74324500,25.79
-2006-09-13,25.82,26.10,25.82,25.98,37706700,25.45
-2006-09-12,25.90,25.98,25.72,25.93,52248800,25.40
-2006-09-11,25.43,25.95,25.42,25.91,55608200,25.38
-2006-09-08,25.53,25.79,25.46,25.60,36866800,25.07
-2006-09-07,25.48,25.70,25.39,25.43,51266900,24.91
-2006-09-06,25.51,25.72,25.51,25.61,50160400,25.08
-2006-09-05,25.69,25.96,25.56,25.61,44222400,25.08
-2006-09-01,25.89,25.97,25.64,25.84,31594600,25.31
-2006-08-31,25.87,25.98,25.68,25.70,26380500,25.17
-2006-08-30,25.85,25.89,25.64,25.80,30283100,25.27
-2006-08-29,25.92,25.98,25.63,25.84,42711200,25.31
-2006-08-28,25.84,26.00,25.69,25.95,34190900,25.42
-2006-08-25,25.71,26.00,25.69,25.85,33115900,25.32
-2006-08-24,25.82,25.86,25.50,25.74,35933300,25.21
-2006-08-23,25.65,25.95,25.52,25.67,44648500,25.14
-2006-08-22,26.01,26.25,25.62,25.62,89312400,25.09
-2006-08-21,25.66,26.13,25.56,26.12,88398300,25.58
-2006-08-18,25.05,25.80,24.98,25.79,128414800,25.26
-2006-08-17,24.70,24.75,24.61,24.70,45674800,24.19
-2006-08-16,24.61,24.73,24.47,24.70,52373600,24.19
-2006-08-15,24.55,24.65,24.44,24.62,48994500,24.11
-2006-08-14,24.52,24.60,24.35,24.53,47831900,23.94
-2006-08-11,24.43,24.45,24.20,24.43,30255500,23.84
-2006-08-10,24.37,24.60,24.34,24.46,31753400,23.87
-2006-08-09,24.49,24.64,24.34,24.44,44405700,23.85
-2006-08-08,24.39,24.52,24.20,24.34,58171300,23.75
-2006-08-07,24.28,24.48,24.19,24.22,36862400,23.63
-2006-08-04,24.40,24.49,24.15,24.29,45690400,23.70
-2006-08-03,24.19,24.48,24.15,24.21,43155300,23.62
-2006-08-02,24.12,24.40,24.03,24.30,46462000,23.71
-2006-08-01,24.02,24.20,23.85,23.99,49168700,23.41
-2006-07-31,24.07,24.42,24.01,24.06,40254400,23.48
-2006-07-28,24.08,24.28,24.06,24.25,51705800,23.66
-2006-07-27,24.58,24.60,23.77,23.87,85386800,23.29
-2006-07-26,24.12,24.53,24.10,24.37,54942100,23.78
-2006-07-25,24.00,24.29,23.90,24.22,60075800,23.63
-2006-07-24,24.01,24.11,23.79,24.00,59586700,23.42
-2006-07-21,24.08,24.15,23.00,23.87,175483800,23.29
-2006-07-20,23.44,23.45,22.78,22.85,76605200,22.30
-2006-07-19,22.82,23.46,22.72,23.40,82188200,22.83
-2006-07-18,22.59,22.76,22.48,22.74,65047300,22.19
-2006-07-17,22.29,22.61,22.26,22.48,37053500,21.94
-2006-07-14,22.28,22.55,22.23,22.29,67499400,21.75
-2006-07-13,22.37,22.61,22.25,22.26,73099500,21.72
-2006-07-12,22.79,22.88,22.62,22.64,77379300,22.09
-2006-07-11,23.37,23.37,22.74,23.10,88676300,22.54
-2006-07-10,23.43,23.66,23.38,23.50,50565100,22.93
-2006-07-07,23.39,23.55,23.30,23.30,63168800,22.74
-2006-07-06,23.45,23.61,23.42,23.48,44775200,22.91
-2006-07-05,23.48,23.52,23.30,23.35,53093500,22.79
-2006-07-03,23.53,23.72,23.45,23.70,25711400,23.13
-2006-06-30,23.54,23.65,23.30,23.30,73048800,22.74
-2006-06-29,23.32,23.63,23.22,23.47,121395500,22.90
-2006-06-28,22.96,23.25,22.91,23.16,71906500,22.60
-2006-06-27,22.89,23.16,22.84,22.86,84759100,22.31
-2006-06-26,22.65,22.89,22.63,22.82,53644100,22.27
-2006-06-23,22.85,22.87,22.50,22.50,60532600,21.96
-2006-06-22,23.06,23.17,22.78,22.88,76590600,22.33
-2006-06-21,22.61,23.15,22.53,23.08,91660300,22.52
-2006-06-20,22.54,22.76,22.50,22.56,90598500,22.01
-2006-06-19,22.14,22.60,22.12,22.55,129640900,22.01
-2006-06-16,21.97,22.28,21.79,22.10,147506500,21.57
-2006-06-15,22.01,22.13,21.80,22.07,121577300,21.54
-2006-06-14,21.59,21.94,21.55,21.88,86081500,21.35
-2006-06-13,21.73,22.03,21.46,21.51,113175300,20.99
-2006-06-12,21.96,22.10,21.70,21.71,74309700,21.19
-2006-06-09,22.15,22.19,21.89,21.92,52573800,21.39
-2006-06-08,22.03,22.21,21.97,22.11,104126900,21.58
-2006-06-07,22.15,22.39,22.01,22.04,73827500,21.51
-2006-06-06,22.55,22.56,21.98,22.13,126601300,21.60
-2006-06-05,22.72,22.73,22.49,22.50,63914100,21.96
-2006-06-02,22.87,22.99,22.67,22.76,73935600,22.21
-2006-06-01,22.74,22.84,22.62,22.82,80230800,22.27
-2006-05-31,23.26,23.35,22.65,22.65,120202000,22.10
-2006-05-30,23.55,23.76,23.14,23.15,52497500,22.59
-2006-05-26,23.77,23.88,23.56,23.72,46861600,23.15
-2006-05-25,23.57,23.92,23.54,23.74,83052700,23.17
-2006-05-24,22.99,23.54,22.98,23.50,107356700,22.93
-2006-05-23,23.11,23.38,22.77,22.79,79986300,22.24
-2006-05-22,22.48,23.02,22.45,22.88,87322300,22.33
-2006-05-19,22.79,22.90,22.52,22.56,100071200,22.01
-2006-05-18,22.84,23.14,22.76,22.83,95476400,22.28
-2006-05-17,22.89,23.08,22.73,22.73,98598300,22.18
-2006-05-16,23.16,24.00,22.91,23.01,82095100,22.45
-2006-05-15,23.10,23.23,23.03,23.15,67314800,22.59
-2006-05-12,23.14,23.37,23.05,23.17,83115900,22.52
-2006-05-11,23.71,23.79,23.15,23.22,92916700,22.57
-2006-05-10,23.67,23.79,23.59,23.77,76563300,23.11
-2006-05-09,23.75,24.00,23.49,23.62,75345900,22.96
-2006-05-08,23.85,25.00,23.51,23.73,80693500,23.07
-2006-05-05,23.66,23.95,23.52,23.80,131604300,23.13
-2006-05-04,23.35,23.67,23.14,23.44,171257400,22.78
-2006-05-03,23.99,24.02,23.15,23.17,211527100,22.52
-2006-05-02,24.49,25.00,23.90,24.01,190533500,23.34
-2006-05-01,24.32,25.00,24.09,24.29,174800900,23.61
-2006-04-28,24.23,24.50,24.00,24.15,591052200,23.47
-2006-04-27,26.97,27.63,26.94,27.25,96509600,26.49
-2006-04-26,27.08,27.23,27.00,27.10,39190000,26.34
-2006-04-25,27.09,27.21,27.02,27.11,49222500,26.35
-2006-04-24,27.07,27.25,26.98,27.11,42318400,26.35
-2006-04-21,27.05,27.39,27.00,27.15,58528000,26.39
-2006-04-20,27.05,27.19,26.70,27.03,45648300,26.27
-2006-04-19,27.11,27.19,26.96,27.03,45111100,26.27
-2006-04-18,26.94,27.50,26.82,27.22,56272700,26.46
-2006-04-17,27.03,27.05,26.73,26.84,35796200,26.09
-2006-04-13,27.08,27.20,27.00,27.07,28160000,26.31
-2006-04-12,27.10,27.20,26.97,27.20,32183000,26.44
-2006-04-11,27.29,27.32,27.00,27.13,42953400,26.37
-2006-04-10,27.23,27.44,27.20,27.29,39432000,26.53
-2006-04-07,27.61,27.72,27.23,27.25,47249400,26.49
-2006-04-06,27.66,27.72,27.37,27.56,51885500,26.79
-2006-04-05,27.88,27.94,27.64,27.74,41539300,26.96
-2006-04-04,27.60,27.80,27.47,27.64,45470000,26.87
-2006-04-03,27.67,27.73,27.44,27.56,57605300,26.79
-2006-03-31,27.30,27.54,27.21,27.21,62190500,26.45
-2006-03-30,27.03,27.39,27.00,27.23,54612000,26.47
-2006-03-29,26.95,27.20,26.92,27.02,53150300,26.26
-2006-03-28,27.01,27.21,26.81,26.90,58520500,26.15
-2006-03-27,27.01,27.30,27.00,27.01,59908600,26.25
-2006-03-24,26.71,27.21,26.62,27.01,69157600,26.25
-2006-03-23,27.08,27.10,26.66,26.85,73682900,26.10
-2006-03-22,27.08,27.50,26.80,27.15,145696100,26.39
-2006-03-21,27.74,28.22,27.68,27.74,73199600,26.96
-2006-03-20,27.70,27.99,27.67,27.89,67094100,27.11
-2006-03-17,27.35,27.66,27.27,27.50,120615000,26.73
-2006-03-16,27.34,27.48,27.22,27.27,73793700,26.51
-2006-03-15,27.20,27.45,27.01,27.36,57152000,26.60
-2006-03-14,27.04,27.38,26.99,27.23,39821800,26.47
-2006-03-13,27.18,27.29,26.94,27.11,40342600,26.35
-2006-03-10,27.06,27.22,26.88,27.17,41297200,26.41
-2006-03-09,27.27,27.42,27.00,27.00,45360700,26.25
-2006-03-08,26.99,27.50,26.97,27.25,57547400,26.49
-2006-03-07,26.90,27.10,26.81,27.06,51613900,26.30
-2006-03-06,26.92,27.15,26.83,26.91,53054100,26.16
-2006-03-03,26.81,27.16,26.74,26.93,45218800,26.18
-2006-03-02,27.02,27.10,26.90,26.97,41850300,26.22
-2006-03-01,26.98,27.20,26.95,27.14,53061200,26.38
-2006-02-28,26.95,27.30,26.87,26.87,65036100,26.12
-2006-02-27,26.75,27.26,26.67,27.05,51301500,26.29
-2006-02-24,26.59,26.74,26.52,26.63,44753800,25.89
-2006-02-23,26.73,26.89,26.54,26.66,47359100,25.91
-2006-02-22,26.53,26.86,26.47,26.72,43043100,25.97
-2006-02-21,26.72,26.72,26.34,26.54,50216100,25.80
-2006-02-17,26.67,26.81,26.56,26.70,41513200,25.95
-2006-02-16,26.85,26.90,26.57,26.81,48868500,26.06
-2006-02-15,26.60,26.93,26.50,26.88,62808900,26.13
-2006-02-14,26.41,26.68,26.35,26.65,58432900,25.82
-2006-02-13,26.63,26.70,26.34,26.39,46707000,25.57
-2006-02-10,26.62,26.89,26.51,26.69,52127000,25.86
-2006-02-09,26.96,27.03,26.65,26.66,52861700,25.83
-2006-02-08,27.01,27.08,26.71,26.91,51795200,26.07
-2006-02-07,26.95,27.15,26.81,26.94,72159500,26.10
-2006-02-06,27.51,27.54,27.09,27.17,60170500,26.32
-2006-02-03,27.48,27.70,27.34,27.54,75022700,26.68
-2006-02-02,27.97,27.99,27.55,27.68,55073400,26.82
-2006-02-01,27.96,28.07,27.76,28.04,68448800,27.16
-2006-01-31,27.91,28.38,27.87,28.15,94841300,27.27
-2006-01-30,27.82,28.18,27.78,28.00,103999200,27.13
-2006-01-27,27.23,27.95,27.19,27.79,134520700,26.92
-2006-01-26,26.56,26.72,26.31,26.50,69509300,25.67
-2006-01-25,26.41,26.57,26.23,26.40,59072100,25.58
-2006-01-24,26.34,26.45,26.22,26.28,63040700,25.46
-2006-01-23,26.41,26.53,26.30,26.35,47925600,25.53
-2006-01-20,27.01,27.01,26.26,26.41,79165900,25.58
-2006-01-19,26.87,27.24,26.85,27.02,60367600,26.18
-2006-01-18,26.74,26.98,26.70,26.83,52376200,25.99
-2006-01-17,26.90,27.19,26.90,26.99,58566600,26.15
-2006-01-13,27.03,27.25,27.01,27.19,41418000,26.34
-2006-01-12,27.25,27.26,26.97,27.14,45994800,26.29
-2006-01-11,27.01,27.39,26.90,27.29,70120700,26.44
-2006-01-10,26.65,27.02,26.59,27.00,64921900,26.16
-2006-01-09,26.93,27.07,26.76,26.86,55625000,26.02
-2006-01-06,26.89,27.00,26.49,26.91,100963000,26.07
-2006-01-05,26.96,27.13,26.91,26.99,48245500,26.15
-2006-01-04,26.77,27.08,26.77,26.97,57975600,26.13
-2006-01-03,26.25,27.00,26.10,26.84,79973000,26.00
-2005-12-30,26.15,26.31,26.10,26.15,49044600,25.33
-2005-12-29,26.41,26.50,26.26,26.27,34495500,25.45
-2005-12-28,26.51,26.66,26.35,26.39,35444400,25.57
-2005-12-27,26.68,26.85,26.45,26.46,37819000,25.63
-2005-12-23,26.52,26.67,26.44,26.64,30689200,25.81
-2005-12-22,26.71,26.78,26.42,26.59,91276900,25.76
-2005-12-21,26.87,26.91,26.71,26.73,75800900,25.89
-2005-12-20,26.76,26.88,26.67,26.86,62960600,26.02
-2005-12-19,26.82,26.87,26.65,26.83,68680100,25.99
-2005-12-16,26.88,27.08,26.81,26.90,88542500,26.06
-2005-12-15,27.08,27.11,26.81,26.92,79018100,26.08
-2005-12-14,27.00,27.24,26.85,27.09,65076200,26.24
-2005-12-13,27.29,27.43,27.00,27.13,104285500,26.28
-2005-12-12,27.70,27.75,27.33,27.45,63757200,26.59
-2005-12-09,27.71,27.83,27.64,27.71,48467000,26.84
-2005-12-08,27.71,27.81,27.60,27.69,63931600,26.83
-2005-12-07,27.67,27.75,27.55,27.75,55583200,26.88
-2005-12-06,27.90,27.92,27.68,27.69,65980000,26.83
-2005-12-05,27.93,28.02,27.71,27.85,47517300,26.98
-2005-12-02,27.82,28.10,27.79,28.01,42319600,27.14
-2005-12-01,27.73,28.10,27.73,27.89,61006100,27.02
-2005-11-30,27.68,27.77,27.63,27.68,55904700,26.82
-2005-11-29,27.79,27.79,27.60,27.68,62220400,26.82
-2005-11-28,27.79,27.85,27.53,27.75,57517200,26.88
-2005-11-25,27.80,27.94,27.47,27.76,44082500,26.89
-2005-11-23,27.92,28.09,27.74,27.92,70541300,27.05
-2005-11-22,28.06,28.08,27.86,27.91,104253300,27.04
-2005-11-21,28.07,28.24,27.84,28.16,65794400,27.28
-2005-11-18,28.12,28.25,27.90,28.07,75431200,27.19
-2005-11-17,27.85,28.00,27.76,27.97,91351000,27.10
-2005-11-16,27.48,27.88,27.44,27.74,86277000,26.87
-2005-11-15,27.33,27.54,27.25,27.50,65081000,26.64
-2005-11-14,27.36,27.44,27.20,27.37,67152200,26.44
-2005-11-11,27.15,27.39,27.13,27.28,51945600,26.35
-2005-11-10,26.94,27.15,26.64,27.09,73314800,26.17
-2005-11-09,26.98,27.15,26.94,26.96,59562100,26.04
-2005-11-08,26.94,27.18,26.77,27.05,60091700,26.13
-2005-11-07,26.72,27.08,26.70,27.01,77104800,26.09
-2005-11-04,26.53,26.71,26.45,26.66,57464000,25.75
-2005-11-03,26.60,26.64,26.25,26.44,73421600,25.54
-2005-11-02,25.93,26.50,25.93,26.46,75067100,25.56
-2005-11-01,25.61,26.10,25.61,25.96,71370400,25.08
-2005-10-31,25.61,25.80,25.50,25.70,75122100,24.82
-2005-10-28,25.10,25.60,25.10,25.53,106559300,24.66
-2005-10-27,25.22,25.27,24.85,24.85,61566100,24.00
-2005-10-26,24.97,25.33,24.93,25.11,58178100,24.25
-2005-10-25,24.95,25.13,24.83,25.03,41310500,24.18
-2005-10-24,24.89,25.10,24.68,25.10,51868000,24.24
-2005-10-21,24.91,25.00,24.57,24.78,69431200,23.94
-2005-10-20,25.05,25.13,24.74,24.79,58830600,23.95
-2005-10-19,24.56,25.09,24.50,25.09,66574500,24.24
-2005-10-18,24.49,24.83,24.45,24.57,69328200,23.73
-2005-10-17,24.68,24.69,24.44,24.53,46924400,23.69
-2005-10-14,24.71,24.73,24.50,24.67,53846700,23.83
-2005-10-13,24.31,24.73,24.27,24.59,70192000,23.75
-2005-10-12,24.49,24.70,24.27,24.30,71294400,23.47
-2005-10-11,24.51,24.55,24.25,24.41,76567300,23.58
-2005-10-10,24.67,24.68,24.35,24.46,48880900,23.63
-2005-10-07,24.77,24.84,24.52,24.59,50768700,23.75
-2005-10-06,24.66,24.95,24.53,24.73,81724600,23.89
-2005-10-05,25.04,25.05,24.67,24.67,73684700,23.83
-2005-10-04,25.36,25.39,24.75,24.98,151666300,24.13
-2005-10-03,25.71,25.73,25.44,25.50,55341300,24.63
-2005-09-30,25.91,25.95,25.61,25.73,57644500,24.85
-2005-09-29,25.61,26.00,25.50,25.94,66807100,25.06
-2005-09-28,25.39,25.87,25.38,25.67,71019400,24.80
-2005-09-27,25.37,25.45,25.30,25.34,48797900,24.48
-2005-09-26,25.40,25.49,25.21,25.27,56203700,24.41
-2005-09-23,25.31,25.54,25.12,25.27,66396800,24.41
-2005-09-22,25.49,25.60,25.15,25.34,71314900,24.48
-2005-09-21,25.80,25.90,25.43,25.49,68281800,24.62
-2005-09-20,26.07,26.22,25.69,25.84,61043400,24.96
-2005-09-19,26.09,26.27,25.86,26.00,61832300,25.11
-2005-09-16,26.34,26.40,25.97,26.07,187384300,25.18
-2005-09-15,26.37,26.43,26.22,26.27,60357200,25.37
-2005-09-14,26.52,26.64,26.30,26.31,54969600,25.41
-2005-09-13,26.54,26.76,26.37,26.48,63422900,25.58
-2005-09-12,26.62,26.75,26.52,26.61,40550500,25.70
-2005-09-09,26.62,26.82,26.53,26.58,41515800,25.67
-2005-09-08,26.80,26.88,26.52,26.61,52552300,25.70
-2005-09-07,26.94,27.11,26.82,26.85,44656100,25.94
-2005-09-06,27.06,27.29,26.98,27.00,46089000,26.08
-2005-09-02,27.21,27.27,26.97,27.02,52047500,26.10
-2005-09-01,27.38,27.39,27.15,27.20,75974500,26.27
-2005-08-31,27.17,27.44,27.04,27.38,65210200,26.45
-2005-08-30,27.06,27.23,26.96,27.18,55163200,26.25
-2005-08-29,26.81,27.23,26.81,27.15,52307700,26.22
-2005-08-26,27.06,27.08,26.87,26.97,36774600,26.05
-2005-08-25,26.90,27.09,26.85,27.03,39306300,26.11
-2005-08-24,26.84,27.16,26.78,26.81,63645000,25.90
-2005-08-23,26.84,27.07,26.74,26.87,48296700,25.95
-2005-08-22,26.79,27.17,26.77,26.91,41691700,25.99
-2005-08-19,26.85,26.91,26.70,26.72,36043500,25.81
-2005-08-18,26.89,27.08,26.80,26.82,40861900,25.91
-2005-08-17,26.82,27.15,26.66,26.95,52413100,26.03
-2005-08-16,27.03,27.14,26.70,26.74,46894600,25.83
-2005-08-15,26.98,27.30,26.69,27.13,45976600,26.21
-2005-08-12,27.08,27.14,26.90,27.05,52006500,26.05
-2005-08-11,26.98,27.30,26.89,27.27,48646800,26.26
-2005-08-10,27.41,27.50,26.85,26.95,62818800,25.95
-2005-08-09,27.22,27.51,27.01,27.35,64761800,26.34
-2005-08-08,27.80,27.84,27.08,27.13,77207200,26.13
-2005-08-05,27.29,27.94,27.25,27.76,82212400,26.73
-2005-08-04,27.16,27.50,27.05,27.32,91461400,26.31
-2005-08-03,26.76,27.43,26.73,27.25,139422400,26.24
-2005-08-02,25.90,26.90,25.87,26.81,137510100,25.82
-2005-08-01,25.81,26.05,25.76,25.92,61346800,24.96
-2005-07-29,25.78,26.00,25.59,25.61,59524400,24.66
-2005-07-28,25.75,25.85,25.66,25.75,44738700,24.80
-2005-07-27,25.61,25.80,25.53,25.72,57977300,24.77
-2005-07-26,25.72,25.74,25.53,25.54,51476400,24.60
-2005-07-25,25.69,25.90,25.65,25.69,45174600,24.74
-2005-07-22,25.99,26.34,25.63,25.68,97558900,24.73
-2005-07-21,26.30,26.48,26.00,26.44,112932100,25.46
-2005-07-20,26.00,26.23,25.88,26.19,71424800,25.22
-2005-07-19,25.79,26.25,25.75,26.16,113290100,25.19
-2005-07-18,25.71,25.79,25.55,25.55,39668000,24.61
-2005-07-15,26.04,26.10,25.75,25.79,56472800,24.84
-2005-07-14,25.79,26.10,25.79,25.97,69506800,25.01
-2005-07-13,25.53,25.75,25.48,25.66,44749200,24.71
-2005-07-12,25.24,25.62,25.20,25.61,63384800,24.66
-2005-07-11,25.15,25.38,25.11,25.29,61525400,24.36
-2005-07-08,24.64,25.12,24.63,25.09,56104000,24.16
-2005-07-07,24.58,24.71,24.50,24.65,80082900,23.74
-2005-07-06,24.97,25.08,24.69,24.70,64214600,23.79
-2005-07-05,24.66,25.19,24.62,24.98,61883500,24.06
-2005-07-01,24.85,24.99,24.67,24.71,69718400,23.80
-2005-06-30,25.06,25.14,24.82,24.84,82018200,23.92
-2005-06-29,25.22,25.32,25.00,25.09,55859900,24.16
-2005-06-28,25.09,25.20,25.03,25.07,53058100,24.14
-2005-06-27,25.07,25.25,25.03,25.05,61636200,24.12
-2005-06-24,25.22,25.40,25.04,25.04,57970700,24.12
-2005-06-23,25.17,25.62,25.15,25.31,105159800,24.38
-2005-06-22,25.11,25.26,25.03,25.07,60492700,24.14
-2005-06-21,25.08,25.19,25.04,25.15,81084000,24.22
-2005-06-20,24.98,25.28,24.93,25.11,50538900,24.18
-2005-06-17,25.27,25.29,24.92,25.04,90821300,24.12
-2005-06-16,25.22,25.23,24.95,25.04,65918800,24.12
-2005-06-15,25.40,25.41,25.11,25.26,50764800,24.33
-2005-06-14,25.31,25.44,25.24,25.36,44243300,24.42
-2005-06-13,25.36,25.49,25.26,25.31,49104100,24.38
-2005-06-10,25.49,25.52,25.34,25.43,39459800,24.49
-2005-06-09,25.40,25.61,25.35,25.51,52767900,24.57
-2005-06-08,25.55,25.62,25.34,25.40,45369700,24.46
-2005-06-07,25.33,25.83,25.31,25.51,54511400,24.57
-2005-06-06,25.38,25.50,25.31,25.37,40756900,24.43
-2005-06-03,25.70,25.81,25.34,25.43,79659500,24.49
-2005-06-02,25.71,25.86,25.64,25.79,27212500,24.84
-2005-06-01,25.73,26.00,25.61,25.81,54621000,24.86
-2005-05-31,25.99,26.03,25.75,25.80,46131100,24.85
-2005-05-27,25.83,26.09,25.81,26.07,54978000,25.11
-2005-05-26,25.75,26.00,25.73,25.90,50579200,24.94
-2005-05-25,25.68,25.77,25.50,25.71,35749000,24.76
-2005-05-24,25.80,25.88,25.72,25.75,61287700,24.80
-2005-05-23,25.74,26.07,25.74,25.85,75421100,24.90
-2005-05-20,25.88,25.92,25.73,25.74,64444500,24.79
-2005-05-19,25.75,26.05,25.70,25.92,52120800,24.96
-2005-05-18,25.50,25.84,25.42,25.70,71182400,24.75
-2005-05-17,25.31,25.50,25.25,25.46,39983200,24.52
-2005-05-16,25.23,25.50,25.19,25.49,50577300,24.55
-2005-05-13,25.03,25.38,24.99,25.30,77204300,24.29
-2005-05-12,24.84,25.11,24.83,25.00,74540700,24.00
-2005-05-11,24.89,24.97,24.64,24.91,59463300,23.91
-2005-05-10,25.04,25.08,24.82,24.90,62235100,23.90
-2005-05-09,25.23,25.33,25.05,25.11,61872400,24.11
-2005-05-06,25.33,25.48,25.19,25.22,64322600,24.21
-2005-05-05,25.20,25.33,25.08,25.23,59362300,24.22
-2005-05-04,25.34,25.40,25.11,25.21,86864200,24.20
-2005-05-03,25.13,25.40,25.09,25.36,67867800,24.35
-2005-05-02,25.23,25.36,24.95,25.23,54376700,24.22
-2005-04-29,24.88,25.30,24.79,25.30,98641200,24.29
-2005-04-28,24.82,24.92,24.44,24.45,83623100,23.47
-2005-04-27,24.66,25.15,24.63,24.99,47732800,23.99
-2005-04-26,24.95,25.25,24.74,24.76,60464300,23.77
-2005-04-25,25.07,25.28,24.86,24.99,75457900,23.99
-2005-04-22,25.05,25.25,24.78,24.98,80087500,23.98
-2005-04-21,24.48,25.39,24.47,25.28,93562300,24.27
-2005-04-20,24.66,24.70,24.30,24.32,91923500,23.35
-2005-04-19,24.71,24.80,24.45,24.63,65956200,23.65
-2005-04-18,24.45,24.84,24.40,24.65,75766400,23.66
-2005-04-15,24.58,24.90,24.41,24.46,100251600,23.48
-2005-04-14,25.01,25.14,24.83,24.84,66754400,23.85
-2005-04-13,25.23,25.45,24.99,25.04,60929300,24.04
-2005-04-12,24.92,25.35,24.80,25.32,67517800,24.31
-2005-04-11,25.03,25.11,24.86,24.97,47791800,23.97
-2005-04-08,25.07,25.25,24.91,24.94,47956300,23.94
-2005-04-07,24.66,25.13,24.63,25.10,77451500,24.10
-2005-04-06,24.47,24.94,24.45,24.67,78020200,23.68
-2005-04-05,24.22,24.50,24.12,24.47,73549600,23.49
-2005-04-04,24.11,24.26,23.94,24.23,62196400,23.26
-2005-04-01,24.24,24.35,24.10,24.12,64619600,23.16
-2005-03-31,24.25,24.31,24.12,24.17,62382300,23.20
-2005-03-30,24.04,24.19,24.00,24.16,59585700,23.19
-2005-03-29,24.14,24.24,23.82,23.92,74231700,22.96
-2005-03-28,24.40,24.47,24.18,24.20,49802000,23.23
-2005-03-24,24.24,24.47,24.20,24.28,78820900,23.31
-2005-03-23,23.99,24.39,23.96,24.18,79293300,23.21
-2005-03-22,24.19,24.27,23.96,23.99,102113300,23.03
-2005-03-21,24.35,24.36,24.15,24.20,71446200,23.23
-2005-03-18,24.53,24.91,24.28,24.31,135904000,23.34
-2005-03-17,24.64,24.68,24.53,24.54,60573200,23.56
-2005-03-16,24.82,24.97,24.56,24.63,74841400,23.65
-2005-03-15,25.10,25.24,24.89,24.91,71469400,23.91
-2005-03-14,25.08,25.15,24.96,25.11,65550500,24.11
-2005-03-11,25.45,25.48,25.06,25.09,60617900,24.09
-2005-03-10,25.43,25.48,25.25,25.43,59132900,24.41
-2005-03-09,25.39,25.57,25.28,25.31,62991800,24.30
-2005-03-08,25.40,25.62,25.34,25.40,52871800,24.38
-2005-03-07,25.17,25.79,25.16,25.47,80407400,24.45
-2005-03-04,25.21,25.30,25.13,25.17,63058200,24.16
-2005-03-03,25.30,25.31,25.14,25.17,52183600,24.16
-2005-03-02,25.19,25.48,25.16,25.26,67739000,24.25
-2005-03-01,25.19,25.41,25.13,25.28,56394800,24.27
-2005-02-28,25.22,25.37,25.13,25.16,82728000,24.15
-2005-02-25,25.33,25.38,25.15,25.25,62467700,24.24
-2005-02-24,25.18,25.44,25.15,25.37,85236300,24.36
-2005-02-23,25.24,25.35,25.17,25.20,83689400,24.19
-2005-02-22,25.25,25.49,25.20,25.23,96419200,24.22
-2005-02-18,25.64,25.65,25.40,25.48,77091100,24.46
-2005-02-17,25.71,25.86,25.60,25.65,67024800,24.62
-2005-02-16,25.87,25.93,25.67,25.79,57506600,24.76
-2005-02-15,26.00,26.08,25.86,25.93,76551600,24.89
-2005-02-14,25.93,26.12,25.91,26.01,58694000,24.89
-2005-02-11,26.03,26.12,25.81,25.97,83835900,24.86
-2005-02-10,26.10,26.13,26.00,26.06,71796400,24.94
-2005-02-09,26.25,26.31,26.04,26.07,77874800,24.95
-2005-02-08,26.19,26.34,26.16,26.24,61343700,25.11
-2005-02-07,26.27,26.30,26.06,26.16,57763400,25.04
-2005-02-04,26.17,26.37,26.14,26.32,61246500,25.19
-2005-02-03,26.37,26.40,26.10,26.18,62545400,25.06
-2005-02-02,26.42,26.50,26.28,26.46,79329500,25.32
-2005-02-01,26.25,26.43,26.22,26.39,57981700,25.26
-2005-01-31,26.35,26.52,26.16,26.28,71442100,25.15
-2005-01-28,26.54,26.65,25.96,26.18,110466500,25.06
-2005-01-27,25.95,26.16,25.85,26.11,93204100,24.99
-2005-01-26,26.07,26.17,25.90,26.01,64974500,24.89
-2005-01-25,25.76,26.19,25.75,26.02,67580700,24.90
-2005-01-24,25.76,26.00,25.64,25.67,69010900,24.57
-2005-01-21,25.95,26.13,25.64,25.65,76501000,24.55
-2005-01-20,25.84,26.10,25.74,25.86,58380100,24.75
-2005-01-19,26.21,26.26,25.92,25.98,58114100,24.86
-2005-01-18,26.03,26.35,25.84,26.32,69146400,25.19
-2005-01-14,26.40,26.45,26.04,26.12,92180800,25.00
-2005-01-13,26.68,26.80,26.16,26.27,89861600,25.14
-2005-01-12,26.77,26.85,26.62,26.78,72940600,25.63
-2005-01-11,26.69,26.82,26.61,26.73,64712000,25.58
-2005-01-10,26.60,26.86,26.54,26.80,70376600,25.65
-2005-01-07,26.82,26.89,26.62,26.67,68723300,25.53
-2005-01-06,26.85,27.06,26.64,26.75,76890500,25.60
-2005-01-05,26.84,27.10,26.76,26.78,72463500,25.63
-2005-01-04,26.87,27.10,26.66,26.84,109442100,25.69
-2005-01-03,26.80,26.95,26.65,26.74,65002900,25.59
diff --git a/includes/js/dojox/charting/tests/data/yahoo_prices.csv b/includes/js/dojox/charting/tests/data/yahoo_prices.csv
deleted file mode 100644
index 261889b..0000000
--- a/includes/js/dojox/charting/tests/data/yahoo_prices.csv
+++ /dev/null
@@ -1,796 +0,0 @@
-Date,Open,High,Low,Close,Volume,Adj Close
-2008-02-29,27.94,28.41,27.50,27.78,23860500,27.78
-2008-02-28,27.98,28.82,27.96,28.15,30113200,28.15
-2008-02-27,28.33,28.49,27.75,28.37,27664100,28.37
-2008-02-26,27.93,28.55,27.81,28.22,26013000,28.22
-2008-02-25,28.42,28.57,27.75,28.13,32470600,28.13
-2008-02-22,28.36,28.64,27.98,28.42,26157800,28.42
-2008-02-21,28.76,29.17,28.25,28.42,34494000,28.42
-2008-02-20,28.71,29.04,28.39,28.83,29274700,28.83
-2008-02-19,29.34,29.42,28.75,29.01,38679600,29.01
-2008-02-15,29.95,30.15,29.43,29.66,40125200,29.66
-2008-02-14,29.98,30.25,29.75,29.98,38045600,29.98
-2008-02-13,29.78,30.07,29.60,29.88,57047700,29.88
-2008-02-12,29.81,29.84,29.40,29.57,42445600,29.57
-2008-02-11,29.89,30.05,29.32,29.87,67253700,29.87
-2008-02-08,28.98,29.22,28.71,29.20,55618900,29.20
-2008-02-07,28.63,29.19,28.60,29.04,44248800,29.04
-2008-02-06,29.11,29.33,28.53,28.57,55648800,28.57
-2008-02-05,28.78,29.57,28.75,28.98,68583700,28.98
-2008-02-04,28.33,29.50,28.33,29.33,144814000,29.33
-2008-02-01,28.68,29.83,27.34,28.38,438248800,28.38
-2008-01-31,18.87,19.35,18.72,19.18,41449800,19.18
-2008-01-30,18.62,20.81,18.58,19.05,115993300,19.05
-2008-01-29,20.87,20.90,20.05,20.81,79230000,20.81
-2008-01-28,21.56,21.90,20.42,20.78,32473100,20.78
-2008-01-25,22.24,22.37,21.32,21.94,28386800,21.94
-2008-01-24,20.44,21.75,20.42,21.69,39823300,21.69
-2008-01-23,19.25,20.34,18.72,20.01,42064200,20.01
-2008-01-22,19.29,21.03,19.26,19.86,38126200,19.86
-2008-01-18,21.27,21.61,20.07,20.78,41239300,20.78
-2008-01-17,22.00,22.17,21.14,21.22,28812600,21.22
-2008-01-16,22.20,22.75,21.73,21.95,38155300,21.95
-2008-01-15,23.00,23.49,22.57,22.91,31911000,22.91
-2008-01-14,23.51,23.76,23.18,23.70,18552900,23.70
-2008-01-11,23.81,24.13,22.98,23.36,27297400,23.36
-2008-01-10,23.19,24.57,22.83,24.09,52342100,24.09
-2008-01-09,22.47,22.80,21.37,22.56,46662700,22.56
-2008-01-08,23.28,23.65,22.50,22.61,22974000,22.61
-2008-01-07,23.12,23.56,22.73,23.18,24769400,23.18
-2008-01-04,23.81,23.81,23.10,23.16,20745800,23.16
-2008-01-03,23.86,24.19,23.70,23.84,20179700,23.84
-2008-01-02,23.80,24.15,23.60,23.72,25671700,23.72
-2007-12-31,23.22,23.43,23.11,23.26,14782600,23.26
-2007-12-28,23.66,23.71,23.21,23.45,13773000,23.45
-2007-12-27,23.60,24.15,23.57,23.71,16041500,23.71
-2007-12-26,23.85,24.25,23.85,23.96,9821600,23.96
-2007-12-24,24.01,24.19,23.94,24.05,24861800,24.05
-2007-12-21,23.88,24.10,23.74,24.01,24094600,24.01
-2007-12-20,23.50,23.80,23.24,23.64,21030700,23.64
-2007-12-19,22.92,23.69,22.92,23.31,26547300,23.31
-2007-12-18,23.22,23.35,22.80,23.02,27735600,23.02
-2007-12-17,23.80,24.03,22.94,23.04,37877100,23.04
-2007-12-14,24.13,24.47,24.00,24.06,15125500,24.06
-2007-12-13,24.39,24.75,24.19,24.38,23787400,24.38
-2007-12-12,24.82,25.00,24.11,24.54,20241200,24.54
-2007-12-11,25.15,25.65,24.36,24.47,28579100,24.47
-2007-12-10,25.51,25.57,24.92,25.20,26074900,25.20
-2007-12-07,25.86,26.11,25.50,25.63,11443200,25.63
-2007-12-06,25.88,26.02,25.39,25.96,19236500,25.96
-2007-12-05,26.63,26.73,25.73,25.98,21170900,25.98
-2007-12-04,26.14,26.73,26.11,26.42,14668800,26.42
-2007-12-03,26.64,27.20,26.56,26.61,15250100,26.61
-2007-11-30,26.96,27.33,26.51,26.81,23994000,26.81
-2007-11-29,26.01,26.71,25.91,26.63,17929700,26.63
-2007-11-28,26.03,26.70,25.93,26.20,23239300,26.20
-2007-11-27,25.18,26.00,25.17,25.59,19484500,25.59
-2007-11-26,26.08,26.25,25.20,25.22,24174600,25.22
-2007-11-23,25.98,26.40,25.76,26.13,9249400,26.13
-2007-11-21,26.11,26.58,25.52,25.71,23320100,25.71
-2007-11-20,26.93,27.25,25.98,26.72,25672500,26.72
-2007-11-19,27.11,27.35,26.35,26.76,33066200,26.76
-2007-11-16,25.66,27.13,25.10,26.82,53013100,26.82
-2007-11-15,24.94,25.75,24.90,25.42,27920800,25.42
-2007-11-14,26.42,26.44,25.00,25.07,38154800,25.07
-2007-11-13,25.53,26.24,25.30,26.10,34123300,26.10
-2007-11-12,25.80,26.20,24.69,24.78,31264200,24.78
-2007-11-09,26.13,26.38,25.40,25.79,45199700,25.79
-2007-11-08,28.11,28.24,25.82,26.70,58160600,26.70
-2007-11-07,29.27,29.30,27.56,27.63,57069800,27.63
-2007-11-06,31.76,31.79,29.00,29.93,63664400,29.93
-2007-11-05,30.71,32.37,30.35,31.36,43520300,31.36
-2007-11-02,30.54,31.21,29.64,31.11,34090300,31.11
-2007-11-01,30.86,31.10,30.04,30.22,26913300,30.22
-2007-10-31,31.50,31.75,30.50,31.10,34762000,31.10
-2007-10-30,31.55,31.64,30.12,30.83,52417300,30.83
-2007-10-29,34.07,34.08,31.18,31.79,83685800,31.79
-2007-10-26,32.43,33.99,31.61,33.63,66018100,33.63
-2007-10-25,30.75,31.62,30.50,31.34,38706600,31.34
-2007-10-24,30.68,30.98,30.00,30.68,33603100,30.68
-2007-10-23,30.12,30.88,30.03,30.64,45406200,30.64
-2007-10-22,28.93,30.00,28.80,29.85,27750100,29.85
-2007-10-19,29.36,29.96,28.85,29.03,41933000,29.03
-2007-10-18,28.59,29.60,28.47,29.35,28152200,29.35
-2007-10-17,29.10,29.20,28.00,28.82,75067700,28.82
-2007-10-16,27.37,27.48,26.55,26.69,56275300,26.69
-2007-10-15,28.32,28.40,27.46,27.86,22994100,27.86
-2007-10-12,27.76,28.51,27.65,28.48,22130500,28.48
-2007-10-11,28.44,28.68,27.50,27.65,25298300,27.65
-2007-10-10,28.43,28.70,27.90,28.36,14847100,28.36
-2007-10-09,28.35,28.76,27.94,28.37,19539500,28.37
-2007-10-08,28.01,28.17,27.75,28.05,15060700,28.05
-2007-10-05,27.78,28.16,27.75,27.88,28389600,27.88
-2007-10-04,27.19,27.29,26.90,27.15,19203600,27.15
-2007-10-03,27.16,27.38,26.82,27.17,18052500,27.17
-2007-10-02,27.20,27.24,26.62,26.95,15133400,26.95
-2007-10-01,26.76,27.10,26.73,27.04,16938700,27.04
-2007-09-28,26.49,26.89,26.20,26.84,22155600,26.84
-2007-09-27,26.95,26.95,26.17,26.27,21365200,26.27
-2007-09-26,26.70,27.07,26.50,26.70,18692400,26.70
-2007-09-25,25.70,26.65,25.63,26.51,33721300,26.51
-2007-09-24,26.13,26.40,25.51,25.73,27597800,25.73
-2007-09-21,25.54,26.21,25.29,26.05,53074900,26.05
-2007-09-20,25.28,25.61,25.16,25.29,17312000,25.29
-2007-09-19,25.09,25.37,24.81,25.29,25867900,25.29
-2007-09-18,25.06,25.21,24.53,25.06,28121000,25.06
-2007-09-17,24.50,25.10,24.38,24.95,20594000,24.95
-2007-09-14,23.69,25.00,23.65,24.73,28868600,24.73
-2007-09-13,23.60,23.96,23.60,23.72,10309000,23.72
-2007-09-12,23.64,23.94,23.53,23.56,16553700,23.56
-2007-09-11,23.31,23.84,23.31,23.71,17207500,23.71
-2007-09-10,23.85,23.85,23.10,23.30,15246000,23.30
-2007-09-07,23.76,24.05,23.60,23.76,12591900,23.76
-2007-09-06,24.22,24.32,23.62,24.15,13922100,24.15
-2007-09-05,24.10,24.40,23.91,24.10,23071000,24.10
-2007-09-04,23.30,24.50,23.20,23.97,43598600,23.97
-2007-08-31,22.81,22.83,22.51,22.73,13052500,22.73
-2007-08-30,22.49,22.91,22.38,22.61,18172500,22.61
-2007-08-29,22.60,22.69,22.27,22.55,24599900,22.55
-2007-08-28,22.95,23.10,22.50,22.52,18030600,22.52
-2007-08-27,23.59,23.76,23.01,23.03,16523800,23.03
-2007-08-24,23.03,23.73,23.03,23.59,11191100,23.59
-2007-08-23,23.35,23.36,22.95,23.13,15603000,23.13
-2007-08-22,23.22,23.52,23.18,23.23,18763700,23.23
-2007-08-21,23.25,23.48,22.91,23.04,25962900,23.04
-2007-08-20,23.64,23.74,23.18,23.34,13338900,23.34
-2007-08-17,23.26,23.63,22.76,23.54,19528200,23.54
-2007-08-16,23.00,23.15,22.50,22.76,29652200,22.76
-2007-08-15,23.56,24.00,23.25,23.32,18767700,23.32
-2007-08-14,24.69,24.70,23.69,23.72,18707100,23.72
-2007-08-13,24.21,24.74,24.01,24.57,21317600,24.57
-2007-08-10,23.93,24.22,23.52,23.94,22939800,23.94
-2007-08-09,23.67,24.45,23.51,23.80,24052500,23.80
-2007-08-08,23.46,23.87,23.43,23.87,17198000,23.87
-2007-08-07,22.75,23.70,22.69,23.44,20075300,23.44
-2007-08-06,23.03,23.15,22.44,22.97,28948000,22.97
-2007-08-03,23.20,23.39,22.87,22.92,19702100,22.92
-2007-08-02,22.65,23.70,22.65,23.36,21098900,23.36
-2007-08-01,23.17,23.40,22.85,23.25,22030400,23.25
-2007-07-31,23.88,23.93,23.24,23.25,21575800,23.25
-2007-07-30,23.55,23.88,23.38,23.62,20976600,23.62
-2007-07-27,23.98,24.49,23.47,23.49,35783800,23.49
-2007-07-26,24.40,24.49,23.62,24.03,33373300,24.03
-2007-07-25,25.01,25.32,24.59,24.68,21882400,24.68
-2007-07-24,24.80,25.34,24.73,24.84,28981000,24.84
-2007-07-23,25.43,25.46,24.98,24.99,26631500,24.99
-2007-07-20,25.70,25.89,25.20,25.35,38056100,25.35
-2007-07-19,26.32,26.34,25.92,26.03,29537900,26.03
-2007-07-18,26.07,26.72,26.02,26.20,65125900,26.20
-2007-07-17,26.74,27.80,26.70,27.53,53656100,27.53
-2007-07-16,26.48,26.74,26.13,26.70,30804500,26.70
-2007-07-13,26.87,26.97,26.50,26.58,18522700,26.58
-2007-07-12,26.70,26.97,26.34,26.96,20082300,26.96
-2007-07-11,27.03,27.05,26.55,26.69,21970700,26.69
-2007-07-10,27.09,27.57,26.96,26.97,24635500,26.97
-2007-07-09,26.92,27.33,26.82,27.20,17515800,27.20
-2007-07-06,27.01,27.14,26.93,27.10,12284500,27.10
-2007-07-05,26.92,27.14,26.90,26.99,16071900,26.99
-2007-07-03,26.95,27.25,26.90,27.00,11643400,27.00
-2007-07-02,27.19,27.27,26.76,26.86,21011000,26.86
-2007-06-29,27.21,27.38,26.93,27.13,13842500,27.13
-2007-06-28,27.44,27.49,27.12,27.25,17124500,27.25
-2007-06-27,27.51,27.66,27.40,27.58,13997000,27.58
-2007-06-26,27.73,28.18,27.36,27.71,25324000,27.71
-2007-06-25,27.60,27.77,27.34,27.64,21232200,27.64
-2007-06-22,27.68,27.79,27.31,27.38,33796900,27.38
-2007-06-21,27.69,27.94,27.55,27.67,17885800,27.67
-2007-06-20,27.89,28.17,27.66,27.66,33496400,27.66
-2007-06-19,29.40,29.40,27.54,27.63,65967500,27.63
-2007-06-18,27.72,28.34,27.50,28.12,70919400,28.12
-2007-06-15,27.49,27.52,27.19,27.31,23816900,27.31
-2007-06-14,27.38,27.64,27.15,27.30,18919400,27.30
-2007-06-13,27.12,27.41,26.61,27.38,31210700,27.38
-2007-06-12,27.30,27.66,26.98,27.05,22203600,27.05
-2007-06-11,27.27,27.52,27.15,27.35,14856500,27.35
-2007-06-08,27.02,27.45,26.96,27.39,18618500,27.39
-2007-06-07,27.34,27.73,26.98,26.98,34232300,26.98
-2007-06-06,28.05,28.11,27.30,27.44,33508200,27.44
-2007-06-05,28.40,28.59,28.10,28.23,20494800,28.23
-2007-06-04,28.60,28.78,28.40,28.59,13428800,28.59
-2007-06-01,28.90,29.13,28.61,28.78,12398800,28.78
-2007-05-31,28.76,28.85,28.49,28.70,15859100,28.70
-2007-05-30,28.19,28.38,28.00,28.38,16046800,28.38
-2007-05-29,28.36,28.73,28.20,28.40,13981500,28.40
-2007-05-25,28.44,28.73,28.34,28.58,10334600,28.58
-2007-05-24,28.65,28.88,28.25,28.41,19122900,28.41
-2007-05-23,29.10,29.37,28.53,28.61,27964400,28.61
-2007-05-22,29.33,29.35,28.78,28.92,19131300,28.92
-2007-05-21,29.62,29.86,29.32,29.35,18955900,29.35
-2007-05-18,28.90,29.80,28.78,29.75,35487200,29.75
-2007-05-17,28.99,29.13,28.49,28.57,23535000,28.57
-2007-05-16,28.89,29.37,28.25,29.21,32944800,29.21
-2007-05-15,29.16,29.42,28.75,28.81,22226800,28.81
-2007-05-14,29.79,30.00,29.08,29.31,20895900,29.31
-2007-05-11,29.62,30.08,29.53,30.05,13838800,30.05
-2007-05-10,30.52,30.69,29.61,29.70,26570200,29.70
-2007-05-09,30.17,30.44,29.95,30.22,23533100,30.22
-2007-05-08,30.24,31.10,30.21,30.41,28018200,30.41
-2007-05-07,30.13,30.98,29.86,30.38,41243900,30.38
-2007-05-04,33.27,33.61,29.58,30.98,245611400,30.98
-2007-05-03,28.25,28.50,28.01,28.18,20119500,28.18
-2007-05-02,27.72,28.26,27.72,28.12,16911800,28.12
-2007-05-01,28.25,28.35,27.53,27.73,18310900,27.73
-2007-04-30,28.32,28.50,28.00,28.04,17596300,28.04
-2007-04-27,28.35,28.86,28.17,28.34,21097000,28.34
-2007-04-26,27.98,28.65,27.73,28.49,32331000,28.49
-2007-04-25,28.22,28.27,27.68,28.06,35568600,28.06
-2007-04-24,28.03,28.26,27.69,28.02,25964000,28.02
-2007-04-23,27.53,28.14,27.37,27.88,27262400,27.88
-2007-04-20,27.86,27.86,27.37,27.46,39123300,27.46
-2007-04-19,28.10,28.23,27.46,27.51,45664700,27.51
-2007-04-18,28.42,28.90,27.89,28.31,127875300,28.31
-2007-04-17,31.98,32.14,31.71,32.09,43223800,32.09
-2007-04-16,31.68,31.79,31.24,31.61,14359100,31.61
-2007-04-13,31.15,31.50,30.96,31.41,12006300,31.41
-2007-04-12,31.26,31.42,31.10,31.21,13904800,31.21
-2007-04-11,31.65,31.73,30.90,31.17,16141100,31.17
-2007-04-10,31.64,32.02,31.60,31.69,12797600,31.69
-2007-04-09,32.01,32.24,31.60,31.64,12408000,31.64
-2007-04-05,32.00,32.09,31.72,31.96,13878100,31.96
-2007-04-04,31.61,31.87,31.48,31.62,7836200,31.62
-2007-04-03,31.41,32.00,31.41,31.72,12324600,31.72
-2007-04-02,31.22,31.40,30.93,31.28,8668800,31.28
-2007-03-30,31.21,31.60,31.02,31.29,9425000,31.29
-2007-03-29,31.71,31.73,30.83,31.34,13815000,31.34
-2007-03-28,31.45,31.70,31.25,31.41,13162500,31.41
-2007-03-27,31.56,31.66,31.24,31.55,9403100,31.55
-2007-03-26,31.25,31.74,31.24,31.66,12907000,31.66
-2007-03-23,31.33,31.70,31.16,31.36,12727900,31.36
-2007-03-22,31.36,31.44,30.85,31.26,12989800,31.26
-2007-03-21,30.33,31.39,30.21,31.29,26667300,31.29
-2007-03-20,30.00,30.35,29.94,30.33,12203800,30.33
-2007-03-19,30.00,30.19,29.92,30.03,9983800,30.03
-2007-03-16,30.02,30.11,29.72,29.88,19799300,29.88
-2007-03-15,29.81,30.07,29.78,30.06,15440900,30.06
-2007-03-14,29.63,30.04,29.26,29.86,23604900,29.86
-2007-03-13,29.77,30.24,29.42,29.56,18263800,29.56
-2007-03-12,29.30,30.11,29.29,29.99,35991600,29.99
-2007-03-09,29.85,30.15,28.79,29.12,72749900,29.12
-2007-03-08,30.82,31.04,30.58,30.71,13715100,30.71
-2007-03-07,30.95,31.03,30.33,30.39,16014300,30.39
-2007-03-06,30.89,31.06,30.52,30.80,33472600,30.80
-2007-03-05,30.18,31.90,30.14,30.31,21469000,30.31
-2007-03-02,30.54,30.89,30.28,30.42,18136600,30.42
-2007-03-01,30.13,31.23,30.00,30.86,24012900,30.86
-2007-02-28,30.86,31.47,30.09,30.86,30487800,30.86
-2007-02-27,31.38,31.64,30.24,30.95,31505200,30.95
-2007-02-26,32.80,32.84,30.85,32.11,28295200,32.11
-2007-02-23,31.60,32.18,31.41,32.10,21533500,32.10
-2007-02-22,31.60,32.08,31.32,31.60,15485100,31.60
-2007-02-21,31.74,31.77,31.22,31.65,27999200,31.65
-2007-02-20,31.80,32.21,31.39,32.01,20026500,32.01
-2007-02-16,31.00,32.00,31.00,31.91,36774800,31.91
-2007-02-15,30.82,31.65,30.69,31.25,28160300,31.25
-2007-02-14,29.69,30.86,29.64,30.66,30821100,30.66
-2007-02-13,29.37,29.68,29.26,29.56,12802300,29.56
-2007-02-12,29.29,29.77,29.05,29.17,18316200,29.17
-2007-02-09,30.07,30.16,29.51,29.74,18172200,29.74
-2007-02-08,29.75,30.24,29.73,30.08,15561700,30.08
-2007-02-07,29.35,30.15,29.12,29.89,29162600,29.89
-2007-02-06,28.61,29.56,28.60,29.35,24506800,29.35
-2007-02-05,28.67,28.80,28.36,28.56,11163300,28.56
-2007-02-02,28.57,28.92,28.45,28.77,16483100,28.77
-2007-02-01,28.68,28.71,28.15,28.35,17905200,28.35
-2007-01-31,28.04,28.48,27.82,28.31,14100300,28.31
-2007-01-30,27.87,28.39,27.61,28.04,13576600,28.04
-2007-01-29,28.05,28.21,27.73,27.87,16859000,27.87
-2007-01-26,28.33,28.52,27.96,28.04,21334800,28.04
-2007-01-25,28.68,29.05,28.13,28.21,28356200,28.21
-2007-01-24,28.34,29.20,28.22,28.94,81017500,28.94
-2007-01-23,27.42,27.54,26.88,26.96,43728100,26.96
-2007-01-22,27.85,27.90,27.18,27.42,23199800,27.42
-2007-01-19,27.93,28.34,27.55,27.64,24757700,27.64
-2007-01-18,28.92,28.99,27.82,28.12,23869400,28.12
-2007-01-17,29.40,29.40,28.81,29.05,17796100,29.05
-2007-01-16,29.88,29.88,28.79,29.29,24448400,29.29
-2007-01-12,28.98,29.50,28.49,29.45,20971100,29.45
-2007-01-11,28.76,29.37,28.70,29.20,28457500,29.20
-2007-01-10,27.48,28.92,27.44,28.70,40240000,28.70
-2007-01-09,28.00,28.05,27.41,27.58,25621500,27.58
-2007-01-08,27.70,28.04,27.43,27.92,25713700,27.92
-2007-01-05,26.70,27.87,26.66,27.74,64264600,27.74
-2007-01-04,25.64,26.92,25.52,26.85,32512200,26.85
-2007-01-03,25.85,26.26,25.26,25.61,26352700,25.61
-2006-12-29,25.42,25.82,25.33,25.54,16297800,25.54
-2006-12-28,25.62,25.72,25.30,25.36,11908400,25.36
-2006-12-27,25.47,25.88,25.45,25.75,12421800,25.75
-2006-12-26,25.49,25.61,25.34,25.45,8400500,25.45
-2006-12-22,25.67,25.88,25.45,25.55,14666100,25.55
-2006-12-21,25.71,25.75,25.13,25.48,27050600,25.48
-2006-12-20,26.24,26.31,25.54,25.59,24905600,25.59
-2006-12-19,26.05,26.50,25.91,26.41,18973800,26.41
-2006-12-18,26.89,26.97,26.07,26.30,19431200,26.30
-2006-12-15,27.00,27.22,26.76,26.90,27227300,26.90
-2006-12-14,26.63,26.97,26.50,26.87,14400300,26.87
-2006-12-13,27.05,27.23,26.51,26.60,20428600,26.60
-2006-12-12,26.63,27.38,26.60,26.75,31971600,26.75
-2006-12-11,26.37,26.70,26.12,26.49,12916900,26.49
-2006-12-08,26.65,26.78,26.27,26.34,19262200,26.34
-2006-12-07,26.95,27.16,26.60,26.63,22407000,26.63
-2006-12-06,27.25,27.45,26.60,26.86,35202800,26.86
-2006-12-05,26.87,27.61,26.86,27.43,27118200,27.43
-2006-12-04,26.49,27.30,26.49,26.89,28012700,26.89
-2006-12-01,27.00,27.25,26.00,26.49,20055800,26.49
-2006-11-30,27.00,27.15,26.73,27.01,14916300,27.01
-2006-11-29,27.40,27.40,26.71,27.04,19375100,27.04
-2006-11-28,27.03,27.24,26.85,27.00,14940800,27.00
-2006-11-27,27.50,28.50,27.17,27.27,19922300,27.27
-2006-11-24,28.22,28.49,27.70,28.03,9384400,28.03
-2006-11-22,27.51,28.56,27.29,28.49,32055800,28.49
-2006-11-21,26.50,27.34,26.50,27.14,21138300,27.14
-2006-11-20,26.96,27.04,26.63,26.72,20272000,26.72
-2006-11-17,26.68,27.05,26.63,26.91,17955200,26.91
-2006-11-16,27.31,27.33,26.20,26.64,38508500,26.64
-2006-11-15,27.18,27.50,27.03,27.15,22112700,27.15
-2006-11-14,27.40,27.50,27.11,27.24,20145700,27.24
-2006-11-13,27.17,27.62,27.15,27.40,16876500,27.40
-2006-11-10,27.40,27.50,27.03,27.39,21366600,27.39
-2006-11-09,27.18,27.65,26.96,27.45,27428600,27.45
-2006-11-08,26.36,27.25,26.31,26.90,23384800,26.90
-2006-11-07,26.69,27.15,26.58,26.61,28442700,26.61
-2006-11-06,26.34,26.70,26.10,26.59,22563600,26.59
-2006-11-03,26.63,26.70,26.04,26.18,15313800,26.18
-2006-11-02,25.94,26.60,25.77,26.53,34824500,26.53
-2006-11-01,26.50,26.62,25.82,25.99,26300200,25.99
-2006-10-31,26.44,26.70,26.10,26.34,33492800,26.34
-2006-10-30,25.87,26.40,25.66,25.95,35295800,25.95
-2006-10-27,25.23,25.60,24.90,25.34,29647200,25.34
-2006-10-26,24.70,25.33,24.36,25.28,38435800,25.28
-2006-10-25,23.73,24.64,23.69,24.49,40110600,24.49
-2006-10-24,23.35,23.64,23.15,23.53,31704000,23.53
-2006-10-23,23.14,23.50,23.10,23.37,26301200,23.37
-2006-10-20,23.22,23.27,22.65,23.21,49795600,23.21
-2006-10-19,23.02,23.59,23.00,23.14,42280400,23.14
-2006-10-18,24.57,24.75,22.88,22.99,111660900,22.99
-2006-10-17,23.74,24.35,23.68,24.15,67417200,24.15
-2006-10-16,24.34,24.52,23.75,24.18,36496400,24.18
-2006-10-13,23.90,24.50,23.57,24.42,51338900,24.42
-2006-10-12,24.32,24.38,24.10,24.12,25824500,24.12
-2006-10-11,24.29,24.64,23.80,24.24,39356300,24.24
-2006-10-10,24.94,25.03,24.32,24.47,30371900,24.47
-2006-10-09,25.45,25.72,25.00,25.03,15729500,25.03
-2006-10-06,25.09,25.50,25.01,25.47,20847000,25.47
-2006-10-05,25.16,25.25,24.88,25.18,17634000,25.18
-2006-10-04,24.89,25.26,24.74,25.21,21717900,25.21
-2006-10-03,24.81,25.00,24.70,24.84,21148300,24.84
-2006-10-02,25.45,25.46,24.75,24.88,19641300,24.88
-2006-09-29,25.50,25.59,25.24,25.28,18982600,25.28
-2006-09-28,24.87,25.50,24.84,25.33,35331200,25.33
-2006-09-27,25.00,25.01,24.60,24.65,29835900,24.65
-2006-09-26,25.44,25.48,24.81,25.05,34950100,25.05
-2006-09-25,25.64,25.87,25.20,25.29,19992400,25.29
-2006-09-22,25.34,25.69,25.18,25.52,20667400,25.52
-2006-09-21,25.53,25.95,25.21,25.34,28584500,25.34
-2006-09-20,26.04,26.09,25.38,25.64,55636600,25.64
-2006-09-19,29.09,29.13,25.10,25.75,127718600,25.75
-2006-09-18,29.37,29.39,28.58,29.00,15685000,29.00
-2006-09-15,29.30,29.57,29.22,29.32,19550300,29.32
-2006-09-14,29.10,29.24,28.89,29.03,9565500,29.03
-2006-09-13,29.06,29.37,28.80,29.17,15248400,29.17
-2006-09-12,28.55,29.22,28.46,29.09,10005000,29.09
-2006-09-11,28.05,28.73,27.67,28.61,12936000,28.61
-2006-09-08,28.04,28.32,27.97,28.14,9781800,28.14
-2006-09-07,28.40,28.51,27.82,27.86,18434400,27.86
-2006-09-06,28.94,29.01,28.49,28.50,12800600,28.50
-2006-09-05,29.45,29.48,28.95,29.07,11425600,29.07
-2006-09-01,28.91,29.53,28.91,29.49,11573600,29.49
-2006-08-31,28.99,29.02,28.59,28.83,8879300,28.83
-2006-08-30,29.00,29.14,28.71,29.02,13119300,29.02
-2006-08-29,28.86,29.01,28.51,28.96,9888800,28.96
-2006-08-28,28.75,29.25,28.70,28.91,10404700,28.91
-2006-08-25,28.95,29.28,28.74,28.77,6203800,28.77
-2006-08-24,28.75,29.13,28.70,28.99,8983600,28.99
-2006-08-23,29.34,29.47,28.68,28.70,8837400,28.70
-2006-08-22,28.84,29.65,28.80,29.26,10891800,29.26
-2006-08-21,29.22,29.52,28.83,28.90,11575200,28.90
-2006-08-18,28.90,29.97,28.77,29.78,19611300,29.78
-2006-08-17,28.38,29.32,28.34,28.91,17251600,28.91
-2006-08-16,28.35,28.46,27.97,28.39,12589400,28.39
-2006-08-15,27.58,28.20,27.48,28.17,15298500,28.17
-2006-08-14,27.71,27.80,27.00,27.26,10640100,27.26
-2006-08-11,27.52,27.72,27.40,27.50,9252200,27.50
-2006-08-10,26.95,27.80,26.85,27.49,12597900,27.49
-2006-08-09,27.75,27.85,27.00,27.22,14736100,27.22
-2006-08-08,26.95,27.70,26.63,27.44,19332800,27.44
-2006-08-07,26.92,27.11,26.58,27.08,12847200,27.08
-2006-08-04,27.20,27.58,26.83,26.99,11607900,26.99
-2006-08-03,26.50,27.05,26.40,26.90,15468500,26.90
-2006-08-02,27.01,27.10,26.45,26.63,18116200,26.63
-2006-08-01,27.06,27.12,26.74,26.94,18613100,26.94
-2006-07-31,27.46,27.55,26.99,27.14,16492600,27.14
-2006-07-28,26.90,27.50,26.33,27.47,21584800,27.47
-2006-07-27,27.35,27.50,26.64,26.70,25153000,26.70
-2006-07-26,26.78,27.51,26.57,27.08,20073800,27.08
-2006-07-25,26.75,27.19,26.57,26.95,21388800,26.95
-2006-07-24,26.24,27.23,25.89,26.94,42631300,26.94
-2006-07-21,24.99,26.06,24.91,25.89,36187100,25.89
-2006-07-20,25.55,26.21,24.91,25.27,54659700,25.27
-2006-07-19,26.41,26.70,25.04,25.20,204339000,25.20
-2006-07-18,32.08,32.26,31.25,32.24,39767700,32.24
-2006-07-17,31.98,32.40,31.69,31.84,16369600,31.84
-2006-07-14,32.34,32.48,31.85,32.08,12484700,32.08
-2006-07-13,32.85,33.16,32.07,32.23,19463500,32.23
-2006-07-12,33.03,33.74,32.99,33.38,18708400,33.38
-2006-07-11,32.79,33.35,32.32,33.17,11285900,33.17
-2006-07-10,32.91,33.14,32.73,32.85,15317600,32.85
-2006-07-07,32.94,33.05,32.37,32.50,12372500,32.50
-2006-07-06,32.77,33.22,32.70,33.11,13801500,33.11
-2006-07-05,32.85,32.99,32.33,32.47,13453900,32.47
-2006-07-03,32.90,33.44,32.90,33.30,8067100,33.30
-2006-06-30,33.01,33.12,32.54,33.00,22566600,33.00
-2006-06-29,32.26,33.00,32.20,32.97,15745900,32.97
-2006-06-28,31.75,32.17,31.70,31.92,14032800,31.92
-2006-06-27,31.85,32.22,31.32,31.51,16589400,31.51
-2006-06-26,31.45,31.70,31.16,31.55,11457000,31.55
-2006-06-23,31.08,31.76,30.82,31.37,17378500,31.37
-2006-06-22,30.85,31.16,30.44,30.68,11500300,30.68
-2006-06-21,30.77,31.54,30.65,31.06,18252900,31.06
-2006-06-20,30.42,30.65,30.10,30.60,12613200,30.60
-2006-06-19,30.51,30.75,30.06,30.35,12236700,30.35
-2006-06-16,30.70,30.86,30.15,30.36,12951700,30.36
-2006-06-15,29.98,30.96,29.72,30.79,22375000,30.79
-2006-06-14,29.81,30.00,29.25,29.62,19257500,29.62
-2006-06-13,29.77,30.20,29.51,29.65,16435700,29.65
-2006-06-12,30.37,30.65,29.66,29.78,14344600,29.78
-2006-06-09,30.70,30.80,30.23,30.37,10044700,30.37
-2006-06-08,30.43,30.99,29.83,30.45,20538600,30.45
-2006-06-07,30.80,31.25,30.36,30.54,17470100,30.54
-2006-06-06,30.83,30.97,30.35,30.70,15615600,30.70
-2006-06-05,31.19,31.43,30.79,30.82,17188500,30.82
-2006-06-02,32.11,32.19,31.30,31.52,16470900,31.52
-2006-06-01,31.83,32.00,31.49,31.99,16652400,31.99
-2006-05-31,32.19,32.32,31.11,31.59,21306700,31.59
-2006-05-30,32.73,32.89,31.79,32.00,16247600,32.00
-2006-05-26,32.86,33.02,32.35,33.02,13842600,33.02
-2006-05-25,32.94,33.50,32.50,32.92,34732700,32.92
-2006-05-24,30.95,32.02,30.71,31.79,27286300,31.79
-2006-05-23,31.04,31.63,30.76,30.76,28583400,30.76
-2006-05-22,30.42,30.98,29.89,30.46,35089300,30.46
-2006-05-19,29.05,29.75,28.60,29.53,33121900,29.53
-2006-05-18,30.10,30.36,28.93,29.00,38254000,29.00
-2006-05-17,30.61,31.26,30.04,30.11,39847500,30.11
-2006-05-16,31.10,31.22,30.63,30.97,15333700,30.97
-2006-05-15,30.85,31.25,30.60,31.03,13350700,31.03
-2006-05-12,30.71,31.18,30.38,30.81,16745600,30.81
-2006-05-11,31.96,32.17,30.87,30.99,24277000,30.99
-2006-05-10,32.48,32.56,32.00,32.09,13797500,32.09
-2006-05-09,32.68,34.00,32.35,32.49,13396400,32.49
-2006-05-08,33.09,33.43,32.63,32.87,18188200,32.87
-2006-05-05,32.63,32.75,32.22,32.66,14689200,32.66
-2006-05-04,32.40,32.56,32.08,32.19,10402300,32.19
-2006-05-03,32.40,33.00,31.75,32.17,23292600,32.17
-2006-05-02,32.20,32.91,31.72,31.85,16276000,31.85
-2006-05-01,32.99,33.10,31.86,32.08,19752200,32.08
-2006-04-28,32.88,33.45,32.78,32.78,13283500,32.78
-2006-04-27,32.79,33.50,32.40,33.20,19635700,33.20
-2006-04-26,32.30,33.09,32.10,33.00,24426400,33.00
-2006-04-25,32.99,33.06,31.88,31.99,22363200,31.99
-2006-04-24,33.01,33.45,32.90,33.01,15441600,33.01
-2006-04-21,33.36,34.09,32.70,32.89,25215000,32.89
-2006-04-20,33.48,33.70,32.93,33.37,23403900,33.37
-2006-04-19,33.47,33.98,32.76,33.54,77253600,33.54
-2006-04-18,31.17,31.38,30.53,31.30,38604500,31.30
-2006-04-17,31.16,31.79,30.66,30.97,18239900,30.97
-2006-04-13,31.14,31.40,30.85,31.13,15609800,31.13
-2006-04-12,31.44,31.50,30.89,31.10,14926900,31.10
-2006-04-11,32.45,32.60,31.15,31.39,22105600,31.39
-2006-04-10,32.28,32.63,32.12,32.55,9618000,32.55
-2006-04-07,32.85,32.97,32.21,32.27,12980200,32.27
-2006-04-06,32.12,33.14,32.11,32.79,21572600,32.79
-2006-04-05,32.30,32.50,31.96,32.11,11982500,32.11
-2006-04-04,31.69,32.25,31.66,32.10,16232700,32.10
-2006-04-03,32.41,32.53,31.79,31.89,14887900,31.89
-2006-03-31,32.45,32.63,32.01,32.26,12677300,32.26
-2006-03-30,32.75,32.83,32.09,32.42,14314000,32.42
-2006-03-29,32.44,32.91,32.14,32.56,25508200,32.56
-2006-03-28,31.45,32.50,31.41,32.39,25981500,32.39
-2006-03-27,31.84,32.08,31.30,31.45,14858500,31.45
-2006-03-24,32.28,32.31,31.53,31.77,17816500,31.77
-2006-03-23,31.52,31.95,31.48,31.83,33834000,31.83
-2006-03-22,30.33,30.91,30.31,30.75,23147400,30.75
-2006-03-21,30.11,30.78,30.02,30.11,18876400,30.11
-2006-03-20,30.38,30.93,30.20,30.44,21455200,30.44
-2006-03-17,30.35,30.36,29.83,30.07,23629700,30.07
-2006-03-16,30.77,30.88,30.10,30.13,17108000,30.13
-2006-03-15,31.25,31.28,30.47,30.53,20758000,30.53
-2006-03-14,30.10,31.00,30.10,30.99,19294700,30.99
-2006-03-13,30.72,30.97,30.12,30.15,18437700,30.15
-2006-03-10,30.40,31.10,29.75,30.58,28991400,30.58
-2006-03-09,31.05,31.32,30.25,30.28,18277000,30.28
-2006-03-08,31.31,31.55,30.82,30.99,20910200,30.99
-2006-03-07,31.42,32.20,31.31,31.43,23365100,31.43
-2006-03-06,31.53,31.94,31.45,31.57,17211200,31.57
-2006-03-03,31.70,32.07,31.38,31.45,23196000,31.45
-2006-03-02,32.01,32.11,31.58,31.70,23487300,31.70
-2006-03-01,32.21,32.42,31.72,32.18,18466100,32.18
-2006-02-28,32.63,32.98,31.34,32.06,39926200,32.06
-2006-02-27,33.11,33.21,32.57,32.74,11821900,32.74
-2006-02-24,33.20,33.34,32.92,33.01,10136400,33.01
-2006-02-23,33.01,33.66,32.88,33.15,14947600,33.15
-2006-02-22,32.49,33.34,32.40,33.16,18433500,33.16
-2006-02-21,32.90,33.07,32.38,32.39,14328100,32.39
-2006-02-17,32.88,33.14,32.71,32.76,12620200,32.76
-2006-02-16,33.30,33.40,32.60,32.75,19500100,32.75
-2006-02-15,32.62,33.33,32.55,33.02,19542100,33.02
-2006-02-14,32.14,32.83,32.05,32.72,26198600,32.72
-2006-02-13,32.21,32.44,31.70,32.04,26139300,32.04
-2006-02-10,32.58,32.60,32.10,32.51,19628600,32.51
-2006-02-09,33.01,33.36,32.40,32.50,25335200,32.50
-2006-02-08,33.24,33.40,32.51,33.00,28112900,33.00
-2006-02-07,33.01,33.10,32.32,33.02,37236800,33.02
-2006-02-06,33.90,33.95,32.78,32.92,23523100,32.92
-2006-02-03,34.00,34.05,33.26,33.54,32639600,33.54
-2006-02-02,35.01,35.10,34.10,34.25,18323500,34.25
-2006-02-01,34.45,35.00,34.35,35.00,43600400,35.00
-2006-01-31,35.20,35.20,34.31,34.38,36538000,34.38
-2006-01-30,35.09,35.23,34.88,35.05,29030600,35.05
-2006-01-27,35.26,35.27,34.66,35.09,24317400,35.09
-2006-01-26,34.94,35.25,34.49,35.17,28471400,35.17
-2006-01-25,35.43,35.48,34.38,34.49,23779200,34.49
-2006-01-24,34.55,35.20,34.51,34.87,31667800,34.87
-2006-01-23,34.22,34.40,33.98,34.17,30887600,34.17
-2006-01-20,34.44,34.66,33.21,33.74,57644600,33.74
-2006-01-19,35.82,35.84,34.24,34.33,60913000,34.33
-2006-01-18,35.01,36.16,34.74,35.18,118556100,35.18
-2006-01-17,39.09,40.39,38.96,40.11,41797000,40.11
-2006-01-13,41.00,41.08,39.62,39.90,30960800,39.90
-2006-01-12,41.92,41.99,40.76,40.89,18921700,40.89
-2006-01-11,42.19,42.31,41.72,41.87,26191400,41.87
-2006-01-10,42.96,43.34,42.34,42.98,16287200,42.98
-2006-01-09,43.10,43.66,42.82,43.42,16266900,43.42
-2006-01-06,42.88,43.57,42.80,43.21,29418400,43.21
-2006-01-05,40.93,41.73,40.85,41.53,12829100,41.53
-2006-01-04,41.22,41.90,40.77,40.97,20549000,40.97
-2006-01-03,39.69,41.22,38.79,40.91,24227700,40.91
-2005-12-30,39.40,39.56,39.05,39.18,12233000,39.18
-2005-12-29,40.25,40.35,39.41,39.56,10116600,39.56
-2005-12-28,40.10,40.48,39.77,40.25,11567900,40.25
-2005-12-27,40.65,40.94,39.85,39.94,11672900,39.94
-2005-12-23,41.09,41.10,40.45,40.63,5070200,40.63
-2005-12-22,40.69,41.68,40.55,40.83,9548300,40.83
-2005-12-21,40.52,41.05,40.35,40.47,11626900,40.47
-2005-12-20,41.26,41.36,40.48,40.68,15269500,40.68
-2005-12-19,42.16,42.89,40.88,41.05,18563700,41.05
-2005-12-16,41.86,42.67,41.75,42.32,21805000,42.32
-2005-12-15,41.23,41.84,41.14,41.75,20900800,41.75
-2005-12-14,41.12,41.68,40.84,41.30,23034200,41.30
-2005-12-13,40.01,41.40,40.00,41.20,17264700,41.20
-2005-12-12,40.41,40.54,39.81,40.08,9776300,40.08
-2005-12-09,40.50,40.87,40.20,40.31,11116900,40.31
-2005-12-08,40.25,40.54,39.95,40.35,12851600,40.35
-2005-12-07,40.31,40.63,39.57,40.11,15644900,40.11
-2005-12-06,40.78,41.18,40.12,40.19,16356800,40.19
-2005-12-05,40.88,41.03,40.37,40.47,15389400,40.47
-2005-12-02,41.22,41.85,40.89,41.21,14411400,41.21
-2005-12-01,40.74,41.25,40.54,41.07,20069600,41.07
-2005-11-30,39.38,40.84,39.09,40.23,31608700,40.23
-2005-11-29,41.01,41.59,39.82,40.19,28698200,40.19
-2005-11-28,41.63,41.77,40.66,41.11,23190900,41.11
-2005-11-25,42.71,42.84,41.94,42.13,8253000,42.13
-2005-11-23,42.21,43.45,42.17,42.50,21471000,42.50
-2005-11-22,41.73,42.65,41.65,42.36,26389500,42.36
-2005-11-21,41.26,42.98,41.21,42.27,27915500,42.27
-2005-11-18,42.04,42.41,41.29,41.54,30747600,41.54
-2005-11-17,40.32,42.50,40.03,42.23,44796000,42.23
-2005-11-16,37.90,40.07,37.86,40.04,39464600,40.04
-2005-11-15,38.26,38.61,37.54,37.65,11981600,37.65
-2005-11-14,38.43,38.72,37.96,38.45,10112500,38.45
-2005-11-11,38.69,39.05,38.34,38.49,12234400,38.49
-2005-11-10,37.52,38.75,37.52,38.69,13722400,38.69
-2005-11-09,37.76,38.04,37.43,37.75,12217600,37.75
-2005-11-08,37.75,38.50,37.60,37.97,14434400,37.97
-2005-11-07,37.69,38.18,37.41,37.90,11652700,37.90
-2005-11-04,37.59,37.99,37.37,37.87,11656100,37.87
-2005-11-03,38.26,38.28,37.33,37.45,16880800,37.45
-2005-11-02,37.49,38.04,37.43,37.99,17886200,37.99
-2005-11-01,36.62,38.71,36.59,37.72,41932100,37.72
-2005-10-31,35.60,37.27,35.60,36.97,24867100,36.97
-2005-10-28,35.62,35.92,35.25,35.58,14123800,35.58
-2005-10-27,35.34,35.66,35.30,35.45,11605000,35.45
-2005-10-26,35.06,35.75,34.97,35.46,17125600,35.46
-2005-10-25,35.19,35.38,34.89,35.12,14441100,35.12
-2005-10-24,35.30,35.49,34.94,35.28,19591900,35.28
-2005-10-21,35.99,36.33,35.19,35.29,28423400,35.29
-2005-10-20,35.90,36.94,35.05,35.26,29267000,35.26
-2005-10-19,34.62,35.94,34.59,35.91,63254000,35.91
-2005-10-18,34.40,34.76,33.64,33.70,35010300,33.70
-2005-10-17,33.85,34.30,33.80,34.16,21994600,34.16
-2005-10-14,33.62,33.62,32.77,33.52,17425200,33.52
-2005-10-13,33.80,33.85,32.97,33.37,16254600,33.37
-2005-10-12,33.99,34.71,33.91,33.93,16089600,33.93
-2005-10-11,34.55,34.84,33.66,34.10,16504700,34.10
-2005-10-10,34.20,34.90,34.12,34.53,15227800,34.53
-2005-10-07,34.03,34.29,33.97,34.16,12253200,34.16
-2005-10-06,33.95,34.30,33.54,33.80,21836100,33.80
-2005-10-05,33.79,33.93,33.36,33.49,14642000,33.49
-2005-10-04,33.75,34.37,33.51,33.57,14331000,33.57
-2005-10-03,33.80,34.12,33.71,33.77,13184500,33.77
-2005-09-30,33.59,34.10,33.56,33.84,15697000,33.84
-2005-09-29,32.40,33.70,32.12,33.46,22209100,33.46
-2005-09-28,32.67,32.80,32.27,32.35,11622800,32.35
-2005-09-27,32.17,32.61,32.17,32.48,12246900,32.48
-2005-09-26,32.48,32.55,31.99,32.18,13548200,32.18
-2005-09-23,32.12,32.25,31.75,32.13,14903700,32.13
-2005-09-22,32.09,32.41,31.76,32.04,18259400,32.04
-2005-09-21,32.53,33.10,31.60,31.97,21896000,31.97
-2005-09-20,32.88,33.11,32.36,32.64,14578900,32.64
-2005-09-19,33.27,33.47,32.25,32.75,15429900,32.75
-2005-09-16,33.74,33.77,33.05,33.17,20858300,33.17
-2005-09-15,33.95,33.99,33.50,33.57,10404800,33.57
-2005-09-14,34.30,34.50,33.64,33.80,15017400,33.80
-2005-09-13,33.93,34.71,33.73,34.30,19346600,34.30
-2005-09-12,33.42,34.34,33.41,33.91,18580300,33.91
-2005-09-09,33.35,33.60,33.02,33.46,15247900,33.46
-2005-09-08,33.74,33.93,33.20,33.34,17464400,33.34
-2005-09-07,33.50,34.26,33.30,34.06,12545300,34.06
-2005-09-06,33.18,33.78,33.18,33.68,12513300,33.68
-2005-09-02,33.20,33.37,33.10,33.17,6849000,33.17
-2005-09-01,33.28,33.51,33.04,33.24,11848500,33.24
-2005-08-31,33.23,33.39,32.99,33.32,13035500,33.32
-2005-08-30,33.50,33.67,33.00,33.18,13496000,33.18
-2005-08-29,33.40,33.78,33.31,33.68,11427600,33.68
-2005-08-26,33.51,33.81,33.38,33.57,9833400,33.57
-2005-08-25,33.54,33.62,33.20,33.48,12564900,33.48
-2005-08-24,32.92,33.68,32.88,33.47,23249500,33.47
-2005-08-23,33.29,33.33,32.65,33.11,16912700,33.11
-2005-08-22,34.07,34.10,33.07,33.20,21054400,33.20
-2005-08-19,34.39,34.47,33.98,34.00,12810400,34.00
-2005-08-18,34.13,34.73,34.12,34.36,12154200,34.36
-2005-08-17,34.30,34.73,34.23,34.39,10443700,34.39
-2005-08-16,34.57,34.66,34.21,34.23,11867100,34.23
-2005-08-15,34.80,34.87,34.49,34.60,11244500,34.60
-2005-08-12,34.86,34.88,34.45,34.60,13306100,34.60
-2005-08-11,34.54,35.00,34.32,34.94,22391900,34.94
-2005-08-10,34.28,34.77,34.00,34.19,18047900,34.19
-2005-08-09,34.15,34.32,33.91,34.06,9987400,34.06
-2005-08-08,33.86,34.18,33.66,33.94,13066200,33.94
-2005-08-05,34.09,34.28,33.49,33.52,11873800,33.52
-2005-08-04,34.26,34.60,34.00,34.06,11143400,34.06
-2005-08-03,33.75,34.68,33.73,34.51,18240600,34.51
-2005-08-02,33.46,34.20,33.39,33.88,17581900,33.88
-2005-08-01,33.63,33.69,33.31,33.33,12637100,33.33
-2005-07-29,34.01,34.06,33.34,33.34,16236100,33.34
-2005-07-28,34.23,34.31,33.98,34.01,11871600,34.01
-2005-07-27,34.22,34.37,33.95,34.29,20497500,34.29
-2005-07-26,34.05,34.30,33.91,34.15,16819200,34.15
-2005-07-25,33.88,34.08,33.59,33.85,23252600,33.85
-2005-07-22,33.35,33.77,33.17,33.53,27561500,33.53
-2005-07-21,33.75,33.76,32.75,32.94,37778500,32.94
-2005-07-20,34.21,34.35,33.31,33.40,82623300,33.40
-2005-07-19,37.02,38.02,36.56,37.73,32685500,37.73
-2005-07-18,36.45,36.78,36.37,36.58,11019300,36.58
-2005-07-15,37.05,37.16,36.50,36.58,12372200,36.58
-2005-07-14,37.40,37.50,36.77,36.86,14722200,36.86
-2005-07-13,36.42,36.98,36.41,36.73,16897500,36.73
-2005-07-12,36.20,36.49,35.94,36.23,19665800,36.23
-2005-07-11,34.90,35.81,34.78,35.76,20233000,35.76
-2005-07-08,34.77,34.87,34.25,34.62,15515400,34.62
-2005-07-07,33.87,34.77,33.72,34.63,16354300,34.63
-2005-07-06,34.64,34.97,34.03,34.12,13585700,34.12
-2005-07-05,34.25,35.08,34.20,34.60,16086700,34.60
-2005-07-01,34.76,34.85,34.22,34.44,9861600,34.44
-2005-06-30,34.84,35.17,34.44,34.65,16699500,34.65
-2005-06-29,35.80,35.94,34.88,34.94,16481900,34.94
-2005-06-28,35.95,36.24,35.51,35.80,13346200,35.80
-2005-06-27,35.88,36.11,35.20,35.68,12044700,35.68
-2005-06-24,36.26,36.40,35.60,36.09,13468200,36.09
-2005-06-23,36.85,37.31,36.20,36.20,15547700,36.20
-2005-06-22,36.91,37.32,36.84,36.90,12148100,36.90
-2005-06-21,36.37,37.31,36.36,36.95,16219200,36.95
-2005-06-20,35.96,36.84,35.79,36.45,12753200,36.45
-2005-06-17,36.76,36.98,36.12,36.30,15952800,36.30
-2005-06-16,36.46,36.74,36.22,36.40,12228700,36.40
-2005-06-15,36.97,37.11,35.91,36.32,22753900,36.32
-2005-06-14,36.56,37.05,36.43,36.80,12781200,36.80
-2005-06-13,36.66,37.51,36.53,36.90,11586300,36.90
-2005-06-10,37.48,37.50,36.32,36.81,14216900,36.81
-2005-06-09,36.81,37.48,36.38,37.45,18455100,37.45
-2005-06-08,37.42,37.45,36.32,36.63,20121100,36.63
-2005-06-07,38.72,38.95,37.32,37.44,22848300,37.44
-2005-06-06,37.79,38.74,37.75,38.52,12416000,38.52
-2005-06-03,38.24,38.79,37.60,37.92,12813300,37.92
-2005-06-02,38.20,38.71,38.13,38.50,13150700,38.50
-2005-06-01,37.31,38.90,37.17,38.42,28153800,38.42
-2005-05-31,37.03,37.35,36.85,37.20,12498300,37.20
-2005-05-27,36.98,37.47,36.95,37.27,10256600,37.27
-2005-05-26,36.45,37.19,36.35,37.14,15547700,37.14
-2005-05-25,36.25,36.42,36.06,36.27,14995100,36.27
-2005-05-24,36.87,37.10,36.45,36.63,17421300,36.63
-2005-05-23,36.10,37.10,36.04,36.80,21616200,36.80
-2005-05-20,36.60,36.64,36.13,36.33,13771900,36.33
-2005-05-19,36.13,36.99,36.11,36.75,21267100,36.75
-2005-05-18,35.79,36.58,35.69,35.95,23769000,35.95
-2005-05-17,35.20,35.80,35.14,35.68,13178400,35.68
-2005-05-16,34.78,35.50,34.74,35.45,15473900,35.45
-2005-05-13,34.71,35.35,34.35,34.82,15855900,34.82
-2005-05-12,34.95,35.37,34.54,34.71,18906700,34.71
-2005-05-11,34.09,34.88,33.69,34.88,19537100,34.88
-2005-05-10,34.30,34.37,33.86,34.06,13227000,34.06
-2005-05-09,34.48,34.65,34.25,34.59,9991700,34.59
-2005-05-06,35.00,35.08,34.45,34.52,14202200,34.52
-2005-05-05,35.10,35.29,34.43,34.71,16926300,34.71
-2005-05-04,34.43,35.50,34.38,35.18,23410900,35.18
-2005-05-03,34.05,34.60,33.90,34.28,22042800,34.28
-2005-05-02,34.44,34.85,34.03,34.38,13231500,34.38
-2005-04-29,34.60,34.75,33.92,34.50,15666100,34.50
-2005-04-28,34.70,34.93,34.02,34.33,16159300,34.33
-2005-04-27,34.70,35.14,34.59,34.95,14861300,34.95
-2005-04-26,35.12,35.42,34.80,35.00,17921200,35.00
-2005-04-25,34.58,35.59,34.58,35.49,23883600,35.49
-2005-04-22,35.21,35.88,34.50,34.87,31869800,34.87
-2005-04-21,35.12,35.91,34.71,35.87,27731600,35.87
-2005-04-20,34.96,35.25,34.36,34.65,50104400,34.65
-2005-04-19,32.96,33.33,32.42,33.22,34158500,33.22
-2005-04-18,32.43,33.09,32.40,32.55,19201200,32.55
-2005-04-15,32.96,33.41,32.29,32.46,27008500,32.46
-2005-04-14,33.63,34.20,33.40,33.46,19855300,33.46
-2005-04-13,34.16,34.46,33.40,33.60,16886100,33.60
-2005-04-12,34.35,34.50,33.74,34.28,22681900,34.28
-2005-04-11,34.97,35.09,34.54,34.60,11758500,34.60
-2005-04-08,35.04,35.14,34.65,34.76,11106300,34.76
-2005-04-07,34.45,35.25,34.45,35.07,20575000,35.07
-2005-04-06,35.14,35.42,34.12,34.49,23574000,34.49
-2005-04-05,35.15,35.40,34.84,35.15,20275900,35.15
-2005-04-04,34.34,35.27,33.75,35.07,27853300,35.07
-2005-04-01,34.18,34.77,34.15,34.28,27955400,34.28
-2005-03-31,33.55,34.20,33.20,33.90,25390000,33.90
-2005-03-30,32.31,33.60,32.27,33.48,28267900,33.48
-2005-03-29,32.18,32.84,31.79,32.16,23544700,32.16
-2005-03-28,32.21,32.50,32.10,32.25,20624400,32.25
-2005-03-24,31.94,32.09,31.41,31.41,23162000,31.41
-2005-03-23,30.91,31.33,30.85,30.87,13917100,30.87
-2005-03-22,31.70,31.98,30.86,30.99,19570600,30.99
-2005-03-21,31.29,31.77,30.98,31.62,18449400,31.62
-2005-03-18,31.53,31.73,30.91,31.11,20796400,31.11
-2005-03-17,31.80,31.98,31.54,31.61,13760200,31.61
-2005-03-16,31.87,32.35,31.40,31.58,17952000,31.58
-2005-03-15,31.61,32.28,31.53,31.94,20880800,31.94
-2005-03-14,31.74,31.83,30.65,31.32,19762000,31.32
-2005-03-11,31.86,32.21,31.65,31.65,13364800,31.65
-2005-03-10,32.43,32.56,31.60,31.91,19381200,31.91
-2005-03-09,33.01,33.15,32.01,32.32,21824400,32.32
-2005-03-08,33.55,33.73,33.14,33.16,17839300,33.16
-2005-03-07,32.40,33.31,32.36,33.09,17679200,33.09
-2005-03-04,32.36,32.57,31.76,32.36,17499800,32.36
-2005-03-03,32.25,32.48,31.80,32.31,17896100,32.31
-2005-03-02,32.07,32.60,31.75,32.23,15357200,32.23
-2005-03-01,32.37,32.67,32.05,32.30,20222500,32.30
-2005-02-28,31.74,33.77,31.62,32.27,25266400,32.27
-2005-02-25,31.53,31.96,31.43,31.73,20114900,31.73
-2005-02-24,30.43,31.49,30.30,31.48,55457300,31.48
-2005-02-23,32.82,32.92,31.40,32.12,34757100,32.12
-2005-02-22,33.25,33.82,32.66,32.79,18142600,32.79
-2005-02-18,33.84,33.98,33.38,33.60,12436100,33.60
-2005-02-17,34.42,34.79,33.76,33.82,16203500,33.82
-2005-02-16,33.81,34.82,33.75,34.42,22176200,34.42
-2005-02-15,34.34,34.92,33.81,33.98,20391900,33.98
-2005-02-14,34.01,34.41,33.78,34.33,20065300,34.33
-2005-02-11,33.45,34.70,33.31,34.15,20005800,34.15
-2005-02-10,33.72,33.72,32.47,33.44,32637400,33.44
-2005-02-09,34.60,34.66,33.45,33.59,18285100,33.59
-2005-02-08,34.64,34.91,34.32,34.36,17321500,34.36
-2005-02-07,35.07,35.19,34.36,34.47,14588900,34.47
-2005-02-04,34.71,35.30,34.71,35.02,16850200,35.02
-2005-02-03,35.27,35.67,35.00,35.09,16742400,35.09
-2005-02-02,36.02,36.34,35.29,35.54,33495200,35.54
-2005-02-01,35.13,35.28,34.46,34.75,18633600,34.75
-2005-01-31,35.04,35.44,34.53,35.21,20712200,35.21
-2005-01-28,34.90,35.24,34.12,34.62,17853700,34.62
-2005-01-27,35.38,35.49,34.35,34.73,21450800,34.73
-2005-01-26,34.71,35.74,34.39,35.47,25767500,35.47
-2005-01-25,34.55,34.76,33.94,34.04,26521400,34.04
-2005-01-24,35.48,35.52,33.75,33.93,31477400,33.93
-2005-01-21,36.07,36.11,35.29,35.30,26608000,35.30
-2005-01-20,35.39,36.42,35.05,35.78,30239100,35.78
-2005-01-19,38.08,38.20,36.42,36.45,44303200,36.45
-2005-01-18,37.10,37.46,36.60,37.18,42709600,37.18
-2005-01-14,35.86,36.70,35.83,36.70,27697700,36.70
-2005-01-13,36.12,36.32,35.26,35.33,18526500,35.33
-2005-01-12,35.88,36.18,34.80,36.14,23274700,36.14
-2005-01-11,36.31,36.58,35.39,35.66,19711900,35.66
-2005-01-10,36.00,36.76,35.51,36.32,17482800,36.32
-2005-01-07,35.99,36.46,35.41,35.96,18596300,35.96
-2005-01-06,36.32,36.50,35.21,35.43,20835300,35.43
-2005-01-05,36.69,36.98,36.06,36.13,18469100,36.13
-2005-01-04,38.45,38.54,36.46,36.58,26625300,36.58
-2005-01-03,38.36,38.90,37.65,38.18,25482800,38.18
diff --git a/includes/js/dojox/charting/tests/runTests.html b/includes/js/dojox/charting/tests/runTests.html
deleted file mode 100644
index 6e13c2a..0000000
--- a/includes/js/dojox/charting/tests/runTests.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
- <head>
- <title>Dojox.wire Unit Test Runner</title>
- <meta http-equiv="REFRESH" content="0;url=../../../util/doh/runner.html?testModule=dojox.charting.tests.charting"></HEAD>
- <BODY>
- Redirecting to D.O.H runner.
- </BODY>
-</HTML>
diff --git a/includes/js/dojox/charting/tests/test_bars.html b/includes/js/dojox/charting/tests/test_bars.html
deleted file mode 100644
index f39c7b1..0000000
--- a/includes/js/dojox/charting/tests/test_bars.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<html>
-<head>
-<title>Bar chart</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<style type="text/css">
- @import "../../../dojo/resources/dojo.css";
- @import "../../../dijit/tests/css/dijitTests.css";
-</style>
-<!--
-The next line should include Microsoft's Silverligth.js, if you plan to use the silverlight backend
-<script type="text/javascript" src="Silverlight.js"></script>
--->
-<script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug: true"></script>
-<script type="text/javascript" src="../Chart3D.js"></script>
-<script type="text/javascript" src="../plot3d/Base.js"></script>
-<script type="text/javascript" src="../plot3d/Bars.js"></script>
-<script type="text/javascript">
-
-dojo.require("dojox.charting.Chart3D");
-dojo.require("dojox.charting.plot3d.Bars");
-
-makeObjects = function(){
- var m = dojox.gfx3d.matrix;
- var chart = new dojox.charting.Chart3D("test",
- {
- lights: [{direction: {x: 5, y: 5, z: -5}, color: "white"}],
- ambient: {color:"white", intensity: 2},
- specular: "white"
- },
- [m.cameraRotateXg(10), m.cameraRotateYg(-10), m.scale(0.8), m.cameraTranslate(-50, -50, 0)]
- );
-
- var plot1 = new dojox.charting.plot3d.Bars(500, 500, {gap: 10, material: "yellow"});
- plot1.setData([1,2,3,2,1,2,3,4,5]);
- chart.addPlot(plot1);
-
- var plot2 = new dojox.charting.plot3d.Bars(500, 500, {gap: 10, material: "red"});
- plot2.setData([2,3,4,3,2,3,4,5,5]);
- chart.addPlot(plot2);
-
- var plot3 = new dojox.charting.plot3d.Bars(500, 500, {gap: 10, material: "blue"});
- plot3.setData([3,4,5,4,3,4,5,5,5]);
- chart.addPlot(plot3);
-
- chart.generate().render();
-
- //dojo.byId("out1").value = dojo.byId("test").innerHTML;
- //dojo.byId("out2").value = dojox.gfx.utils.toJson(surface, true);
-};
-
-dojo.addOnLoad(makeObjects);
-
-</script>
-</head>
-<body>
-<h1>Bar chart</h1>
-<div id="test" style="width: 500px; height: 500px;"></div>
-<!--
-<p><button onclick="makeObjects();">Go</button></p>
-<p><textarea id="out1" cols="40" rows="5"></textarea></p>
-<p><textarea id="out2" cols="40" rows="5"></textarea></p>
--->
-<p>That's all Folks!</p>
-</body>
-</html>
diff --git a/includes/js/dojox/charting/tests/test_chart2d.html b/includes/js/dojox/charting/tests/test_chart2d.html
deleted file mode 100644
index 2480730..0000000
--- a/includes/js/dojox/charting/tests/test_chart2d.html
+++ /dev/null
@@ -1,353 +0,0 @@
-<html>
-<head>
-<title>Chart 2D</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<style type="text/css">
- @import "../../../dojo/resources/dojo.css";
- @import "../../../dijit/tests/css/dijitTests.css";
-</style>
-<!--
-The next line should include Microsoft's Silverligth.js, if you plan to use the silverlight backend
-<script type="text/javascript" src="Silverlight.js"></script>
--->
-<script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug: true"></script>
-<script type="text/javascript" src="../../lang/functional.js"></script>
-<script type="text/javascript" src="../../lang/utils.js"></script>
-<script type="text/javascript" src="../Theme.js"></script>
-<script type="text/javascript" src="../scaler.js"></script>
-<script type="text/javascript" src="../Element.js"></script>
-<script type="text/javascript" src="../axis2d/common.js"></script>
-<script type="text/javascript" src="../axis2d/Base.js"></script>
-<script type="text/javascript" src="../axis2d/Default.js"></script>
-<script type="text/javascript" src="../plot2d/common.js"></script>
-<script type="text/javascript" src="../plot2d/Base.js"></script>
-<script type="text/javascript" src="../plot2d/Default.js"></script>
-<script type="text/javascript" src="../plot2d/Lines.js"></script>
-<script type="text/javascript" src="../plot2d/Areas.js"></script>
-<script type="text/javascript" src="../plot2d/Markers.js"></script>
-<script type="text/javascript" src="../plot2d/MarkersOnly.js"></script>
-<script type="text/javascript" src="../plot2d/Scatter.js"></script>
-<script type="text/javascript" src="../plot2d/Stacked.js"></script>
-<script type="text/javascript" src="../plot2d/StackedLines.js"></script>
-<script type="text/javascript" src="../plot2d/StackedAreas.js"></script>
-<script type="text/javascript" src="../plot2d/Columns.js"></script>
-<script type="text/javascript" src="../plot2d/StackedColumns.js"></script>
-<script type="text/javascript" src="../plot2d/ClusteredColumns.js"></script>
-<script type="text/javascript" src="../plot2d/Bars.js"></script>
-<script type="text/javascript" src="../plot2d/StackedBars.js"></script>
-<script type="text/javascript" src="../plot2d/ClusteredBars.js"></script>
-<script type="text/javascript" src="../plot2d/Grid.js"></script>
-<script type="text/javascript" src="../plot2d/Pie.js"></script>
-<script type="text/javascript" src="../Chart2D.js"></script>
-<script type="text/javascript">
-
-dojo.require("dojox.charting.Chart2D");
-dojo.require("dojox.charting.themes.PlotKit.blue");
-dojo.require("dojox.charting.themes.PlotKit.cyan");
-dojo.require("dojox.charting.themes.PlotKit.green");
-dojo.require("dojox.charting.themes.PlotKit.orange");
-dojo.require("dojox.charting.themes.PlotKit.purple");
-dojo.require("dojox.charting.themes.PlotKit.red");
-dojo.require("dojox.charting.themes.ET.greys");
-
-makeObjects = function(){
- var chart1 = new dojox.charting.Chart2D("test1");
- chart1.addSeries("Series A", [1, 2, 1, 2, 1, 2, 1]);
- chart1.addSeries("Series B", [2, 1, 2, 1, 2, 1, 2]);
- chart1.render();
-
- var chart2 = new dojox.charting.Chart2D("test2");
- chart2.addSeries("Series A", [1, 2, 1, 2, 1, 2, 1], {stroke: "red"});
- chart2.addSeries("Series B", [2, 1, 2, 1, 2, 1, 2], {stroke: "blue"});
- chart2.render();
-
- var chart3 = new dojox.charting.Chart2D("test3");
- chart3.addPlot("default", {type: "Areas", tension:2.5});
- chart3.setTheme(dojox.charting.themes.PlotKit.orange);
- chart3.addSeries("Series A", [1, 2, 0.5, 1.5, 1, 2.8, 0.4]);
- chart3.addSeries("Series B", [2.6, 1.8, 2, 1, 1.4, 0.7, 2]);
- chart3.addSeries("Series C", [6.3, 1.8, 3, 0.5, 4.4, 2.7, 2]);
- chart3.render();
-
- var chart4 = new dojox.charting.Chart2D("test4");
- chart4.addPlot("default", {type: "Areas"});
- chart4.addSeries("Series A", [1, 2, 1, 2, 1, 2, 1], {stroke: {color: "red", width: 2}, fill: "lightpink"});
- chart4.addSeries("Series B", [2, 1, 2, 1, 2, 1, 2], {stroke: {color: "blue", width: 2}, fill: "lightblue"});
- chart4.render();
-
- var chart5 = new dojox.charting.Chart2D("test5");
- chart5.setTheme(dojox.charting.themes.PlotKit.blue);
- chart5.addAxis("x");
- chart5.addAxis("y", {vertical: true});
- chart5.addSeries("Series A", [1, 2, 1, 2, 1, 2, 1]);
- chart5.addSeries("Series B", [2, 1, 2, 1, 2, 1, 2]);
- chart5.render();
-
- var chart6 = new dojox.charting.Chart2D("test6");
- chart6.setTheme(dojox.charting.themes.PlotKit.cyan);
- chart6.addAxis("x", {fixLower: "minor", fixUpper: "minor"});
- chart6.addAxis("y", {vertical: true, fixLower: "minor", fixUpper: "minor"});
- chart6.addSeries("Series A", [1, 2, 1, 2, 1, 2, 1]);
- chart6.addSeries("Series B", [2, 1, 2, 1, 2, 1, 2]);
- chart6.render();
-
- var chart7 = new dojox.charting.Chart2D("test7");
- chart7.setTheme(dojox.charting.themes.PlotKit.green);
- chart7.addAxis("x", {fixLower: "major", fixUpper: "major"});
- chart7.addAxis("y", {vertical: true, fixLower: "major", fixUpper: "major"});
- chart7.addSeries("Series A", [1, 2, 1, 2, 1, 2, 1]);
- chart7.addSeries("Series B", [2, 1, 2, 1, 2, 1, 2]);
- chart7.render();
-
- var chart8 = new dojox.charting.Chart2D("test8");
- chart8.setTheme(dojox.charting.themes.PlotKit.purple);
- chart8.addPlot("default", {type: "Markers"});
- chart8.addSeries("Series A", [1, 2, 1, 2, 1, 2, 1], {min: 0, max: 3});
- chart8.addSeries("Series B", [2, 1, 2, 1, 2, 1, 2]);
- chart8.render();
-
- var chart9 = new dojox.charting.Chart2D("test9");
- chart9.addPlot("default", {type: "MarkersOnly"});
- chart9.addSeries("Series A", [1, 2, 1, 2, 1, 2, 1], {min: 0, max: 3, stroke: {color: "red", width: 2}, marker: "m-3,0 c0,-4 6,-4 6,0 m-6,0 c0,4 6,4 6,0"});
- chart9.addSeries("Series B", [2, 1, 2, 1, 2, 1, 2], {stroke: {color: "blue", width: 2}, marker: "m-3,-3 l0,6 6,0 0,-6 z"});
- chart9.render();
-
- var chart10 = new dojox.charting.Chart2D("test10");
- chart10.addPlot("default", {type: "Markers", shadows: {dx: 2, dy: 2, dw: 2}});
- chart10.addSeries("Series A", [1, 2, 1, 2, 1, 2, 1], {min: 0, max: 3, stroke: {color: "red", width: 2, join: "round"}, marker: "m-3,0 c0,-4 6,-4 6,0 m-6,0 c0,4 6,4 6,0"});
- chart10.addSeries("Series B", [2, 1, 2, 1, 2, 1, 2], {stroke: {color: "blue", width: 2, join: "round"}, marker: "m-3,-3 l0,6 6,0 0,-6 z"});
- chart10.render();
-
- var chart11 = new dojox.charting.Chart2D("test11");
- chart11.addPlot("default", {type: "StackedLines", markers: true, tension:3, shadows: {dx: 2, dy: 2, dw: 2}});
- chart11.addSeries("Series A", [1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6], {stroke: {color: "red", width: 2}, fill: "lightpink", marker: "m-3,-3 l0,6 6,0 0,-6 z"});
- chart11.addSeries("Series B", [1, 1.6, 1.3, 1.4, 1.1, 1.5, 1.1], {stroke: {color: "blue", width: 2}, fill: "lightblue", marker: "m-3,0 c0,-4 6,-4 6,0 m-6,0 c0,4 6,4 6,0"});
- chart11.addSeries("Series C", [1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6], {stroke: {color: "green", width: 2}, fill: "lightgreen", marker: "m0,-3 l3,3 -3,3 -3,-3 z"});
- chart11.render();
-
- var chart12 = new dojox.charting.Chart2D("test12");
- chart12.addAxis("x", {fixLower: "major", fixUpper: "major"});
- chart12.addAxis("y", {vertical: true, fixLower: "major", fixUpper: "major"});
- chart12.addPlot("default", {type: "StackedAreas", tension:3});
- chart12.addSeries("Series A", [1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6], {stroke: {color: "red", width: 2}, fill: "lightpink"});
- chart12.addSeries("Series B", [1, 1.6, 1.3, 1.4, 1.1, 1.5, 1.1], {stroke: {color: "blue", width: 2}, fill: "lightblue"});
- chart12.addSeries("Series C", [1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6], {stroke: {color: "green", width: 2}, fill: "lightgreen"});
- chart12.render();
-
- var chart13 = new dojox.charting.Chart2D("test13");
- chart13.addPlot("default", {type: "Columns"});
- chart13.addSeries("Series A", [1, 2, 3, 4, 5], {stroke: {color: "red"}, fill: "lightpink"});
- chart13.addSeries("Series B", [5, 4, 3, 2, 1], {stroke: {color: "blue"}, fill: "lightblue"});
- chart13.render();
-
- var chart14 = new dojox.charting.Chart2D("test14");
- chart14.addAxis("y", {vertical: true, fixLower: "major", fixUpper: "major"});
- chart14.addPlot("default", {type: "Columns", gap: 2});
- chart14.addSeries("Series A", [1, 2, 3, 4, 5], {stroke: {color: "red"}, fill: "lightpink"});
- chart14.addSeries("Series B", [5, 4, 3, 2, 1], {stroke: {color: "blue"}, fill: "lightblue"});
- chart14.render();
-
- var chart15 = new dojox.charting.Chart2D("test15");
- chart15.addPlot("default", {type: "StackedColumns"});
- chart15.addSeries("Series A", [1, 2, 3, 4, 5], {stroke: {color: "red"}, fill: "lightpink"});
- chart15.addSeries("Series B", [2, 1, 2, 1, 2], {stroke: {color: "blue"}, fill: "lightblue"});
- chart15.render();
-
- var chart16 = new dojox.charting.Chart2D("test16");
- chart16.addAxis("x", {fixLower: "major", fixUpper: "major", includeZero: true});
- chart16.addAxis("y", {vertical: true, fixLower: "major", fixUpper: "major", natural: true});
- chart16.addPlot("default", {type: "Bars"});
- chart16.addSeries("Series A", [1, 2, 3, 4, 5], {stroke: {color: "red"}, fill: "lightpink"});
- chart16.addSeries("Series B", [5, 4, 3, 2, 1], {stroke: {color: "blue"}, fill: "lightblue"});
- chart16.render();
-
- var chart17 = new dojox.charting.Chart2D("test17");
- chart17.addPlot("default", {type: "StackedBars"});
- chart17.addSeries("Series A", [1, 2, 3, 4, 5], {stroke: {color: "red"}, fill: "lightpink"});
- chart17.addSeries("Series B", [2, 1, 2, 1, 2], {stroke: {color: "blue"}, fill: "lightblue"});
- chart17.render();
-
- var chart18 = new dojox.charting.Chart2D("test18");
- chart18.addAxis("x", {fixLower: "minor", fixUpper: "minor", natural: true});
- chart18.addAxis("y", {vertical: true, fixLower: "major", fixUpper: "major", includeZero: true});
- chart18.addPlot("default", {type: "ClusteredColumns", gap: 10});
- chart18.addSeries("Series A", [1, 2, 3, 4, 5], {stroke: {color: "red"}, fill: "lightpink"});
- chart18.addSeries("Series B", [5, 4, 3, 2, 1], {stroke: {color: "blue"}, fill: "lightblue"});
- chart18.render();
-
- var chart19 = new dojox.charting.Chart2D("test19");
- chart19.addAxis("x", {fixLower: "major", fixUpper: "major", includeZero: true});
- chart19.addAxis("y", {vertical: true, fixLower: "minor", fixUpper: "minor", natural: true});
- chart19.addPlot("default", {type: "ClusteredBars", gap: 5});
- chart19.addSeries("Series A", [1, 2, 3, 4, 5], {stroke: {color: "red"}, fill: "lightpink"});
- chart19.addSeries("Series B", [5, 4, 3, 2, 1], {stroke: {color: "blue"}, fill: "lightblue"});
- chart19.render();
-
- var chart20 = new dojox.charting.Chart2D("test20");
- chart20.addAxis("x", {fixLower: "minor", fixUpper: "minor", natural: true});
- chart20.addAxis("y", {vertical: true, fixLower: "major", fixUpper: "major", minorTicks: false, includeZero: true});
- chart20.addPlot("front_grid", {type: "Grid", hMajorLines: true, vMajorLines: false});
- chart20.addPlot("default", {type: "Columns", gap: 10});
- chart20.addPlot("back_grid", {type: "Grid", hMajorLines: false, vMajorLines: true});
- chart20.addSeries("Series A", [1, 2, 3, 4, 5], {stroke: {color: "red"}, fill: "lightpink"});
- chart20.addSeries("Series B", [5, 4, 3, 2, 1], {stroke: {color: "blue"}, fill: "lightblue"});
- chart20.render();
-
- var chart21 = new dojox.charting.Chart2D("test21");
- chart21.addAxis("x", {fixLower: "minor", fixUpper: "minor", natural: true});
- chart21.addAxis("y", {vertical: true, fixLower: "major", fixUpper: "major",
- includeZero: true, min: 0, max: 8, minorLabels: false,
- majorTicks: true, minorTicks: true, microTicks: false,
- majorTickStep: 2, minorTickStep: 1, microTickStep: 0.5});
- chart21.addPlot("front_grid", {type: "Grid", hMajorLines: true, vMajorLines: false});
- chart21.addPlot("default", {type: "Columns", gap: 10});
- chart21.addPlot("back_grid", {type: "Grid", hMajorLines: false, vMajorLines: true});
- chart21.addSeries("Series A", [1, 2, 3, 4, 5], {stroke: {color: "red"}, fill: "lightpink"});
- chart21.addSeries("Series B", [5, 4, 3, 2, 1], {stroke: {color: "blue"}, fill: "lightblue"});
- chart21.render();
-
- var chart22 = new dojox.charting.Chart2D("test22");
- chart22.addAxis("x");
- chart22.addAxis("y", {vertical: true});
- chart22.addPlot("default", {type: "Columns", gap: 10});
- chart22.addPlot("grid", {type: "Grid"});
- chart22.addSeries("Series A", [2, 1, 0.5, -1, -2], {stroke: {color: "red"}, fill: "lightpink"});
- chart22.addSeries("Series B", [-2, -1, -0.5, 1, 2], {stroke: {color: "blue"}, fill: "lightblue"});
- chart22.render();
-
- var chart23 = new dojox.charting.Chart2D("test23");
- chart23.addAxis("x");
- chart23.addAxis("y", {vertical: true});
- chart23.addPlot("default", {type: "ClusteredColumns", gap: 10});
- chart23.addPlot("grid", {type: "Grid"});
- chart23.addSeries("Series A", [2, 1, 0.5, -1, -2], {stroke: {color: "red"}, fill: "lightpink"});
- chart23.addSeries("Series B", [-2, -1, -0.5, 1, 2], {stroke: {color: "blue"}, fill: "lightblue"});
- chart23.addSeries("Series C", [1, 0.5, -1, -2, -3], {stroke: {color: "green"}, fill: "lightgreen"});
- chart23.render();
-
- var chart24 = new dojox.charting.Chart2D("test24");
- chart24.addAxis("x");
- chart24.addAxis("y", {vertical: true});
- chart24.addPlot("default", {type: "Bars", gap: 10});
- chart24.addPlot("grid", {type: "Grid"});
- chart24.addSeries("Series A", [2, 1, 0.5, -1, -2], {stroke: {color: "red"}, fill: "lightpink"});
- chart24.addSeries("Series B", [-2, -1, -0.5, 1, 2], {stroke: {color: "blue"}, fill: "lightblue"});
- chart24.render();
-
- var chart25 = new dojox.charting.Chart2D("test25");
- chart25.addAxis("x");
- chart25.addAxis("y", {vertical: true});
- chart25.addPlot("default", {type: "ClusteredBars", gap: 10});
- chart25.addPlot("grid", {type: "Grid"});
- chart25.addSeries("Series A", [2, 1, 0.5, -1, -2], {stroke: {color: "red"}, fill: "lightpink"});
- chart25.addSeries("Series B", [-2, -1, -0.5, 1, 2], {stroke: {color: "blue"}, fill: "lightblue"});
- chart25.addSeries("Series C", [1, 0.5, -1, -2, -3], {stroke: {color: "green"}, fill: "lightgreen"});
- chart25.render();
-
- var chart26 = new dojox.charting.Chart2D("test26");
- chart26.setTheme(dojox.charting.themes.PlotKit.red);
- chart26.addAxis("x", {min: 0, max: 6, majorTick: {stroke: "black", length: 3}, minorTick: {stroke: "gray", length: 3}});
- chart26.addAxis("y", {vertical: true, min: 0, max: 10, majorTick: {stroke: "black", length: 3}, minorTick: {stroke: "gray", length: 3}});
- chart26.addSeries("Series A", [{x: 0.5, y: 5}, {x: 1.5, y: 1.5}, {x: 2, y: 9}, {x: 5, y: 0.3}]);
- chart26.addSeries("Series B", [{x: 0.3, y: 8}, {x: 4, y: 6}, {x: 5.5, y: 2}]);
- chart26.render();
-
- var chart27 = new dojox.charting.Chart2D("test27");
- chart27.setTheme(dojox.charting.themes.PlotKit.purple);
- chart27.addPlot("default", {type: "Scatter"});
- chart27.addAxis("x", {min: 0, max: 6, majorTick: {stroke: "black", length: 3}, minorTick: {stroke: "gray", length: 3}});
- chart27.addAxis("y", {vertical: true, min: 0, max: 10, majorTick: {stroke: "black", length: 3}, minorTick: {stroke: "gray", length: 3}});
- chart27.addSeries("Series A", [{x: 0.5, y: 5}, {x: 1.5, y: 1.5}, {x: 2, y: 9}, {x: 5, y: 0.3}]);
- chart27.addSeries("Series B", [{x: 0.3, y: 8}, {x: 4, y: 6}, {x: 5.5, y: 2}]);
- chart27.render();
-
- var chart28 = new dojox.charting.Chart2D("test28");
- chart28.setTheme(dojox.charting.themes.PlotKit.blue);
- chart28.addPlot("default", {type: "Default", lines: true, markers: true, tension:2});
- chart28.addAxis("x", {min: 0, max: 6, majorTick: {stroke: "black", length: 3}, minorTick: {stroke: "gray", length: 3}});
- chart28.addAxis("y", {vertical: true, min: 0, max: 10, majorTick: {stroke: "black", length: 3}, minorTick: {stroke: "gray", length: 3}});
- chart28.addSeries("Series A", [{x: 0.5, y: 5}, {x: 1.5, y: 1.5}, {x: 2, y: 9}, {x: 5, y: 0.3}]);
- chart28.addSeries("Series B", [{x: 0.3, y: 8}, {x: 4, y: 6}, {x: 5.5, y: 2}]);
- chart28.render();
-
- var chart29 = new dojox.charting.Chart2D("test29");
- chart29.setTheme(dojox.charting.themes.ET.greys);
- chart29.addAxis("x", {fixLower: "minor", fixUpper: "minor", natural: true});
- chart29.addAxis("y", {vertical: true, fixLower: "major", fixUpper: "major", includeZero: true});
- chart29.addPlot("default", {type: "ClusteredColumns", gap: 10});
- chart29.addSeries("Series A", [2, 1, 0.5, -1, -2] );
- chart29.addSeries("Series B", [-2, -1, -0.5, 1, 2] );
- chart29.addSeries("Series C", [1, 0.5, -1, -2, -3] );
- chart29.addSeries("Series D", [0.7, 1.5, -1.2, -1.25, 3] );
- chart29.render();
-
-};
-
-dojo.addOnLoad(makeObjects);
-
-</script>
-</head>
-<body>
-<h1>Chart 2D</h1>
-<!--<p><button onclick="makeObjects();">Go</button></p>-->
-<p>1: Defaults: lines, no axes.</p>
-<div id="test1" style="width: 400px; height: 200px;"></div>
-<p>2: Defaults: lines, no axes, and custom strokes.</p>
-<div id="test2" style="width: 200px; height: 200px;"></div>
-<p>3: Areas, orange theme, no axes.</p>
-<div id="test3" style="width: 400px; height: 400px;"></div>
-<p>4: Areas, no axes, custom strokes and fills.</p>
-<div id="test4" style="width: 400px; height: 200px;"></div>
-<p>5: Lines, axes, blue theme.</p>
-<div id="test5" style="width: 400px; height: 200px;"></div>
-<p>6: Lines, axes (aligned on minor ticks), cyan theme.</p>
-<div id="test6" style="width: 400px; height: 200px;"></div>
-<p>7: Lines, axes (aligned on major ticks), green theme.</p>
-<div id="test7" style="width: 400px; height: 200px;"></div>
-<p>8: Lines and markers, no axes, purple theme, custom min/max.</p>
-<div id="test8" style="width: 400px; height: 200px;"></div>
-<p>9: Markers only, no axes, custom theme, custom markers, custom min/max.</p>
-<div id="test9" style="width: 400px; height: 200px;"></div>
-<p>10: Lines and markers, shadows, no axes, custom theme, custom markers, custom min/max.</p>
-<div id="test10" style="width: 400px; height: 200px;"></div>
-<p>11: Stacked lines, markers, shadows, no axes, custom strokes, fills, and markers.</p>
-<div id="test11" style="width: 200px; height: 200px;"></div>
-<p>12: Stacked areas, axes (aligned on major ticks), custom strokes and fills.</p>
-<div id="test12" style="width: 400px; height: 200px;"></div>
-<p>13: Columns, no axes, custom strokes and fills.</p>
-<div id="test13" style="width: 400px; height: 200px;"></div>
-<p>14: Columns with gaps beetwen them, vertical axis aligned on major ticks, custom strokes, fills.</p>
-<div id="test14" style="width: 400px; height: 200px;"></div>
-<p>15: Stacked columns, no axes, custom strokes and fills.</p>
-<div id="test15" style="width: 400px; height: 200px;"></div>
-<p>16: Bars, axes aligned on major ticks, no minor ticks, custom strokes and fills.</p>
-<div id="test16" style="width: 400px; height: 200px;"></div>
-<p>17: Stacked bars, no axes, custom strokes and fills.</p>
-<div id="test17" style="width: 400px; height: 200px;"></div>
-<p>18: Clustered columns, custom axes, custom strokes, fills, and gap.</p>
-<div id="test18" style="width: 400px; height: 200px;"></div>
-<p>19: Clustered bars, custom axes, custom strokes, fills, and gap.</p>
-<div id="test19" style="width: 400px; height: 200px;"></div>
-<p>20: Columns with gaps beetwen them, grids, custom strokes, fills, axes.</p>
-<div id="test20" style="width: 400px; height: 200px;"></div>
-<p>21: Columns with gaps beetwen them, grids, custom strokes, fills, axes, with min=0, max=8, and manually specified ticks on the vertical axis.</p>
-<div id="test21" style="width: 400px; height: 200px;"></div>
-<p>22: Columns with positive and negative values, axes, and grid.</p>
-<div id="test22" style="width: 400px; height: 200px;"></div>
-<p>23: Clustered columns with positive and negative values, axes, and grid.</p>
-<div id="test23" style="width: 400px; height: 200px;"></div>
-<p>24: Bars with positive and negative values, axes, and grid.</p>
-<div id="test24" style="width: 400px; height: 200px;"></div>
-<p>25: Clustered bars with positive and negative values, axes, and grid.</p>
-<div id="test25" style="width: 400px; height: 200px;"></div>
-<p>26: Default lines with 2D data, custom axis, red theme.</p>
-<div id="test26" style="width: 400px; height: 200px;"></div>
-<p>27: Scatter chart, custom axis, purple theme.</p>
-<div id="test27" style="width: 400px; height: 200px;"></div>
-<p>28: Markers, lines, 2D data, custom axis, blue theme.</p>
-<div id="test28" style="width: 400px; height: 200px;"></div>
-<p>29: Clustered columns with positive and negative values, readable theme.</p>
-<div id="test29" style="width: 500px; height: 300px;"></div>
-<p>That's all Folks!</p>
-</body>
-</html>
diff --git a/includes/js/dojox/charting/tests/test_chart2d_updating.html b/includes/js/dojox/charting/tests/test_chart2d_updating.html
deleted file mode 100644
index 6a7641b..0000000
--- a/includes/js/dojox/charting/tests/test_chart2d_updating.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<html>
-<head>
-<title>Chart 2D</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<style type="text/css">
- @import "../../../dojo/resources/dojo.css";
- @import "../../../dijit/tests/css/dijitTests.css";
-</style>
-<!--
-The next line should include Microsoft's Silverligth.js, if you plan to use the silverlight backend
-<script type="text/javascript" src="Silverlight.js"></script>
--->
-<script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug: true"></script>
-<script type="text/javascript" src="../../lang/functional.js"></script>
-<script type="text/javascript" src="../Theme.js"></script>
-<script type="text/javascript" src="../scaler.js"></script>
-<script type="text/javascript" src="../Chart2D.js"></script>
-<script type="text/javascript">
-
-dojo.require("dojox.charting.Chart2D");
-dojo.require("dojox.charting.themes.PlotKit.orange");
-
-var chart, limit = 10, magnitude = 30;
-
-var randomValue = function(){
- return Math.random() * magnitude;
-};
-
-var makeSeries = function(len){
- var s = [];
- do{
- s.push(randomValue());
- }while(s.length < len);
- return s;
-};
-
-var seriesA = makeSeries(limit),
- seriesB = makeSeries(limit),
- seriesC = makeSeries(limit);
-
-var makeObjects = function(){
- chart = new dojox.charting.Chart2D("test");
- chart.setTheme(dojox.charting.themes.PlotKit.orange);
- chart.addAxis("x", {fixLower: "minor", natural: true, min: 1, max: limit});
- chart.addAxis("y", {vertical: true, min: 0, max: 30, majorTickStep: 5, minorTickStep: 1});
- chart.addPlot("default", {type: "Areas"});
- chart.addSeries("Series A", seriesA);
- chart.addSeries("Series B", seriesB);
- chart.addSeries("Series C", seriesC);
- chart.addPlot("grid", {type: "Grid", hMinorLines: true});
- chart.render();
- setInterval(function(){updateTest();}, 200);
-};
-
-var updateTest = function(){
- seriesA.shift();
- seriesA.push(randomValue());
- chart.updateSeries("Series A", seriesA);
-
- seriesB.shift();
- seriesB.push(randomValue());
- chart.updateSeries("Series B", seriesB);
-
- seriesC.shift();
- seriesC.push(randomValue());
- chart.updateSeries("Series C", seriesC);
-
- chart.render();
-};
-
-dojo.addOnLoad(makeObjects);
-
-</script>
-</head>
-<body>
-<h1>Chart 2D Updating Data</h1>
-<p>Areas, orange theme, axes, grid. Very crude example to show a chart with updating values.</p>
-<div id="test" style="width: 400px; height: 400px;"></div>
-</body>
-</html>
diff --git a/includes/js/dojox/charting/tests/test_cylinders.html b/includes/js/dojox/charting/tests/test_cylinders.html
deleted file mode 100644
index 9a3cc66..0000000
--- a/includes/js/dojox/charting/tests/test_cylinders.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<html>
-<head>
-<title>Cylinder chart</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<style type="text/css">
- @import "../../../dojo/resources/dojo.css";
- @import "../../../dijit/tests/css/dijitTests.css";
-</style>
-<!--
-The next line should include Microsoft's Silverligth.js, if you plan to use the silverlight backend
-<script type="text/javascript" src="Silverlight.js"></script>
--->
-<script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug: true"></script>
-<script type="text/javascript" src="../Chart3D.js"></script>
-<script type="text/javascript" src="../plot3d/Base.js"></script>
-<script type="text/javascript" src="../plot3d/Cylinders.js"></script>
-<script type="text/javascript">
-
-dojo.require("dojox.charting.Chart3D");
-dojo.require("dojox.charting.plot3d.Cylinders");
-
-makeObjects = function(){
- var m = dojox.gfx3d.matrix;
- var chart = new dojox.charting.Chart3D("test",
- {
- lights: [{direction: {x: 5, y: 5, z: -5}, color: "white"}],
- ambient: {color:"white", intensity: 2},
- specular: "white"
- },
- [m.cameraRotateXg(10), m.cameraRotateYg(-10), m.scale(0.8), m.cameraTranslate(-50, -50, 0)]
- );
-
- var plot1 = new dojox.charting.plot3d.Cylinders(500, 500, {gap: 10, material: "yellow"});
- plot1.setData([1,2,3,2,1,2,3,4,5]);
- chart.addPlot(plot1);
-
- var plot2 = new dojox.charting.plot3d.Cylinders(500, 500, {gap: 10, material: "red"});
- plot2.setData([2,3,4,3,2,3,4,5,5]);
- chart.addPlot(plot2);
-
- var plot3 = new dojox.charting.plot3d.Cylinders(500, 500, {gap: 10, material: "blue"});
- plot3.setData([3,4,5,4,3,4,5,5,5]);
- chart.addPlot(plot3);
-
- chart.generate().render();
-
- //dojo.byId("out1").value = dojo.byId("test").innerHTML;
- //dojo.byId("out2").value = dojox.gfx.utils.toJson(surface, true);
-};
-
-dojo.addOnLoad(makeObjects);
-
-</script>
-</head>
-<body>
-<h1>Cylinder chart</h1>
-<div id="test" style="width: 500px; height: 500px;"></div>
-<!--
-<p><button onclick="makeObjects();">Go</button></p>
-<p><textarea id="out1" cols="40" rows="5"></textarea></p>
-<p><textarea id="out2" cols="40" rows="5"></textarea></p>
--->
-<p>That's all Folks!</p>
-</body>
-</html>
diff --git a/includes/js/dojox/charting/tests/test_labels2d.html b/includes/js/dojox/charting/tests/test_labels2d.html
deleted file mode 100644
index 299385e..0000000
--- a/includes/js/dojox/charting/tests/test_labels2d.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<html>
-<head>
-<title>Chart 2D</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<style type="text/css">
- @import "../../../dojo/resources/dojo.css";
- @import "../../../dijit/tests/css/dijitTests.css";
-</style>
-<!--
-The next line should include Microsoft's Silverligth.js, if you plan to use the silverlight backend
-<script type="text/javascript" src="Silverlight.js"></script>
--->
-<script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug: true"></script>
-<script type="text/javascript" src="../../lang/functional.js"></script>
-<script type="text/javascript" src="../../lang/utils.js"></script>
-<script type="text/javascript" src="../Theme.js"></script>
-<script type="text/javascript" src="../scaler.js"></script>
-<script type="text/javascript" src="../Element.js"></script>
-<script type="text/javascript" src="../axis2d/common.js"></script>
-<script type="text/javascript" src="../axis2d/Base.js"></script>
-<script type="text/javascript" src="../axis2d/Default.js"></script>
-<script type="text/javascript" src="../plot2d/common.js"></script>
-<script type="text/javascript" src="../plot2d/Base.js"></script>
-<script type="text/javascript" src="../plot2d/Default.js"></script>
-<script type="text/javascript" src="../plot2d/Lines.js"></script>
-<script type="text/javascript" src="../plot2d/Areas.js"></script>
-<script type="text/javascript" src="../plot2d/Markers.js"></script>
-<script type="text/javascript" src="../plot2d/MarkersOnly.js"></script>
-<script type="text/javascript" src="../plot2d/Stacked.js"></script>
-<script type="text/javascript" src="../plot2d/StackedLines.js"></script>
-<script type="text/javascript" src="../plot2d/StackedAreas.js"></script>
-<script type="text/javascript" src="../plot2d/Columns.js"></script>
-<script type="text/javascript" src="../plot2d/StackedColumns.js"></script>
-<script type="text/javascript" src="../plot2d/ClusteredColumns.js"></script>
-<script type="text/javascript" src="../plot2d/Bars.js"></script>
-<script type="text/javascript" src="../plot2d/StackedBars.js"></script>
-<script type="text/javascript" src="../plot2d/ClusteredBars.js"></script>
-<script type="text/javascript" src="../plot2d/Grid.js"></script>
-<script type="text/javascript" src="../plot2d/Pie.js"></script>
-<script type="text/javascript" src="../Chart2D.js"></script>
-<script type="text/javascript">
-
-dojo.require("dojox.charting.Chart2D");
-dojo.require("dojox.charting.themes.PlotKit.blue");
-dojo.require("dojox.charting.themes.PlotKit.cyan");
-dojo.require("dojox.charting.themes.PlotKit.green");
-dojo.require("dojox.charting.themes.PlotKit.orange");
-dojo.require("dojox.charting.themes.PlotKit.purple");
-dojo.require("dojox.charting.themes.PlotKit.red");
-
-makeObjects = function(){
- var chart1 = new dojox.charting.Chart2D("test1");
- chart1.addAxis("x", {fixLower: "major", fixUpper: "major", includeZero: true});
- chart1.addAxis("y", {vertical: true, fixLower: "major", fixUpper: "major", natural: true});
- chart1.addPlot("default", {type: "Bars"});
- chart1.addSeries("Series A", [1, 2, 3, 4, 5], {stroke: {color: "red"}, fill: "lightpink"});
- chart1.addSeries("Series B", [5, 4, 3, 2, 1], {stroke: {color: "blue"}, fill: "lightblue"});
- chart1.render();
-
- var chart2 = new dojox.charting.Chart2D("test2");
- chart2.addAxis("x", {
- fixLower: "major", fixUpper: "major", includeZero: true,
- labels: [{value: 0, text: "zero"}, {value: 2, text: "two"}, {value: 4, text: "four"}]
- });
- chart2.addAxis("y", {
- vertical: true, fixLower: "major", fixUpper: "major", natural: true,
- labels: [{value: 0, text: ""}, {value: 1, text: "Jan"}, {value: 2, text: "Feb"},
- {value: 3, text: "Mar"}, {value: 4, text: "Apr"},
- {value: 5, text: "May"}, {value: 6, text: "Jun"}]
- });
- chart2.addPlot("default", {type: "Bars"});
- chart2.addSeries("Series A", [1, 2, 3, 4, 5], {stroke: {color: "red"}, fill: "lightpink"});
- chart2.addSeries("Series B", [5, 4, 3, 2, 1], {stroke: {color: "blue"}, fill: "lightblue"});
- chart2.render();
-};
-
-dojo.addOnLoad(makeObjects);
-
-</script>
-</head>
-<body>
-<h1>Chart 2D</h1>
-<!--<p><button onclick="makeObjects();">Go</button></p>-->
-<p>1: Bars, axes aligned on major ticks, no minor ticks, custom strokes and fills.</p>
-<div id="test1" style="width: 200px; height: 200px;"></div>
-<p>2: Bars, axes aligned on major ticks, no minor ticks, custom strokes and fills, custom labels.</p>
-<div id="test2" style="width: 200px; height: 200px;"></div>
-<p>That's all Folks!</p>
-</body>
-</html>
diff --git a/includes/js/dojox/charting/tests/test_pie2d.html b/includes/js/dojox/charting/tests/test_pie2d.html
deleted file mode 100644
index 9fe6827..0000000
--- a/includes/js/dojox/charting/tests/test_pie2d.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<html>
-<head>
-<title>Pie 2D</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<style type="text/css">
- @import "../../../dojo/resources/dojo.css";
- @import "../../../dijit/tests/css/dijitTests.css";
-</style>
-<!--
-The next line should include Microsoft's Silverligth.js, if you plan to use the silverlight backend
-<script type="text/javascript" src="Silverlight.js"></script>
--->
-<script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug: true"></script>
-<script type="text/javascript" src="../../lang/functional.js"></script>
-<script type="text/javascript" src="../../lang/functional/fold.js"></script>
-<script type="text/javascript" src="../../lang/utils.js"></script>
-<script type="text/javascript" src="../Theme.js"></script>
-<script type="text/javascript" src="../scaler.js"></script>
-<script type="text/javascript" src="../Element.js"></script>
-<script type="text/javascript" src="../plot2d/Pie.js"></script>
-<script type="text/javascript" src="../Chart2D.js"></script>
-<script type="text/javascript">
-
-dojo.require("dojox.charting.Chart2D");
-dojo.require("dojox.charting.themes.PlotKit.blue");
-dojo.require("dojox.charting.themes.PlotKit.green");
-dojo.require("dojox.charting.themes.PlotKit.red");
-
-makeObjects = function(){
- var chart1 = new dojox.charting.Chart2D("test1");
- chart1.setTheme(dojox.charting.themes.PlotKit.blue);
- chart1.addPlot("default", {
- type: "Pie",
- font: "normal normal bold 12pt Tahoma",
- fontColor: "white",
- labelOffset: 40
- });
- chart1.addSeries("Series A", [4, 2, 1, 1]);
- chart1.render();
-
- var chart2 = new dojox.charting.Chart2D("test2");
- chart2.setTheme(dojox.charting.themes.PlotKit.blue);
- chart2.addPlot("default", {
- type: "Pie",
- font: "normal normal bold 12pt Tahoma",
- fontColor: "black",
- labelOffset: -25,
- precision: 0
- });
- chart2.addSeries("Series A", [4, 2, 1, 1]);
- chart2.render();
-
- var chart3 = new dojox.charting.Chart2D("test3");
- chart3.setTheme(dojox.charting.themes.PlotKit.green);
- chart3.addPlot("default", {
- type: "Pie",
- font: "normal normal bold 10pt Tahoma",
- fontColor: "white",
- labelOffset: 25,
- radius: 90
- });
- chart3.addSeries("Series A", [4, 2, 1, 1]);
- chart3.render();
-
- var chart4 = new dojox.charting.Chart2D("test4");
- chart4.setTheme(dojox.charting.themes.PlotKit.green);
- chart4.addPlot("default", {
- type: "Pie",
- font: "normal normal bold 10pt Tahoma",
- fontColor: "black",
- labelOffset: -25,
- radius: 90
- });
- chart4.addSeries("Series A", [4, 2, 1, 1]);
- chart4.render();
-
- var chart5 = new dojox.charting.Chart2D("test5");
- chart5.setTheme(dojox.charting.themes.PlotKit.red);
- chart5.addPlot("default", {
- type: "Pie",
- font: "normal normal bold 14pt Tahoma",
- fontColor: "white",
- labelOffset: 40
- });
- chart5.addSeries("Series A", [{y: 4, text: "Red"}, {y: 2, text: "Green"}, {y: 1, text: "Blue"}, {y: 1, text: "Other"}]);
- chart5.render();
-
- var chart6 = new dojox.charting.Chart2D("test6");
- chart6.setTheme(dojox.charting.themes.PlotKit.red);
- chart6.addPlot("default", {
- type: "Pie",
- font: "normal normal bold 14pt Tahoma",
- fontColor: "white",
- labelOffset: 40
- });
- chart6.addSeries("Series A", [
- {y: 4, text: "Red", color: "red"},
- {y: 2, text: "Green", color: "green"},
- {y: 1, text: "Blue", color: "blue"},
- {y: 1, text: "Other", color: "white", fontColor: "black"}
- ]);
- chart6.render();
-};
-
-dojo.addOnLoad(makeObjects);
-
-</script>
-</head>
-<body>
-<h1>Pie 2D</h1>
-<!--<p><button onclick="makeObjects();">Go</button></p>-->
-<p>1: Pie with internal labels.</p>
-<div id="test1" style="width: 300px; height: 300px;"></div>
-<p>2: Pie with external labels and precision=0.</p>
-<div id="test2" style="width: 300px; height: 300px;"></div>
-<p>3/4: Two pies with internal and external labels with a constant radius.</p>
-<table border="1"><tr>
- <td><div id="test3" style="width: 300px; height: 300px;"></div></td>
- <td><div id="test4" style="width: 300px; height: 300px;"></div></td>
-</tr></table>
-<p>5/6: Pie with internal custom labels and custom colors.</p>
-<table border="1"><tr>
- <td><div id="test5" style="width: 300px; height: 300px;"></div></td>
- <td><div id="test6" style="width: 300px; height: 300px;"></div></td>
-</tr></table>
-<p>That's all Folks!</p>
-</body>
-</html>
diff --git a/includes/js/dojox/charting/tests/test_scaler.html b/includes/js/dojox/charting/tests/test_scaler.html
deleted file mode 100644
index f717f83..0000000
--- a/includes/js/dojox/charting/tests/test_scaler.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<html>
-<head>
-<title>Scaler/tick generator</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<style type="text/css">
- @import "../../../dojo/resources/dojo.css";
- @import "../../../dijit/tests/css/dijitTests.css";
-</style>
-<!--
-The next line should include Microsoft's Silverligth.js, if you plan to use the silverlight backend
-<script type="text/javascript" src="Silverlight.js"></script>
--->
-<script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug: true"></script>
-<script type="text/javascript" src="../scaler.js"></script>
-<script type="text/javascript">
-
-dojo.require("dojox.charting.scaler");
-
-calc = function(){
- var min = parseFloat(dojo.byId("imin").value);
- var max = parseFloat(dojo.byId("imax").value);
- var span = parseFloat(dojo.byId("ispan").value);
-
- var o = dojox.charting.scaler(
- min, max, span, {
- fixLower: dojo.byId("ifl").value,
- fixUpper: dojo.byId("ifu").value,
- natural: Boolean(dojo.byId("inat").checked)
- }
- );
-
- dojo.byId("imin").value = min;
- dojo.byId("imax").value = max;
- dojo.byId("ispan").value = span;
-
- dojo.byId("olb").innerHTML = o.bounds.lower;
- dojo.byId("oub").innerHTML = o.bounds.upper;
-
- dojo.byId("omajt").innerHTML = o.major.tick;
- dojo.byId("omajs").innerHTML = o.major.start;
- dojo.byId("omajc").innerHTML = o.major.count;
- dojo.byId("omajp").innerHTML = o.major.prec;
-
- dojo.byId("omint").innerHTML = o.minor.tick;
- dojo.byId("omins").innerHTML = o.minor.start;
- dojo.byId("ominc").innerHTML = o.minor.count;
- dojo.byId("ominp").innerHTML = o.minor.prec;
-
- dojo.byId("omict").innerHTML = o.micro.tick;
- dojo.byId("omics").innerHTML = o.micro.start;
- dojo.byId("omicc").innerHTML = o.micro.count;
- dojo.byId("omicp").innerHTML = o.micro.prec;
-
- dojo.byId("oscale").innerHTML = o.scale;
-};
-
-</script>
-</head>
-<body>
-<h1>Scaler/tick generator</h1>
-<h2>Input</h2>
-<table>
- <tr><th>Name</th><th>Value</th></tr>
- <tr><td>min</td><td><input type="text" id="imin" /></td></tr>
- <tr><td>max</td><td><input type="text" id="imax" /></td></tr>
- <tr><td>span</td><td><input type="text" id="ispan" /></td></tr>
- <tr><td>natural</td><td><input type="checkbox" id="inat" /></td></tr>
- <tr><td>fixLower</td><td><input type="text" id="ifl" /></td></tr>
- <tr><td>fixUpper</td><td><input type="text" id="ifu" /></td></tr>
-</table>
-<p><button onclick="calc()">Calculate!</button></p>
-<h2>Output</h2>
-<table>
- <tr><th>Name</th><th>Value</th></tr>
-
- <tr><td>lowerBound</td><td><span id="olb">&nbsp;</span></td></tr>
- <tr><td>upperBound</td><td><span id="oub">&nbsp;</span></td></tr>
-
- <tr><td>major.tick</td><td><span id="omajt">&nbsp;</span></td></tr>
- <tr><td>major.start</td><td><span id="omajs">&nbsp;</span></td></tr>
- <tr><td>major.count</td><td><span id="omajc">&nbsp;</span></td></tr>
- <tr><td>major.prec</td><td><span id="omajp">&nbsp;</span></td></tr>
-
- <tr><td>minor.tick</td><td><span id="omint">&nbsp;</span></td></tr>
- <tr><td>minor.start</td><td><span id="omins">&nbsp;</span></td></tr>
- <tr><td>minor.count</td><td><span id="ominc">&nbsp;</span></td></tr>
- <tr><td>minor.prec</td><td><span id="ominp">&nbsp;</span></td></tr>
-
- <tr><td>micro.tick</td><td><span id="omict">&nbsp;</span></td></tr>
- <tr><td>micro.start</td><td><span id="omics">&nbsp;</span></td></tr>
- <tr><td>micro.count</td><td><span id="omicc">&nbsp;</span></td></tr>
- <tr><td>micro.prec</td><td><span id="omicp">&nbsp;</span></td></tr>
-
- <tr><td>scale</td><td><span id="oscale">&nbsp;</span></td></tr>
-</table>
-</body>
-</html>
diff --git a/includes/js/dojox/charting/tests/test_sparklines.html b/includes/js/dojox/charting/tests/test_sparklines.html
deleted file mode 100644
index 2d3a36f..0000000
--- a/includes/js/dojox/charting/tests/test_sparklines.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<html>
- <head>
- <title>Chart 2D -- Sparklines Edition</title>
- <style type="text/css">
- @import "../../../dojo/resources/dojo.css";
- @import "../../../dijit/tests/css/dijitTests.css";
- .volume { color: #666666; }
-
- .label {
- text-align: right;
- line-height: 1.5em;
- }
- </style>
- <script type="text/javascript" src="../../../dojo/dojo.js"
- djConfig="isDebug: false, parseOnLoad: true"></script>
- <script type="text/javascript">
- dojo.require("dojox.charting.widget.Chart2D");
- dojo.require("dojox.charting.themes.ET.greys");
- dojo.require("dojox.data.HtmlStore");
- dojo.require("dojox.data.CsvStore");
- dojo.require("dojo.parser");
- </script>
-
- </head>
- <body>
- <h1>Chart 2D</h1>
- <p>Sparkline-style charts using dojox.charting</p>
-
- <div dojoType="dojox.data.HtmlStore" dataId="tableExample" jsId="tableStore"></div>
- <table id="tableExample" style="display: none;">
- <thead>
- <tr><th>value</th></tr>
- </thead>
- <tbody>
- <tr><td>6.3</td></tr>
- <tr><td>1.8</td></tr>
- <tr><td>3 </td></tr>
- <tr><td>0.5</td></tr>
- <tr><td>4.4</td></tr>
- <tr><td>2.7</td></tr>
- <tr><td>2 </td></tr>
- </tbody>
- </table>
-
- <table cellpadding="0" cellspacing="3" border="0">
- <tr>
- <td class="label">
- Simple Sparkline:
- </td>
- <td>
- <div dojoType="dojox.charting.widget.Chart2D"
- theme="dojox.charting.themes.ET.greys"
- margins="{ l: 0, r: 0, t: 0, b: 0 }"
- style="width: 100px; height: 15px;">
- <div class="plot" name="default" type="Lines"></div>
- <div class="series" name="Series A" store="tableStore" valueFn="Number(x)"></div>
- </div>
- </td>
- <td>
- 7 arbitrary data points
- </td>
- </tr>
- <tr>
- <td class="label">
- <a href="http://finance.google.com/finance?q=Google">Google </a> Closing Price &amp; <span class="volume">Volume</span>:
- </td>
- <td>
-
- <div dojoType="dojox.data.CsvStore" jsId="googStore"
- url="data/goog_prices.csv"></div>
- <div dojoType="dojox.charting.widget.Chart2D"
- theme="dojox.charting.themes.ET.greys"
- margins="{ l: 0, r: 0, t: 0, b: 0 }"
- style="width: 100px; height: 15px;">
- <div class="plot" name="default" type="Lines"></div>
- <div class="series"
- name="Closing Price"
- plot="default"
- store="googStore"
- count="Infinity"
- field="Close"
- sort="[{ attribute: 'Date', descending: false }]"
- valueFn="Number(x)"></div>
- <div class="plot" name="volume" type="Areas"></div>
- <div class="series"
- name="Volume"
- plot="volume"
- store="googStore"
- count="Infinity"
- field="Volume"
- sort="[{ attribute: 'Date', descending: false }]"
- stroke="{ color: '#666666', width: 0 }"
- fill="'#b3b3b3'"
- valueFn="Number(x/100000)"></div>
- </div>
-
- </td>
- <td>
- ~1400 data points, all trading days since Jan '05
- </td>
- </tr>
- <tr>
- <td class="label">
- <a href="http://finance.google.com/finance?q=Yahoo">Yahoo</a> Closing Price &amp; <span class="volume">Volume</span>:
- </td>
- <td>
-
- <div dojoType="dojox.data.CsvStore" jsId="yahooStore"
- url="data/yahoo_prices.csv"></div>
- <div dojoType="dojox.charting.widget.Chart2D"
- theme="dojox.charting.themes.ET.greys"
- margins="{ l: 0, r: 0, t: 0, b: 0 }"
- style="width: 100px; height: 15px;">
- <div class="plot" name="default" type="Lines"></div>
- <div class="series"
- name="Closing Price"
- plot="default"
- store="yahooStore"
- count="Infinity"
- field="Close"
- sort="[{ attribute: 'Date', descending: false }]"
- valueFn="Number(x)"></div>
- <div class="plot" name="volume" type="Areas"></div>
- <div class="series"
- name="Volume"
- plot="volume"
- store="yahooStore"
- count="Infinity"
- field="Volume"
- sort="[{ attribute: 'Date', descending: false }]"
- stroke="{ color: '#666666', width: 0 }"
- fill="'#b3b3b3'"
- valueFn="Number(x/100000)"></div>
- </div>
-
- </td>
- <td>
- </td>
- </tr>
- <tr>
- <td class="label">
- <a href="http://finance.google.com/finance?q=Microsoft">Microsoft</a> Closing Price &amp; <span class="volume">Volume</span>:
- </td>
- <td>
- <div dojoType="dojox.data.CsvStore" jsId="msftStore"
- url="data/msft_prices.csv"></div>
- <div dojoType="dojox.charting.widget.Chart2D"
- theme="dojox.charting.themes.ET.greys"
- margins="{ l: 0, r: 0, t: 0, b: 0 }"
- style="width: 100px; height: 15px;">
- <div class="plot" name="default" type="Lines"></div>
- <div class="series"
- name="Closing Price"
- plot="default"
- store="msftStore"
- count="Infinity"
- field="Close"
- sort="[{ attribute: 'Date', descending: false }]"
- valueFn="Number(x)"></div>
- <div class="plot" name="volume" type="Areas"></div>
- <div class="series"
- name="Volume"
- plot="volume"
- store="msftStore"
- count="Infinity"
- field="Volume"
- sort="[{ attribute: 'Date', descending: false }]"
- stroke="{ color: '#666666', width: 0 }"
- fill="'#b3b3b3'"
- valueFn="Number(x/100000)"></div>
- </div>
-
- </td>
- <td>
- </td>
- </tr>
-
- </table>
- </body>
-</html>
diff --git a/includes/js/dojox/charting/tests/test_widget2d.html b/includes/js/dojox/charting/tests/test_widget2d.html
deleted file mode 100644
index f97719f..0000000
--- a/includes/js/dojox/charting/tests/test_widget2d.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<html>
-<head>
-<title>Chart 2D</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<style type="text/css">
- @import "../../../dojo/resources/dojo.css";
- @import "../../../dijit/tests/css/dijitTests.css";
-</style>
-<!--
-The next line should include Microsoft's Silverligth.js, if you plan to use the silverlight backend
-<script type="text/javascript" src="Silverlight.js"></script>
--->
-<script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script>
-<script type="text/javascript" src="../../lang/functional.js"></script>
-<script type="text/javascript" src="../Theme.js"></script>
-<script type="text/javascript" src="../scaler.js"></script>
-<script type="text/javascript" src="../Chart2D.js"></script>
-<script type="text/javascript" src="../widget/Chart2D.js"></script>
-
-<script type="text/javascript">
- dojo.require("dojox.charting.widget.Chart2D");
- dojo.require("dojox.charting.themes.PlotKit.orange");
- dojo.require("dojox.charting.themes.PlotKit.blue");
- dojo.require("dojox.charting.themes.PlotKit.green");
- dojo.require("dojox.data.HtmlStore");
-
- seriesB = [2.6, 1.8, 2, 1, 1.4, 0.7, 2];
-
- dojo.require("dojo.parser"); // scan page for widgets and instantiate them
-</script>
-
-</head>
-<body>
-<h1>Chart 2D</h1>
-<p>Examples of charts using widgets.</p>
-<div dojoType="dojox.data.HtmlStore" dataId="tableExample" jsId="tableStore"></div>
-<table id="tableExample" style="display: none;">
- <thead>
- <tr><th>value</th></tr>
- </thead>
- <tbody>
- <tr><td>6.3</td></tr>
- <tr><td>1.8</td></tr>
- <tr><td>3 </td></tr>
- <tr><td>0.5</td></tr>
- <tr><td>4.4</td></tr>
- <tr><td>2.7</td></tr>
- <tr><td>2 </td></tr>
- </tbody>
-</table>
-<table border="0" cellspacing="30">
- <tr>
- <td>
- <div dojoType="dojox.charting.widget.Chart2D" style="width: 300px; height: 300px;">
- <div class="axis" name="x" font="italic normal normal 8pt Tahoma"></div>
- <div class="axis" name="y" vertical="true" fixUpper="major" includeZero="true"
- font="italic normal normal 8pt Tahoma"></div>
- <div class="plot" name="default" type="Areas"></div>
- <div class="plot" name="grid" type="Grid"></div>
- <div class="series" name="Series A" data="1, 2, 0.5, 1.5, 1, 2.8, 0.4"></div>
- <div class="series" name="Series B" array="seriesB"></div>
- <div class="series" name="Series C" store="tableStore" valueFn="Number(x)"></div>
- </div>
- </td>
- <td>
- <div dojoType="dojox.charting.widget.Chart2D" theme="dojox.charting.themes.PlotKit.orange"
- fill="'lightgrey'" style="width: 300px; height: 300px;">
- <div class="axis" name="x" font="italic normal bold 10pt Tahoma"></div>
- <div class="axis" name="y" vertical="true" fixUpper="major" includeZero="true"
- font="italic normal bold 10pt Tahoma"></div>
- <div class="plot" name="default" type="Areas"></div>
- <div class="plot" name="grid" type="Grid"></div>
- <div class="series" name="Series A" data="1, 2, 0.5, 1.5, 1, 2.8, 0.4"></div>
- <div class="series" name="Series B" array="seriesB"></div>
- <div class="series" name="Series C" store="tableStore" valueFn="Number(x)" stroke="'#666666'" fill="'#b3b3b3'"></div>
- </div>
- </td>
- </tr>
- <tr>
- <td>
- <div dojoType="dojox.charting.widget.Chart2D" theme="dojox.charting.themes.PlotKit.blue"
- style="width: 300px; height: 300px;">
- <div class="plot" name="default" type="Pie" radius="100" fontColor="white"></div>
- <div class="series" name="Series B" array="seriesB"></div>
- </div>
- </td>
- <td>
- <div dojoType="dojox.charting.widget.Chart2D" theme="dojox.charting.themes.PlotKit.green"
- style="width: 300px; height: 300px;">
- <div class="plot" name="default" type="Pie" radius="100" fontColor="black" labelOffset="-20"></div>
- <div class="series" name="Series C" store="tableStore" valueFn="Number(x)"></div>
- </div>
- </td>
- </tr>
-</table>
-<p>That's all Folks!</p>
-</body>
-</html>
diff --git a/includes/js/dojox/charting/themes/ET/greys.js b/includes/js/dojox/charting/themes/ET/greys.js
deleted file mode 100644
index de5e805..0000000
--- a/includes/js/dojox/charting/themes/ET/greys.js
+++ /dev/null
@@ -1,63 +0,0 @@
-if(!dojo._hasResource["dojox.charting.themes.ET.greys"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.themes.ET.greys"] = true;
-dojo.provide("dojox.charting.themes.ET.greys");
-dojo.require("dojox.charting.Theme");
-
-(function(){
- var dxc=dojox.charting;
- dxc.themes.ET.greys = new dxc.Theme({
- antiAlias: false,
- chart: {
- stroke: null,
- fill: "transparent"
- },
- plotarea: {
- // stroke: { width: 0.2, color: "#666666" },
- stroke: null,
- fill: "transparent"
- },
- axis:{
- stroke:{ width: 0 },
- line:{ width: 0 },
- majorTick:{
- color: "#666666",
- width: 1,
- length: 5
- },
- minorTick: {
- color: "black",
- width: 0.5,
- length: 2
- },
- font:"normal normal normal 8pt Tahoma",
- fontColor:"#999999"
- },
- series:{
- outline:{ width: 0, color: "black" },
- stroke: { width: 1, color: "black" },
- fill: dojo.colorFromHex("#3b444b"),
- font: "normal normal normal 7pt Tahoma", // label
- fontColor: "#717171"
- },
- marker:{ // any markers on a series.
- stroke:{ width:1 },
- fill:"#333",
- font:"normal normal normal 7pt Tahoma", // label
- fontColor:"#000"
- },
- colors:[]
- });
- dxc.themes.ET.greys.defineColors({
- colors: [
- // dojo.colorFromHex("#c3c3c3"),
- dojo.colorFromHex("#8a8c8f"),
- dojo.colorFromHex("#4b4b4b"),
- dojo.colorFromHex("#3b444b"),
- dojo.colorFromHex("#2e2d30"),
- dojo.colorFromHex("#000000")
- ]
- });
-})();
-
-
-}
diff --git a/includes/js/dojox/charting/themes/GreySkies.js b/includes/js/dojox/charting/themes/GreySkies.js
deleted file mode 100644
index da96edc..0000000
--- a/includes/js/dojox/charting/themes/GreySkies.js
+++ /dev/null
@@ -1,11 +0,0 @@
-if(!dojo._hasResource["dojox.charting.themes.GreySkies"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.themes.GreySkies"] = true;
-dojo.provide("dojox.charting.themes.GreySkies");
-dojo.require("dojox.charting.Theme");
-
-(function(){
- var dxc=dojox.charting;
- dxc.themes.GreySkies=new dxc.Theme(dxc.Theme._def);
-})();
-
-}
diff --git a/includes/js/dojox/charting/themes/PlotKit/README b/includes/js/dojox/charting/themes/PlotKit/README
deleted file mode 100644
index dbf4c81..0000000
--- a/includes/js/dojox/charting/themes/PlotKit/README
+++ /dev/null
@@ -1,11 +0,0 @@
-This directory contains a set of themes for the DojoX Charting
-engine that are based on the visual stylings of the PlotKit
-chart kit, created by Alastair Tse:
-
-http://www.liquidx.net/plotkit/
-
-...whose work we admire. Consider these themes to not be a
-ripoff of his fine work, but instead a true homage: his charts
-are beautiful, and we stand in awe.
-
---trt, 2007-06-08
diff --git a/includes/js/dojox/charting/themes/PlotKit/blue.js b/includes/js/dojox/charting/themes/PlotKit/blue.js
deleted file mode 100644
index 5ba63bc..0000000
--- a/includes/js/dojox/charting/themes/PlotKit/blue.js
+++ /dev/null
@@ -1,43 +0,0 @@
-if(!dojo._hasResource["dojox.charting.themes.PlotKit.blue"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.themes.PlotKit.blue"] = true;
-dojo.provide("dojox.charting.themes.PlotKit.blue");
-dojo.require("dojox.charting.Theme");
-
-(function(){
- var dxc=dojox.charting;
- dxc.themes.PlotKit.blue=new dxc.Theme({
- chart:{
- stroke:null,
- fill: "white"
- },
- plotarea:{
- stroke:null,
- fill: "#e7eef6"
- },
- axis:{
- stroke:{ color:"#fff",width:2 },
- line:{ color:"#fff",width:1 },
- majorTick:{ color:"#fff", width:2, length:12 },
- minorTick:{ color:"#fff", width:1, length:8 },
- font:"normal normal normal 8pt Tahoma",
- fontColor:"#999"
- },
- series:{
- outline:{ width: 0.1, color:"#fff" },
- stroke:{ width: 1.5, color:"#666" },
- fill:new dojo.Color([0x66, 0x66, 0x66, 0.8]),
- font:"normal normal normal 7pt Tahoma", // label
- fontColor:"#000"
- },
- marker:{ // any markers on a series.
- stroke:{ width:2 },
- fill:"#333",
- font:"normal normal normal 7pt Tahoma", // label
- fontColor:"#000"
- },
- colors:[]
- });
- dxc.themes.PlotKit.blue.defineColors({ hue:217, saturation:60, low:40, high:88 });
-})();
-
-}
diff --git a/includes/js/dojox/charting/themes/PlotKit/cyan.js b/includes/js/dojox/charting/themes/PlotKit/cyan.js
deleted file mode 100644
index 0f05638..0000000
--- a/includes/js/dojox/charting/themes/PlotKit/cyan.js
+++ /dev/null
@@ -1,43 +0,0 @@
-if(!dojo._hasResource["dojox.charting.themes.PlotKit.cyan"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.themes.PlotKit.cyan"] = true;
-dojo.provide("dojox.charting.themes.PlotKit.cyan");
-dojo.require("dojox.charting.Theme");
-
-(function(){
- var dxc=dojox.charting;
- dxc.themes.PlotKit.cyan=new dxc.Theme({
- chart:{
- stroke:null,
- fill: "white"
- },
- plotarea:{
- stroke:null,
- fill: "#e6f1f5"
- },
- axis:{
- stroke:{ color:"#fff",width:2 },
- line:{ color:"#fff",width:1 },
- majorTick:{ color:"#fff", width:2, length:12 },
- minorTick:{ color:"#fff", width:1, length:8 },
- font:"normal normal normal 8pt Tahoma",
- fontColor:"#999"
- },
- series:{
- outline:{ width:1, color:"#fff" },
- stroke:{ width:2, color:"#666" },
- fill:new dojo.Color([0x66, 0x66, 0x66, 0.8]),
- font:"normal normal normal 7pt Tahoma", // label
- fontColor:"#000"
- },
- marker:{ // any markers on a series.
- stroke:{ width:2 },
- fill:"#333",
- font:"normal normal normal 7pt Tahoma", // label
- fontColor:"#000"
- },
- colors:[]
- });
- dxc.themes.PlotKit.cyan.defineColors({ hue:194, saturation:60, low:40, high:88 });
-})();
-
-}
diff --git a/includes/js/dojox/charting/themes/PlotKit/green.js b/includes/js/dojox/charting/themes/PlotKit/green.js
deleted file mode 100644
index 7581a5a..0000000
--- a/includes/js/dojox/charting/themes/PlotKit/green.js
+++ /dev/null
@@ -1,43 +0,0 @@
-if(!dojo._hasResource["dojox.charting.themes.PlotKit.green"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.themes.PlotKit.green"] = true;
-dojo.provide("dojox.charting.themes.PlotKit.green");
-dojo.require("dojox.charting.Theme");
-
-(function(){
- var dxc=dojox.charting;
- dxc.themes.PlotKit.green=new dxc.Theme({
- chart:{
- stroke:null,
- fill: "white"
- },
- plotarea:{
- stroke:null,
- fill: "#eff5e6"
- },
- axis:{
- stroke:{ color:"#fff",width:2 },
- line:{ color:"#fff",width:1 },
- majorTick:{ color:"#fff", width:2, length:12 },
- minorTick:{ color:"#fff", width:1, length:8 },
- font:"normal normal normal 8pt Tahoma",
- fontColor:"#999"
- },
- series:{
- outline:{ width:1, color:"#fff" },
- stroke:{ width:2, color:"#666" },
- fill:new dojo.Color([0x66, 0x66, 0x66, 0.8]),
- font:"normal normal normal 7pt Tahoma", // label
- fontColor:"#000"
- },
- marker:{ // any markers on a series.
- stroke:{ width:2 },
- fill:"#333",
- font:"normal normal normal 7pt Tahoma", // label
- fontColor:"#000"
- },
- colors:[]
- });
- dxc.themes.PlotKit.green.defineColors({ hue:82, saturation:60, low:40, high:88 });
-})();
-
-}
diff --git a/includes/js/dojox/charting/themes/PlotKit/orange.js b/includes/js/dojox/charting/themes/PlotKit/orange.js
deleted file mode 100644
index 1693610..0000000
--- a/includes/js/dojox/charting/themes/PlotKit/orange.js
+++ /dev/null
@@ -1,43 +0,0 @@
-if(!dojo._hasResource["dojox.charting.themes.PlotKit.orange"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.themes.PlotKit.orange"] = true;
-dojo.provide("dojox.charting.themes.PlotKit.orange");
-dojo.require("dojox.charting.Theme");
-
-(function(){
- var dxc=dojox.charting;
- dxc.themes.PlotKit.orange=new dxc.Theme({
- chart:{
- stroke:null,
- fill: "white"
- },
- plotarea:{
- stroke:null,
- fill: "#f5eee6"
- },
- axis:{
- stroke:{ color:"#fff",width:2 },
- line:{ color:"#fff",width:1 },
- majorTick:{ color:"#fff", width:2, length:12 },
- minorTick:{ color:"#fff", width:1, length:8 },
- font:"normal normal normal 8pt Tahoma",
- fontColor:"#999"
- },
- series:{
- outline:{ width:0.15, color: "#fff" },
- stroke:{ width:1.5, color: "#666" },
- fill:new dojo.Color([0x66, 0x66, 0x66, 0.8]),
- font:"normal normal normal 7pt Tahoma", // label
- fontColor:"#000"
- },
- marker:{ // any markers on a series.
- stroke:{ width:2 },
- fill:"#333",
- font:"normal normal normal 7pt Tahoma", // label
- fontColor:"#000"
- },
- colors:[]
- });
- dxc.themes.PlotKit.orange.defineColors({ hue:31, saturation:60, low:40, high:88 });
-})();
-
-}
diff --git a/includes/js/dojox/charting/themes/PlotKit/purple.js b/includes/js/dojox/charting/themes/PlotKit/purple.js
deleted file mode 100644
index a54d0cc..0000000
--- a/includes/js/dojox/charting/themes/PlotKit/purple.js
+++ /dev/null
@@ -1,43 +0,0 @@
-if(!dojo._hasResource["dojox.charting.themes.PlotKit.purple"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.themes.PlotKit.purple"] = true;
-dojo.provide("dojox.charting.themes.PlotKit.purple");
-dojo.require("dojox.charting.Theme");
-
-(function(){
- var dxc=dojox.charting;
- dxc.themes.PlotKit.purple=new dxc.Theme({
- chart:{
- stroke:null,
- fill: "white"
- },
- plotarea:{
- stroke:null,
- fill: "#eee6f5"
- },
- axis:{
- stroke:{ color:"#fff",width:2 },
- line:{ color:"#fff",width:1 },
- majorTick:{ color:"#fff", width:2, length:12 },
- minorTick:{ color:"#fff", width:1, length:8 },
- font:"normal normal normal 8pt Tahoma",
- fontColor:"#999"
- },
- series:{
- outline:{ width:1, color:"#fff" },
- stroke:{ width:2, color:"#666" },
- fill:new dojo.Color([0x66, 0x66, 0x66, 0.8]),
- font:"normal normal normal 7pt Tahoma", // label
- fontColor:"#000"
- },
- marker:{ // any markers on a series.
- stroke:{ width:2 },
- fill:"#333",
- font:"normal normal normal 7pt Tahoma", // label
- fontColor:"#000"
- },
- colors:[]
- });
- dxc.themes.PlotKit.purple.defineColors({ hue:271, saturation:60, low:40, high:88 });
-})();
-
-}
diff --git a/includes/js/dojox/charting/themes/PlotKit/red.js b/includes/js/dojox/charting/themes/PlotKit/red.js
deleted file mode 100644
index 607090b..0000000
--- a/includes/js/dojox/charting/themes/PlotKit/red.js
+++ /dev/null
@@ -1,43 +0,0 @@
-if(!dojo._hasResource["dojox.charting.themes.PlotKit.red"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.themes.PlotKit.red"] = true;
-dojo.provide("dojox.charting.themes.PlotKit.red");
-dojo.require("dojox.charting.Theme");
-
-(function(){
- var dxc=dojox.charting;
- dxc.themes.PlotKit.red=new dxc.Theme({
- chart:{
- stroke:null,
- fill: "white"
- },
- plotarea:{
- stroke:null,
- fill: "#f5e6e6"
- },
- axis:{
- stroke:{ color:"#fff",width:2 },
- line:{ color:"#fff",width:1 },
- majorTick:{ color:"#fff", width:2, length:12 },
- minorTick:{ color:"#fff", width:1, length:8 },
- font:"normal normal normal 8pt Tahoma",
- fontColor:"#999"
- },
- series:{
- outline:{ width:1, color:"#fff" },
- stroke:{ width:2, color:"#666" },
- fill:new dojo.Color([0x66, 0x66, 0x66, 0.8]),
- font:"normal normal normal 7pt Tahoma", // label
- fontColor:"#000"
- },
- marker:{ // any markers on a series.
- stroke:{ width:2 },
- fill:"#333",
- font:"normal normal normal 7pt Tahoma", // label
- fontColor:"#000"
- },
- colors:[]
- });
- dxc.themes.PlotKit.red.defineColors({ hue:1, saturation:60, low:40, high:88 });
-})();
-
-}
diff --git a/includes/js/dojox/charting/widget/Chart2D.js b/includes/js/dojox/charting/widget/Chart2D.js
deleted file mode 100644
index 08def5e..0000000
--- a/includes/js/dojox/charting/widget/Chart2D.js
+++ /dev/null
@@ -1,215 +0,0 @@
-if(!dojo._hasResource["dojox.charting.widget.Chart2D"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.charting.widget.Chart2D"] = true;
-dojo.provide("dojox.charting.widget.Chart2D");
-
-dojo.require("dijit._Widget");
-dojo.require("dojox.charting.Chart2D");
-dojo.require("dojox.lang.functional");
-
-(function(){
- var collectAxisParams, collectPlotParams, collectDataParams,
- notNull = function(o){ return o; },
- df = dojox.lang.functional,
- du = dojox.lang.utils;
-
- dojo.declare("dojox.charting.widget.Chart2D", dijit._Widget, {
- // parameters for the markup
-
- // theme for the chart
- theme: null,
-
- // margins for the chart: {l: 10, r: 10, t: 10, b: 10}
- margins: null,
-
- // chart area
- stroke: null,
- fill: null,
-
- // methods
-
- buildRendering: function(){
- var n = this.domNode = this.srcNodeRef;
-
- // collect chart parameters
- var axes = dojo.filter(dojo.query("> .axis", n).map(collectAxisParams), notNull);
- var plots = dojo.filter(dojo.query("> .plot", n).map(collectPlotParams), notNull);
- var series = dojo.filter(dojo.query("> .series", n).map(collectDataParams), notNull);
-
- // build the chart
- n.innerHTML = "";
- var c = this.chart = new dojox.charting.Chart2D(n, {
- margins: this.margins,
- stroke: this.stroke,
- fill: this.fill
- });
-
- // add collected parameters
- if(this.theme){
- c.setTheme(this.theme);
- }
- dojo.forEach(axes, function(axis){
- c.addAxis(axis.name, axis.kwArgs);
- });
- dojo.forEach(plots, function(plot){
- c.addPlot(plot.name, plot.kwArgs);
- });
- var render = df.foldl(series, function(render, series){
- if(series.type == "data"){
- c.addSeries(series.name, series.data, series.kwArgs);
- render = true;
- }else{
- c.addSeries(series.name, [0], series.kwArgs);
- var kw = {};
- du.updateWithPattern(
- kw,
- series.kwArgs,
- {
- "query": "",
- "queryOptions": null,
- "start": 0,
- "count": 1 //,
- // "sort": []
- },
- true
- );
- if(series.kwArgs.sort){
- // sort is a complex object type and doesn't survive coercian
- kw.sort = dojo.clone(series.kwArgs.sort);
- }
- dojo.mixin(kw, {
- onComplete: function(data){
- var values;
- if("valueFn" in series.kwArgs){
- var fn = series.kwArgs.valueFn;
- values = dojo.map(data, function(x){
- return fn(series.data.getValue(x, series.field, 0));
- });
- }else{
- values = dojo.map(data, function(x){
- return series.data.getValue(x, series.field, 0);
- });
- }
- c.addSeries(series.name, values, series.kwArgs).render();
- }
- });
- series.data.fetch(kw);
- }
- return render;
- }, false);
- if(render){ c.render(); }
- },
- resize: function(box){
- dojo.marginBox(this.domNode, box);
- this.chart.resize();
- }
- });
-
- collectAxisParams = function(node){
- var name = node.getAttribute("name"), type = node.getAttribute("type");
- if(!name){ return null; }
- var o = {name: name, kwArgs: {}}, kw = o.kwArgs;
- if(type){
- if(dojox.charting.axis2d[type]){
- type = dojox._scopeName + ".charting.axis2d." + type;
- }
- var axis = eval("(" + type + ")");
- if(axis){ kw.type = axis; }
- }else{
- type = dojox._scopeName + ".charting.axis2d.Default";
- }
- var dp = eval("(" + type + ".prototype.defaultParams)");
- for(var x in dp){
- if(x in kw){ continue; }
- var attr = node.getAttribute(x);
- kw[x] = du.coerceType(dp[x], attr == null ? dp[x] : attr);
- }
- var op = eval("(" + type + ".prototype.optionalParams)");
- for(var x in op){
- if(x in kw){ continue; }
- var attr = node.getAttribute(x);
- if(attr != null){
- kw[x] = du.coerceType(op[x], attr);
- }
- }
- return o;
- };
-
- collectPlotParams = function(node){
- var name = node.getAttribute("name"), type = node.getAttribute("type");
- if(!name){ return null; }
- var o = {name: name, kwArgs: {}}, kw = o.kwArgs;
- if(type){
- if(dojox.charting.plot2d[type]){
- type = dojox._scopeName + ".charting.plot2d." + type;
- }
- var plot = eval("(" + type + ")");
- if(plot){ kw.type = plot; }
- }else{
- type = dojox._scopeName + ".charting.plot2d.Default";
- }
- var dp = eval("(" + type + ".prototype.defaultParams)");
- for(var x in dp){
- if(x in kw){ continue; }
- var attr = node.getAttribute(x);
- kw[x] = du.coerceType(dp[x], attr == null ? dp[x] : attr);
- }
- var op = eval("(" + type + ".prototype.optionalParams)");
- for(var x in op){
- if(x in kw){ continue; }
- var attr = node.getAttribute(x);
- if(attr != null){
- kw[x] = du.coerceType(op[x], attr);
- }
- }
- return o;
- };
-
- collectDataParams = function(node){
- var name = node.getAttribute("name");
- if(!name){ return null; }
- var o = {name: name, kwArgs: {}}, kw = o.kwArgs, t;
- t = node.getAttribute("plot");
- if(t != null){ kw.plot = t; }
- t = node.getAttribute("marker");
- if(t != null){ kw.marker = t; }
- t = node.getAttribute("stroke");
- if(t != null){ kw.stroke = eval("(" + t + ")"); }
- t = node.getAttribute("fill");
- if(t != null){ kw.fill = eval("(" + t + ")"); }
- t = node.getAttribute("data");
- if(t != null){
- o.type = "data";
- o.data = dojo.map(String(t).split(','), Number);
- return o;
- }
- t = node.getAttribute("array");
- if(t != null){
- o.type = "data";
- o.data = eval("(" + t + ")");
- return o;
- }
- t = node.getAttribute("store");
- if(t != null){
- o.type = "store";
- o.data = eval("(" + t + ")");
- t = node.getAttribute("field");
- o.field = t != null ? t : "value";
- t = node.getAttribute("query");
- if(!!t){ kw.query = t; }
- t = node.getAttribute("queryOptions");
- if(!!t){ kw.queryOptions = eval("(" + t + ")"); }
- t = node.getAttribute("start");
- if(!!t){ kw.start = Number(t); }
- t = node.getAttribute("count");
- if(!!t){ kw.count = Number(t); }
- t = node.getAttribute("sort");
- if(!!t){ kw.sort = eval("("+t+")"); }
- t = node.getAttribute("valueFn");
- if(!!t){ kw.valueFn = df.lambda(t); }
- return o;
- }
- return null;
- };
-})();
-
-}