text: /* jqPlot 1.0.7r1224 | (c) 2009-2013 Chris Leonello | jplot.com
     jsDate | (c) 2010-2013 Chris Leonello
   */(function(f){
      var d=function(m){
          return Math.max.apply(Math,m)
      };
          
      var j=function(m){
          return Math.min.apply(Math,m)
      };
          
      f.jqplot.BubbleRenderer=function(){
          f.jqplot.LineRenderer.call(this)
      };
          
      f.jqplot.BubbleRenderer.prototype=new f.jqplot.LineRenderer();
      f.jqplot.BubbleRenderer.prototype.constructor=f.jqplot.BubbleRenderer;
      f.jqplot.BubbleRenderer.prototype.init=function(w,t){
          this.varyBubbleColors=true;
          this.autoscaleBubbles=true;
          this.autoscaleMultiplier=1;
          this.autoscalePointsFactor=-0.07;
          this.escapeHtml=true;
          this.highlightMouseOver=true;
          this.highlightMouseDown=false;
          this.highlightColors=[];
          this.bubbleAlpha=1;
          this.highlightAlpha=null;
          this.bubbleGradients=false;
          this.showLabels=true;
          this.radii=[];
          this.maxRadius=0;
          this._highlightedPoint=null;
          this.labels=[];
          this.bubbleCanvases=[];
          this._type="bubble";
          if(w.highlightMouseDown&&w.highlightMouseOver==null){
              w.highlightMouseOver=false
          }
          f.extend(true,this,w);
          if(this.highlightAlpha==null){
              this.highlightAlpha=this.bubbleAlpha;
              if(this.bubbleGradients){
                  this.highlightAlpha=0.35
              }
          }
          this.autoscaleMultiplier=this.autoscaleMultiplier*Math.pow(this.data.length,this.autoscalePointsFactor);
          this._highlightedPoint=null;
          var n;
          for(var r=0;r<this.data.length;r++){
              var p=null;
              var v=this.data[r];
              this.maxRadius=Math.max(this.maxRadius,v[2]);
              if(v[3]){
                  if(typeof(v[3])=="object"){
                      p=v[3]["color"]
                  }
              }
              if(p==null){
                  if(this.seriesColors[r]!=null){
                      p=this.seriesColors[r]
                  }
              }
              if(p&&this.bubbleAlpha<1){
                  n=f.jqplot.getColorComponents(p);
                  p="rgba("+n[0]+", "+n[1]+", "+n[2]+", "+this.bubbleAlpha+")"
              }
              if(p){
                  this.seriesColors[r]=p
              }
          }
          if(!this.varyBubbleColors){
              this.seriesColors=[this.color]
          }
          this.colorGenerator=new f.jqplot.ColorGenerator(this.seriesColors);
          if(this.highlightColors.length==0){
              for(var r=0;r<this.seriesColors.length;r++){
                  var o=f.jqplot.getColorComponents(this.seriesColors[r]);
                  var u=[o[0],o[1],o[2]];
                  var s=u[0]+u[1]+u[2];
                  for(var q=0;q<3;q++){
                      u[q]=(s>570)?u[q]*0.8:u[q]+0.3*(255-u[q]);
                      u[q]=parseInt(u[q],10)
                  }
                  this.highlightColors.push("rgba("+u[0]+","+u[1]+","+u[2]+", "+this.highlightAlpha+")")
              }
          }
          this.highlightColorGenerator=new f.jqplot.ColorGenerator(this.highlightColors);
          var m={
              fill:true,
              isarc:true,
              angle:this.shadowAngle,
              alpha:this.shadowAlpha,
              closePath:true
          };
  
          this.renderer.shadowRenderer.init(m);
          this.canvas=new f.jqplot.DivCanvas();
          this.canvas._plotDimensions=this._plotDimensions;
          t.eventListenerHooks.addOnce("jqplotMouseMove",a);
          t.eventListenerHooks.addOnce("jqplotMouseDown",b);
          t.eventListenerHooks.addOnce("jqplotMouseUp",k);
          t.eventListenerHooks.addOnce("jqplotClick",g);
          t.eventListenerHooks.addOnce("jqplotRightClick",l);
          t.postDrawHooks.addOnce(h)
      };
  
      f.jqplot.BubbleRenderer.prototype.setGridData=function(w){
          var q=this._xaxis.series_u2p;
          var m=this._yaxis.series_u2p;
          var t=this._plotData;
          this.gridData=[];
          var s=[];
          this.radii=[];
          var v=Math.min(w._height,w._width);
          for(var u=0;u<this.data.length;u++){
              if(t[u]!=null){
                  this.gridData.push([q.call(this._xaxis,t[u][0]),m.call(this._yaxis,t[u][1]),t[u][2]]);
                  this.radii.push([u,t[u][2]]);
                  s.push(t[u][2])
              }
          }
          var n,o,x=this.maxRadius=d(s);
          var p=this.gridData.length;
          if(this.autoscaleBubbles){
              for(var u=0;u<p;u++){
                  o=s[u]/x;
                  n=this.autoscaleMultiplier*v/6;
                  this.gridData[u][2]=n*o
              }
          }
          this.radii.sort(function(y,r){
              return r[1]-y[1]
          })
      };
  
      f.jqplot.BubbleRenderer.prototype.makeGridData=function(t,w){
          var q=this._xaxis.series_u2p;
          var n=this._yaxis.series_u2p;
          var x=[];
          var s=[];
          this.radii=[];
          var v=Math.min(w._height,w._width);
          for(var u=0;u<t.length;u++){
              if(t[u]!=null){
                  x.push([q.call(this._xaxis,t[u][0]),n.call(this._yaxis,t[u][1]),t[u][2]]);
                  s.push(t[u][2]);
                  this.radii.push([u,t[u][2]])
              }
          }
          var m,o,y=this.maxRadius=d(s);
          var p=this.gridData.length;
          if(this.autoscaleBubbles){
              for(var u=0;u<p;u++){
                  o=s[u]/y;
                  m=this.autoscaleMultiplier*v/6;
                  x[u][2]=m*o
              }
          }
          this.radii.sort(function(z,r){
              return r[1]-z[1]
          });
          return x
      };
  
      f.jqplot.BubbleRenderer.prototype.draw=function(D,J,n){
          if(this.plugins.pointLabels){
              this.plugins.pointLabels.show=false
          }
          var A=(n!=undefined)?n:{};
      
          var r=(A.shadow!=undefined)?A.shadow:this.shadow;
          this.canvas._elem.empty();
          for(var G=0;G<this.radii.length;G++){
              var C=this.radii[G][0];
              var z=null;
              var F=null;
              var m=null;
              var p=null;
              var I=this.data[C];
              var J=this.gridData[C];
              if(I[3]){
                  if(typeof(I[3])=="object"){
                      z=I[3]["label"]
                  }else{
                      if(typeof(I[3])=="string"){
                          z=I[3]
                      }
                  }
              }
              F=this.colorGenerator.get(C);
              var E=J[2];
              var q,K;
              if(this.shadow){
                  q=(0.7+J[2]/40).toFixed(1);
                  K=1+Math.ceil(J[2]/15);
                  E+=q*K
              }
              this.bubbleCanvases[C]=new f.jqplot.BubbleCanvas();
              this.canvas._elem.append(this.bubbleCanvases[C].createElement(J[0],J[1],E));
              this.bubbleCanvases[C].setContext();
              var D=this.bubbleCanvases[C]._ctx;
              var u=D.canvas.width/2;
              var s=D.canvas.height/2;
              if(this.shadow){
                  this.renderer.shadowRenderer.draw(D,[u,s,J[2],0,2*Math.PI],{
                      offset:q,
                      depth:K
                  })
              }
              this.bubbleCanvases[C].draw(J[2],F,this.bubbleGradients,this.shadowAngle/180*Math.PI);
              if(z&&this.showLabels){
                  p=f('<div style="position:absolute;" class="jqplot-bubble-label"></div>');
                  if(this.escapeHtml){
                      p.text(z)
                  }else{
                      p.html(z)
                  }
                  this.canvas._elem.append(p);
                  var H=f(p).outerHeight();
                  var v=f(p).outerWidth();
                  var B=J[1]-0.5*H;
                  var o=J[0]-0.5*v;
                  p.css({
                      top:B,
                      left:o
                  });
                  this.labels[C]=f(p)
              }
          }
      };
  
      f.jqplot.DivCanvas=function(){
          f.jqplot.ElemContainer.call(this);
          this._ctx
      };
      
      f.jqplot.DivCanvas.prototype=new f.jqplot.ElemContainer();
      f.jqplot.DivCanvas.prototype.constructor=f.jqplot.DivCanvas;
      f.jqplot.DivCanvas.prototype.createElement=function(s,p,n){
          this._offsets=s;
          var m="jqplot-DivCanvas";
          if(p!=undefined){
              m=p
          }
          var r;
          if(this._elem){
              r=this._elem.get(0)
          }else{
              r=document.createElement("div")
          }
          if(n!=undefined){
              this._plotDimensions=n
          }
          var o=this._plotDimensions.width-this._offsets.left-this._offsets.right+"px";
          var q=this._plotDimensions.height-this._offsets.top-this._offsets.bottom+"px";
          this._elem=f(r);
          this._elem.css({
              position:"absolute",
              width:o,
              height:q,
              left:this._offsets.left,
              top:this._offsets.top
          });
          this._elem.addClass(m);
          return this._elem
      };
      
      f.jqplot.DivCanvas.prototype.setContext=function(){
          this._ctx={
              canvas:{
                  width:0,
                  height:0
              },
              clearRect:function(){
                  return null
              }
          };
      
          return this._ctx
      };
  
      f.jqplot.BubbleCanvas=function(){
          f.jqplot.ElemContainer.call(this);
          this._ctx
      };
      
      f.jqplot.BubbleCanvas.prototype=new f.jqplot.ElemContainer();
      f.jqplot.BubbleCanvas.prototype.constructor=f.jqplot.BubbleCanvas;
      f.jqplot.BubbleCanvas.prototype.createElement=function(n,u,s){
          var m="jqplot-bubble-point";
          var q;
          if(this._elem){
              q=this._elem.get(0)
          }else{
              q=document.createElement("canvas")
          }
          q.width=(s!=null)?2*s:q.width;
          q.height=(s!=null)?2*s:q.height;
          this._elem=f(q);
          var o=(n!=null&&s!=null)?n-s:this._elem.css("left");
          var p=(u!=null&&s!=null)?u-s:this._elem.css("top");
          this._elem.css({
              position:"absolute",
              left:o,
              top:p
          });
          this._elem.addClass(m);
          if(f.jqplot.use_excanvas){
              window.G_vmlCanvasManager.init_(document);
              q=window.G_vmlCanvasManager.initElement(q)
          }
          return this._elem
      };
      
      f.jqplot.BubbleCanvas.prototype.draw=function(m,s,v,p){
          var D=this._ctx;
          var B=D.canvas.width/2;
          var z=D.canvas.height/2;
          D.save();
          if(v&&!f.jqplot.use_excanvas){
              m=m*1.04;
              var o=f.jqplot.getColorComponents(s);
              var u="rgba("+Math.round(o[0]+0.8*(255-o[0]))+", "+Math.round(o[1]+0.8*(255-o[1]))+", "+Math.round(o[2]+0.8*(255-o[2]))+", "+o[3]+")";
              var t="rgba("+o[0]+", "+o[1]+", "+o[2]+", 0)";
              var C=0.35*m;
              var A=B-Math.cos(p)*0.33*m;
              var n=z-Math.sin(p)*0.33*m;
              var w=D.createRadialGradient(A,n,C,B,z,m);
              w.addColorStop(0,u);
              w.addColorStop(0.93,s);
              w.addColorStop(0.96,t);
              w.addColorStop(1,t);
              D.fillStyle=w;
              D.fillRect(0,0,D.canvas.width,D.canvas.height)
          }else{
              D.fillStyle=s;
              D.strokeStyle=s;
              D.lineWidth=1;
              D.beginPath();
              var q=2*Math.PI;
              D.arc(B,z,m,0,q,0);
              D.closePath();
              D.fill()
          }
          D.restore()
      };
      
      f.jqplot.BubbleCanvas.prototype.setContext=function(){
          this._ctx=this._elem.get(0).getContext("2d");
          return this._ctx
      };
      
      f.jqplot.BubbleAxisRenderer=function(){
          f.jqplot.LinearAxisRenderer.call(this)
      };
      
      f.jqplot.BubbleAxisRenderer.prototype=new f.jqplot.LinearAxisRenderer();
      f.jqplot.BubbleAxisRenderer.prototype.constructor=f.jqplot.BubbleAxisRenderer;
      f.jqplot.BubbleAxisRenderer.prototype.init=function(n){
          f.extend(true,this,n);
          var I=this._dataBounds;
          var H=0,v=0,m=0,y=0,q=0,r=0,D=0,t=0,F=0,z=0;
          for(var E=0;E<this._series.length;E++){
              var x=this._series[E];
              var G=x._plotData;
              for(var B=0;B<G.length;B++){
                  if(this.name=="xaxis"||this.name=="x2axis"){
                      if(G[B][0]<I.min||I.min==null){
                          I.min=G[B][0];
                          H=E;
                          v=B;
                          r=G[B][2];
                          D=x.maxRadius;
                          z=x.autoscaleMultiplier
                      }
                      if(G[B][0]>I.max||I.max==null){
                          I.max=G[B][0];
                          m=E;
                          y=B;
                          q=G[B][2];
                          t=x.maxRadius;
                          F=x.autoscaleMultiplier
                      }
                  }else{
                      if(G[B][1]<I.min||I.min==null){
                          I.min=G[B][1];
                          H=E;
                          v=B;
                          r=G[B][2];
                          D=x.maxRadius;
                          z=x.autoscaleMultiplier
                      }
                      if(G[B][1]>I.max||I.max==null){
                          I.max=G[B][1];
                          m=E;
                          y=B;
                          q=G[B][2];
                          t=x.maxRadius;
                          F=x.autoscaleMultiplier
                      }
                  }
              }
          }
          var o=r/D;
          var w=q/t;
          var C=I.max-I.min;
          var A=Math.min(this._plotDimensions.width,this._plotDimensions.height);
          var p=o*z/3*C;
          var u=w*F/3*C;
          I.max+=u;
          I.min-=p
      };
  
      function e(p,v,q){
          p.plugins.bubbleRenderer.highlightLabelCanvas.empty();
          var z=p.series[v];
          var n=p.plugins.bubbleRenderer.highlightCanvas;
          var w=n._ctx;
          w.clearRect(0,0,w.canvas.width,w.canvas.height);
          z._highlightedPoint=q;
          p.plugins.bubbleRenderer.highlightedSeriesIndex=v;
          var o=z.highlightColorGenerator.get(q);
          var u=z.gridData[q][0],t=z.gridData[q][1],m=z.gridData[q][2];
          w.save();
          w.fillStyle=o;
          w.strokeStyle=o;
          w.lineWidth=1;
          w.beginPath();
          w.arc(u,t,m,0,2*Math.PI,0);
          w.closePath();
          w.fill();
          w.restore();
          if(z.labels[q]){
              p.plugins.bubbleRenderer.highlightLabel=z.labels[q].clone();
              p.plugins.bubbleRenderer.highlightLabel.appendTo(p.plugins.bubbleRenderer.highlightLabelCanvas);
              p.plugins.bubbleRenderer.highlightLabel.addClass("jqplot-bubble-label-highlight")
          }
      }
      function i(p){
          var m=p.plugins.bubbleRenderer.highlightCanvas;
          var o=p.plugins.bubbleRenderer.highlightedSeriesIndex;
          p.plugins.bubbleRenderer.highlightLabelCanvas.empty();
          m._ctx.clearRect(0,0,m._ctx.canvas.width,m._ctx.canvas.height);
          for(var n=0;n<p.series.length;n++){
              p.series[n]._highlightedPoint=null
          }
          p.plugins.bubbleRenderer.highlightedSeriesIndex=null;
          p.target.trigger("jqplotDataUnhighlight")
      }
      function a(s,p,m,v,r){
          if(v){
              var n=v.seriesIndex;
              var o=v.pointIndex;
              var q=[n,o,v.data,r.series[n].gridData[o][2]];
              var t=jQuery.Event("jqplotDataMouseOver");
              t.pageX=s.pageX;
              t.pageY=s.pageY;
              r.target.trigger(t,q);
              if(r.series[q[0]].highlightMouseOver&&!(q[0]==r.plugins.bubbleRenderer.highlightedSeriesIndex&&q[1]==r.series[q[0]]._highlightedPoint)){
                  var u=jQuery.Event("jqplotDataHighlight");
                  u.which=s.which;
                  u.pageX=s.pageX;
                  u.pageY=s.pageY;
                  r.target.trigger(u,q);
                  e(r,q[0],q[1])
              }
          }else{
              if(v==null){
                  i(r)
              }
          }
      }
      function b(s,p,m,u,r){
          if(u){
              var n=u.seriesIndex;
              var o=u.pointIndex;
              var q=[n,o,u.data,r.series[n].gridData[o][2]];
              if(r.series[q[0]].highlightMouseDown&&!(q[0]==r.plugins.bubbleRenderer.highlightedSeriesIndex&&q[1]==r.series[q[0]]._highlightedPoint)){
                  var t=jQuery.Event("jqplotDataHighlight");
                  t.which=s.which;
                  t.pageX=s.pageX;
                  t.pageY=s.pageY;
                  r.target.trigger(t,q);
                  e(r,q[0],q[1])
              }
          }else{
              if(u==null){
                  i(r)
              }
          }
      }
      function k(o,n,r,q,p){
          var m=p.plugins.bubbleRenderer.highlightedSeriesIndex;
          if(m!=null&&p.series[m].highlightMouseDown){
              i(p)
          }
      }
      function g(s,p,m,u,r){
          if(u){
              var n=u.seriesIndex;
              var o=u.pointIndex;
              var q=[n,o,u.data,r.series[n].gridData[o][2]];
              var t=jQuery.Event("jqplotDataClick");
              t.which=s.which;
              t.pageX=s.pageX;
              t.pageY=s.pageY;
              r.target.trigger(t,q)
          }
      }
      function l(s,p,m,v,r){
          if(v){
              var n=v.seriesIndex;
              var o=v.pointIndex;
              var q=[n,o,v.data,r.series[n].gridData[o][2]];
              var t=r.plugins.bubbleRenderer.highlightedSeriesIndex;
              if(t!=null&&r.series[t].highlightMouseDown){
                  i(r)
              }
              var u=jQuery.Event("jqplotDataRightClick");
              u.which=s.which;
              u.pageX=s.pageX;
              u.pageY=s.pageY;
              r.target.trigger(u,q)
          }
      }
      function h(){
          if(this.plugins.bubbleRenderer&&this.plugins.bubbleRenderer.highlightCanvas){
              this.plugins.bubbleRenderer.highlightCanvas.resetCanvas();
              this.plugins.bubbleRenderer.highlightCanvas=null
          }
          this.plugins.bubbleRenderer={
              highlightedSeriesIndex:null
          };
      
          this.plugins.bubbleRenderer.highlightCanvas=new f.jqplot.GenericCanvas();
          this.plugins.bubbleRenderer.highlightLabel=null;
          this.plugins.bubbleRenderer.highlightLabelCanvas=f('<div style="position:absolute;"></div>');
          var q=this._gridPadding.top;
          var p=this._gridPadding.left;
          var n=this._plotDimensions.width-this._gridPadding.left-this._gridPadding.right;
          var m=this._plotDimensions.height-this._gridPadding.top-this._gridPadding.bottom;
          this.plugins.bubbleRenderer.highlightLabelCanvas.css({
              top:q,
              left:p,
              width:n+"px",
              height:m+"px"
          });
          this.eventCanvas._elem.before(this.plugins.bubbleRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-bubbleRenderer-highlight-canvas",this._plotDimensions,this));
          this.eventCanvas._elem.before(this.plugins.bubbleRenderer.highlightLabelCanvas);
          var o=this.plugins.bubbleRenderer.highlightCanvas.setContext()
      }
      function c(q,p,n){
          n=n||{};
      
          n.axesDefaults=n.axesDefaults||{};
      
          n.seriesDefaults=n.seriesDefaults||{};
      
          var m=false;
          if(n.seriesDefaults.renderer==f.jqplot.BubbleRenderer){
              m=true
          }else{
              if(n.series){
                  for(var o=0;o<n.series.length;o++){
                      if(n.series[o].renderer==f.jqplot.BubbleRenderer){
                          m=true
                      }
                  }
              }
          }
          if(m){
              n.axesDefaults.renderer=f.jqplot.BubbleAxisRenderer;
              n.sortData=false
          }
      }
      f.jqplot.preInitHooks.push(c)
  })(jQuery);