| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596 | 
							- jQuery(document).ready(function() {
 - 	
 - 	"use strict";
 -     
 -     function showTooltip(x, y, contents) {
 - 		jQuery('<div id="tooltip" class="tooltipflot">' + contents + '</div>').css( {
 - 		  position: 'absolute',
 - 		  display: 'none',
 - 		  top: y + 5,
 - 		  left: x + 5
 - 		}).appendTo("body").fadeIn(200);
 - 	 }
 -     
 -     /*****SIMPLE CHART*****/
 -     
 -     var flash = [[0, 2], [1, 6], [2,3], [3, 8], [4, 5], [5, 13], [6, 8]];
 - 	 var html5 = [[0, 5], [1, 4], [2,4], [3, 1], [4, 9], [5, 10], [6, 13]];
 - 	
 - 	 var plot = jQuery.plot(jQuery("#basicflot"),
 - 		[ { data: flash,
 -           label: "Flash",
 -           color: "#1CAF9A"
 -         },
 -         { data: html5,
 -           label: "HTML5",
 -           color: "#428BCA"
 -         }
 -       ],
 -       {
 - 		  series: {
 - 			 lines: {
 -             show: true,
 -             fill: true,
 -             lineWidth: 1,
 -             fillColor: {
 -               colors: [ { opacity: 0.5 },
 -                         { opacity: 0.5 }
 -                       ]
 -             }
 -           },
 - 			 points: {
 -             show: true
 -           },
 -           shadowSize: 0
 - 		  },
 - 		  legend: {
 -           position: 'nw'
 -         },
 - 		  grid: {
 -           hoverable: true,
 -           clickable: true,
 -           borderColor: '#ddd',
 -           borderWidth: 1,
 -           labelMargin: 10,
 -           backgroundColor: '#fff'
 -         },
 - 		  yaxis: {
 -           min: 0,
 -           max: 15,
 -           color: '#eee'
 -         },
 -         xaxis: {
 -           color: '#eee'
 -         }
 - 		});
 - 		
 - 	 var previousPoint = null;
 - 	 jQuery("#basicflot").bind("plothover", function (event, pos, item) {
 -       jQuery("#x").text(pos.x.toFixed(2));
 -       jQuery("#y").text(pos.y.toFixed(2));
 - 			
 - 		if(item) {
 - 		  if (previousPoint != item.dataIndex) {
 - 			 previousPoint = item.dataIndex;
 - 						
 - 			 jQuery("#tooltip").remove();
 - 			 var x = item.datapoint[0].toFixed(2),
 - 			 y = item.datapoint[1].toFixed(2);
 - 	 			
 - 			 showTooltip(item.pageX, item.pageY,
 - 				  item.series.label + " of " + x + " = " + y);
 - 		  }
 - 			
 - 		} else {
 - 		  jQuery("#tooltip").remove();
 - 		  previousPoint = null;            
 - 		}
 - 		
 - 	 });
 - 		
 - 	 jQuery("#basicflot").bind("plotclick", function (event, pos, item) {
 - 		if (item) {
 - 		  plot.highlight(item.series, item.datapoint);
 - 		}
 - 	 });
 -     
 -     
 -     /***** USING OTHER SYMBOLS *****/
 -     
 -     var firefox = [[0, 5], [1, 8], [2,6], [3, 11], [4, 7], [5, 13], [6, 9], [7,8], [8,10], [9,9],[10,13]];
 - 	 var chrome = [[0, 3], [1, 6], [2,4], [3, 9], [4, 5], [5, 11], [6, 7], [7,6], [8,8], [9,7],[10,11]];
 - 	
 - 	 var plot2 = jQuery.plot(jQuery("#basicflot2"),
 - 		[ { data: firefox,
 -           label: "Firefox",
 -           color: "#D9534F",
 -           points: {
 -             symbol: "square"
 -           }
 -         },
 -         { data: chrome,
 -           label: "Chrome",
 -           color: "#428BCA",
 -           lines: {
 -             fill: true
 -           },
 -           points: {
 -             symbol: 'diamond',
 -             lineWidth: 2
 -           }
 -         }
 -       ],
 -       {
 - 		  series: {
 - 			 lines: {
 -             show: true,
 -             lineWidth: 2
 -           },
 - 			 points: {
 -             show: true
 -           },
 -           shadowSize: 0
 - 		  },
 - 		  legend: {
 -           position: 'nw'
 -         },
 - 		  grid: {
 -           hoverable: true,
 -           clickable: true,
 -           borderColor: '#ddd',
 -           borderWidth: 1,
 -           labelMargin: 10,
 -           backgroundColor: '#fff'
 -         },
 - 		  yaxis: {
 -           min: 0,
 -           max: 15,
 -           color: '#eee'
 -         },
 -         xaxis: {
 -           color: '#eee',
 -           max: 10
 -         }
 - 		});
 - 		
 - 	 var previousPoint2 = null;
 - 	 jQuery("#basicflot2").bind("plothover", function (event, pos, item) {
 -       jQuery("#x").text(pos.x.toFixed(2));
 -       jQuery("#y").text(pos.y.toFixed(2));
 - 			
 - 		if(item) {
 - 		  if (previousPoint2 != item.dataIndex) {
 - 			previousPoint2 = item.dataIndex;
 - 						
 - 			jQuery("#tooltip").remove();
 - 			var x = item.datapoint[0].toFixed(2),
 - 			y = item.datapoint[1].toFixed(2);
 - 	 			
 - 			showTooltip(item.pageX, item.pageY,
 - 			item.series.label + " of " + x + " = " + y);
 - 		  }
 - 			
 - 		} else {
 - 		  jQuery("#tooltip").remove();
 - 		  previousPoint2 = null;            
 - 		}
 - 		
 - 	 });
 - 		
 - 	 jQuery("#basicflot2").bind("plotclick", function (event, pos, item) {
 - 		if (item) {
 - 		  plot2.highlight(item.series, item.datapoint);
 - 		}
 - 	 });
 -     
 -     
 -     /***** TRACKING WITH CROSSHAIR *****/
 -     
 -     var sin = [], cos = [];
 - 	 for (var i = 0; i < 14; i += 0.1) {
 -         sin.push([i, Math.sin(i)]);
 - 		  cos.push([i, Math.cos(i)]);
 - 	 }
 - 
 - 	 var plot3 = jQuery.plot("#trackingchart", [
 -         { data: sin, label: "sin(x) = -0.00", color: '#666' },
 - 		  { data: cos, label: "cos(x) = -0.00", color: '#999' }
 - 	 ], {
 -         series: {
 -             lines: {
 - 		show: true,
 -                lineWidth: 2,
 - 				},
 -             shadowSize: 0
 - 		  },
 -         legend: {
 -             show: false
 -         },
 - 		  crosshair: {
 - 				mode: "xy",
 -             color: '#D9534F'
 - 		  },
 - 		  grid: {
 -             borderColor: '#ddd',
 -             borderWidth: 1,
 -             labelMargin: 10
 - 		  },
 - 		  yaxis: {
 -             color: '#eee'
 - 		  },
 -         xaxis: {
 -             color: '#eee'
 -         }
 - 	 });
 - 
 - 	 var legends = jQuery("#trackingchart .legendLabel");
 - 
 - 	 legends.each(function () {
 - 		  // fix the widths so they don't jump around
 - 		  jQuery(this).css('width', jQuery(this).width());
 - 	 });
 - 
 - 	 var updateLegendTimeout = null;
 - 	 var latestPosition = null;
 - 
 - 	 function updateLegend() {
 - 
 - 		  updateLegendTimeout = null;
 - 
 - 		  var pos = latestPosition;
 - 
 - 		  var axes = plot3.getAxes();
 - 		  if (pos.x < axes.xaxis.min || pos.x > axes.xaxis.max ||
 - 				pos.y < axes.yaxis.min || pos.y > axes.yaxis.max) {
 - 				return;
 - 		  }
 - 
 - 		  var i, j, dataset = plot3.getData();
 - 		  for (i = 0; i < dataset.length; ++i) {
 - 
 - 				var series = dataset[i];
 - 
 - 				// Find the nearest points, x-wise
 - 				for (j = 0; j < series.data.length; ++j) {
 - 					if (series.data[j][0] > pos.x) {
 -                     break;
 - 					}
 - 				}
 - 
 - 				// Now Interpolate
 - 				var y,
 - 					p1 = series.data[j - 1],
 - 					p2 = series.data[j];
 - 
 - 				if (p1 == null) {
 - 					y = p2[1];
 - 				} else if (p2 == null) {
 - 					y = p1[1];
 - 				} else {
 - 					y = p1[1] + (p2[1] - p1[1]) * (pos.x - p1[0]) / (p2[0] - p1[0]);
 - 				}
 - 
 - 				legends.eq(i).text(series.label.replace(/=.*/, "= " + y.toFixed(2)));
 - 		  }
 - 	 }
 - 
 - 	 jQuery("#trackingchart").bind("plothover",  function (event, pos, item) {
 - 		  latestPosition = pos;
 - 		  if (!updateLegendTimeout) {
 - 				updateLegendTimeout = setTimeout(updateLegend, 50);
 - 		  }
 - 	 });
 -     
 -     
 -     /***** REAL TIME UPDATES *****/
 -     
 -     var data = [], totalPoints = 50;
 - 
 - 	 function getRandomData() {
 -         
 -         if (data.length > 0)
 - 				data = data.slice(1);
 - 
 - 		  // Do a random walk
 - 		  while (data.length < totalPoints) {
 - 
 -             var prev = data.length > 0 ? data[data.length - 1] : 50,
 -                 y = prev + Math.random() * 10 - 5;
 -     
 -             if (y < 0) {
 -                 y = 0;
 -             } else if (y > 100) {
 -                 y = 100;
 -             }
 -             data.push(y);
 -         }
 - 
 -         // Zip the generated y values with the x values
 -         var res = [];
 - 		  for (var i = 0; i < data.length; ++i) {
 -             res.push([i, data[i]])
 - 		  }
 - 		  return res;
 - 	 }
 - 
 - 	 
 -     // Set up the control widget
 - 	 var updateInterval = 1000;
 - 
 - 	 var plot4 = jQuery.plot("#realtimechart", [ getRandomData() ], {
 -         colors: ["#F0AD4E"],
 - 		  series: {
 -             lines: {
 -               fill: true,
 -               lineWidth: 0
 -             },
 -             shadowSize: 0	// Drawing is faster without shadows
 - 		  },
 -         grid: {
 -             borderColor: '#ddd',
 -             borderWidth: 1,
 -             labelMargin: 10
 - 		  },
 -         xaxis: {
 -             color: '#eee'
 -         },
 - 		  yaxis: {
 - 				min: 0,
 - 				max: 100,
 -             color: '#eee'
 - 		  }
 - 	 });
 - 
 - 	 function update() {
 - 
 - 		  plot4.setData([getRandomData()]);
 - 
 - 		  // Since the axes don't change, we don't need to call plot.setupGrid()
 - 		  plot4.draw();
 - 		  setTimeout(update, updateInterval);
 - 	 }
 - 
 - 	 update();
 -     
 -     
 -     /***** BAR CHART *****/
 -     
 -     var bardata = [ ["Jan", 10], ["Feb", 23], ["Mar", 18], ["Apr", 13], ["May", 17], ["Jun", 30], ["Jul", 26], ["Aug", 16], ["Sep", 17], ["Oct", 5], ["Nov", 8], ["Dec", 15] ];
 - 
 - 	 jQuery.plot("#barchart", [ bardata ], {
 - 		  series: {
 -             lines: {
 -               lineWidth: 1  
 -             },
 - 				bars: {
 - 					show: true,
 - 					barWidth: 0.5,
 - 					align: "center",
 -                lineWidth: 0,
 -                fillColor: "#428BCA"
 - 				}
 - 		  },
 -         grid: {
 -             borderColor: '#ddd',
 -             borderWidth: 1,
 -             labelMargin: 10
 - 		  },
 - 		  xaxis: {
 - 				mode: "categories",
 - 				tickLength: 0
 - 		  }
 - 	 });
 -     
 -     
 -     /***** PIE CHART *****/
 -     
 -     var piedata = [
 -         { label: "Series 1", data: [[1,10]], color: '#D9534F'},
 -         { label: "Series 2", data: [[1,30]], color: '#1CAF9A'},
 -         { label: "Series 3", data: [[1,90]], color: '#F0AD4E'},
 -         { label: "Series 4", data: [[1,70]], color: '#428BCA'},
 -         { label: "Series 5", data: [[1,80]], color: '#5BC0DE'}
 - 	 ];
 -     
 -     jQuery.plot('#piechart', piedata, {
 -         series: {
 -             pie: {
 -                 show: true,
 -                 radius: 1,
 -                 label: {
 -                     show: true,
 -                     radius: 2/3,
 -                     formatter: labelFormatter,
 -                     threshold: 0.1
 -                 }
 -             }
 -         },
 -         grid: {
 -             hoverable: true,
 -             clickable: true
 -         }
 -     });
 -     
 -     function labelFormatter(label, series) {
 - 		return "<div style='font-size:8pt; text-align:center; padding:2px; color:white;'>" + label + "<br/>" + Math.round(series.percent) + "%</div>";
 - 	}
 -    
 -    
 -    /***** MORRIS CHARTS *****/
 -    
 -    var m1 = new Morris.Line({
 -         // ID of the element in which to draw the chart.
 -         element: 'line-chart',
 -         // Chart data records -- each entry in this array corresponds to a point on
 -         // the chart.
 -         data: [
 -             { y: '2006', a: 30, b: 20 },
 -             { y: '2007', a: 75,  b: 65 },
 -             { y: '2008', a: 50,  b: 40 },
 -             { y: '2009', a: 75,  b: 65 },
 -             { y: '2010', a: 50,  b: 40 },
 -             { y: '2011', a: 75,  b: 65 },
 -             { y: '2012', a: 100, b: 90 }
 -         ],
 -         xkey: 'y',
 -         ykeys: ['a', 'b'],
 -         labels: ['Series A', 'Series B'],
 -         lineColors: ['#D9534F', '#428BCA'],
 -         lineWidth: '2px',
 -         hideHover: true
 -     });
 -    
 -    var m2 = new Morris.Area({
 -         // ID of the element in which to draw the chart.
 -         element: 'area-chart',
 -         // Chart data records -- each entry in this array corresponds to a point on
 -         // the chart.
 -         data: [
 -             { y: '2006', a: 30, b: 20 },
 -             { y: '2007', a: 75,  b: 65 },
 -             { y: '2008', a: 50,  b: 40 },
 -             { y: '2009', a: 75,  b: 65 },
 -             { y: '2010', a: 50,  b: 40 },
 -             { y: '2011', a: 75,  b: 65 },
 -             { y: '2012', a: 100, b: 90 }
 -         ],
 -         xkey: 'y',
 -         ykeys: ['a', 'b'],
 -         labels: ['Series A', 'Series B'],
 -         lineColors: ['#1CAF9A', '#F0AD4E'],
 -         lineWidth: '1px',
 -         fillOpacity: 0.8,
 -         smooth: false,
 -         hideHover: true
 -     });
 -     
 -    var m3 = new Morris.Bar({
 -         // ID of the element in which to draw the chart.
 -         element: 'bar-chart',
 -         // Chart data records -- each entry in this array corresponds to a point on
 -         // the chart.
 -         data: [
 -             { y: '2006', a: 30, b: 20 },
 -             { y: '2007', a: 75,  b: 65 },
 -             { y: '2008', a: 50,  b: 40 },
 -             { y: '2009', a: 75,  b: 65 },
 -             { y: '2010', a: 50,  b: 40 },
 -             { y: '2011', a: 75,  b: 65 },
 -             { y: '2012', a: 100, b: 90 }
 -         ],
 -         xkey: 'y',
 -         ykeys: ['a', 'b'],
 -         labels: ['Series A', 'Series B'],
 -         lineWidth: '1px',
 -         fillOpacity: 0.8,
 -         smooth: false,
 -         hideHover: true
 -     });
 -     
 -    var m4 = new Morris.Bar({
 -         // ID of the element in which to draw the chart.
 -         element: 'stacked-chart',
 -         // Chart data records -- each entry in this array corresponds to a point on
 -         // the chart.
 -         data: [
 -             { y: '2006', a: 30, b: 20 },
 -             { y: '2007', a: 75,  b: 65 },
 -             { y: '2008', a: 50,  b: 40 },
 -             { y: '2009', a: 75,  b: 65 },
 -             { y: '2010', a: 50,  b: 40 },
 -             { y: '2011', a: 75,  b: 65 },
 -             { y: '2012', a: 100, b: 90 }
 -         ],
 -         xkey: 'y',
 -         ykeys: ['a', 'b'],
 -         labels: ['Series A', 'Series B'],
 -         barColors: ['#1CAF9A', '#428BCA'],
 -         lineWidth: '1px',
 -         fillOpacity: 0.8,
 -         smooth: false,
 -         stacked: true,
 -         hideHover: true
 -    });
 -     
 -    var m5 = new Morris.Donut({
 -         element: 'donut-chart',
 -         data: [
 -           {label: "Download Sales", value: 12},
 -           {label: "In-Store Sales", value: 30},
 -           {label: "Mail-Order Sales", value: 20}
 -         ]
 -    });
 -     
 -    var m6 = new Morris.Donut({
 -         element: 'donut-chart2',
 -         data: [
 -           {label: "Chrome", value: 30},
 -           {label: "Firefox", value: 20},
 -           {label: "Opera", value: 20},
 -           {label: "Safari", value: 20},
 -           {label: "Internet Explorer", value: 10}
 -         ],
 -         colors: ['#D9534F','#1CAF9A','#428BCA','#5BC0DE','#428BCA']
 -    });
 - 
 -     
 -     /***** SPARKLINE CHARTS *****/
 -     
 -     jQuery('#sparkline').sparkline([4,3,3,1,4,3,2,2,3], {
 - 		  type: 'bar', 
 - 		  height:'30px',
 -         barColor: '#428BCA'
 -     });
 -     
 -     jQuery('#sparkline2').sparkline([4,3,3,1,4,3,2,2,3], {
 - 		  type: 'line', 
 - 		  height:'33px',
 -         width: '50px',
 -         lineColor: false,
 -         fillColor: '#1CAF9A'
 -     });
 -     
 -     jQuery('#sparkline3').sparkline([4,3,3,1,4,3,2,2,3], {
 - 		  type: 'pie', 
 - 		  height:'33px',
 -         sliceColors: ['#F0AD4E','#428BCA','#D9534F','#1CAF9A','#5BC0DE']
 -     });
 -     
 -     jQuery('#sparkline4').sparkline([4,3,3,5,4,3,2,5,3], {
 - 		  type: 'line', 
 - 		  height:'33px',
 -         width: '50px',
 -         lineColor: '#5BC0DE',
 -         fillColor: false
 -     });
 -     
 -     jQuery('#sparkline4').sparkline([3,6,6,2,6,5,3,2,1], {
 - 		  type: 'line', 
 - 		  height:'33px',
 -         width: '50px',
 -         lineColor: '#D9534F',
 -         fillColor: false,
 -         composite: true
 -     });
 - 	 
 - 	var delay = (function() {
 - 		var timer = 0;
 - 		return function(callback, ms) {
 - 			clearTimeout(timer);
 - 			timer = setTimeout(callback, ms);
 - 		};
 -    })();
 - 
 -    jQuery(window).resize(function() {
 - 		delay(function() {
 - 			m1.redraw();
 - 			m2.redraw();
 - 			m3.redraw();
 - 			m4.redraw();
 - 			m5.redraw();
 - 			m6.redraw();
 - 	}, 200);
 -    }).trigger('resize');
 - 
 -   
 - });
 
 
  |