var FancyUpload2=new Class({Extends:Swiff.Uploader,options:{queued:1,limitSize:0,limitFiles:0,validateFile:$lambda(true)},initialize:function(a,c,b){this.status=$(a);this.list=$(c);b.fileClass=b.fileClass||FancyUpload2.File;b.fileSizeMax=b.limitSize||b.fileSizeMax;b.fileListMax=b.limitFiles||b.fileListMax;b.url=b.url+"&format=json";this.parent(b);this.addEvents({load:this.render,select:this.onSelect,cancel:this.onCancel,start:this.onStart,queue:this.onQueue,complete:this.onComplete})},render:function(){this.overallTitle=this.status.getElement(".overall-title");this.currentTitle=this.status.getElement(".current-title");this.currentText=this.status.getElement(".current-text");var a=this.status.getElement(".overall-progress");this.overallProgress=new Fx.ProgressBar(a,{text:new Element("span",{"class":"progress-text"}).inject(a,"after")});a=this.status.getElement(".current-progress");this.currentProgress=new Fx.ProgressBar(a,{text:new Element("span",{"class":"progress-text"}).inject(a,"after")});this.updateOverall()},onSelect:function(){this.status.removeClass("status-browsing")},onCancel:function(){this.status.removeClass("file-browsing")},onStart:function(){this.status.addClass("file-uploading");this.overallProgress.set(0)},onQueue:function(){this.updateOverall()},onComplete:function(){this.status.removeClass("file-uploading");if(this.size){this.overallProgress.start(100)}else{this.overallProgress.set(0);this.currentProgress.set(0)}},updateOverall:function(){this.overallTitle.set("html",Joomla.JText._("JLIB_HTML_BEHAVIOR_UPLOADER_PROGRESS_OVERALL","Overall Progress").substitute({total:Swiff.Uploader.formatUnit(this.size,"b")}));if(!this.size){this.currentTitle.set("html",Joomla.JText._("JLIB_HTML_BEHAVIOR_UPLOADER_CURRENT_TITLE","Current Title"));this.currentText.set("html","")}},upload:function(){this.start()},removeFile:function(){return this.remove()}});FancyUpload2.File=new Class({Extends:Swiff.Uploader.File,render:function(){if(this.invalid){if(this.validationError){var a=Joomla.JText._("JLIB_HTML_BEHAVIOR_UPLOADER_VALIDATION_ERROR_"+this.validationError,this.validationError);this.validationErrorMessage=a.substitute({name:this.name,size:Swiff.Uploader.formatUnit(this.size,"b"),fileSizeMin:Swiff.Uploader.formatUnit(this.base.options.fileSizeMin||0,"b"),fileSizeMax:Swiff.Uploader.formatUnit(this.base.options.fileSizeMax||0,"b"),fileListMax:this.base.options.fileListMax||0,fileListSizeMax:Swiff.Uploader.formatUnit(this.base.options.fileListSizeMax||0,"b")})}this.remove();return}this.addEvents({start:this.onStart,progress:this.onProgress,complete:this.onComplete,error:this.onError,remove:this.onRemove});this.info=new Element("span",{"class":"file-info"});this.element=new Element("li",{"class":"file"}).adopt(new Element("span",{"class":"file-size",html:Swiff.Uploader.formatUnit(this.size,"b")}),new Element("a",{"class":"file-remove",href:"#",html:Joomla.JText._("JLIB_HTML_BEHAVIOR_UPLOADER_REMOVE","Remove"),title:Joomla.JText._("JLIB_HTML_BEHAVIOR_UPLOADER_REMOVE_TITLE","Remove Title"),events:{click:function(){this.remove();return false}.bind(this)}}),new Element("span",{"class":"file-name",html:Joomla.JText._("JLIB_HTML_BEHAVIOR_UPLOADER_FILENAME","Filename").substitute(this)}),this.info).inject(this.base.list)},validate:function(){return(this.parent()&&this.base.options.validateFile(this))},onStart:function(){this.element.addClass("file-uploading");this.base.currentProgress.cancel().set(0);this.base.currentTitle.set("html",Joomla.JText._("JLIB_HTML_BEHAVIOR_UPLOADER_CURRENT_FILE","Current File").substitute(this))},onProgress:function(){this.base.overallProgress.start(this.base.percentLoaded);this.base.currentText.set("html",Joomla.JText._("JLIB_HTML_BEHAVIOR_UPLOADER_CURRENT_PROGRESS","Current Progress").substitute({rate:(this.progress.rate)?Swiff.Uploader.formatUnit(this.progress.rate,"bps"):"- B",bytesLoaded:Swiff.Uploader.formatUnit(this.progress.bytesLoaded,"b"),timeRemaining:(this.progress.timeRemaining)?Swiff.Uploader.formatUnit(this.progress.timeRemaining,"s"):"-"}));this.base.currentProgress.start(this.progress.percentLoaded)},onComplete:function(){this.element.removeClass("file-uploading");this.base.currentText.set("html",Joomla.JText._("JLIB_HTML_BEHAVIOR_UPLOADER_UPLOAD_COMPLETED","Upload Completed"));this.base.currentProgress.start(100);if(this.response.error){var b=this.response.error;this.errorMessage=b;var a=[this,this.errorMessage,this.response];this.fireEvent("error",a).base.fireEvent("fileError",a)}else{this.base.fireEvent("fileSuccess",[this,this.response.text||""])}},onError:function(){this.element.addClass("file-failed");var a=Joomla.JText._("JLIB_HTML_BEHAVIOR_UPLOADER_FILE_ERROR","File Error").substitute(this);this.info.set("html","<strong>"+a+":</strong> "+this.errorMessage)},onRemove:function(){this.element.getElements("a").setStyle("visibility","hidden");this.element.fade("out").retrieve("tween").chain(Element.destroy.bind(Element,this.element))}});