if(typeof Highcharts !== 'undefined' && typeof jQuery !== 'undefined') { jQuery.noConflict(); Highcharts.theme = { colors: ['#68a2ce', '#fa8d1a'] }; Highcharts.setOptions(Highcharts.theme); // extend Highcharts. Highcharts.visualize = function(table, options) { // set x-axis options.xAxis.categories = []; jQuery('tbody th', table).each(function(i) { options.xAxis.categories.push(this.innerHTML); }); // set series options.series = options.series || []; jQuery('tr', table).each(function(i) { var tr = this; jQuery('th, td', tr).each(function(j) { if(j > 0) { // skip first column if(i == 0) { // get name and init series options.series[j - 1] = { name: this.innerHTML, data: [], yAxis: j -1 }; options.yAxis[j - 1].title.text = this.innerHTML; } else { // add values options.series[j - 1].data.push(parseFloat(this.innerHTML)); } } }); table.addClass('hidden'); return new Highcharts.Chart(options); }); } var Month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; var Day = ['Su', 'M', 'Tu', 'W', 'Th', 'F', 'Sa']; var CompanyChart = { formatNumAxis: function(value) { return value > 1000 ? Math.floor(value/1000) + 'k' : value; } }; // default options Highcharts.defaultOptions = { credits: { enabled: false }, chart: { defaultSeriesType: 'line' }, title: { text: null, y: 0 }, xAxis: { labels: { formatter: function() { if(typeof this.value == 'number' || this.value.match(/^\d+$/)) { return this.value; } else { var d = new Date(this.value); if(d) { return Month[d.getUTCMonth()] + " " + d.getUTCDate(); } else { return this.value; } } } }, maxPadding: 0, minpadding: 0, tickmarkPlacement: "on", gridLineWidth: 1, gridLineColor: "#f0f0f0" }, yAxis: [{ allowDecimals: false, title: { style: { color: '#68A2CE' }, text: null }, labels: { style: { color: '#68A2CE' }, formatter: function() { return CompanyChart.formatNumAxis(this.value); }, minPadding: 1, maxPadding: 1 }, min: 0 }, { allowDecimals: false, title: { style: { color: '#FA8D1A' }, text: null }, labels: { style: { color: '#FA8D1A' }, formatter: function() { return CompanyChart.formatNumAxis(this.value); }, minPadding: 1, maxPadding: 1, }, min: 0, opposite: true }], tooltip: { formatter: function() { var d = new Date(this.x); return this.y + ' ' + this.series.name.toLowerCase() + '
' + Month[d.getUTCMonth()] + ' ' + d.getUTCDate(); } }, legend: { enabled: false } }; } /** * Date Selector */ var CDateSelector = new Class({ options: { handle: '.handle', drawer: '.drawer' }, initialize: function(el, options) { this.setOptions(options); this.element = el; this.handle = el.getElement(this.options.handle); this.drawer = el.getElement(this.options.drawer); this.handle.addEvents({ click: function() { this.toggle(); }.bind(this) }); this.drawer.getElements('input.inputbox').addEvents({ focus: function() { return showCalendar(this.getProperty('id'), '%m/%d/%y'); } }); }, toggle: function() { this.element.toggleClass('open'); } }); CDateSelector.implement(new Options); window.addEvent('domready', function() { new CDateSelector($('date-pickers')); });