From 73acfb5d7c7b8fde01ccc9e788f54d0caf5dd391 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20F=C3=B6rster=20=28Dessa=29?= Date: Tue, 20 May 2014 19:50:57 +0200 Subject: [PATCH] update js folder - add images from jquery-ui to css folder, the stylesheet expects them being around even though we don't use them, adding them and not using them is better then editing the stylesheet and then forgetting about it again after every jquery-ui update, i suppose.. - fix html5shiv name, it was minified to begin with - bump flot to 0.8.3, fix plugin name (no functional changes for us) - bump tablesorter to 2.16.4 (likewise) --- css/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 491 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 387 bytes css/images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 278 bytes css/images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 336 bytes css/images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 421 bytes css/images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 280 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 5888 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 353 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 401 bytes css/images/ui-icons_222222_256x240.png | Bin 0 -> 6893 bytes css/images/ui-icons_228ef1_256x240.png | Bin 0 -> 4653 bytes css/images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4653 bytes css/images/ui-icons_ffd27a_256x240.png | Bin 0 -> 4653 bytes css/images/ui-icons_ffffff_256x240.png | Bin 0 -> 6381 bytes install/templates/header.tpl | 2 +- js/excanvas.min.js | 4 +- js/html5shiv.js | 8 -- js/html5shiv.min.js | 4 + js/jquery.flot.min.js | 10 +- js/jquery.tablesorter.min.js | 131 +----------------- js/plugins/flot.resize.min.js | 1 - js/plugins/jquery.flot.resize.min.js | 7 + templates/Sparkle/header.tpl | 4 +- templates/Sparkle/index.tpl | 2 +- .../Sparkle/misc/alreadyinstalledhint.tpl | 2 +- templates/Sparkle/misc/configurehint.tpl | 2 +- templates/Sparkle/misc/dberrornice.tpl | 2 +- templates/Sparkle/misc/ownershiphint.tpl | 2 +- 29 files changed, 30 insertions(+), 151 deletions(-) create mode 100644 css/images/animated-overlay.gif create mode 100644 css/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100644 css/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100644 css/images/ui-bg_flat_10_000000_40x100.png create mode 100644 css/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100644 css/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100644 css/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 css/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100644 css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100644 css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100644 css/images/ui-icons_222222_256x240.png create mode 100644 css/images/ui-icons_228ef1_256x240.png create mode 100644 css/images/ui-icons_ef8c08_256x240.png create mode 100644 css/images/ui-icons_ffd27a_256x240.png create mode 100644 css/images/ui-icons_ffffff_256x240.png delete mode 100644 js/html5shiv.js create mode 100644 js/html5shiv.min.js delete mode 100644 js/plugins/flot.resize.min.js create mode 100644 js/plugins/jquery.flot.resize.min.js diff --git a/css/images/animated-overlay.gif b/css/images/animated-overlay.gif new file mode 100644 index 0000000000000000000000000000000000000000..d441f75ebfbdf26a265dfccd670120d25c0a341c GIT binary patch literal 1738 zcmZ|OX;ji_6b5ixNYt8>l?gOuO)6lU%W(mxn(`>1S(XO;u`D+P%xqBvMr|w-Vyr1s z7R|Cn0b8|Hu<=Zmv1mFqh9Fj!NuZfKB2MP$e75`XJ@>=!y!Ux9xR3x;EW!q1^V>X| znVFuRUN`NqJ2)ybXh%e__h!!pv(M|S3+?9F%(K}zyE40MGyhWF5-IDgL&=%2-9`Nk z!1@8uk4t%_{(K~>N;sK&dzJbwJ=$kYTlL=$%#0Pfh>U{%i@~wWbvYsD_K-D`&+u1( z#Ma`>%q<^UhzGvi(hyE`zCD{-=2|zL5>wnB=DE!U?(CZG%q4@lDnCq_%&3DCla#(X zmBhDD+RN$aMWWHm?ig*>1Onn6~r?Ma~N2JKAxN>H%UtRyRqS)6Um!-Tz%-r=& zQmTb^JFIe3W^-kAm`}`2P|niMh>RYyd)S^f(dbrx965?rzbhP|XeP}o&&DSZ4|oYQ z)I{f!SfycYw?3=9W;o-B%U5xs(pP267X~9-7L|4WzaYexC0GtG8wWygm63rF{llCEraxzkc=IxvFQ-y37=_;e5 zJLq^gsSO0Ayz?a>E_?{dmUc+t#qv$)XN8$<<}rQ#)lsiw+pmL&J>~+hgpo>i$m+;l zZIa_ZRIfSeT$~v5d`EBV&*k`apPgjv&B|+d`Q!nyu{L4rs%ZfoF0*Kq8I%ByOcFpL zK=>wzofZo<+0GZLCnWM3oQ^pb(gRSf02;~cEn@LJ>~XB9IkEX{$N#Z`m%>S!U{uPx zloI%bLdo$Adxlh(Uv^yX7s5G&C zLwNRG>~T?G{kzupp8EcyLGPoPf)@&9Wqfw_l&uU-6cexk%5;uQg%wb=0k_733{i#& z1a2p)gV3S2+QG1-K9tZ}E~I<(P0r2aFFY-c{o?TUOz3Xjod#TLE2A_c?*T7t z=1>~%YW450{Qqno4t`}gvLnuMrcu8+#xEBoY%2_+Mb#Z6S38+r*M4O`-+!zl(@m`D zQsi|GA2l3gEy}LFe<#Hv8?$_L#u8E|3-bP$*La*E>B{X!Sy4i6?TKam!49aXCAW4S*P_O^H4^*DpiA40o}Uqw~Eo&veh1`|8i zD2$x+>_b^bXE4N;AW=5>iYak2%!JAh0j1*k1{p#iRCjbB7!cSws~U{1IA@acLII$t z$>X#A+^s6iJ5~DFG!xa?>z{=lxtdi1rzbM-(nqAu3D8h-&64xo6|E!p?pK0xT;qoK z`6%+SpBk+~M?nO}>2mTw!A{yZ6O>Z@kwSd4;8aWU5z!P~tQl?u==^+R`{OmOS}oZh zOXQ3{6kuz?Is^n^L7;9ieB9C+8B{>t+pDrlq4xGDDn#T#3T5$l1g`FTQkU;b-981j zNm{zC`$wn7etklM#qHI4=3m5gwa6DNS{?Z!vSObi_od{4eUo=_S2BKNpkSdiqe(k9WtkeM79;2-%CFbb)aB=&H1?i1}uwFzoZQ(38Kn1zBP ORn*B%u*Wk|4g3!*Rv{Mv literal 0 HcmV?d00001 diff --git a/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png new file mode 100644 index 0000000000000000000000000000000000000000..4e691deaa0cc34ef1265be31ae8477dc1a08a35a GIT binary patch literal 491 zcmeAS@N?(olHy`uVBq!ia0vp^8Xzpd1SErbK34)MmUKs7M+SzC{oH>NS%G}U;vjb? zhIQv;UIIA^$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e6j)3^*gc-vNqn7I;J!18EO1b~~AE2V^|(ba4#HxcBykAs3UOfZM~fW^oP^bdR1o zbhuJz{pPvqg4qY7Hf;W}+TmCVOLyhT)t6G**WdQpCFj5XZk($R8A3X|?-c;mW*%l2y!S7ML}9Ug4VIZh9~z zi}B2|vMZuURnU+Pxytif#L&#j(Adh*Lf639%D^Dy)gB!b4Y~O#nQ4`{HHdC!nE=$l N;OXk;vd$@?2>{7Bvxooy literal 0 HcmV?d00001 diff --git a/css/images/ui-bg_diagonals-thick_20_666666_40x40.png b/css/images/ui-bg_diagonals-thick_20_666666_40x40.png new file mode 100644 index 0000000000000000000000000000000000000000..7bc8a92833b6f725e11f2f259b505f0a9f4f2a59 GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^8XznHBp80OT7LpkEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR z+uh~=f05OOXMsG<0*}aIAngIhZYQ(tfQ%YX7sn8f<8QBS++H8mU)r~CX z4LsK!yRsFIhfa9Hb)rc6!cMu3cbH1@qjk(1T|Rd_O$zRK*6I6kwUXIUAiL(>^w~v> zvvgjZ`w{;28qgi8C9V-ADTyViR>?)FK#IZ0z|ch30Emo249%9nO2EggXnga2|x`Dp00i_>zopr0J+|PcmMzZ literal 0 HcmV?d00001 diff --git a/css/images/ui-bg_flat_10_000000_40x100.png b/css/images/ui-bg_flat_10_000000_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..c5d10e6570cbfc4ade4bcdc227937aa3e7ac452e GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F2qYNp$opRhQY`6?zK#qG8~eHcB(ehejKx9j zP7LeL$-D$|6p}rHd>I(3)EF2VS{N990fib~Fff!FFfhDIU|_JC!N4G1FlSew4N!t9 z$=lt9f$?sa@Dd=8v%n*=7)X17vD?XPJ0OGK)5S4F<9u?01nc4kpkYiA42-2_ZRJ2I z)e_f;l9a@fRIB8oR3OD*WMF8bYXC$>A%BP literal 0 HcmV?d00001 diff --git a/css/images/ui-bg_glass_100_f6f6f6_1x400.png b/css/images/ui-bg_glass_100_f6f6f6_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..ae8f555ac443b2b8803797eb65e152f13dfdee5d GIT binary patch literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq*&4&eH|GXHuiJ>Nn`~nC=POW zVpw-h<|UA$kn9oU%fL{j#=y|f!octgDAe$RfuYoZf#FpG1B2BJ1_tqhIlBUFfD%ke z-tI2{|BI|PJPYJ;7I;J!18EO1b~~AE2V{79x;TbdoKF5x)0-&LtF&tI^?ZqY5r%sz z4}T~VKD=A6?Yk|H{4Ys6z2qNTra%0w*rtD6a^Jg@A7*nO?&d%IJ(=fze($0{7ak^t z?F-JbORP}b2sBi+#5JNMC9x#cD!C{XNHG{07@FuB0FhCMp_!GTv6Z2Pu7RkU>Zaaakb06~*V%a=1**<1 zpKiP5#QX5+mqg~r?x}Vy@b0u?`@*rP?O*&7-oplUC)lO_8HKvW>}UkKQnkc2q9i4; zB-JXpC>2OC7#SFv=o$c#QHY_Lm7%efp@pu2v6X>A%Bwv(C>nC}Q!>*kacdCW&N2b0 Ofx*+&&t;ucLK6U>ijBtr literal 0 HcmV?d00001 diff --git a/css/images/ui-bg_glass_65_ffffff_1x400.png b/css/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..b559b14a93a875ba7e98aa41810f986bc06fe899 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI2NH8$CE1Q=ADVB6cUq=Rpjs4tz5?MhCii6yp z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpafHr zx4R1iUAylk>D z6DX-#;u=wsl30>zm0Xkxq!^403{7+mfXFDs(9Fuv*vimC*TC4yz#!$-9vu`7x%nxX YX_dG&h;C<@0Mx+X>FVdQ&MBb@06e5c3;+NC literal 0 HcmV?d00001 diff --git a/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png new file mode 100644 index 0000000000000000000000000000000000000000..f8b3d6802526b214c6067d51129a892929cdeceb GIT binary patch literal 5888 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 literal 0 HcmV?d00001 diff --git a/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..c121135c6dff4d8d5898372f1d610e8c2638f999 GIT binary patch literal 353 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 literal 0 HcmV?d00001 diff --git a/css/images/ui-icons_ffd27a_256x240.png b/css/images/ui-icons_ffd27a_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..21fd40e9c6c9772496089cb1f47cab62d5f7455b GIT binary patch literal 4653 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 literal 0 HcmV?d00001 diff --git a/install/templates/header.tpl b/install/templates/header.tpl index 82fefaf8..fb85ab92 100755 --- a/install/templates/header.tpl +++ b/install/templates/header.tpl @@ -3,7 +3,7 @@ - + diff --git a/js/excanvas.min.js b/js/excanvas.min.js index e699a26f..fcf876c7 100644 --- a/js/excanvas.min.js +++ b/js/excanvas.min.js @@ -1,3 +1 @@ -/* jqPlot @VERSION | (c) 2009-2013 Chris Leonello | jplot.com - jsDate | (c) 2010-2013 Chris Leonello - */if(!document.createElement("canvas").getContext){(function(){var ab=Math;var n=ab.round;var l=ab.sin;var A=ab.cos;var H=ab.abs;var N=ab.sqrt;var d=10;var f=d/2;var z=+navigator.userAgent.match(/MSIE ([\d.]+)?/)[1];function y(){return this.context_||(this.context_=new D(this))}var t=Array.prototype.slice;function g(j,m,p){var i=t.call(arguments,2);return function(){return j.apply(m,i.concat(t.call(arguments)))}}function af(i){return String(i).replace(/&/g,"&").replace(/"/g,""")}function Y(m,j,i){if(!m.namespaces[j]){m.namespaces.add(j,i,"#default#VML")}}function R(j){Y(j,"g_vml_","urn:schemas-microsoft-com:vml");Y(j,"g_o_","urn:schemas-microsoft-com:office:office");if(!j.styleSheets.ex_canvas_){var i=j.createStyleSheet();i.owningElement.id="ex_canvas_";i.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}"}}R(document);var e={init:function(i){var j=i||document;j.createElement("canvas");j.attachEvent("onreadystatechange",g(this.init_,this,j))},init_:function(p){var m=p.getElementsByTagName("canvas");for(var j=0;j1){m--}if(6*m<1){return j+(i-j)*6*m}else{if(2*m<1){return i}else{if(3*m<2){return j+(i-j)*(2/3-m)*6}else{return j}}}}var C={};function F(j){if(j in C){return C[j]}var ag,Z=1;j=String(j);if(j.charAt(0)=="#"){ag=j}else{if(/^rgb/.test(j)){var p=M(j);var ag="#",ah;for(var m=0;m<3;m++){if(p[m].indexOf("%")!=-1){ah=Math.floor(c(p[m])*255)}else{ah=+p[m]}ag+=k[r(ah,0,255)]}Z=+p[3]}else{if(/^hsl/.test(j)){var p=M(j);ag=I(p);Z=p[3]}else{ag=b[j]||j}}}return C[j]={color:ag,alpha:Z}}var o={style:"normal",variant:"normal",weight:"normal",size:10,family:"sans-serif"};var L={};function E(i){if(L[i]){return L[i]}var p=document.createElement("div");var m=p.style;try{m.font=i}catch(j){}return L[i]={style:m.fontStyle||o.style,variant:m.fontVariant||o.variant,weight:m.fontWeight||o.weight,size:m.fontSize||o.size,family:m.fontFamily||o.family}}function u(m,j){var i={};for(var ah in m){i[ah]=m[ah]}var ag=parseFloat(j.currentStyle.fontSize),Z=parseFloat(m.size);if(typeof m.size=="number"){i.size=m.size}else{if(m.size.indexOf("px")!=-1){i.size=Z}else{if(m.size.indexOf("em")!=-1){i.size=ag*Z}else{if(m.size.indexOf("%")!=-1){i.size=(ag/100)*Z}else{if(m.size.indexOf("pt")!=-1){i.size=Z/0.75}else{i.size=ag}}}}}i.size*=0.981;i.family="'"+i.family.replace(/(\'|\")/g,"").replace(/\s*,\s*/g,"', '")+"'";return i}function ac(i){return i.style+" "+i.variant+" "+i.weight+" "+i.size+"px "+i.family}var s={butt:"flat",round:"round"};function S(i){return s[i]||"square"}function D(i){this.m_=B();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.strokeStyle="#000";this.fillStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=d*1;this.globalAlpha=1;this.font="10px sans-serif";this.textAlign="left";this.textBaseline="alphabetic";this.canvas=i;var m="width:"+i.clientWidth+"px;height:"+i.clientHeight+"px;overflow:hidden;position:absolute";var j=i.ownerDocument.createElement("div");j.style.cssText=m;i.appendChild(j);var p=j.cloneNode(false);p.style.backgroundColor="red";p.style.filter="alpha(opacity=0)";i.appendChild(p);this.element_=j;this.arcScaleX_=1;this.arcScaleY_=1;this.lineScale_=1}var q=D.prototype;q.clearRect=function(){if(this.textMeasureEl_){this.textMeasureEl_.removeNode(true);this.textMeasureEl_=null}this.element_.innerHTML=""};q.beginPath=function(){this.currentPath_=[]};q.moveTo=function(j,i){var m=V(this,j,i);this.currentPath_.push({type:"moveTo",x:m.x,y:m.y});this.currentX_=m.x;this.currentY_=m.y};q.lineTo=function(j,i){var m=V(this,j,i);this.currentPath_.push({type:"lineTo",x:m.x,y:m.y});this.currentX_=m.x;this.currentY_=m.y};q.bezierCurveTo=function(m,j,ak,aj,ai,ag){var i=V(this,ai,ag);var ah=V(this,m,j);var Z=V(this,ak,aj);K(this,ah,Z,i)};function K(i,Z,m,j){i.currentPath_.push({type:"bezierCurveTo",cp1x:Z.x,cp1y:Z.y,cp2x:m.x,cp2y:m.y,x:j.x,y:j.y});i.currentX_=j.x;i.currentY_=j.y}q.quadraticCurveTo=function(ai,m,j,i){var ah=V(this,ai,m);var ag=V(this,j,i);var aj={x:this.currentX_+2/3*(ah.x-this.currentX_),y:this.currentY_+2/3*(ah.y-this.currentY_)};var Z={x:aj.x+(ag.x-this.currentX_)/3,y:aj.y+(ag.y-this.currentY_)/3};K(this,aj,Z,ag)};q.arc=function(al,aj,ak,ag,j,m){ak*=d;var ap=m?"at":"wa";var am=al+A(ag)*ak-f;var ao=aj+l(ag)*ak-f;var i=al+A(j)*ak-f;var an=aj+l(j)*ak-f;if(am==i&&!m){am+=0.125}var Z=V(this,al,aj);var ai=V(this,am,ao);var ah=V(this,i,an);this.currentPath_.push({type:ap,x:Z.x,y:Z.y,radius:ak,xStart:ai.x,yStart:ai.y,xEnd:ah.x,yEnd:ah.y})};q.rect=function(m,j,i,p){this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath()};q.strokeRect=function(m,j,i,p){var Z=this.currentPath_;this.beginPath();this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath();this.stroke();this.currentPath_=Z};q.fillRect=function(m,j,i,p){var Z=this.currentPath_;this.beginPath();this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath();this.fill();this.currentPath_=Z};q.createLinearGradient=function(j,p,i,m){var Z=new U("gradient");Z.x0_=j;Z.y0_=p;Z.x1_=i;Z.y1_=m;return Z};q.createRadialGradient=function(p,ag,m,j,Z,i){var ah=new U("gradientradial");ah.x0_=p;ah.y0_=ag;ah.r0_=m;ah.x1_=j;ah.y1_=Z;ah.r1_=i;return ah};q.drawImage=function(aq,m){var aj,ah,al,ay,ao,am,at,aA;var ak=aq.runtimeStyle.width;var ap=aq.runtimeStyle.height;aq.runtimeStyle.width="auto";aq.runtimeStyle.height="auto";var ai=aq.width;var aw=aq.height;aq.runtimeStyle.width=ak;aq.runtimeStyle.height=ap;if(arguments.length==3){aj=arguments[1];ah=arguments[2];ao=am=0;at=al=ai;aA=ay=aw}else{if(arguments.length==5){aj=arguments[1];ah=arguments[2];al=arguments[3];ay=arguments[4];ao=am=0;at=ai;aA=aw}else{if(arguments.length==9){ao=arguments[1];am=arguments[2];at=arguments[3];aA=arguments[4];aj=arguments[5];ah=arguments[6];al=arguments[7];ay=arguments[8]}else{throw Error("Invalid number of arguments")}}}var az=V(this,aj,ah);var p=at/2;var j=aA/2;var ax=[];var i=10;var ag=10;ax.push(" ','","");this.element_.insertAdjacentHTML("BeforeEnd",ax.join(""))};q.stroke=function(al){var aj=[];var Z=false;var m=10;var am=10;aj.push("ak.x){ak.x=j.x}if(ag.y==null||j.yak.y){ak.y=j.y}}}aj.push(' ">');if(!al){w(this,aj)}else{G(this,aj,ag,ak)}aj.push("");this.element_.insertAdjacentHTML("beforeEnd",aj.join(""))};function w(m,ag){var j=F(m.strokeStyle);var p=j.color;var Z=j.alpha*m.globalAlpha;var i=m.lineScale_*m.lineWidth;if(i<1){Z*=i}ag.push("')}function G(aq,ai,aK,ar){var aj=aq.fillStyle;var aB=aq.arcScaleX_;var aA=aq.arcScaleY_;var j=ar.x-aK.x;var p=ar.y-aK.y;if(aj instanceof U){var an=0;var aF={x:0,y:0};var ax=0;var am=1;if(aj.type_=="gradient"){var al=aj.x0_/aB;var m=aj.y0_/aA;var ak=aj.x1_/aB;var aM=aj.y1_/aA;var aJ=V(aq,al,m);var aI=V(aq,ak,aM);var ag=aI.x-aJ.x;var Z=aI.y-aJ.y;an=Math.atan2(ag,Z)*180/Math.PI;if(an<0){an+=360}if(an<0.000001){an=0}}else{var aJ=V(aq,aj.x0_,aj.y0_);aF={x:(aJ.x-aK.x)/j,y:(aJ.y-aK.y)/p};j/=aB*d;p/=aA*d;var aD=ab.max(j,p);ax=2*aj.r0_/aD;am=2*aj.r1_/aD-ax}var av=aj.colors_;av.sort(function(aN,i){return aN.offset-i.offset});var ap=av.length;var au=av[0].color;var at=av[ap-1].color;var az=av[0].alpha*aq.globalAlpha;var ay=av[ap-1].alpha*aq.globalAlpha;var aE=[];for(var aH=0;aH')}else{if(aj instanceof T){if(j&&p){var ah=-aK.x;var aC=-aK.y;ai.push("')}}else{var aL=F(aq.fillStyle);var aw=aL.color;var aG=aL.alpha*aq.globalAlpha;ai.push('')}}}q.fill=function(){this.stroke(true)};q.closePath=function(){this.currentPath_.push({type:"close"})};function V(j,Z,p){var i=j.m_;return{x:d*(Z*i[0][0]+p*i[1][0]+i[2][0])-f,y:d*(Z*i[0][1]+p*i[1][1]+i[2][1])-f}}q.save=function(){var i={};v(this,i);this.aStack_.push(i);this.mStack_.push(this.m_);this.m_=J(B(),this.m_)};q.restore=function(){if(this.aStack_.length){v(this.aStack_.pop(),this);this.m_=this.mStack_.pop()}};function h(i){return isFinite(i[0][0])&&isFinite(i[0][1])&&isFinite(i[1][0])&&isFinite(i[1][1])&&isFinite(i[2][0])&&isFinite(i[2][1])}function aa(j,i,p){if(!h(i)){return}j.m_=i;if(p){var Z=i[0][0]*i[1][1]-i[0][1]*i[1][0];j.lineScale_=N(H(Z))}}q.translate=function(m,j){var i=[[1,0,0],[0,1,0],[m,j,1]];aa(this,J(i,this.m_),false)};q.rotate=function(j){var p=A(j);var m=l(j);var i=[[p,m,0],[-m,p,0],[0,0,1]];aa(this,J(i,this.m_),false)};q.scale=function(m,j){this.arcScaleX_*=m;this.arcScaleY_*=j;var i=[[m,0,0],[0,j,0],[0,0,1]];aa(this,J(i,this.m_),true)};q.transform=function(Z,p,ah,ag,j,i){var m=[[Z,p,0],[ah,ag,0],[j,i,1]];aa(this,J(m,this.m_),true)};q.setTransform=function(ag,Z,ai,ah,p,j){var i=[[ag,Z,0],[ai,ah,0],[p,j,1]];aa(this,i,true)};q.drawText_=function(am,ak,aj,ap,ai){var ao=this.m_,at=1000,j=0,ar=at,ah={x:0,y:0},ag=[];var i=u(E(this.font),this.element_);var p=ac(i);var au=this.element_.currentStyle;var Z=this.textAlign.toLowerCase();switch(Z){case"left":case"center":case"right":break;case"end":Z=au.direction=="ltr"?"right":"left";break;case"start":Z=au.direction=="rtl"?"right":"left";break;default:Z="left"}switch(this.textBaseline){case"hanging":case"top":ah.y=i.size/1.75;break;case"middle":break;default:case null:case"alphabetic":case"ideographic":case"bottom":ah.y=-i.size/2.25;break}switch(Z){case"right":j=at;ar=0.05;break;case"center":j=ar=at/2;break}var aq=V(this,ak+ah.x,aj+ah.y);ag.push('');if(ai){w(this,ag)}else{G(this,ag,{x:-j,y:0},{x:ar,y:i.size})}var an=ao[0][0].toFixed(3)+","+ao[1][0].toFixed(3)+","+ao[0][1].toFixed(3)+","+ao[1][1].toFixed(3)+",0,0";var al=n(aq.x/d+1-ao[0][0])+","+n(aq.y/d-2*ao[1][0]);ag.push('','','');this.element_.insertAdjacentHTML("beforeEnd",ag.join(""))};q.fillText=function(m,i,p,j){this.drawText_(m,i,p,j,false)};q.strokeText=function(m,i,p,j){this.drawText_(m,i,p,j,true)};q.measureText=function(m){if(!this.textMeasureEl_){var i='';this.element_.insertAdjacentHTML("beforeEnd",i);this.textMeasureEl_=this.element_.lastChild}var j=this.element_.ownerDocument;this.textMeasureEl_.innerHTML="";this.textMeasureEl_.style.font=this.font;this.textMeasureEl_.appendChild(j.createTextNode(m));return{width:this.textMeasureEl_.offsetWidth}};q.clip=function(){};q.arcTo=function(){};q.createPattern=function(j,i){return new T(j,i)};function U(i){this.type_=i;this.x0_=0;this.y0_=0;this.r0_=0;this.x1_=0;this.y1_=0;this.r1_=0;this.colors_=[]}U.prototype.addColorStop=function(j,i){i=F(i);this.colors_.push({offset:j,color:i.color,alpha:i.alpha})};function T(j,i){Q(j);switch(i){case"repeat":case null:case"":this.repetition_="repeat";break;case"repeat-x":case"repeat-y":case"no-repeat":this.repetition_=i;break;default:O("SYNTAX_ERR")}this.src_=j.src;this.width_=j.width;this.height_=j.height}function O(i){throw new P(i)}function Q(i){if(!i||i.nodeType!=1||i.tagName!="IMG"){O("TYPE_MISMATCH_ERR")}if(i.readyState!="complete"){O("INVALID_STATE_ERR")}}function P(i){this.code=this[i];this.message=i+": DOM Exception "+this.code}var X=P.prototype=new Error;X.INDEX_SIZE_ERR=1;X.DOMSTRING_SIZE_ERR=2;X.HIERARCHY_REQUEST_ERR=3;X.WRONG_DOCUMENT_ERR=4;X.INVALID_CHARACTER_ERR=5;X.NO_DATA_ALLOWED_ERR=6;X.NO_MODIFICATION_ALLOWED_ERR=7;X.NOT_FOUND_ERR=8;X.NOT_SUPPORTED_ERR=9;X.INUSE_ATTRIBUTE_ERR=10;X.INVALID_STATE_ERR=11;X.SYNTAX_ERR=12;X.INVALID_MODIFICATION_ERR=13;X.NAMESPACE_ERR=14;X.INVALID_ACCESS_ERR=15;X.VALIDATION_ERR=16;X.TYPE_MISMATCH_ERR=17;G_vmlCanvasManager=e;CanvasRenderingContext2D=D;CanvasGradient=U;CanvasPattern=T;DOMException=P;G_vmlCanvasManager._version=888})()}; \ No newline at end of file +if(!document.createElement("canvas").getContext){(function(){var ab=Math;var n=ab.round;var l=ab.sin;var A=ab.cos;var H=ab.abs;var N=ab.sqrt;var d=10;var f=d/2;var z=+navigator.userAgent.match(/MSIE ([\d.]+)?/)[1];function y(){return this.context_||(this.context_=new D(this))}var t=Array.prototype.slice;function g(j,m,p){var i=t.call(arguments,2);return function(){return j.apply(m,i.concat(t.call(arguments)))}}function af(i){return String(i).replace(/&/g,"&").replace(/"/g,""")}function Y(m,j,i){if(!m.namespaces[j]){m.namespaces.add(j,i,"#default#VML")}}function R(j){Y(j,"g_vml_","urn:schemas-microsoft-com:vml");Y(j,"g_o_","urn:schemas-microsoft-com:office:office");if(!j.styleSheets.ex_canvas_){var i=j.createStyleSheet();i.owningElement.id="ex_canvas_";i.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}"}}R(document);var e={init:function(i){var j=i||document;j.createElement("canvas");j.attachEvent("onreadystatechange",g(this.init_,this,j))},init_:function(p){var m=p.getElementsByTagName("canvas");for(var j=0;j1){m--}if(6*m<1){return j+(i-j)*6*m}else{if(2*m<1){return i}else{if(3*m<2){return j+(i-j)*(2/3-m)*6}else{return j}}}}var C={};function F(j){if(j in C){return C[j]}var ag,Z=1;j=String(j);if(j.charAt(0)=="#"){ag=j}else{if(/^rgb/.test(j)){var p=M(j);var ag="#",ah;for(var m=0;m<3;m++){if(p[m].indexOf("%")!=-1){ah=Math.floor(c(p[m])*255)}else{ah=+p[m]}ag+=k[r(ah,0,255)]}Z=+p[3]}else{if(/^hsl/.test(j)){var p=M(j);ag=I(p);Z=p[3]}else{ag=b[j]||j}}}return C[j]={color:ag,alpha:Z}}var o={style:"normal",variant:"normal",weight:"normal",size:10,family:"sans-serif"};var L={};function E(i){if(L[i]){return L[i]}var p=document.createElement("div");var m=p.style;try{m.font=i}catch(j){}return L[i]={style:m.fontStyle||o.style,variant:m.fontVariant||o.variant,weight:m.fontWeight||o.weight,size:m.fontSize||o.size,family:m.fontFamily||o.family}}function u(m,j){var i={};for(var ah in m){i[ah]=m[ah]}var ag=parseFloat(j.currentStyle.fontSize),Z=parseFloat(m.size);if(typeof m.size=="number"){i.size=m.size}else{if(m.size.indexOf("px")!=-1){i.size=Z}else{if(m.size.indexOf("em")!=-1){i.size=ag*Z}else{if(m.size.indexOf("%")!=-1){i.size=(ag/100)*Z}else{if(m.size.indexOf("pt")!=-1){i.size=Z/0.75}else{i.size=ag}}}}}i.size*=0.981;return i}function ac(i){return i.style+" "+i.variant+" "+i.weight+" "+i.size+"px "+i.family}var s={butt:"flat",round:"round"};function S(i){return s[i]||"square"}function D(i){this.m_=B();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.strokeStyle="#000";this.fillStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=d*1;this.globalAlpha=1;this.font="10px sans-serif";this.textAlign="left";this.textBaseline="alphabetic";this.canvas=i;var m="width:"+i.clientWidth+"px;height:"+i.clientHeight+"px;overflow:hidden;position:absolute";var j=i.ownerDocument.createElement("div");j.style.cssText=m;i.appendChild(j);var p=j.cloneNode(false);p.style.backgroundColor="red";p.style.filter="alpha(opacity=0)";i.appendChild(p);this.element_=j;this.arcScaleX_=1;this.arcScaleY_=1;this.lineScale_=1}var q=D.prototype;q.clearRect=function(){if(this.textMeasureEl_){this.textMeasureEl_.removeNode(true);this.textMeasureEl_=null}this.element_.innerHTML=""};q.beginPath=function(){this.currentPath_=[]};q.moveTo=function(j,i){var m=V(this,j,i);this.currentPath_.push({type:"moveTo",x:m.x,y:m.y});this.currentX_=m.x;this.currentY_=m.y};q.lineTo=function(j,i){var m=V(this,j,i);this.currentPath_.push({type:"lineTo",x:m.x,y:m.y});this.currentX_=m.x;this.currentY_=m.y};q.bezierCurveTo=function(m,j,ak,aj,ai,ag){var i=V(this,ai,ag);var ah=V(this,m,j);var Z=V(this,ak,aj);K(this,ah,Z,i)};function K(i,Z,m,j){i.currentPath_.push({type:"bezierCurveTo",cp1x:Z.x,cp1y:Z.y,cp2x:m.x,cp2y:m.y,x:j.x,y:j.y});i.currentX_=j.x;i.currentY_=j.y}q.quadraticCurveTo=function(ai,m,j,i){var ah=V(this,ai,m);var ag=V(this,j,i);var aj={x:this.currentX_+2/3*(ah.x-this.currentX_),y:this.currentY_+2/3*(ah.y-this.currentY_)};var Z={x:aj.x+(ag.x-this.currentX_)/3,y:aj.y+(ag.y-this.currentY_)/3};K(this,aj,Z,ag)};q.arc=function(al,aj,ak,ag,j,m){ak*=d;var ap=m?"at":"wa";var am=al+A(ag)*ak-f;var ao=aj+l(ag)*ak-f;var i=al+A(j)*ak-f;var an=aj+l(j)*ak-f;if(am==i&&!m){am+=0.125}var Z=V(this,al,aj);var ai=V(this,am,ao);var ah=V(this,i,an);this.currentPath_.push({type:ap,x:Z.x,y:Z.y,radius:ak,xStart:ai.x,yStart:ai.y,xEnd:ah.x,yEnd:ah.y})};q.rect=function(m,j,i,p){this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath()};q.strokeRect=function(m,j,i,p){var Z=this.currentPath_;this.beginPath();this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath();this.stroke();this.currentPath_=Z};q.fillRect=function(m,j,i,p){var Z=this.currentPath_;this.beginPath();this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath();this.fill();this.currentPath_=Z};q.createLinearGradient=function(j,p,i,m){var Z=new U("gradient");Z.x0_=j;Z.y0_=p;Z.x1_=i;Z.y1_=m;return Z};q.createRadialGradient=function(p,ag,m,j,Z,i){var ah=new U("gradientradial");ah.x0_=p;ah.y0_=ag;ah.r0_=m;ah.x1_=j;ah.y1_=Z;ah.r1_=i;return ah};q.drawImage=function(aq,m){var aj,ah,al,ay,ao,am,at,aA;var ak=aq.runtimeStyle.width;var ap=aq.runtimeStyle.height;aq.runtimeStyle.width="auto";aq.runtimeStyle.height="auto";var ai=aq.width;var aw=aq.height;aq.runtimeStyle.width=ak;aq.runtimeStyle.height=ap;if(arguments.length==3){aj=arguments[1];ah=arguments[2];ao=am=0;at=al=ai;aA=ay=aw}else{if(arguments.length==5){aj=arguments[1];ah=arguments[2];al=arguments[3];ay=arguments[4];ao=am=0;at=ai;aA=aw}else{if(arguments.length==9){ao=arguments[1];am=arguments[2];at=arguments[3];aA=arguments[4];aj=arguments[5];ah=arguments[6];al=arguments[7];ay=arguments[8]}else{throw Error("Invalid number of arguments")}}}var az=V(this,aj,ah);var p=at/2;var j=aA/2;var ax=[];var i=10;var ag=10;ax.push(" ','","");this.element_.insertAdjacentHTML("BeforeEnd",ax.join(""))};q.stroke=function(ao){var Z=10;var ap=10;var ag=5000;var ai={x:null,y:null};var an={x:null,y:null};for(var aj=0;ajan.x){an.x=m.x}if(ai.y==null||m.yan.y){an.y=m.y}}}am.push(' ">');if(!ao){w(this,am)}else{G(this,am,ai,an)}am.push("");this.element_.insertAdjacentHTML("beforeEnd",am.join(""))}};function w(m,ag){var j=F(m.strokeStyle);var p=j.color;var Z=j.alpha*m.globalAlpha;var i=m.lineScale_*m.lineWidth;if(i<1){Z*=i}ag.push("')}function G(aq,ai,aK,ar){var aj=aq.fillStyle;var aB=aq.arcScaleX_;var aA=aq.arcScaleY_;var j=ar.x-aK.x;var p=ar.y-aK.y;if(aj instanceof U){var an=0;var aF={x:0,y:0};var ax=0;var am=1;if(aj.type_=="gradient"){var al=aj.x0_/aB;var m=aj.y0_/aA;var ak=aj.x1_/aB;var aM=aj.y1_/aA;var aJ=V(aq,al,m);var aI=V(aq,ak,aM);var ag=aI.x-aJ.x;var Z=aI.y-aJ.y;an=Math.atan2(ag,Z)*180/Math.PI;if(an<0){an+=360}if(an<0.000001){an=0}}else{var aJ=V(aq,aj.x0_,aj.y0_);aF={x:(aJ.x-aK.x)/j,y:(aJ.y-aK.y)/p};j/=aB*d;p/=aA*d;var aD=ab.max(j,p);ax=2*aj.r0_/aD;am=2*aj.r1_/aD-ax}var av=aj.colors_;av.sort(function(aN,i){return aN.offset-i.offset});var ap=av.length;var au=av[0].color;var at=av[ap-1].color;var az=av[0].alpha*aq.globalAlpha;var ay=av[ap-1].alpha*aq.globalAlpha;var aE=[];for(var aH=0;aH')}else{if(aj instanceof T){if(j&&p){var ah=-aK.x;var aC=-aK.y;ai.push("')}}else{var aL=F(aq.fillStyle);var aw=aL.color;var aG=aL.alpha*aq.globalAlpha;ai.push('')}}}q.fill=function(){this.stroke(true)};q.closePath=function(){this.currentPath_.push({type:"close"})};function V(j,Z,p){var i=j.m_;return{x:d*(Z*i[0][0]+p*i[1][0]+i[2][0])-f,y:d*(Z*i[0][1]+p*i[1][1]+i[2][1])-f}}q.save=function(){var i={};v(this,i);this.aStack_.push(i);this.mStack_.push(this.m_);this.m_=J(B(),this.m_)};q.restore=function(){if(this.aStack_.length){v(this.aStack_.pop(),this);this.m_=this.mStack_.pop()}};function h(i){return isFinite(i[0][0])&&isFinite(i[0][1])&&isFinite(i[1][0])&&isFinite(i[1][1])&&isFinite(i[2][0])&&isFinite(i[2][1])}function aa(j,i,p){if(!h(i)){return}j.m_=i;if(p){var Z=i[0][0]*i[1][1]-i[0][1]*i[1][0];j.lineScale_=N(H(Z))}}q.translate=function(m,j){var i=[[1,0,0],[0,1,0],[m,j,1]];aa(this,J(i,this.m_),false)};q.rotate=function(j){var p=A(j);var m=l(j);var i=[[p,m,0],[-m,p,0],[0,0,1]];aa(this,J(i,this.m_),false)};q.scale=function(m,j){this.arcScaleX_*=m;this.arcScaleY_*=j;var i=[[m,0,0],[0,j,0],[0,0,1]];aa(this,J(i,this.m_),true)};q.transform=function(Z,p,ah,ag,j,i){var m=[[Z,p,0],[ah,ag,0],[j,i,1]];aa(this,J(m,this.m_),true)};q.setTransform=function(ag,Z,ai,ah,p,j){var i=[[ag,Z,0],[ai,ah,0],[p,j,1]];aa(this,i,true)};q.drawText_=function(am,ak,aj,ap,ai){var ao=this.m_,at=1000,j=0,ar=at,ah={x:0,y:0},ag=[];var i=u(E(this.font),this.element_);var p=ac(i);var au=this.element_.currentStyle;var Z=this.textAlign.toLowerCase();switch(Z){case"left":case"center":case"right":break;case"end":Z=au.direction=="ltr"?"right":"left";break;case"start":Z=au.direction=="rtl"?"right":"left";break;default:Z="left"}switch(this.textBaseline){case"hanging":case"top":ah.y=i.size/1.75;break;case"middle":break;default:case null:case"alphabetic":case"ideographic":case"bottom":ah.y=-i.size/2.25;break}switch(Z){case"right":j=at;ar=0.05;break;case"center":j=ar=at/2;break}var aq=V(this,ak+ah.x,aj+ah.y);ag.push('');if(ai){w(this,ag)}else{G(this,ag,{x:-j,y:0},{x:ar,y:i.size})}var an=ao[0][0].toFixed(3)+","+ao[1][0].toFixed(3)+","+ao[0][1].toFixed(3)+","+ao[1][1].toFixed(3)+",0,0";var al=n(aq.x/d)+","+n(aq.y/d);ag.push('','','');this.element_.insertAdjacentHTML("beforeEnd",ag.join(""))};q.fillText=function(m,i,p,j){this.drawText_(m,i,p,j,false)};q.strokeText=function(m,i,p,j){this.drawText_(m,i,p,j,true)};q.measureText=function(m){if(!this.textMeasureEl_){var i='';this.element_.insertAdjacentHTML("beforeEnd",i);this.textMeasureEl_=this.element_.lastChild}var j=this.element_.ownerDocument;this.textMeasureEl_.innerHTML="";this.textMeasureEl_.style.font=this.font;this.textMeasureEl_.appendChild(j.createTextNode(m));return{width:this.textMeasureEl_.offsetWidth}};q.clip=function(){};q.arcTo=function(){};q.createPattern=function(j,i){return new T(j,i)};function U(i){this.type_=i;this.x0_=0;this.y0_=0;this.r0_=0;this.x1_=0;this.y1_=0;this.r1_=0;this.colors_=[]}U.prototype.addColorStop=function(j,i){i=F(i);this.colors_.push({offset:j,color:i.color,alpha:i.alpha})};function T(j,i){Q(j);switch(i){case"repeat":case null:case"":this.repetition_="repeat";break;case"repeat-x":case"repeat-y":case"no-repeat":this.repetition_=i;break;default:O("SYNTAX_ERR")}this.src_=j.src;this.width_=j.width;this.height_=j.height}function O(i){throw new P(i)}function Q(i){if(!i||i.nodeType!=1||i.tagName!="IMG"){O("TYPE_MISMATCH_ERR")}if(i.readyState!="complete"){O("INVALID_STATE_ERR")}}function P(i){this.code=this[i];this.message=i+": DOM Exception "+this.code}var X=P.prototype=new Error;X.INDEX_SIZE_ERR=1;X.DOMSTRING_SIZE_ERR=2;X.HIERARCHY_REQUEST_ERR=3;X.WRONG_DOCUMENT_ERR=4;X.INVALID_CHARACTER_ERR=5;X.NO_DATA_ALLOWED_ERR=6;X.NO_MODIFICATION_ALLOWED_ERR=7;X.NOT_FOUND_ERR=8;X.NOT_SUPPORTED_ERR=9;X.INUSE_ATTRIBUTE_ERR=10;X.INVALID_STATE_ERR=11;X.SYNTAX_ERR=12;X.INVALID_MODIFICATION_ERR=13;X.NAMESPACE_ERR=14;X.INVALID_ACCESS_ERR=15;X.VALIDATION_ERR=16;X.TYPE_MISMATCH_ERR=17;G_vmlCanvasManager=e;CanvasRenderingContext2D=D;CanvasGradient=U;CanvasPattern=T;DOMException=P})()}; \ No newline at end of file diff --git a/js/html5shiv.js b/js/html5shiv.js deleted file mode 100644 index 448cebd7..00000000 --- a/js/html5shiv.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed -*/ -(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); -a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; -c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| -"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f); -if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.2",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b)}(this,document); \ No newline at end of file diff --git a/js/jquery.flot.min.js b/js/jquery.flot.min.js index 9620fc00..968d3ebd 100644 --- a/js/jquery.flot.min.js +++ b/js/jquery.flot.min.js @@ -1,2 +1,8 @@ -(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=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 valuemax?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;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=$("
").css({position:"absolute",top:0,left:0,bottom:0,right:0,"font-size":"smaller",color:"#545454"}).insertAfter(this.element)}layer=this.text[classes]=$("
").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=$("
").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;imaxIndex){maxIndex=sc}}}if(neededColors<=maxIndex){neededColors=maxIndex+1}var c,colors=[],colorPool=options.colors,colorPoolSize=colorPool.length,variation=0;for(i=0;i=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;iaxis.datamax&&max!=fakeInfinity)axis.datamax=max}$.each(allAxes(),function(_,axis){axis.datamin=topSentry;axis.datamax=bottomSentry;axis.used=false});for(i=0;i0&&points[k-ps]!=null&&points[k-ps]!=points[k]&&points[k-ps+1]!=points[k+1]){for(m=0;mxmax)xmax=val}if(f.y){if(valymax)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=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&&size0){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;i1&&/\..*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;i1)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;ito){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;ixrange.axis.max||yrange.toyrange.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);if(xrange.from==xrange.to&&yrange.from==yrange.to)continue;xrange.from=xrange.axis.p2c(xrange.from);xrange.to=xrange.axis.p2c(xrange.to);yrange.from=yrange.axis.p2c(yrange.from);yrange.to=yrange.axis.p2c(yrange.to);if(xrange.from==xrange.to||yrange.from==yrange.to){ctx.beginPath();ctx.strokeStyle=m.color||options.grid.markingsColor;ctx.lineWidth=m.lineWidth||options.grid.markingsLineWidth;ctx.moveTo(xrange.from,yrange.from);ctx.lineTo(xrange.to,yrange.to);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;jaxis.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;iaxis.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=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=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=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){x1=(axisy.min-y1)/(y2-y1)*(x2-x1)+x1;y1=axisy.min}else if(y2<=y1&&y2=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;iaxisx.max||yaxisy.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(rightaxisx.max||topaxisy.max)return;if(leftaxisx.max){right=axisx.max;drawRight=false}if(bottomaxisy.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");fragments.push("");rowStarted=true}fragments.push('
'+''+entry.label+"")}if(rowStarted)fragments.push("");if(fragments.length==0)return;var table=''+fragments.join("")+"
";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=$('
'+table.replace('style="','style="position:absolute;'+pos+";")+"
").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();$('
').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;jmaxx||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=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;iaxisx.max||yaxisy.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=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 valuemax?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=$("
").css({position:"absolute",top:0,left:0,bottom:0,right:0,"font-size":"smaller",color:"#545454"}).insertAfter(this.element)}layer=this.text[classes]=$("
").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=$("
").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;imaxIndex){maxIndex=sc}}}if(neededColors<=maxIndex){neededColors=maxIndex+1}var c,colors=[],colorPool=options.colors,colorPoolSize=colorPool.length,variation=0;for(i=0;i=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;iaxis.datamax&&max!=fakeInfinity)axis.datamax=max}$.each(allAxes(),function(_,axis){axis.datamin=topSentry;axis.datamax=bottomSentry;axis.used=false});for(i=0;i0&&points[k-ps]!=null&&points[k-ps]!=points[k]&&points[k-ps+1]!=points[k+1]){for(m=0;mxmax)xmax=val}if(f.y){if(valymax)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=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&&size0){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;i1&&/\..*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;i1)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;ito){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;ixrange.axis.max||yrange.toyrange.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;jaxis.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;iaxis.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=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=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=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){x1=(axisy.min-y1)/(y2-y1)*(x2-x1)+x1;y1=axisy.min}else if(y2<=y1&&y2=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;iaxisx.max||yaxisy.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(rightaxisx.max||topaxisy.max)return;if(leftaxisx.max){right=axisx.max;drawRight=false}if(bottomaxisy.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");fragments.push("");rowStarted=true}fragments.push('
'+''+entry.label+"")}if(rowStarted)fragments.push("");if(fragments.length==0)return;var table=''+fragments.join("")+"
";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=$('
'+table.replace('style="','style="position:absolute;'+pos+";")+"
").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();$('
').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;jmaxx||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=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;iaxisx.max||yaxisy.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 thead th, > thead td',selectorSort:'th, td',selectorRemove:'.remove-me',debug:false,headerList:[],empties:{},strings:{},parsers:[]};ts.css={table:'tablesorter',childRow:'tablesorter-childRow',header:'tablesorter-header',headerRow:'tablesorter-headerRow',icon:'tablesorter-icon',info:'tablesorter-infoOnly',processing:'tablesorter-processing',sortAsc:'tablesorter-headerAsc',sortDesc:'tablesorter-headerDesc'};function log(){var s=arguments.length>1?Array.prototype.slice.call(arguments):arguments[0];if(typeof console!=="undefined"&&typeof console.log!=="undefined"){console.log(s);}else{alert(s);}} -function benchmark(s,d){log(s+" ("+(new Date().getTime()-d.getTime())+"ms)");} -ts.log=log;ts.benchmark=benchmark;function isEmptyObject(obj){for(var name in obj){return false;} -return true;} -function getElementText(table,node,cellIndex){if(!node){return"";} -var c=table.config,t=c.textExtraction,text="";if(t==="simple"){if(c.supportsTextContent){text=node.textContent;}else{text=$(node).text();}}else{if(typeof t==="function"){text=t(node,table,cellIndex);}else if(typeof t==="object"&&t.hasOwnProperty(cellIndex)){text=t[cellIndex](node,table,cellIndex);}else{text=c.supportsTextContent?node.textContent:$(node).text();}} -return $.trim(text);} -function detectParserForColumn(table,rows,rowIndex,cellIndex){var cur,i=ts.parsers.length,node=false,nodeValue='',keepLooking=true;while(nodeValue===''&&keepLooking){rowIndex++;if(rows[rowIndex]){node=rows[rowIndex].cells[cellIndex];nodeValue=getElementText(table,node,cellIndex);if(table.config.debug){log('Checking if value was empty on row '+rowIndex+', column: '+cellIndex+': "'+nodeValue+'"');}}else{keepLooking=false;}} -while(--i>=0){cur=ts.parsers[i];if(cur&&cur.id!=='text'&&cur.is&&cur.is(nodeValue,table,node)){return cur;}} -return ts.getParserById('text');} -function buildParserCache(table){var c=table.config,tb=c.$tbodies=c.$table.children('tbody:not(.'+c.cssInfoBlock+')'),rows,list,l,i,h,ch,p,time,parsersDebug="";if(tb.length===0){return c.debug?log('*Empty table!* Not building a parser cache'):'';}else if(c.debug){time=new Date();log('Detecting parsers for each column');} -rows=tb[0].rows;if(rows[0]){list=[];l=rows[0].cells.length;for(i=0;i':'';c.$headers=$(table).find(c.selectorHeaders).each(function(index){$t=$(this);ch=c.headers[index];c.headerContent[index]=$(this).html();t=c.headerTemplate.replace(/\{content\}/g,$(this).html()).replace(/\{icon\}/g,i);if(c.onRenderTemplate){h=c.onRenderTemplate.apply($t,[index,t]);if(h&&typeof h==='string'){t=h;}} -$(this).html('
'+t+'
');if(c.onRenderHeader){c.onRenderHeader.apply($t,[index]);} -this.column=header_index[this.parentNode.rowIndex+"-"+this.cellIndex];this.order=formatSortingOrder(ts.getData($t,ch,'sortInitialOrder')||c.sortInitialOrder)?[1,0,2]:[0,1,2];this.count=-1;this.lockedOrder=false;lock=ts.getData($t,ch,'lockedOrder')||false;if(typeof lock!=='undefined'&&lock!==false){this.order=this.lockedOrder=formatSortingOrder(lock)?[1,1,1]:[0,0,0];} -$t.addClass(ts.css.header+' '+c.cssHeader);c.headerList[index]=this;$t.parent().addClass(ts.css.headerRow+' '+c.cssHeaderRow);$t.attr("tabindex",0);});updateHeader(table);if(c.debug){benchmark("Built headers:",time);log(c.$headers);}} -function commonUpdate(table,resort,callback){var c=table.config;c.$table.find(c.selectorRemove).remove();buildParserCache(table);buildCache(table);checkResort(c.$table,resort,callback);} -function updateHeader(table){var s,c=table.config;c.$headers.each(function(index,th){s=ts.getData(th,c.headers[index],'sorter')==='false';th.sortDisabled=s;$(th)[s?'addClass':'removeClass']('sorter-false');});} -function setHeadersCss(table){var f,i,j,l,c=table.config,list=c.sortList,css=[ts.css.sortAsc+' '+c.cssAsc,ts.css.sortDesc+' '+c.cssDesc],$t=$(table).find('tfoot tr').children().removeClass(css.join(' '));c.$headers.removeClass(css.join(' '));l=list.length;for(i=0;i'),overallWidth=$(table).width();$(table.tBodies[0]).find("tr:first").children("td:visible").each(function(){colgroup.append($('').css('width',parseInt(($(this).width()/overallWidth)*1000,10)/10+'%'));});$(table).prepend(colgroup);}} -function updateHeaderSortCount(table,list){var s,t,o,c=table.config,sl=list||c.sortList;c.sortList=[];$.each(sl,function(i,v){s=[parseInt(v[0],10),parseInt(v[1],10)];o=c.$headers[s[0]];if(o){c.sortList.push(s);t=$.inArray(s[1],o.order);o.count=t>=0?t:s[1]%(c.sortReset?3:2);}});} -function getCachedSortType(parsers,i){return(parsers&&parsers[i])?parsers[i].type||'':'';} -function initSort(table,cell,e){var a,i,j,o,s,c=table.config,k=!e[c.sortMultiSortKey],$this=$(table);$this.trigger("sortStart",table);cell.count=e[c.sortResetKey]?2:(cell.count+1)%(c.sortReset?3:2);if(c.sortRestart){i=cell;c.$headers.each(function(){if(this!==i&&(k||!$(this).is('.'+ts.css.sortDesc+',.'+ts.css.sortAsc))){this.count=-1;}});} -i=cell.column;if(k){c.sortList=[];if(c.sortForce!==null){a=c.sortForce;for(j=0;j1){for(j=1;j1){if(ts.isValueInArray(c.sortAppend[0][0],c.sortList)){c.sortList.pop();}} -if(ts.isValueInArray(i,c.sortList)){for(j=0;j1){for(j=1;j250)){return;} -if(e.type==='mousedown'){downTime=new Date().getTime();return e.target.tagName==="INPUT"?'':!c.cancelSelection;} -if(c.delayInit&&isEmptyObject(c.cache)){buildCache(table);} -var $cell=/TH|TD/.test(this.tagName)?$(this):$(this).parents('th, td').filter(':first'),cell=$cell[0];if(!cell.sortDisabled){initSort(table,cell,e);}});if(c.cancelSelection){c.$headers.attr('unselectable','on').bind('selectstart',false).css({'user-select':'none','MozUserSelect':'none'});} -$this.unbind('sortReset update updateRows updateCell updateAll addRows sorton appendCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave '.split(' ').join('.tablesorter ')).bind("sortReset.tablesorter",function(e){e.stopPropagation();c.sortList=[];setHeadersCss(table);multisort(table);appendToTable(table);}).bind("updateAll.tablesorter",function(e,resort,callback){e.stopPropagation();ts.refreshWidgets(table,true,true);ts.restoreHeaders(table);buildHeaders(table);bindEvents(table);commonUpdate(table,resort,callback);}).bind("update.tablesorter updateRows.tablesorter",function(e,resort,callback){e.stopPropagation();updateHeader(table);commonUpdate(table,resort,callback);}).bind("updateCell.tablesorter",function(e,cell,resort,callback){e.stopPropagation();$this.find(c.selectorRemove).remove();var l,row,icell,$tb=$this.find('tbody'),tbdy=$tb.index($(cell).parents('tbody').filter(':first')),$row=$(cell).parents('tr').filter(':first');cell=$(cell)[0];if($tb.length&&tbdy>=0){row=$tb.eq(tbdy).find('tr').index($row);icell=cell.cellIndex;l=c.cache[tbdy].normalized[row].length-1;c.cache[tbdy].row[table.config.cache[tbdy].normalized[row][l]]=$row;c.cache[tbdy].normalized[row][icell]=c.parsers[icell].format(getElementText(table,cell,icell),table,cell,icell);checkResort($this,resort,callback);}}).bind("addRows.tablesorter",function(e,$row,resort,callback){e.stopPropagation();var i,rows=$row.filter('tr').length,dat=[],l=$row[0].cells.length,tbdy=$this.find('tbody').index($row.parents('tbody').filter(':first'));if(!c.parsers){buildParserCache(table);} -for(i=0;ix')[0].textContent==='x';c.supportsDataObject=(function(version){version[0]=parseInt(version[0],10);return(version[0]>1)||(version[0]===1&&parseInt(version[1],10)>=4);})($.fn.jquery.split("."));c.string={'max':1,'min':-1,'max+':1,'max-':-1,'zero':0,'none':0,'null':0,'top':true,'bottom':false};if(!/tablesorter\-/.test($this.attr('class'))){k=(c.theme!==''?' tablesorter-'+c.theme:'');} -c.$table=$this.addClass(ts.css.table+' '+c.tableClass+k);c.$tbodies=$this.children('tbody:not(.'+c.cssInfoBlock+')');c.widgetInit={};buildHeaders(table);fixColumnWidth(table);buildParserCache(table);if(!c.delayInit){buildCache(table);} -bindEvents(table);if(c.supportsDataObject&&typeof $this.data().sortlist!=='undefined'){c.sortList=$this.data().sortlist;}else if(m&&($this.metadata()&&$this.metadata().sortlist)){c.sortList=$this.metadata().sortlist;} -ts.applyWidget(table,true);if(c.sortList.length>0){$this.trigger("sorton",[c.sortList,{},!c.initWidgets]);}else if(c.initWidgets){ts.applyWidget(table);} -if(c.showProcessing){$this.unbind('sortBegin.tablesorter sortEnd.tablesorter').bind('sortBegin.tablesorter sortEnd.tablesorter',function(e){ts.isProcessing(table,e.type==='sortBegin');});} -table.hasInitialized=true;table.isProcessing=false;if(c.debug){ts.benchmark("Overall initialization time",$.data(table,'startoveralltimer'));} -$this.trigger('tablesorter-initialized',table);if(typeof c.initialized==='function'){c.initialized(table);}};ts.isProcessing=function(table,toggle,$ths){table=$(table);var c=table[0].config,$h=$ths||table.find('.'+ts.css.header);if(toggle){if(c.sortList.length>0){$h=$h.filter(function(){return this.sortDisabled?false:ts.isValueInArray(parseFloat($(this).attr('data-column')),c.sortList);});} -$h.addClass(ts.css.processing+' '+c.cssProcessing);}else{$h.removeClass(ts.css.processing+' '+c.cssProcessing);}};ts.processTbody=function(table,$tb,getIt){var holdr;if(getIt){table.isProcessing=true;$tb.before('');holdr=($.fn.detach)?$tb.detach():$tb.remove();return holdr;} -holdr=$(table).find('span.tablesorter-savemyplace');$tb.insertAfter(holdr);holdr.remove();table.isProcessing=false;};ts.clearTableBody=function(table){$(table)[0].config.$tbodies.empty();};ts.restoreHeaders=function(table){var c=table.config;c.$table.find(c.selectorHeaders).each(function(i){if($(this).find('.tablesorter-header-inner').length){$(this).html(c.headerContent[i]);}});};ts.destroy=function(table,removeClasses,callback){table=$(table)[0];if(!table.hasInitialized){return;} -ts.refreshWidgets(table,true,true);var $t=$(table),c=table.config,$h=$t.find('thead:first'),$r=$h.find('tr.'+ts.css.headerRow).removeClass(ts.css.headerRow+' '+c.cssHeaderRow),$f=$t.find('tfoot:first > tr').children('th, td');$h.find('tr').not($r).remove();$t.removeData('tablesorter').unbind('sortReset update updateAll updateRows updateCell addRows sorton appendCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave keypress sortBegin sortEnd '.split(' ').join('.tablesorter '));c.$headers.add($f).removeClass([ts.css.header,c.cssHeader,c.cssAsc,c.cssDesc,ts.css.sortAsc,ts.css.sortDesc].join(' ')).removeAttr('data-column');$r.find(c.selectorSort).unbind('mousedown.tablesorter mouseup.tablesorter keypress.tablesorter');ts.restoreHeaders(table);if(removeClasses!==false){$t.removeClass(ts.css.table+' '+c.tableClass+' tablesorter-'+c.theme);} -table.hasInitialized=false;if(typeof callback==='function'){callback(table);}};ts.regex={chunk:/(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi,hex:/^0x[0-9a-f]+$/i};ts.sortNatural=function(a,b){if(a===b){return 0;} -var xN,xD,yN,yD,xF,yF,i,mx,r=ts.regex;if(r.hex.test(b)){xD=parseInt(a.match(r.hex),16);yD=parseInt(b.match(r.hex),16);if(xDyD){return 1;}} -xN=a.replace(r.chunk,'\\0$1\\0').replace(/\\0$/,'').replace(/^\\0/,'').split('\\0');yN=b.replace(r.chunk,'\\0$1\\0').replace(/\\0$/,'').replace(/^\\0/,'').split('\\0');mx=Math.max(xN.length,yN.length);for(i=0;iyF){return 1;}} -return 0;};ts.sortText=function(a,b){return a>b?1:(a1){row=0;$tv=$tb.children('tr:visible');$tv.each(function(){$tr=$(this);if(!child.test(this.className)){row++;} -even=(row%2===0);$tr.removeClass(wo.zebra[even?1:0]).addClass(wo.zebra[even?0:1]);});}} -if(c.debug){ts.benchmark("Applying Zebra widget",time);}},remove:function(table,c,wo){var k,$tb,b=c.$tbodies,rmv=(wo.zebra||["even","odd"]).join(' ');for(k=0;k':"";m.$headers=g(b).find(m.selectorHeaders).each(function(b){c= g(this);a=m.headers[b];m.headerContent[b]=g(this).html();t=m.headerTemplate.replace(/\{content\}/g,g(this).html()).replace(/\{icon\}/g,e);m.onRenderTemplate&&(h=m.onRenderTemplate.apply(c,[b,t]))&&"string"===typeof h&&(t=h);g(this).html('
'+t+"
");m.onRenderHeader&&m.onRenderHeader.apply(c,[b]);this.column=parseInt(g(this).attr("data-column"),10);this.order=C(f.getData(c,a,"sortInitialOrder")||m.sortInitialOrder)?[1,0,2]:[0,1,2];this.count=-1;this.lockedOrder=!1; k=f.getData(c,a,"lockedOrder")||!1;"undefined"!==typeof k&&!1!==k&&(this.order=this.lockedOrder=C(k)?[1,1,1]:[0,0,0]);c.addClass(f.css.header+" "+m.cssHeader);m.headerList[b]=this;c.parent().addClass(f.css.headerRow+" "+m.cssHeaderRow).attr("role","row");m.tabIndex&&c.attr("tabindex",0)}).attr({scope:"col",role:"columnheader"});B(b);m.debug&&(u("Built headers:",l),d(m.$headers))}function E(b,a,c){var h=b.config;h.$table.find(h.selectorRemove).remove();s(b);x(b);H(h.$table,a,c)}function B(b){var a, c,h=b.config;h.$headers.each(function(e,t){c=g(t);a="false"===f.getData(t,h.headers[e],"sorter");t.sortDisabled=a;c[a?"addClass":"removeClass"]("sorter-false").attr("aria-disabled",""+a);b.id&&(a?c.removeAttr("aria-controls"):c.attr("aria-controls",b.id))})}function G(b){var a,c,h=b.config,e=h.sortList,t=e.length,d=f.css.sortNone+" "+h.cssNone,l=[f.css.sortAsc+" "+h.cssAsc,f.css.sortDesc+" "+h.cssDesc],m=["ascending","descending"],n=g(b).find("tfoot tr").children().add(h.$extraHeaders).removeClass(l.join(" ")); h.$headers.removeClass(l.join(" ")).addClass(d).attr("aria-sort","none");for(a=0;a"),c=g(b).width();g(b.tBodies[0]).find("tr:first").children("td:visible").each(function(){a.append(g("").css("width",parseInt(g(this).width()/c*1E3,10)/10+"%"))});g(b).prepend(a)}}function M(b,a,c){var h,e, f,d=b.config;b=a||d.sortList;d.sortList=[];g.each(b,function(b,a){h=[parseInt(a[0],10),parseInt(a[1],10)];if(f=d.$headers.filter('[data-column="'+h[0]+'"]:last')[0])d.sortList.push(h),e=g.inArray(h[1],f.order),c&&(f.count+=1),f.count=0<=e?e:h[1]%(d.sortReset?3:2)})}function N(b,a){return b&&b[a]?b[a].type||"":""}function O(b,a,c){var h,e,d,k=b.config,l=!c[k.sortMultiSortKey],m=k.$table;m.trigger("sortStart",b);a.count=c[k.sortResetKey]?2:(a.count+1)%(k.sortReset?3:2);k.sortRestart&&(e=a,k.$headers.each(function(){this=== e||!l&&g(this).is("."+f.css.sortDesc+",."+f.css.sortAsc)||(this.count=-1)}));e=a.column;if(l){k.sortList=[];if(null!==k.sortForce)for(h=k.sortForce,c=0;ch&&(k.sortList.push([e,h]),1h&&(k.sortList.push([e,h]),1 thead th, > thead td",selectorSort:"th, td",selectorRemove:".remove-me",debug:!1,headerList:[],empties:{},strings:{},parsers:[]};f.css={table:"tablesorter",cssHasChild:"tablesorter-hasChildRow",childRow:"tablesorter-childRow",header:"tablesorter-header", headerRow:"tablesorter-headerRow",headerIn:"tablesorter-header-inner",icon:"tablesorter-icon",info:"tablesorter-infoOnly",processing:"tablesorter-processing",sortAsc:"tablesorter-headerAsc",sortDesc:"tablesorter-headerDesc",sortNone:"tablesorter-headerUnSorted"};f.language={sortAsc:"Ascending sort applied, ",sortDesc:"Descending sort applied, ",sortNone:"No sort applied, ",nextAsc:"activate to apply an ascending sort",nextDesc:"activate to apply a descending sort",nextNone:"activate to remove the sort"}; f.log=d;f.benchmark=u;f.construct=function(b){return this.each(function(){var a=g.extend(!0,{},f.defaults,b);!this.hasInitialized&&f.buildTable&&"TABLE"!==this.tagName?f.buildTable(this,a):f.setup(this,a)})};f.setup=function(b,a){if(!b||!b.tHead||0===b.tBodies.length||!0===b.hasInitialized)return a.debug?d("ERROR: stopping initialization! No table, thead, tbody or tablesorter has already been initialized"):"";var c="",h=g(b),e=g.metadata;b.hasInitialized=!1;b.isProcessing=!0;b.config=a;g.data(b,"tablesorter", a);a.debug&&g.data(b,"startoveralltimer",new Date);a.supportsDataObject=function(a){a[0]=parseInt(a[0],10);return 1'), c=g.fn.detach?a.detach():a.remove();c=g(b).find("span.tablesorter-savemyplace");a.insertAfter(c);c.remove();b.isProcessing=!1};f.clearTableBody=function(b){g(b)[0].config.$tbodies.empty()};f.bindEvents=function(b,a,c){b=g(b)[0];var d,e=b.config;!0!==c&&(e.$extraHeaders=e.$extraHeaders?e.$extraHeaders.add(a):a);a.find(e.selectorSort).add(a.filter(e.selectorSort)).unbind(["mousedown","mouseup","sort","keyup",""].join(e.namespace+" ")).bind(["mousedown","mouseup","sort","keyup",""].join(e.namespace+ " "),function(c,f){var l;l=c.type;if(!(1!==(c.which||c.button)&&!/sort|keyup/.test(l)||"keyup"===l&&13!==c.which||"mouseup"===l&&!0!==f&&250<(new Date).getTime()-d)){if("mousedown"===l)return d=(new Date).getTime(),"INPUT"===c.target.tagName?"":!e.cancelSelection;e.delayInit&&n(e.cache)&&x(b);l=g.fn.closest?g(this).closest("th, td")[0]:/TH|TD/.test(this.tagName)?this:g(this).parents("th, td")[0];l=e.$headers[a.index(l)];l.sortDisabled||O(b,l,c)}});e.cancelSelection&&a.attr("unselectable","on").bind("selectstart", !1).css({"user-select":"none",MozUserSelect:"none"})};f.restoreHeaders=function(b){var a=g(b)[0].config;a.$table.find(a.selectorHeaders).each(function(b){g(this).find("."+f.css.headerIn).length&&g(this).html(a.headerContent[b])})};f.destroy=function(b,a,c){b=g(b)[0];if(b.hasInitialized){f.refreshWidgets(b,!0,!0);var d=g(b),e=b.config,t=d.find("thead:first"),k=t.find("tr."+f.css.headerRow).removeClass(f.css.headerRow+" "+e.cssHeaderRow),l=d.find("tfoot:first > tr").children("th, td");!1===a&&0<=g.inArray("uitheme", e.widgets)&&(d.trigger("applyWidgetId",["uitheme"]),d.trigger("applyWidgetId",["zebra"]));t.find("tr").not(k).remove();d.removeData("tablesorter").unbind("sortReset update updateAll updateRows updateCell addRows updateComplete sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave keypress sortBegin sortEnd ".split(" ").join(e.namespace+" "));e.$headers.add(l).removeClass([f.css.header,e.cssHeader,e.cssAsc,e.cssDesc,f.css.sortAsc,f.css.sortDesc,f.css.sortNone].join(" ")).removeAttr("data-column").removeAttr("aria-label").attr("aria-disabled", "true");k.find(e.selectorSort).unbind(["mousedown","mouseup","keypress",""].join(e.namespace+" "));f.restoreHeaders(b);d.toggleClass(f.css.table+" "+e.tableClass+" tablesorter-"+e.theme,!1===a);b.hasInitialized=!1;delete b.config.cache;"function"===typeof c&&c(b)}};f.regex={chunk:/(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi,chunks:/(^\\0|\\0$)/,hex:/^0x[0-9a-f]+$/i};f.sortNatural=function(b,a){if(b===a)return 0;var c,d,e,g,k,l;d=f.regex;if(d.hex.test(a)){c=parseInt(b.match(d.hex), 16);e=parseInt(a.match(d.hex),16);if(ce)return 1}c=b.replace(d.chunk,"\\0$1\\0").replace(d.chunks,"").split("\\0");d=a.replace(d.chunk,"\\0$1\\0").replace(d.chunks,"").split("\\0");l=Math.max(c.length,d.length);for(k=0;kg)return 1}return 0};f.sortNaturalAsc=function(b,a,c,d,e){if(b===a)return 0; c=e.string[e.empties[c]||e.emptyTo];return""===b&&0!==c?"boolean"===typeof c?c?-1:1:-c||-1:""===a&&0!==c?"boolean"===typeof c?c?1:-1:c||1:f.sortNatural(b,a)};f.sortNaturalDesc=function(b,a,c,d,e){if(b===a)return 0;c=e.string[e.empties[c]||e.emptyTo];return""===b&&0!==c?"boolean"===typeof c?c?-1:1:c||1:""===a&&0!==c?"boolean"===typeof c?c?1:-1:-c||-1:f.sortNatural(a,b)};f.sortText=function(b,a){return b>a?1:bg.inArray(k[h].id,n))&&(e.debug&&d('Refeshing widgets: Removing "'+k[h].id+'"'),k[h].hasOwnProperty("remove")&&e.widgetInit[k[h].id]&&(k[h].remove(b,e,e.widgetOptions),e.widgetInit[k[h].id]=!1));!0!==c&&f.applyWidget(b,a)};f.getData=function(b,a,c){var d="";b=g(b);var e,f;if(!b.length)return"";e=g.metadata?b.metadata():!1;f=" "+(b.attr("class")||"");"undefined"!==typeof b.data(c)||"undefined"!==typeof b.data(c.toLowerCase())? d+=b.data(c)||b.data(c.toLowerCase()):e&&"undefined"!==typeof e[c]?d+=e[c]:a&&"undefined"!==typeof a[c]?d+=a[c]:" "!==f&&f.match(" "+c+"-")&&(d=f.match(RegExp("\\s"+c+"-([\\w-]+)"))[1]||"");return g.trim(d)};f.formatFloat=function(b,a){if("string"!==typeof b||""===b)return b;var c;b=(a&&a.config?!1!==a.config.usNumberFormat:"undefined"!==typeof a?a:1)?b.replace(/,/g,""):b.replace(/[\s|\.]/g,"").replace(/,/g,".");/^\s*\([.\d]+\)/.test(b)&&(b=b.replace(/^\s*\(([.\d]+)\)/,"-$1"));c=parseFloat(b);return isNaN(c)? g.trim(b):c};f.isDigit=function(b){return isNaN(b)?/^[\-+(]?\d+[)]?$/.test(b.toString().replace(/[,.'"\s]/g,"")):!0}}});var p=g.tablesorter;g.fn.extend({tablesorter:p.construct});p.addParser({id:"text",is:function(){return!0},format:function(d,u){var n=u.config;d&&(d=g.trim(n.ignoreCase?d.toLocaleLowerCase():d),d=n.sortLocaleCompare?p.replaceAccents(d):d);return d},type:"text"});p.addParser({id:"digit",is:function(d){return p.isDigit(d)},format:function(d,u){var n=p.formatFloat((d||"").replace(/[^\w,. \-()]/g, ""),u);return d&&"number"===typeof n?n:d?g.trim(d&&u.config.ignoreCase?d.toLocaleLowerCase():d):d},type:"numeric"});p.addParser({id:"currency",is:function(d){return/^\(?\d+[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]|[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]\d+\)?$/.test((d||"").replace(/[+\-,. ]/g,""))},format:function(d,u){var n=p.formatFloat((d||"").replace(/[^\w,. \-()]/g,""),u);return d&&"number"===typeof n?n:d?g.trim(d&&u.config.ignoreCase?d.toLocaleLowerCase():d):d},type:"numeric"});p.addParser({id:"ipAddress", is:function(d){return/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test(d)},format:function(d,g){var n,v=d?d.split("."):"",s="",x=v.length;for(n=0;nd.length},format:function(d,g){return d?p.formatFloat(d.replace(/%/g,""),g):d},type:"numeric"});p.addParser({id:"usLongDate",is:function(d){return/^[A-Z]{3,10}\.?\s+\d{1,2},?\s+(\d{4})(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?$/i.test(d)||/^\d{1,2}\s+[A-Z]{3,10}\s+\d{4}/i.test(d)},format:function(d,g){return d?p.formatFloat((new Date(d.replace(/(\S)([AP]M)$/i, "$1 $2"))).getTime()||d,g):d},type:"numeric"});p.addParser({id:"shortDate",is:function(d){return/(^\d{1,2}[\/\s]\d{1,2}[\/\s]\d{4})|(^\d{4}[\/\s]\d{1,2}[\/\s]\d{1,2})/.test((d||"").replace(/\s+/g," ").replace(/[\-.,]/g,"/"))},format:function(d,g,n,v){if(d){n=g.config;var s=n.$headers.filter("[data-column="+v+"]:last");v=s.length&&s[0].dateFormat||p.getData(s,n.headers[v],"dateFormat")||n.dateFormat;d=d.replace(/\s+/g," ").replace(/[\-.,]/g,"/");"mmddyyyy"===v?d=d.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/, "$3/$1/$2"):"ddmmyyyy"===v?d=d.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/,"$3/$2/$1"):"yyyymmdd"===v&&(d=d.replace(/(\d{4})[\/\s](\d{1,2})[\/\s](\d{1,2})/,"$1/$2/$3"))}return d?p.formatFloat((new Date(d)).getTime()||d,g):d},type:"numeric"});p.addParser({id:"time",is:function(d){return/^(([0-2]?\d:[0-5]\d)|([0-1]?\d:[0-5]\d\s?([AP]M)))$/i.test(d)},format:function(d,g){return d?p.formatFloat((new Date("2000/01/01 "+d.replace(/(\S)([AP]M)$/i,"$1 $2"))).getTime()||d,g):d},type:"numeric"});p.addParser({id:"metadata", is:function(){return!1},format:function(d,p,n){d=p.config;d=d.parserMetadataName?d.parserMetadataName:"sortValue";return g(n).metadata()[d]},type:"numeric"});p.addWidget({id:"zebra",priority:90,format:function(d,u,n){var v,s,x,y,C,D,E=RegExp(u.cssChildRow,"i"),B=u.$tbodies;u.debug&&(C=new Date);for(d=0;d=0;n--){var o=$(r[n]);if(o[0]==t||o.is(":visible")){var h=o.width(),d=o.height(),v=o.data(a);!v||h===v.w&&d===v.h?i[f]=i[l]:(i[f]=i[c],o.trigger(u,[v.w=h,v.h=d]))}else v=o.data(a),v.w=0,v.h=0}s!==null&&(s=t.requestAnimationFrame(p))}var r=[],i=$.resize=$.extend($.resize,{}),s,o="setTimeout",u="resize",a=u+"-special-event",f="delay",l="pendingDelay",c="activeDelay",h="throttleWindow";i[l]=250,i[c]=20,i[f]=i[l],i[h]=!0,$.event.special[u]={setup:function(){if(!i[h]&&this[o])return!1;var t=$(this);r.push(this),t.data(a,{w:t.width(),h:t.height()}),r.length===1&&(s=n,p())},teardown:function(){if(!i[h]&&this[o])return!1;var t=$(this);for(var n=r.length-1;n>=0;n--)if(r[n]==this){r.splice(n,1);break}t.removeData(a),r.length||(cancelAnimationFrame(s),s=null)},add:function(t){function s(t,i,s){var o=$(this),u=o.data(a);u.w=i!==n?i:o.width(),u.h=s!==n?s:o.height(),r.apply(this,arguments)}if(!i[h]&&this[o])return!1;var r;if($.isFunction(t))return r=t,s;r=t.handler,t.handler=s}},t.requestAnimationFrame||(t.requestAnimationFrame=function(){return t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame||function(e,n){return t.setTimeout(e,i[f])}}()),t.cancelAnimationFrame||(t.cancelAnimationFrame=function(){return t.webkitCancelRequestAnimationFrame||t.mozCancelRequestAnimationFrame||t.oCancelRequestAnimationFrame||t.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); \ No newline at end of file diff --git a/js/plugins/jquery.flot.resize.min.js b/js/plugins/jquery.flot.resize.min.js new file mode 100644 index 00000000..7e92aa68 --- /dev/null +++ b/js/plugins/jquery.flot.resize.min.js @@ -0,0 +1,7 @@ +/* Javascript plotting library for jQuery, version 0.8.3. + +Copyright (c) 2007-2014 IOLA and Ole Laursen. +Licensed under the MIT license. + +*/ +(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); \ No newline at end of file diff --git a/templates/Sparkle/header.tpl b/templates/Sparkle/header.tpl index b9e4a9fc..f32fda6a 100644 --- a/templates/Sparkle/header.tpl +++ b/templates/Sparkle/header.tpl @@ -9,11 +9,11 @@ - + - + diff --git a/templates/Sparkle/index.tpl b/templates/Sparkle/index.tpl index 13889821..558c9cc6 100644 --- a/templates/Sparkle/index.tpl +++ b/templates/Sparkle/index.tpl @@ -15,7 +15,7 @@ - + {$title}Froxlor Server Management Panel diff --git a/templates/Sparkle/misc/alreadyinstalledhint.tpl b/templates/Sparkle/misc/alreadyinstalledhint.tpl index 5c056e8e..c7138eaa 100644 --- a/templates/Sparkle/misc/alreadyinstalledhint.tpl +++ b/templates/Sparkle/misc/alreadyinstalledhint.tpl @@ -5,7 +5,7 @@ - + diff --git a/templates/Sparkle/misc/configurehint.tpl b/templates/Sparkle/misc/configurehint.tpl index b377ed17..40552fbd 100644 --- a/templates/Sparkle/misc/configurehint.tpl +++ b/templates/Sparkle/misc/configurehint.tpl @@ -5,7 +5,7 @@ - + diff --git a/templates/Sparkle/misc/dberrornice.tpl b/templates/Sparkle/misc/dberrornice.tpl index 7609da5c..e1f0557e 100644 --- a/templates/Sparkle/misc/dberrornice.tpl +++ b/templates/Sparkle/misc/dberrornice.tpl @@ -5,7 +5,7 @@ - + diff --git a/templates/Sparkle/misc/ownershiphint.tpl b/templates/Sparkle/misc/ownershiphint.tpl index dd9838a5..454e5bd1 100644 --- a/templates/Sparkle/misc/ownershiphint.tpl +++ b/templates/Sparkle/misc/ownershiphint.tpl @@ -5,7 +5,7 @@ - +