diff options
author | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-14 15:39:19 +0000 |
---|---|---|
committer | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-14 15:39:19 +0000 |
commit | 1c5685d68f1b73270fb814fe04cbb490eb90ba5f (patch) | |
tree | 3d3ada08a934b96fc31531f1327690d7edc6f766 /includes/js/dojox/charting | |
parent | 104d59099e048688c4dbac37d72137006e396558 (diff) | |
download | semanticscuttle-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')
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]+'> </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]+'> </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]+'> </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]+'> </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"> </span></td></tr> - <tr><td>upperBound</td><td><span id="oub"> </span></td></tr> - - <tr><td>major.tick</td><td><span id="omajt"> </span></td></tr> - <tr><td>major.start</td><td><span id="omajs"> </span></td></tr> - <tr><td>major.count</td><td><span id="omajc"> </span></td></tr> - <tr><td>major.prec</td><td><span id="omajp"> </span></td></tr> - - <tr><td>minor.tick</td><td><span id="omint"> </span></td></tr> - <tr><td>minor.start</td><td><span id="omins"> </span></td></tr> - <tr><td>minor.count</td><td><span id="ominc"> </span></td></tr> - <tr><td>minor.prec</td><td><span id="ominp"> </span></td></tr> - - <tr><td>micro.tick</td><td><span id="omict"> </span></td></tr> - <tr><td>micro.start</td><td><span id="omics"> </span></td></tr> - <tr><td>micro.count</td><td><span id="omicc"> </span></td></tr> - <tr><td>micro.prec</td><td><span id="omicp"> </span></td></tr> - - <tr><td>scale</td><td><span id="oscale"> </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 & <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 & <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 & <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; - }; -})(); - -} |