if(!window.PlotJax){PlotJax={}}if(!window.PlotJax.ProgressBar){PlotJax.ProgressBar=function(a,b,c,d,e,f,g,k){this.progdivid=a;this.progdiv=document.getElementById(a);this.shape=c;this.color=d;this.innercolor=e;this.dotsize=(k!=null)?k:PlotJax.ProgressBar.SIZE;this.dotradius=this.dotsize>>1;this.valid_shapes={"square":true,"circle":true};this.isIE=(window.G_vmlCanvasManager!=null);if(!this.valid_shapes[c]){alert("Invalid progress bar shape "+c);return null}var w=this.progdiv.offsetWidth;var h=this.progdiv.offsetHeight;if(g==null){g=(f=="circle")?20:50}if(w<g){alert("ProgressBar div too narrow.");return null}this.items=[];var i;if(f=="circle"){if(h<g){alert("ProgressBar div too short.");return null}this.center=[w>>1,h>>1];for(i=0;i<360;i+=30){var l=(Math.PI/180)*i;this.items.push(Math.round(g+((g-this.dotradius-1)*Math.cos(l))),Math.round(g+((g-this.dotradius-1)*Math.sin(l))))}w=g*2;h=g*2}else{if(h<this.dotsize){alert("ProgressBar div too short.");return null}this.center=[(w>>1),h>>1];var j=g-this.dotsize-1;for(i=-(j>>1);i<(j>>1);i+=this.dotsize+4){this.items.push((g>>1)+i,this.dotradius+2)}if(f=="cyclebar"){for(i=this.items.length-4;i>0;i-=2){this.items.push(this.items[i],this.items[i+1])}}w=g+4;h=this.dotsize+10}this.progdiv.style.background=b;this.progdiv.style.zIndex=-1;var m=document.createElement("canvas");this.progdiv.appendChild(m);if(this.isIE){m=G_vmlCanvasManager.initElement(m)}m.setAttribute("width",w);m.setAttribute("height",h);m.setAttribute("id",this.progdivid+"_canvas");m.style.position="absolute";m.style.left=(f=="circle")?this.center[0]-g:(this.center[0]-(g>>1));m.style.top=(f=="circle")?this.center[1]-g:this.center[1]-5;m.style.zIndex=5;this.canvas=document.getElementById(this.progdivid+"_canvas");this.ctx=m.getContext('2d');this.curpos=0;this.progdiv.progbar=this};PlotJax.ProgressBar.SIZE=8;PlotJax.ProgressBar.RADIUS=4;PlotJax.ProgressBar.prototype.start=function(x,y,a){this.progdiv.style.left=x;this.progdiv.style.top=y;this.interval=a;this.ctx.clearRect(0,0,this.canvas.offsetWidth,this.canvas.offsetHeight);for(var i=0;i<this.items.length;i+=2){this.draw(this.items[i],this.items[i+1],(i!=this.curpos))}this.curpos+=2;if(this.curpos>=this.items.length){this.curpos=0}this.progdiv.style.zIndex=2;this.progdiv.style.visibility="visible";this.timer=setTimeout("document.getElementById('"+this.progdivid+"').progbar.advance()",a)};PlotJax.ProgressBar.prototype.advance=function(){this.ctx.clearRect(0,0,this.canvas.offsetWidth,this.canvas.offsetHeight);for(var i=0;i<this.items.length;i+=2){this.draw(this.items[i],this.items[i+1],(i!=this.curpos))}this.curpos+=2;if(this.curpos>=this.items.length){this.curpos=0}this.timer=setTimeout("document.getElementById('"+this.progdivid+"').progbar.advance()",this.interval)};PlotJax.ProgressBar.prototype.stop=function(){clearTimeout(this.timer);this.curpos=0;this.progdiv.style.zIndex=-1;this.progdiv.style.visibility="hidden"};PlotJax.ProgressBar.prototype.clear=function(){this.progdiv=null;this.ctx=null;this.canvas=null};PlotJax.ProgressBar.prototype.draw=function(x,y,a){if(!a){this.ctx.fillStyle=this.innercolor;switch(this.shape){case"square":this.ctx.fillRect(x-this.dotradius,y-this.dotradius,this.dotsize,this.dotsize);break;case"circle":this.ctx.beginPath();this.ctx.arc(x,y,this.dotradius+1,0,2*Math.PI,true);this.ctx.closePath();this.ctx.fill();break}}this.ctx.lineWidth=2;this.ctx.strokeStyle=this.color;switch(this.shape){case"square":this.ctx.strokeRect(x-this.dotradius,y-this.dotradius,this.dotsize,this.dotsize);break;case"circle":this.ctx.beginPath();this.ctx.arc(x,y,this.dotradius,0,2*Math.PI,true);this.ctx.closePath();this.ctx.stroke();break}}}