(function(a){a.fn.jqChart=function(b){this.setOptions=function(c){var b=a.extend(true,{},a.fn.jqChart.defaults,c||{});a.extend(this,b);this.border=new D(b.border);this.border.fillStyle=this.background||this.border.fillStyle;this.paletteColors=new U(b.paletteColors);if(typeof b.title=="string"){b.title={text:b.title};a.extend(b.title,a.fn.jqChart.defaults.title)}this.title=new T(b.title);this.title.chart=this;this.legend=new L;this.legend.chart=this;this.legend.setOptions(c.legend);this.series=new r(c.series,this);this.axes=new m(c.axes,this)};this.init=function(){this.width()==0&&this.css("width","400px");this.height()==0&&this.css("height","250px");this.canvas=this.createCanvas();this.chartRenderer=new N(this.canvas);this.ctx=this.chartRenderer.ctx;this.areaCanvas=this.createCanvas();this.areaRenderer=new N(this.areaCanvas);this.gridArea=new K(this);this.setOptions(b);this.update()};this.update=function(){this.clear();this.series.initData();this.axes.initSeriesAxes();this.axes.initSeries();this.axes.initRanges();this.series.initColors();this.legend.init();this.measure();this.arrange();this.axes.updateOrigins();this.measure();this.arrange();this.axes.updateOrigins();this.axes.initRanges();var a=[];this.border.render(a);this.title.render(a);this.legend.render(a);this.gridArea.render(a);this.axes.render(a);this.addTrialWatermark(a);this.chartRenderer.render(a);var b=[];this.gridArea.renderSeries(b);this.areaRenderer.render(b)};this.createCanvas=function(){var b=document.createElement("canvas");b.width=this.width();b.height=this.height();a(b).css({position:"absolute"});if(a.fn.jqChart.use_excanvas){window.G_vmlCanvasManager.init_(document);window.G_vmlCanvasManager.initElement(b)}this.append(b);return b};this.measure=function(){this.title.measure();this.legend.measure();this.axes.measure()};this.arrange=function(){var f=this.width(),g=this.height();this.border.width=f;this.border.height=g;var e=this.border.getPadding();f-=2*e;g-=2*e;this.title.x=e+(f-this.title.width)/2;this.title.y=e;this.legend.x=e+f-this.legend.width;this.legend.y=e+(g-this.legend.height)/2;var n=this.axes.getTotalWidth(),m=this.axes.getTotalHeight();this.gridArea.width=Math.round(f-(n+this.legend.width));this.gridArea.height=Math.round(g-(m+this.title.height));for(var c=e,d=this.title.y+this.title.height,h=this.axes.getAxesInLoc("left"),b=h.length-1;b>=0;b--){var a=h[b];a.x=c;a.height=this.gridArea.height;c=Math.ceil(c+a.width)}this.gridArea.x=c;c+=this.gridArea.width;for(var i=this.axes.getAxesInLoc("right"),b=0;b<i.length;b++){var a=i[b];a.x=c;a.height=this.gridArea.height;c=Math.ceil(c+a.width)}for(var l=this.axes.getAxesInLoc("top"),b=l.length-1;b>=0;b--){var a=l[b];a.x=this.gridArea.x;a.y=d;a.width=this.gridArea.width;d=Math.ceil(d+a.height)}this.gridArea.y=d;d+=this.gridArea.height;for(var k=this.axes.getAxesInLoc("bottom"),b=0;b<k.length;b++){var a=k[b];a.x=this.gridArea.x;a.y=d;a.width=this.gridArea.width;d=Math.ceil(d+a.height)}for(var j=h.concat(i),b=0;b<j.length;b++){var a=j[b];a.y=this.gridArea.y}this.gridArea.arrange();this.axes.arrange();this.legend.arrange()};this.clear=function(){this.chartRenderer.clear();this.areaRenderer.clear()};this.findAxis=function(a){if(this.axes)return this.axes.find(a)};this.addTrialWatermark=function(c){var b=window.location.host.indexOf("www.jquerychart.com");if(b!=-1)return;b=window.location.host.indexOf("");if(b!=-1)return;var a=new n("");a.chart=this;a.font="14px sans-serif";a.fillStyle="grey";a.measure(this.ctx);a.x=this.width()-a.width-16;a.y=this.height()-a.height;c.push(a)};this.init();return this};a.fn.jqChart.support_canvas=function(){return!!document.createElement("canvas").getContext};a.fn.jqChart.use_excanvas=a.browser.msie&&!a.fn.jqChart.support_canvas()?true:false;a.fn.jqChart.defaults={title:{margin:8,font:"22px sans-serif"}};a.fn.jqChart.labelFormatter=function(b,c){return!b?String(c):a.fn.jqChart.sprintf(b,c)};a.fn.jqChart.sprintf=function(){function e(a,c,e,d){var b=a.length>=c?"":Array(1+c-a.length>>>0).join(e);return d?a+b:b+a}function d(a,d,b,c,g){var f=c-a.length;if(f>0)if(b||!g)a=e(a,c," ",b);else a=a.slice(0,d.length)+e("",f,"0",true)+a.slice(d.length);return a}function c(b,f,a,g,i,h,j){var c=b>>>0;a=a&&c&&({"2":"0b","8":"0","16":"0x"})[f]||"";b=a+e(c.toString(f),h||0,"0",false);return d(b,a,g,i,j)}function g(a,c,e,b,f){if(b!=null)a=a.slice(0,b);return d(a,"",c,e,f)}var b=arguments,f=0,h=b[f++];return h.replace(a.fn.jqChart.sprintf.regex,function(t,s,q,a,w,h,m){if(t=="%%")return"%";for(var j=false,n="",k=false,l=false,r=0;q&&r<q.length;r++)switch(q.charAt(r)){case" ":n=" ";break;case"+":n="+";break;case"-":j=true;break;case"0":k=true;break;case"#":l=true}if(!a)a=0;else if(a=="*")a=+b[f++];else if(a.charAt(0)=="*")a=+b[a.slice(1,-1)];else a=+a;if(a<0){a=-a;j=true}if(!isFinite(a))throw new Error("sprintf: (minimum-)width must be finite");if(!h)h="fFeE".indexOf(m)>-1?6:m=="d"?0:void 0;else if(h=="*")h=+b[f++];else if(h.charAt(0)=="*")h=+b[h.slice(1,-1)];else h=+h;var i=s?b[s.slice(0,-1)]:b[f++];switch(m){case"s":return g(String(i),j,a,h,k);case"c":return g(String.fromCharCode(+i),j,a,h,k);case"b":return c(i,2,l,j,a,h,k);case"o":return c(i,8,l,j,a,h,k);case"x":return c(i,16,l,j,a,h,k);case"X":return c(i,16,l,j,a,h,k).toUpperCase();case"u":return c(i,10,l,j,a,h,k);case"i":case"d":var o=parseInt(+i),p=o<0?"-":n;i=p+e(String(Math.abs(o)),h,"0",false);return d(i,p,j,a,k);case"e":case"E":case"f":case"F":case"g":case"G":var o=+i,p=o<0?"-":n,v=(["toExponential","toFixed","toPrecision"])["efg".indexOf(m.toLowerCase())],u=(["toString","toUpperCase"])["eEfFgG".indexOf(m)%2];i=p+Math.abs(o)[v](h);return d(i,p,j,a,k)[u]();default:return t}})};a.fn.jqChart.sprintf.regex=/%%|%(\d+\$)?([-+#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuidfegEG])/g;a.fn.jqChart.dateFormat=function(){var e=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,d=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,c=/[^-+\dA-Z]/g,b=function(a,b){a=String(a);b=b||2;while(a.length<b)a="0"+a;return a};return function(f,g,l){var j=a.fn.jqChart.dateFormat;if(arguments.length==1&&Object.prototype.toString.call(f)=="[object String]"&&!/\d/.test(f)){g=f;f=undefined}f=f?new Date(f):new Date;if(isNaN(f))throw SyntaxError("invalid date");g=String(j.masks[g]||g||j.masks["default"]);if(g.slice(0,4)=="UTC:"){g=g.slice(4);l=true}var i=l?"getUTC":"get",k=f[i+"Date"](),q=f[i+"Day"](),n=f[i+"Month"](),t=f[i+"FullYear"](),h=f[i+"Hours"](),r=f[i+"Minutes"](),s=f[i+"Seconds"](),m=f[i+"Milliseconds"](),o=l?0:f.getTimezoneOffset(),p={d:k,dd:b(k),ddd:j.i18n.dayNames[q],dddd:j.i18n.dayNames[q+7],m:n+1,mm:b(n+1),mmm:j.i18n.monthNames[n],mmmm:j.i18n.monthNames[n+12],yy:String(t).slice(2),yyyy:t,h:h%12||12,hh:b(h%12||12),H:h,HH:b(h),M:r,MM:b(r),s:s,ss:b(s),l:b(m,3),L:b(m>99?Math.round(m/10):m),t:h<12?"a":"p",tt:h<12?"am":"pm",T:h<12?"A":"P",TT:h<12?"AM":"PM",Z:l?"UTC":(String(f).match(d)||[""]).pop().replace(c,""),o:(o>0?"-":"+")+b(Math.floor(Math.abs(o)/60)*100+Math.abs(o)%60,4),S:(["th","st","nd","rd"])[k%10>3?0:(k%100-k%10!=10)*k%10]};return g.replace(e,function(a){return a in p?p[a]:a.slice(1,a.length-1)})}}();a.fn.jqChart.dateFormat.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};a.fn.jqChart.dateFormat.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]};var i=-Number.MAX_VALUE,h=Number.MAX_VALUE;function c(){}c.roundH=function(a){return Math.round(a)-.5};c.round=function(a){var b=1/a;if(Math.abs(b)>1e4){var d=c.log10(Math.abs(b));if(d>13)return a}var e=a.toPrecision(14),f=parseFloat(e);return f};c.log10=function(a){return Math.log(a)/Math.LN10};c.log=function(b,a){return Math.log(b)/Math.log(a)};c.fitInRange=function(a,c,b){if(a<c)a=c;else if(a>b)a=b;return a};c.sum=function(b){for(var c=0,a=0;a<b.length;a++)c+=b[a];return c};c.getCurveControlPoints=function(b){for(var f=[],e=[],c=b.length/2-1,d=[],a=1;a<c-1;++a)d[a]=4*b[2*a]+2*b[2*a+2];d[0]=b[0]+2*b[2];d[c-1]=(8*b[2*c-2]+b[2*c])/2;for(var g=X(d),a=1;a<c-1;++a)d[a]=4*b[2*a+1]+2*b[2*a+3];d[0]=b[1]+2*b[3];d[c-1]=(8*b[2*c-1]+b[2*c+1])/2;for(var h=X(d),a=0;a<c;++a){f[2*a]=g[a];f[2*a+1]=h[a];if(a<c-1){e[2*a]=2*b[2*a+2]-g[a+1];e[2*a+1]=2*b[2*a+3]-h[a+1]}else{e[2*a]=(b[2*c]+g[c-1])/2;e[2*a+1]=(b[2*c+1]+h[c-1])/2}}return{first:f,second:e}};function X(e){var b=e.length,c=[],f=[],d=2;c[0]=e[0]/d;for(var a=1;a<b;a++){f[a]=1/d;d=(a<b-1?4:3.5)-f[a];c[a]=(e[a]-c[a-1])/d}for(var a=1;a<b;a++)c[b-a-1]-=f[b-a]*c[b-a];return c}function f(){}f.getDaysInMonth=function(b,a){return a==1?(new Date(b,1,29)).getDate()==29?29:28:([31,undefined,31,30,31,30,31,31,30,31,30,31])[a]};f.addDays=function(b,a){var c=b.getTime()+a*8.64e7;return new Date(c)};f.addYears=function(b,c){var a=new Date(b.getTime());a.setFullYear(b.getFullYear()+c);return a};f.addMonths=function(c,b){var a=new Date(c.getTime()),d=a.getDate();a.setDate(1);a.setMonth(a.getMonth()+b);a.setDate(Math.min(d,f.getDaysInMonth(a.getFullYear(),a.getMonth())));return a};f.getDayOfWeek=function(b){var a=b.getDay();return a===0?7:a};f.fromDays=function(a){return a*24*60*60*1e3};f.fromHours=function(a){return a*60*60*1e3};f.fromMinutes=function(a){return a*60*1e3};f.fromSeconds=function(a){return a*1e3};function d(){this.fillStyle="black";this.strokeStyle="black";this.lineWidth=1;this.lineCap="butt";this.lineJoin="miter";this.miterLimit=10}d.prototype.render=function(a){this.setProperties(a)};d.prototype.setProperties=function(a){a.fillStyle=this.fillStyle;a.strokeStyle=this.strokeStyle;a.lineWidth=this.lineWidth||0;a.lineCap=this.lineCap;a.lineJoin=this.lineJoin;a.miterLimit=this.miterLimit};function o(a,c,b,e){d.call(this);this.x1=a;this.y1=c;this.x2=b;this.y2=e}o.prototype=new d;o.constructor=new o;o.prototype.render=function(a){d.prototype.render.call(this,a);a.beginPath();var b=c.roundH(this.x1),f=c.roundH(this.y1),e=c.roundH(this.x2),g=c.roundH(this.y2);a.moveTo(b,f);a.lineTo(e,g);this.strokeStyle!=null&&this.lineWidth>0&&a.stroke()};function l(c,e,b,a){d.call(this);this.x=c;this.y=e;this.width=b;this.height=a;this.cornerRadius=0}l.prototype=new d;l.constructor=new l;l.prototype.render=function(a){d.prototype.render.call(this,a);var f=c.roundH(this.x),g=c.roundH(this.y),e=Math.round(this.width),b=Math.round(this.height);if(e<=0||b<=0)return;if(this.cornerRadius==0)this.renderRectPath(a,f,g,e,b);else this.renderRoundedRectPath(a,f,g,e,b);this.fillStyle!=null&&a.fill();this.strokeStyle!=null&&this.lineWidth>0&&a.stroke()};l.prototype.renderRectPath=function(a,b,c,e,d){a.beginPath();a.moveTo(b,c);a.lineTo(b+e,c);a.lineTo(b+e,c+d);a.lineTo(b,c+d);a.closePath()};l.prototype.renderRoundedRectPath=function(b,c,d,g,f){var a=this.cornerRadius,e=Math.PI/2;b.beginPath();b.moveTo(c+a,d);b.lineTo(c+g-a,d);b.arc(c+g-a,d+a,a,-e,0,false);b.lineTo(c+g,d+f-a);b.arc(c+g-a,d+f-a,a,0,e,false);b.lineTo(c+a,d+f);b.arc(c+a,d+f-a,a,e,2*e,false);b.lineTo(c,d+a);b.arc(c+a,d+a,a,2*e,-e,false);b.closePath()};function W(c,e,b,a){d.call(this);this.x=c;this.y=e;this.width=b;this.height=a}W.prototype=new d;W.constructor=new W;W.prototype.render=function(a){d.prototype.render.call(this,a);var c=this.x,f=this.y,l=this.width,k=this.height,g=this.width/2*.5522848,h=this.height/2*.5522848,i=c+l,j=f+k,e=c+l/2,b=f+k/2;a.beginPath();a.moveTo(c,b);a.bezierCurveTo(c,b-h,e-g,f,e,f);a.bezierCurveTo(e+g,f,i,b-h,i,b);a.bezierCurveTo(i,b+h,e+g,j,e,j);a.bezierCurveTo(e-g,j,c,b+h,c,b);a.closePath();this.fillStyle!=null&&a.fill();this.strokeStyle!=null&&this.lineWidth>0&&a.stroke()};function S(b,c,a){d.call(this);this.x=b;this.y=c;this.radius=a;this.width=this.height=2*a}S.prototype=new d;S.constructor=new S;S.prototype.render=function(a){d.prototype.render.call(this,a);a.beginPath();a.arc(Math.round(this.x),Math.round(this.y),Math.round(this.radius),0,Math.PI*2,false);a.closePath();this.fillStyle!=null&&a.fill();this.strokeStyle!=null&&this.lineWidth>0&&a.stroke()};function R(e,f,c,a,b){d.call(this);this.x=e;this.y=f;this.radius=c;this.startAngle=a;this.endAngle=b}R.prototype=new d;R.constructor=new R;R.prototype.render=function(a){d.prototype.render.call(this,a);a.beginPath();var b=Math.round(this.x),c=Math.round(this.y);a.moveTo(b,c);a.arc(b,c,Math.round(this.radius),this.startAngle,this.endAngle,false);a.closePath();this.fillStyle!=null&&a.fill();this.strokeStyle!=null&&this.lineWidth>0&&a.stroke()};function B(a){d.call(this);this.pts=a}B.prototype=new d;B.constructor=new B;B.prototype.render=function(a){d.prototype.render.call(this,a);var h=this.pts,g=h.length;if(g<4)return;for(var f=false,c=0;c<g;c+=2){var b=h[c];if(b==null){a.stroke();f=false;continue}var e=h[c+1];if(g<100){b=Math.round(b);e=Math.round(e)}if(!f){a.beginPath();a.moveTo(b,e);f=true;continue}a.lineTo(b,e);if(c%1e3==0){a.stroke();a.beginPath();a.moveTo(b,e)}}this.strokeStyle!=null&&this.lineWidth>0&&a.stroke()};function u(a){d.call(this);if(!a)return;this.pts=a;this.controlPoints=c.getCurveControlPoints(a)}u.prototype=new d;u.constructor=new u;u.prototype.getCurveBounds=function(){for(var d=h,b=i,e=h,c=i,l=[this.pts,this.controlPoints.first,this.controlPoints.second],g=0;g<3;g++)for(var f=l[g],a=0;a<f.length;a+=2){var j=f[a],k=f[a+1];d=Math.min(d,j);b=Math.max(b,j);e=Math.min(e,k);c=Math.max(c,k)}return{minx:d,maxX:b,minY:e,maxY:c}};u.prototype.renderCurve=function(c){var b=this.pts,d=b.length;c.moveTo(b[0],b[1]);if(d==4)c.lineTo(b[2],b[3]);else for(var a=2;a<d;a+=2){var i=b[a],j=b[a+1],e=this.controlPoints.first[a-2],f=this.controlPoints.first[a-1],g=this.controlPoints.second[a-2],h=this.controlPoints.second[a-1];c.bezierCurveTo(e,f,g,h,i,j)}};u.prototype.render=function(a){d.prototype.render.call(this,a);var b=this.pts.length;if(b<4)return;a.beginPath();this.renderCurve(a);this.strokeStyle!=null&&this.lineWidth>0&&a.stroke()};function P(a){d.call(this);this.pts=a}P.prototype=new d;P.constructor=new P;P.prototype.render=function(a){d.prototype.render.call(this,a);var c=this.pts,b=c.length;if(b<6)return;var f=c.slice(0,b-4);a.beginPath();var g=new u(f);g.renderCurve(a);for(var e=b-4;e<b;e+=2)a.lineTo(Math.round(c[e]),Math.round(c[e+1]));a.closePath();this.fillStyle!=null&&a.fill();this.strokeStyle!=null&&this.lineWidth>0&&a.stroke()};function C(a){d.call(this);this.pts=a}C.prototype=new d;C.constructor=new C;C.prototype.render=function(a){d.prototype.render.call(this,a);var b=this.pts,e=b.length;if(e<4)return;a.beginPath();a.moveTo(Math.round(b[0]),Math.round(b[1]));for(var c=2;c<e;c+=2)a.lineTo(Math.round(b[c]),Math.round(b[c+1]));a.closePath();this.fillStyle!=null&&a.fill();this.strokeStyle!=null&&this.lineWidth>0&&a.stroke()};function n(a,b,c){this.text=a;this.x=b;this.y=c;this.strokeStyle=null;this.textBaseline="middle";this.font="10px sans-serif";this.textAlign="left"}n.prototype=new d;n.constructor=n;n.prototype.render=function(a){d.prototype.render.call(this,a);var b=c.roundH(this.x),e=c.roundH(this.y);this.fillStyle!=null&&a.fillText(this.text,b,e);this.strokeStyle!=null&&a.strokeText(this.text,b,e)};n.prototype.measure=function(a){this.setProperties(a);var d=a.measureText(this.text),b=parseFloat(this.font)||0,c=d.width;this.width=c;this.height=b;return{width:c,height:b}};n.prototype.setProperties=function(a){d.prototype.setProperties.call(this,a);a.font=this.font;a.textAlign=this.textAlign;a.textBaseline=this.textBaseline};function A(g,c,f,e,a,b){d.call(this);this.x=g;this.high=c;this.low=f;this.open=e;this.close=a;this.width=b}A.prototype=new d;A.constructor=new A;A.prototype.render=function(b){d.prototype.render.call(this,b);var c=this.width/2,a=new o(this.x,this.high,this.x,this.low);this.setProperties(a);a.render(b);a=new o(this.x-c,this.open,this.x,this.open);this.setProperties(a);a.render(b);a=new o(this.x,this.close,this.x+c,this.close);this.setProperties(a);a.render(b)};function M(f,c,e,d,a,b){A.call(this,f,c,e,d,a,b)}M.prototype=new A;M.constructor=new M;M.prototype.render=function(f){d.prototype.render.call(this,f);var h=Math.floor(this.width/2),b=Math.round(this.x),a=Math.round(this.open),e=Math.round(this.close);if(a>e){var i=e;e=a;a=i}if(e-a>=1){var g=new l(b-h,a,2*h,e-a);this.setProperties(g);if(this.close<this.open)g.fillStyle=this.priceUpFillStyle;else g.fillStyle=this.priceDownFillStyle;g.render(f)}else{var c=new o(b-h,a,b+h,a);this.setProperties(c);c.render(f)}var c=new o(b,this.high,b,a);this.setProperties(c);c.render(f);var c=new o(b,e,b,this.low);this.setProperties(c);c.render(f)};function Q(a){this.defaults={strokeStyle:"gray",lineWidth:1,visible:true};this.setOptions(a)}Q.prototype.setOptions=function(c){var b=a.extend({},this.defaults,c||{});a.extend(this,b)};Q.prototype.setLineSettings=function(a){a.strokeStyle=this.strokeStyle;a.lineWidth=this.lineWidth};function V(a){this.defaults={strokeStyle:"black",lineWidth:1,length:6,visible:true};this.setOptions(a)}V.prototype.setOptions=function(c){var b=a.extend({},this.defaults,c||{});a.extend(this,b)};V.prototype.setLineSettings=function(a){a.strokeStyle=this.strokeStyle;a.lineWidth=this.lineWidth};function N(a){if(this.canvas==null){this.canvas=a;this.ctx=this.getContext(this.canvas)}}N.prototype.getContext=function(a){return a.getContext?a.getContext("2d"):null};N.prototype.render=function(d){var c=this.offsetX&&this.offsetY,a=this.ctx;if(c){a.save();a.translate(this.offsetX,this.offsetY)}for(var b=0;b<d.length;b++){var e=d[b];e&&e.render(a)}c&&a.restore()};N.prototype.clear=function(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height)};function U(a){this.colorsDefault=["#418CF0","#FCB441","#E0400A","#056492","#BFBFBF","#1A3B69","#FFE382","#129CDD","#CA6B4B","#005CDB","#F3D288","#506381","#F1B9A8","#E0830A","#7893BE"];this.colorsGrayScale=Y();this.defaults={type:"default"};this.setOptions(a)}U.prototype.setOptions=function(c){var b=a.extend({},this.defaults,c||{});a.extend(this,b)};function Y(){for(var e=16,c=[],b=0;b<e;b++){var a=200-b*11;a=a.toString();var d="rgb("+a+","+a+","+a+")";c.push(d)}return c}U.prototype.getColor=function(b){var a=this.getColors(this.type),c=a.length;b%=c;return a[b]};U.prototype.getColors=function(a){switch(a){case"customColors":return this.customColors;case"grayscale":return this.colorsGrayScale;case"default":default:return this.colorsDefault}};function T(a){this.defaults={font:"14px sans-serif",fillStyle:"black",lineWidth:0,margin:6};this.x=0;this.y=0;this.setOptions(a)}T.prototype.setOptions=function(c){var b=a.extend({},this.defaults,c||{});a.extend(this,b);this.textBlock=new n(this.text);this.textBlock.textBaseline="top";this.textBlock.font=this.font;this.textBlock.fillStyle=this.fillStyle;this.textBlock.strokeStyle=this.strokeStyle;this.textBlock.lineWidth=this.lineWidth};T.prototype.render=function(a){if(this.text==null)return;this.textBlock.x=this.x+this.margin;this.textBlock.y=this.y+this.margin;a.push(this.textBlock)};T.prototype.measure=function(){var a;if(!this.text){this.width=0;this.height=0;return}a=this.textBlock.measure(this.chart.ctx);var b=2*this.margin;this.width=a.width+b;this.height=a.height+b};function D(a){this.defaults={strokeStyle:"black",lineWidth:1,lineCap:"butt",lineJoin:"miter",miterLimit:10,cornerRadius:10,padding:8};this.x=0;this.y=0;this.setOptions(a)}D.prototype.setOptions=function(c){var b=a.extend({},this.defaults,c||{});a.extend(this,b)};D.prototype.getPadding=function(){return this.lineWidth+this.cornerRadius/2+this.padding};D.prototype.setShapeSettings=function(a){a.fillStyle=this.fillStyle;a.strokeStyle=this.strokeStyle;a.lineWidth=this.lineWidth;a.lineCap=this.lineCap;a.lineJoin=this.lineJoin;a.miterLimit=this.miterLimit;a.cornerRadius=this.cornerRadius};D.prototype.render=function(c){var a=this.lineWidth/2,f=this.x+a,g=this.y+a,e=this.width-2*a,d=this.height-2*a,b=new l(f,g,e,d);this.setShapeSettings(b);c.push(b)};function E(a){this.defaults={lineWidth:1,lineCap:"butt",lineJoin:"miter",miterLimit:10,size:8,type:"circle"};this.setOptions(a)}E.prototype.setOptions=function(c){var b=a.extend({},this.defaults,c||{});a.extend(this,b)};E.prototype.setShapeSettings=function(a){a.fillStyle=this.fillStyle;a.strokeStyle=this.strokeStyle;a.lineWidth=this.lineWidth;a.lineCap=this.lineCap;a.lineJoin=this.lineJoin;a.miterLimit=this.miterLimit};E.prototype.getSize=function(){return{width:this.size,height:this.size}};E.prototype.getShape=function(c,d,b){var g=2*b,i;switch(this.type){case"circle":return new S(c,d,b);case"rectangle":return new l(c-b,d-b,g,g);case"diamond":var a=[];a.push(c);a.push(d-b);a.push(c+b);a.push(d);a.push(c);a.push(d+b);a.push(c-b);a.push(d);var f=new C(a);return f;case"triangle":var a=[];a.push(c);a.push(d-b);a.push(c+b);a.push(d+b);a.push(c-b);a.push(d+b);var f=new C(a);return f;case"line":return new o(c-b,d,c+b,d);case"plus":var a=[];a.push(c-b);a.push(d);a.push(c+b);a.push(d);a.push(null);a.push(null);a.push(c);a.push(d-b);a.push(c);a.push(d+b);var e=new B(a);return e;case"plus":var a=[];a.push(c-b);a.push(d);a.push(c+b);a.push(d);a.push(null);a.push(null);a.push(c);a.push(d-b);a.push(c);a.push(d+b);var e=new B(a);return e;default:return null}};function L(a){this.defaults={title:{margin:2},border:{padding:4,strokeStyle:"grey"},margin:6,visible:true};this.setOptions(a)}L.prototype.setOptions=function(b){if(b!=null&&typeof b.title=="string"){b.title={text:b.title};a.extend(b.title,this.defaults.title)}var c=a.extend(true,{},this.defaults,b||{});a.extend(this,c);this.margin=c.margin;this.border=new D(c.border);this.border.fillStyle=this.background||this.border.fillStyle;this.title=new T(c.title);this.title.chart=this.chart};L.prototype.init=function(){this.items=[];if(this.visible==false)return;for(var c=this.chart.series.items,b=0;b<c.length;b++){var d=c[b];a.merge(this.items,d.getLegendItems())}};L.prototype.measure=function(){if(this.visible==false){this.width=0;this.height=0;return}this.padding=this.border.getPadding();this.title.measure();var d=this.title.width,b=this.title.height;if(this.title.text)b+=this.padding;for(var c=0;c<this.items.length;c++){var a=this.items[c];a.measure();d=Math.max(d,a.width);b+=a.height}var e=2*this.margin+2*this.padding;this.width=d+e;this.height=b+e};L.prototype.arrange=function(){if(this.visible==false)return;var c=this.x+this.margin,a=this.y+this.margin,f=2*this.margin;this.border.x=c;this.border.y=a;var e=this.width-f;this.border.width=e;this.border.height=this.height-f;e-=2*this.padding;c+=this.padding;a+=this.padding;if(this.title.text){this.title.x=c+(e-this.title.width)/2;this.title.y=a;a+=this.title.height+this.padding}for(var d=0;d<this.items.length;d++){var b=this.items[d];b.x=c;b.y=a;b.arrange();a+=b.height}};L.prototype.render=function(a){if(this.visible==false)return;this.border.render(a);this.title.render(a);for(var b=0;b<this.items.length;b++){var c=this.items[b];c.render(a)}};function J(a){this.defaults={font:"12px sans-serif",fillStyle:"black",lineWidth:1};this.lblMargin=4;this.setOptions(a)}J.prototype.setOptions=function(c){var b=a.extend(true,{},this.defaults,c||{});a.extend(this,b);this.textBlock=new n(this.text);this.textBlock.textBaseline="top";this.textBlock.font=this.font;this.textBlock.fillStyle=this.fillStyle;this.textBlock.strokeStyle=this.strokeStyle;this.textBlock.lineWidth=this.lineWidth};J.prototype.measure=function(){var a;if(this.text)a=this.textBlock.measure(this.chart.ctx);else a={width:0,height:0};this.width=a.width+this.marker.size+this.lblMargin;this.height=a.height};J.prototype.arrange=function(){var a=this.marker.size/2,b=this.x+a,c=this.y+a+(this.height-this.marker.size)/2;this.markerShape=this.marker.getShape(b,c,a);this.markerShape&&this.marker.setShapeSettings(this.markerShape);this.textBlock.x=this.x+this.marker.size+this.lblMargin;this.textBlock.y=this.y};J.prototype.render=function(a){a.push(this.markerShape);a.push(this.textBlock)};function K(a){this.chart=a;this.border=new D;this.border.lineWidth=0}K.prototype.arrange=function(){var c=this.x,d=this.y;this.border.x=c-1;this.border.y=d-1;this.border.width=this.width+1;this.border.height=this.height+1;var b=this.chart.areaCanvas;a(b).css({position:"relative",left:c,top:d});b.width=Math.max(this.width,0);b.height=Math.max(this.height,0);this.chart.areaRenderer.offsetX=-c;this.chart.areaRenderer.offsetY=-d};K.prototype.render=function(a){this.border.render(a);this.renderGridLines(a)};K.prototype.renderSeries=function(c){for(var b=this.chart.series.items,a=0;a<b.length;a++){var d=b[a];d.render(c)}};K.prototype.renderGridLines=function(e){for(var f=this.chart.axes.items,d=0;d<f.length;d++){var b=f[d],c=b.majorGridLines;if(c==null&&b.getOrientation()=="y"){c=new Q;if(b.minorGridLines!=null)b.minorGridLines.major=c}var h=this.getGridLines(b,b.minorGridLines,false);a.merge(e,h);var g=this.getGridLines(b,c,true);a.merge(e,g)}};K.prototype.getGridLines=function(b,a,j){if(a==null||a.visible!=true)return[];for(var h=[],m=b.getMarkInterval(a,j),i=b.getIntervals(m,a,j),c,d,e,f,g=0;g<i.length;g++){var l=b.getPosition(i[g]);switch(b.location){case"left":case"right":d=f=l;c=this.x;e=c+this.width;break;case"top":case"bottom":c=e=l;d=this.y;f=d+this.height}var k=new o(c,d,e,f);a.setLineSettings(k);h.push(k)}return h};function r(d,f){this.chart=f;this.items=[];if(a.isArray(d)==false)return;for(var e=0;e<d.length;e++){var c=d[e];if(c==null)continue;var b;switch(c.type){case"area":b=new v(c);break;case"splineArea":b=new G(c);break;case"bar":b=new k(c);break;case"bubble":b=new z(c);break;case"line":b=new w(c);break;case"spline":b=new I(c);break;case"pie":b=new t(c);break;case"scatter":b=new H(c);break;case"stackedColumn":b=new x(c);break;case"stackedBar":b=new y(c);break;case"stock":b=new s(c);break;case"candlestick":b=new F(c);break;case"column":default:b=new q(c)}b.type=c.type;b.chart=f;this.items.push(b)}}r.prototype.initData=function(){for(var b=this.items,a=0;a<b.length;a++){var c=b[a];c.initData()}};r.prototype.getSeries=function(a){return this.items[a]};r.prototype.initCategories=function(){for(var c=[],d=0,a=0,e=this.items,b=0;b<e.length;b++){var f=e[b];for(a=d;a<f.categories.length;a++){var g=f.categories[a];c.push(g)}d=a}this.categories=c};r.prototype.initRanges=function(){for(var e=h,d=i,c=h,b=i,g=this.items,f=0;f<g.length;f++){var a=g[f];if(e>a.min)e=a.min;if(d<a.max)d=a.max;if(c>a.minX)c=a.minX;if(b<a.maxX)b=a.maxX}this.min=e;this.max=d;this.minX=c;this.maxX=b};r.prototype.findClusters=function(g,f){for(var c=-1,a=0,d=this.items,b=0;b<d.length;b++){var e=d[b];if(e==g)c=a;if(e.type==f)a++}return{index:c,count:a}};r.prototype.getSeriesFromType=function(e){for(var b=[],c=this.items,a=0;a<c.length;a++){var d=c[a];d.type==e&&b.push(d)}return b};r.prototype.initColors=function(){for(var b=this.chart.paletteColors,c=this.items,a=0;a<c.length;a++){var d=c[a];d.initColors(b.getColor(a),b)}};r.prototype.getPixelMargins=function(f){for(var b=0,a=0,e=this.items,c=0;c<e.length;c++){var g=e[c],d=g.getPixelMargins(f);b=Math.max(b,d.left);a=Math.max(a,d.right)}return{left:b,right:a}};r.prototype.isAnchoredToOrigin=function(){for(var b=this.items,a=0;a<b.length;a++){var c=b[a];if(c.isAnchoredToOrigin())return true}return false};function b(a){this.setOptions(a)}b.prototype.defaults={lineCap:"butt",lineJoin:"round",miterLimit:10,pointWidth:.6};b.prototype.setOptions=function(c){var b=a.extend({},this.defaults,c||{});a.extend(this,b);if(b.markers!=null)this.markers=new E(b.markers)};b.prototype.getMarker=function(c,d,b){if(b==null)b=this.markers.size/2;var a=this.markers.getShape(c,d,b);if(a==null)return null;this.markers.setShapeSettings(a);this.setMarkerSettings(a);return a};b.prototype.setMarkerSettings=function(a){a.fillStyle=a.fillStyle||this.fillStyle};b.prototype.setShapeSettings=function(a){a.fillStyle=this.fillStyle;a.strokeStyle=this.strokeStyle;a.lineWidth=this.lineWidth;a.lineCap=this.lineCap;a.lineJoin=this.lineJoin;a.miterLimit=this.miterLimit};b.prototype.getXAxisType=function(){var b=this.data;if(a.isArray(b)==false)return"none";for(var d=0;d<b.length;d++){var c=b[d];if(c==null)continue;if(a.isArray(c)==false)return"CategoryAxis";var e=c[0];if(e==null)continue;var f=a.type(e);switch(f){case"number":return"LinearAxis";case"date":return"DateTimeAxis";case"string":return"CategoryAxis";default:return"none"}}return"none"};b.prototype.initXYData=function(){for(var l=this.data,j=h,g=i,f=h,e=i,m=l.length,k=0;k<m;k++){var d=l[k];if(d==null||a.isArray(d)==false)continue;var b=d[0];if(f>b)f=b;if(e<b)e=b;var c=d[1];if(j>c)j=c;if(g<c)g=c}this.min=j;this.max=g;this.minX=f;this.maxX=e};b.prototype.initCatValueData=function(){for(var j=this.data,g=h,f=i,e=[],k=j.length,d=0;d<k;d++){var c=j[d];if(c==null){e.push((d+1).toString());continue}var b=c;if(a.isArray(c)==false)e.push((d+1).toString());else{e.push(c[0]);b=c[1]}if(g>b)g=b;if(f<b)f=b}this.min=g;this.max=f;this.categories=e};b.prototype.initDateValueData=function(){for(var l=this.data,j=h,g=i,f=h,e=i,m=l.length,k=0;k<m;k++){var d=l[k];if(d==null||a.isArray(d)==false)continue;var b=d[0].getTime();if(f>b)f=b;if(e<b)e=b;var c=d[1];if(j>c)j=c;if(g<c)g=c}this.min=j;this.max=g;this.minX=f;this.maxX=e};b.prototype.initData=function(){var a=this.getXAxisType();this.xAxisType=a;switch(a){case"LinearAxis":this.initXYData();return;case"DateTimeAxis":this.initDateValueData();return;case"CategoryAxis":this.initCatValueData();return}};b.prototype.createXAxis=function(){var b={location:"bottom",orientation:"x"},a;switch(this.xAxisType){case"DateTimeAxis":a=new j(b);break;case"CategoryAxis":a=new p(b);break;default:a=new g(b)}a.chart=this.chart;return a};b.prototype.createYAxis=function(){var a=new g({location:"left",orientation:"y"});a.chart=this.chart;return a};b.prototype.initXAxis=function(b){var a=this.findXAxis(b);if(a==null){a=this.createXAxis();b.push(a)}this.realXAxis=a};b.prototype.initYAxis=function(b){var a=this.findYAxis(b);if(a==null){a=this.createYAxis();b.push(a)}this.realYAxis=a};b.prototype.findAxis=function(b,d){if(d!=null)for(var a=0;a<b.length;a++){var c=b[a];if(c.name==d)return c}return null};b.prototype.findXAxis=function(b){var a=this.findAxis(b,this.axisX);if(a!=null)return a;for(var c=0;c<b.length;c++){a=b[c];if(a.getOrientation(this.type)!="x"||a.isVertical())continue;if(a.DataType==this.xAxisType)return a}return null};b.prototype.findYAxis=function(b){var a=this.findAxis(b,this.axisY);if(a!=null)return a;for(var c=0;c<b.length;c++){a=b[c];if(a.getOrientation(this.type)!="y"||a.isVertical()==false)continue;if(a.DataType=="LinearAxis")return a}return null};b.prototype.getLegendItems=function(){var e=[],b;if(this.title!=null)b=this.title;else{var f=a.inArray(this,this.chart.series.items)+1;b="Series "+f.toString()}var d=new E;this.setLegendMarkerSettings(d);var c=new J({text:b,marker:d});c.chart=this.chart;c.series=this;e.push(c);return e};b.prototype.setLegendMarkerSettings=function(a){a.fillStyle=this.fillStyle;a.lineWidth=this.lineWidth;a.strokeStyle=this.strokeStyle};b.prototype.initColors=function(a){this.fillStyle=this.fillStyle||a;this.strokeStyle=this.strokeStyle||a};b.prototype.getPixelMargins=function(g){var e=9,d;if(this.markers)d=this.markers.getSize();else d={width:0,height:0};var c;if(this.labels){var f=new n("TEST");a.extend(f,this.labels);c=f.measure(this.chart.ctx)}else c={width:0,height:0};var b;if(g.isVertical())b=d.height/2+c.height+e;else b=d.width/2+c.width+e;if(g.getOrientation(this.type)=="x")b=Math.max(b,6);else b=Math.max(b,12);return{left:b,right:b}};b.prototype.isAnchoredToOrigin=function(){return false};b.prototype.getLabelText=function(c){return a.fn.jqChart.labelFormatter(this.labels.stringFormat,c)};b.prototype.getDataPointLabel=function(d,h,e,c){var f=d>=this.realYAxis.crossing,g=this.getLabelText(d),b=new n(g);a.extend(b,this.labels);b.textAlign="center";b.x=h;if(f){b.y=e-c;b.textBaseline="bottom"}else{b.y=e+c;b.textBaseline="top"}return b};function v(a){b.call(this,a)}v.prototype=new b;v.constructor=v;v.prototype.render=function(k){var l=this.chart.gridArea,x=l.y,u=l.y+l.height,h=this.realYAxis.getCrossingPosition();h=c.fitInRange(h,x,u);for(var w=this.data.length,d=[],o=[],n=[],t=this.markers&&this.markers.type!="none"?this.markers.size/2:0,b,j,i,r,m,q,e,g=0;g<w;g++){var f=this.data[g];if(f==null)continue;if(a.isArray(f)==false){b=g+.5;e=f}else{var s=f[0];switch(this.xAxisType){case"LinearAxis":b=s;break;case"DateTimeAxis":b=s;break;case"CategoryAxis":b=g+.5}e=f[1];if(typeof e!="number")continue}b=this.realXAxis.getPosition(b);j=this.realYAxis.getPosition(e);if(i==null){i=b;r=h}m=b;q=h;d.push(b);d.push(j);if(this.realYAxis.isValueVisible(e)===false)continue;this.markers&&this.markers.type!="none"&&o.push(this.getMarker(b,j));if(this.labels){var v=this.getDataPointLabel(e,b,j,t);n.push(v)}}if(m){d.push(m);d.push(q)}if(i){d.push(i);d.push(r)}var p=new C(d);this.setShapeSettings(p);k.push(p);a.merge(k,o);a.merge(k,n)};v.prototype.isAnchoredToOrigin=function(){return true};function G(a){v.call(this,a)}G.prototype=new v;G.constructor=G;G.prototype.render=function(k){var l=this.chart.gridArea,x=l.y,u=l.y+l.height,h=this.realYAxis.getCrossingPosition();h=c.fitInRange(h,x,u);for(var w=this.data.length,d=[],o=[],n=[],t=this.markers&&this.markers.type!="none"?this.markers.size/2:0,b,j,i,r,m,q,e,g=0;g<w;g++){var f=this.data[g];if(f==null)continue;if(a.isArray(f)==false){b=g+.5;e=f}else{var s=f[0];switch(this.xAxisType){case"LinearAxis":b=s;break;case"DateTimeAxis":b=s;break;case"CategoryAxis":b=g+.5}e=f[1];if(typeof e!="number")continue}b=this.realXAxis.getPosition(b);j=this.realYAxis.getPosition(e);if(i==null){i=b;r=h}m=b;q=h;d.push(b);d.push(j);if(this.realYAxis.isValueVisible(e)===false)continue;this.markers&&this.markers.type!="none"&&o.push(this.getMarker(b,j));if(this.labels){var v=this.getDataPointLabel(e,b,j,t);n.push(v)}}if(m){d.push(m);d.push(q)}if(i){d.push(i);d.push(r)}var p=new P(d);this.setShapeSettings(p);k.push(p);a.merge(k,o);a.merge(k,n)};G.prototype.getPixelMargins=function(d){var a=b.prototype.getPixelMargins.call(this,d),c=d.length/10,f=Math.max(c,a.left),e=Math.max(c,a.right);return{left:f,right:e}};function k(a){b.call(this,a)}k.prototype=new b;k.constructor=k;k.prototype.createXAxis=function(){var b={location:"left",orientation:"x"},a;switch(this.xAxisType){case"DateTimeAxis":a=new j(b);break;case"CategoryAxis":a=new p(b);break;default:a=new g(b)}a.chart=this.chart;return a};k.prototype.createYAxis=function(){var a=new g({location:"bottom",orientation:"y"});a.chart=this.chart;return a};k.prototype.findXAxis=function(b){var a=this.findAxis(b,this.axisX);if(a!=null)return a;var c;if(this.categories)c=p;else c=g;for(var d=0;d<b.length;d++){a=b[d];if(a.getOrientation(this.type)!="x"||a.isVertical()==false)continue;if(a instanceof c)return a}return null};k.prototype.findYAxis=function(b){var a=this.findAxis(b,this.axisY);if(a!=null)return a;for(var c=0;c<b.length;c++){a=b[c];if(a.getOrientation(this.type)!="y"||a.isVertical())continue;if(a instanceof g)return a}return null};k.prototype.render=function(a){switch(this.xAxisType){case"LinearAxis":case"DateTimeAxis":this.renderLinearData(a);break;case"CategoryAxis":this.renderCatData(a)}};k.prototype.renderCatData=function(k){var n=this.chart.gridArea,s=n.x,A=s+n.width,b=this.realYAxis.getCrossingPosition();b=c.fitInRange(b,s,A);b=Math.round(b);var m=this.chart.series.findClusters(this,"bar"),u=this.data.length,x=n.height/this.realXAxis.getZoom(),r=x/u,B=r/m.count,f=Math.round(this.pointWidth*B),w=m.count*f,j=(r-w)/2;j=Math.round(j+m.index*f);for(var q=[],p=[],y=this.markers&&this.markers.type!="none"?this.markers.size/2:0,d,g,i=0;i<u;i++){var h=this.data[i];if(h==null)continue;var C=i,e;if(a.isArray(h)==false)e=h;else e=h[1];if(e==null)continue;g=Math.round(this.realXAxis.getPosition(C)-j-f);d=Math.round(this.realYAxis.getPosition(e));var v=d,o;if(d<=b)o=b-d;else{o=d-b;d=b}var t=new l(d,g,o,f);this.setShapeSettings(t);k.push(t);if(this.realYAxis.isValueVisible(e)===false)continue;g+=f/2;this.markers&&this.markers.type!="none"&&q.push(this.getMarker(v,g));if(this.labels){var z=this.getDataPointLabel(e,v,g,y);p.push(z)}}a.merge(k,q);a.merge(k,p)};k.prototype.renderLinearData=function(h){var i=this.chart.gridArea,o=i.x,y=o+i.width,b=this.realYAxis.getCrossingPosition();b=c.fitInRange(b,o,y);b=Math.round(b);for(var q=this.data.length,u=i.height/this.realXAxis.getZoom(),w=u/q,t=this.pointWidth*w,n=[],m=[],v=this.markers&&this.markers.type!="none"?this.markers.size/2:0,d,g,k=0;k<q;k++){var f=this.data[k];if(f==null||a.isArray(f)==false)continue;var r=f[0],e=f[1];if(r==null||e==null)continue;g=this.realXAxis.getPosition(r);d=Math.round(this.realYAxis.getPosition(e));var s=d,j;if(d<=b)j=b-d;else{j=d-b;d=b}var z=g-t/2,p=new l(d,z,j,t);this.setShapeSettings(p);h.push(p);if(this.realYAxis.isValueVisible(e)===false)continue;this.markers&&this.markers.type!="none"&&n.push(this.getMarker(s,g));if(this.labels){var x=this.getDataPointLabel(e,s,g,v);m.push(x)}}a.merge(h,n);a.merge(h,m)};k.prototype.getPixelMargins=function(a){if(a.isVertical()==false){var c=b.prototype.getPixelMargins.call(this,a),d=a.length/10,i=Math.max(d,c.left),h=Math.max(d,c.right);return{left:i,right:h}}var g=4,j=this.data.length,f=a.length/this.realXAxis.getZoom(),e=.5*f/j+g;return{left:e,right:e}};k.prototype.isAnchoredToOrigin=function(){return true};k.prototype.getDataPointLabel=function(d,e,h,c){var f=d<=this.realYAxis.crossing,g=this.getLabelText(d),b=new n(g);a.extend(b,this.labels);b.y=h;if(f){b.x=e-c;b.textAlign="right"}else{b.x=e+c;b.textAlign="left"}return b};function z(c){var d=a.extend(true,{},this.defaults,{markers:{}});this.defaults=d;b.call(this,c)}z.prototype=new b;z.constructor=z;z.prototype.initData=function(){var q=this.getXAxisType();this.xAxisType=q;var c=[];a.merge(c,this.data);for(var p=this.chart.series.items,b=0;b<p.length;b++){var m=p[b];if(m==this||m.type!="bubble")continue;a.merge(c,m.data)}if(a.isArray(c)==false)return;for(var l=h,k=i,j=h,g=i,e=h,d=i,r=c.length,b=0;b<r;b++){var n=c[b][0],o=c[b][1],f=c[b][2];if(n==null||o==null||f==null)continue;j=Math.min(j,n);g=Math.max(g,n);l=Math.min(l,o);k=Math.max(k,o);e=Math.min(e,f);d=Math.max(d,f)}this.min=l;this.max=k;this.minX=j;this.maxX=g;this.minSize=e;this.maxSize=d};z.prototype.render=function(h){for(var j=this.chart.gridArea,k=Math.min(j.width,j.height)*.25,n=this.data.length,f,g,e,c,a,d=0;d<n;d++){var b=this.data[d];if(b==null)continue;c=b[0];a=b[1];e=b[2];if(c==null||a==null||e==null)continue;var m=e/this.maxSize,i=Math.max(m*k,0);f=this.realXAxis.getPosition(c);g=this.realYAxis.getPosition(a);this.markers&&this.markers.type!="none"&&h.push(this.getMarker(f,g,i/2));if(this.labels){var l=this.getDataPointLabel(a,f,g,i/2);h.push(l)}}};z.prototype.getPixelMargins=function(){var a=this.chart.gridArea;if(a.width==null)return{left:0,right:0};var c=Math.min(a.width,a.height)*.35,b=c/2;return{left:b+4,right:b+4}};function q(a){b.call(this,a)}q.prototype=new b;q.constructor=q;q.prototype.render=function(a){switch(this.xAxisType){case"LinearAxis":case"DateTimeAxis":this.renderLinearData(a);break;case"CategoryAxis":this.renderCatData(a)}};q.prototype.renderCatData=function(n){var g=this.chart.gridArea,B=g.y,z=g.y+g.height,b=this.realYAxis.getCrossingPosition();b=c.fitInRange(b,B,z);b=Math.round(b);var o=this.chart.series.findClusters(this,"column"),t=this.data.length,w=g.width/this.realXAxis.getZoom(),r=w/t,y=r/o.count,j=Math.round(this.pointWidth*y),v=o.count*j,m=(r-v)/2;m=Math.round(m+o.index*j);for(var q=[],p=[],x=this.markers&&this.markers.type!="none"?this.markers.size/2:0,d,e,i=0;i<t;i++){var h=this.data[i];if(h==null)continue;d=i;var f;if(a.isArray(h)==false)f=h;else f=h[1];if(f==null)continue;d=Math.round(this.realXAxis.getPosition(d)+m);e=Math.round(this.realYAxis.getPosition(f));var u=e,k;if(e<=b)k=b-e;else{k=e-b;e=b}var s=new l(d,e,j,k);this.setShapeSettings(s);n.push(s);if(this.realYAxis.isValueVisible(f)===false)continue;d+=j/2;this.markers&&this.markers.type!="none"&&q.push(this.getMarker(d,u));if(this.labels){var A=this.getDataPointLabel(f,d,u,x);p.push(A)}}a.merge(n,q);a.merge(n,p)};q.prototype.renderLinearData=function(j){var f=this.chart.gridArea,y=f.y,v=f.y+f.height,b=this.realYAxis.getCrossingPosition();b=c.fitInRange(b,y,v);b=Math.round(b);for(var p=this.data.length,s=f.width/this.realXAxis.getZoom(),u=s/p,r=this.pointWidth*u,n=[],m=[],t=this.markers&&this.markers.type!="none"?this.markers.size/2:0,d,e,k=0;k<p;k++){var h=this.data[k];if(h==null||a.isArray(h)==false)continue;d=h[0];var g=h[1];if(d==null||g==null)continue;d=this.realXAxis.getPosition(d);e=Math.round(this.realYAxis.getPosition(g));var q=e,i;if(e<=b)i=b-e;else{i=e-b;e=b}var x=d-r/2,o=new l(x,e,r,i);this.setShapeSettings(o);j.push(o);if(this.realYAxis.isValueVisible(g)===false)continue;this.markers&&this.markers.type!="none"&&n.push(this.getMarker(d,q));if(this.labels){var w=this.getDataPointLabel(g,d,q,t);m.push(w)}}a.merge(j,n);a.merge(j,m)};q.prototype.getPixelMargins=function(a){if(a.isVertical()){var c=b.prototype.getPixelMargins.call(this,a),d=a.length/10,i=Math.max(d,c.left),h=Math.max(d,c.right);return{left:i,right:h}}var g=4,j=this.data.length,f=a.length/this.realXAxis.getZoom(),e=.5*f/j+g;return{left:e,right:e}};q.prototype.isAnchoredToOrigin=function(){return true};function w(c){var d=a.extend(true,{},this.defaults,{lineWidth:2,markers:{}});this.defaults=d;b.call(this,c)}w.prototype=new b;w.constructor=w;w.prototype.render=function(h){for(var o=this.data.length,c=[],k=[],i=[],m=this.markers&&this.markers.type!="none"?this.markers.size/2:0,b,g,d,f=0;f<o;f++){var e=this.data[f];if(e==null){c.push(null);c.push(null);continue}if(a.isArray(e)==false){b=f+.5;d=e}else{var l=e[0];switch(this.xAxisType){case"LinearAxis":b=l;break;case"DateTimeAxis":b=l;break;case"CategoryAxis":b=f+.5}d=e[1];if(typeof d!="number"){c.push(null);c.push(null);continue}}b=this.realXAxis.getPosition(b);g=this.realYAxis.getPosition(d);c.push(b);c.push(g);if(this.realYAxis.isValueVisible(d)===false)continue;this.markers&&this.markers.type!="none"&&k.push(this.getMarker(b,g));if(this.labels){var n=this.getDataPointLabel(d,b,g,m);i.push(n)}}var j=new B(c);this.setShapeSettings(j);h.push(j);a.merge(h,k);a.merge(h,i)};w.prototype.setLegendMarkerSettings=function(a){b.prototype.setLegendMarkerSettings.call(this,a);a.type="line"};function t(a){b.call(this,a)}t.prototype=new b;t.constructor=t;t.prototype.initXAxis=function(){};t.prototype.initYAxis=function(){};t.prototype.getYValues=function(){for(var e=[],f=this.data.length,d=0;d<f;d++){var b=this.data[d];if(b==null)continue;var c;if(a.isArray(b)==false)c=b;else c=b[1];e.push(Math.abs(c))}return e};t.prototype.render=function(o){var b=this.chart.gridArea,j=this.getYValues(),s=c.sum(j),r=j.length,m=10,i;if(b.width<b.height)i=b.width/2-m;else i=b.height/2-m;for(var t=b.x+b.width/2,u=b.y+b.height/2,q=Math.PI*2/s,e=-Math.PI/2,d=0;d<r;d++){var g=j[d],h=e+g*q,k=new R(t,u,i,e,h);this.setShapeSettings(k);k.fillStyle=this.palette.getColor(d);o.push(k);e=h}if(!this.labels)return;for(var e=-Math.PI/2,d=0;d<r;d++){var g=j[d],h=e+g*q;switch(this.labels.valueType){case"percentage":g=100*g/s}if(g==0)continue;var v=this.getLabelText(g),f=new n(v);f.textBaseline="top";a.extend(f,this.labels);var p=f.measure(this.chart.ctx),l=this.getSliceCenter(t,u,(e+h)/2,i*.6);f.x=l.x-p.width/2;f.y=l.y-p.height/2;o.push(f);e=h}};t.prototype.getSliceCenter=function(c,d,b,a){return{x:c+a*Math.cos(b),y:d+a*Math.sin(b)}};t.prototype.getLegendItems=function(){for(var g=[],c,i=this.data.length,b=0;b<i;b++){var e=this.data[b];if(e==null)continue;var j;if(a.isArray(e)==false){var h=b+1;c=h.toString()}else c=e[0];var f=new E;f.fillStyle=this.palette.getColor(b);var d=new J({text:c,marker:f});d.chart=this.chart;d.series=this;g.push(d)}return g};t.prototype.initColors=function(b,a){this.palette=a};function H(c){var d=a.extend(true,{},this.defaults,{markers:{type:"diamond"}});this.defaults=d;b.call(this,c)}H.prototype=new b;H.constructor=H;H.prototype.render=function(g){for(var j=this.data.length,e,f,b,a,h=this.markers&&this.markers.type!="none"?this.markers.size/2:0,d=0;d<j;d++){var c=this.data[d];if(c==null)continue;b=c[0];a=c[1];if(b==null||a==null||this.realXAxis.isValueVisible(b)==false||this.realYAxis.isValueVisible(a)==false)continue;e=this.realXAxis.getPosition(b);f=this.realYAxis.getPosition(a);this.markers&&this.markers.type!="none"&&g.push(this.getMarker(e,f));if(this.labels){var i=this.getDataPointLabel(a,e,f,h);g.push(i)}}};H.prototype.setLegendMarkerSettings=function(a){a.fillStyle=this.fillStyle;if(this.markers)a.type=this.markers.type};function I(a){w.call(this,a)}I.prototype=new w;I.constructor=I;I.prototype.render=function(i){for(var p=this.data.length,e=[],l=[],k=[],n=this.markers&&this.markers.type!="none"?this.markers.size/2:0,b,j,h,c,d,g=0;g<p;g++){h=false;var f=this.data[g];if(f==null)h=true;else if(a.isArray(f)==false){b=g+.5;d=f}else{var m=f[0];switch(this.xAxisType){case"LinearAxis":b=m;break;case"DateTimeAxis":b=m;break;case"CategoryAxis":b=g+.5}d=f[1];if(typeof d!="number")h=true}if(h==true){c=new u(e);this.setShapeSettings(c);i.push(c);e=[];continue}b=this.realXAxis.getPosition(b);j=this.realYAxis.getPosition(d);e.push(b);e.push(j);if(this.realYAxis.isValueVisible(d)===false)continue;this.markers&&this.markers.type!="none"&&l.push(this.getMarker(b,j));if(this.labels){var o=this.getDataPointLabel(d,b,j,n);k.push(o)}}c=new u(e);this.setShapeSettings(c);i.push(c);a.merge(i,l);a.merge(i,k)};I.prototype.getPixelMargins=function(d){var a=b.prototype.getPixelMargins.call(this,d),c=d.length/10,f=Math.max(c,a.left),e=Math.max(c,a.right);return{left:f,right:e}};function x(a){q.call(this,a)}x.prototype=new q;x.constructor=x;x.prototype.initData=function(){var o=this.getXAxisType();this.xAxisType=o;var f=this.data;if(a.isArray(f)==false)return;for(var j=h,g=i,e=[],p=f.length,m=this.chart.series.findClusters(this,"stackedColumn"),n=this.chart.series.getSeriesFromType("stackedColumn"),l=[],d=0;d<p;d++){var b={positive:0,negative:0};if(m.index>0){var k=n[m.index-1].dataValues[d];b.positive=k.positive;b.negative=k.negative}var c=f[d];if(c==null){e.push((d+1).toString());continue}if(a.isArray(c)==false)e.push((d+1).toString());else e.push(c[0]);if(a.isArray(c))c=c[1];b.actualValue=c;if(c>0){b.positive+=c;b.value=b.positive}else{b.negative+=c;b.value=b.negative}l[d]=b;g=Math.max(g,b.value);j=Math.min(j,b.value)}this.dataValues=l;this.categories=e;this.min=j;this.max=g};x.prototype.getPrevPosition=function(g,f,h,e,c,d){for(var b=f-1;b>=0;b--){var a=g[b].dataValues[h];if(d){if(a.value==a.positive)return c.getPosition(a.value)}else if(a.value==a.negative)return c.getPosition(a.value)}return e};x.prototype.render=function(j){var i=this.chart.gridArea,A=i.y,x=i.y+i.height,e=this.realYAxis.getCrossingPosition();e=c.fitInRange(e,A,x);e=Math.round(e);for(var z=this.chart.series.findClusters(this,"stackedColumn"),t=this.data.length,w=i.width/this.realXAxis.getZoom(),q=w/t,n=Math.round(this.pointWidth*q),y=Math.round((q-n)/2),p=[],o=[],v=this.chart.series.getSeriesFromType("stackedColumn"),b,d,m,f=0;f<t;f++){var m=this.dataValues[f];if(m==null)continue;var k=m.value;b=f;b=Math.round(this.realXAxis.getPosition(b)+y);d=Math.round(this.realYAxis.getPosition(k));var g=this.getPrevPosition(v,z.index,f,e,this.realYAxis,k>=0),u=d,h;if(d<=g)h=g-d;else{h=d-g;d=g}var s=new l(b,d,n,h);this.setShapeSettings(s);j.push(s);b+=n/2;this.markers&&this.realYAxis.isValueVisible(k)&&p.push(this.getMarker(b,u));if(this.labels){var r=this.getDataPointLabel(m.actualValue,b,u,-h/2);r.textBaseline="middle";o.push(r)}}a.merge(j,p);a.merge(j,o)};function y(a){k.call(this,a)}y.prototype=new k;y.constructor=y;y.prototype.initData=function(){var o=this.getXAxisType();this.xAxisType=o;var f=this.data;if(a.isArray(f)==false)return;for(var j=h,g=i,e=[],p=f.length,m=this.chart.series.findClusters(this,"stackedBar"),n=this.chart.series.getSeriesFromType("stackedBar"),l=[],d=0;d<p;d++){var b={positive:0,negative:0};if(m.index>0){var k=n[m.index-1].dataValues[d];b.positive=k.positive;b.negative=k.negative}var c=f[d];if(c==null){e.push((d+1).toString());continue}if(a.isArray(c)==false)e.push((d+1).toString());else e.push(c[0]);if(a.isArray(c))c=c[1];b.actualValue=c;if(c>0){b.positive+=c;b.value=b.positive}else{b.negative+=c;b.value=b.negative}l[d]=b;g=Math.max(g,b.value);j=Math.min(j,b.value)}this.dataValues=l;this.categories=e;this.min=j;this.max=g};y.prototype.getPrevPosition=function(g,f,h,e,c,d){for(var b=f-1;b>=0;b--){var a=g[b].dataValues[h];if(d){if(a.value==a.positive)return c.getPosition(a.value)}else if(a.value==a.negative)return c.getPosition(a.value)}return e};y.prototype.render=function(j){var k=this.chart.gridArea,s=k.x,A=s+k.width,d=this.realYAxis.getCrossingPosition();d=c.fitInRange(d,s,A);d=Math.round(d);for(var z=this.chart.series.findClusters(this,"stackedBar"),u=this.data.length,x=k.height/this.realXAxis.getZoom(),q=x/u,i=Math.round(this.pointWidth*q),y=Math.round((q-i)/2),p=[],o=[],w=this.chart.series.getSeriesFromType("stackedBar"),b,f,n,e=0;e<u;e++){var n=this.dataValues[e];if(n==null)continue;var m=n.value;b=e;f=Math.round(this.realXAxis.getPosition(b)-y-i);b=Math.round(this.realYAxis.getPosition(m));var g=this.getPrevPosition(w,z.index,e,d,this.realYAxis,m>=0),v=b,h;if(b<=g)h=g-b;else{h=b-g;b=g}var t=new l(b,f,h,i);this.setShapeSettings(t);j.push(t);f+=i/2;this.markers&&this.realYAxis.isValueVisible(m)&&p.push(this.getMarker(v,f));if(this.labels){var r=this.getDataPointLabel(n.actualValue,v,f,-h/2);r.textBaseline="middle";o.push(r)}}a.merge(j,p);a.merge(j,o)};function s(c){var d=a.extend(true,{},this.defaults,{lineWidth:2});this.defaults=d;b.call(this,c)}s.prototype=new b;s.constructor=s;s.prototype.initXYData=function(){for(var m=this.data,j=h,g=i,f=h,e=i,n=m.length,k=0;k<n;k++){var d=m[k];if(d==null||a.isArray(d)==false)continue;var b=d[0];if(f>b)f=b;if(e<b)e=b;for(var l=1;l<5;l++){var c=d[l];if(j>c)j=c;if(g<c)g=c}}this.min=j;this.max=g;this.minX=f;this.maxX=e};s.prototype.initCatValueData=function(){for(var j=this.data,e=h,d=i,c=[],k=j.length,b=0;b<k;b++){var f=j[b];if(f==null){c.push((b+1).toString());continue}c.push(f[0]);for(var g=1;g<5;g++){var a=f[g];if(e>a)e=a;if(d<a)d=a}}this.min=e;this.max=d;this.categories=c};s.prototype.initDateValueData=function(){for(var m=this.data,j=h,g=i,f=h,e=i,n=m.length,k=0;k<n;k++){var d=m[k];if(d==null||a.isArray(d)==false)continue;var b=d[0].getTime();if(f>b)f=b;if(e<b)e=b;for(var l=1;l<5;l++){var c=d[l];if(j>c)j=c;if(g<c)g=c}}this.min=j;this.max=g;this.minX=f;this.maxX=e};s.prototype.render=function(l){var m=this.chart.gridArea,i=this.data.length,c,e,g,f,d,k=i,j=m.width/this.realXAxis.getZoom();width=this.pointWidth*j/k;for(var h=0;h<i;h++){var b=this.data[h];if(b==null||a.isArray(b)==false)continue;switch(this.xAxisType){case"LinearAxis":case"DateTimeAxis":c=b[0];break;case"CategoryAxis":c=h+.5}e=b[1];g=b[2];f=b[3];d=b[4];c=this.realXAxis.getPosition(c);e=this.realYAxis.getPosition(e);g=this.realYAxis.getPosition(g);f=this.realYAxis.getPosition(f);d=this.realYAxis.getPosition(d);var n=this.createShape(c,e,g,f,d,width);l.push(n)}};s.prototype.createShape=function(g,d,f,e,b,c){var a=new A(g,d,f,e,b,c);this.setShapeSettings(a);return a};s.prototype.getPixelMargins=function(a){if(a.isVertical())return b.prototype.getPixelMargins.call(this,a);var e=4,f=this.data.length,d=a.length/this.realXAxis.getZoom(),c=.5*d/f+e;return{left:c,right:c}};function F(c){var d=a.extend(true,{},this.defaults,{lineWidth:1});this.defaults=d;b.call(this,c)}F.prototype=new s;F.constructor=F;F.prototype.setShapeSettings=function(a){a.priceDownFillStyle=this.priceDownFillStyle||this.fillStyle;a.priceUpFillStyle=this.priceUpFillStyle;a.strokeStyle=this.strokeStyle;a.lineWidth=this.lineWidth;a.lineCap=this.lineCap;a.lineJoin=this.lineJoin;a.miterLimit=this.miterLimit};F.prototype.createShape=function(g,d,f,e,b,c){var a=new M(g,d,f,e,b,c);this.setShapeSettings(a);return a};function m(b,e){b=b||{};this.chart=e;for(var f=[],d=0;d<b.length;d++){var c=b[d],a;switch(c.type){case"category":a=new p(c);break;case"dateTime":a=new j(c);break;case"linear":default:a=new g(c)}a.chart=e;f.push(a)}this.userAxes=f}m.prototype.initSeriesAxes=function(){var b=[];a.merge(b,this.userAxes);for(var d=this.chart.series.items,c=0;c<d.length;c++){var e=d[c];e.initXAxis(b);e.initYAxis(b)}this.items=b};m.prototype.initSeries=function(){for(var b=this.items,a=0;a<b.length;a++){var c=b[a];c.initSeries()}};m.prototype.find=function(d){var b=this.items;if(d!=null)for(var a=0;a<b.length;a++){var c=b[a];if(c.name==d)return c}return null};m.prototype.initRanges=function(){for(var b=this.items,a=0;a<b.length;a++){var c=b[a];c.initRange()}};m.prototype.measure=function(){for(var b=this.items,a=0;a<b.length;a++){var c=b[a];c.measure()}};m.prototype.arrange=function(){for(var b=this.items,a=0;a<b.length;a++){var c=b[a];c.arrange()}};m.prototype.getAxesInLoc=function(e){for(var d=[],b=this.items,a=0;a<b.length;a++){var c=b[a];c.location==e&&d.push(c)}return d};m.prototype.getVAxes=function(){for(var d=[],b=this.items,a=0;a<b.length;a++){var c=b[a];c.isVertical()&&d.push(c)}return d};m.prototype.getHAxes=function(){for(var d=[],b=this.items,a=0;a<b.length;a++){var c=b[a];c.isVertical()==false&&d.push(c)}return d};m.prototype.getTotalWidth=function(){for(var a=0,c=this.items,b=0;b<c.length;b++){var d=c[b];if(d.isVertical())a=a+d.width}return a};m.prototype.getTotalHeight=function(){for(var a=0,c=this.items,b=0;b<c.length;b++){var d=c[b];if(d.isVertical()==false)a=a+d.height}return a};m.prototype.render=function(c){for(var b=this.items,a=0;a<b.length;a++){var d=b[a];d.render(c)}};m.prototype.updateOrigins=function(){for(var b=this.items,a=0;a<b.length;a++){var c=b[a];c.updateOrigin()}};function e(a){this.minZoomValue=.001;this.maxInter200Px=8;this.lblMargin=4;this.origin=0;this.length=300;this.x=0;this.y=0;this.setOptions(a)}e.prototype.defaults={labels:{fillStyle:"black",lineWidth:1,font:"11px sans-serif",visible:true},strokeStyle:"black",lineWidth:1,margin:5,crossing:0,reversed:false,zoomEnabled:false,zoomValue:1,scrollValue:0};e.prototype.setOptions=function(c){var b=a.extend({},this.defaults,c||{});a.extend(this,b);this.isCustomWidth=this.width!=null;this.isCustomHeight=this.height!=null;this.majorTickMarks=new V(b.majorTickMarks);if(b.minorTickMarks){this.minorTickMarks=new V(b.minorTickMarks);this.minorTickMarks.major=this.majorTickMarks}if(b.majorGridLines)this.majorGridLines=new Q(b.majorGridLines);if(b.minorGridLines){this.minorGridLines=new Q(b.minorGridLines);this.minorGridLines.major=this.majorGridLines}};e.prototype.initSeries=function(){for(var c=new r(null,this.chart),d=this.chart.series.items,b=0;b<d.length;b++){var a=d[b];(a.realXAxis==this||a.realYAxis==this)&&c.items.push(a)}this.series=c};e.prototype.isVertical=function(){return this.location=="left"||this.location=="right"?true:false};e.prototype.setVisibleRanges=function(){var b=Math.max(this.zoomValue,this.minZoomValue);b=Math.min(b,1);var a=Math.max(this.scrollValue,0);a=Math.min(a,1);var c=this.reversed===true;if(c)a=1-a;this.range=this.actualMaximum-this.actualMinimum;this.visibleMinimum=this.actualMinimum+(1-b)*a*this.range;this.visibleMaximum=this.visibleMinimum+b*this.range};e.prototype.getPosition=function(c){var a=this.length/(this.visibleMaximum-this.visibleMinimum)*(c-this.visibleMinimum),b=this.reversed===true;if(this.isVertical()&&b===false||this.isVertical()===false&&b)a=this.origin+this.length-a;else a+=this.origin;return a};e.prototype.isValueVisible=function(a){return a>=this.visibleMinimum&&a<=this.visibleMaximum};e.prototype.getNextPosition=function(b,a){return c.round(b+a)};e.prototype.getMarkInterval=function(b,c){var a;if(b.interval)a=b.interval;else if(c)a=this.actualInterval;else a=this.actualInterval/2;return a};e.prototype.getIntervals=function(c,b){var d=0;if(b&&b.intervalOffset)d=b.intervalOffset;for(var e=[],f=this.getIntervalStart(this.visibleMinimum,c),a=f+d;a<=this.visibleMaximum;a=this.getNextPosition(a,c))e.push(a);return e};e.prototype.getIntervalStart=function(d,b){var c=d-this.crossing,a=this.alignToInterval(c,b);if(a<d)a=this.alignToInterval(c+b,b);return a};e.prototype.alignToInterval=function(b,a){return c.round(c.round(Math.floor(b/a))*a)+this.crossing};e.prototype.getLabelIntervals=function(a,b){return this.getIntervals(a,b)};e.prototype.correctLabelsPositions=function(l){var k=0,j=0,m=this.reversed===true,n=this.isVertical(),g=this.lblMargin;if(n){for(var e=[],d=0;d<l.length;d++){var a=l[d],f=false,i=a.y;switch(a.textBaseline){case"middle":i-=a.height/2;break;case"bottom":i-=a.height}for(var c=0,c=0;c<e.length;c++){var b=e[c];if(m)f=i>b.y+b.h;else f=b.y>i+a.height;if(f){b.y=i;b.h=a.height;b.w=Math.max(b.w,a.width+g);b.labels.push(a);break}}if(f==false)e[c]={y:i,h:a.height,w:a.width+g,labels:[a]}}var p=this.location=="right";k=0;for(var d=0;d<e.length;d++){for(var b=e[d],c=0;c<b.labels.length;c++){var a=b.labels[c];if(p)a.x+=k;else a.x-=k}k+=b.w}}else{for(var e=[],d=0;d<l.length;d++){var a=l[d],h=a.x;switch(a.textAlign){case"center":h-=a.width/2;break;case"right":h-=a.width}for(var f=false,c=0,c=0;c<e.length;c++){var b=e[c];if(m)f=b.x>h+a.width+g;else f=h>b.x+b.w+g;if(f){b.x=h;b.w=a.width;b.h=Math.max(b.h,a.height+g);b.labels.push(a);f=true;break}}if(f==false)e[c]={x:h,w:a.width,h:a.height+g,labels:[a]}}var o=this.location=="bottom";j=0;for(var d=0;d<e.length;d++){for(var b=e[d],c=0;c<b.labels.length;c++){var a=b.labels[c];if(o)a.y+=j;else a.y-=j}j+=b.h}}return{w:k,h:j}};e.prototype.measure=function(){var a=this.correctLabelsPositions(this.getLabels()),b=this.margin+this.getMaxTickMarksLength();if(this.isVertical()){if(this.isCustomWidth==false)this.width=a.w+b}else if(this.isCustomHeight==false)this.height=a.h+b};e.prototype.arrange=function(){var a=this.x,c=this.y,b=this.x+this.width,d=this.y+this.height;switch(this.location){case"left":b=a=this.x+this.width;break;case"right":b=a=this.x;break;case"top":d=c=this.y+this.height;break;case"bottom":d=c=this.y}this.x1=a;this.y1=c;this.x2=b;this.y2=d};e.prototype.updateOrigin=function(){if(this.isVertical()){this.origin=this.y;this.length=this.height}else{this.origin=this.x;this.length=this.width}};e.prototype.render=function(b){var e=this.getTickMarks(this.minorTickMarks,false);a.merge(b,e);var d=this.getTickMarks(this.majorTickMarks,true);a.merge(b,d);var f=this.getMainLine();b.push(f);var c=this.getLabels();this.correctLabelsPositions(c);a.merge(b,c)};e.prototype.getMainLine=function(){var a=new o(this.x1,this.y1,this.x2,this.y2);a.strokeStyle=this.strokeStyle;a.lineWidth=this.lineWidth;return a};e.prototype.getMaxTickMarksLength=function(){var a=0;if(this.minorTickMarks!=null&&this.minorTickMarks.visible)a=Math.max(a,this.minorTickMarks.length);if(this.majorTickMarks!=null&&this.majorTickMarks.visible)a=Math.max(a,this.majorTickMarks.length);return a};e.prototype.getLabel=function(d){var b=null;if(this.labels!=null)b=this.labels.stringFormat;var c=a.fn.jqChart.labelFormatter(b,d);return c};e.prototype.getLabels=function(){var c=this.labels;if(c==null||c.visible===false)return[];for(var d=this.getMaxTickMarksLength()+this.lblMargin,g=[],k=this.getMarkInterval(c,true),h=this.getLabelIntervals(k,c),f=0;f<h.length;f++){var i=h[f],j=this.getLabel(i),b=new n(j);b.measure(this.chart.ctx);var e=this.getPosition(i);switch(this.location){case"left":b.x=this.x+this.width-d;b.y=e;b.textAlign="right";break;case"right":b.x=this.x+d;b.y=e;break;case"top":b.x=e;b.y=this.y+this.height-d;b.textAlign="center";b.textBaseline="bottom";break;case"bottom":b.x=e;b.y=this.y+d;b.textAlign="center";b.textBaseline="top"}a.extend(b,c);g.push(b)}return g};e.prototype.getTickMarks=function(b,k){if(b==null||b.visible!=true)return[];for(var i=[],m=this.getMarkInterval(b,k),f=b.length,j=this.getIntervals(m,b,k),c,e,d,a,h=0;h<j.length;h++){var g=this.getPosition(j[h]);switch(this.location){case"left":e=a=g;d=this.x+this.width;c=d-f;break;case"right":e=a=g;c=this.x;d=c+f;break;case"top":c=d=g;a=this.y+this.height;e=a-f;break;case"bottom":c=d=g;a=this.y;e=a+f}var l=new o(c,e,d,a);b.setLineSettings(l);i.push(l)}return i};e.prototype.getZoom=function(){return this.zoomEnabled!==true?1:this.zoomValue};function p(a){e.call(this,a);this.DataType="CategoryAxis"}p.prototype=new e;p.constructor=p;p.prototype.initRange=function(){var b=this.series;b.initCategories();var c=b.categories,a=c.length;if(this.categories)a=Math.max(a,this.categories.length);this.actualMinimum=0;this.actualMaximum=a;this.setVisibleRanges();this.actualInterval=1;this.seriesCategories=c};p.prototype.getLabel=function(c){var a=Math.round(c-.5),b;if(this.categories&&a<this.categories.length)b=this.categories[a];else b=this.seriesCategories[a];return e.prototype.getLabel.call(this,b)};p.prototype.getLabelIntervals=function(d,b){var e=0;if(b&&b.intervalOffset)e=b.intervalOffset;for(var f=[],h=Math.round(this.visibleMinimum),g=this.getIntervalStart(h,d)+.5,a=g+e;a<=this.visibleMaximum;a=c.round(a+d))f.push(a);return f};p.prototype.getOrientation=function(){return"x"};p.prototype.getIntervalCount=function(){return this.categories.length};function O(a){e.call(this,a)}O.prototype=new e;O.constructor=O;function g(b){var c=a.extend(true,{},this.defaults,{logarithmic:false,logBase:10});this.defaults=c;O.call(this,b);this.DataType="LinearAxis"}g.prototype=new O;g.constructor=g;g.prototype.initRange=function(){var e=this.series;e.initRanges();var g,f;if(this.getOrientation()=="x"){g=e.minX;f=e.maxX}else{g=e.min;f=e.max}var k=Math.abs(f-g);if(k==0)k=1;var n=e.getPixelMargins(this),l=k/this.length,j=l*(n.left+.5),i=l*(n.right+.5);if(this.logarithmic===true){j=c.log(j,this.logBase);i=c.log(i,this.logBase)}var a=g-j,b=f+i,o=this.series.isAnchoredToOrigin(),d=this.crossing;if(o)if(g>=d&&a<d)a=d;else if(f<=d&&b>d)b=d;if(this.extendRangeToOrigin)if(a>d)a=d;else if(b<d)b=d;if(this.logarithmic===true){var m=1;if(a<m)a=m;a=c.log(a,this.logBase);b=c.log(b,this.logBase);var h=this.calculateActualIntervalLogarithmic(a,b);a=c.round(Math.floor(a/h)*h);b=c.round(Math.ceil(b/h)*h)}this.setMinMax(a,b);this.setVisibleRanges();if(this.logarithmic===true)this.actualInterval=this.calculateActualIntervalLogarithmic(this.visibleMinimum,this.visibleMaximum);else this.actualInterval=this.calculateActualInterval(this.visibleMinimum,this.visibleMaximum)};g.prototype.setMinMax=function(b,a){if(this.minimum!=null)this.actualMinimum=this.minimum;else this.actualMinimum=b;if(this.maximum!=null)this.actualMaximum=this.maximum;else this.actualMaximum=a};g.prototype.calculateActualIntervalLogarithmic=function(e,d){if(this.interval)return this.interval;var b=(d-e)/3,a=Math.floor(c.log10(Math.abs(b)));if(a==0)a=1;return c.round(Math.floor(b/a)*a)};g.prototype.calculateActualInterval=function(m,l){if(this.interval)return this.interval;var h=1;if(this.getOrientation()=="x")h=.8;for(var k=h*this.maxInter200Px,e=Math.max(this.length*k/200,1),g=l-m,a=g/e,j=Math.pow(10,Math.floor(c.log10(a))),f=[10,5,2,1],b=0;b<f.length;b++){var i=f[b],d=j*i;if(e<g/d)break;a=d}return a};g.prototype.getCrossingPosition=function(){return this.getPosition(this.crossing)};g.prototype.getOrientation=function(b){var a=this.isVertical();if(this.series)for(var c=0;c<this.series.items.length;c++)b=this.series.items[c].type;if(b=="bar"||b=="stackedBar")a=!a;return a?"y":"x"};g.prototype.getPosition=function(a){if(this.logarithmic==true)a=c.log(a,this.logBase);var b=e.prototype.getPosition.call(this,a);return b};g.prototype.getIntervals=function(b,a,i){if(this.logarithmic===false)return e.prototype.getIntervals.call(this,b,a);if(i===false)return this.getLogarithmicMinorIntervals(b,a);var f=0;if(a&&a.intervalOffset)f=a.intervalOffset;for(var g=[],h=this.getIntervalStart(this.visibleMinimum,b),d=h+f;d<=this.visibleMaximum;d=c.round(d+b))g.push(Math.pow(this.logBase,d));return g};g.prototype.getLogarithmicMinorIntervals=function(m,k){for(var l=this.getMarkInterval(k.major,true),h=this.getIntervals(l,k.major,true),j=[],d=null,g=0;g<h.length;g++){var f=h[g];if(d==null){d=f;continue}var a=d,b=f;if(a<b){var n=a;a=b;b=n}var i=(a-b)*m/10,e=b+i;while(e<a){j.push(c.round(e));e+=i}d=f}return j};g.prototype.getIntervalCount=function(){return Math.ceil(this.actualMaximum-this.actualMinimum)};function j(b){var c=a.extend(true,{},this.defaults,{labels:{yearsIntervalStringFormat:"yyyy",monthsIntervalStringFormat:a.fn.jqChart.dateFormat.masks.shortDate,weeksIntervalStringFormat:a.fn.jqChart.dateFormat.masks.shortDate,daysIntervalStringFormat:a.fn.jqChart.dateFormat.masks.shortDate,hoursIntervalStringFormat:a.fn.jqChart.dateFormat.masks.shortTime,minutesIntervalStringFormat:a.fn.jqChart.dateFormat.masks.shortTime,secondsIntervalStringFormat:a.fn.jqChart.dateFormat.masks.mediumTime,millisecondsIntervalStringFormat:a.fn.jqChart.dateFormat.masks.mediumTime}});this.defaults=c;g.call(this,b);this.DataType="DateTimeAxis"}j.prototype=new g;j.constructor=j;j.prototype.initRange=function(){g.prototype.initRange.call(this);this.initActualStringFormat()};j.prototype.setMinMax=function(c,b){if(this.minimum!=null)if(a.type(this.minimum)=="date")this.actualMinimum=this.minimum.getTime();else this.actualMinimum=this.minimum;else this.actualMinimum=c;if(this.maximum!=null)if(a.type(this.minimum)=="date")this.actualMaximum=this.maximum.getTime();else this.actualMaximum=this.maximum;else this.actualMaximum=b};j.prototype.getPosition=function(b){if(a.type(b)=="date")b=b.getTime();var c=g.prototype.getPosition.call(this,b);return c};j.prototype.calculateActualInterval=function(c,b){var a=this.calculateDateTimeInterval(c,b);if(this.intervalType!=null)this.actualIntervalType=this.intervalType;else this.actualIntervalType=this.type;if(this.interval!=null)a=this.interval;return a};j.prototype.calculateDateTimeInterval=function(j,i){var h=i-j,f=.8*this.maxInter200Px,g=Math.max(1,this.length),e=g/(200*10/f),b=h/e;this.type="year";var a=b/(1e3*60);if(a<=1){if(b<=10){this.type="milliseconds";return 1}if(b<=50){this.type="milliseconds";return 4}if(b<=200){this.type="milliseconds";return 20}if(b<=500){this.type="milliseconds";return 50}var c=b/1e3;if(c<=7){this.type="seconds";return 1}if(c<=15){this.type="seconds";return 2}if(c<=30){this.type="seconds";return 5}if(c<=60){this.type="seconds";return 10}}else if(a<=2){this.type="seconds";return 20}if(a<=3){this.type="Seconds";return 30}if(a<=10){this.type="minutes";return 1}if(a<=20){this.type="minutes";return 2}if(a<=60){this.type="minutes";return 5}if(a<=120){this.type="minutes";return 10}if(a<=180){this.type="minutes";return 30}if(a<=60*12){this.type="hours";return 1}if(a<=60*24){this.type="hours";return 4}if(a<=60*24*2){this.type="hours";return 6}if(a<=60*24*3){this.type="hours";return 12}if(a<=60*24*10){this.type="days";return 1}if(a<=60*24*20){this.type="days";return 2}if(a<=60*24*30){this.type="days";return 3}if(a<=60*24*30.5*2){this.type="weeks";return 1}if(a<=60*24*30.5*5){this.type="weeks";return 2}if(a<=60*24*30.5*12){this.type="months";return 1}if(a<=60*24*30.5*24){this.type="months";return 3}if(a<=60*24*30.5*48){this.type="months";return 6}this.type="years";var d=a/60/24/365;return d<5?1:d<10?2:Math.floor(d/5)};j.prototype.incrementDateTime=function(h,b,d){var a=new Date(h),c=0;if(d=="days")c=f.fromDays(b);else if(d=="hours")c=f.fromHours(b);else if(d=="milliseconds")c=b;else if(d=="seconds")c=f.fromSeconds(b);else if(d=="minutes")c=f.fromMinutes(b);else if(d=="weeks")c=f.fromDays(7*b);else if(d=="months"){var e=false;if(a.getDate()==f.getDaysInMonth(a.getFullYear(),a.getMonth()))e=true;a=f.addMonths(a,Math.floor(b));c=f.fromDays(30*(b-Math.floor(b)));if(e&&c==0){var g=f.getDaysInMonth(a.getFullYear(),a.getMonth());a=f.addDays(a,g-a.getDate())}}else if(d=="years"){a=f.addYears(a,Math.floor(b));c=f.fromDays(365*(b-Math.floor(b)))}return a.getTime()+c};j.prototype.getIntervalStart=function(j,b,d){if(d==null)return j;var a=new Date(j);if(b>0&&b!=1)if(d=="months"&&b<=12&&b>1){var i=a,c=new Date(a.getFullYear(),0,1,0,0,0);while(c<a){i=c;c=f.AddMonths(c,b)}a=i;return a.getTime()}switch(d){case"years":var g=a.getFullYear()/b*b;if(g<=0)g=1;a=new Date(g,0,1,0,0,0);break;case"months":var e=a.getMonth()/b*b;if(e<0)e=0;a=new Date(a.getFullYear(),e,1,0,0,0);break;case"days":var h=a.getDate()/b*b;if(h<=0)h=1;a=new Date(a.getFullYear(),a.getMonth(),h,0,0,0);break;case"hours":var n=a.getHours()/b*b;a=new Date(a.getFullYear(),a.getMonth(),a.getDate(),n,0,0);break;case"minutes":var l=a.getMinutes()/b*b;a=new Date(a.getFullYear(),a.getMonth(),a.getDate(),a.getHours(),l,0);break;case"seconds":var m=a.getSeconds()/b*b;a=new Date(a.getFullYear(),a.getMonth(),a.getDate(),a.getHours(),a.getMinutes(),m,0);break;case"milliseconds":var k=a.getMilliseconds()/b*b;a=new Date(a.getFullYear(),a.getMonth(),a.getDate(),a.getHours(),a.getMinutes(),a.getSeconds(),k);break;case"weeks":a=new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0);a=f.addDays(a,-f.getDayOfWeek(a))}return a.getTime()};j.prototype.initActualStringFormat=function(){if(!this.labels)return;if(this.labels.stringFormat){this.actualStringFormat=this.labels.stringFormat;return}switch(this.actualIntervalType){case"years":this.actualStringFormat=this.labels.yearsIntervalStringFormat;break;case"months":this.actualStringFormat=this.labels.monthsIntervalStringFormat;break;case"weeks":this.actualStringFormat=this.labels.weeksIntervalStringFormat;break;case"days":this.actualStringFormat=this.labels.daysIntervalStringFormat;break;case"hours":this.actualStringFormat=this.labels.hoursIntervalStringFormat;break;case"minutes":this.actualStringFormat=this.labels.minutesIntervalStringFormat;break;case"seconds":this.actualStringFormat=this.labels.secondsIntervalStringFormat;break;case"milliseconds":this.actualStringFormat=this.labels.millisecondsIntervalStringFormat;break;default:this.actualStringFormat="default"}};j.prototype.getLabel=function(b){if(!this.labels||!this.actualStringFormat)return;var c=new Date(b);return a.fn.jqChart.dateFormat(c,this.actualStringFormat)};j.prototype.getIntervals=function(d,b){var f=[],a=this.getIntervalStart(this.visibleMinimum,d,this.actualIntervalType);while(a<this.visibleMinimum)a=this.incrementDateTime(a,d,this.actualIntervalType);if(b&&b.intervalOffset){var e=this.actualIntervalType,g=b.intervalOffset;if(b.intervalOffsetType)e=b.intervalOffsetType;a=this.incrementDateTime(a,g,e)}for(var c=a;c<=this.visibleMaximum;c=this.incrementDateTime(c,d,this.actualIntervalType))f.push(c);return f};j.prototype.getIntervalCount=function(){var a=this.actualMaximum-this.actualMinimum;a=Math.ceil(a/(24*60*60*1e3));return a}})(jQuery)
