/*! Javascript plotting library for jQuery, v. 0.7. * * Released under the MIT license by IOLA, December 2007. * */// first an inline dependency, jquery.colorhelpers.js, we inline it here // for convenience /* Plugin for jQuery for working with colors. * * Version 1.1. * * Inspiration from jQuery color animation plugin by John Resig. * * Released under the MIT license by Ole Laursen, October 2009. * * Examples: * * $.color.parse("#fff").scale('rgb', 0.25).add('a', -0.5).toString() * var c = $.color.extract($("#mydiv"), 'background-color'); * console.log(c.r, c.g, c.b, c.a); * $.color.make(100, 50, 25, 0.4).toString() // returns "rgba(100,50,25,0.4)" * * Note that .scale() and .add() return the same modified object * instead of making a new one. * * V. 1.1: Fix error handling so e.g. parsing an empty string does * produce a color rather than just crashing. */(function(e){e.color={};e.color.make=function(t,n,r,i){var s={};s.r=t||0;s.g=n||0;s.b=r||0;s.a=i!=null?i:1;s.add=function(e,t){for(var n=0;n=1?"rgb("+[s.r,s.g,s.b].join(",")+")":"rgba("+[s.r,s.g,s.b,s.a].join(",")+")"};s.normalize=function(){function e(e,t,n){return tn?n:t}s.r=e(0,parseInt(s.r),255);s.g=e(0,parseInt(s.g),255);s.b=e(0,parseInt(s.b),255);s.a=e(0,s.a,1);return s};s.clone=function(){return e.color.make(s.r,s.b,s.g,s.a)};return s.normalize()};e.color.extract=function(t,n){var r;do{r=t.css(n).toLowerCase();if(r!=""&&r!="transparent")break;t=t.parent()}while(!e.nodeName(t.get(0),"body"));r=="rgba(0, 0, 0, 0)"&&(r="transparent");return e.color.parse(r)};e.color.parse=function(n){var r,i=e.color.make;if(r=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(n))return i(parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10));if(r=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(n))return i(parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10),parseFloat(r[4]));if(r=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(n))return i(parseFloat(r[1])*2.55,parseFloat(r[2])*2.55,parseFloat(r[3])*2.55);if(r=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(n))return i(parseFloat(r[1])*2.55,parseFloat(r[2])*2.55,parseFloat(r[3])*2.55,parseFloat(r[4]));if(r=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(n))return i(parseInt(r[1],16),parseInt(r[2],16),parseInt(r[3],16));if(r=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(n))return i(parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16),parseInt(r[3]+r[3],16));var s=e.trim(n).toLowerCase();if(s=="transparent")return i(255,255,255,0);r=t[s]||[0,0,0];return i(r[0],r[1],r[2])};var t={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery);(function(e){function t(t,r,s,o){function x(e,t){t=[S].concat(t);for(var n=0;n=a.colors.length){t=0;++f}}var h=0,p;for(t=0;te.datamax&&n!=r&&(e.datamax=n)}var t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,r=Number.MAX_VALUE,i,s,o,a,f,l,c,h,p,d,v,m,g,y;e.each(A(),function(e,r){r.datamin=t;r.datamax=n;r.used=!1});for(i=0;i0&&c[o-h]!=null&&c[o-h]!=c[o]&&c[o-h+1]!=c[o+1]){for(a=0;ak&&(k=m)}if(g.y){mL&&(L=m)}}}if(l.bars.show){var O=l.bars.align=="left"?0:-l.bars.barWidth/2;if(l.bars.horizontal){C+=O;L+=O+l.bars.barWidth}else{N+=O;k+=O+l.bars.barWidth}}b(l.xaxis,N,k);b(l.yaxis,C,L)}e.each(A(),function(e,r){r.datamin==t&&(r.datamin=null);r.datamax==n&&(r.datamax=null)})}function H(n,r){var i=document.createElement("canvas");i.className=r;i.width=g;i.height=y;n||e(i).css({position:"absolute",left:0,top:0});e(i).appendTo(t);i.getContext||(i=window.G_vmlCanvasManager.initElement(i));i.getContext("2d").save();return i}function B(){g=t.width();y=t.height();if(g<=0||y<=0)throw"Invalid dimensions for plot, width = "+g+", height = "+y}function j(e){e.width!=g&&(e.width=g);e.height!=y&&(e.height=y);var t=e.getContext("2d");t.restore();t.save()}function F(){var n,r=t.children("canvas.base"),i=t.children("canvas.overlay");if(r.length==0||i==0){t.html("");t.css({padding:0});t.css("position")=="static"&&t.css("position","relative");B();f=H(!0,"base");l=H(!1,"overlay");n=!1}else{f=r.get(0);l=i.get(0);n=!0}h=f.getContext("2d");p=l.getContext("2d");c=e([l,f]);if(n){t.data("plot").shutdown();S.resize();p.clearRect(0,0,g,y);c.unbind();t.children().not([f,l]).remove()}t.data("plot",S)}function I(){if(a.grid.hoverable){c.mousemove(ht);c.mouseleave(pt)}a.grid.clickable&&c.click(dt);x(E.bindEvents,[c])}function q(){lt&&clearTimeout(lt);c.unbind("mousemove",ht);c.unbind("mouseleave",pt);c.unbind("click",dt);x(E.shutdown,[c])}function R(e){function t(e){return e}var n,r,i=e.options.transform||t,s=e.options.inverseTransform;if(e.direction=="x"){n=e.scale=b/Math.abs(i(e.max)-i(e.min));r=Math.min(i(e.max),i(e.min))}else{n=e.scale=w/Math.abs(i(e.max)-i(e.min));n=-n;r=Math.max(i(e.max),i(e.min))}i==t?e.p2c=function(e){return(e-r)*n}:e.p2c=function(e){return(i(e)-r)*n};s?e.c2p=function(e){return s(r+e/n)}:e.c2p=function(e){return r+e/n}}function U(n){function c(r,i){return e('
'+'
'+r.join("")+"
").appendTo(t)}var r=n.options,i,s=n.ticks||[],o=[],u,a=r.labelWidth,f=r.labelHeight,l;if(n.direction=="x"){a==null&&(a=Math.floor(g/(s.length>0?s.length:1)));if(f==null){o=[];for(i=0;i'+u+"")}if(o.length>0){o.push('
');l=c(o,"width:10000px;");f=l.height();l.remove()}}}else if(a==null||f==null){for(i=0;i'+u+"")}if(o.length>0){l=c(o,"");a==null&&(a=l.children().width());f==null&&(f=l.find("div.tickLabel").height());l.remove()}}a==null&&(a=0);f==null&&(f=0);n.labelWidth=a;n.labelHeight=f}function z(t){var n=t.labelWidth,r=t.labelHeight,i=t.options.position,s=t.options.tickLength,o=a.grid.axisMargin,u=a.grid.labelMargin,f=t.direction=="x"?d:v,l,c=e.grep(f,function(e){return e&&e.options.position==i&&e.reserveSpace});e.inArray(t,c)==c.length-1&&(o=0);s==null&&(s="full");var h=e.grep(f,function(e){return e&&e.reserveSpace}),p=e.inArray(t,h)==0;!p&&s=="full"&&(s=5);isNaN(+s)||(u+=+s);if(t.direction=="x"){r+=u;if(i=="bottom"){m.bottom+=r+o;t.box={top:y-m.bottom,height:r}}else{t.box={top:m.top+o,height:r};m.top+=r+o}}else{n+=u;if(i=="left"){t.box={left:m.left+o,width:n};m.left+=n+o}else{m.right+=n+o;t.box={left:g-m.right,width:n}}}t.position=i;t.tickLength=s;t.box.padding=u;t.innermost=p}function W(e){if(e.direction=="x"){e.box.left=m.left;e.box.width=b}else{e.box.top=m.top;e.box.height=w}}function X(){var t,n=A();e.each(n,function(e,t){t.show=t.options.show;t.show==null&&(t.show=t.used);t.reserveSpace=t.show||t.options.reserveSpace;V(t)});allocatedAxes=e.grep(n,function(e){return e.reserveSpace});m.left=m.right=m.top=m.bottom=0;if(a.grid.show){e.each(allocatedAxes,function(e,t){J(t);K(t);Q(t,t.ticks);U(t)});for(t=allocatedAxes.length-1;t>=0;--t)z(allocatedAxes[t]);var r=a.grid.minBorderMargin;if(r==null){r=0;for(t=0;t=0&&(n=0)}if(t.max==null){r+=i*o;r>0&&e.datamax!=null&&e.datamax<=0&&(r=0)}}}e.min=n;e.max=r}function J(t){var r=t.options,i;typeof r.ticks=="number"&&r.ticks>0?i=r.ticks:i=.3*Math.sqrt(t.direction=="x"?g:y);var s=(t.max-t.min)/i,o,u,a,f,l,c,h;if(r.mode=="time"){var p={second:1e3,minute:6e4,hour:36e5,day:864e5,month:2592e6,year:525949.2*60*1e3},m=[[1,"second"],[2,"second"],[5,"second"],[10,"second"],[30,"second"],[1,"minute"],[2,"minute"],[5,"minute"],[10,"minute"],[30,"minute"],[1,"hour"],[2,"hour"],[4,"hour"],[8,"hour"],[12,"hour"],[1,"day"],[2,"day"],[3,"day"],[.25,"month"],[.5,"month"],[1,"month"],[2,"month"],[3,"month"],[6,"month"],[1,"year"]],b=0;r.minTickSize!=null&&(typeof r.tickSize=="number"?b=r.tickSize:b=r.minTickSize[0]*p[r.minTickSize[1]]);for(var l=0;l=b)break;o=m[l][0];a=m[l][1];if(a=="year"){c=Math.pow(10,Math.floor(Math.log(s/p.year)/Math.LN10));h=s/p.year/c;h<1.5?o=1:h<3?o=2:h<7.5?o=5:o=10;o*=c}t.tickSize=r.tickSize||[o,a];u=function(e){var t=[],r=e.tickSize[0],i=e.tickSize[1],s=new Date(e.min),o=r*p[i];i=="second"&&s.setUTCSeconds(n(s.getUTCSeconds(),r));i=="minute"&&s.setUTCMinutes(n(s.getUTCMinutes(),r));i=="hour"&&s.setUTCHours(n(s.getUTCHours(),r));i=="month"&&s.setUTCMonth(n(s.getUTCMonth(),r));i=="year"&&s.setUTCFullYear(n(s.getUTCFullYear(),r));s.setUTCMilliseconds(0);o>=p.minute&&s.setUTCSeconds(0);o>=p.hour&&s.setUTCMinutes(0);o>=p.day&&s.setUTCHours(0);o>=p.day*4&&s.setUTCDate(1);o>=p.year&&s.setUTCMonth(0);var u=0,a=Number.NaN,f;do{f=a;a=s.getTime();t.push(a);if(i=="month")if(r<1){s.setUTCDate(1);var l=s.getTime();s.setUTCMonth(s.getUTCMonth()+1);var c=s.getTime();s.setTime(a+u*p.hour+(c-l)*r);u=s.getUTCHours();s.setUTCHours(0)}else s.setUTCMonth(s.getUTCMonth()+r);else i=="year"?s.setUTCFullYear(s.getUTCFullYear()+r):s.setTime(a+o)}while(aw&&(E=w);c=Math.pow(10,-E);h=s/c;if(h<1.5)o=1;else if(h<3){o=2;if(h>2.25&&(w==null||E+1<=w)){o=2.5;++E}}else h<7.5?o=5:o=10;o*=c;r.minTickSize!=null&&o0){r.min==null&&(t.min=Math.min(t.min,x[0]));r.max==null&&x.length>1&&(t.max=Math.max(t.max,x[x.length-1]))}u=function(e){var t=[],n,r;for(r=0;r1&&/\..*0$/.test((N[1]-N[0]).toFixed(T))||(t.tickDecimals=T)}}}t.tickGenerator=u;e.isFunction(r.tickFormatter)?t.tickFormatter=function(e,t){return""+r.tickFormatter(e,t)}:t.tickFormatter=f}function K(t){var n=t.options.ticks,r=[];n==null||typeof n=="number"&&n>0?r=t.tickGenerator(t):n&&(e.isFunction(n)?r=n({min:t.min,max:t.max}):r=n);var i,s;t.ticks=[];for(i=0;i1&&(o=u[1])}else s=+u;o==null&&(o=t.tickFormatter(s,t));isNaN(s)||t.ticks.push({v:s,label:o})}}function Q(e,t){if(e.options.autoscaleMargin&&t.length>0){e.options.min==null&&(e.min=Math.min(e.min,t[0].v));e.options.max==null&&t.length>1&&(e.max=Math.max(e.max,t[t.length-1].v))}}function G(){h.clearRect(0,0,g,y);var e=a.grid;e.show&&e.backgroundColor&&Z();e.show&&!e.aboveData&&et();for(var t=0;ts){var a=r;r=s;s=a}return{from:r,to:s,axis:n}}function Z(){h.save();h.translate(m.left,m.top);h.fillStyle=xt(a.grid.backgroundColor,w,0,"rgba(255, 255, 255, 0)");h.fillRect(0,0,b,w);h.restore()}function et(){var t;h.save();h.translate(m.left,m.top);var n=a.grid.markings;if(n){if(e.isFunction(n)){var r=S.getAxes();r.xmin=r.xaxis.min;r.xmax=r.xaxis.max;r.ymin=r.yaxis.min;r.ymax=r.yaxis.max;n=n(r)}for(t=0;ts.axis.max||o.too.axis.max)continue;s.from=Math.max(s.from,s.axis.min);s.to=Math.min(s.to,s.axis.max);o.from=Math.max(o.from,o.axis.min);o.to=Math.min(o.to,o.axis.max);if(s.from==s.to&&o.from==o.to)continue;s.from=s.axis.p2c(s.from);s.to=s.axis.p2c(s.to);o.from=o.axis.p2c(o.from);o.to=o.axis.p2c(o.to);if(s.from==s.to||o.from==o.to){h.beginPath();h.strokeStyle=i.color||a.grid.markingsColor;h.lineWidth=i.lineWidth||a.grid.markingsLineWidth;h.moveTo(s.from,o.from);h.lineTo(s.to,o.to);h.stroke()}else{h.fillStyle=i.color||a.grid.markingsColor;h.fillRect(s.from,o.to,s.to-s.from,o.from-o.to)}}}var r=A(),u=a.grid.borderWidth;for(var f=0;fl.max||p=="full"&&u>0&&(E==l.min||E==l.max))continue;if(l.direction=="x"){d=l.p2c(E);y=p=="full"?-w:p;l.position=="top"&&(y=-y)}else{v=l.p2c(E);g=p=="full"?-b:p;l.position=="left"&&(g=-g)}h.lineWidth==1&&(l.direction=="x"?d=Math.floor(d)+.5:v=Math.floor(v)+.5);h.moveTo(d,v);h.lineTo(d+g,v+y)}h.stroke()}if(u){h.lineWidth=u;h.strokeStyle=a.grid.borderColor;h.strokeRect(-u/2,-u/2,b+u,w+u)}h.restore()}function tt(){t.find(".tickLabels").remove();var e=['
'],n=A();for(var r=0;r');for(var o=0;oi.max)continue;var a={},f;if(i.direction=="x"){f="center";a.left=Math.round(m.left+i.p2c(u.v)-i.labelWidth/2);i.position=="bottom"?a.top=s.top+s.padding:a.bottom=y-(s.top+s.height-s.padding)}else{a.top=Math.round(m.top+i.p2c(u.v)-i.labelHeight/2);if(i.position=="left"){a.right=g-(s.left+s.width-s.padding);f="right"}else{a.left=s.left+s.padding;f="left"}}a.width=i.labelWidth;var l=["position:absolute","text-align:"+f];for(var c in a)l.push(c+":"+a[c]+"px");e.push('
'+u.label+"
")}e.push("
")}e.push("");t.append(e.join(""))}function nt(e){e.lines.show&&rt(e);e.bars.show&&ot(e);e.points.show&&it(e)}function rt(e){function t(e,t,n,r,i){var s=e.points,o=e.pointsize,u=null,a=null;h.beginPath();for(var f=o;f=d&&c>i.max){if(d>i.max)continue;l=(i.max-c)/(d-c)*(p-l)+l;c=i.max}else if(d>=c&&d>i.max){if(c>i.max)continue;p=(i.max-c)/(d-c)*(p-l)+l;d=i.max}if(l<=p&&l=p&&l>r.max){if(p>r.max)continue;c=(r.max-l)/(p-l)*(d-c)+c;l=r.max}else if(p>=l&&p>r.max){if(l>r.max)continue;d=(r.max-l)/(p-l)*(d-c)+c;p=r.max}(l!=u||c!=a)&&h.moveTo(r.p2c(l)+t,i.p2c(c)+n);u=p;a=d;h.lineTo(r.p2c(p)+t,i.p2c(d)+n)}h.stroke()}function n(e,t,n){var r=e.points,i=e.pointsize,s=Math.min(Math.max(0,n.min),n.max),o=0,u,a=!1,f=1,l=0,c=0;for(;;){if(i>0&&o>r.length+i)break;o+=i;var p=r[o-i],d=r[o-i+f],v=r[o],m=r[o+f];if(a){if(i>0&&p!=null&&v==null){c=o;i=-i;f=2;continue}if(i<0&&o==l+i){h.fill();a=!1;i=-i;f=1;o=l=c+i;continue}}if(p==null||v==null)continue;if(p<=v&&p=v&&p>t.max){if(v>t.max)continue;d=(t.max-p)/(v-p)*(m-d)+d;p=t.max}else if(v>=p&&v>t.max){if(p>t.max)continue;m=(t.max-p)/(v-p)*(m-d)+d;v=t.max}if(!a){h.beginPath();h.moveTo(t.p2c(p),n.p2c(s));a=!0}if(d>=n.max&&m>=n.max){h.lineTo(t.p2c(p),n.p2c(n.max));h.lineTo(t.p2c(v),n.p2c(n.max));continue}if(d<=n.min&&m<=n.min){h.lineTo(t.p2c(p),n.p2c(n.min));h.lineTo(t.p2c(v),n.p2c(n.min));continue}var g=p,y=v;if(d<=m&&d=n.min){p=(n.min-d)/(m-d)*(v-p)+p;d=n.min}else if(m<=d&&m=n.min){v=(n.min-d)/(m-d)*(v-p)+p;m=n.min}if(d>=m&&d>n.max&&m<=n.max){p=(n.max-d)/(m-d)*(v-p)+p;d=n.max}else if(m>=d&&m>n.max&&d<=n.max){v=(n.max-d)/(m-d)*(v-p)+p;m=n.max}p!=g&&h.lineTo(t.p2c(g),n.p2c(d));h.lineTo(t.p2c(p),n.p2c(d));h.lineTo(t.p2c(v),n.p2c(m));if(v!=y){h.lineTo(t.p2c(v),n.p2c(m));h.lineTo(t.p2c(y),n.p2c(m))}}}h.save();h.translate(m.left,m.top);h.lineJoin="round";var r=e.lines.lineWidth,i=e.shadowSize;if(r>0&&i>0){h.lineWidth=i;h.strokeStyle="rgba(0,0,0,0.1)";var s=Math.PI/18;t(e.datapoints,Math.sin(s)*(r/2+i/2),Math.cos(s)*(r/2+i/2),e.xaxis,e.yaxis);h.lineWidth=i/2;t(e.datapoints,Math.sin(s)*(r/2+i/4),Math.cos(s)*(r/2+i/4),e.xaxis,e.yaxis)}h.lineWidth=r;h.strokeStyle=e.color;var o=ut(e.lines,e.color,0,w);if(o){h.fillStyle=o;n(e.datapoints,e.xaxis,e.yaxis)}r>0&&t(e.datapoints,0,0,e.xaxis,e.yaxis);h.restore()}function it(e){function t(e,t,n,r,i,s,o,u){var a=e.points,f=e.pointsize;for(var l=0;ls.max||po.max)continue;h.beginPath();c=s.p2c(c);p=o.p2c(p)+r;u=="circle"?h.arc(c,p,t,0,i?Math.PI:Math.PI*2,!1):u(h,c,p,t,i);h.closePath();if(n){h.fillStyle=n;h.fill()}h.stroke()}}h.save();h.translate(m.left,m.top);var n=e.points.lineWidth,r=e.shadowSize,i=e.points.radius,s=e.points.symbol;if(n>0&&r>0){var o=r/2;h.lineWidth=o;h.strokeStyle="rgba(0,0,0,0.1)";t(e.datapoints,i,null,o+o/2,!0,e.xaxis,e.yaxis,s);h.strokeStyle="rgba(0,0,0,0.2)";t(e.datapoints,i,null,o/2,!0,e.xaxis,e.yaxis,s)}h.lineWidth=n;h.strokeStyle=e.color;t(e.datapoints,i,ut(e.points,e.color),0,!1,e.xaxis,e.yaxis,s);h.restore()}function st(e,t,n,r,i,s,o,u,a,f,l,c){var h,p,d,v,m,g,y,b,w;if(l){b=g=y=!0;m=!1;h=n;p=e;v=t+r;d=t+i;if(pu.max||va.max)return;if(hu.max){p=u.max;g=!1}if(da.max){v=a.max;y=!1}h=u.p2c(h);d=a.p2c(d);p=u.p2c(p);v=a.p2c(v);if(o){f.beginPath();f.moveTo(h,d);f.lineTo(h,v);f.lineTo(p,v);f.lineTo(p,d);f.fillStyle=o(d,v);f.fill()}if(c>0&&(m||g||y||b)){f.beginPath();f.moveTo(h,d+s);m?f.lineTo(h,v+s):f.moveTo(h,v+s);y?f.lineTo(p,v+s):f.moveTo(p,v+s);g?f.lineTo(p,d+s):f.moveTo(p,d+s);b?f.lineTo(h,d+s):f.moveTo(h,d+s);f.stroke()}}function ot(e){function t(t,n,r,i,s,o,u){var a=t.points,f=t.pointsize;for(var l=0;l");n.push("");r=!0}i&&(o=i(o,s));n.push('
'+''+o+"")}r&&n.push("");if(n.length==0)return;var l=''+n.join("")+"
";if(a.legend.container!=null)e(a.legend.container).html(l);else{var c="",h=a.legend.position,p=a.legend.margin;p[0]==null&&(p=[p,p]);h.charAt(0)=="n"?c+="top:"+(p[1]+m.top)+"px;":h.charAt(0)=="s"&&(c+="bottom:"+(p[1]+m.bottom)+"px;");h.charAt(1)=="e"?c+="right:"+(p[0]+m.right)+"px;":h.charAt(1)=="w"&&(c+="left:"+(p[0]+m.left)+"px;");var d=e('
'+l.replace('style="','style="position:absolute;'+c+";")+"
").appendTo(t);if(a.legend.backgroundOpacity!=0){var v=a.legend.backgroundColor;if(v==null){v=a.grid.backgroundColor;v&&typeof v=="string"?v=e.color.parse(v):v=e.color.extract(d,"background-color");v.a=1;v=v.toString()}var g=d.children();e('
').prependTo(d).css("opacity",a.legend.backgroundOpacity)}}}function ct(e,t,n){var r=a.grid.mouseActiveRadius,i=r*r+1,s=null,o=!1,f,l;for(f=u.length-1;f>=0;--f){if(!n(u[f]))continue;var c=u[f],h=c.xaxis,p=c.yaxis,d=c.datapoints.points,v=c.datapoints.pointsize,m=h.c2p(e),g=p.c2p(t),y=r/h.scale,b=r/p.scale;h.options.inverseTransform&&(y=Number.MAX_VALUE);p.options.inverseTransform&&(b=Number.MAX_VALUE);if(c.lines.show||c.points.show)for(l=0;ly||w-m<-y||E-g>b||E-g<-b)continue;var S=Math.abs(h.p2c(w)-e),x=Math.abs(p.p2c(E)-t),T=S*S+x*x;if(T=Math.min(k,w)&&g>=E+N&&g<=E+C:m>=w+N&&m<=w+C&&g>=Math.min(k,E)&&g<=Math.max(k,E))s=[f,l/v]}}}if(s){f=s[0];l=s[1];v=u[f].datapoints.pointsize;return{datapoint:u[f].datapoints.points.slice(l*v,(l+1)*v),dataIndex:l,series:u[f],seriesIndex:f}}return null}function ht(e){a.grid.hoverable&&vt("plothover",e,function(e){return e["hoverable"]!=0})}function pt(e){a.grid.hoverable&&vt("plothover",e,function(e){return!1})}function dt(e){vt("plotclick",e,function(e){return e["clickable"]!=0})}function vt(e,n,r){var i=c.offset(),s=n.pageX-i.left-m.left,o=n.pageY-i.top-m.top,u=O({left:s,top:o});u.pageX=n.pageX;u.pageY=n.pageY;var f=ct(s,o,r);if(f){f.pageX=parseInt(f.series.xaxis.p2c(f.datapoint[0])+i.left+m.left);f.pageY=parseInt(f.series.yaxis.p2c(f.datapoint[1])+i.top+m.top)}if(a.grid.autoHighlight){for(var l=0;ls.max||io.max)return;var u=t.points.radius+t.points.lineWidth/2;p.lineWidth=u;p.strokeStyle=e.color.parse(t.color).scale("a",.5).toString();var a=1.5*u,r=s.p2c(r),i=o.p2c(i);p.beginPath();t.points.symbol=="circle"?p.arc(r,i,a,0,2*Math.PI,!1):t.points.symbol(p,r,i,a,!1);p.closePath();p.stroke()}function St(t,n){p.lineWidth=t.bars.lineWidth;p.strokeStyle=e.color.parse(t.color).scale("a",.5).toString();var r=e.color.parse(t.color).scale("a",.5).toString(),i=t.bars.align=="left"?0:-t.bars.barWidth/2;st(n[0],n[1],n[2]||0,i,i+t.bars.barWidth,0,function(){return r},t.xaxis,t.yaxis,p,t.bars.horizontal,t.bars.lineWidth)}function xt(t,n,r,i){if(typeof t=="string")return t;var s=h.createLinearGradient(0,r,0,n);for(var o=0,u=t.colors.length;o12?u-=12:u==0&&(u=12));for(var f=0;f