1 line
324 KiB
Plaintext
1 line
324 KiB
Plaintext
{"version":3,"sources":["jquery.flot.min.js","jquery.flot.resize.min.js","jquery.flot.time.min.js","jquery.flot.categories.min.js","jquery.flot.spline.min.js","jquery.flot.selection.min.js","jquery.flot.hiddengraphs.js","jquery.flot.fillbetween.js","jquery.flot.navigate.min.js","jquery.flot.dashes.js","jquery.flot.grow.js","jquery-deparam.js","days.js","chart.js","data.js"],"names":["$","color","make","r","g","b","a","o","add","c","d","i","length","charAt","normalize","scale","f","toString","join","clamp","min","value","max","parseInt","clone","extract","elem","css","toLowerCase","parent","nodeName","get","parse","str","res","m","exec","parseFloat","name","trim","lookupColors","aqua","azure","beige","black","blue","brown","cyan","darkblue","darkcyan","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkviolet","fuchsia","gold","green","indigo","khaki","lightblue","lightcyan","lightgreen","lightgrey","lightpink","lightyellow","lime","magenta","maroon","navy","olive","orange","pink","purple","violet","red","silver","white","yellow","jQuery","hasOwnProperty","Object","prototype","Canvas","cls","container","element","children","document","createElement","className","direction","position","left","top","appendTo","getContext","window","G_vmlCanvasManager","Error","initElement","this","context","devicePixelRatio","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","pixelRatio","resize","width","height","textContainer","text","_textCache","Plot","placeholder","data_","options_","plugins","series","options","colors","legend","show","noColumns","labelFormatter","labelBoxBorderColor","margin","backgroundColor","backgroundOpacity","sorted","xaxis","mode","font","tickColor","transform","inverseTransform","autoscaleMargin","ticks","tickFormatter","labelWidth","labelHeight","reserveSpace","tickLength","alignTicksWithAxis","tickDecimals","tickSize","minTickSize","yaxis","xaxes","yaxes","points","radius","lineWidth","fill","fillColor","symbol","lines","steps","bars","barWidth","align","horizontal","zero","shadowSize","highlightColor","grid","aboveData","borderColor","labelMargin","axisMargin","borderWidth","minBorderMargin","markings","markingsColor","markingsLineWidth","clickable","hoverable","autoHighlight","mouseActiveRadius","interaction","redrawOverlayInterval","hooks","surface","overlay","eventHolder","ctx","octx","plotOffset","right","bottom","plotWidth","plotHeight","processOptions","processRawData","processDatapoints","processOffset","drawBackground","drawSeries","draw","bindEvents","drawOverlay","shutdown","plot","executeHooks","hook","args","concat","apply","setData","s","extend","data","push","parseData","neededColors","maxIndex","sc","colorPool","colorPoolSize","variation","colori","v","getOrCreateAxis","axisNumber","fillInSeriesOptions","j","k","ps","val","p","format","topSentry","Number","POSITIVE_INFINITY","bottomSentry","NEGATIVE_INFINITY","fakeInfinity","MAX_VALUE","updateAxis","axis","datamin","datamax","each","allAxes","_","used","datapoints","x","number","required","y","autoscale","defaultValue","pointsize","insertSteps","nullify","isNaN","Infinity","xmin","ymin","xmax","ymax","delta","processData","obj","coord","n","grep","canvasToAxisCoords","pos","c2p","undefined","x1","y1","axes","redrawTimeout","clearTimeout","unbind","onMouseMove","onMouseLeave","onClick","allocateAxisBoxFirstPhase","lw","lh","isXAxis","padding","innermost","outermost","first","found","box","setupGrid","showGrid","axisOpts","opts","widen","setRange","allocatedAxes","noTicks","Math","sqrt","dec","floor","log","LN10","maxDec","size","magn","pow","norm","tickGenerator","prev","base","start","NaN","factor","formatted","round","decimal","indexOf","precision","substr","isFunction","otherAxis","niceTicks","extraDec","ts","test","toFixed","setupTickGeneration","oticks","label","t","setTicks","maxWidth","legacyStyles","layer","info","getTextInfo","measureTickLabels","minMargin","margins","ceil","adjustLayoutForThingsStickingOut","identity","it","abs","p2c","setTransformationHelpers","tick","halign","valign","removeText","addText","html","find","remove","fragments","entries","rowStarted","lf","sort","reverse","ascending","entry","table","replace","div","prependTo","insertLegend","clear","save","translate","fillStyle","getColorOrGradient","fillRect","restore","drawGrid","render","triggerRedrawOverlay","extractRange","ranges","from","to","key","tmp","bw","bc","getAxes","xrange","yrange","xequal","yequal","subPixel","beginPath","strokeStyle","moveTo","lineTo","stroke","xoff","yoff","strokeRect","plotLine","xoffset","yoffset","axisx","axisy","prevx","prevy","x2","y2","lineJoin","sw","angle","PI","sin","cos","getFillStyle","areaOpen","ypos","segmentStart","segmentEnd","x1old","x2old","plotLineArea","drawSeriesLines","barLeft","fillStyleCallback","barRight","drawBar","plotBars","drawSeriesBars","plotPoints","offset","shadow","arc","closePath","w","drawSeriesPoints","drawLeft","drawRight","drawTop","drawBottom","filloptions","seriesColor","getPlaceholder","getCanvas","getPlotOffset","getData","getXAxes","getYAxes","getOptions","highlight","unhighlight","pointOffset","point","destroy","removeData","empty","highlights","classes","init","initPlugins","axisOptions","axisCount","fontSize","fontSizeDefault","fontDefaults","style","variant","weight","family","lineHeight","x2axis","y2axis","coloredAreas","coloredAreasColor","parseOptions","filter","hasClass","existing","setupCanvases","mousemove","bind","click","e","triggerClickHoverEvent","eventname","event","seriesFilter","canvasX","pageX","canvasY","pageY","item","mouseX","mouseY","maxDistance","smallestDistance","mx","my","maxx","maxy","dx","dy","dist","datapoint","slice","dataIndex","seriesIndex","findNearbyItem","h","auto","trigger","setTimeout","hi","drawBarHighlight","drawPointHighlight","indexOfHighlight","splice","pointRadius","spec","defaultColor","gradient","createLinearGradient","l","co","brightness","opacity","addColorStop","fn","detach","parentNode","removeChild","clearRect","cache","layerKey","call","getTextLayer","layerCache","styleKey","hide","styleCache","positions","active","rendered","append","font-size","insertAfter","addClass","textStyle","max-width","outerWidth","outerHeight","text-align","version","u","is","requestAnimationFrame","special","setup","teardown","cancelAnimationFrame","arguments","handler","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","Date","getTime","webkitCancelRequestAnimationFrame","mozCancelRequestAnimationFrame","oCancelRequestAnimationFrame","msCancelRequestAnimationFrame","onResize","floorInBase","formatDate","fmt","monthNames","dayNames","strftime","hours12","leftPad","pad","escape","hours","getHours","isAM","getDay","getMonth","getDate","getMinutes","getSeconds","getFullYear","makeUtcWrapper","addProxyMethod","sourceObj","sourceMethod","targetObj","targetMethod","utc","date","props","dateGenerator","timezone","timezoneJS","setTimezone","setTime","timeUnitSize","second","minute","hour","day","month","quarter","year","baseSpec","specMonths","specQuarters","axisName","minSize","unit","step","setSeconds","setMinutes","setHours","setMonth","setFullYear","setMilliseconds","setDate","carry","end","timeformat","useQuarters","span","suffix","twelveHourClock","hourCode","xCategories","yCategories","categoriesTickGenerator","categories","setupCategoriesForAxis","isArray","formatColumn","index","getNextIndex","transformPointsOnAxis","getControlPoints","x0","y0","tension","d01","fa","fb","line","queue","type","cpoints","drawSpline","splines","idx","cp","len","pts","plength","console","drawLine","selection","savedhandlers","mouseUpHandler","updateSelection","getSelection","onMouseDown","which","body","focus","onselectstart","ondrag","setSelectionPos","selectionIsSane","triggerSelectedEvent","one","c1","c2","p1","p2","clearSelection","preventEvent","setSelection","range","mousedown","shape","drawnOnce","plotLabelClicked","mouseOut","plotdata","findPlotSeries","switchedOff","oldShow","oldColor","setHidden","switchedOn","setSetupRedraw","hidden","setHideAction","mouseenter","mouseleave","next","hideable","plotLabelHandlers","off","fillBetween","other","allseries","id","findBottomSeries","px","py","intery","qx","qy","otherps","otherpoints","newpoints","withlines","withbottom","withsteps","fromgap","dragTarget","dragProxy","proxy","cursorOffsetX","cursorOffsetY","offsetX","offsetY","dragging","target","not","distance","drop","allowed","dispatch","result","unselectable","MozUserSelect","drag","attachEvent","detachEvent","dragstart","dragend","fix","wheelDelta","detail","HORIZONTAL_AXIS","wheelDeltaY","wheelDeltaX","unshift","handle","fixHooks","mouseHooks","mousewheel","addEventListener","onmousewheel","removeEventListener","unmousewheel","onZoomClick","zoomOut","center","zoom","onMouseWheel","preventDefault","prevCursor","prevPageX","prevPageY","panTimeout","onDragStart","pan","cursor","onDrag","frameRate","onDragEnd","amount","xf","yf","minmax","zr","zoomRange","pr","panRange","interactive","dashes","plotDashes","dashOnLength","dashOffLength","dashRemainder","dashOn","dashLength","dashOffset","ax1","ay1","ax2","ay2","lineSegmentOffset","deltaX","deltaY","remainder","segmentLength","ysign","growfunc","valueIndex","done","plt","opt","growingLoop","growing","timeDiff","startTime","actualStep","grow","growings","stepMode","growLinear","growMaximum","growDelay","growNone","stepDelay","dataOrg","stepDirection","temp","constructor","pluginName","plug","isPluginRegistered","canvascontext","growingIndex","deparam","require","exports","module","jquery","define","amd","global","eval","params","coerce","coerce_types","true","false","null","split","forEach","param","decodeURIComponent","cur","keys","keys_last","shift","months","en","de","ru","es","fr","pl","pt","nl","days","CustomChart","config","seriesData","markLines","chart","settings","that","markingsOffset","backgrounds","_yFormatter","afterComma","useComma","_tickXFormatter","object","now","timeFormatDate","timeFormatTime","systemLang","timeFormat","_tickYFormatter","showLabels","animation","barLabels","chartType","el","barFontSize","barFontColor","num","fs","fc","vl","smoothing","$title","titleId","title","titlePos","decodeURI","titleColor","titleSize","parts","bg","xMin","xMax","spaceLength","isLine","option","thickness","order","barColor","shadowsize","avg","noBorder","hoverDetail","border_width","border_color","legColumns","legBg","legBgOpacity","ii","yaxe","xaxe","commonYAxis","yaxi","y_labels_color","yticks","grid_color","xaxi","x_labels_color","xticks","curvedLines","monotonicFit","mm","chartId","$div","tooltipId","yOffset","$tooltip","fadeIn","display","border","background-color","cbOnZoom","zoomTimeout","update","newSeriesData","newMarkingsData","newTicks","num_","getRange","minMaxArr","resetZoom","time","positionX","disconnectTimeout","sessionId","path","location","href","sysLang","JSON","stringify","_ids","ids","_colors","names","_names","units","_units","aggregate","strokeWidth","aggregateType","aggregateSpan","relativeEnd","art","instance","noedit","timeType","timeArt","liveInterval","navOptions","socketURL","socketSESSION","divId","lastX","mouseDown","lastWidth","isApp","subscribes","subscribed","self","app","socketUrl","protocol","hostname","socketSession","socket","io","connect","query","reconnection limit","max reconnection attempts","upgrade","socketForceWebSockets","rememberUpgrade","transports","addTime","plusOrMinus","isOffsetInMinutes","getStartStop","_now","monthRange","minusMonth","zoomed","zMax","zMin","ignoreNull","count","endTime","start_time","map","end_time","minutes","getElementById","clientWidth","readOneChart","callback","emit","err","stepIgnore","_sessionId","error","warn","_series","readValue","state","prepareChart","onZoom","readData","on","touches","originalEvent","live","startLiveUpdate","_readOneLine","cb","common","readTicks","readMarkings","oid","oidl","_readData","subscribeAll","_ticks","open","setInterval","_index","updateLive","ready","rd","i1","cnt","window_bg"],"mappings":"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","file":"flot.js","sourcesContent":["/* Javascript plotting library for jQuery, version 0.8.3.\n\nCopyright (c) 2007-2014 IOLA and Ole Laursen.\nLicensed under the MIT license.\n\n*/\n(function($){$.color={};$.color.make=function(r,g,b,a){var o={};o.r=r||0;o.g=g||0;o.b=b||0;o.a=a!=null?a:1;o.add=function(c,d){for(var i=0;i<c.length;++i)o[c.charAt(i)]+=d;return o.normalize()};o.scale=function(c,f){for(var i=0;i<c.length;++i)o[c.charAt(i)]*=f;return o.normalize()};o.toString=function(){if(o.a>=1){return\"rgb(\"+[o.r,o.g,o.b].join(\",\")+\")\"}else{return\"rgba(\"+[o.r,o.g,o.b,o.a].join(\",\")+\")\"}};o.normalize=function(){function clamp(min,value,max){return value<min?min:value>max?max:value}o.r=clamp(0,parseInt(o.r),255);o.g=clamp(0,parseInt(o.g),255);o.b=clamp(0,parseInt(o.b),255);o.a=clamp(0,o.a,1);return o};o.clone=function(){return $.color.make(o.r,o.b,o.g,o.a)};return o.normalize()};$.color.extract=function(elem,css){var c;do{c=elem.css(css).toLowerCase();if(c!=\"\"&&c!=\"transparent\")break;elem=elem.parent()}while(elem.length&&!$.nodeName(elem.get(0),\"body\"));if(c==\"rgba(0, 0, 0, 0)\")c=\"transparent\";return $.color.parse(c)};$.color.parse=function(str){var res,m=$.color.make;if(res=/rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/.exec(str))return m(parseInt(res[1],10),parseInt(res[2],10),parseInt(res[3],10));if(res=/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(str))return m(parseInt(res[1],10),parseInt(res[2],10),parseInt(res[3],10),parseFloat(res[4]));if(res=/rgb\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)/.exec(str))return m(parseFloat(res[1])*2.55,parseFloat(res[2])*2.55,parseFloat(res[3])*2.55);if(res=/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(str))return m(parseFloat(res[1])*2.55,parseFloat(res[2])*2.55,parseFloat(res[3])*2.55,parseFloat(res[4]));if(res=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(str))return m(parseInt(res[1],16),parseInt(res[2],16),parseInt(res[3],16));if(res=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(str))return m(parseInt(res[1]+res[1],16),parseInt(res[2]+res[2],16),parseInt(res[3]+res[3],16));var name=$.trim(str).toLowerCase();if(name==\"transparent\")return m(255,255,255,0);else{res=lookupColors[name]||[0,0,0];return m(res[0],res[1],res[2])}};var lookupColors={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($){var hasOwnProperty=Object.prototype.hasOwnProperty;if(!$.fn.detach){$.fn.detach=function(){return this.each(function(){if(this.parentNode){this.parentNode.removeChild(this)}})}}function Canvas(cls,container){var element=container.children(\".\"+cls)[0];if(element==null){element=document.createElement(\"canvas\");element.className=cls;$(element).css({direction:\"ltr\",position:\"absolute\",left:0,top:0}).appendTo(container);if(!element.getContext){if(window.G_vmlCanvasManager){element=window.G_vmlCanvasManager.initElement(element)}else{throw new Error(\"Canvas is not available. If you're using IE with a fall-back such as Excanvas, then there's either a mistake in your conditional include, or the page has no DOCTYPE and is rendering in Quirks Mode.\")}}}this.element=element;var context=this.context=element.getContext(\"2d\");var devicePixelRatio=window.devicePixelRatio||1,backingStoreRatio=context.webkitBackingStorePixelRatio||context.mozBackingStorePixelRatio||context.msBackingStorePixelRatio||context.oBackingStorePixelRatio||context.backingStorePixelRatio||1;this.pixelRatio=devicePixelRatio/backingStoreRatio;this.resize(container.width(),container.height());this.textContainer=null;this.text={};this._textCache={}}Canvas.prototype.resize=function(width,height){if(width<=0||height<=0){throw new Error(\"Invalid dimensions for plot, width = \"+width+\", height = \"+height)}var element=this.element,context=this.context,pixelRatio=this.pixelRatio;if(this.width!=width){element.width=width*pixelRatio;element.style.width=width+\"px\";this.width=width}if(this.height!=height){element.height=height*pixelRatio;element.style.height=height+\"px\";this.height=height}context.restore();context.save();context.scale(pixelRatio,pixelRatio)};Canvas.prototype.clear=function(){this.context.clearRect(0,0,this.width,this.height)};Canvas.prototype.render=function(){var cache=this._textCache;for(var layerKey in cache){if(hasOwnProperty.call(cache,layerKey)){var layer=this.getTextLayer(layerKey),layerCache=cache[layerKey];layer.hide();for(var styleKey in layerCache){if(hasOwnProperty.call(layerCache,styleKey)){var styleCache=layerCache[styleKey];for(var key in styleCache){if(hasOwnProperty.call(styleCache,key)){var positions=styleCache[key].positions;for(var i=0,position;position=positions[i];i++){if(position.active){if(!position.rendered){layer.append(position.element);position.rendered=true}}else{positions.splice(i--,1);if(position.rendered){position.element.detach()}}}if(positions.length==0){delete styleCache[key]}}}}}layer.show()}}};Canvas.prototype.getTextLayer=function(classes){var layer=this.text[classes];if(layer==null){if(this.textContainer==null){this.textContainer=$(\"<div class='flot-text'></div>\").css({position:\"absolute\",top:0,left:0,bottom:0,right:0,\"font-size\":\"smaller\",color:\"#545454\"}).insertAfter(this.element)}layer=this.text[classes]=$(\"<div></div>\").addClass(classes).css({position:\"absolute\",top:0,left:0,bottom:0,right:0}).appendTo(this.textContainer)}return layer};Canvas.prototype.getTextInfo=function(layer,text,font,angle,width){var textStyle,layerCache,styleCache,info;text=\"\"+text;if(typeof font===\"object\"){textStyle=font.style+\" \"+font.variant+\" \"+font.weight+\" \"+font.size+\"px/\"+font.lineHeight+\"px \"+font.family}else{textStyle=font}layerCache=this._textCache[layer];if(layerCache==null){layerCache=this._textCache[layer]={}}styleCache=layerCache[textStyle];if(styleCache==null){styleCache=layerCache[textStyle]={}}info=styleCache[text];if(info==null){var element=$(\"<div></div>\").html(text).css({position:\"absolute\",\"max-width\":width,top:-9999}).appendTo(this.getTextLayer(layer));if(typeof font===\"object\"){element.css({font:textStyle,color:font.color})}else if(typeof font===\"string\"){element.addClass(font)}info=styleCache[text]={width:element.outerWidth(true),height:element.outerHeight(true),element:element,positions:[]};element.detach()}return info};Canvas.prototype.addText=function(layer,x,y,text,font,angle,width,halign,valign){var info=this.getTextInfo(layer,text,font,angle,width),positions=info.positions;if(halign==\"center\"){x-=info.width/2}else if(halign==\"right\"){x-=info.width}if(valign==\"middle\"){y-=info.height/2}else if(valign==\"bottom\"){y-=info.height}for(var i=0,position;position=positions[i];i++){if(position.x==x&&position.y==y){position.active=true;return}}position={active:true,rendered:false,element:positions.length?info.element.clone():info.element,x:x,y:y};positions.push(position);position.element.css({top:Math.round(y),left:Math.round(x),\"text-align\":halign})};Canvas.prototype.removeText=function(layer,x,y,text,font,angle){if(text==null){var layerCache=this._textCache[layer];if(layerCache!=null){for(var styleKey in layerCache){if(hasOwnProperty.call(layerCache,styleKey)){var styleCache=layerCache[styleKey];for(var key in styleCache){if(hasOwnProperty.call(styleCache,key)){var positions=styleCache[key].positions;for(var i=0,position;position=positions[i];i++){position.active=false}}}}}}}else{var positions=this.getTextInfo(layer,text,font,angle).positions;for(var i=0,position;position=positions[i];i++){if(position.x==x&&position.y==y){position.active=false}}}};function Plot(placeholder,data_,options_,plugins){var series=[],options={colors:[\"#edc240\",\"#afd8f8\",\"#cb4b4b\",\"#4da74d\",\"#9440ed\"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:\"#ccc\",container:null,position:\"ne\",margin:5,backgroundColor:null,backgroundOpacity:.85,sorted:null},xaxis:{show:null,position:\"bottom\",mode:null,font:null,color:null,tickColor:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,reserveSpace:null,tickLength:null,alignTicksWithAxis:null,tickDecimals:null,tickSize:null,minTickSize:null},yaxis:{autoscaleMargin:.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,zero:true},shadowSize:3,highlightColor:null},grid:{show:true,aboveData:false,color:\"#545454\",backgroundColor:null,borderColor:null,tickColor:null,margin:0,labelMargin:5,axisMargin:8,borderWidth:2,minBorderMargin:null,markings:null,markingsColor:\"#f4f4f4\",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},interaction:{redrawOverlayInterval:1e3/60},hooks:{}},surface=null,overlay=null,eventHolder=null,ctx=null,octx=null,xaxes=[],yaxes=[],plotOffset={left:0,right:0,top:0,bottom:0},plotWidth=0,plotHeight=0,hooks={processOptions:[],processRawData:[],processDatapoints:[],processOffset:[],drawBackground:[],drawSeries:[],draw:[],bindEvents:[],drawOverlay:[],shutdown:[]},plot=this;plot.setData=setData;plot.setupGrid=setupGrid;plot.draw=draw;plot.getPlaceholder=function(){return placeholder};plot.getCanvas=function(){return surface.element};plot.getPlotOffset=function(){return plotOffset};plot.width=function(){return plotWidth};plot.height=function(){return plotHeight};plot.offset=function(){var o=eventHolder.offset();o.left+=plotOffset.left;o.top+=plotOffset.top;return o};plot.getData=function(){return series};plot.getAxes=function(){var res={},i;$.each(xaxes.concat(yaxes),function(_,axis){if(axis)res[axis.direction+(axis.n!=1?axis.n:\"\")+\"axis\"]=axis});return res};plot.getXAxes=function(){return xaxes};plot.getYAxes=function(){return yaxes};plot.c2p=canvasToAxisCoords;plot.p2c=axisToCanvasCoords;plot.getOptions=function(){return options};plot.highlight=highlight;plot.unhighlight=unhighlight;plot.triggerRedrawOverlay=triggerRedrawOverlay;plot.pointOffset=function(point){return{left:parseInt(xaxes[axisNumber(point,\"x\")-1].p2c(+point.x)+plotOffset.left,10),top:parseInt(yaxes[axisNumber(point,\"y\")-1].p2c(+point.y)+plotOffset.top,10)}};plot.shutdown=shutdown;plot.destroy=function(){shutdown();placeholder.removeData(\"plot\").empty();series=[];options=null;surface=null;overlay=null;eventHolder=null;ctx=null;octx=null;xaxes=[];yaxes=[];hooks=null;highlights=[];plot=null};plot.resize=function(){var width=placeholder.width(),height=placeholder.height();surface.resize(width,height);overlay.resize(width,height)};plot.hooks=hooks;initPlugins(plot);parseOptions(options_);setupCanvases();setData(data_);setupGrid();draw();bindEvents();function executeHooks(hook,args){args=[plot].concat(args);for(var i=0;i<hook.length;++i)hook[i].apply(this,args)}function initPlugins(){var classes={Canvas:Canvas};for(var i=0;i<plugins.length;++i){var p=plugins[i];p.init(plot,classes);if(p.options)$.extend(true,options,p.options)}}function parseOptions(opts){$.extend(true,options,opts);if(opts&&opts.colors){options.colors=opts.colors}if(options.xaxis.color==null)options.xaxis.color=$.color.parse(options.grid.color).scale(\"a\",.22).toString();if(options.yaxis.color==null)options.yaxis.color=$.color.parse(options.grid.color).scale(\"a\",.22).toString();if(options.xaxis.tickColor==null)options.xaxis.tickColor=options.grid.tickColor||options.xaxis.color;if(options.yaxis.tickColor==null)options.yaxis.tickColor=options.grid.tickColor||options.yaxis.color;if(options.grid.borderColor==null)options.grid.borderColor=options.grid.color;if(options.grid.tickColor==null)options.grid.tickColor=$.color.parse(options.grid.color).scale(\"a\",.22).toString();var i,axisOptions,axisCount,fontSize=placeholder.css(\"font-size\"),fontSizeDefault=fontSize?+fontSize.replace(\"px\",\"\"):13,fontDefaults={style:placeholder.css(\"font-style\"),size:Math.round(.8*fontSizeDefault),variant:placeholder.css(\"font-variant\"),weight:placeholder.css(\"font-weight\"),family:placeholder.css(\"font-family\")};axisCount=options.xaxes.length||1;for(i=0;i<axisCount;++i){axisOptions=options.xaxes[i];if(axisOptions&&!axisOptions.tickColor){axisOptions.tickColor=axisOptions.color}axisOptions=$.extend(true,{},options.xaxis,axisOptions);options.xaxes[i]=axisOptions;if(axisOptions.font){axisOptions.font=$.extend({},fontDefaults,axisOptions.font);if(!axisOptions.font.color){axisOptions.font.color=axisOptions.color}if(!axisOptions.font.lineHeight){axisOptions.font.lineHeight=Math.round(axisOptions.font.size*1.15)}}}axisCount=options.yaxes.length||1;for(i=0;i<axisCount;++i){axisOptions=options.yaxes[i];if(axisOptions&&!axisOptions.tickColor){axisOptions.tickColor=axisOptions.color}axisOptions=$.extend(true,{},options.yaxis,axisOptions);options.yaxes[i]=axisOptions;if(axisOptions.font){axisOptions.font=$.extend({},fontDefaults,axisOptions.font);if(!axisOptions.font.color){axisOptions.font.color=axisOptions.color}if(!axisOptions.font.lineHeight){axisOptions.font.lineHeight=Math.round(axisOptions.font.size*1.15)}}}if(options.xaxis.noTicks&&options.xaxis.ticks==null)options.xaxis.ticks=options.xaxis.noTicks;if(options.yaxis.noTicks&&options.yaxis.ticks==null)options.yaxis.ticks=options.yaxis.noTicks;if(options.x2axis){options.xaxes[1]=$.extend(true,{},options.xaxis,options.x2axis);options.xaxes[1].position=\"top\";if(options.x2axis.min==null){options.xaxes[1].min=null}if(options.x2axis.max==null){options.xaxes[1].max=null}}if(options.y2axis){options.yaxes[1]=$.extend(true,{},options.yaxis,options.y2axis);options.yaxes[1].position=\"right\";if(options.y2axis.min==null){options.yaxes[1].min=null}if(options.y2axis.max==null){options.yaxes[1].max=null}}if(options.grid.coloredAreas)options.grid.markings=options.grid.coloredAreas;if(options.grid.coloredAreasColor)options.grid.markingsColor=options.grid.coloredAreasColor;if(options.lines)$.extend(true,options.series.lines,options.lines);if(options.points)$.extend(true,options.series.points,options.points);if(options.bars)$.extend(true,options.series.bars,options.bars);if(options.shadowSize!=null)options.series.shadowSize=options.shadowSize;if(options.highlightColor!=null)options.series.highlightColor=options.highlightColor;for(i=0;i<options.xaxes.length;++i)getOrCreateAxis(xaxes,i+1).options=options.xaxes[i];for(i=0;i<options.yaxes.length;++i)getOrCreateAxis(yaxes,i+1).options=options.yaxes[i];for(var n in hooks)if(options.hooks[n]&&options.hooks[n].length)hooks[n]=hooks[n].concat(options.hooks[n]);executeHooks(hooks.processOptions,[options])}function setData(d){series=parseData(d);fillInSeriesOptions();processData()}function parseData(d){var res=[];for(var i=0;i<d.length;++i){var s=$.extend(true,{},options.series);if(d[i].data!=null){s.data=d[i].data;delete d[i].data;$.extend(true,s,d[i]);d[i].data=s.data}else s.data=d[i];res.push(s)}return res}function axisNumber(obj,coord){var a=obj[coord+\"axis\"];if(typeof a==\"object\")a=a.n;if(typeof a!=\"number\")a=1;return a}function allAxes(){return $.grep(xaxes.concat(yaxes),function(a){return a})}function canvasToAxisCoords(pos){var res={},i,axis;for(i=0;i<xaxes.length;++i){axis=xaxes[i];if(axis&&axis.used)res[\"x\"+axis.n]=axis.c2p(pos.left)}for(i=0;i<yaxes.length;++i){axis=yaxes[i];if(axis&&axis.used)res[\"y\"+axis.n]=axis.c2p(pos.top)}if(res.x1!==undefined)res.x=res.x1;if(res.y1!==undefined)res.y=res.y1;return res}function axisToCanvasCoords(pos){var res={},i,axis,key;for(i=0;i<xaxes.length;++i){axis=xaxes[i];if(axis&&axis.used){key=\"x\"+axis.n;if(pos[key]==null&&axis.n==1)key=\"x\";if(pos[key]!=null){res.left=axis.p2c(pos[key]);break}}}for(i=0;i<yaxes.length;++i){axis=yaxes[i];if(axis&&axis.used){key=\"y\"+axis.n;if(pos[key]==null&&axis.n==1)key=\"y\";if(pos[key]!=null){res.top=axis.p2c(pos[key]);break}}}return res}function getOrCreateAxis(axes,number){if(!axes[number-1])axes[number-1]={n:number,direction:axes==xaxes?\"x\":\"y\",options:$.extend(true,{},axes==xaxes?options.xaxis:options.yaxis)};return axes[number-1]}function fillInSeriesOptions(){var neededColors=series.length,maxIndex=-1,i;for(i=0;i<series.length;++i){var sc=series[i].color;if(sc!=null){neededColors--;if(typeof sc==\"number\"&&sc>maxIndex){maxIndex=sc}}}if(neededColors<=maxIndex){neededColors=maxIndex+1}var c,colors=[],colorPool=options.colors,colorPoolSize=colorPool.length,variation=0;for(i=0;i<neededColors;i++){c=$.color.parse(colorPool[i%colorPoolSize]||\"#666\");if(i%colorPoolSize==0&&i){if(variation>=0){if(variation<.5){variation=-variation-.2}else variation=0}else variation=-variation}colors[i]=c.scale(\"rgb\",1+variation)}var colori=0,s;for(i=0;i<series.length;++i){s=series[i];if(s.color==null){s.color=colors[colori].toString();++colori}else if(typeof s.color==\"number\")s.color=colors[s.color].toString();if(s.lines.show==null){var v,show=true;for(v in s)if(s[v]&&s[v].show){show=false;break}if(show)s.lines.show=true}if(s.lines.zero==null){s.lines.zero=!!s.lines.fill}s.xaxis=getOrCreateAxis(xaxes,axisNumber(s,\"x\"));s.yaxis=getOrCreateAxis(yaxes,axisNumber(s,\"y\"))}}function processData(){var topSentry=Number.POSITIVE_INFINITY,bottomSentry=Number.NEGATIVE_INFINITY,fakeInfinity=Number.MAX_VALUE,i,j,k,m,length,s,points,ps,x,y,axis,val,f,p,data,format;function updateAxis(axis,min,max){if(min<axis.datamin&&min!=-fakeInfinity)axis.datamin=min;if(max>axis.datamax&&max!=fakeInfinity)axis.datamax=max}$.each(allAxes(),function(_,axis){axis.datamin=topSentry;axis.datamax=bottomSentry;axis.used=false});for(i=0;i<series.length;++i){s=series[i];s.datapoints={points:[]};executeHooks(hooks.processRawData,[s,s.data,s.datapoints])}for(i=0;i<series.length;++i){s=series[i];data=s.data;format=s.datapoints.format;if(!format){format=[];format.push({x:true,number:true,required:true});format.push({y:true,number:true,required:true});if(s.bars.show||s.lines.show&&s.lines.fill){var autoscale=!!(s.bars.show&&s.bars.zero||s.lines.show&&s.lines.zero);format.push({y:true,number:true,required:false,defaultValue:0,autoscale:autoscale});if(s.bars.horizontal){delete format[format.length-1].y;format[format.length-1].x=true}}s.datapoints.format=format}if(s.datapoints.pointsize!=null)continue;s.datapoints.pointsize=format.length;ps=s.datapoints.pointsize;points=s.datapoints.points;var insertSteps=s.lines.show&&s.lines.steps;s.xaxis.used=s.yaxis.used=true;for(j=k=0;j<data.length;++j,k+=ps){p=data[j];var nullify=p==null;if(!nullify){for(m=0;m<ps;++m){val=p[m];f=format[m];if(f){if(f.number&&val!=null){val=+val;if(isNaN(val))val=null;else if(val==Infinity)val=fakeInfinity;else if(val==-Infinity)val=-fakeInfinity}if(val==null){if(f.required)nullify=true;if(f.defaultValue!=null)val=f.defaultValue}if(f.autoscale!==false){if(f.x){updateAxis(s.xaxis, val, val);}if(f.y){updateAxis(s.yaxis, val, val);}}}points[k+m]=val}}if(nullify){for(m=0;m<ps;++m){val=points[k+m];if(val!=null){f=format[m];if(f.autoscale!==false){if(f.x){updateAxis(s.xaxis,val,val)}if(f.y){updateAxis(s.yaxis,val,val)}}}points[k+m]=null}}else{if(insertSteps&&k>0&&points[k-ps]!=null&&points[k-ps]!=points[k]&&points[k-ps+1]!=points[k+1]){for(m=0;m<ps;++m)points[k+ps+m]=points[k+m];points[k+1]=points[k-ps+1];k+=ps}}}}for(i=0;i<series.length;++i){s=series[i];executeHooks(hooks.processDatapoints,[s,s.datapoints])}for(i=0;i<series.length;++i){s=series[i];points=s.datapoints.points;ps=s.datapoints.pointsize;format=s.datapoints.format;var xmin=topSentry,ymin=topSentry,xmax=bottomSentry,ymax=bottomSentry;for(j=0;j<points.length;j+=ps){if(points[j]==null)continue;for(m=0;m<ps;++m){val=points[j+m];f=format[m];if(!f||f.autoscale===false||val==fakeInfinity||val==-fakeInfinity)continue;if(f.x){if(val<xmin)xmin=val;if(val>xmax)xmax=val}if(f.y){if(val<ymin)ymin=val;if(val>ymax)ymax=val}}}if(s.bars.show){var delta;switch(s.bars.align){case\"left\":delta=0;break;case\"right\":delta=-s.bars.barWidth;break;default:delta=-s.bars.barWidth/2}if(s.bars.horizontal){ymin+=delta;ymax+=delta+s.bars.barWidth}else{xmin+=delta;xmax+=delta+s.bars.barWidth}}updateAxis(s.xaxis,xmin,xmax);updateAxis(s.yaxis,ymin,ymax)}$.each(allAxes(),function(_,axis){if(axis.datamin==topSentry)axis.datamin=null;if(axis.datamax==bottomSentry)axis.datamax=null})}function setupCanvases(){placeholder.css(\"padding\",0).children().filter(function(){return!$(this).hasClass(\"flot-overlay\")&&!$(this).hasClass(\"flot-base\")}).remove();if(placeholder.css(\"position\")==\"static\")placeholder.css(\"position\",\"relative\");surface=new Canvas(\"flot-base\",placeholder);overlay=new Canvas(\"flot-overlay\",placeholder);ctx=surface.context;octx=overlay.context;eventHolder=$(overlay.element).unbind();var existing=placeholder.data(\"plot\");if(existing){existing.shutdown();overlay.clear()}placeholder.data(\"plot\",plot)}function bindEvents(){if(options.grid.hoverable){eventHolder.mousemove(onMouseMove);eventHolder.bind(\"mouseleave\",onMouseLeave)}if(options.grid.clickable)eventHolder.click(onClick);executeHooks(hooks.bindEvents,[eventHolder])}function shutdown(){if(redrawTimeout)clearTimeout(redrawTimeout);eventHolder.unbind(\"mousemove\",onMouseMove);eventHolder.unbind(\"mouseleave\",onMouseLeave);eventHolder.unbind(\"click\",onClick);executeHooks(hooks.shutdown,[eventHolder])}function setTransformationHelpers(axis){function identity(x){return x}var s,m,t=axis.options.transform||identity,it=axis.options.inverseTransform;if(axis.direction==\"x\"){s=axis.scale=plotWidth/Math.abs(t(axis.max)-t(axis.min));m=Math.min(t(axis.max),t(axis.min))}else{s=axis.scale=plotHeight/Math.abs(t(axis.max)-t(axis.min));s=-s;m=Math.max(t(axis.max),t(axis.min))}if(t==identity)axis.p2c=function(p){return(p-m)*s};else axis.p2c=function(p){return(t(p)-m)*s};if(!it)axis.c2p=function(c){return m+c/s};else axis.c2p=function(c){return it(m+c/s)}}function measureTickLabels(axis){var opts=axis.options,ticks=axis.ticks||[],labelWidth=opts.labelWidth||0,labelHeight=opts.labelHeight||0,maxWidth=labelWidth||(axis.direction==\"x\"?Math.floor(surface.width/(ticks.length||1)):null),legacyStyles=axis.direction+\"Axis \"+axis.direction+axis.n+\"Axis\",layer=\"flot-\"+axis.direction+\"-axis flot-\"+axis.direction+axis.n+\"-axis \"+legacyStyles,font=opts.font||\"flot-tick-label tickLabel\";for(var i=0;i<ticks.length;++i){var t=ticks[i];if(!t.label)continue;var info=surface.getTextInfo(layer,t.label,font,null,maxWidth);labelWidth=Math.max(labelWidth,info.width);labelHeight=Math.max(labelHeight,info.height)}axis.labelWidth=opts.labelWidth||labelWidth;axis.labelHeight=opts.labelHeight||labelHeight}function allocateAxisBoxFirstPhase(axis){var lw=axis.labelWidth,lh=axis.labelHeight,pos=axis.options.position,isXAxis=axis.direction===\"x\",tickLength=axis.options.tickLength,axisMargin=options.grid.axisMargin,padding=options.grid.labelMargin,innermost=true,outermost=true,first=true,found=false;$.each(isXAxis?xaxes:yaxes,function(i,a){if(a&&(a.show||a.reserveSpace)){if(a===axis){found=true}else if(a.options.position===pos){if(found){outermost=false}else{innermost=false}}if(!found){first=false}}});if(outermost){axisMargin=0}if(tickLength==null){tickLength=first?\"full\":5}if(!isNaN(+tickLength))padding+=+tickLength;if(isXAxis){lh+=padding;if(pos==\"bottom\"){plotOffset.bottom+=lh+axisMargin;axis.box={top:surface.height-plotOffset.bottom,height:lh}}else{axis.box={top:plotOffset.top+axisMargin,height:lh};plotOffset.top+=lh+axisMargin}}else{lw+=padding;if(pos==\"left\"){axis.box={left:plotOffset.left+axisMargin,width:lw};plotOffset.left+=lw+axisMargin}else{plotOffset.right+=lw+axisMargin;axis.box={left:surface.width-plotOffset.right,width:lw}}}axis.position=pos;axis.tickLength=tickLength;axis.box.padding=padding;axis.innermost=innermost}function allocateAxisBoxSecondPhase(axis){if(axis.direction==\"x\"){axis.box.left=plotOffset.left-axis.labelWidth/2;axis.box.width=surface.width-plotOffset.left-plotOffset.right+axis.labelWidth}else{axis.box.top=plotOffset.top-axis.labelHeight/2;axis.box.height=surface.height-plotOffset.bottom-plotOffset.top+axis.labelHeight}}function adjustLayoutForThingsStickingOut(){var minMargin=options.grid.minBorderMargin,axis,i;if(minMargin==null){minMargin=0;for(i=0;i<series.length;++i)minMargin=Math.max(minMargin,2*(series[i].points.radius+series[i].points.lineWidth/2))}var margins={left:minMargin,right:minMargin,top:minMargin,bottom:minMargin};$.each(allAxes(),function(_,axis){if(axis.reserveSpace&&axis.ticks&&axis.ticks.length){if(axis.direction===\"x\"){margins.left=Math.max(margins.left,axis.labelWidth/2);margins.right=Math.max(margins.right,axis.labelWidth/2)}else{margins.bottom=Math.max(margins.bottom,axis.labelHeight/2);margins.top=Math.max(margins.top,axis.labelHeight/2)}}});plotOffset.left=Math.ceil(Math.max(margins.left,plotOffset.left));plotOffset.right=Math.ceil(Math.max(margins.right,plotOffset.right));plotOffset.top=Math.ceil(Math.max(margins.top,plotOffset.top));plotOffset.bottom=Math.ceil(Math.max(margins.bottom,plotOffset.bottom))}function setupGrid(){var i,axes=allAxes(),showGrid=options.grid.show;for(var a in plotOffset){var margin=options.grid.margin||0;plotOffset[a]=typeof margin==\"number\"?margin:margin[a]||0}executeHooks(hooks.processOffset,[plotOffset]);for(var a in plotOffset){if(typeof options.grid.borderWidth==\"object\"){plotOffset[a]+=showGrid?options.grid.borderWidth[a]:0}else{plotOffset[a]+=showGrid?options.grid.borderWidth:0}}$.each(axes,function(_,axis){var axisOpts=axis.options;axis.show=axisOpts.show==null?axis.used:axisOpts.show;axis.reserveSpace=axisOpts.reserveSpace==null?axis.show:axisOpts.reserveSpace;setRange(axis)});if(showGrid){var allocatedAxes=$.grep(axes,function(axis){return axis.show||axis.reserveSpace});$.each(allocatedAxes,function(_,axis){setupTickGeneration(axis);setTicks(axis);snapRangeToTicks(axis,axis.ticks);measureTickLabels(axis)});for(i=allocatedAxes.length-1;i>=0;--i)allocateAxisBoxFirstPhase(allocatedAxes[i]);adjustLayoutForThingsStickingOut();$.each(allocatedAxes,function(_,axis){allocateAxisBoxSecondPhase(axis)})}plotWidth=surface.width-plotOffset.left-plotOffset.right;plotHeight=surface.height-plotOffset.bottom-plotOffset.top;$.each(axes,function(_,axis){setTransformationHelpers(axis)});if(showGrid){drawAxisLabels()}insertLegend()}function setRange(axis){var opts=axis.options,min=+(opts.min!=null?opts.min:axis.datamin),max=+(opts.max!=null?opts.max:axis.datamax),delta=max-min;if(delta==0){var widen=max==0?1:.01;if(opts.min==null)min-=widen;if(opts.max==null||opts.min!=null)max+=widen}else{var margin=opts.autoscaleMargin;if(margin!=null){if(opts.min==null){min-=delta*margin;if(min<0&&axis.datamin!=null&&axis.datamin>=0)min=0}if(opts.max==null){max+=delta*margin;if(max>0&&axis.datamax!=null&&axis.datamax<=0)max=0}}}axis.min=min;axis.max=max}function setupTickGeneration(axis){var opts=axis.options;var noTicks;if(typeof opts.ticks==\"number\"&&opts.ticks>0)noTicks=opts.ticks;else noTicks=.3*Math.sqrt(axis.direction==\"x\"?surface.width:surface.height);var delta=(axis.max-axis.min)/noTicks,dec=-Math.floor(Math.log(delta)/Math.LN10),maxDec=opts.tickDecimals;if(maxDec!=null&&dec>maxDec){dec=maxDec}var magn=Math.pow(10,-dec),norm=delta/magn,size;if(norm<1.5){size=1}else if(norm<3){size=2;if(norm>2.25&&(maxDec==null||dec+1<=maxDec)){size=2.5;++dec}}else if(norm<7.5){size=5}else{size=10}size*=magn;if(opts.minTickSize!=null&&size<opts.minTickSize){size=opts.minTickSize}axis.delta=delta;axis.tickDecimals=Math.max(0,maxDec!=null?maxDec:dec);axis.tickSize=opts.tickSize||size;if(opts.mode==\"time\"&&!axis.tickGenerator){throw new Error(\"Time mode requires the flot.time plugin.\")}if(!axis.tickGenerator){axis.tickGenerator=function(axis){var ticks=[],start=floorInBase(axis.min,axis.tickSize),i=0,v=Number.NaN,prev;do{prev=v;v=start+i*axis.tickSize;ticks.push(v);++i}while(v<axis.max&&v!=prev);return ticks};axis.tickFormatter=function(value,axis){var factor=axis.tickDecimals?Math.pow(10,axis.tickDecimals):1;var formatted=\"\"+Math.round(value*factor)/factor;if(axis.tickDecimals!=null){var decimal=formatted.indexOf(\".\");var precision=decimal==-1?0:formatted.length-decimal-1;if(precision<axis.tickDecimals){return(precision?formatted:formatted+\".\")+(\"\"+factor).substr(1,axis.tickDecimals-precision)}}return formatted}}if($.isFunction(opts.tickFormatter))axis.tickFormatter=function(v,axis){return\"\"+opts.tickFormatter(v,axis)};if(opts.alignTicksWithAxis!=null){var otherAxis=(axis.direction==\"x\"?xaxes:yaxes)[opts.alignTicksWithAxis-1];if(otherAxis&&otherAxis.used&&otherAxis!=axis){var niceTicks=axis.tickGenerator(axis);if(niceTicks.length>0){if(opts.min==null)axis.min=Math.min(axis.min,niceTicks[0]);if(opts.max==null&&niceTicks.length>1)axis.max=Math.max(axis.max,niceTicks[niceTicks.length-1])}axis.tickGenerator=function(axis){var ticks=[],v,i;for(i=0;i<otherAxis.ticks.length;++i){v=(otherAxis.ticks[i].v-otherAxis.min)/(otherAxis.max-otherAxis.min);v=axis.min+v*(axis.max-axis.min);ticks.push(v)}return ticks};if(!axis.mode&&opts.tickDecimals==null){var extraDec=Math.max(0,-Math.floor(Math.log(axis.delta)/Math.LN10)+1),ts=axis.tickGenerator(axis);if(!(ts.length>1&&/\\..*0$/.test((ts[1]-ts[0]).toFixed(extraDec))))axis.tickDecimals=extraDec}}}}function setTicks(axis){var oticks=axis.options.ticks,ticks=[];if(oticks==null||typeof oticks==\"number\"&&oticks>0)ticks=axis.tickGenerator(axis);else if(oticks){if($.isFunction(oticks))ticks=oticks(axis);else ticks=oticks}var i,v;axis.ticks=[];for(i=0;i<ticks.length;++i){var label=null;var t=ticks[i];if(typeof t==\"object\"){v=+t[0];if(t.length>1)label=t[1]}else v=+t;if(label===null)label=axis.tickFormatter(v,axis);if(!isNaN(v))axis.ticks.push({v:v,label:label})}}function snapRangeToTicks(axis,ticks){if(axis.options.autoscaleMargin&&ticks.length>0){if(axis.options.min==null)axis.min=Math.min(axis.min,ticks[0].v);if(axis.options.max==null&&ticks.length>1)axis.max=Math.max(axis.max,ticks[ticks.length-1].v)}}function draw(){surface.clear();executeHooks(hooks.drawBackground,[ctx]);var grid=options.grid;if(grid.show&&grid.backgroundColor)drawBackground();if(grid.show&&!grid.aboveData){drawGrid()}for(var i=0;i<series.length;++i){executeHooks(hooks.drawSeries,[ctx,series[i]]);drawSeries(series[i])}executeHooks(hooks.draw,[ctx]);if(grid.show&&grid.aboveData){drawGrid()}surface.render();triggerRedrawOverlay()}function extractRange(ranges,coord){var axis,from,to,key,axes=allAxes();for(var i=0;i<axes.length;++i){axis=axes[i];if(axis.direction==coord){key=coord+axis.n+\"axis\";if(!ranges[key]&&axis.n==1)key=coord+\"axis\";if(ranges[key]){from=ranges[key].from;to=ranges[key].to;break}}}if(!ranges[key]){axis=coord==\"x\"?xaxes[0]:yaxes[0];from=ranges[coord+\"1\"];to=ranges[coord+\"2\"]}if(from!=null&&to!=null&&from>to){var tmp=from;from=to;to=tmp}return{from:from,to:to,axis:axis}}function drawBackground(){ctx.save();ctx.translate(plotOffset.left,plotOffset.top);ctx.fillStyle=getColorOrGradient(options.grid.backgroundColor,plotHeight,0,\"rgba(255, 255, 255, 0)\");ctx.fillRect(0,0,plotWidth,plotHeight);ctx.restore()}function drawGrid(){var i,axes,bw,bc;ctx.save();ctx.translate(plotOffset.left,plotOffset.top);var markings=options.grid.markings;if(markings){if($.isFunction(markings)){axes=plot.getAxes();axes.xmin=axes.xaxis.min;axes.xmax=axes.xaxis.max;axes.ymin=axes.yaxis.min;axes.ymax=axes.yaxis.max;markings=markings(axes)}for(i=0;i<markings.length;++i){var m=markings[i],xrange=extractRange(m,\"x\"),yrange=extractRange(m,\"y\");if(xrange.from==null)xrange.from=xrange.axis.min;if(xrange.to==null)xrange.to=xrange.axis.max;\nif(yrange.from==null)yrange.from=yrange.axis.min;if(yrange.to==null)yrange.to=yrange.axis.max;if(xrange.to<xrange.axis.min||xrange.from>xrange.axis.max||yrange.to<yrange.axis.min||yrange.from>yrange.axis.max)continue;xrange.from=Math.max(xrange.from,xrange.axis.min);xrange.to=Math.min(xrange.to,xrange.axis.max);yrange.from=Math.max(yrange.from,yrange.axis.min);yrange.to=Math.min(yrange.to,yrange.axis.max);var xequal=xrange.from===xrange.to,yequal=yrange.from===yrange.to;if(xequal&&yequal){continue}xrange.from=Math.floor(xrange.axis.p2c(xrange.from));xrange.to=Math.floor(xrange.axis.p2c(xrange.to));yrange.from=Math.floor(yrange.axis.p2c(yrange.from));yrange.to=Math.floor(yrange.axis.p2c(yrange.to));if(xequal||yequal){var lineWidth=m.lineWidth||options.grid.markingsLineWidth,subPixel=lineWidth%2?.5:0;ctx.beginPath();ctx.strokeStyle=m.color||options.grid.markingsColor;ctx.lineWidth=lineWidth;if(xequal){ctx.moveTo(xrange.to+subPixel,yrange.from);ctx.lineTo(xrange.to+subPixel,yrange.to)}else{ctx.moveTo(xrange.from,yrange.to+subPixel);ctx.lineTo(xrange.to,yrange.to+subPixel)}ctx.stroke()}else{ctx.fillStyle=m.color||options.grid.markingsColor;ctx.fillRect(xrange.from,yrange.to,xrange.to-xrange.from,yrange.from-yrange.to)}}}axes=allAxes();bw=options.grid.borderWidth;for(var j=0;j<axes.length;++j){var axis=axes[j],box=axis.box,t=axis.tickLength,x,y,xoff,yoff;if(!axis.show||axis.ticks.length==0)continue;ctx.lineWidth=1;if(axis.direction==\"x\"){x=0;if(t==\"full\")y=axis.position==\"top\"?0:plotHeight;else y=box.top-plotOffset.top+(axis.position==\"top\"?box.height:0)}else{y=0;if(t==\"full\")x=axis.position==\"left\"?0:plotWidth;else x=box.left-plotOffset.left+(axis.position==\"left\"?box.width:0)}if(!axis.innermost){ctx.strokeStyle=axis.options.color;ctx.beginPath();xoff=yoff=0;if(axis.direction==\"x\")xoff=plotWidth+1;else yoff=plotHeight+1;if(ctx.lineWidth==1){if(axis.direction==\"x\"){y=Math.floor(y)+.5}else{x=Math.floor(x)+.5}}ctx.moveTo(x,y);ctx.lineTo(x+xoff,y+yoff);ctx.stroke()}ctx.strokeStyle=axis.options.tickColor;ctx.beginPath();for(i=0;i<axis.ticks.length;++i){var v=axis.ticks[i].v;xoff=yoff=0;if(isNaN(v)||v<axis.min||v>axis.max||t==\"full\"&&(typeof bw==\"object\"&&bw[axis.position]>0||bw>0)&&(v==axis.min||v==axis.max))continue;if(axis.direction==\"x\"){x=axis.p2c(v);yoff=t==\"full\"?-plotHeight:t;if(axis.position==\"top\")yoff=-yoff}else{y=axis.p2c(v);xoff=t==\"full\"?-plotWidth:t;if(axis.position==\"left\")xoff=-xoff}if(ctx.lineWidth==1){if(axis.direction==\"x\")x=Math.floor(x)+.5;else y=Math.floor(y)+.5}ctx.moveTo(x,y);ctx.lineTo(x+xoff,y+yoff)}ctx.stroke()}if(bw){bc=options.grid.borderColor;if(typeof bw==\"object\"||typeof bc==\"object\"){if(typeof bw!==\"object\"){bw={top:bw,right:bw,bottom:bw,left:bw}}if(typeof bc!==\"object\"){bc={top:bc,right:bc,bottom:bc,left:bc}}if(bw.top>0){ctx.strokeStyle=bc.top;ctx.lineWidth=bw.top;ctx.beginPath();ctx.moveTo(0-bw.left,0-bw.top/2);ctx.lineTo(plotWidth,0-bw.top/2);ctx.stroke()}if(bw.right>0){ctx.strokeStyle=bc.right;ctx.lineWidth=bw.right;ctx.beginPath();ctx.moveTo(plotWidth+bw.right/2,0-bw.top);ctx.lineTo(plotWidth+bw.right/2,plotHeight);ctx.stroke()}if(bw.bottom>0){ctx.strokeStyle=bc.bottom;ctx.lineWidth=bw.bottom;ctx.beginPath();ctx.moveTo(plotWidth+bw.right,plotHeight+bw.bottom/2);ctx.lineTo(0,plotHeight+bw.bottom/2);ctx.stroke()}if(bw.left>0){ctx.strokeStyle=bc.left;ctx.lineWidth=bw.left;ctx.beginPath();ctx.moveTo(0-bw.left/2,plotHeight+bw.bottom);ctx.lineTo(0-bw.left/2,0);ctx.stroke()}}else{ctx.lineWidth=bw;ctx.strokeStyle=options.grid.borderColor;ctx.strokeRect(-bw/2,-bw/2,plotWidth+bw,plotHeight+bw)}}ctx.restore()}function drawAxisLabels(){$.each(allAxes(),function(_,axis){var box=axis.box,legacyStyles=axis.direction+\"Axis \"+axis.direction+axis.n+\"Axis\",layer=\"flot-\"+axis.direction+\"-axis flot-\"+axis.direction+axis.n+\"-axis \"+legacyStyles,font=axis.options.font||\"flot-tick-label tickLabel\",tick,x,y,halign,valign;surface.removeText(layer);if(!axis.show||axis.ticks.length==0)return;for(var i=0;i<axis.ticks.length;++i){tick=axis.ticks[i];if(!tick.label||tick.v<axis.min||tick.v>axis.max)continue;if(axis.direction==\"x\"){halign=\"center\";x=plotOffset.left+axis.p2c(tick.v);if(axis.position==\"bottom\"){y=box.top+box.padding}else{y=box.top+box.height-box.padding;valign=\"bottom\"}}else{valign=\"middle\";y=plotOffset.top+axis.p2c(tick.v);if(axis.position==\"left\"){x=box.left+box.width-box.padding;halign=\"right\"}else{x=box.left+box.padding}}surface.addText(layer,x,y,tick.label,font,null,null,halign,valign)}})}function drawSeries(series){if(series.lines.show)drawSeriesLines(series);if(series.bars.show)drawSeriesBars(series);if(series.points.show)drawSeriesPoints(series)}function drawSeriesLines(series){function plotLine(datapoints,xoffset,yoffset,axisx,axisy){var points=datapoints.points,ps=datapoints.pointsize,prevx=null,prevy=null;ctx.beginPath();for(var i=ps;i<points.length;i+=ps){var x1=points[i-ps],y1=points[i-ps+1],x2=points[i],y2=points[i+1];if(x1==null||x2==null)continue;if(y1<=y2&&y1<axisy.min){if(y2<axisy.min)continue;x1=(axisy.min-y1)/(y2-y1)*(x2-x1)+x1;y1=axisy.min}else if(y2<=y1&&y2<axisy.min){if(y1<axisy.min)continue;x2=(axisy.min-y1)/(y2-y1)*(x2-x1)+x1;y2=axisy.min}if(y1>=y2&&y1>axisy.max){if(y2>axisy.max)continue;x1=(axisy.max-y1)/(y2-y1)*(x2-x1)+x1;y1=axisy.max}else if(y2>=y1&&y2>axisy.max){if(y1>axisy.max)continue;x2=(axisy.max-y1)/(y2-y1)*(x2-x1)+x1;y2=axisy.max}if(x1<=x2&&x1<axisx.min){if(x2<axisx.min)continue;y1=(axisx.min-x1)/(x2-x1)*(y2-y1)+y1;x1=axisx.min}else if(x2<=x1&&x2<axisx.min){if(x1<axisx.min)continue;y2=(axisx.min-x1)/(x2-x1)*(y2-y1)+y1;x2=axisx.min}if(x1>=x2&&x1>axisx.max){if(x2>axisx.max)continue;y1=(axisx.max-x1)/(x2-x1)*(y2-y1)+y1;x1=axisx.max}else if(x2>=x1&&x2>axisx.max){if(x1>axisx.max)continue;y2=(axisx.max-x1)/(x2-x1)*(y2-y1)+y1;x2=axisx.max}if(x1!=prevx||y1!=prevy)ctx.moveTo(axisx.p2c(x1)+xoffset,axisy.p2c(y1)+yoffset);prevx=x2;prevy=y2;ctx.lineTo(axisx.p2c(x2)+xoffset,axisy.p2c(y2)+yoffset)}ctx.stroke()}function plotLineArea(datapoints,axisx,axisy){var points=datapoints.points,ps=datapoints.pointsize,bottom=Math.min(Math.max(0,axisy.min),axisy.max),i=0,top,areaOpen=false,ypos=1,segmentStart=0,segmentEnd=0;while(true){if(ps>0&&i>points.length+ps)break;i+=ps;var x1=points[i-ps],y1=points[i-ps+ypos],x2=points[i],y2=points[i+ypos];if(areaOpen){if(ps>0&&x1!=null&&x2==null){segmentEnd=i;ps=-ps;ypos=2;continue}if(ps<0&&i==segmentStart+ps){ctx.fill();areaOpen=false;ps=-ps;ypos=1;i=segmentStart=segmentEnd+ps;continue}}if(x1==null||x2==null)continue;if(x1<=x2&&x1<axisx.min){if(x2<axisx.min)continue;y1=(axisx.min-x1)/(x2-x1)*(y2-y1)+y1;x1=axisx.min}else if(x2<=x1&&x2<axisx.min){if(x1<axisx.min)continue;y2=(axisx.min-x1)/(x2-x1)*(y2-y1)+y1;x2=axisx.min}if(x1>=x2&&x1>axisx.max){if(x2>axisx.max)continue;y1=(axisx.max-x1)/(x2-x1)*(y2-y1)+y1;x1=axisx.max}else if(x2>=x1&&x2>axisx.max){if(x1>axisx.max)continue;y2=(axisx.max-x1)/(x2-x1)*(y2-y1)+y1;x2=axisx.max}if(!areaOpen){ctx.beginPath();ctx.moveTo(axisx.p2c(x1),axisy.p2c(bottom));areaOpen=true}if(y1>=axisy.max&&y2>=axisy.max){ctx.lineTo(axisx.p2c(x1),axisy.p2c(axisy.max));ctx.lineTo(axisx.p2c(x2),axisy.p2c(axisy.max));continue}else if(y1<=axisy.min&&y2<=axisy.min){ctx.lineTo(axisx.p2c(x1),axisy.p2c(axisy.min));ctx.lineTo(axisx.p2c(x2),axisy.p2c(axisy.min));continue}var x1old=x1,x2old=x2;if(y1<=y2&&y1<axisy.min&&y2>=axisy.min){x1=(axisy.min-y1)/(y2-y1)*(x2-x1)+x1;y1=axisy.min}else if(y2<=y1&&y2<axisy.min&&y1>=axisy.min){x2=(axisy.min-y1)/(y2-y1)*(x2-x1)+x1;y2=axisy.min}if(y1>=y2&&y1>axisy.max&&y2<=axisy.max){x1=(axisy.max-y1)/(y2-y1)*(x2-x1)+x1;y1=axisy.max}else if(y2>=y1&&y2>axisy.max&&y1<=axisy.max){x2=(axisy.max-y1)/(y2-y1)*(x2-x1)+x1;y2=axisy.max}if(x1!=x1old){ctx.lineTo(axisx.p2c(x1old),axisy.p2c(y1))}ctx.lineTo(axisx.p2c(x1),axisy.p2c(y1));ctx.lineTo(axisx.p2c(x2),axisy.p2c(y2));if(x2!=x2old){ctx.lineTo(axisx.p2c(x2),axisy.p2c(y2));ctx.lineTo(axisx.p2c(x2old),axisy.p2c(y2))}}}ctx.save();ctx.translate(plotOffset.left,plotOffset.top);ctx.lineJoin=\"round\";var lw=series.lines.lineWidth,sw=series.shadowSize;if(lw>0&&sw>0){ctx.lineWidth=sw;ctx.strokeStyle=\"rgba(0,0,0,0.1)\";var angle=Math.PI/18;plotLine(series.datapoints,Math.sin(angle)*(lw/2+sw/2),Math.cos(angle)*(lw/2+sw/2),series.xaxis,series.yaxis);ctx.lineWidth=sw/2;plotLine(series.datapoints,Math.sin(angle)*(lw/2+sw/4),Math.cos(angle)*(lw/2+sw/4),series.xaxis,series.yaxis)}ctx.lineWidth=lw;ctx.strokeStyle=series.color;var fillStyle=getFillStyle(series.lines,series.color,0,plotHeight);if(fillStyle){ctx.fillStyle=fillStyle;plotLineArea(series.datapoints,series.xaxis,series.yaxis)}if(lw>0)plotLine(series.datapoints,0,0,series.xaxis,series.yaxis);ctx.restore()}function drawSeriesPoints(series){function plotPoints(datapoints,radius,fillStyle,offset,shadow,axisx,axisy,symbol){var points=datapoints.points,ps=datapoints.pointsize;for(var i=0;i<points.length;i+=ps){var x=points[i],y=points[i+1];if(x==null||x<axisx.min||x>axisx.max||y<axisy.min||y>axisy.max)continue;ctx.beginPath();x=axisx.p2c(x);y=axisy.p2c(y)+offset;if(symbol==\"circle\")ctx.arc(x,y,radius,0,shadow?Math.PI:Math.PI*2,false);else symbol(ctx,x,y,radius,shadow);ctx.closePath();if(fillStyle){ctx.fillStyle=fillStyle;ctx.fill()}ctx.stroke()}}ctx.save();ctx.translate(plotOffset.left,plotOffset.top);var lw=series.points.lineWidth,sw=series.shadowSize,radius=series.points.radius,symbol=series.points.symbol;if(lw==0)lw=1e-4;if(lw>0&&sw>0){var w=sw/2;ctx.lineWidth=w;ctx.strokeStyle=\"rgba(0,0,0,0.1)\";plotPoints(series.datapoints,radius,null,w+w/2,true,series.xaxis,series.yaxis,symbol);ctx.strokeStyle=\"rgba(0,0,0,0.2)\";plotPoints(series.datapoints,radius,null,w/2,true,series.xaxis,series.yaxis,symbol)}ctx.lineWidth=lw;ctx.strokeStyle=series.color;plotPoints(series.datapoints,radius,getFillStyle(series.points,series.color),0,false,series.xaxis,series.yaxis,symbol);ctx.restore()}function drawBar(x,y,b,barLeft,barRight,fillStyleCallback,axisx,axisy,c,horizontal,lineWidth){var left,right,bottom,top,drawLeft,drawRight,drawTop,drawBottom,tmp;if(horizontal){drawBottom=drawRight=drawTop=true;drawLeft=false;left=b;right=x;top=y+barLeft;bottom=y+barRight;if(right<left){tmp=right;right=left;left=tmp;drawLeft=true;drawRight=false}}else{drawLeft=drawRight=drawTop=true;drawBottom=false;left=x+barLeft;right=x+barRight;bottom=b;top=y;if(top<bottom){tmp=top;top=bottom;bottom=tmp;drawBottom=true;drawTop=false}}if(right<axisx.min||left>axisx.max||top<axisy.min||bottom>axisy.max)return;if(left<axisx.min){left=axisx.min;drawLeft=false}if(right>axisx.max){right=axisx.max;drawRight=false}if(bottom<axisy.min){bottom=axisy.min;drawBottom=false}if(top>axisy.max){top=axisy.max;drawTop=false}left=axisx.p2c(left);bottom=axisy.p2c(bottom);right=axisx.p2c(right);top=axisy.p2c(top);if(fillStyleCallback){c.fillStyle=fillStyleCallback(bottom,top);c.fillRect(left,top,right-left,bottom-top)}if(lineWidth>0&&(drawLeft||drawRight||drawTop||drawBottom)){c.beginPath();c.moveTo(left,bottom);if(drawLeft)c.lineTo(left,top);else c.moveTo(left,top);if(drawTop)c.lineTo(right,top);else c.moveTo(right,top);if(drawRight)c.lineTo(right,bottom);else c.moveTo(right,bottom);if(drawBottom)c.lineTo(left,bottom);else c.moveTo(left,bottom);c.stroke()}}function drawSeriesBars(series){function plotBars(datapoints,barLeft,barRight,fillStyleCallback,axisx,axisy){var points=datapoints.points,ps=datapoints.pointsize;for(var i=0;i<points.length;i+=ps){if(points[i]==null)continue;drawBar(points[i],points[i+1],points[i+2],barLeft,barRight,fillStyleCallback,axisx,axisy,ctx,series.bars.horizontal,series.bars.lineWidth)}}ctx.save();ctx.translate(plotOffset.left,plotOffset.top);ctx.lineWidth=series.bars.lineWidth;ctx.strokeStyle=series.color;var barLeft;switch(series.bars.align){case\"left\":barLeft=0;break;case\"right\":barLeft=-series.bars.barWidth;break;default:barLeft=-series.bars.barWidth/2}var fillStyleCallback=series.bars.fill?function(bottom,top){return getFillStyle(series.bars,series.color,bottom,top)}:null;plotBars(series.datapoints,barLeft,barLeft+series.bars.barWidth,fillStyleCallback,series.xaxis,series.yaxis);ctx.restore()}function getFillStyle(filloptions,seriesColor,bottom,top){var fill=filloptions.fill;if(!fill)return null;if(filloptions.fillColor)return getColorOrGradient(filloptions.fillColor,bottom,top,seriesColor);var c=$.color.parse(seriesColor);c.a=typeof fill==\"number\"?fill:.4;c.normalize();return c.toString()}function insertLegend(){if(options.legend.container!=null){$(options.legend.container).html(\"\")}else{placeholder.find(\".legend\").remove()}if(!options.legend.show){return}var fragments=[],entries=[],rowStarted=false,lf=options.legend.labelFormatter,s,label;for(var i=0;i<series.length;++i){s=series[i];if(s.label){label=lf?lf(s.label,s):s.label;if(label){entries.push({label:label,color:s.color})}}}if(options.legend.sorted){if($.isFunction(options.legend.sorted)){entries.sort(options.legend.sorted)}else if(options.legend.sorted==\"reverse\"){entries.reverse()}else{var ascending=options.legend.sorted!=\"descending\";entries.sort(function(a,b){return a.label==b.label?0:a.label<b.label!=ascending?1:-1})}}for(var i=0;i<entries.length;++i){var entry=entries[i];if(i%options.legend.noColumns==0){if(rowStarted)fragments.push(\"</tr>\");fragments.push(\"<tr>\");rowStarted=true}fragments.push('<td class=\"legendColorBox\"><div style=\"border:1px solid '+options.legend.labelBoxBorderColor+';padding:1px\"><div style=\"width:4px;height:0;border:5px solid '+entry.color+';overflow:hidden\"></div></div></td>'+'<td class=\"legendLabel\">'+entry.label+\"</td>\")}if(rowStarted)fragments.push(\"</tr>\");if(fragments.length==0)return;var table='<table style=\"font-size:smaller;color:'+options.grid.color+'\">'+fragments.join(\"\")+\"</table>\";if(options.legend.container!=null)$(options.legend.container).html(table);else{var pos=\"\",p=options.legend.position,m=options.legend.margin;if(m[0]==null)m=[m,m];if(p.charAt(0)==\"n\")pos+=\"top:\"+(m[1]+plotOffset.top)+\"px;\";else if(p.charAt(0)==\"s\")pos+=\"bottom:\"+(m[1]+plotOffset.bottom)+\"px;\";if(p.charAt(1)==\"e\")pos+=\"right:\"+(m[0]+plotOffset.right)+\"px;\";else if(p.charAt(1)==\"w\")pos+=\"left:\"+(m[0]+plotOffset.left)+\"px;\";var legend=$('<div class=\"legend\">'+table.replace('style=\"','style=\"position:absolute;'+pos+\";\")+\"</div>\").appendTo(placeholder);if(options.legend.backgroundOpacity!=0){var c=options.legend.backgroundColor;if(c==null){c=options.grid.backgroundColor;if(c&&typeof c==\"string\")c=$.color.parse(c);else c=$.color.extract(legend,\"background-color\");c.a=1;c=c.toString()}var div=legend.children();$('<div style=\"position:absolute;width:'+div.width()+\"px;height:\"+div.height()+\"px;\"+pos+\"background-color:\"+c+';\"> </div>').prependTo(legend).css(\"opacity\",options.legend.backgroundOpacity)}}}var highlights=[],redrawTimeout=null;function findNearbyItem(mouseX,mouseY,seriesFilter){var maxDistance=options.grid.mouseActiveRadius,smallestDistance=maxDistance*maxDistance+1,item=null,foundPoint=false,i,j,ps;for(i=series.length-1;i>=0;--i){if(!seriesFilter(series[i]))continue;var s=series[i],axisx=s.xaxis,axisy=s.yaxis,points=s.datapoints.points,mx=axisx.c2p(mouseX),my=axisy.c2p(mouseY),maxx=maxDistance/axisx.scale,maxy=maxDistance/axisy.scale;ps=s.datapoints.pointsize;if(axisx.options.inverseTransform)maxx=Number.MAX_VALUE;if(axisy.options.inverseTransform)maxy=Number.MAX_VALUE;if(s.lines.show||s.points.show){for(j=0;j<points.length;j+=ps){var x=points[j],y=points[j+1];if(x==null)continue;if(x-mx>maxx||x-mx<-maxx||y-my>maxy||y-my<-maxy)continue;var dx=Math.abs(axisx.p2c(x)-mouseX),dy=Math.abs(axisy.p2c(y)-mouseY),dist=dx*dx+dy*dy;if(dist<smallestDistance){smallestDistance=dist;item=[i,j/ps]}}}if(s.bars.show&&!item){var barLeft,barRight;switch(s.bars.align){case\"left\":barLeft=0;break;case\"right\":barLeft=-s.bars.barWidth;break;default:barLeft=-s.bars.barWidth/2}barRight=barLeft+s.bars.barWidth;for(j=0;j<points.length;j+=ps){var x=points[j],y=points[j+1],b=points[j+2];if(x==null)continue;if(series[i].bars.horizontal?mx<=Math.max(b,x)&&mx>=Math.min(b,x)&&my>=y+barLeft&&my<=y+barRight:mx>=x+barLeft&&mx<=x+barRight&&my>=Math.min(b,y)&&my<=Math.max(b,y))item=[i,j/ps]}}}if(item){i=item[0];j=item[1];ps=series[i].datapoints.pointsize;return{datapoint:series[i].datapoints.points.slice(j*ps,(j+1)*ps),dataIndex:j,series:series[i],seriesIndex:i}}return null}function onMouseMove(e){if(options.grid.hoverable)triggerClickHoverEvent(\"plothover\",e,function(s){return s[\"hoverable\"]!=false})}function onMouseLeave(e){if(options.grid.hoverable)triggerClickHoverEvent(\"plothover\",e,function(s){return false})}function onClick(e){triggerClickHoverEvent(\"plotclick\",e,function(s){return s[\"clickable\"]!=false})}function triggerClickHoverEvent(eventname,event,seriesFilter){var offset=eventHolder.offset(),canvasX=event.pageX-offset.left-plotOffset.left,canvasY=event.pageY-offset.top-plotOffset.top,pos=canvasToAxisCoords({left:canvasX,top:canvasY});pos.pageX=event.pageX;pos.pageY=event.pageY;var item=findNearbyItem(canvasX,canvasY,seriesFilter);if(item){item.pageX=parseInt(item.series.xaxis.p2c(item.datapoint[0])+offset.left+plotOffset.left,10);item.pageY=parseInt(item.series.yaxis.p2c(item.datapoint[1])+offset.top+plotOffset.top,10)}if(options.grid.autoHighlight){for(var i=0;i<highlights.length;++i){var h=highlights[i];if(h.auto==eventname&&!(item&&h.series==item.series&&h.point[0]==item.datapoint[0]&&h.point[1]==item.datapoint[1]))unhighlight(h.series,h.point)}if(item)highlight(item.series,item.datapoint,eventname)}placeholder.trigger(eventname,[pos,item])}function triggerRedrawOverlay(){var t=options.interaction.redrawOverlayInterval;if(t==-1){drawOverlay();return}if(!redrawTimeout)redrawTimeout=setTimeout(drawOverlay,t)}function drawOverlay(){redrawTimeout=null;octx.save();overlay.clear();octx.translate(plotOffset.left,plotOffset.top);var i,hi;for(i=0;i<highlights.length;++i){hi=highlights[i];if(hi.series.bars.show)drawBarHighlight(hi.series,hi.point);else drawPointHighlight(hi.series,hi.point)}octx.restore();executeHooks(hooks.drawOverlay,[octx])}function highlight(s,point,auto){if(typeof s==\"number\")s=series[s];if(typeof point==\"number\"){var ps=s.datapoints.pointsize;point=s.datapoints.points.slice(ps*point,ps*(point+1))}var i=indexOfHighlight(s,point);if(i==-1){highlights.push({series:s,point:point,auto:auto});triggerRedrawOverlay()}else if(!auto)highlights[i].auto=false}function unhighlight(s,point){if(s==null&&point==null){highlights=[];triggerRedrawOverlay();return}if(typeof s==\"number\")s=series[s];if(typeof point==\"number\"){var ps=s.datapoints.pointsize;point=s.datapoints.points.slice(ps*point,ps*(point+1))}var i=indexOfHighlight(s,point);if(i!=-1){highlights.splice(i,1);triggerRedrawOverlay()}}function indexOfHighlight(s,p){for(var i=0;i<highlights.length;++i){var h=highlights[i];if(h.series==s&&h.point[0]==p[0]&&h.point[1]==p[1])return i}return-1}function drawPointHighlight(series,point){var x=point[0],y=point[1],axisx=series.xaxis,axisy=series.yaxis,highlightColor=typeof series.highlightColor===\"string\"?series.highlightColor:$.color.parse(series.color).scale(\"a\",.5).toString();if(x<axisx.min||x>axisx.max||y<axisy.min||y>axisy.max)return;var pointRadius=series.points.radius+series.points.lineWidth/2;octx.lineWidth=pointRadius;octx.strokeStyle=highlightColor;var radius=1.5*pointRadius;x=axisx.p2c(x);y=axisy.p2c(y);octx.beginPath();if(series.points.symbol==\"circle\")octx.arc(x,y,radius,0,2*Math.PI,false);else series.points.symbol(octx,x,y,radius,false);octx.closePath();octx.stroke()}function drawBarHighlight(series,point){var highlightColor=typeof series.highlightColor===\"string\"?series.highlightColor:$.color.parse(series.color).scale(\"a\",.5).toString(),fillStyle=highlightColor,barLeft;switch(series.bars.align){case\"left\":barLeft=0;break;case\"right\":barLeft=-series.bars.barWidth;break;default:barLeft=-series.bars.barWidth/2}octx.lineWidth=series.bars.lineWidth;octx.strokeStyle=highlightColor;drawBar(point[0],point[1],point[2]||0,barLeft,barLeft+series.bars.barWidth,function(){return fillStyle},series.xaxis,series.yaxis,octx,series.bars.horizontal,series.bars.lineWidth)}function getColorOrGradient(spec,bottom,top,defaultColor){if(typeof spec==\"string\")return spec;else{var gradient=ctx.createLinearGradient(0,top,0,bottom);for(var i=0,l=spec.colors.length;i<l;++i){var c=spec.colors[i];if(typeof c!=\"string\"){var co=$.color.parse(defaultColor);if(c.brightness!=null)co=co.scale(\"rgb\",c.brightness);if(c.opacity!=null)co.a*=c.opacity;c=co.toString()}gradient.addColorStop(i/(l-1),c)}return gradient}}}$.plot=function(placeholder,data,options){var plot=new Plot($(placeholder),data,options,$.plot.plugins);return plot};$.plot.version=\"0.8.3\";$.plot.plugins=[];$.fn.plot=function(data,options){return this.each(function(){$.plot(this,data,options)})};function floorInBase(n,base){return base*Math.floor(n/base)}})(jQuery);","/* Javascript plotting library for jQuery, version 0.8.3.\n\nCopyright (c) 2007-2014 IOLA and Ole Laursen.\nLicensed under the MIT license.\n\n*/\n(function($,e,t){\"$:nomunge\";var i=[],n=$.resize=$.extend($.resize,{}),a,r=false,s=\"setTimeout\",u=\"resize\",m=u+\"-special-event\",o=\"pendingDelay\",l=\"activeDelay\",f=\"throttleWindow\";n[o]=200;n[l]=20;n[f]=true;$.event.special[u]={setup:function(){if(!n[f]&&this[s]){return false}var e=$(this);i.push(this);e.data(m,{w:e.width(),h:e.height()});if(i.length===1){a=t;h()}},teardown:function(){if(!n[f]&&this[s]){return false}var e=$(this);for(var t=i.length-1;t>=0;t--){if(i[t]==this){i.splice(t,1);break}}e.removeData(m);if(!i.length){if(r){cancelAnimationFrame(a)}else{clearTimeout(a)}a=null}},add:function(e){if(!n[f]&&this[s]){return false}var i;function a(e,n,a){var r=$(this),s=r.data(m)||{};s.w=n!==t?n:r.width();s.h=a!==t?a:r.height();i.apply(this,arguments)}if($.isFunction(e)){i=e;return a}else{i=e.handler;e.handler=a}}};function h(t){if(r===true){r=t||1}for(var s=i.length-1;s>=0;s--){var l=$(i[s]);if(l[0]==e||l.is(\":visible\")){var f=l.width(),c=l.height(),d=l.data(m);if(d&&(f!==d.w||c!==d.h)){l.trigger(u,[d.w=f,d.h=c]);r=t||true}}else{d=l.data(m);d.w=0;d.h=0}}if(a!==null){if(r&&(t==null||t-r<1e3)){a=e.requestAnimationFrame(h)}else{a=setTimeout(h,n[o]);r=false}}}if(!e.requestAnimationFrame){e.requestAnimationFrame=function(){return e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(t,i){return e.setTimeout(function(){t((new Date).getTime())},n[l])}}()}if(!e.cancelAnimationFrame){e.cancelAnimationFrame=function(){return e.webkitCancelRequestAnimationFrame||e.mozCancelRequestAnimationFrame||e.oCancelRequestAnimationFrame||e.msCancelRequestAnimationFrame||clearTimeout}()}})(jQuery,this);(function($){var options={};function init(plot){function onResize(){var placeholder=plot.getPlaceholder();if(placeholder.width()==0||placeholder.height()==0)return;plot.resize();plot.setupGrid();plot.draw()}function bindEvents(plot,eventHolder){plot.getPlaceholder().resize(onResize)}function shutdown(plot,eventHolder){plot.getPlaceholder().unbind(\"resize\",onResize)}plot.hooks.bindEvents.push(bindEvents);plot.hooks.shutdown.push(shutdown)}$.plot.plugins.push({init:init,options:options,name:\"resize\",version:\"1.0\"})})(jQuery);","/* Javascript plotting library for jQuery, version 0.8.3.\n\nCopyright (c) 2007-2014 IOLA and Ole Laursen.\nLicensed under the MIT license.\n\n*/\n(function($){var options={xaxis:{timezone:null,timeformat:null,twelveHourClock:false,monthNames:null}};function floorInBase(n,base){return base*Math.floor(n/base)}function formatDate(d,fmt,monthNames,dayNames){if(typeof d.strftime==\"function\"){return d.strftime(fmt)}var leftPad=function(n,pad){n=\"\"+n;pad=\"\"+(pad==null?\"0\":pad);return n.length==1?pad+n:n};var r=[];var escape=false;var hours=d.getHours();var isAM=hours<12;if(monthNames==null){monthNames=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]}if(dayNames==null){dayNames=[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]}var hours12;if(hours>12){hours12=hours-12}else if(hours==0){hours12=12}else{hours12=hours}for(var i=0;i<fmt.length;++i){var c=fmt.charAt(i);if(escape){switch(c){case\"a\":c=\"\"+dayNames[d.getDay()];break;case\"b\":c=\"\"+monthNames[d.getMonth()];break;case\"d\":c=leftPad(d.getDate());break;case\"e\":c=leftPad(d.getDate(),\" \");break;case\"h\":case\"H\":c=leftPad(hours);break;case\"I\":c=leftPad(hours12);break;case\"l\":c=leftPad(hours12,\" \");break;case\"m\":c=leftPad(d.getMonth()+1);break;case\"M\":c=leftPad(d.getMinutes());break;case\"q\":c=\"\"+(Math.floor(d.getMonth()/3)+1);break;case\"S\":c=leftPad(d.getSeconds());break;case\"y\":c=leftPad(d.getFullYear()%100);break;case\"Y\":c=\"\"+d.getFullYear();break;case\"p\":c=isAM?\"\"+\"am\":\"\"+\"pm\";break;case\"P\":c=isAM?\"\"+\"AM\":\"\"+\"PM\";break;case\"w\":c=\"\"+d.getDay();break}r.push(c);escape=false}else{if(c==\"%\"){escape=true}else{r.push(c)}}}return r.join(\"\")}function makeUtcWrapper(d){function addProxyMethod(sourceObj,sourceMethod,targetObj,targetMethod){sourceObj[sourceMethod]=function(){return targetObj[targetMethod].apply(targetObj,arguments)}}var utc={date:d};if(d.strftime!=undefined){addProxyMethod(utc,\"strftime\",d,\"strftime\")}addProxyMethod(utc,\"getTime\",d,\"getTime\");addProxyMethod(utc,\"setTime\",d,\"setTime\");var props=[\"Date\",\"Day\",\"FullYear\",\"Hours\",\"Milliseconds\",\"Minutes\",\"Month\",\"Seconds\"];for(var p=0;p<props.length;p++){addProxyMethod(utc,\"get\"+props[p],d,\"getUTC\"+props[p]);addProxyMethod(utc,\"set\"+props[p],d,\"setUTC\"+props[p])}return utc}function dateGenerator(ts,opts){if(opts.timezone==\"browser\"){return new Date(ts)}else if(!opts.timezone||opts.timezone==\"utc\"){return makeUtcWrapper(new Date(ts))}else if(typeof timezoneJS!=\"undefined\"&&typeof timezoneJS.Date!=\"undefined\"){var d=new timezoneJS.Date;d.setTimezone(opts.timezone);d.setTime(ts);return d}else{return makeUtcWrapper(new Date(ts))}}var timeUnitSize={second:1e3,minute:60*1e3,hour:60*60*1e3,day:24*60*60*1e3,month:30*24*60*60*1e3,quarter:3*30*24*60*60*1e3,year:365.2425*24*60*60*1e3};var baseSpec=[[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\"]];var specMonths=baseSpec.concat([[3,\"month\"],[6,\"month\"],[1,\"year\"]]);var specQuarters=baseSpec.concat([[1,\"quarter\"],[2,\"quarter\"],[1,\"year\"]]);function init(plot){plot.hooks.processOptions.push(function(plot,options){$.each(plot.getAxes(),function(axisName,axis){var opts=axis.options;if(opts.mode==\"time\"){axis.tickGenerator=function(axis){var ticks=[];var d=dateGenerator(axis.min,opts);var minSize=0;var spec=opts.tickSize&&opts.tickSize[1]===\"quarter\"||opts.minTickSize&&opts.minTickSize[1]===\"quarter\"?specQuarters:specMonths;if(opts.minTickSize!=null){if(typeof opts.tickSize==\"number\"){minSize=opts.tickSize}else{minSize=opts.minTickSize[0]*timeUnitSize[opts.minTickSize[1]]}}for(var i=0;i<spec.length-1;++i){if(axis.delta<(spec[i][0]*timeUnitSize[spec[i][1]]+spec[i+1][0]*timeUnitSize[spec[i+1][1]])/2&&spec[i][0]*timeUnitSize[spec[i][1]]>=minSize){break}}var size=spec[i][0];var unit=spec[i][1];if(unit==\"year\"){if(opts.minTickSize!=null&&opts.minTickSize[1]==\"year\"){size=Math.floor(opts.minTickSize[0])}else{var magn=Math.pow(10,Math.floor(Math.log(axis.delta/timeUnitSize.year)/Math.LN10));var norm=axis.delta/timeUnitSize.year/magn;if(norm<1.5){size=1}else if(norm<3){size=2}else if(norm<7.5){size=5}else{size=10}size*=magn}if(size<1){size=1}}axis.tickSize=opts.tickSize||[size,unit];var tickSize=axis.tickSize[0];unit=axis.tickSize[1];var step=tickSize*timeUnitSize[unit];if(unit==\"second\"){d.setSeconds(floorInBase(d.getSeconds(),tickSize))}else if(unit==\"minute\"){d.setMinutes(floorInBase(d.getMinutes(),tickSize))}else if(unit==\"hour\"){d.setHours(floorInBase(d.getHours(),tickSize))}else if(unit==\"month\"){d.setMonth(floorInBase(d.getMonth(),tickSize))}else if(unit==\"quarter\"){d.setMonth(3*floorInBase(d.getMonth()/3,tickSize))}else if(unit==\"year\"){d.setFullYear(floorInBase(d.getFullYear(),tickSize))}d.setMilliseconds(0);if(step>=timeUnitSize.minute){d.setSeconds(0)}if(step>=timeUnitSize.hour){d.setMinutes(0)}if(step>=timeUnitSize.day){d.setHours(0)}if(step>=timeUnitSize.day*4){d.setDate(1)}if(step>=timeUnitSize.month*2){d.setMonth(floorInBase(d.getMonth(),3))}if(step>=timeUnitSize.quarter*2){d.setMonth(floorInBase(d.getMonth(),6))}if(step>=timeUnitSize.year){d.setMonth(0)}var carry=0;var v=Number.NaN;var prev;do{prev=v;v=d.getTime();ticks.push(v);if(unit==\"month\"||unit==\"quarter\"){if(tickSize<1){d.setDate(1);var start=d.getTime();d.setMonth(d.getMonth()+(unit==\"quarter\"?3:1));var end=d.getTime();d.setTime(v+carry*timeUnitSize.hour+(end-start)*tickSize);carry=d.getHours();d.setHours(0)}else{d.setMonth(d.getMonth()+tickSize*(unit==\"quarter\"?3:1))}}else if(unit==\"year\"){d.setFullYear(d.getFullYear()+tickSize)}else{d.setTime(v+step)}}while(v<axis.max&&v!=prev);return ticks};axis.tickFormatter=function(v,axis){var d=dateGenerator(v,axis.options);if(opts.timeformat!=null){return formatDate(d,opts.timeformat,opts.monthNames,opts.dayNames)}var useQuarters=axis.options.tickSize&&axis.options.tickSize[1]==\"quarter\"||axis.options.minTickSize&&axis.options.minTickSize[1]==\"quarter\";var t=axis.tickSize[0]*timeUnitSize[axis.tickSize[1]];var span=axis.max-axis.min;var suffix=opts.twelveHourClock?\" %p\":\"\";var hourCode=opts.twelveHourClock?\"%I\":\"%H\";var fmt;if(t<timeUnitSize.minute){fmt=hourCode+\":%M:%S\"+suffix}else if(t<timeUnitSize.day){if(span<2*timeUnitSize.day){fmt=hourCode+\":%M\"+suffix}else{fmt=\"%b %d \"+hourCode+\":%M\"+suffix}}else if(t<timeUnitSize.month){fmt=\"%b %d\"}else if(useQuarters&&t<timeUnitSize.quarter||!useQuarters&&t<timeUnitSize.year){if(span<timeUnitSize.year){fmt=\"%b\"}else{fmt=\"%b %Y\"}}else if(useQuarters&&t<timeUnitSize.year){if(span<timeUnitSize.year){fmt=\"Q%q\"}else{fmt=\"Q%q %Y\"}}else{fmt=\"%Y\"}var rt=formatDate(d,fmt,opts.monthNames,opts.dayNames);return rt}}})})}$.plot.plugins.push({init:init,options:options,name:\"time\",version:\"1.0\"});$.plot.formatDate=formatDate;$.plot.dateGenerator=dateGenerator})(jQuery);","/* Javascript plotting library for jQuery, version 0.8.3.\n\nCopyright (c) 2007-2014 IOLA and Ole Laursen.\nLicensed under the MIT license.\n\n*/\n(function($){var options={xaxis:{categories:null},yaxis:{categories:null}};function processRawData(plot,series,data,datapoints){var xCategories=series.xaxis.options.mode==\"categories\",yCategories=series.yaxis.options.mode==\"categories\";if(!(xCategories||yCategories))return;var format=datapoints.format;if(!format){var s=series;format=[];format.push({x:true,number:true,required:true});format.push({y:true,number:true,required:true});if(s.bars.show||s.lines.show&&s.lines.fill){var autoscale=!!(s.bars.show&&s.bars.zero||s.lines.show&&s.lines.zero);format.push({y:true,number:true,required:false,defaultValue:0,autoscale:autoscale});if(s.bars.horizontal){delete format[format.length-1].y;format[format.length-1].x=true}}datapoints.format=format}for(var m=0;m<format.length;++m){if(format[m].x&&xCategories)format[m].number=false;if(format[m].y&&yCategories)format[m].number=false}}function getNextIndex(categories){var index=-1;for(var v in categories)if(categories[v]>index)index=categories[v];return index+1}function categoriesTickGenerator(axis){var res=[];for(var label in axis.categories){var v=axis.categories[label];if(v>=axis.min&&v<=axis.max)res.push([v,label])}res.sort(function(a,b){return a[0]-b[0]});return res}function setupCategoriesForAxis(series,axis,datapoints){if(series[axis].options.mode!=\"categories\")return;if(!series[axis].categories){var c={},o=series[axis].options.categories||{};if($.isArray(o)){for(var i=0;i<o.length;++i)c[o[i]]=i}else{for(var v in o)c[v]=o[v]}series[axis].categories=c}if(!series[axis].options.ticks)series[axis].options.ticks=categoriesTickGenerator;transformPointsOnAxis(datapoints,axis,series[axis].categories)}function transformPointsOnAxis(datapoints,axis,categories){var points=datapoints.points,ps=datapoints.pointsize,format=datapoints.format,formatColumn=axis.charAt(0),index=getNextIndex(categories);for(var i=0;i<points.length;i+=ps){if(points[i]==null)continue;for(var m=0;m<ps;++m){var val=points[i+m];if(val==null||!format[m][formatColumn])continue;if(!(val in categories)){categories[val]=index;++index}points[i+m]=categories[val]}}}function processDatapoints(plot,series,datapoints){setupCategoriesForAxis(series,\"xaxis\",datapoints);setupCategoriesForAxis(series,\"yaxis\",datapoints)}function init(plot){plot.hooks.processRawData.push(processRawData);plot.hooks.processDatapoints.push(processDatapoints)}$.plot.plugins.push({init:init,options:options,name:\"categories\",version:\"1.0\"})})(jQuery);","/**\n * Flot plugin that provides spline interpolation for line graphs\n * author: Alex Bardas < alex.bardas@gmail.com >\n * modified by: Avi Kohn https://github.com/AMKohn\n * based on the spline interpolation described at:\n * http://scaledinnovation.com/analytics/splines/aboutSplines.html\n *\n * Example usage: (add in plot options series object)\n * for linespline:\n * series: {\n * ...\n * lines: {\n * show: false\n * },\n * splines: {\n * show: true,\n * tension: x, (float between 0 and 1, defaults to 0.5),\n * lineWidth: y (number, defaults to 2),\n * fill: z (float between 0 .. 1 or false, as in flot documentation)\n * },\n * ...\n * }\n * areaspline:\n * series: {\n * ...\n * lines: {\n * show: true,\n * lineWidth: 0, (line drawing will not execute)\n * fill: x, (float between 0 .. 1, as in flot documentation)\n * ...\n * },\n * splines: {\n * show: true,\n * tension: 0.5 (float between 0 and 1)\n * },\n * ...\n * }\n *\n */\n\n(function($) {\n 'use strict'\n\n /**\n * @param {Number} x0, y0, x1, y1: coordinates of the end (knot) points of the segment\n * @param {Number} x2, y2: the next knot (not connected, but needed to calculate p2)\n * @param {Number} tension: control how far the control points spread\n * @return {Array}: p1 -> control point, from x1 back toward x0\n * p2 -> the next control point, returned to become the next segment's p1\n *\n * @api private\n */\n function getControlPoints(x0, y0, x1, y1, x2, y2, tension) {\n\n var pow = Math.pow,\n sqrt = Math.sqrt,\n d01, d12, fa, fb, p1x, p1y, p2x, p2y;\n\n // Scaling factors: distances from this knot to the previous and following knots.\n d01 = sqrt(pow(x1 - x0, 2) + pow(y1 - y0, 2));\n d12 = sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2));\n\n fa = tension * d01 / (d01 + d12);\n fb = tension - fa;\n\n p1x = x1 + fa * (x0 - x2);\n p1y = y1 + fa * (y0 - y2);\n\n p2x = x1 - fb * (x0 - x2);\n p2y = y1 - fb * (y0 - y2);\n\n return [p1x, p1y, p2x, p2y];\n }\n\n var line = [];\n\n function drawLine(points, ctx, height, fill, seriesColor) {\n var c = $.color.parse(seriesColor);\n\n c.a = typeof fill == \"number\" ? fill : .3;\n c.normalize();\n c = c.toString();\n\n ctx.beginPath();\n ctx.moveTo(points[0][0], points[0][1]);\n\n var plength = points.length;\n\n for (var i = 0; i < plength; i++) {\n try {\n ctx[points[i][3]].apply(ctx, points[i][2]);\n } catch(e) {\n console.log(e);\n break;\n }\n }\n\n ctx.stroke();\n\n ctx.lineWidth = 0;\n ctx.lineTo(points[plength - 1][0], height);\n ctx.lineTo(points[0][0], height);\n\n ctx.closePath();\n\n if (fill !== false) {\n ctx.fillStyle = c;\n ctx.fill();\n }\n }\n\n /**\n * @param {Object} ctx: canvas context\n * @param {String} type: accepted strings: 'bezier' or 'quadratic' (defaults to quadratic)\n * @param {Array} points: 2 points for which to draw the interpolation\n * @param {Array} cpoints: control points for those segment points\n *\n * @api private\n */\n function queue(ctx, type, points, cpoints) {\n if (type === void 0 || (type !== 'bezier' && type !== 'quadratic')) {\n type = 'quadratic';\n }\n type = type + 'CurveTo';\n\n if (line.length == 0) line.push([points[0], points[1], cpoints.concat(points.slice(2)), type]);\n else if (type == \"quadraticCurveTo\" && points.length == 2) {\n cpoints = cpoints.slice(0, 2).concat(points);\n\n line.push([points[0], points[1], cpoints, type]);\n }\n else line.push([points[2], points[3], cpoints.concat(points.slice(2)), type]);\n }\n\n /**\n * @param {Object} plot\n * @param {Object} ctx: canvas context\n * @param {Object} series\n *\n * @api private\n */\n\n function drawSpline(plot, ctx, series) {\n // Not interested if spline is not requested\n if (series.splines.show !== true) {\n return;\n }\n\n var cp = [],\n // array of control points\n tension = series.splines.tension || 0.5,\n idx, x, y, points = series.datapoints.points,\n ps = series.datapoints.pointsize,\n plotOffset = plot.getPlotOffset(),\n len = points.length,\n pts = [];\n\n line = [];\n\n // Cannot display a linespline/areaspline if there are less than 3 points\n if (len / ps < 4) {\n $.extend(series.lines, series.splines);\n return;\n }\n\n for (idx = 0; idx < len; idx += ps) {\n x = points[idx];\n y = points[idx + 1];\n if (x == null || x < series.xaxis.min || x > series.xaxis.max || y < series.yaxis.min || y > series.yaxis.max) {\n continue;\n }\n\n pts.push(series.xaxis.p2c(x) + plotOffset.left, series.yaxis.p2c(y) + plotOffset.top);\n }\n\n len = pts.length;\n\n // Draw an open curve, not connected at the ends\n for (idx = 0; idx < len - 2; idx += 2) {\n cp = cp.concat(getControlPoints.apply(this, pts.slice(idx, idx + 6).concat([tension])));\n }\n\n ctx.save();\n ctx.strokeStyle = series.color;\n ctx.lineWidth = series.splines.lineWidth;\n\n queue(ctx, 'quadratic', pts.slice(0, 4), cp.slice(0, 2));\n\n for (idx = 2; idx < len - 3; idx += 2) {\n queue(ctx, 'bezier', pts.slice(idx, idx + 4), cp.slice(2 * idx - 2, 2 * idx + 2));\n }\n\n queue(ctx, 'quadratic', pts.slice(len - 2, len), [cp[2 * len - 10], cp[2 * len - 9], pts[len - 4], pts[len - 3]]);\n\n drawLine(line, ctx, plot.height() + 10, series.splines.fill, series.color);\n\n ctx.restore();\n }\n\n $.plot.plugins.push({\n init: function(plot) {\n plot.hooks.drawSeries.push(drawSpline);\n },\n options: {\n series: {\n splines: {\n show: false,\n lineWidth: 2,\n tension: 0.5,\n fill: false\n }\n }\n },\n name: 'spline',\n version: '0.8.2'\n });\n})(jQuery);","/* Javascript plotting library for jQuery, version 0.8.3.\n\nCopyright (c) 2007-2014 IOLA and Ole Laursen.\nLicensed under the MIT license.\n\n*/\n(function($){function init(plot){var selection={first:{x:-1,y:-1},second:{x:-1,y:-1},show:false,active:false};var savedhandlers={};var mouseUpHandler=null;function onMouseMove(e){if(selection.active){updateSelection(e);plot.getPlaceholder().trigger(\"plotselecting\",[getSelection()])}}function onMouseDown(e){if(e.which!=1)return;document.body.focus();if(document.onselectstart!==undefined&&savedhandlers.onselectstart==null){savedhandlers.onselectstart=document.onselectstart;document.onselectstart=function(){return false}}if(document.ondrag!==undefined&&savedhandlers.ondrag==null){savedhandlers.ondrag=document.ondrag;document.ondrag=function(){return false}}setSelectionPos(selection.first,e);selection.active=true;mouseUpHandler=function(e){onMouseUp(e)};$(document).one(\"mouseup\",mouseUpHandler)}function onMouseUp(e){mouseUpHandler=null;if(document.onselectstart!==undefined)document.onselectstart=savedhandlers.onselectstart;if(document.ondrag!==undefined)document.ondrag=savedhandlers.ondrag;selection.active=false;updateSelection(e);if(selectionIsSane())triggerSelectedEvent();else{plot.getPlaceholder().trigger(\"plotunselected\",[]);plot.getPlaceholder().trigger(\"plotselecting\",[null])}return false}function getSelection(){if(!selectionIsSane())return null;if(!selection.show)return null;var r={},c1=selection.first,c2=selection.second;$.each(plot.getAxes(),function(name,axis){if(axis.used){var p1=axis.c2p(c1[axis.direction]),p2=axis.c2p(c2[axis.direction]);r[name]={from:Math.min(p1,p2),to:Math.max(p1,p2)}}});return r}function triggerSelectedEvent(){var r=getSelection();plot.getPlaceholder().trigger(\"plotselected\",[r]);if(r.xaxis&&r.yaxis)plot.getPlaceholder().trigger(\"selected\",[{x1:r.xaxis.from,y1:r.yaxis.from,x2:r.xaxis.to,y2:r.yaxis.to}])}function clamp(min,value,max){return value<min?min:value>max?max:value}function setSelectionPos(pos,e){var o=plot.getOptions();var offset=plot.getPlaceholder().offset();var plotOffset=plot.getPlotOffset();pos.x=clamp(0,e.pageX-offset.left-plotOffset.left,plot.width());pos.y=clamp(0,e.pageY-offset.top-plotOffset.top,plot.height());if(o.selection.mode==\"y\")pos.x=pos==selection.first?0:plot.width();if(o.selection.mode==\"x\")pos.y=pos==selection.first?0:plot.height()}function updateSelection(pos){if(pos.pageX==null)return;setSelectionPos(selection.second,pos);if(selectionIsSane()){selection.show=true;plot.triggerRedrawOverlay()}else clearSelection(true)}function clearSelection(preventEvent){if(selection.show){selection.show=false;plot.triggerRedrawOverlay();if(!preventEvent)plot.getPlaceholder().trigger(\"plotunselected\",[])}}function extractRange(ranges,coord){var axis,from,to,key,axes=plot.getAxes();for(var k in axes){axis=axes[k];if(axis.direction==coord){key=coord+axis.n+\"axis\";if(!ranges[key]&&axis.n==1)key=coord+\"axis\";if(ranges[key]){from=ranges[key].from;to=ranges[key].to;break}}}if(!ranges[key]){axis=coord==\"x\"?plot.getXAxes()[0]:plot.getYAxes()[0];from=ranges[coord+\"1\"];to=ranges[coord+\"2\"]}if(from!=null&&to!=null&&from>to){var tmp=from;from=to;to=tmp}return{from:from,to:to,axis:axis}}function setSelection(ranges,preventEvent){var axis,range,o=plot.getOptions();if(o.selection.mode==\"y\"){selection.first.x=0;selection.second.x=plot.width()}else{range=extractRange(ranges,\"x\");selection.first.x=range.axis.p2c(range.from);selection.second.x=range.axis.p2c(range.to)}if(o.selection.mode==\"x\"){selection.first.y=0;selection.second.y=plot.height()}else{range=extractRange(ranges,\"y\");selection.first.y=range.axis.p2c(range.from);selection.second.y=range.axis.p2c(range.to)}selection.show=true;plot.triggerRedrawOverlay();if(!preventEvent&&selectionIsSane())triggerSelectedEvent()}function selectionIsSane(){var minSize=plot.getOptions().selection.minSize;return Math.abs(selection.second.x-selection.first.x)>=minSize&&Math.abs(selection.second.y-selection.first.y)>=minSize}plot.clearSelection=clearSelection;plot.setSelection=setSelection;plot.getSelection=getSelection;plot.hooks.bindEvents.push(function(plot,eventHolder){var o=plot.getOptions();if(o.selection.mode!=null){eventHolder.mousemove(onMouseMove);eventHolder.mousedown(onMouseDown)}});plot.hooks.drawOverlay.push(function(plot,ctx){if(selection.show&&selectionIsSane()){var plotOffset=plot.getPlotOffset();var o=plot.getOptions();ctx.save();ctx.translate(plotOffset.left,plotOffset.top);var c=$.color.parse(o.selection.color);ctx.strokeStyle=c.scale(\"a\",.8).toString();ctx.lineWidth=1;ctx.lineJoin=o.selection.shape;ctx.fillStyle=c.scale(\"a\",.4).toString();var x=Math.min(selection.first.x,selection.second.x)+.5,y=Math.min(selection.first.y,selection.second.y)+.5,w=Math.abs(selection.second.x-selection.first.x)-1,h=Math.abs(selection.second.y-selection.first.y)-1;ctx.fillRect(x,y,w,h);ctx.strokeRect(x,y,w,h);ctx.restore()}});plot.hooks.shutdown.push(function(plot,eventHolder){eventHolder.unbind(\"mousemove\",onMouseMove);eventHolder.unbind(\"mousedown\",onMouseDown);if(mouseUpHandler)$(document).unbind(\"mouseup\",mouseUpHandler)})}$.plot.plugins.push({init:init,options:{selection:{mode:null,color:\"#e8cfac\",shape:\"round\",minSize:5}},name:\"selection\",version:\"1.1\"})})(jQuery);","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this file,\n * You can obtain one at http://mozilla.org/MPL/2.0/. */\n\n/*\n * Plugin to hide series in flot graphs.\n *\n * To activate, set legend.hideable to true in the flot options object.\n * To hide one or more series by default, set legend.hidden to an array of\n * label strings.\n *\n * At the moment, this only works with line and point graphs.\n *\n * Example:\n *\n * var plotdata = [\n * {\n * data: [[1, 1], [2, 1], [3, 3], [4, 2], [5, 5]],\n * label: \"graph 1\"\n * },\n * {\n * data: [[1, 0], [2, 1], [3, 0], [4, 4], [5, 3]],\n * label: \"graph 2\"\n * }\n * ];\n *\n * plot = $.plot($(\"#placeholder\"), plotdata, {\n * series: {\n * points: { show: true },\n * lines: { show: true }\n * },\n * legend: {\n * hideable: true,\n * hidden: [\"graph 1\", \"graph 2\"]\n * }\n * });\n *\n */\n(function ($) {\n var options = { };\n\n function init(plot) {\n var drawnOnce = false;\n\n function findPlotSeries(label) {\n var plotdata = plot.getData();\n for (var i = 0; i < plotdata.length; i++) {\n if (plotdata[i].label == label) {\n return plotdata[i];\n }\n }\n return null;\n }\n\n function plotLabelClicked(label, mouseOut) {\n var series = findPlotSeries(label);\n if (!series) {\n return;\n }\n\n var options = plot.getOptions();\n var switchedOff = false;\n\n if (typeof series.points.oldShow === \"undefined\") {\n series.points.oldShow = false;\n }\n if (typeof series.lines.oldShow === \"undefined\") {\n series.lines.oldShow = false;\n }\n\n if (series.points.show && !series.points.oldShow) {\n series.points.show = false;\n series.points.oldShow = true;\n switchedOff = true;\n }\n if (series.lines.show && !series.lines.oldShow) {\n series.lines.show = false;\n series.lines.oldShow = true;\n switchedOff = true;\n }\n\n if (switchedOff) {\n series.oldColor = series.color;\n series.color = \"#fff\";\n setHidden(options, label, true);\n } else {\n var switchedOn = false;\n\n if (!series.points.show && series.points.oldShow) {\n series.points.show = true;\n series.points.oldShow = false;\n switchedOn = true;\n }\n if (!series.lines.show && series.lines.oldShow) {\n \t series.lines.show = true;\n series.lines.oldShow = false;\n switchedOn = true;\n }\n\n if (switchedOn) {\n \t series.color = series.oldColor;\n setHidden(options, label, false);\n \t}\n }\n }\n\n function setSetupRedraw () {\n // HACK: Reset the data, triggering recalculation of graph bounds\n plot.setData(plot.getData());\n\n plot.setupGrid();\n plot.draw();\n }\n\n function setHidden(options, label, hide) {\n // Record state to a new variable in the legend option object.\n if (!options.legend.hidden) {\n options.legend.hidden = [];\n }\n\n var pos = options.legend.hidden.indexOf(label);\n\n if (hide) {\n if (pos < 0) {\n options.legend.hidden.push(label);\n }\n } else {\n if (pos > -1) {\n options.legend.hidden.splice(pos, 1);\n }\n }\n }\n\n function setHideAction(elem) {\n elem.mouseenter(function() { $(this).css(\"cursor\", \"pointer\"); })\n .mouseleave(function() { $(this).css(\"cursor\", \"default\"); })\n .unbind(\"click\").click(function() {\n if ($(this).is(\".legendColorBox\")) {\n plotLabelClicked($(this).next('.legendLabel').text());\n } else {\n plotLabelClicked($(this).parent().text());\n }\n setSetupRedraw();\n });\n }\n\n function plotLabelHandlers(plot) {\n var options = plot.getOptions();\n\n if (!options.legend.hideable) {\n return;\n }\n\n var p = plot.getPlaceholder();\n\n setHideAction(p.find(\".graphlabel\"));\n setHideAction(p.find(\".legendColorBox\"));\n\n if (!drawnOnce) {\n drawnOnce = true;\n if (options.legend.hidden) {\n for (var i = 0; i < options.legend.hidden.length; i++) {\n plotLabelClicked(options.legend.hidden[i], true);\n }\n setSetupRedraw();\n }\n }\n }\n\n function checkOptions(plot, options) {\n if (!options.legend.hideable) {\n return;\n }\n\n options.legend.labelFormatter = function(label, series) {\n return '<span class=\"graphlabel\">' + label + '</span>';\n };\n }\n\n function hideDatapointsIfNecessary(plot, s, datapoints) {\n var options = plot.getOptions();\n\n if (!options.legend.hideable) {\n return;\n }\n\n if (options.legend.hidden &&\n options.legend.hidden.indexOf(s.label) > -1) {\n var off = false;\n\n if (s.points.show) {\n s.points.show = false;\n s.points.oldShow = true;\n off = true;\n }\n if (s.lines.show) {\n s.lines.show = false;\n s.lines.oldShow = true;\n off = true;\n }\n\n if (off) {\n s.oldColor = s.color;\n s.color = \"#fff\";\n }\n }\n\n if (!s.points.show && !s.lines.show) {\n s.datapoints.format = [ null, null ];\n }\n }\n\n plot.hooks.processOptions.push(checkOptions);\n\n plot.hooks.draw.push(function (plot, ctx) {\n plotLabelHandlers(plot);\n });\n\n plot.hooks.processDatapoints.push(hideDatapointsIfNecessary);\n }\n\n $.plot.plugins.push({\n init: init,\n options: options,\n name: 'hiddenGraphs',\n version: '1.1'\n });\n\n})(jQuery);\n","/*\nFlot plugin for computing bottoms for filled line and bar charts.\n\nThe case: you've got two series that you want to fill the area\nbetween. In Flot terms, you need to use one as the fill bottom of the\nother. You can specify the bottom of each data point as the third\ncoordinate manually, or you can use this plugin to compute it for you.\n\nIn order to name the other series, you need to give it an id, like this\n\n var dataset = [\n { data: [ ... ], id: \"foo\" } , // use default bottom\n { data: [ ... ], fillBetween: \"foo\" }, // use first dataset as bottom\n ];\n\n $.plot($(\"#placeholder\"), dataset, { line: { show: true, fill: true }});\n\nAs a convenience, if the id given is a number that doesn't appear as\nan id in the series, it is interpreted as the index in the array\ninstead (so fillBetween: 0 can also mean the first series).\n \nInternally, the plugin modifies the datapoints in each series. For\nline series, extra data points might be inserted through\ninterpolation. Note that at points where the bottom line is not\ndefined (due to a null point or start/end of line), the current line\nwill show a gap too. The algorithm comes from the jquery.flot.stack.js\nplugin, possibly some code could be shared.\n*/\n\n(function ($) {\n var options = {\n series: { fillBetween: null } // or number\n };\n \n function init(plot) {\n function findBottomSeries(s, allseries) {\n var i;\n for (i = 0; i < allseries.length; ++i) {\n if (allseries[i].id == s.fillBetween)\n return allseries[i];\n }\n\n if (typeof s.fillBetween == \"number\") {\n i = s.fillBetween;\n \n if (i < 0 || i >= allseries.length)\n return null;\n\n return allseries[i];\n }\n \n return null;\n }\n \n function computeFillBottoms(plot, s, datapoints) {\n if (s.fillBetween == null)\n return;\n\n var other = findBottomSeries(s, plot.getData());\n if (!other)\n return;\n\n var ps = datapoints.pointsize,\n points = datapoints.points,\n otherps = other.datapoints.pointsize,\n otherpoints = other.datapoints.points,\n newpoints = [],\n px, py, intery, qx, qy, bottom,\n withlines = s.lines.show,\n withbottom = ps > 2 && datapoints.format[2].y,\n withsteps = withlines && s.lines.steps,\n fromgap = true,\n i = 0, j = 0, l;\n\n while (true) {\n if (i >= points.length)\n break;\n\n l = newpoints.length;\n\n if (points[i] == null) {\n // copy gaps\n for (m = 0; m < ps; ++m)\n newpoints.push(points[i + m]);\n i += ps;\n }\n else if (j >= otherpoints.length) {\n // for lines, we can't use the rest of the points\n if (!withlines) {\n for (m = 0; m < ps; ++m)\n newpoints.push(points[i + m]);\n }\n i += ps;\n }\n else if (otherpoints[j] == null) {\n // oops, got a gap\n for (m = 0; m < ps; ++m)\n newpoints.push(null);\n fromgap = true;\n j += otherps;\n }\n else {\n // cases where we actually got two points\n px = points[i];\n py = points[i + 1];\n qx = otherpoints[j];\n qy = otherpoints[j + 1];\n bottom = 0;\n\n if (px == qx) {\n for (m = 0; m < ps; ++m)\n newpoints.push(points[i + m]);\n\n //newpoints[l + 1] += qy;\n bottom = qy;\n \n i += ps;\n j += otherps;\n }\n else if (px > qx) {\n // we got past point below, might need to\n // insert interpolated extra point\n if (withlines && i > 0 && points[i - ps] != null) {\n intery = py + (points[i - ps + 1] - py) * (qx - px) / (points[i - ps] - px);\n newpoints.push(qx);\n newpoints.push(intery)\n for (m = 2; m < ps; ++m)\n newpoints.push(points[i + m]);\n bottom = qy; \n }\n\n j += otherps;\n }\n else { // px < qx\n if (fromgap && withlines) {\n // if we come from a gap, we just skip this point\n i += ps;\n continue;\n }\n \n for (m = 0; m < ps; ++m)\n newpoints.push(points[i + m]);\n \n // we might be able to interpolate a point below,\n // this can give us a better y\n if (withlines && j > 0 && otherpoints[j - otherps] != null)\n bottom = qy + (otherpoints[j - otherps + 1] - qy) * (px - qx) / (otherpoints[j - otherps] - qx);\n\n //newpoints[l + 1] += bottom;\n \n i += ps;\n }\n\n fromgap = false;\n \n if (l != newpoints.length && withbottom)\n newpoints[l + 2] = bottom;\n }\n\n // maintain the line steps invariant\n if (withsteps && l != newpoints.length && l > 0\n && newpoints[l] != null\n && newpoints[l] != newpoints[l - ps]\n && newpoints[l + 1] != newpoints[l - ps + 1]) {\n for (m = 0; m < ps; ++m)\n newpoints[l + ps + m] = newpoints[l + m];\n newpoints[l + 1] = newpoints[l - ps + 1];\n }\n }\n\n datapoints.points = newpoints;\n }\n \n plot.hooks.processDatapoints.push(computeFillBottoms);\n }\n \n $.plot.plugins.push({\n init: init,\n options: options,\n name: 'fillbetween',\n version: '1.0'\n });\n})(jQuery);\n","/* Javascript plotting library for jQuery, version 0.8.3.\n\nCopyright (c) 2007-2014 IOLA and Ole Laursen.\nLicensed under the MIT license.\n\n*/\n(function(a){function e(h){var k,j=this,l=h.data||{};if(l.elem)j=h.dragTarget=l.elem,h.dragProxy=d.proxy||j,h.cursorOffsetX=l.pageX-l.left,h.cursorOffsetY=l.pageY-l.top,h.offsetX=h.pageX-h.cursorOffsetX,h.offsetY=h.pageY-h.cursorOffsetY;else if(d.dragging||l.which>0&&h.which!=l.which||a(h.target).is(l.not))return;switch(h.type){case\"mousedown\":return a.extend(l,a(j).offset(),{elem:j,target:h.target,pageX:h.pageX,pageY:h.pageY}),b.add(document,\"mousemove mouseup\",e,l),i(j,!1),d.dragging=null,!1;case!d.dragging&&\"mousemove\":if(g(h.pageX-l.pageX)+g(h.pageY-l.pageY)<l.distance)break;h.target=l.target,k=f(h,\"dragstart\",j),k!==!1&&(d.dragging=j,d.proxy=h.dragProxy=a(k||j)[0]);case\"mousemove\":if(d.dragging){if(k=f(h,\"drag\",j),c.drop&&(c.drop.allowed=k!==!1,c.drop.handler(h)),k!==!1)break;h.type=\"mouseup\"}case\"mouseup\":b.remove(document,\"mousemove mouseup\",e),d.dragging&&(c.drop&&c.drop.handler(h),f(h,\"dragend\",j)),i(j,!0),d.dragging=d.proxy=l.elem=!1}return!0}function f(b,c,d){b.type=c;var e=a.event.dispatch.call(d,b);return e===!1?!1:e||b.result}function g(a){return Math.pow(a,2)}function h(){return d.dragging===!1}function i(a,b){a&&(a.unselectable=b?\"off\":\"on\",a.onselectstart=function(){return b},a.style&&(a.style.MozUserSelect=b?\"\":\"none\"))}a.fn.drag=function(a,b,c){return b&&this.bind(\"dragstart\",a),c&&this.bind(\"dragend\",c),a?this.bind(\"drag\",b?b:a):this.trigger(\"drag\")};var b=a.event,c=b.special,d=c.drag={not:\":input\",distance:0,which:1,dragging:!1,setup:function(c){c=a.extend({distance:d.distance,which:d.which,not:d.not},c||{}),c.distance=g(c.distance),b.add(this,\"mousedown\",e,c),this.attachEvent&&this.attachEvent(\"ondragstart\",h)},teardown:function(){b.remove(this,\"mousedown\",e),this===d.dragging&&(d.dragging=d.proxy=!1),i(this,!0),this.detachEvent&&this.detachEvent(\"ondragstart\",h)}};c.dragstart=c.dragend={setup:function(){},teardown:function(){}}})(jQuery);(function(d){function e(a){var b=a||window.event,c=[].slice.call(arguments,1),f=0,e=0,g=0,a=d.event.fix(b);a.type=\"mousewheel\";b.wheelDelta&&(f=b.wheelDelta/120);b.detail&&(f=-b.detail/3);g=f;void 0!==b.axis&&b.axis===b.HORIZONTAL_AXIS&&(g=0,e=-1*f);void 0!==b.wheelDeltaY&&(g=b.wheelDeltaY/120);void 0!==b.wheelDeltaX&&(e=-1*b.wheelDeltaX/120);c.unshift(a,f,e,g);return(d.event.dispatch||d.event.handle).apply(this,c)}var c=[\"DOMMouseScroll\",\"mousewheel\"];if(d.event.fixHooks)for(var h=c.length;h;)d.event.fixHooks[c[--h]]=d.event.mouseHooks;d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=c.length;a;)this.addEventListener(c[--a],e,!1);else this.onmousewheel=e},teardown:function(){if(this.removeEventListener)for(var a=c.length;a;)this.removeEventListener(c[--a],e,!1);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind(\"mousewheel\",a):this.trigger(\"mousewheel\")},unmousewheel:function(a){return this.unbind(\"mousewheel\",a)}})})(jQuery);(function($){var options={xaxis:{zoomRange:null,panRange:null},zoom:{interactive:false,trigger:\"dblclick\",amount:1.5},pan:{interactive:false,cursor:\"move\",frameRate:20}};function init(plot){function onZoomClick(e,zoomOut){var c=plot.offset();c.left=e.pageX-c.left;c.top=e.pageY-c.top;if(zoomOut)plot.zoomOut({center:c});else plot.zoom({center:c})}function onMouseWheel(e,delta){e.preventDefault();onZoomClick(e,delta<0);return false}var prevCursor=\"default\",prevPageX=0,prevPageY=0,panTimeout=null;function onDragStart(e){if(e.which!=1)return false;var c=plot.getPlaceholder().css(\"cursor\");if(c)prevCursor=c;plot.getPlaceholder().css(\"cursor\",plot.getOptions().pan.cursor);prevPageX=e.pageX;prevPageY=e.pageY}function onDrag(e){var frameRate=plot.getOptions().pan.frameRate;if(panTimeout||!frameRate)return;panTimeout=setTimeout(function(){plot.pan({left:prevPageX-e.pageX,top:prevPageY-e.pageY});prevPageX=e.pageX;prevPageY=e.pageY;panTimeout=null},1/frameRate*1e3)}function onDragEnd(e){if(panTimeout){clearTimeout(panTimeout);panTimeout=null}plot.getPlaceholder().css(\"cursor\",prevCursor);plot.pan({left:prevPageX-e.pageX,top:prevPageY-e.pageY})}function bindEvents(plot,eventHolder){var o=plot.getOptions();if(o.zoom.interactive){eventHolder[o.zoom.trigger](onZoomClick);eventHolder.mousewheel(onMouseWheel)}if(o.pan.interactive){eventHolder.bind(\"dragstart\",{distance:10},onDragStart);eventHolder.bind(\"drag\",onDrag);eventHolder.bind(\"dragend\",onDragEnd)}}plot.zoomOut=function(args){if(!args)args={};if(!args.amount)args.amount=plot.getOptions().zoom.amount;args.amount=1/args.amount;plot.zoom(args)};plot.zoom=function(args){if(!args)args={};var c=args.center,amount=args.amount||plot.getOptions().zoom.amount,w=plot.width(),h=plot.height();if(!c)c={left:w/2,top:h/2};var xf=c.left/w,yf=c.top/h,minmax={x:{min:c.left-xf*w/amount,max:c.left+(1-xf)*w/amount},y:{min:c.top-yf*h/amount,max:c.top+(1-yf)*h/amount}};$.each(plot.getAxes(),function(_,axis){var opts=axis.options,min=minmax[axis.direction].min,max=minmax[axis.direction].max,zr=opts.zoomRange,pr=opts.panRange;if(zr===false)return;min=axis.c2p(min);max=axis.c2p(max);if(min>max){var tmp=min;min=max;max=tmp}if(pr){if(pr[0]!=null&&min<pr[0]){min=pr[0]}if(pr[1]!=null&&max>pr[1]){max=pr[1]}}var range=max-min;if(zr&&(zr[0]!=null&&range<zr[0]&&amount>1||zr[1]!=null&&range>zr[1]&&amount<1))return;opts.min=min;opts.max=max});plot.setupGrid();plot.draw();if(!args.preventEvent)plot.getPlaceholder().trigger(\"plotzoom\",[plot,args])};plot.pan=function(args){var delta={x:+args.left,y:+args.top};if(isNaN(delta.x))delta.x=0;if(isNaN(delta.y))delta.y=0;$.each(plot.getAxes(),function(_,axis){var opts=axis.options,min,max,d=delta[axis.direction];min=axis.c2p(axis.p2c(axis.min)+d),max=axis.c2p(axis.p2c(axis.max)+d);var pr=opts.panRange;if(pr===false)return;if(pr){if(pr[0]!=null&&pr[0]>min){d=pr[0]-min;min+=d;max+=d}if(pr[1]!=null&&pr[1]<max){d=pr[1]-max;min+=d;max+=d}}opts.min=min;opts.max=max});plot.setupGrid();plot.draw();if(!args.preventEvent)plot.getPlaceholder().trigger(\"plotpan\",[plot,args])};function shutdown(plot,eventHolder){eventHolder.unbind(plot.getOptions().zoom.trigger,onZoomClick);eventHolder.unbind(\"mousewheel\",onMouseWheel);eventHolder.unbind(\"dragstart\",onDragStart);eventHolder.unbind(\"drag\",onDrag);eventHolder.unbind(\"dragend\",onDragEnd);if(panTimeout)clearTimeout(panTimeout)}plot.hooks.bindEvents.push(bindEvents);plot.hooks.shutdown.push(shutdown)}$.plot.plugins.push({init:init,options:options,name:\"navigate\",version:\"1.3\"})})(jQuery);","/*\n * jQuery.flot.dashes\n *\n * options = {\n * series: {\n * dashes: {\n *\n * // show\n * // default: false\n * // Whether to show dashes for the series.\n * show: <boolean>,\n *\n * // lineWidth\n * // default: 2\n * // The width of the dashed line in pixels.\n * lineWidth: <number>,\n *\n * // dashLength\n * // default: 10\n * // Controls the length of the individual dashes and the amount of\n * // space between them.\n * // If this is a number, the dashes and spaces will have that length.\n * // If this is an array, it is read as [ dashLength, spaceLength ]\n * dashLength: <number> or <array[2]>\n * }\n * }\n * }\n */\n(function($){\n var options = {\n series: {\n dashes: {\n show: false,\n lineWidth: 2,\n dashLength: 10\n }\n }\n };\n function init(plot) {\n plot.hooks.drawSeries.push(function(plot, ctx, series) {\n if (!series.dashes.show) return;\n\n var plotOffset = plot.getPlotOffset(),\n axisx = series.xaxis,\n axisy = series.yaxis;\n\n function plotDashes(xoffset, yoffset) {\n\n var points = series.datapoints.points,\n ps = series.datapoints.pointsize,\n prevx = null,\n prevy = null,\n dashRemainder = 0,\n dashOn = true,\n dashOnLength,\n dashOffLength;\n\n if (series.dashes.dashLength[0]) {\n dashOnLength = series.dashes.dashLength[0];\n if (series.dashes.dashLength[1]) {\n dashOffLength = series.dashes.dashLength[1];\n } else {\n dashOffLength = dashOnLength;\n }\n } else {\n dashOffLength = dashOnLength = series.dashes.dashLength;\n }\n\n ctx.beginPath();\n\n for (var i = ps; i < points.length; i += ps) {\n\n var x1 = points[i - ps],\n y1 = points[i - ps + 1],\n x2 = points[i],\n y2 = points[i + 1];\n\n if (x1 == null || x2 == null) continue;\n\n // clip with ymin\n if (y1 <= y2 && y1 < axisy.min) {\n if (y2 < axisy.min) continue; // line segment is outside\n // compute new intersection point\n x1 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1;\n y1 = axisy.min;\n } else if (y2 <= y1 && y2 < axisy.min) {\n if (y1 < axisy.min) continue;\n x2 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1;\n y2 = axisy.min;\n }\n\n // clip with ymax\n if (y1 >= y2 && y1 > axisy.max) {\n if (y2 > axisy.max) continue;\n x1 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1;\n y1 = axisy.max;\n } else if (y2 >= y1 && y2 > axisy.max) {\n if (y1 > axisy.max) continue;\n x2 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1;\n y2 = axisy.max;\n }\n\n // clip with xmin\n if (x1 <= x2 && x1 < axisx.min) {\n if (x2 < axisx.min) continue;\n y1 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1;\n x1 = axisx.min;\n } else if (x2 <= x1 && x2 < axisx.min) {\n if (x1 < axisx.min) continue;\n y2 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1;\n x2 = axisx.min;\n }\n\n // clip with xmax\n if (x1 >= x2 && x1 > axisx.max) {\n if (x2 > axisx.max) continue;\n y1 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1;\n x1 = axisx.max;\n } else if (x2 >= x1 && x2 > axisx.max) {\n if (x1 > axisx.max) continue;\n y2 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1;\n x2 = axisx.max;\n }\n\n if (x1 != prevx || y1 != prevy) {\n ctx.moveTo(axisx.p2c(x1) + xoffset, axisy.p2c(y1) + yoffset);\n }\n\n var ax1 = axisx.p2c(x1) + xoffset,\n ay1 = axisy.p2c(y1) + yoffset,\n ax2 = axisx.p2c(x2) + xoffset,\n ay2 = axisy.p2c(y2) + yoffset,\n dashOffset;\n\n function lineSegmentOffset(segmentLength) {\n\n var c = Math.sqrt(Math.pow(ax2 - ax1, 2) + Math.pow(ay2 - ay1, 2));\n\n if (c <= segmentLength) {\n return {\n deltaX: ax2 - ax1,\n deltaY: ay2 - ay1,\n distance: c,\n remainder: segmentLength - c\n }\n } else {\n var xsign = ax2 > ax1 ? 1 : -1,\n ysign = ay2 > ay1 ? 1 : -1;\n return {\n deltaX: xsign * Math.sqrt(Math.pow(segmentLength, 2) / (1 + Math.pow((ay2 - ay1)/(ax2 - ax1), 2))),\n deltaY: ysign * Math.sqrt(Math.pow(segmentLength, 2) - Math.pow(segmentLength, 2) / (1 + Math.pow((ay2 - ay1)/(ax2 - ax1), 2))),\n distance: segmentLength,\n remainder: 0\n };\n }\n }\n //-end lineSegmentOffset\n\n do {\n\n dashOffset = lineSegmentOffset(\n dashRemainder > 0 ? dashRemainder :\n dashOn ? dashOnLength : dashOffLength);\n\n if (dashOffset.deltaX != 0 || dashOffset.deltaY != 0) {\n if (dashOn) {\n ctx.lineTo(ax1 + dashOffset.deltaX, ay1 + dashOffset.deltaY);\n } else {\n ctx.moveTo(ax1 + dashOffset.deltaX, ay1 + dashOffset.deltaY);\n }\n }\n\n dashOn = !dashOn;\n dashRemainder = dashOffset.remainder;\n ax1 += dashOffset.deltaX;\n ay1 += dashOffset.deltaY;\n\n } while (dashOffset.distance > 0);\n\n prevx = x2;\n prevy = y2;\n }\n\n ctx.stroke();\n }\n //-end plotDashes\n\n ctx.save();\n ctx.translate(plotOffset.left, plotOffset.top);\n ctx.lineJoin = 'round';\n\n var lw = series.dashes.lineWidth,\n sw = series.shadowSize;\n\n // FIXME: consider another form of shadow when filling is turned on\n if (lw > 0 && sw > 0) {\n // draw shadow as a thick and thin line with transparency\n ctx.lineWidth = sw;\n ctx.strokeStyle = \"rgba(0,0,0,0.1)\";\n // position shadow at angle from the mid of line\n var angle = Math.PI/18;\n plotDashes(Math.sin(angle) * (lw/2 + sw/2), Math.cos(angle) * (lw/2 + sw/2));\n ctx.lineWidth = sw/2;\n plotDashes(Math.sin(angle) * (lw/2 + sw/4), Math.cos(angle) * (lw/2 + sw/4));\n }\n\n ctx.lineWidth = lw;\n ctx.strokeStyle = series.color;\n\n if (lw > 0) {\n plotDashes(0, 0);\n }\n\n ctx.restore();\n\n });\n //-end draw hook\n }\n //-end init\n\n $.plot.plugins.push({\n init: init,\n options: options,\n name: 'dashes',\n version: '0.1'\n });\n\n})(jQuery);\n","/*\n * The MIT License\n\nCopyright (c) 2010,2011,2012, 2013 by Juergen Marsch\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n/*\n * Added changerequest from Thodoris Greasidis\n * It makes growing more \n */\n(function ($){\n \"use strict\";\n var pluginName = \"grow\", pluginVersion = \"0.4\";\n var options = {\n series: {\n grow: {\n active: false,\n stepDelay: 20,\n steps:100,\n growings:[\n {\n valueIndex: 1,\n stepMode: \"linear\",\n stepDirection: \"up\"\n } \n ]\n }\n }\n };\n function init(plot) {\n var done = false;\n var growfunc;\n var plt = plot;\n var data = null;\n var opt = null;\n var serie = null;\n var valueIndex;\n plot.hooks.bindEvents.push(processbindEvents);\n plot.hooks.drawSeries.push(processSeries);\n plot.hooks.shutdown.push(shutdown);\t\t\n function processSeries(plot, canvascontext, series){\n opt = plot.getOptions();\n valueIndex = opt.series.grow.valueIndex;\n if(opt.series.grow.active === true){\n if (done === false){\n data = plot.getData();\n data.actualStep = 0;\n data.growingIndex = 0;\n for (var j = 0; j < data.length; j++){\n data[j].dataOrg = clone(data[j].data);\n for (var i = 0; i < data[j].data.length; i++){ data[j].data[i][valueIndex] = 0;}\n }\n plot.setData(data);\n done = true;\n }\n }\n }\n function processbindEvents(plot,eventHolder){\n opt = plot.getOptions();\n if (opt.series.grow.active === true){\n var d = plot.getData();\n for (var j = 0; j < data.length; j++) {\n opt.series.grow.steps = Math.max(opt.series.grow.steps, d[j].grow.steps);\n }\n if(opt.series.grow.stepDelay === 0){ opt.series.grow.stepDelay++;}\n growingLoop();\n if (isPluginRegistered(\"resize\")) {\n plot.getPlaceholder().bind(\"resize\", onResize);\n }\n }\n }\n function growingLoop(){\n var growing, startTime = new Date(), timeDiff;\n if (data.actualStep < opt.series.grow.steps){\n data.actualStep++;\n for(var j = 0; j < data.length; j++){\n for(var g = 0; g < data[j].grow.growings.length; g++){\n growing = data[j].grow.growings[g];\n if (typeof growing.stepMode === \"function\"){\n growing.stepMode(data[j],data.actualStep,growing);\n }\n else{\n if (growing.stepMode === \"linear\"){ growLinear();}\n else if (growing.stepMode === \"maximum\"){ growMaximum();}\n else if (growing.stepMode === \"delay\"){ growDelay();}\n else{growNone();}\n }\n }\n }\n plt.setData(data);\n plt.draw();\n timeDiff = new Date() - startTime;\n growfunc = window.setTimeout(growingLoop, Math.max(0,opt.series.grow.stepDelay - timeDiff));\n }\n else{ window.clearTimeout(growfunc); growfunc = null; }\n function growNone(){\n if (data.actualStep === 1){\n for (var i = 0; i < data[j].data.length; i++){\n data[j].data[i][valueIndex] = data[j].dataOrg[i][growing.valueIndex];\n }\n }\n }\n function growLinear(){\n if (data.actualStep <= data[j].grow.steps){\n for (var i = 0; i < data[j].data.length; i++){\t\n if (growing.stepDirection === \"up\"){\t\n data[j].data[i][growing.valueIndex] = data[j].dataOrg[i][growing.valueIndex] / data[j].grow.steps * data.actualStep;\n }\n else if(growing.stepDirection === \"down\"){\n data[j].data[i][growing.valueIndex] = data[j].dataOrg[i][growing.valueIndex] + (data[j].yaxis.max - data[j].dataOrg[i][growing.valueIndex]) / data[j].grow.steps * (data[j].grow.steps - data.actualStep); \n }\n }\n }\n }\n function growMaximum(){\n if (data.actualStep <= data[j].grow.steps){\n for (var i = 0; i < data[j].data.length; i++){\n if (growing.stepDirection === \"up\"){\n data[j].data[i][growing.valueIndex] = Math.min(data[j].dataOrg[i][growing.valueIndex], data[j].yaxis.max / data[j].grow.steps * data.actualStep);\n }\n else if (growing.stepDirection === \"down\"){\n data[j].data[i][growing.valueIndex] = Math.max(data[j].dataOrg[i][growing.valueIndex], data[j].yaxis.max / data[j].grow.steps * (data[j].grow.steps - data.actualStep) ); \n }\n }\n }\n }\n function growDelay(){\n if (data.actualStep == data[j].grow.steps){\n for (var i = 0; i < data[j].data.length; i++){\n data[j].data[i][growing.valueIndex] = data[j].dataOrg[i][growing.valueIndex];\n }\n }\n }\n }\n function onResize() {\n if (growfunc) { window.clearTimeout(growfunc); growfunc = null; }\n }\n function shutdown(plot, eventHolder) {\n plot.getPlaceholder().unbind(\"resize\", onResize);\n }\n function isPluginRegistered(pluginName) {\n var plugins = $.plot.plugins;\n for (var i = 0, len = plugins.length; i < len; i++) {\n var plug = plugins[i];\n if (plug.name === pluginName) {\n return true;\n }\n }\n return false;\n }\n function clone(obj){\n if(obj === null || typeof(obj) !== 'object'){ return obj;}\n var temp = new obj.constructor();\n for(var key in obj){temp[key] = clone(obj[key]); }\n return temp;\n }\n }\n $.plot.plugins.push({\n init: init,\n options: options,\n name: pluginName,\n version: pluginVersion\n });\n})(jQuery);","(function(deparam){\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n var jquery = require('jquery');\n module.exports = deparam(jquery);\n } else if (typeof define === 'function' && define.amd){\n define(['jquery'], function(jquery){\n return deparam(jquery);\n });\n } else {\n var global\n try {\n global = (false || eval)('this'); // best cross-browser way to determine global for < ES5\n } catch (e) {\n global = window; // fails only if browser (https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives)\n }\n global.deparam = deparam(jQuery); // assume jQuery is in global namespace\n }\n})(function ($) {\n var deparam = function( params, coerce ) {\n var obj = {},\n coerce_types = { 'true': !0, 'false': !1, 'null': null };\n\n // Iterate over all name=value pairs.\n params.replace(/\\+/g, ' ').split('&').forEach(function(v){\n var param = v.split( '=' ),\n key = decodeURIComponent( param[0] ),\n val,\n cur = obj,\n i = 0,\n\n // If key is more complex than 'foo', like 'a[]' or 'a[b][c]', split it\n // into its component parts.\n keys = key.split( '][' ),\n keys_last = keys.length - 1;\n\n // If the first keys part contains [ and the last ends with ], then []\n // are correctly balanced.\n if ( /\\[/.test( keys[0] ) && /\\]$/.test( keys[ keys_last ] ) ) {\n // Remove the trailing ] from the last keys part.\n keys[ keys_last ] = keys[ keys_last ].replace( /\\]$/, '' );\n\n // Split first keys part into two parts on the [ and add them back onto\n // the beginning of the keys array.\n keys = keys.shift().split('[').concat( keys );\n\n keys_last = keys.length - 1;\n } else {\n // Basic 'foo' style key.\n keys_last = 0;\n }\n\n // Are we dealing with a name=value pair, or just a name?\n if ( param.length === 2 ) {\n val = decodeURIComponent( param[1] );\n\n // Coerce values.\n if ( coerce ) {\n val = val && !isNaN(val) && ((+val + '') === val) ? +val // number\n : val === 'undefined' ? undefined // undefined\n : coerce_types[val] !== undefined ? coerce_types[val] // true, false, null\n : val; // string\n }\n\n if ( keys_last ) {\n // Complex key, build deep object structure based on a few rules:\n // * The 'cur' pointer starts at the object top-level.\n // * [] = array push (n is set to array length), [n] = array if n is\n // numeric, otherwise object.\n // * If at the last keys part, set the value.\n // * For each keys part, if the current level is undefined create an\n // object or array based on the type of the next keys part.\n // * Move the 'cur' pointer to the next level.\n // * Rinse & repeat.\n for ( ; i <= keys_last; i++ ) {\n key = keys[i] === '' ? cur.length : keys[i];\n cur = cur[key] = i < keys_last\n ? cur[key] || ( keys[i+1] && isNaN( keys[i+1] ) ? {} : [] )\n : val;\n }\n\n } else {\n // Simple key, even simpler rules, since only scalars and shallow\n // arrays are allowed.\n\n if ( Object.prototype.toString.call( obj[key] ) === '[object Array]' ) {\n // val is already an array, so push on the next value.\n obj[key].push( val );\n\n } else if ( {}.hasOwnProperty.call(obj, key) ) {\n // val isn't an array, but since a second value has been specified,\n // convert val into an array.\n obj[key] = [ obj[key], val ];\n\n } else {\n // val is a scalar.\n obj[key] = val;\n }\n }\n\n } else if ( key ) {\n // No value was defined, so set something meaningful.\n obj[key] = coerce\n ? undefined\n : '';\n }\n });\n\n return obj;\n };\n $.prototype.deparam = $.deparam = deparam;\n return deparam;\n});\n","var months = {\n 'en': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n 'de': ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],\n 'ru': ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],\n 'es': ['Jan', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],\n 'fr': ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n 'it': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n 'pl': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n 'pt': ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Set', 'Out', 'Nov', 'Dez'],\n 'nl': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n};\nvar days = {\n 'en': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n 'de': ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],\n 'ru': ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'],\n 'es': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n 'fr': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n 'it': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n 'pl': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n 'pt': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n 'nl': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n};","//options: {\n// chartId: \n// titleId:\n// tooltipId:\n// cbOnZoom:\n// }\n\nfunction CustomChart(options, config, seriesData, markLines, ticks) {\n 'use strict';\n \n if (!(this instanceof CustomChart)) return new CustomChart(options, config, seriesData, markLines, ticks);\n \n this.chart = null;\n this.config = config;\n this.options = options;\n \n var that = this;\n var series;\n var markingsOffset = 0;\n var settings;\n var backgrounds = [\n ['#8e9eab', '#eef2f3'], // Portrait\n ['#517fa4', '#243949'], // Instagram\n ['#485563', '#29323c'], // ServQuick\n ['#abbaab', '#00ffff'], // Metallic Toad\n ['#ECE9E6', '#00ffff'], // Clouds\n ['#16222A', '#3A6073'], // Mirage\n ['#1F1C2C', '#928DAB'], // Steel Gray\n ['#003973', '#E5E5BE'], // Horizon\n ['#D1913C', '#FFD194'], // Koko Caramel\n ['#136a8a', '#267871'] // Turquoise flow\n ];\n\n function _yFormatter(y, line) {\n if (typeof y === 'boolean') return '' + y;\n var unit = that.config.l[line].unit ? ' ' + that.config.l[line].unit : '';\n if (that.config.l[line].afterComma !== undefined && that.config.l[line].afterComma !== null) {\n y = parseFloat(y);\n if (that.config.useComma) {\n return y.toFixed(that.config.l[line].afterComma).toString().replace('.', ',') + unit;\n } else {\n return y.toFixed(that.config.l[line].afterComma) + unit;\n }\n } else {\n if (that.config.useComma) {\n y = parseFloat(y);\n return y.toString().replace('.', ',') + unit;\n } else {\n return y + unit;\n }\n }\n }\n\n function _tickXFormatter(number, object) {\n if (ticks) return ' ';\n var now = new Date(parseInt(number, 10));\n if (that.config.timeFormatDate && that.config.timeFormatTime) {\n if (!object.ticks.length) {\n return '<b><i>' + $.plot.formatDate(now, that.config.timeFormatDate, months[systemLang], days[systemLang]) + '</i></b>';\n }\n var d = new Date(object.ticks[object.ticks.length - 1].v);\n if (d.getDate() !== now.getDate()) {\n return '<b><i>' + $.plot.formatDate(now, that.config.timeFormatDate, months[systemLang], days[systemLang]) + '</i></b>';\n }\n return $.plot.formatDate(now, that.config.timeFormatTime, months[systemLang], days[systemLang]);\n } else {\n return $.plot.formatDate(now, that.config.timeFormat, months[systemLang], days[systemLang]);\n }\n }\n\n function _tickYFormatter(number, object) {\n // If tickDecimals was specified, ensure that we have exactly that\n // much precision; otherwise default to the value's own precision.\n var afterComma = that.config.l[object.n - 1].afterComma;\n\n if (afterComma !== null && afterComma !== undefined) {\n var factor = afterComma ? Math.pow(10, afterComma) : 1;\n var formatted = (Math.round(number * factor) / factor).toString();\n var decimal = formatted.indexOf('.');\n var precision = decimal === -1 ? 0 : formatted.length - decimal - 1;\n\n if (precision < afterComma) {\n number = (precision ? formatted : formatted + '.') + factor.toString().substr(1, afterComma - precision);\n } else {\n number = formatted;\n }\n }\n\n if (that.config.useComma) number = number.toString().replace('.', ',');\n\n var unit = that.config.l[object.n - 1].unit;\n\n return number + (unit ? (' ' + unit) : '');\n }\n\n function showLabels (animation) {\n if (that.config.barLabels) {\n setTimeout(function () {\n var data = that.chart.getData();\n\n for (var d = 0; d < data.length; d++) {\n if (!that.config.l[d] || that.config.l[d].chartType !== 'bar') continue;\n\n $.each(data[d].data, function (i, el) {\n if (el[1] === null) return;\n if (!i) return;\n if (i === data[d].data.length - 1) return;\n var o;\n if (that.config.barLabels === 'topover') {\n o = that.chart.pointOffset({x: el[0], y: el[1]});\n o.top -= 20;\n } else if (that.config.barLabels === 'topunder') {\n o = that.chart.pointOffset({x: el[0], y: el[1]});\n //o.top += 10;\n } else if (that.config.barLabels === 'bottom') {\n o = that.chart.pointOffset({x: el[0], y: 0});\n o.top += 20;\n } else {//if (that.config.barLabels === 'middle') {\n o = that.chart.pointOffset({x: el[0], y: el[1] / 2});\n }\n\n $('<div class=\"data-point-label\"><div style=\"width: 100%; margin-left: -50%;\">' + _yFormatter(el[1], d) + '</div></div>').css({\n position: 'absolute',\n left: o.left,\n top: o.top\n }).appendTo(that.chart.getPlaceholder());\n });\n }\n if (that.config.barFontSize || that.config.barFontColor) {\n $('.data-point-label').css({\n 'font-size': that.config.barFontSize || undefined,\n color: that.config.barFontColor || undefined\n });\n }\n\n }, animation ? parseInt(animation) + 200 : 0);\n }\n\n if (markLines && markLines.length) {\n setTimeout(function () {\n var data = that.chart.getData();\n var num = 0;\n for (var m = 0; m < markLines.length; m++) {\n if (markLines[m].d && data[markLines[m].l + markingsOffset]) {\n var line = data[num].data;\n var o;\n var text;\n if (markLines[m].p === 'l') {\n o = that.chart.pointOffset({x: line[0][0], y: line[0][1], yaxis: data[markLines[m].l + markingsOffset].yaxis, xaxis: data[markLines[m].l + markingsOffset].xaxis});\n o.top -= markLines[m].py;\n text = markLines[m].d;\n } else {//if (markLines[m].p === 'r') {\n o = that.chart.pointOffset({x: line[1][0], y: line[1][1], yaxis: data[markLines[m].l + markingsOffset].yaxis, xaxis: data[markLines[m].l + markingsOffset].xaxis});\n o.top -= markLines[m].py;\n text = '<div style=\"width: 100%; margin-left: -100%; padding-right: 15px; white-space: nowrap\">' + markLines[m].d + '</div>';\n }\n $('<div class=\"marklines-label\" style=\"padding-left: 10px; white-space: nowrap\">' + text + '</div>').css({\n position: 'absolute',\n left: o.left,\n top: o.top,\n 'font-size': markLines[m].fs || undefined,\n color: markLines[m].fc || undefined\n }).appendTo(that.chart.getPlaceholder());\n }\n if (markLines[m].vl !== '' && markLines[m].vl !== null && markLines[m].vl !== undefined) {\n num++;\n }\n num++;\n }\n }, animation ? parseInt(animation) + 200 : 0);\n }\n }\n\n (function _constructor () {\n series = [];\n var smoothing = false;\n var $title = $('#' + that.options.titleId);\n\n if (that.config.title && !$title.html()) {\n $title.html(that.config.titlePos ? decodeURI(that.config.title) : '');\n if (that.config.titleColor) $title.css('color', that.config.titleColor);\n if (that.config.titleSize) $title.css('font-size', that.config.titleSize);\n if (that.config.titlePos) {\n var parts = that.config.titlePos.split(';');\n var css = {};\n for (var t = 0; t < parts.length; t++) {\n var p = parts[t].split(':');\n\n // Bottom inside\n if (p[0] === 'bottom' && p[1] == '5') {\n if (that.config.height.indexOf('%') === -1) {\n css.top = parseInt(that.config.height, 10) - $title.height() - 45;\n } else {\n css.top = 'calc(' + that.config.height + ' - ' + ($title.height() + 45) + 'px)';\n }\n } else\t// Bottom outside\n if (p[0] === 'bottom' && p[1] == '-5') {\n if (that.config.height.indexOf('%') === -1) {\n css.top = parseInt(that.config.height, 10) + 5;\n } else {\n css.top = 'calc(' + that.config.height + ' + 5px)';\n }\n } else\t// Middle\n if (p[0] === 'top' && p[1] == '50') {\n if (that.config.height.indexOf('%') === -1) {\n css.top = (parseInt(that.config.height, 10) - $title.height()) / 2;\n } else {\n css.top = 'calc(50% - ' + ($title.height() / 2) + 'px)';\n }\n } else\t// Center\n if (p[0] === 'left' && p[1] == '50') {\n if (that.config.width.indexOf('%') === -1) {\n css.left = (parseInt(that.config.width, 10) - $title.width()) / 2;\n } else {\n css.left = 'calc(50% - ' + ($title.width() / 2) + 'px)';\n }\n } else\t// Right inside\n if (p[0] === 'right' && p[1] == '5') {\n if (that.config.width.indexOf('%') === -1) {\n css.left = parseInt(that.config.width, 10) - $title.width() - 45;\n } else {\n css.left = 'calc(' + that.config.width + ' - ' + ($title.width() + 45) + 'px)';\n }\n } else\t// Right outside\n if (p[0] === 'right' && p[1] == '-5') {\n if (that.config.width.indexOf('%') === -1) {\n css.left = parseInt(that.config.width, 10) + 25;\n } else {\n css.left = 'calc(' + that.config.width + ' + 5px)';\n }\n } else {\n css[p[0]] = p[1];\n }\n }\n\n $title.css(css);\n }\n }\n\n // Replace background\n if (that.config.bg && that.config.bg.length < 3 && backgrounds[that.config.bg]) that.config.bg = {colors: backgrounds[that.config.bg]};\n\n markingsOffset = 0;\n // draw horizontal lines\n if (markLines && markLines.length) {\n for (var m = 0; m < markLines.length; m++) {\n markingsOffset++;\n markLines[m].v = parseFloat(markLines[m].v) || 0; // value\n markLines[m].l = parseInt(markLines[m].l) || 0; // line number\n markLines[m].s = parseFloat(markLines[m].s) || 0; // shadow size\n markLines[m].t = parseFloat(markLines[m].t) || 0; // line width\n markLines[m].py = parseFloat(markLines[m].py) || 0; // y offset of label\n series.push({\n id: 'line' + m,\n xaxis: {show: false},\n color: markLines[m].c || undefined,\n lines: {\n show: true,\n fill: markLines[m].f === '1' || markLines[m].f === 1 || markLines[m].f === 'true' || markLines[m].f === true,\n steps: true,\n lineWidth: markLines[m].t\n },\n data: [[0, markLines[m].v], [100, markLines[m].v]],\n label: '__hide_me__',\n shadowSize: markLines[m].s\n });\n // if lower value set\n if (markLines[m].vl !== '' && markLines[m].vl !== null && markLines[m].vl !== undefined) {\n markingsOffset++;\n markLines[m].vl = parseFloat(markLines[m].vl) || 0;\n series.push({\n xaxis: {show: false},\n color: markLines[m].c || undefined,\n lines: {\n show: true,\n fill: true,\n steps: true,\n lineWidth: markLines[m].t\n },\n data: [[0, markLines[m].vl], [100, markLines[m].vl]],\n fillBetween: 'line' + m,\n label: '__hide_me__',\n shadowSize: markLines[m].s\n });\n }\n }\n }\n\n //todo make bar working\n// if (that.config.renderer !== 'bar' || that.config._ids.length <= 1) {\n var xMin = Infinity;\n var xMax = 0;\n for (var i = 0; i < seriesData.length; i++) {\n if (seriesData[i] && that.config.l[i]) {\n\n that.config.l[i].chartType = that.config.l[i].chartType || that.config.chartType || 'line';\n that.config.l[i].dashes = that.config.l[i].dashes === true || that.config.l[i].dashes === 'true';\n that.config.l[i].dashLength = parseFloat(that.config.l[i].dashLength) || 10;\n that.config.l[i].spaceLength = parseFloat(that.config.l[i].spaceLength) || 10;\n var isLine = that.config.l[i].chartType !== 'scatterplot' && that.config.l[i].chartType !== 'bar' && that.config.l[i].chartType !== 'spline';\n\n var option = {\n color: that.config.l[i].color || undefined,\n lines: {\n show: (!that.config.l[i].dashes && isLine),\n fill: (that.config.l[i].fill && that.config.l[i].fill !== '0') ? parseFloat(that.config.l[i].fill) : (that.config.l[i].chartType === 'area' || that.config.l[i].chartType === 'bar'),\n steps: (that.config.l[i].chartType === 'steps'),\n lineWidth: that.config.l[i].thickness\n },\n splines: {\n show: (that.config.l[i].chartType === 'spline'),\n tension: 0.5, //(float between 0 and 1, defaults to 0.5),\n lineWidth: that.config.l[i].thickness,\n fill: (that.config.l[i].fill && that.config.l[i].fill !== '0') ? parseFloat(that.config.l[i].fill) : false //(float between 0 .. 1 or false, as in flot documentation)\n },\n bars: {\n show: (that.config.l[i].chartType === 'bar'),\n order: i + 1,\n barWidth: 0.6,\n lineWidth: that.config.l[i].thickness,\n fill: (that.config.l[i].fill && that.config.l[i].fill !== '0') ? parseFloat(that.config.l[i].fill) : false,\n fillColor: that.config.barColor || undefined,\n align: 'center'\n },\n points: {\n show: (that.config.l[i].chartType === 'lineplot' || that.config.l[i].chartType === 'scatterplot' || that.config.l[i].points === 'true' || that.config.l[i].points === true)\n },\n data: seriesData[i],\n label: that.config.l[i].name,\n shadowSize: that.config.l[i].shadowsize,\n dashes: {\n show: that.config.l[i].dashes && isLine,\n lineWidth: that.config.l[i].thickness,\n dashLength: [that.config.l[i].dashLength, that.config.l[i].spaceLength]\n }\n };\n\n if ((that.config.smoothing && that.config.smoothing > 0) || (that.config.l[i].smoothing && that.config.l[i].smoothing > 0)) {\n smoothing = true;\n that.config.l[i].smoothing = parseInt(that.config.l[i].smoothing || that.config.smoothing);\n option.data = avg(option.data, that.config.l[i].smoothing);\n } else {\n that.config.l[i].smoothing = 0;\n }\n\n that.config.l[i].afterComma = (that.config.l[i].afterComma === undefined || that.config.l[i].afterComma === '') ? that.config.afterComma : parseInt(that.config.l[i].afterComma, 10);\n\n if (that.config.l[i].chartType === 'bar') {\n option.bars.barWidth = (option.data[option.data.length - 1][0] - option.data[0][0]) / option.data.length * (parseFloat(that.config.barWidth) || 0.5);\n }\n /*\n if (that.config.l[i].chartType === 'pie') {\n series.legend = {\n show: !!that.config.legend,\n position: that.config.legend\n };\n } else if (that.config.l[i].chartType === 'bar') {\n var series = {\n series: {\n bars: {\n show: that.config.l[i].chartType === 'bar',\n barWidth: 0.6,\n align: \"center\"\n },\n pie: {\n show: that.config.l[i].chartType === 'pie'\n },\n legend: {\n show: !!that.config.legend,\n position: that.config.legend\n }\n }\n };\n */\n\n series.push(option);\n\n if (seriesData[i][0][0] < xMin) xMin = seriesData[i][0][0];\n if (seriesData[i][seriesData[i].length - 1][0] > xMax) xMax = seriesData[i][seriesData[i].length - 1][0];\n }\n }\n\n\n if (that.config.min === null || that.config.min === undefined || that.config.min === '' || that.config.min.toString() === 'NaN') {\n that.config.min = undefined;\n } else {\n that.config.min = parseFloat(that.config.min);\n }\n\n if (that.config.noBorder) {\n if (!that.config.width) that.config.width = '100%';\n if (!that.config.height) that.config.height = '100%';\n\n if (that.config.width.indexOf('%') !== -1) {\n $('#chart_container').css({width: 'calc(' + that.config.width + ' - 20px)'}); // original 20px\n } else {\n $('#chart_container').css({width: that.config.width});\n }\n if (that.config.height.indexOf('%') !== -1) {\n $('#chart_container').css({height: 'calc(' + that.config.height + ' - 20px)'});// original 20px\n } else {\n $('#chart_container').css({height: that.config.height});\n }\n\n } else {\n $('#chart_container').addClass('chart-container').css({width: that.config.width, height: that.config.height});\n// $('#chart_container').css({'padding-bottom':\"100px\"})\n }\n\n if (that.config.timeFormat === 'null') that.config.timeFormat = undefined;\n\n if (that.config.timeFormat) {\n if (that.config.timeFormat.indexOf('%H:%M:%S') !== -1) {\n that.config.timeFormatTime = '%H:%M:%S';\n } else if (that.config.timeFormat.indexOf('%I:%M:%S') !== -1) {\n that.config.timeFormatTime = '%I:%M:%S';\n } else if (that.config.timeFormat.indexOf('%H:%M.') !== -1) {\n that.config.timeFormatTime = '%H:%M.';\n } else if (that.config.timeFormat.indexOf('%H:%M') !== -1) {\n that.config.timeFormatTime = '%H:%M';\n } else {\n that.config.timeFormatTime = null;\n }\n if (that.config.timeFormat.indexOf('%d.%m.%y') !== -1) {\n that.config.timeFormatDate = '%d.%m.%y';\n } else if (that.config.timeFormat.indexOf('%x %p') !== -1) {\n that.config.timeFormatDate = '%x %p';\n } else if (that.config.timeFormat.indexOf('%d/%m/%y') !== -1) {\n that.config.timeFormatDate = '%d/%m/%y';\n } else if (that.config.timeFormat.indexOf('%m.%d.%y') !== -1) {\n that.config.timeFormatDate = '%m.%d.%y';\n } else if (that.config.timeFormat.indexOf('%d.%m') !== -1) {\n that.config.timeFormatDate = '%d.%m';\n } else if (that.config.timeFormat.indexOf('%a') !== -1) {\n that.config.timeFormatDate = '%a';\n } else {\n that.config.timeFormatDate = null;\n }\n }\n\n settings = {\n grid: {\n hoverable: (that.config.hoverDetail === 'true' || that.config.hoverDetail === true),\n backgroundColor: that.config.bg || undefined,\n borderWidth: (!that.config.border_width && that.config.border_width !== '0' && that.config.border_width !== 0) ? undefined : parseInt(that.config.border_width, 10),\n borderColor: that.config.border_color || undefined\n },\n yaxes: [],\n xaxes: [],\n legend: {\n show: !!that.config.legend,\n position: that.config.legend,\n hideable: true,\n noColumns: parseInt(that.config.legColumns, 10) || undefined,\n backgroundColor: that.config.legBg || undefined,\n backgroundOpacity: that.config.legBgOpacity !== undefined ? parseFloat(that.config.legBgOpacity) : 0.85,\n labelFormatter: function (label, series) {\n if (label === '__hide_me__') return null;\n return '<span class=\"graphlabel\">' + label + '</span>';\n }\n }\n };\n\n if (that.config.zoom) {\n settings.zoom = {\n interactive: true,\n trigger: 'dblclick', // or \"click\" for single click\n amount: 1.5 // 2 = 200% (zoom in), 0.5 = 50% (zoom out)\n };\n settings.pan = {\n interactive: true,\n cursor: 'move', // CSS mouse cursor value used when dragging, e.g. \"pointer\"\n frameRate: 20\n };\n }\n\n var steps = that.config.animation < 1000 ? 20 : 50;\n\n var ii;\n for (ii = 0; ii < that.config.l.length; ii++) {\n\n that.config.l[ii].yaxe = that.config.l[ii].yaxe || '';\n that.config.l[ii].xaxe = that.config.l[ii].xaxe || '';\n that.config.l[ii].commonYAxis = that.config.l[ii].commonYAxis || '';\n\n var yaxi = {\n show: that.config.l[ii].yaxe !== 'off',\n min: (that.config.l[ii].min !== '' && that.config.l[ii].min !== null && that.config.l[ii].min !== undefined) ? parseFloat(that.config.l[ii].min) : undefined,\n max: (that.config.l[ii].max !== '' && that.config.l[ii].max !== null && that.config.l[ii].max !== undefined) ? parseFloat(that.config.l[ii].max) : undefined,\n position: that.config.l[ii].yaxe.indexOf('left') > -1 ? 'left' : 'right',\n font: {\n color: that.config.l[ii].yaxe.indexOf('Color') > -1 ? that.config.l[ii].color : (that.config.y_labels_color || 'black')\n },\n zoomRange: false, // or [ number, number ] (min range, max range) or false\n panRange: false, // or [ number, number ] (min, max) or false\n // to do\n /*{\n size: 11,\n lineHeight: 13,\n style: \"italic\",\n weight: \"bold\",\n family: \"sans-serif\",\n variant: \"small-caps\",\n color: \"#545454\"\n }*/\n ticks: parseInt(that.config.l[ii].yticks, 10) || undefined,\n tickColor: that.config.grid_color || undefined,\n tickFormatter: _tickYFormatter\n };\n\n var xaxi = {\n show: that.config.l[ii].xaxe !== 'off',\n position: that.config.l[ii].xaxe.indexOf('top') !== -1 ? 'top' : 'bottom',\n font: {\n color: that.config.l[ii].xaxe.indexOf('Color') !== -1 ? that.config.l[ii].color : (that.config.x_labels_color || 'black')\n },\n zoomRange: null, // or [ number, number ] (min range, max range) or false\n panRange: null, // or [ number, number ] (min, max) or false\n mode: 'time',\n //timeformat: that.config.timeFormat,\n //timezone: \"browser\",\n tickFormatter: that.config.timeFormat ? _tickXFormatter : null,\n minTickSize: (that.config.l[ii].chartType === 'bar') ? series[ii + markingsOffset].bars.barWidth : undefined,\n tickColor: that.config.grid_color || undefined,\n ticks: parseInt(that.config.l[ii].xticks, 10) || undefined,\n min: undefined,\n max: undefined\n };\n\n // prepare for bar\n if (that.config.l[ii].chartType === 'bar') {\n settings.legend.hideable = false;\n\n xaxi.ticks = [];\n for (var m = 0; m < seriesData[ii].length; m++) {\n xaxi.ticks.push(seriesData[ii][m][0]);\n // Normally first and last points are invalid\n }\n seriesData[ii][0][1] = null;\n seriesData[ii][seriesData[ii].length - 1][1] = null;\n } else if (ticks) {\n xaxi.ticks = ticks;\n }\n\n if (that.config.zoom) {\n var now = new Date();\n xaxi.zoomRange = [null, now.getTime()]; // or [ number, number] (min range, max range) or false\n xaxi.panRange = [null, now.getTime()]; // or [ number, number] (min range, max range) or false\n }\n\n settings.yaxes.push(yaxi);\n settings.xaxes.push(xaxi);\n\n // Support for commonYAxis\n if (that.config.l[ii].commonYAxis !== '') {\n series[ii + markingsOffset].yaxis = parseInt(that.config.l[ii].commonYAxis);\n } else {\n series[ii + markingsOffset].yaxis = ii + 1;\n }\n series[ii + markingsOffset].xaxis = ii + 1;\n\n series[ii + markingsOffset].curvedLines = {\n apply: !!that.config.l[ii].smoothing,\n active: !!that.config.l[ii].smoothing,\n monotonicFit: true\n };\n }\n\n // set yaxis\n if (markLines && markLines.length) {\n var num = 0;\n for (var mm = 0; mm < markLines.length; mm++) {\n if (series[markLines[mm].l + markingsOffset]) {\n markLines[mm].l = parseInt(markLines[mm].l, 10);\n series[num].yaxis = series[markLines[mm].l + markingsOffset].yaxis;\n series[num].data[0][0] = xMin;\n series[num].data[1][0] = xMax;\n num++;\n // if lower value set\n if (markLines[mm].vl !== '' && markLines[mm].vl !== null && markLines[mm].vl !== undefined) {\n series[num].yaxis = series[markLines[mm].l + markingsOffset].yaxis;\n series[num].data[0][0] = xMin;\n series[num].data[1][0] = xMax;\n num++;\n }\n }\n }\n }\n\n if (smoothing) {\n settings.series = settings.series || {};\n settings.series.curvedLines = {\n apply: true,\n active: true,\n monotonicFit: true\n };\n }\n if (that.config.animation) {\n settings.series = settings.series || {};\n settings.series.grow = {\n active: true,\n steps: steps,\n stepDelay: that.config.animation / steps\n };\n }\n\n // hiddengraphs overload the labelFormatter, so we should overload the hiddengraphs\n $.plot.plugins.push({\n init: function (plot) {\n plot.hooks.processOptions.push(function checkOptions(plot, options) {\n if (!options.legend.hideable) {\n return;\n }\n\n options.legend.labelFormatter = function(label, series) {\n if (label === '__hide_me__') return null;\n return '<span class=\"graphlabel\">' + label + '</span>';\n };\n });\n },\n options: options,\n name: 'hiddenGraphsEx',\n version: '1.0'\n });\n\n that.chart = $.plot('#' + that.options.chartId, series, settings);\n\n showLabels(that.config.animation);\n\n var $div = $('#' + that.options.chartId);\n\n that.options.tooltipId = that.options.tooltipId || 'tooltip';\n\n // Hoover\n if (that.config.hoverDetail === 'true' || that.config.hoverDetail === true) {\n $div.unbind('plothover').bind('plothover', function (event, pos, item) {\n if (item) {\n var x = item.datapoint[0].toFixed(2);\n var y;\n\n if (that.config.l[item.seriesIndex - markingsOffset].type === 'boolean') {\n y = !!Math.round(item.datapoint[1] - that.config.l[item.seriesIndex - markingsOffset].yOffset);\n } else {\n y = (item.datapoint[1] - that.config.l[item.seriesIndex - markingsOffset].yOffset).toFixed(2);\n }\n\n var text = item.series.label ? item.series.label + '<br>' : '';\n text += $.plot.formatDate(new Date(parseInt(x, 10)), that.config.timeFormat) + '<br>';\n text += '<b>' + _yFormatter(y, item.seriesIndex - markingsOffset) + '</b>';\n\n var $tooltip = $('#' + that.options.tooltipId).html(text);\n if ($(this).height() - item.pageY < $tooltip.height()) {\n item.pageY -= 10 + $tooltip.height();\n }\n if ($(this).width() - item.pageX < $tooltip.width()) {\n item.pageX -= 10 + $tooltip.width();\n }\n $tooltip.css({top: item.pageY + 5, left: item.pageX + 5}).fadeIn(200);\n } else {\n $('#tooltip').hide();\n }\n });\n\n if (!$('#' + that.options.tooltipId).length) {\n $('<div id=\"' + that.options.tooltipId + '\"></div>').css({\n position: 'absolute',\n display: 'none',\n border: '1px solid #fdd',\n padding: '2px',\n 'background-color': '#fee',\n opacity: 0.80\n }).appendTo('body');\n }\n }\n\n if (that.config.zoom && that.options.cbOnZoom) {\n $div.unbind('plotzoom').bind('plotzoom', function (e, plot, args) {\n if (that.zoomTimeout) clearTimeout(that.zoomTimeout);\n that.zoomTimeout = setTimeout(that.options.cbOnZoom, 500);\n }).unbind('plotpan').bind('plotpan', function (e, plot, args) {\n if (that.zoomTimeout) clearTimeout(that.zoomTimeout);\n that.zoomTimeout = setTimeout(that.options.cbOnZoom, 500);\n })\n }\n })();\n\n this.update = function (newSeriesData, newMarkingsData, newTicks) {\n if (newSeriesData) {\n var xMin = Infinity;\n var xMax = 0;\n\n for (var index = 0; index < config.l.length; index++) {\n series[index + markingsOffset].data = newSeriesData[index];\n if (newSeriesData[index][0][0] < xMin) xMin = newSeriesData[index][0][0];\n if (newSeriesData[index][newSeriesData[index].length - 1][0] > xMax) xMax = newSeriesData[index][newSeriesData[index].length - 1][0];\n\n // prepare for bar\n if (config.l[index].chartType === 'bar') {\n settings.xaxes[index].ticks = [];\n for (var m = 0; m < newSeriesData[index].length; m++) {\n settings.xaxes[index].ticks.push(newSeriesData[index][m][0]);\n }\n // Normally first and last points are invalid\n newSeriesData[index][0][1] = null;\n newSeriesData[index][newSeriesData[index].length - 1][1] = null;\n }\n }\n\n // update xmin and xmax\n if (markLines && markLines.length) {\n var num_ = 0;\n for (var m = 0; m < markLines.length; m++) {\n series[num_].data[0][0] = xMin;\n series[num_].data[1][0] = xMax;\n num_++;\n // if lower value set\n if (markLines[m].vl !== '' && markLines[m].vl !== null && markLines[m].vl !== undefined) {\n series[num_].data[0][0] = xMin;\n series[num_].data[1][0] = xMax;\n num_++;\n }\n }\n }\n\n $('.data-point-label').remove();\n $('.marklines-label').remove();\n\n if (settings.series && settings.series.grow) settings.series.grow.active = false;\n }\n if (newMarkingsData) {\n if (newMarkingsData && newMarkingsData.length) {\n var num = 0;\n for (var mm = 0; mm < newMarkingsData.length; mm++) {\n series[num].data[0][1] = newMarkingsData[mm].v;\n series[num].data[1][1] = newMarkingsData[mm].v;\n num++;\n // if lower value set\n if (newMarkingsData[mm].vl !== '' && newMarkingsData[mm].vl !== null && newMarkingsData[mm].vl !== undefined) {\n series[num].data[0][1] = newMarkingsData[mm].vl;\n series[num].data[1][1] = newMarkingsData[mm].vl;\n num++;\n }\n }\n }\n }\n this.chart = $.plot('#' + this.options.chartId, series, settings);\n showLabels(false);\n };\n\n this.getRange = function () {\n var opt = this.chart.getOptions();\n var result = [];\n for (var index = 0; index < opt.xaxes.length; index++) {\n result[index] = {\n min: Math.round(opt.xaxes[index].min),\n max: Math.round(opt.xaxes[index].max)\n };\n settings.xaxes[index].max = result[index].max;\n settings.xaxes[index].min = result[index].min;\n }\n return result;\n };\n\n this.setRange = function (minMaxArr) {\n for (var index = 0; index < settings.xaxes.length; index++) {\n settings.xaxes[index].min = minMaxArr[index].min;\n settings.xaxes[index].max = minMaxArr[index].max;\n }\n };\n\n this.resetZoom = function (time) {\n time = time || new Date();\n for (var index = 0; index < settings.xaxes.length; index++) {\n settings.xaxes[index].zoomRange = [null, time.getTime()];\n settings.xaxes[index].panRange = [null, time.getTime()];\n }\n };\n\n this.zoom = function (positionX, amount) {\n var offset = this.chart.offset();\n this.chart.zoom({\n center: {\n left: positionX - offset.left,\n height: this.chart.height() / 2\n },\n amount: amount\n });\n };\n\n this.pan = function (positionX) {\n this.chart.pan({left: positionX, top: 0});\n };\n\n return this;\n}\n\n\n\n","'use strict';\n\n// Show \"no connection\" message after 5 seconds\nvar disconnectTimeout = setTimeout(function () {\n disconnectTimeout = null;\n //Show disconnected message\n $('#no-connection').show();\n}, 5000);\n\nvar sessionId = 1;\n// Analyse query\nvar path = location.href.split('?')[1];\n\nvar systemLang = 'en';\nif (typeof sysLang !== 'undefined') {\n systemLang = sysLang || 'en';\n}\n\n\n// convert old format to new one\n// OLD: http://localhost:8082/flot/index.html?range=1440&renderer=line&axeX=l&axeY=inside&_ids=system.adapter.admin.0.memRss%2Csystem.adapter.email.0.memRss&_colors=%23c05020%3B%2330c020%3B%236060c0\n// NEW: http://localhost:8082/flot/index.html?l%5B0%5D%5Bid%5D=system.adapter.admin.0.memRss&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=average&l%5B0%5D%5Bcolor%5D=%23FF0000&l%5B0%5D%5Bthickness%5D=3&l%5B1%5D%5Bid%5D=system.adapter.email.0.memRss&l%5B1%5D%5Boffset%5D=0&l%5B1%5D%5Bart%5D=average&l%5B1%5D%5Bcolor%5D=%2300FF00&l%5B1%5D%5Bthickness%5D=3&timeType=relative&relativeEnd=now&range=10&aggregateType=step&aggregateSpan=300&legend=sw\n// OLD =>\n//{\n// _colors: \"#c05020;#30c020;#6060c0\"\n// _ids: \"system.adapter.admin.0.memRss,system.adapter.email.0.memRss\"\n// axeX: \"lines\"\n// axeY: \"inside\"\n// range: \"1440\"\n// renderer: \"line\"\n//}\n// NEW =>\n//{\n// \"l\" : [\n// {\n// \"id\" : \"system.adapter.admin.0.memRss\",\n// \"offset\" : \"0\",\n// \"aggregate\" : \"minmax\",\n// \"color\" : \"#FF0000\",\n// \"thickness\" : \"3\"\n// }, {\n// \"id\" : \"system.adapter.email.0.memRss\",\n// \"offset\" : \"0\",\n// \"aggregate\" : \"minmax\",\n// \"color\" : \"#00FF00\",\n// \"thickness\" : \"3\"\n// }\n// ],\n// \"timeType\" : \"relative\",\n// \"relativeEnd\" : \"now\",\n// \"range\" : \"10\",\n// \"aggregateType\" : \"step\",\n// \"aggregateSpan\" : \"300\",\n// \"legend\" : \"sw //}\n\nvar config = deparam(path || '');\n\nif (config.lines) {\n config.l = JSON.parse(JSON.stringify(config.lines));\n delete config.lines;\n}\n\nif (config._ids) {\n var ids = config._ids ? config._ids.split(';') : [];\n var colors = config._colors ? config._colors.split(';') : [];\n var names = config._names ? config._names.split(';') : [];\n var units = config._units ? config._units.split(';') : [];\n config.l = [];\n for (var i = 0; i < ids.length; i++) {\n config.l.push({\n id: ids[i],\n offset: 0,\n name: names[i] || '',\n aggregate: 'onchange',\n color: colors[i] || 'blue',\n thickness: config.strokeWidth || 1,\n shadowsize: config.strokeWidth || 1,\n min: config.min || '',\n max: config.max || '',\n unit: units[i] || ''\n });\n }\n config.aggregateType = 'step';\n config.aggregateSpan = 300;\n config.relativeEnd = 'now';\n}\n\n// convert art to aggregate\nif (config.l) {\n for (var j = 0; j < config.l.length; j++) {\n if (config.l[j].art) {\n config.l[j].aggregate = config.l[j].art;\n delete config.l[j].art;\n }\n if (config.instance && !config.l[j].instance) {\n config.l[j].instance = config.instance;\n }\n }\n}\n\n// Set default values\nconfig.width = config.width || '100%';\nconfig.height = config.height || '100%';\nconfig.timeFormat = config.timeFormat || '%H:%M:%S %e.%m.%y';\nconfig.useComma = config.useComma === 'true' || config.useComma === true;\nconfig.zoom = config.zoom === 'true' || config.zoom === true;\nconfig.animation = parseInt(config.animation) || 0;\nconfig.noedit = config.noedit === 'true' || config.noedit === true;\nconfig.afterComma = (config.afterComma === undefined) ? 2 : parseInt(config.afterComma, 10);\nconfig.timeType = config.timeArt || config.timeType || 'relative';\n// if ((config.max !== undefined && config.max !== '' && config.max !== null && parseFloat(config.max) != NaN)) config.max = parseFloat(config.max);\nvar seriesData = [];\nvar ticks = null;\nvar liveInterval;\n\nvar navOptions = {};\nvar socketURL = '';\nvar socketSESSION = '';\nvar now = new Date();\nvar divId = 'chart_placeholder';\n\n// for zoom\nvar zoomTimeout = null;\nvar lastX = null;\nvar mouseDown = false;\nvar lastWidth = null;\nvar chart = null;\n\nvar isApp = false;\nvar subscribes = [];\nvar subscribed = false;\n// because of security issue\ntry {\n if ((window.top !== window.self) && (typeof window.top.app !== 'undefined') && (typeof window.top.socketUrl !== 'undefined')) {\n isApp = true;\n }\n} catch (e) {\n\n}\n\nif (isApp) {\n\tsocketURL = window.top.socketUrl; // if flot runs in iframe inside the app use the socketURL determined by app.js\n} else {\n\tif (typeof socketUrl !== 'undefined') {\n\t\tsocketURL = socketUrl;\n\t\tif (socketURL && socketURL[0] === ':') {\n\t\t\tsocketURL = location.protocol + '//' + location.hostname + socketURL;\n\t\t}\n\t\tsocketSESSION = socketSession;\n\t}\n}\nvar socket = io.connect(socketURL, {\n 'query': 'key=' + socketSESSION,\n 'reconnection limit': 10000,\n 'max reconnection attempts': Infinity,\n upgrade: typeof socketForceWebSockets !== 'undefined' ? !socketForceWebSockets : undefined,\n rememberUpgrade: typeof socketForceWebSockets !== 'undefined' ? socketForceWebSockets : undefined,\n transports: typeof socketForceWebSockets !== 'undefined' ? (socketForceWebSockets ? ['websocket'] : undefined) : undefined\n});\n\nsocket.on('connect', function () {\n if (disconnectTimeout) {\n $('#no-connection').hide();\n clearTimeout(disconnectTimeout);\n disconnectTimeout = null;\n }\n setTimeout(function () {\n socket.emit('name', 'flot');\n }, 50);\n\n setTimeout(function () {\n readData();\n }, 100);\n});\n\nsocket.on('stateChange', function (id, state) {\n if (!chart || !config || !config.m) return;\n console.log(id + ' - ' + state.val);\n for (var m = 0; m < config.m.length; m++) {\n if (config.m[m].oid === id) {\n config.m[m].v = parseFloat(state.val) || 0;\n }\n if (config.m[m].oidl === id) {\n config.m[m].vl = parseFloat(state.val) || 0;\n }\n }\n chart.update(null, config.m);\n});\n\nif (config.window_bg) $('body').css('background', config.window_bg);\n\nsocket.on('disconnect', function () {\n if (!disconnectTimeout) {\n disconnectTimeout = setTimeout(function () {\n disconnectTimeout = null;\n //Show disconnected message\n $('#no-connection').show();\n }, 5000);\n }\n});\n\nfunction addTime(time, offset, plusOrMinus, isOffsetInMinutes) {\n time = new Date(time);\n\n if (typeof offset === 'string') {\n if (offset[1] === 'm') {\n offset = parseInt(offset, 10);\n time.setMonth(plusOrMinus ? time.getMonth() + offset : time.getMonth() - offset);\n time = time.getTime();\n } else if (offset[1] === 'y') {\n offset = parseInt(offset, 10);\n time.setFullYear(plusOrMinus ? time.getFullYear() + offset : time.getFullYear() - offset);\n time = time.getTime();\n } else {\n time = time.getTime();\n if (isOffsetInMinutes) {\n if (plusOrMinus) {\n time += (parseInt(offset, 10) || 0) * 60000;\n } else {\n time -= (parseInt(offset, 10) || 0) * 60000;\n }\n\n } else {\n if (plusOrMinus) {\n time += (parseInt(offset, 10) || 0) * 1000;\n } else {\n time -= (parseInt(offset, 10) || 0) * 1000;\n }\n }\n }\n } else {\n time = time.getTime();\n if (isOffsetInMinutes) {\n if (plusOrMinus) {\n time += (parseInt(offset, 10) || 0) * 60000;\n } else {\n time -= (parseInt(offset, 10) || 0) * 60000;\n }\n\n } else {\n if (plusOrMinus) {\n time += (parseInt(offset, 10) || 0) * 1000;\n } else {\n time -= (parseInt(offset, 10) || 0) * 1000;\n }\n }\n }\n return time;\n}\n\nfunction getStartStop(index, step) {\n var option = {};\n var end;\n var start;\n var _now;\n config.l[index].offset = config.l[index].offset || 0;\n\n var isMonthRange = (config.range.indexOf('m') === -1) ? false : true;\n // check config range\n if (isMonthRange && config.l.length > 1) {\n var monthRange = parseInt(config.range, 10) || 1;\n for (var a = 0; a < config.l.length; a++) {\n if (config.l[a].offset && config.l[a].offset !== 0) {\n // Check what the month has first index\n _now = addTime(now, config.l[0].offset);\n var minusMonth = new Date(_now);\n minusMonth.setMonth(minusMonth.getMonth() - monthRange);\n config.range = Math.floor((_now - minusMonth.getTime()) / 60000) + '';\n break;\n }\n }\n }\n\n if (config.zoomed) {\n navOptions[index].end = config.l[index].zMax;\n navOptions[index].start = config.l[index].zMin;\n return navOptions[index];\n } else {\n if (!step) {\n if (config.timeType === 'static') {\n var startTime;\n var endTime;\n var y;\n var m;\n if (config.start_time !== undefined) {\n startTime = config.start_time.split(':').map(Number);\n } else {\n startTime = [0, 0];\n }\n\n if (config.end_time !== undefined) {\n endTime = config.end_time.split(':').map(Number);\n } else {\n endTime = [24, 0];\n }\n\n // offset is in seconds\n start = new Date(config.start).setHours(startTime[0], startTime[1]);\n end = new Date(config.end) .setHours(endTime[0], endTime[1]);\n start = addTime(start, config.l[index].offset);\n end = addTime(end, config.l[index].offset);\n } else {\n if (config.relativeEnd === 'now') {\n _now = new Date(now);\n } else if (config.relativeEnd.indexOf('minute') !== -1) {\n var minutes = parseInt(config.relativeEnd, 10) || 1;\n _now = new Date(now);\n _now.setMinutes(Math.floor(_now.getMinutes() / minutes) * minutes + minutes);\n _now.setSeconds(0);\n _now.setMilliseconds(0);\n } else if (config.relativeEnd.indexOf('hour') !== -1) {\n var hours = parseInt(config.relativeEnd, 10) || 1;\n _now = new Date(now);\n _now.setHours(Math.floor(_now.getHours() / hours) * hours + hours);\n _now.setMinutes(0);\n _now.setSeconds(0);\n _now.setMilliseconds(0);\n } else if (config.relativeEnd === 'today') {\n _now = new Date(now);\n _now.setDate(_now.getDate() + 1);\n _now.setHours(0);\n _now.setMinutes(0);\n _now.setSeconds(0);\n _now.setMilliseconds(0);\n } else if (config.relativeEnd === 'weekUsa') {\n //var week = parseInt(config.relativeEnd, 10) || 1;\n _now = new Date(now);\n _now.setDate(_now.getDate() - _now.getDay() + 7);\n _now.setHours(0);\n _now.setMinutes(0);\n _now.setSeconds(0);\n _now.setMilliseconds(0);\n } else if (config.relativeEnd === 'weekEurope') {\n //var _week = parseInt(config.relativeEnd, 10) || 1;\n _now = new Date(now);\n // If\n if (_now.getDay() === 0) {\n _now.setDate(_now.getDate() + 1);\n } else {\n _now.setDate(_now.getDate() - _now.getDay() + 8);\n }\n _now.setHours(0);\n _now.setMinutes(0);\n _now.setSeconds(0);\n _now.setMilliseconds(0);\n } else if (config.relativeEnd === 'month') {\n _now = new Date(now);\n _now.setMonth(_now.getMonth() + 1);\n _now.setDate(1);\n _now.setHours(0);\n _now.setMinutes(0);\n _now.setSeconds(0);\n _now.setMilliseconds(0);\n } else if (config.relativeEnd === 'year') {\n _now = new Date(now);\n _now.setFullYear(_now.getFullYear() + 1);\n _now.setMonth(0);\n _now.setDate(1);\n _now.setHours(0);\n _now.setMinutes(0);\n _now.setSeconds(0);\n _now.setMilliseconds(0);\n }\n\n end = addTime(_now, config.l[index].offset);\n start = addTime(end, config.range, false, true);\n }\n\n option = {\n start: start,\n end: end,\n ignoreNull: (config.l[index].ignoreNull === undefined) ? config.ignoreNull : config.l[index].ignoreNull,\n aggregate: config.l[index].aggregate || config.aggregate || 'minmax'\n };\n\n if (config.aggregateType === 'step') {\n option.step = config.aggregateSpan * 1000;\n } else if (config.aggregateType === 'count') {\n option.count = config.aggregateSpan || (document.getElementById('chart_container').clientWidth / 10);\n }\n\n navOptions[index] = option;\n return option;\n\n } else {\n end = addTime(now, config.l[index].offset);\n start = end - step;\n\n option = {\n start: start,\n end: end,\n ignoreNull: (config.l[index].ignoreNull === undefined) ? config.ignoreNull : config.l[index].ignoreNull,\n aggregate: config.l[index].aggregate || config.aggregate || 'minmax',\n count: 1\n };\n\n navOptions[index].end = end;\n navOptions[index].start = addTime(end, config.range, false, true);\n return option;\n }\n }\n}\n\nfunction readOneChart(id, instance, index, callback) {\n\n var option = getStartStop(index);\n option.instance = instance;\n option.sessionId = sessionId;\n config.l[index].yOffset = parseFloat(config.l[index].yOffset) || 0;\n\n //console.log(JSON.stringify(option));\n console.log(new Date(option.start) + ' - ' + new Date(option.end));\n socket.emit('getHistory', id, option, function (err, res, stepIgnore, _sessionId) {\n if (err) console.error(err);\n\n if (sessionId && _sessionId && _sessionId !== sessionId) {\n console.warn('Ignore request with sessionId=' + _sessionId + ', actual is ' + sessionId);\n return;\n }\n\n if (!err && res) {\n //option.ignoreNull = (config.l[index].ignoreNull === undefined) ? (config.ignoreNull === 'true' || config.ignoreNull === true) : (config.l[index].ignoreNull === 'true' || config.l[index].ignoreNull === true);\n option.yOffset = config.l[index].yOffset;\n\n var _series = seriesData[index];\n\n for (var i = 0; i < res.length; i++) {\n // if less 2000.01.01 00:00:00\n if (res[i].ts < 946681200000) res[i].ts = res[i].ts * 1000;\n\n // Convert boolean values to numbers\n if (res[i].val === 'true' || res[i].val === true) {\n res[i].val = 1;\n } else if (res[i].val === 'false' || res[i].val === false) {\n res[i].val = 0;\n }\n if (typeof res[i].val === 'string') res[i].val = parseFloat(res[i].val);\n\n _series.push([res[i].ts, res[i].val !== null ? res[i].val + option.yOffset : null]);\n }\n // add start and end\n if (_series.length) {\n if (_series[0][0] > option.start) _series.unshift([option.start, null]);\n if (_series[_series.length - 1][0] < option.end) _series.push([option.end, null]);\n } else {\n _series.push([option.start, null]);\n _series.push([option.end, null]);\n }\n // free memory\n res = null;\n }\n\n if (callback) callback(id, index);\n });\n}\n\nfunction readValue(id, index, callback) {\n socket.emit('getState', id, function (err, state) {\n if (state) {\n callback(index, parseFloat(state.val) || 0);\n } else {\n callback(index, 0);\n }\n });\n}\n\nfunction prepareChart() {\n chart = new CustomChart({\n chartId: divId,\n titleId: 'title',\n tooltipId: 'tooltip',\n cbOnZoom: onZoom\n }, config, seriesData, config.m, ticks);\n\n if (config.zoom) {\n $('#resetZoom').unbind('click').click(function () {\n seriesData = [];\n $('#resetZoom').hide();\n config.zoomed = false;\n now = new Date();\n readData(true);\n });\n\n // handlers for zoom and pan\n $('#' + divId)\n // flot can pan and zoom with mouse itself\n /*.unbind('mousedown')\n .mousedown(function (e) {\n mouseDown = true;\n lastX = e.pageX;\n })\n .unbind('mouseup').mouseup(function () {\n mouseDown = false;\n if (zoomTimeout) clearTimeout(zoomTimeout);\n zoomTimeout = setTimeout(onZoom, 500);\n })\n .unbind('mousemove')\n .mousemove(function(e) {\n if (mouseDown) {\n chart.pan(e.pageX - lastX);\n }\n lastX = e.pageX;\n })\n .unbind('mousewheel DOMMouseScroll')\n .bind('mousewheel DOMMouseScroll', function(event) {\n var amount = (event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0) ? 0.9 : 1.1;\n chart.zoom(event.originalEvent.pageX, amount);\n if (zoomTimeout) clearTimeout(zoomTimeout);\n zoomTimeout = setTimeout(onZoom, 500);\n })*/\n .unbind('touchstart')\n .on('touchstart', function (e) {\n e.preventDefault();\n mouseDown = true;\n var touches = e.touches || e.originalEvent.touches;\n if (touches) {\n lastX = touches[touches.length - 1].pageX;\n if (touches.length > 1) {\n lastWidth = Math.abs(touches[0].pageX - touches[1].pageX);\n } else {\n lastWidth = null;\n }\n }\n })\n .unbind('touchend')\n .on('touchend', function(e) {\n e.preventDefault();\n mouseDown = false;\n if (zoomTimeout) clearTimeout(zoomTimeout);\n zoomTimeout = setTimeout(onZoom, 500);\n })\n .unbind('touchmove')\n .on('touchmove', function (e) {\n e.preventDefault();\n var touches = e.touches || e.originalEvent.touches;\n if (!touches) return;\n if (mouseDown) {\n var pageX = touches[touches.length - 1].pageX;\n if (touches.length > 1) {\n // zoom\n var width = Math.abs(touches[0].pageX - touches[1].pageX);\n\n if (lastWidth !== null && width !== lastWidth) {\n var amount = (width > lastWidth) ? 1.1 : 0.9;\n var positionX = (touches[0].pageX > touches[1].pageX) ? (touches[1].pageX + width / 2) : (touches[0].pageX + width / 2);\n\n chart.zoom(positionX, amount);\n\n if (zoomTimeout) clearTimeout(zoomTimeout);\n zoomTimeout = setTimeout(onZoom, 500);\n }\n lastWidth = width;\n } else {\n // swipe\n chart.pan(lastX - pageX);\n }\n }\n lastX = pageX;\n });\n }\n\n if (config.live && config.timeType === 'relative') {\n if (config.live === true || config.live === 'true') config.live = 30;\n config.live = parseInt(config.live, 10) || 30;\n startLiveUpdate();\n }\n}\n\nfunction _readOneLine(index, cb) {\n socket.emit('getObject', config.l[index].id, function (err, res) {\n if (!err && res && res.common) {\n config.l[index].name = config.l[index].name || res.common.name;\n config.l[index].unit = config.l[index].unit || (res.common.unit ? res.common.unit.replace('<27>', '°') : '');\n config.l[index].type = res.common.type;\n } else {\n config.l[index].name = config.l[index].name || config.l[index].id;\n config.l[index].unit = config.l[index].unit || '';\n }\n if (typeof config.l[index].name === 'object') {\n config.l[index].name = config.l[index].name[systemLang] || config.l[index].name.en;\n }\n readOneChart(config.l[index].id, config.l[index].instance, index, cb);\n });\n}\n\nfunction readTicks(callback) {\n if (!config.ticks) {\n callback && callback(null);\n } else {\n socket.emit('getObject', config.ticks, function (err, res) {\n var index = 0;\n var option = JSON.parse(JSON.stringify(getStartStop(index)));\n option.instance = config.l[index].instance;\n option.sessionId = sessionId;\n option.aggregate = 'onchange';\n\n //console.log(JSON.stringify(option));\n console.log('Ticks: ' + new Date(option.start) + ' - ' + new Date(option.end));\n socket.emit('getHistory', config.ticks, option, function (err, res, stepIgnore, _sessionId) {\n if (err) console.error(err);\n\n if (sessionId && _sessionId && _sessionId !== sessionId) {\n console.warn('Ignore request with sessionId=' + _sessionId + ', actual is ' + sessionId);\n return;\n }\n\n if (!err && res) {\n var _series = ticks || [];\n if (ticks && ticks.length) ticks.splice(0, ticks.length);\n\n for (var i = 0; i < res.length; i++) {\n // if less 2000.01.01 00:00:00\n if (res[i].ts < 946681200000) res[i].ts = res[i].ts * 1000;\n\n if (!res[i].val !== null) _series.push([res[i].ts, res[i].val]);\n }\n // add start and end\n if (_series.length) {\n if (_series[0][0] > option.start) _series.unshift([option.start, '']);\n if (_series[_series.length - 1][0] < option.end) _series.push([option.end, '']);\n } else {\n _series.push([option.start, '']);\n _series.push([option.end, '']);\n }\n // free memory\n res = null;\n ticks = _series;\n }\n if (callback) callback(_series);\n });\n });\n }\n}\n\nfunction readMarkings(cb, m) {\n m = m || 0;\n if (!config.m || !config.m.length || m >= config.m.length) {\n return cb && cb();\n } else {\n if (!config.m[m].oid && config.m[m].v && parseFloat(config.m[m].v) != config.m[m].v && config.m[m].v.indexOf('.') !== -1) {\n if (subscribes.indexOf(config.m[m].v) === -1) subscribes.push(config.m[m].v);\n\n readValue(config.m[m].v, m, function (index, val) {\n config.m[index].oid = config.m[index].v;\n config.m[index].v = val;\n\n if (!config.m[m].oidl && config.m[m].vl && parseFloat(config.m[m].vl) != config.m[m].vl && config.m[m].vl.indexOf('.') !== -1) {\n if (subscribes.indexOf(config.m[m].vl) === -1) subscribes.push(config.m[m].vl);\n readValue(config.m[m].vl, m, function (index, val) {\n config.m[index].oidl = config.m[index].vl;\n config.m[index].vl = val;\n setTimeout(readMarkings, 0, cb, m + 1);\n });\n } else {\n setTimeout(readMarkings, 0, cb, m + 1);\n }\n });\n } else\n if (!config.m[m].oidl && config.m[m].vl && parseFloat(config.m[m].vl) != config.m[m].vl && config.m[m].vl.indexOf('.') !== -1) {\n if (subscribes.indexOf(config.m[m].vl) === -1) subscribes.push(config.m[m].vl);\n readValue(config.m[m].vl, m, function (index, val) {\n config.m[index].oidl = config.m[index].vl;\n config.m[index].vl = val;\n setTimeout(readMarkings, 0, cb, m + 1);\n });\n } else {\n setTimeout(readMarkings, 0, cb, m + 1);\n }\n }\n}\n\nfunction _readData(callback, j) {\n j = j || 0;\n if (j >= config.l.length) {\n return callback && callback();\n } else {\n if (config.l[j] !== '' && config.l[j] !== undefined) seriesData.push([]);\n _readOneLine(j, function () {\n setTimeout(function () {\n _readData(callback, j + 1);\n }, 10);\n });\n }\n}\n\nfunction subscribeAll(subscribes, cb, s) {\n s = s || 0;\n if (!subscribes || !subscribes.length || s >= subscribes.length) {\n cb && cb();\n } else {\n socket.emit('subscribe', subscribes[s], function () {\n setTimeout(function () {\n subscribeAll(subscribes, cb, s + 1);\n }, 0);\n });\n }\n}\n\nfunction readData(hidden) {\n if (disconnectTimeout) {\n $('#no-connection').hide();\n clearTimeout(disconnectTimeout);\n disconnectTimeout = null;\n }\n sessionId++;\n\n if (config.l) {\n if (!hidden) $('#server-disconnect').show();\n\n // todo\n// if (config.renderer === 'pie' || (config.renderer === 'bar' && config._ids.length > 1)) {\n//\n// seriesData = [[]];\n// for (var j = 0; j < config._ids.length; j++) {\n// readOneValue(config._ids[j], j, function (_id, _index, value) {\n// if (config.renderer === 'pie') {\n// seriesData[0][_index] = {label: config.l[_index].name, data: value};\n// } else {\n// seriesData[0][_index] = [config.l[_index].name, value];\n// }\n// if (_index === config._ids.length - 1) {\n// graphCreate(divId, );\n// }\n// });\n// }\n// } else {\n _readData(function () {\n readTicks(function (_ticks) {\n readMarkings(function () {\n if (!subscribed) {\n subscribed = true;\n subscribeAll();\n }\n\n $('#server-disconnect').hide();\n prepareChart();\n });\n });\n });\n }\n\n if (!config.noedit) {\n // install edit button\n $('#edit')\n .show()\n .click(function () {\n var win = window.open(location.href.replace('index.html', 'edit.html'), 'flot');\n win.focus();\n });\n }\n}\n\nfunction startLiveUpdate() {\n liveInterval = setInterval(function () {\n if (config.zoomed) {\n var max = 0;\n var min = null;\n\n // Find min and max of all lines\n for (var index = 0; index < config.l.length; index++) {\n if (max < config.l[index].zMax) max = config.l[index].zMax;\n if (min === null || min > config.l[index].zMin) min = config.l[index].zMin;\n }\n\n // if 20%\n if ((max + ((max - min) / 20)) >= new Date().getTime()) {\n max = new Date().getTime() - now.getTime();\n var result = [];\n for (var _index = 0; _index < config.l.length; _index++) {\n config.l[_index].zMax += max;\n config.l[_index].zMin += max;\n result.push({min: config.l[_index].zMin, max: config.l[_index].zMax});\n }\n chart.setRange(result);\n } else {\n return;\n }\n }\n\n console.log('on time');\n updateLive();\n }, config.live * 1000);\n}\n\nfunction updateLive() {\n var ready = 0;\n now = new Date();\n $('.loader').show();\n sessionId++;\n\n if (config.zoom) chart.resetZoom(now);\n\n for (var index = 0; index < config.l.length; index++) {\n ready++;\n seriesData[index] = [];\n readOneChart(config.l[index].id, config.l[index].instance, index, function () {\n if (!--ready) {\n readTicks(function (_ticks) {\n chart.update(seriesData, null, _ticks);\n $('.loader').hide();\n });\n }\n });\n }\n}\n\nfunction avg(data, range) {\n var r = [];\n var rd;\n var i1;\n var s;\n var cnt;\n for(var i = 0; i < data.length; i++) {\n if (i < range) {\n i1 = 0;\n } else {\n i1 = i - range + 1;\n }\n rd = [data[i][0], null];\n if (data[i][1] !== null) {\n s = 0;\n cnt = 0;\n for(var j = i1; j <= i; j++) {\n if (data[j][1] === null) continue;\n s += data[j][1];\n cnt++;\n }\n rd[1] = s / cnt;\n }\n r.push(rd);\n }\n return r;\n}\n\nfunction onZoom() {\n if (!config.zoomed) {\n $('#resetZoom').show();\n config.zoomed = true;\n }\n\n var result = chart.getRange();\n\n for (var r = 0; r < result.length; r++) {\n config.l[r].zMin = result[r].min;\n config.l[r].zMax = result[r].max;\n }\n\n console.log('on zoom');\n updateLive();\n}\n"]} |