Swiff.Uploader=new Class({options:{types:false,multiple:true,queued:true,swf:null,url:null,container:null,width:1,height:1,wmode:null},callBacks:{onOpen:Class.empty,onProgress:Class.empty,onSelect:Class.empty,onComplete:Class.empty,onError:Class.empty,onCancel:Class.empty},initialize:function(A,D,B){if(Swiff.getVersion()<8){return false}this.setOptions(B);this.onLoaded=D;var C=$extend($merge(this.callBacks),A||{});for(p in C){C[p]=C[p].bind(this)}this.instance=Swiff.nextInstance();Swiff.callBacks[this.instance]=C;this.object=Swiff.Uploader.register(this.loaded.bind(this),this.options.swf,this.options.container,{width:this.options.width,height:this.options.height,wmode:this.options.wmode});return this},loaded:function(){Swiff.remote(this.object,"create",this.instance,this.options.types,this.options.multiple,this.options.queued,this.options.url);this.onLoaded.delay(10)},browse:function(){Swiff.remote(this.object,"browse",this.instance)},send:function(A){Swiff.remote(this.object,"upload",this.instance,A)},remove:function(A,B){Swiff.remote(this.object,"remove",this.instance,A,B)},fileIndex:function(A,B){return Swiff.remote(this.object,"fileIndex",this.instance,A,B)},fileList:function(){return Swiff.remote(this.object,"filelist",this.instance)}});Swiff.Uploader.implement(new Options);Swiff.Uploader.extend=$extend;Swiff.Uploader.extend({swf:"Swiff.Uploader.swf",callBacks:[],register:function(D,B,A,C){if(!Swiff.Uploader.object||!Swiff.Uploader.loaded){Swiff.Uploader.callBacks.push(D);if(!Swiff.Uploader.object){Swiff.Uploader.object=new Swiff(B||Swiff.Uploader.swf,{wmode:C.wmode,width:C.width,height:C.height,callBacks:{onLoad:Swiff.Uploader.onLoad,}});(A||document.body).appendChild(Swiff.Uploader.object)}}else{D.delay(10)}return Swiff.Uploader.object},onLoad:function(){Swiff.Uploader.loaded=true;Swiff.Uploader.callBacks.each(function(A){A.delay(10)});Swiff.Uploader.callBacks.length=0}});
