Fx.ProgressBar=new Class({Extends:Fx,options:{text:null,url:null,transition:Fx.Transitions.Circ.easeOut,fit:true,link:"cancel"},initialize:function(C,B){this.element=$(C);this.parent(B);var A=this.options.url;if(A){this.element.setStyles({"background-image":"url("+A+")","background-repeat":"no-repeat"})}if(this.options.fit){A=A||this.element.getStyle("background-image").replace(/^url\(["']?|["']?\)$/g,"");if(A){var D=new Image();D.onload=function(){this.fill=D.width;D=D.onload=null;this.set(this.now||0)}.bind(this);D.src=A;if(!this.fill&&D.width){D.onload()}}}else{this.set(0)}},start:function(B,A){return this.parent(this.now,(arguments.length==1)?B.limit(0,100):B/A*100)},set:function(C){this.now=C;var A=(this.fill)?(((this.fill/-2)+(C/100)*(this.element.width||1)||0).round()+"px"):((100-C)+"%");this.element.setStyle("backgroundPosition",A+" 0px").title=Math.round(C)+"%";var B=$(this.options.text);if(B){B.set("text",Math.round(C)+"%")}return this}});


