/* Javascript plotting library for jQuery, v. 0.6.
 *
 * Released under the MIT license by IOLA, December 2007.
 *
 */

(function(b){b.color={};b.color.make=function(d,e,g,f){var c={};c.r=d||0;c.g=e||0;c.b=g||0;c.a=f!=null?f:1;c.add=function(h,j){for(var k=0;k<h.length;++k){c[h.charAt(k)]+=j}return c.normalize()};c.scale=function(h,j){for(var k=0;k<h.length;++k){c[h.charAt(k)]*=j}return c.normalize()};c.toString=function(){if(c.a>=1){return"rgb("+[c.r,c.g,c.b].join(",")+")"}else{return"rgba("+[c.r,c.g,c.b,c.a].join(",")+")"}};c.normalize=function(){function h(k,j,l){return j<k?k:(j>l?l:j)}c.r=h(0,parseInt(c.r),255);c.g=h(0,parseInt(c.g),255);c.b=h(0,parseInt(c.b),255);c.a=h(0,c.a,1);return c};c.clone=function(){return b.color.make(c.r,c.b,c.g,c.a)};return c.normalize()};b.color.extract=function(d,e){var c;do{c=d.css(e).toLowerCase();if(c!=""&&c!="transparent"){break}d=d.parent()}while(!b.nodeName(d.get(0),"body"));if(c=="rgba(0, 0, 0, 0)"){c="transparent"}return b.color.parse(c)};b.color.parse=function(c){var d,f=b.color.make;if(d=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c)){return f(parseInt(d[1],10),parseInt(d[2],10),parseInt(d[3],10))}if(d=/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(c)){return f(parseInt(d[1],10),parseInt(d[2],10),parseInt(d[3],10),parseFloat(d[4]))}if(d=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c)){return f(parseFloat(d[1])*2.55,parseFloat(d[2])*2.55,parseFloat(d[3])*2.55)}if(d=/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(c)){return f(parseFloat(d[1])*2.55,parseFloat(d[2])*2.55,parseFloat(d[3])*2.55,parseFloat(d[4]))}if(d=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c)){return f(parseInt(d[1],16),parseInt(d[2],16),parseInt(d[3],16))}if(d=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c)){return f(parseInt(d[1]+d[1],16),parseInt(d[2]+d[2],16),parseInt(d[3]+d[3],16))}var e=b.trim(c).toLowerCase();if(e=="transparent"){return f(255,255,255,0)}else{d=a[e];return f(d[0],d[1],d[2])}};var a={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(c){function b(O,z,A,e){var q=[],J={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:0.85},xaxis:{position:"bottom",mode:null,color:null,tickColor:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,tickLength:null,alignTicksWithAxis:null,tickDecimals:null,tickSize:null,minTickSize:null,monthNames:null,timeformat:null,twelveHourClock:false},yaxis:{autoscaleMargin:0.02,position:"left"},xaxes:[],yaxes:[],series:{points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff",symbol:"circle"},lines:{lineWidth:2,fill:false,fillColor:null,steps:false},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null,align:"left",horizontal:false},shadowSize:2},grid:{show:true,aboveData:false,color:"#545454",backgroundColor:null,borderColor:null,tickColor:null,labelMargin:5,axisMargin:8,borderWidth:2,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},hooks:{}},r=null,am=null,an=null,B=null,aw=null,ap=[],U=[],H={left:0,right:0,top:0,bottom:0},ai=0,t=0,h=0,ab=0,m={processOptions:[],processRawData:[],processDatapoints:[],drawSeries:[],draw:[],bindEvents:[],drawOverlay:[]},f=this;f.setData=I;f.setupGrid=M;f.draw=au;f.getPlaceholder=function(){return O};f.getCanvas=function(){return r};f.getPlotOffset=function(){return H};f.width=function(){return h};f.height=function(){return ab};f.offset=function(){var ax=an.offset();ax.left+=H.left;ax.top+=H.top;return ax};f.getData=function(){return q};f.getAxis=function(ay,az){var ax=(ay=="x"?ap:U)[az-1];if(ax&&!ax.used){ax=null}return ax};f.getAxes=function(){var ay={},ax;for(ax=0;ax<ap.length;++ax){ay["x"+(ax?(ax+1):"")+"axis"]=ap[ax]||{}}for(ax=0;ax<U.length;++ax){ay["y"+(ax?(ax+1):"")+"axis"]=U[ax]||{}}if(!ay.x2axis){ay.x2axis={n:2}}if(!ay.y2axis){ay.y2axis={n:2}}return ay};f.getXAxes=function(){return ap};f.getYAxes=function(){return U};f.getUsedAxes=Z;f.c2p=W;f.p2c=P;f.getOptions=function(){return J};f.highlight=ao;f.unhighlight=ah;f.triggerRedrawOverlay=V;f.pointOffset=function(ax){return{left:parseInt(ap[w(ax,"x")-1].p2c(+ax.x)+H.left),top:parseInt(U[w(ax,"y")-1].p2c(+ax.y)+H.top)}};f.hooks=m;E(f);Y(A);F();I(z);M();au();at();function C(az,ax){ax=[f].concat(ax);for(var ay=0;ay<az.length;++ay){az[ay].apply(this,ax)}}function E(){for(var ax=0;ax<e.length;++ax){var ay=e[ax];ay.init(f);if(ay.options){c.extend(true,J,ay.options)}}}function Y(ay){var ax;c.extend(true,J,ay);if(J.xaxis.color==null){J.xaxis.color=J.grid.color}if(J.yaxis.color==null){J.yaxis.color=J.grid.color}if(J.xaxis.tickColor==null){J.xaxis.tickColor=J.grid.tickColor}if(J.yaxis.tickColor==null){J.yaxis.tickColor=J.grid.tickColor}if(J.grid.borderColor==null){J.grid.borderColor=J.grid.color}if(J.grid.tickColor==null){J.grid.tickColor=c.color.parse(J.grid.color).scale("a",0.22).toString()}for(ax=0;ax<Math.max(1,J.xaxes.length);++ax){J.xaxes[ax]=c.extend(true,{},J.xaxis,J.xaxes[ax])}for(ax=0;ax<Math.max(1,J.yaxes.length);++ax){J.yaxes[ax]=c.extend(true,{},J.yaxis,J.yaxes[ax])}if(J.xaxis.noTicks&&J.xaxis.ticks==null){J.xaxis.ticks=J.xaxis.noTicks}if(J.yaxis.noTicks&&J.yaxis.ticks==null){J.yaxis.ticks=J.yaxis.noTicks}if(J.x2axis){J.x2axis.position="top";J.xaxes[1]=J.x2axis}if(J.y2axis){if(J.y2axis.autoscaleMargin===undefined){J.y2axis.autoscaleMargin=0.02}J.y2axis.position="right";J.yaxes[1]=J.y2axis}if(J.grid.coloredAreas){J.grid.markings=J.grid.coloredAreas}if(J.grid.coloredAreasColor){J.grid.markingsColor=J.grid.coloredAreasColor}if(J.lines){c.extend(true,J.series.lines,J.lines)}if(J.points){c.extend(true,J.series.points,J.points)}if(J.bars){c.extend(true,J.series.bars,J.bars)}if(J.shadowSize!=null){J.series.shadowSize=J.shadowSize}for(ax=0;ax<J.xaxes.length;++ax){K(ap,ax+1).options=J.xaxes[ax]}for(ax=0;ax<J.yaxes.length;++ax){K(U,ax+1).options=J.yaxes[ax]}for(var az in m){if(J.hooks[az]&&J.hooks[az].length){m[az]=m[az].concat(J.hooks[az])}}C(m.processOptions,[J])}function I(ax){q=n(ax);x();Q()}function n(aA){var ay=[];for(var ax=0;ax<aA.length;++ax){var az=c.extend(true,{},J.series);if(aA[ax].data!=null){az.data=aA[ax].data;delete aA[ax].data;c.extend(true,az,aA[ax]);aA[ax].data=az.data}else{az.data=aA[ax]}ay.push(az)}return ay}function w(ay,az){var ax=ay[az+"axis"];if(typeof ax=="object"){ax=ax.n}if(typeof ax!="number"){ax=1}return ax}function W(aA){var ay={},ax,az;for(ax=0;ax<ap.length;++ax){az=ap[ax];if(az&&az.used){ay["x"+az.n]=az.c2p(aA.left)}}for(ax=0;ax<U.length;++ax){az=U[ax];if(az&&az.used){ay["y"+az.n]=az.c2p(aA.top)}}if(ay.x1!==undefined){ay.x=ay.x1}if(ay.y1!==undefined){ay.y=ay.y1}return ay}function P(aB){var az={},ay,aA,ax;for(ay=0;ay<ap.length;++ay){aA=ap[ay];if(aA&&aA.used){ax="x"+aA.n;if(aB[ax]==null&&aA.n==1){ax="x"}if(aB[ax]!=null){az.left=aA.p2c(aB[ax]);break}}}for(ay=0;ay<U.length;++ay){aA=U[ay];if(aA&&aA.used){ax="y"+aA.n;if(aB[ax]==null&&aA.n==1){ax="y"}if(aB[ax]!=null){az.top=aA.p2c(aB[ax]);break}}}return az}function Z(){var ay=[],ax,az;for(ax=0;ax<ap.length;++ax){az=ap[ax];if(az&&az.used){ay.push(az)}}for(ax=0;ax<U.length;++ax){az=U[ax];if(az&&az.used){ay.push(az)}}return ay}function K(ay,ax){if(!ay[ax-1]){ay[ax-1]={n:ax,direction:ay==ap?"x":"y",options:c.extend(true,{},ay==ap?J.xaxis:J.yaxis)}}return ay[ax-1]}function x(){var aC;var aI=q.length,ax=[],aA=[];for(aC=0;aC<q.length;++aC){var aF=q[aC].color;if(aF!=null){--aI;if(typeof aF=="number"){aA.push(aF)}else{ax.push(c.color.parse(q[aC].color))}}}for(aC=0;aC<aA.length;++aC){aI=Math.max(aI,aA[aC]+1)}var ay=[],aB=0;aC=0;while(ay.length<aI){var aE;if(J.colors.length==aC){aE=c.color.make(100,100,100)}else{aE=c.color.parse(J.colors[aC])}var az=aB%2==1?-1:1;aE.scale("rgb",1+az*Math.ceil(aB/2)*0.2);ay.push(aE);++aC;if(aC>=J.colors.length){aC=0;++aB}}var aD=0,aJ;for(aC=0;aC<q.length;++aC){aJ=q[aC];if(aJ.color==null){aJ.color=ay[aD].toString();++aD}else{if(typeof aJ.color=="number"){aJ.color=ay[aJ.color].toString()}}if(aJ.lines.show==null){var aH,aG=true;for(aH in aJ){if(aJ[aH]&&aJ[aH].show){aG=false;break}}if(aG){aJ.lines.show=true}}aJ.xaxis=K(ap,w(aJ,"x"));aJ.yaxis=K(U,w(aJ,"y"))}}function Q(){var aL=Number.POSITIVE_INFINITY,aF=Number.NEGATIVE_INFINITY,ay=Number.MAX_VALUE,aR,aP,aO,aK,aA,aG,aQ,aM,aE,aD,az,aX,aU,aI;function ax(aY,aZ){if(!aY){return}aY.datamin=aL;aY.datamax=aF;aY.used=false}function aC(a0,aZ,aY){if(aZ<a0.datamin&&aZ!=-ay){a0.datamin=aZ}if(aY>a0.datamax&&aY!=ay){a0.datamax=aY}}for(aR=0;aR<ap.length;++aR){ax(ap[aR])}for(aR=0;aR<U.length;++aR){ax(U[aR])}for(aR=0;aR<q.length;++aR){aG=q[aR];aG.datapoints={points:[]};C(m.processRawData,[aG,aG.data,aG.datapoints])}for(aR=0;aR<q.length;++aR){aG=q[aR];var aW=aG.data,aT=aG.datapoints.format;if(!aT){aT=[];aT.push({x:true,number:true,required:true});aT.push({y:true,number:true,required:true});if(aG.bars.show||(aG.lines.show&&aG.lines.fill)){aT.push({y:true,number:true,required:false,defaultValue:0});if(aG.bars.horizontal){delete aT[aT.length-1].y;aT[aT.length-1].x=true}}aG.datapoints.format=aT}if(aG.datapoints.pointsize!=null){continue}aG.datapoints.pointsize=aT.length;aM=aG.datapoints.pointsize;aQ=aG.datapoints.points;insertSteps=aG.lines.show&&aG.lines.steps;aG.xaxis.used=aG.yaxis.used=true;for(aP=aO=0;aP<aW.length;++aP,aO+=aM){aI=aW[aP];var aB=aI==null;if(!aB){for(aK=0;aK<aM;++aK){aX=aI[aK];aU=aT[aK];if(aU){if(aU.number&&aX!=null){aX=+aX;if(isNaN(aX)){aX=null}else{if(aX==Infinity){aX=ay}else{if(aX==-Infinity){aX=-ay}}}}if(aX==null){if(aU.required){aB=true}if(aU.defaultValue!=null){aX=aU.defaultValue}}}aQ[aO+aK]=aX}}if(aB){for(aK=0;aK<aM;++aK){aX=aQ[aO+aK];if(aX!=null){aU=aT[aK];if(aU.x){aC(aG.xaxis,aX,aX)}if(aU.y){aC(aG.yaxis,aX,aX)}}aQ[aO+aK]=null}}else{if(insertSteps&&aO>0&&aQ[aO-aM]!=null&&aQ[aO-aM]!=aQ[aO]&&aQ[aO-aM+1]!=aQ[aO+1]){for(aK=0;aK<aM;++aK){aQ[aO+aM+aK]=aQ[aO+aK]}aQ[aO+1]=aQ[aO-aM+1];aO+=aM}}}}for(aR=0;aR<q.length;++aR){aG=q[aR];C(m.processDatapoints,[aG,aG.datapoints])}for(aR=0;aR<q.length;++aR){aG=q[aR];aQ=aG.datapoints.points,aM=aG.datapoints.pointsize;var aH=aL,aN=aL,aJ=aF,aS=aF;for(aP=0;aP<aQ.length;aP+=aM){if(aQ[aP]==null){continue}for(aK=0;aK<aM;++aK){aX=aQ[aP+aK];aU=aT[aK];if(!aU){continue}if(aU.x){if(aX<aH){aH=aX}if(aX>aJ){aJ=aX}}if(aU.y){if(aX<aN){aN=aX}if(aX>aS){aS=aX}}}}if(aG.bars.show){var aV=aG.bars.align=="left"?0:-aG.bars.barWidth/2;if(aG.bars.horizontal){aN+=aV;aS+=aV+aG.bars.barWidth}else{aH+=aV;aJ+=aV+aG.bars.barWidth}}aC(aG.xaxis,aH,aJ);aC(aG.yaxis,aN,aS)}c.each(Z(),function(aY,aZ){if(aZ.datamin==aL){aZ.datamin=null}if(aZ.datamax==aF){aZ.datamax=null}})}function F(){ai=O.width();t=O.height();if(window.G_vmlCanvasManager){O.find("canvas").each(function(){this.context_=null})}O.html("");if(O.css("position")=="static"){O.css("position","relative")}if(ai<=0||t<=0){throw"Invalid dimensions for plot, width = "+ai+", height = "+t}function ax(ay){var az=document.createElement("canvas");az.width=ai;az.height=t;if(!ay){c(az).css({position:"absolute",left:0,top:0})}c(az).appendTo(O);if(!az.getContext){az=window.G_vmlCanvasManager.initElement(az)}return az}r=ax(true);B=r.getContext("2d");am=ax();aw=am.getContext("2d")}function at(){an=c([am,r]);if(J.grid.hoverable){an.mousemove(d);an.mouseleave(N)}if(J.grid.clickable){an.click(G)}C(m.bindEvents,[an])}function l(aC){function ay(aD){return aD}var aB,ax,az=aC.options.transform||ay,aA=aC.options.inverseTransform;if(aC.direction=="x"){aB=aC.scale=h/(az(aC.max)-az(aC.min));ax=az(aC.min);if(az==ay){aC.p2c=function(aD){return(aD-ax)*aB}}else{aC.p2c=function(aD){return(az(aD)-ax)*aB}}if(!aA){aC.c2p=function(aD){return ax+aD/aB}}else{aC.c2p=function(aD){return aA(ax+aD/aB)}}}else{aB=aC.scale=ab/(az(aC.max)-az(aC.min));ax=az(aC.max);if(az==ay){aC.p2c=function(aD){return(ax-aD)*aB}}else{aC.p2c=function(aD){return(ax-az(aD))*aB}}if(!aA){aC.c2p=function(aD){return ax-aD/aB}}else{aC.c2p=function(aD){return aA(ax-aD/aB)}}}}function X(az){if(!az){return}var ax=az.options,aB,aF=az.ticks||[],aE=[],aA,aG=ax.labelWidth,aC=ax.labelHeight,ay;function aD(aI,aH){return c('<div style="position:absolute;top:-10000px;'+aH+'font-size:smaller"><div class="'+az.direction+"Axis "+az.direction+az.n+'Axis">'+aI.join("")+"</div></div>").appendTo(O)}if(az.direction=="x"){if(aG==null){aG=Math.floor(ai/(aF.length>0?aF.length:1))}if(aC==null){aE=[];for(aB=0;aB<aF.length;++aB){aA=aF[aB].label;if(aA){aE.push('<div class="tickLabel" style="float:left;width:'+aG+'px">'+aA+"</div>")}}if(aE.length>0){aE.push('<div style="clear:left"></div>');ay=aD(aE,"width:10000px;");aC=ay.height();ay.remove()}}}else{if(aG==null||aC==null){for(aB=0;aB<aF.length;++aB){aA=aF[aB].label;if(aA){aE.push('<div class="tickLabel">'+aA+"</div>")}}if(aE.length>0){ay=aD(aE,"");if(aG==null){aG=ay.children().width()}if(aC==null){aC=ay.find("div.tickLabel").height()}ay.remove()}}}if(aG==null){aG=0}if(aC==null){aC=0}az.labelWidth=aG;az.labelHeight=aC}function aa(az){if(!az||!az.labelWidth||!az.labelHeight){return}var ay=az.labelWidth,aH=az.labelHeight,aD=az.options.position,aB=az.options.tickLength,aC=J.grid.axisMargin,aF=J.grid.labelMargin,aG=az.direction=="x"?ap:U,aA;var ax=c.grep(aG,function(aJ){return aJ&&aJ.options.position==aD&&(aJ.labelHeight||aJ.labelWidth)});if(c.inArray(az,ax)==ax.length-1){aC=0}if(aB==null){aB="full"}var aE=c.grep(aG,function(aJ){return aJ&&(aJ.labelHeight||aJ.labelWidth)});var aI=c.inArray(az,aE)==0;if(!aI&&aB=="full"){aB=5}if(!isNaN(+aB)){aF+=+aB}if(az.direction=="x"){aH+=aF;if(aD=="bottom"){H.bottom+=aH+aC;az.box={top:t-H.bottom,height:aH}}else{az.box={top:H.top+aC,height:aH};H.top+=aH+aC}}else{ay+=aF;if(aD=="left"){az.box={left:H.left+aC,width:ay};H.left+=ay+aC}else{H.right+=ay+aC;az.box={left:ai-H.right,width:ay}}}az.position=aD;az.tickLength=aB;az.box.padding=aF;az.innermost=aI}function ac(ax){if(!ax||!ax.labelWidth||!ax.labelHeight){return}if(ax.direction=="x"){ax.box.left=H.left;ax.box.width=h}else{ax.box.top=H.top;ax.box.height=ab}}function M(){var aC=Z(),az,ay;for(ay=0;ay<aC.length;++ay){k(aC[ay])}H.left=H.right=H.top=H.bottom=0;if(J.grid.show){for(ay=0;ay<aC.length;++ay){ar(aC[ay]);T(aC[ay]);s(aC[ay],aC[ay].ticks)}for(az=0;az<ap.length;++az){X(ap[az])}for(az=0;az<U.length;++az){X(U[az])}for(az=ap.length-1;az>=0;--az){aa(ap[az])}for(az=U.length-1;az>=0;--az){aa(U[az])}var aB=0;for(var aA=0;aA<q.length;++aA){aB=Math.max(aB,2*(q[aA].points.radius+q[aA].points.lineWidth/2))}for(var ax in H){H[ax]+=J.grid.borderWidth;H[ax]=Math.max(aB,H[ax])}}h=ai-H.left-H.right;ab=t-H.bottom-H.top;for(ay=0;ay<aC.length;++ay){l(aC[ay])}if(J.grid.show){for(ay=0;ay<aC.length;++ay){ac(aC[ay])}af()}av()}function k(aA){var aB=aA.options,az=+(aB.min!=null?aB.min:aA.datamin),ax=+(aB.max!=null?aB.max:aA.datamax),aD=ax-az;if(aD==0){var ay=ax==0?1:0.01;if(aB.min==null){az-=ay}if(aB.max==null||aB.min!=null){ax+=ay}}else{var aC=aB.autoscaleMargin;if(aC!=null){if(aB.min==null){az-=aD*aC;if(az<0&&aA.datamin!=null&&aA.datamin>=0){az=0}}if(aB.max==null){ax+=aD*aC;if(ax>0&&aA.datamax!=null&&aA.datamax<=0){ax=0}}}}aA.min=az;aA.max=ax}function ar(aC){var aI=aC.options;var aD;if(typeof aI.ticks=="number"&&aI.ticks>0){aD=aI.ticks}else{if(aC.direction=="x"){aD=0.3*Math.sqrt(ai)}else{aD=0.3*Math.sqrt(t)}}var aP=(aC.max-aC.min)/aD,aK,ax,aJ,aN,aO,aM,aE;if(aI.mode=="time"){var aF={second:1000,minute:60*1000,hour:60*60*1000,day:24*60*60*1000,month:30*24*60*60*1000,year:365.2425*24*60*60*1000};var aG=[[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"],[0.25,"month"],[0.5,"month"],[1,"month"],[2,"month"],[3,"month"],[6,"month"],[1,"year"]];var ay=0;if(aI.minTickSize!=null){if(typeof aI.tickSize=="number"){ay=aI.tickSize}else{ay=aI.minTickSize[0]*aF[aI.minTickSize[1]]}}for(var aO=0;aO<aG.length-1;++aO){if(aP<(aG[aO][0]*aF[aG[aO][1]]+aG[aO+1][0]*aF[aG[aO+1][1]])/2&&aG[aO][0]*aF[aG[aO][1]]>=ay){break}}aK=aG[aO][0];aJ=aG[aO][1];if(aJ=="year"){aM=Math.pow(10,Math.floor(Math.log(aP/aF.year)/Math.LN10));aE=(aP/aF.year)/aM;if(aE<1.5){aK=1}else{if(aE<3){aK=2}else{if(aE<7.5){aK=5}else{aK=10}}}aK*=aM}aC.tickSize=aI.tickSize||[aK,aJ];ax=function(aT){var aY=[],aW=aT.tickSize[0],aZ=aT.tickSize[1],aX=new Date(aT.min);var aS=aW*aF[aZ];if(aZ=="second"){aX.setUTCSeconds(a(aX.getUTCSeconds(),aW))}if(aZ=="minute"){aX.setUTCMinutes(a(aX.getUTCMinutes(),aW))}if(aZ=="hour"){aX.setUTCHours(a(aX.getUTCHours(),aW))}if(aZ=="month"){aX.setUTCMonth(a(aX.getUTCMonth(),aW))}if(aZ=="year"){aX.setUTCFullYear(a(aX.getUTCFullYear(),aW))}aX.setUTCMilliseconds(0);if(aS>=aF.minute){aX.setUTCSeconds(0)}if(aS>=aF.hour){aX.setUTCMinutes(0)}if(aS>=aF.day){aX.setUTCHours(0)}if(aS>=aF.day*4){aX.setUTCDate(1)}if(aS>=aF.year){aX.setUTCMonth(0)}var a1=0,a0=Number.NaN,aU;do{aU=a0;a0=aX.getTime();aY.push(a0);if(aZ=="month"){if(aW<1){aX.setUTCDate(1);var aR=aX.getTime();aX.setUTCMonth(aX.getUTCMonth()+1);var aV=aX.getTime();aX.setTime(a0+a1*aF.hour+(aV-aR)*aW);a1=aX.getUTCHours();aX.setUTCHours(0)}else{aX.setUTCMonth(aX.getUTCMonth()+aW)}}else{if(aZ=="year"){aX.setUTCFullYear(aX.getUTCFullYear()+aW)}else{aX.setTime(a0+aS)}}}while(a0<aT.max&&a0!=aU);return aY};aN=function(aR,aU){var aW=new Date(aR);if(aI.timeformat!=null){return c.plot.formatDate(aW,aI.timeformat,aI.monthNames)}var aS=aU.tickSize[0]*aF[aU.tickSize[1]];var aT=aU.max-aU.min;var aV=(aI.twelveHourClock)?" %p":"";if(aS<aF.minute){fmt="%h:%M:%S"+aV}else{if(aS<aF.day){if(aT<2*aF.day){fmt="%h:%M"+aV}else{fmt="%b %d %h:%M"+aV}}else{if(aS<aF.month){fmt="%b %d"}else{if(aS<aF.year){if(aT<aF.year){fmt="%b"}else{fmt="%b %y"}}else{fmt="%y"}}}}return c.plot.formatDate(aW,fmt,aI.monthNames)}}else{var aQ=aI.tickDecimals;var aL=-Math.floor(Math.log(aP)/Math.LN10);if(aQ!=null&&aL>aQ){aL=aQ}aM=Math.pow(10,-aL);aE=aP/aM;if(aE<1.5){aK=1}else{if(aE<3){aK=2;if(aE>2.25&&(aQ==null||aL+1<=aQ)){aK=2.5;++aL}}else{if(aE<7.5){aK=5}else{aK=10}}}aK*=aM;if(aI.minTickSize!=null&&aK<aI.minTickSize){aK=aI.minTickSize}aC.tickDecimals=Math.max(0,aQ!=null?aQ:aL);aC.tickSize=aI.tickSize||aK;ax=function(aT){var aV=[];var aW=a(aT.min,aT.tickSize),aS=0,aR=Number.NaN,aU;do{aU=aR;aR=aW+aS*aT.tickSize;aV.push(aR);++aS}while(aR<aT.max&&aR!=aU);return aV};aN=function(aR,aS){return aR.toFixed(aS.tickDecimals)}}if(aI.alignTicksWithAxis!=null){var aB=(aC.direction=="x"?ap:U)[aI.alignTicksWithAxis-1];if(aB&&aB.used&&aB!=aC){var aH=ax(aC);if(aH.length>0){if(aI.min==null){aC.min=Math.min(aC.min,aH[0])}if(aI.max==null&&aH.length>1){aC.max=Math.max(aC.max,aH[aH.length-1])}}ax=function(aT){var aU=[],aR,aS;for(aS=0;aS<aB.ticks.length;++aS){aR=(aB.ticks[aS].v-aB.min)/(aB.max-aB.min);aR=aT.min+aR*(aT.max-aT.min);aU.push(aR)}return aU};if(aC.mode!="time"&&aI.tickDecimals==null){var aA=Math.max(0,-Math.floor(Math.log(aP)/Math.LN10)+1),az=ax(aC);if(!(az.length>1&&/\..*0$/.test((az[1]-az[0]).toFixed(aA)))){aC.tickDecimals=aA}}}}aC.tickGenerator=ax;if(c.isFunction(aI.tickFormatter)){aC.tickFormatter=function(aR,aS){return""+aI.tickFormatter(aR,aS)}}else{aC.tickFormatter=aN}}function T(aB){aB.ticks=[];var aD=aB.options.ticks,aC=[];if(aD==null||(typeof aD=="number"&&aD>0)){aC=aB.tickGenerator(aB)}else{if(aD){if(c.isFunction(aD)){aC=aD({min:aB.min,max:aB.max})}else{aC=aD}}}var aA,ax;for(aA=0;aA<aC.length;++aA){var ay=null;var az=aC[aA];if(typeof az=="object"){ax=az[0];if(az.length>1){ay=az[1]}}else{ax=az}if(ay==null){ay=aB.tickFormatter(ax,aB)}aB.ticks[aA]={v:ax,label:ay}}}function s(ax,ay){if(ax.options.autoscaleMargin&&ay.length>0){if(ax.options.min==null){ax.min=Math.min(ax.min,ay[0].v)}if(ax.options.max==null&&ay.length>1){ax.max=Math.max(ax.max,ay[ay.length-1].v)}}}function au(){B.clearRect(0,0,ai,t);var ay=J.grid;if(ay.show&&ay.backgroundColor){o()}if(ay.show&&!ay.aboveData){v()}for(var ax=0;ax<q.length;++ax){C(m.drawSeries,[B,q[ax]]);ak(q[ax])}C(m.draw,[B]);if(ay.show&&ay.aboveData){v()}}function p(ax,aE){var aA,aD,aC,aB,az;aB=Z();for(i=0;i<aB.length;++i){aA=aB[i];if(aA.direction==aE){az=aE+aA.n+"axis";if(!ax[az]&&aA.n==1){az=aE+"axis"}if(ax[az]){aD=ax[az].from;aC=ax[az].to;break}}}if(!ax[az]){aA=aE=="x"?ap[0]:U[0];aD=ax[aE+"1"];aC=ax[aE+"2"]}if(aD!=null&&aC!=null&&aD>aC){var ay=aD;aD=aC;aC=ay}return{from:aD,to:aC,axis:aA}}function o(){B.save();B.translate(H.left,H.top);B.fillStyle=u(J.grid.backgroundColor,ab,0,"rgba(255, 255, 255, 0)");B.fillRect(0,0,h,ab);B.restore()}function v(){var aB;B.save();B.translate(H.left,H.top);var aD=J.grid.markings;if(aD){if(c.isFunction(aD)){var aG=f.getAxes();aG.xmin=aG.xaxis.min;aG.xmax=aG.xaxis.max;aG.ymin=aG.yaxis.min;aG.ymax=aG.yaxis.max;aD=aD(aG)}for(aB=0;aB<aD.length;++aB){var az=aD[aB],ay=p(az,"x"),aE=p(az,"y");if(ay.from==null){ay.from=ay.axis.min}if(ay.to==null){ay.to=ay.axis.max}if(aE.from==null){aE.from=aE.axis.min}if(aE.to==null){aE.to=aE.axis.max}if(ay.to<ay.axis.min||ay.from>ay.axis.max||aE.to<aE.axis.min||aE.from>aE.axis.max){continue}ay.from=Math.max(ay.from,ay.axis.min);ay.to=Math.min(ay.to,ay.axis.max);aE.from=Math.max(aE.from,aE.axis.min);aE.to=Math.min(aE.to,aE.axis.max);if(ay.from==ay.to&&aE.from==aE.to){continue}ay.from=ay.axis.p2c(ay.from);ay.to=ay.axis.p2c(ay.to);aE.from=aE.axis.p2c(aE.from);aE.to=aE.axis.p2c(aE.to);if(ay.from==ay.to||aE.from==aE.to){B.beginPath();B.strokeStyle=az.color||J.grid.markingsColor;B.lineWidth=az.lineWidth||J.grid.markingsLineWidth;B.moveTo(ay.from,aE.from);B.lineTo(ay.to,aE.to);B.stroke()}else{B.fillStyle=az.color||J.grid.markingsColor;B.fillRect(ay.from,aE.to,ay.to-ay.from,aE.from-aE.to)}}}var aG=Z(),aI=J.grid.borderWidth;for(var aA=0;aA<aG.length;++aA){var ax=aG[aA],aC=ax.box,aM=ax.tickLength,aJ,aH,aL,aF;if(ax.ticks.length==0){continue}B.strokeStyle=ax.options.tickColor||c.color.parse(ax.options.color).scale("a",0.22).toString();B.lineWidth=1;if(ax.direction=="x"){aJ=0;if(aM=="full"){aH=(ax.position=="top"?0:ab)}else{aH=aC.top-H.top+(ax.position=="top"?aC.height:0)}}else{aH=0;if(aM=="full"){aJ=(ax.position=="left"?0:h)}else{aJ=aC.left-H.left+(ax.position=="left"?aC.width:0)}}if(!ax.innermost){B.beginPath();aL=aF=0;if(ax.direction=="x"){aL=h}else{aF=ab}if(B.lineWidth==1){aJ=Math.floor(aJ)+0.5;aH=Math.floor(aH)+0.5}B.moveTo(aJ,aH);B.lineTo(aJ+aL,aH+aF);B.stroke()}B.beginPath();for(aB=0;aB<ax.ticks.length;++aB){var aK=ax.ticks[aB].v;aL=aF=0;if(aK<ax.min||aK>ax.max||(aM=="full"&&aI>0&&(aK==ax.min||aK==ax.max))){continue}if(ax.direction=="x"){aJ=ax.p2c(aK);aF=aM=="full"?-ab:aM;if(ax.position=="top"){aF=-aF}}else{aH=ax.p2c(aK);aL=aM=="full"?-h:aM;if(ax.position=="left"){aL=-aL}}if(B.lineWidth==1){if(ax.direction=="x"){aJ=Math.floor(aJ)+0.5}else{aH=Math.floor(aH)+0.5}}B.moveTo(aJ,aH);B.lineTo(aJ+aL,aH+aF)}B.stroke()}if(aI){B.lineWidth=aI;B.strokeStyle=J.grid.borderColor;B.strokeRect(-aI/2,-aI/2,h+aI,ab+aI)}B.restore()}function af(){O.find(".tickLabels").remove();var aC=['<div class="tickLabels" style="font-size:smaller">'];var aF=Z();for(var az=0;az<aF.length;++az){var ay=aF[az],aB=ay.box;aC.push('<div class="'+ay.direction+"Axis "+ay.direction+ay.n+'Axis" style="color:'+ay.options.color+'">');for(var aA=0;aA<ay.ticks.length;++aA){var aD=ay.ticks[aA];if(!aD.label||aD.v<ay.min||aD.v>ay.max){continue}var aG={},aE;if(ay.direction=="x"){aE="center";aG.left=Math.round(H.left+ay.p2c(aD.v)-ay.labelWidth/2);if(ay.position=="bottom"){aG.top=aB.top+aB.padding}else{aG.bottom=t-(aB.top+aB.height-aB.padding)}}else{aG.top=Math.round(H.top+ay.p2c(aD.v)-ay.labelHeight/2);if(ay.position=="left"){aG.right=ai-(aB.left+aB.width-aB.padding);aE="right"}else{aG.left=aB.left+aB.padding;aE="left"}}aG.width=ay.labelWidth;var ax=["position:absolute","text-align:"+aE];for(var aH in aG){ax.push(aH+":"+aG[aH]+"px")}aC.push('<div class="tickLabel" style="'+ax.join(";")+'">'+aD.label+"</div>")}aC.push("</div>")}aC.push("</div>");O.append(aC.join(""))}function ak(ax){if(ax.lines.show){D(ax)}if(ax.bars.show){R(ax)}if(ax.points.show){S(ax)}}function D(aA){function az(aL,aM,aE,aQ,aP){var aR=aL.points,aF=aL.pointsize,aJ=null,aI=null;B.beginPath();for(var aK=aF;aK<aR.length;aK+=aF){var aH=aR[aK-aF],aO=aR[aK-aF+1],aG=aR[aK],aN=aR[aK+1];if(aH==null||aG==null){continue}if(aO<=aN&&aO<aP.min){if(aN<aP.min){continue}aH=(aP.min-aO)/(aN-aO)*(aG-aH)+aH;aO=aP.min}else{if(aN<=aO&&aN<aP.min){if(aO<aP.min){continue}aG=(aP.min-aO)/(aN-aO)*(aG-aH)+aH;aN=aP.min}}if(aO>=aN&&aO>aP.max){if(aN>aP.max){continue}aH=(aP.max-aO)/(aN-aO)*(aG-aH)+aH;aO=aP.max}else{if(aN>=aO&&aN>aP.max){if(aO>aP.max){continue}aG=(aP.max-aO)/(aN-aO)*(aG-aH)+aH;aN=aP.max}}if(aH<=aG&&aH<aQ.min){if(aG<aQ.min){continue}aO=(aQ.min-aH)/(aG-aH)*(aN-aO)+aO;aH=aQ.min}else{if(aG<=aH&&aG<aQ.min){if(aH<aQ.min){continue}aN=(aQ.min-aH)/(aG-aH)*(aN-aO)+aO;aG=aQ.min}}if(aH>=aG&&aH>aQ.max){if(aG>aQ.max){continue}aO=(aQ.max-aH)/(aG-aH)*(aN-aO)+aO;aH=aQ.max}else{if(aG>=aH&&aG>aQ.max){if(aH>aQ.max){continue}aN=(aQ.max-aH)/(aG-aH)*(aN-aO)+aO;aG=aQ.max}}if(aH!=aJ||aO!=aI){B.moveTo(aQ.p2c(aH)+aM,aP.p2c(aO)+aE)}aJ=aG;aI=aN;B.lineTo(aQ.p2c(aG)+aM,aP.p2c(aN)+aE)}B.stroke()}function aB(aE,aM,aL){var aS=aE.points,aR=aE.pointsize,aJ=Math.min(Math.max(0,aL.min),aL.max),aT=0,aQ,aP=false,aI=1,aH=0,aN=0;while(true){if(aR>0&&aT>aS.length+aR){break}aT+=aR;var aV=aS[aT-aR],aG=aS[aT-aR+aI],aU=aS[aT],aF=aS[aT+aI];if(aP){if(aR>0&&aV!=null&&aU==null){aN=aT;aR=-aR;aI=2;continue}if(aR<0&&aT==aH+aR){B.fill();aP=false;aR=-aR;aI=1;aT=aH=aN+aR;continue}}if(aV==null||aU==null){continue}if(aV<=aU&&aV<aM.min){if(aU<aM.min){continue}aG=(aM.min-aV)/(aU-aV)*(aF-aG)+aG;aV=aM.min}else{if(aU<=aV&&aU<aM.min){if(aV<aM.min){continue}aF=(aM.min-aV)/(aU-aV)*(aF-aG)+aG;aU=aM.min}}if(aV>=aU&&aV>aM.max){if(aU>aM.max){continue}aG=(aM.max-aV)/(aU-aV)*(aF-aG)+aG;aV=aM.max}else{if(aU>=aV&&aU>aM.max){if(aV>aM.max){continue}aF=(aM.max-aV)/(aU-aV)*(aF-aG)+aG;aU=aM.max}}if(!aP){B.beginPath();B.moveTo(aM.p2c(aV),aL.p2c(aJ));aP=true}if(aG>=aL.max&&aF>=aL.max){B.lineTo(aM.p2c(aV),aL.p2c(aL.max));B.lineTo(aM.p2c(aU),aL.p2c(aL.max));continue}else{if(aG<=aL.min&&aF<=aL.min){B.lineTo(aM.p2c(aV),aL.p2c(aL.min));B.lineTo(aM.p2c(aU),aL.p2c(aL.min));continue}}var aK=aV,aO=aU;if(aG<=aF&&aG<aL.min&&aF>=aL.min){aV=(aL.min-aG)/(aF-aG)*(aU-aV)+aV;aG=aL.min}else{if(aF<=aG&&aF<aL.min&&aG>=aL.min){aU=(aL.min-aG)/(aF-aG)*(aU-aV)+aV;aF=aL.min}}if(aG>=aF&&aG>aL.max&&aF<=aL.max){aV=(aL.max-aG)/(aF-aG)*(aU-aV)+aV;aG=aL.max}else{if(aF>=aG&&aF>aL.max&&aG<=aL.max){aU=(aL.max-aG)/(aF-aG)*(aU-aV)+aV;aF=aL.max}}if(aV!=aK){B.lineTo(aM.p2c(aK),aL.p2c(aG))}B.lineTo(aM.p2c(aV),aL.p2c(aG));B.lineTo(aM.p2c(aU),aL.p2c(aF));if(aU!=aO){B.lineTo(aM.p2c(aU),aL.p2c(aF));B.lineTo(aM.p2c(aO),aL.p2c(aF))}}}B.save();B.translate(H.left,H.top);B.lineJoin="round";var aC=aA.lines.lineWidth,ax=aA.shadowSize;if(aC>0&&ax>0){B.lineWidth=ax;B.strokeStyle="rgba(0,0,0,0.1)";var aD=Math.PI/18;az(aA.datapoints,Math.sin(aD)*(aC/2+ax/2),Math.cos(aD)*(aC/2+ax/2),aA.xaxis,aA.yaxis);B.lineWidth=ax/2;az(aA.datapoints,Math.sin(aD)*(aC/2+ax/4),Math.cos(aD)*(aC/2+ax/4),aA.xaxis,aA.yaxis)}B.lineWidth=aC;B.strokeStyle=aA.color;var ay=y(aA.lines,aA.color,0,ab);if(ay){B.fillStyle=ay;aB(aA.datapoints,aA.xaxis,aA.yaxis)}if(aC>0){az(aA.datapoints,0,0,aA.xaxis,aA.yaxis)}B.restore()}function S(aA){function aD(aJ,aI,aQ,aG,aO,aP,aM,aF){var aN=aJ.points,aE=aJ.pointsize;for(var aH=0;aH<aN.length;aH+=aE){var aL=aN[aH],aK=aN[aH+1];if(aL==null||aL<aP.min||aL>aP.max||aK<aM.min||aK>aM.max){continue}B.beginPath();aL=aP.p2c(aL);aK=aM.p2c(aK)+aG;if(aF=="circle"){B.arc(aL,aK,aI,0,aO?Math.PI:Math.PI*2,false)}else{aF(B,aL,aK,aI,aO)}B.closePath();if(aQ){B.fillStyle=aQ;B.fill()}B.stroke()}}B.save();B.translate(H.left,H.top);var aC=aA.points.lineWidth,ay=aA.shadowSize,ax=aA.points.radius,aB=aA.points.symbol;if(aC>0&&ay>0){var az=ay/2;B.lineWidth=az;B.strokeStyle="rgba(0,0,0,0.1)";aD(aA.datapoints,ax,null,az+az/2,true,aA.xaxis,aA.yaxis,aB);B.strokeStyle="rgba(0,0,0,0.2)";aD(aA.datapoints,ax,null,az/2,true,aA.xaxis,aA.yaxis,aB)}B.lineWidth=aC;B.strokeStyle=aA.color;aD(aA.datapoints,ax,y(aA.points,aA.color),0,false,aA.xaxis,aA.yaxis,aB);B.restore()}function al(aJ,aI,aR,aE,aM,aB,az,aH,aG,aQ,aN,ay){var aA,aP,aF,aL,aC,ax,aK,aD,aO;if(aN){aD=ax=aK=true;aC=false;aA=aR;aP=aJ;aL=aI+aE;aF=aI+aM;if(aP<aA){aO=aP;aP=aA;aA=aO;aC=true;ax=false}}else{aC=ax=aK=true;aD=false;aA=aJ+aE;aP=aJ+aM;aF=aR;aL=aI;if(aL<aF){aO=aL;aL=aF;aF=aO;aD=true;aK=false}}if(aP<aH.min||aA>aH.max||aL<aG.min||aF>aG.max){return}if(aA<aH.min){aA=aH.min;aC=false}if(aP>aH.max){aP=aH.max;ax=false}if(aF<aG.min){aF=aG.min;aD=false}if(aL>aG.max){aL=aG.max;aK=false}aA=aH.p2c(aA);aF=aG.p2c(aF);aP=aH.p2c(aP);aL=aG.p2c(aL);if(az){aQ.beginPath();aQ.moveTo(aA,aF);aQ.lineTo(aA,aL);aQ.lineTo(aP,aL);aQ.lineTo(aP,aF);aQ.fillStyle=az(aF,aL);aQ.fill()}if(ay>0&&(aC||ax||aK||aD)){aQ.beginPath();aQ.moveTo(aA,aF+aB);if(aC){aQ.lineTo(aA,aL+aB)}else{aQ.moveTo(aA,aL+aB)}if(aK){aQ.lineTo(aP,aL+aB)}else{aQ.moveTo(aP,aL+aB)}if(ax){aQ.lineTo(aP,aF+aB)}else{aQ.moveTo(aP,aF+aB)}if(aD){aQ.lineTo(aA,aF+aB)}else{aQ.moveTo(aA,aF+aB)}aQ.stroke()}}function R(az){function ay(aF,aE,aH,aC,aG,aJ,aI){var aK=aF.points,aB=aF.pointsize;for(var aD=0;aD<aK.length;aD+=aB){if(aK[aD]==null){continue}al(aK[aD],aK[aD+1],aK[aD+2],aE,aH,aC,aG,aJ,aI,B,az.bars.horizontal,az.bars.lineWidth)}}B.save();B.translate(H.left,H.top);B.lineWidth=az.bars.lineWidth;B.strokeStyle=az.color;var ax=az.bars.align=="left"?0:-az.bars.barWidth/2;var aA=az.bars.fill?function(aB,aC){return y(az.bars,az.color,aB,aC)}:null;ay(az.datapoints,ax,ax+az.bars.barWidth,0,aA,az.xaxis,az.yaxis);B.restore()}function y(az,ax,ay,aB){var aA=az.fill;if(!aA){return null}if(az.fillColor){return u(az.fillColor,ay,aB,ax)}var aC=c.color.parse(ax);aC.a=typeof aA=="number"?aA:0.4;aC.normalize();return aC.toString()}function av(){O.find(".legend").remove();if(!J.legend.show){return}var aD=[],aB=false,aJ=J.legend.labelFormatter,aI,aF;for(var aA=0;aA<q.length;++aA){aI=q[aA];aF=aI.label;if(!aF){continue}if(aA%J.legend.noColumns==0){if(aB){aD.push("</tr>")}aD.push("<tr>");aB=true}if(aJ){aF=aJ(aF,aI)}aD.push('<td class="legendColorBox"><div style="border:1px solid '+J.legend.labelBoxBorderColor+';padding:1px"><div style="width:4px;height:0;border:5px solid '+aI.color+';overflow:hidden"></div></div></td><td class="legendLabel">'+aF+"</td>")}if(aB){aD.push("</tr>")}if(aD.length==0){return}var aH='<table style="font-size:smaller;color:'+J.grid.color+'">'+aD.join("")+"</table>";if(J.legend.container!=null){c(J.legend.container).html(aH)}else{var aE="",ay=J.legend.position,az=J.legend.margin;if(az[0]==null){az=[az,az]}if(ay.charAt(0)=="n"){aE+="top:"+(az[1]+H.top)+"px;"}else{if(ay.charAt(0)=="s"){aE+="bottom:"+(az[1]+H.bottom)+"px;"}}if(ay.charAt(1)=="e"){aE+="right:"+(az[0]+H.right)+"px;"}else{if(ay.charAt(1)=="w"){aE+="left:"+(az[0]+H.left)+"px;"}}var aG=c('<div class="legend">'+aH.replace('style="','style="position:absolute;'+aE+";")+"</div>").appendTo(O);if(J.legend.backgroundOpacity!=0){var aC=J.legend.backgroundColor;if(aC==null){aC=J.grid.backgroundColor;if(aC&&typeof aC=="string"){aC=c.color.parse(aC)}else{aC=c.color.extract(aG,"background-color")}aC.a=1;aC=aC.toString()}var ax=aG.children();c('<div style="position:absolute;width:'+ax.width()+"px;height:"+ax.height()+"px;"+aE+"background-color:"+aC+';"> </div>').prependTo(aG).css("opacity",J.legend.backgroundOpacity)}}}var ag=[],j=null;function aq(aE,aC,az){var aK=J.grid.mouseActiveRadius,aW=aK*aK+1,aU=null,aN=false,aS,aQ;for(aS=q.length-1;aS>=0;--aS){if(!az(q[aS])){continue}var aL=q[aS],aD=aL.xaxis,aB=aL.yaxis,aR=aL.datapoints.points,aP=aL.datapoints.pointsize,aM=aD.c2p(aE),aJ=aB.c2p(aC),ay=aK/aD.scale,ax=aK/aB.scale;if(aL.lines.show||aL.points.show){for(aQ=0;aQ<aR.length;aQ+=aP){var aG=aR[aQ],aF=aR[aQ+1];if(aG==null){continue}if(aG-aM>ay||aG-aM<-ay||aF-aJ>ax||aF-aJ<-ax){continue}var aI=Math.abs(aD.p2c(aG)-aE),aH=Math.abs(aB.p2c(aF)-aC),aO=aI*aI+aH*aH;if(aO<aW){aW=aO;aU=[aS,aQ/aP]}}}if(aL.bars.show&&!aU){var aA=aL.bars.align=="left"?0:-aL.bars.barWidth/2,aT=aA+aL.bars.barWidth;for(aQ=0;aQ<aR.length;aQ+=aP){var aG=aR[aQ],aF=aR[aQ+1],aV=aR[aQ+2];if(aG==null){continue}if(q[aS].bars.horizontal?(aM<=Math.max(aV,aG)&&aM>=Math.min(aV,aG)&&aJ>=aF+aA&&aJ<=aF+aT):(aM>=aG+aA&&aM<=aG+aT&&aJ>=Math.min(aV,aF)&&aJ<=Math.max(aV,aF))){aU=[aS,aQ/aP]}}}}if(aU){aS=aU[0];aQ=aU[1];aP=q[aS].datapoints.pointsize;return{datapoint:q[aS].datapoints.points.slice(aQ*aP,(aQ+1)*aP),dataIndex:aQ,series:q[aS],seriesIndex:aS}}return null}function d(ax){if(J.grid.hoverable){g("plothover",ax,function(ay){return ay.hoverable!=false})}}function N(ax){if(J.grid.hoverable){g("plothover",ax,function(ay){return false})}}function G(ax){g("plotclick",ax,function(ay){return ay.clickable!=false})}function g(ay,ax,az){var aA=an.offset(),aD=ax.pageX-aA.left-H.left,aB=ax.pageY-aA.top-H.top,aF=W({left:aD,top:aB});aF.pageX=ax.pageX;aF.pageY=ax.pageY;var aG=aq(aD,aB,az);if(aG){aG.pageX=parseInt(aG.series.xaxis.p2c(aG.datapoint[0])+aA.left+H.left);aG.pageY=parseInt(aG.series.yaxis.p2c(aG.datapoint[1])+aA.top+H.top)}if(J.grid.autoHighlight){for(var aC=0;aC<ag.length;++aC){var aE=ag[aC];if(aE.auto==ay&&!(aG&&aE.series==aG.series&&aE.point[0]==aG.datapoint[0]&&aE.point[1]==aG.datapoint[1])){ah(aE.series,aE.point)}}if(aG){ao(aG.series,aG.datapoint,ay)}}O.trigger(ay,[aF,aG])}function V(){if(!j){j=setTimeout(ae,30)}}function ae(){j=null;aw.save();aw.clearRect(0,0,ai,t);aw.translate(H.left,H.top);var ay,ax;for(ay=0;ay<ag.length;++ay){ax=ag[ay];if(ax.series.bars.show){aj(ax.series,ax.point)}else{ad(ax.series,ax.point)}}aw.restore();C(m.drawOverlay,[aw])}function ao(az,ax,aB){if(typeof az=="number"){az=q[az]}if(typeof ax=="number"){var aA=az.datapoints.pointsize;ax=az.datapoints.points.slice(aA*ax,aA*(ax+1))}var ay=L(az,ax);if(ay==-1){ag.push({series:az,point:ax,auto:aB});V()}else{if(!aB){ag[ay].auto=false}}}function ah(az,ax){if(az==null&&ax==null){ag=[];V()}if(typeof az=="number"){az=q[az]}if(typeof ax=="number"){ax=az.data[ax]}var ay=L(az,ax);if(ay!=-1){ag.splice(ay,1);V()}}function L(az,aA){for(var ax=0;ax<ag.length;++ax){var ay=ag[ax];if(ay.series==az&&ay.point[0]==aA[0]&&ay.point[1]==aA[1]){return ax}}return -1}function ad(aA,az){var ay=az[0],aE=az[1],aD=aA.xaxis,aC=aA.yaxis;if(ay<aD.min||ay>aD.max||aE<aC.min||aE>aC.max){return}var aB=aA.points.radius+aA.points.lineWidth/2;aw.lineWidth=aB;aw.strokeStyle=c.color.parse(aA.color).scale("a",0.5).toString();var ax=1.5*aB,ay=aD.p2c(ay),aE=aC.p2c(aE);aw.beginPath();if(aA.points.symbol=="circle"){aw.arc(ay,aE,ax,0,2*Math.PI,false)}else{aA.points.symbol(aw,ay,aE,ax,false)}aw.closePath();aw.stroke()}function aj(aA,ax){aw.lineWidth=aA.bars.lineWidth;aw.strokeStyle=c.color.parse(aA.color).scale("a",0.5).toString();var az=c.color.parse(aA.color).scale("a",0.5).toString();var ay=aA.bars.align=="left"?0:-aA.bars.barWidth/2;al(ax[0],ax[1],ax[2]||0,ay,ay+aA.bars.barWidth,0,function(){return az},aA.xaxis,aA.yaxis,aw,aA.bars.horizontal,aA.bars.lineWidth)}function u(aF,ax,aD,ay){if(typeof aF=="string"){return aF}else{var aE=B.createLinearGradient(0,aD,0,ax);for(var aA=0,az=aF.colors.length;aA<az;++aA){var aB=aF.colors[aA];if(typeof aB!="string"){var aC=c.color.parse(ay);if(aB.brightness!=null){aC=aC.scale("rgb",aB.brightness)}if(aB.opacity!=null){aC.a*=aB.opacity}aB=aC.toString()}aE.addColorStop(aA/(az-1),aB)}return aE}}}c.plot=function(g,e,d){var f=new b(c(g),e,d,c.plot.plugins);return f};c.plot.plugins=[];c.plot.formatDate=function(l,f,h){var o=function(d){d=""+d;return d.length==1?"0"+d:d};var e=[];var p=false,j=false;var n=l.getUTCHours();var k=n<12;if(h==null){h=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}if(f.search(/%p|%P/)!=-1){if(n>12){n=n-12}else{if(n==0){n=12}}}for(var g=0;g<f.length;++g){var m=f.charAt(g);if(p){switch(m){case"h":m=""+n;break;case"H":m=o(n);break;case"M":m=o(l.getUTCMinutes());break;case"S":m=o(l.getUTCSeconds());break;case"d":m=""+l.getUTCDate();break;case"m":m=""+(l.getUTCMonth()+1);break;case"y":m=""+l.getUTCFullYear();break;case"b":m=""+h[l.getUTCMonth()];break;case"p":m=(k)?("am"):("pm");break;case"P":m=(k)?("AM"):("PM");break;case"0":m="";j=true;break}if(m&&j){m=o(m);j=false}e.push(m);if(!j){p=false}}else{if(m=="%"){p=true}else{e.push(m)}}}return e.join("")};function a(e,d){return d*Math.floor(e/d)}})(jQuery);

/* 
 * Flot Threshold 
 */

(function(b){var a={series:{threshold:null}};function c(d){function e(n,w,o){if(!w.threshold){return}var f=o.pointsize,j,r,q,g,l,h=b.extend({},w);h.datapoints={points:[],pointsize:f};h.label=null;h.color=w.threshold.color;h.threshold=null;h.originSeries=w;h.data=[];var t=w.threshold.below,u=o.points,v=w.lines.show;threspoints=[];newpoints=[];for(j=0;j<u.length;j+=f){r=u[j];q=u[j+1];l=g;if(q<t){g=threspoints}else{g=newpoints}if(v&&l!=g&&r!=null&&j>0&&u[j-f]!=null){var k=(r-u[j-f])/(q-u[j-f+1])*(t-q)+r;l.push(k);l.push(t);for(m=2;m<f;++m){l.push(u[j+m])}g.push(null);g.push(null);for(m=2;m<f;++m){g.push(u[j+m])}g.push(k);g.push(t);for(m=2;m<f;++m){g.push(u[j+m])}}g.push(r);g.push(q)}o.points=newpoints;h.datapoints.points=threspoints;if(h.datapoints.points.length>0){n.getData().push(h)}}d.hooks.processDatapoints.push(e)}b.plot.plugins.push({init:c,options:a,name:"threshold",version:"1.0"})})(jQuery);

/*
 * Flot Highlighting
 */
 
function HighLighting(k,l,n,f,h){var p=n;var q=k.getOptions();var c=k.getCanvas();var j=$(c).parent();var g=k.getData();if(f&&q.grid.hoverable){l.unbind("mousemove").mousemove(b)}if(f&&q.grid.clickable){l.unbind("click").click(m)}function b(r){a("plothover",r)}function m(r){a("plotclick",r)}function a(t,z){var s;var B;var w=k.offset();var v=parseInt(z.pageX-w.left);var u=parseInt(z.pageY-w.top);s=p(k,v,u);if(s){B=i(s.i,s.j)}if(q.grid.autoHighlight){for(var x=0;x<h.length;++x){var y=h[x];if(y.auto&&!(B&&y.series==B.series&&y.point==B.datapoint)){o(y.series,y.point)}}}if(B){e(B.series,B.datapoint,t)}var A={pageX:z.pageX,pageY:z.pageY};j.trigger(t,[A,B])}function i(t,s){var u;u={datapoint:g[t].data[s],dataIndex:s,series:g[t],seriesIndex:t};return u}function e(u,r,v){if(typeof u=="number"){u=series[u]}if(typeof r=="number"){r=u.data[r]}var t=d(u,r);if(t==-1){h.push({series:u,point:r,auto:v});k.triggerRedrawOverlay()}else{if(!v){h[t].auto=false}}}function o(u,r){if(typeof u=="number"){u=series[u]}if(typeof r=="number"){r=u.data[r]}var t=d(u,r);if(t!=-1){h.splice(t,1);k.triggerRedrawOverlay()}}function d(u,v){for(var r=0;r<h.length;++r){var t=h[r];if(t.series==u&&t.point[0]==v[0]&&t.point[1]==v[1]){return r}}return -1}};

/*
 * Flot plugin for bandwidth data sets
 *
 *  series: {
 *    bandwidth: { active: true, lineWidth: 8 }
 * var d1 = [ [Date.UTC(2010,0, 1),160,100],...
 */

(function(d){var k={series:{bandwidth:{active:false,show:false,fill:true,lineWidth:2,highlight:{opacity:0.5},drawBandwidth:b}}};function b(m,q,l,p,o,n){m.beginPath();m.strokeStyle=n;m.lineWidth=q.lineWidth;m.lineCap="round";m.moveTo(l,p);m.lineTo(l,o);m.stroke()}var e=null,a=null,g=null,h=null,c=null,f=[];function j(o){o.hooks.processOptions.push(r);function r(t,s){if(s.series.bandwidth.active){t.hooks.draw.push(l);t.hooks.bindEvents.push(q);t.hooks.drawOverlay.push(n)}}function l(w,s){var v;a=w.getCanvas();g=d(a).parent();h=w.getAxes();c=w.getPlotOffset();e=w.getData();for(var u=0;u<e.length;u++){v=e[u];if(v.bandwidth.show){for(var t=0;t<v.data.length;t++){m(s,v.data[t],v.bandwidth,v.color,false)}}}}function m(t,A,y,u,z){var s,w,v;s=c.left+h.xaxis.p2c(A[0]);w=c.top+h.yaxis.p2c(A[1]);v=c.top+h.yaxis.p2c(A[2]);y.drawBandwidth(t,y,s,w,v,u,z)}function q(v,t){var u=v.getOptions();var s=new HighLighting(v,t,p,u.series.bandwidth.active,f)}function p(w,D,C){var u,s;e=w.getData();h=w.getAxes();for(var v=0;v<e.length;v++){u=e[v];if(u.bandwidth.show){for(var t=0;t<u.data.length;t++){var B,A,z,y;y=u.data[t];B=h.xaxis.p2c(y[0])-u.bandwidth.lineWidth/2;A=h.yaxis.p2c(y[1]);z=h.yaxis.p2c(y[2]);if(D>=B&&D<=(B+u.bandwidth.lineWidth)){if(A<z){if(C>A&&C<z){s={i:v,j:t}}}else{if(C>z&&C<A){s={i:v,j:t}}}}}}}return s}function n(t,u){u.save();u.clearRect(0,0,g.width(),g.height());for(i=0;i<f.length;++i){s(f[i])}u.restore();function s(v){var w="rgba(255, 255, 255, "+v.series.bandwidth.highlight.opacity+")";m(u,v.point,v.series.bandwidth,w,true)}}}d.plot.plugins.push({init:j,options:k,name:"bandwidth",version:"0.4"})})(jQuery);

/*
 * Flot plugin direction is used to show a visual arraw. Can be show wind data(wind speed and wind direction).
 * The data points you give in your data series should be three dimentions, like:[x_value, y_value, the_direction_value].
 * default options:
 * direction: {show: true,disablePoints: false,lineWidth: 1,color: "rgb(100, 60, 60)",fillColor: "rgb(100, 60, 60)",arrawLength: 8,
 * angleType: "degree", //degree or radianopenAngle: 30}
 *
 *   	data: [1, 13, 50], [1, 20, 40], [1, 33, 50], [1, 13, 120], [1, 8, 270], [1, 26, 230],
 *	{
 *	     series: {
 *			 points: {show: true,radius: 3,fill: false,	symbol: 'circle'},
 *	     lines: {show: true,lineWidth: 2}
 *			},
 *	     direction: {show: true,disablePoints: true}
 *	 }
 */	 

(function(b){var a={direction:{show:false,disablePoints:true,lineWidth:1,color:"rgb(0, 100, 0)",fillColor:"rgb(0, 100, 0)",arrawLength:6,angleType:"degree",openAngle:35}};function c(f){function g(k,h,i){var j=k.getOptions().direction;if(!j.show||!j.disablePoints||i.data.length<1||i.data[0].length<3){return}i.points.symbol=function(n,m,p,l,o){}}f.hooks.drawSeries.push(g);function d(i,h){b.each(i.getData(),function(k,j){e(i,h,j)})}function e(s,r,o){var A=s.getOptions().direction;if(!A.show||o.data.length<1||o.data[0].length<3){return}var u,n,m;var t=o.data;var k=A.arrawLength;for(u=0;u<t.length;u++){if(t.length<3||t[u][1]===null){continue}n=t[u][0];m=t[u][1];var l=s.pointOffset({x:n,y:m});n=l.left;m=l.top;if(Math.abs(t[u][1])<0.0001||!t[u][1]){r.beginPath();r.strokeStyle=o.color;r.lineWidth=o.lineWidth||1;r.arc(n,m,k,0,o.shadow?Math.PI:Math.PI*2,false);r.closePath();continue}if(A.angleType=="degree"){direct=((90-t[u][2])%360)*Math.PI/180}else{direct=(Math.PI/2-t[u][2])%Math.PI}var D=0.5;var C=n+k*Math.cos(direct);var B=m-k*Math.sin(direct);var j=n-k*Math.cos(direct)*D;var h=m+k*Math.sin(direct)*D;var z=(A.openAngle*Math.PI/180)%90;var w=j-k/Math.cos(z)*Math.cos(direct+z);var v=h+k/Math.cos(z)*Math.sin(direct+z);var q=j-k/Math.cos(z)*Math.cos(direct-z);var p=h+k/Math.cos(z)*Math.sin(direct-z);r.beginPath();r.strokeStyle=A.color||o.color;r.lineWidth=1;r.moveTo(j,h);r.lineTo(w,v);r.lineTo(C,B);r.lineTo(q,p);r.lineTo(j,h);r.closePath();r.fillStyle=A.fillColor||o.fillColor;r.fill();r.stroke()}}f.hooks.draw.push(d)}b.plot.plugins.push({init:c,options:a,name:"direction",version:"1.0"})})(jQuery);
