/** * jqPlot * Pure JavaScript plotting plugin using jQuery * * Version: @VERSION * Revision: @REVISION * * Copyright (c) 2009-2013 Chris Leonello * jqPlot is currently available for use in all personal or commercial projects * under both the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL * version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html) licenses. This means that you can * choose the license that best suits your project and use it accordingly. * * Although not required, the author would appreciate an email letting him * know of any substantial use of jqPlot. You can reach the author at: * chris at jqplot dot com or see http://www.jqplot.com/info.php . * * If you are feeling kind and generous, consider supporting the project by * making a donation at: http://www.jqplot.com/donate.php . * * sprintf functions contained in jqplot.sprintf.js by Ash Searle: * * version 2007.04.27 * author Ash Searle * http://hexmen.com/blog/2007/03/printf-sprintf/ * http://hexmen.com/js/sprintf.js * The author (Ash Searle) has placed this code in the public domain: * "This code is unrestricted: you are free to use it however you like." * */ (function($) { /** * Class: $.jqplot.ciParser * Data Renderer function which converts a custom JSON data object into jqPlot data format. * Set this as a callable on the jqplot dataRenderer plot option: * * > plot = $.jqplot('mychart', [data], { dataRenderer: $.jqplot.ciParser, ... }); * * Where data is an object in JSON format or a JSON encoded string conforming to the * City Index API spec. * * Note that calling the renderer function is handled internally by jqPlot. The * user does not have to call the function. The parameters described below will * automatically be passed to the ciParser function. * * Parameters: * data - JSON encoded string or object. * plot - reference to jqPlot Plot object. * * Returns: * data array in jqPlot format. * */ $.jqplot.ciParser = function (data, plot) { var ret = [], line, temp, i, j, k, kk; if (typeof(data) == "string") { data = $.jqplot.JSON.parse(data, handleStrings); } else if (typeof(data) == "object") { for (k in data) { for (i=0; i= 0) { //here we will try to extract the ticks from the Date string in the "value" fields of JSON returned data a = /^\/Date\((-?[0-9]+)\)\/$/.exec(value); if (a) { return parseInt(a[1], 10); } } return value; } } for (var prop in data) { line = []; temp = data[prop]; switch (prop) { case "PriceTicks": for (i=0; i