webuploader.withoutimage.min.js 40 KB

12
  1. /*! WebUploader 0.1.2 */
  2. (function(f,d){var b={},a=function(n,o){var l,k,m;if(typeof n==="string"){return e(n)}else{l=[];for(k=n.length,m=0;m<k;m++){l.push(e(n[m]))}return o.apply(null,l)}},j=function(m,l,k){if(arguments.length===2){k=l;l=null}a(l||[],function(){i(m,k,arguments)})},i=function(o,k,l){var m={exports:k},n;if(typeof k==="function"){l.length||(l=[a,m.exports,m]);n=k.apply(null,l);n!==undefined&&(m.exports=n)}b[o]=m.exports},e=function(l){var k=b[l]||f[l];if(!k){throw new Error("`"+l+"` is undefined")}return k},h=function(q){var l,o,p,k,n,m;m=function(r){return r&&(r.charAt(0).toUpperCase()+r.substr(1))};for(l in b){o=q;if(!b.hasOwnProperty(l)){continue}p=l.split("/");n=m(p.pop());while((k=m(p.shift()))){o[k]=o[k]||{};o=o[k]}o[n]=b[l]}},c=d(f,j,a),g;h(c);if(typeof module==="object"&&typeof module.exports==="object"){module.exports=c}else{if(typeof define==="function"&&define.amd){define([],c)}else{g=f.WebUploader;f.WebUploader=c;f.WebUploader.noConflict=function(){f.WebUploader=g}}}})(this,function(b,c,a){c("dollar-third",[],function(){return b.jQuery||b.Zepto});c("dollar",["dollar-third"],function(d){return d});c("promise-third",["dollar"],function(d){return{Deferred:d.Deferred,when:d.when,isPromise:function(e){return e&&typeof e.then==="function"}}});c("promise",["promise-third"],function(d){return d});c("base",["dollar","promise"],function(h,j){var g=function(){},f=Function.call;function e(k){return function(){return f.apply(k,arguments)}}function i(l,k){return function(){return l.apply(k,arguments)}}function d(k){var l;if(Object.create){return Object.create(k)}else{l=function(){};l.prototype=k;return new l()}}return{version:"0.1.2",$:h,Deferred:j.Deferred,isPromise:j.isPromise,when:j.when,browser:(function(o){var n={},m=o.match(/WebKit\/([\d.]+)/),k=o.match(/Chrome\/([\d.]+)/)||o.match(/CriOS\/([\d.]+)/),r=o.match(/MSIE\s([\d\.]+)/)||o.match(/(?:trident)(?:.*rv:([\w.]+))?/i),p=o.match(/Firefox\/([\d.]+)/),q=o.match(/Safari\/([\d.]+)/),l=o.match(/OPR\/([\d.]+)/);m&&(n.webkit=parseFloat(m[1]));k&&(n.chrome=parseFloat(k[1]));r&&(n.ie=parseFloat(r[1]));p&&(n.firefox=parseFloat(p[1]));q&&(n.safari=parseFloat(q[1]));l&&(n.opera=parseFloat(l[1]));return n})(navigator.userAgent),os:(function(m){var l={},k=m.match(/(?:Android);?[\s\/]+([\d.]+)?/),n=m.match(/(?:iPad|iPod|iPhone).*OS\s([\d_]+)/);k&&(l.android=parseFloat(k[1]));n&&(l.ios=parseFloat(n[1].replace(/_/g,".")));return l})(navigator.userAgent),inherits:function(m,l,k){var n;if(typeof l==="function"){n=l;l=null}else{if(l&&l.hasOwnProperty("constructor")){n=l.constructor}else{n=function(){return m.apply(this,arguments)}}}h.extend(true,n,m,k||{});n.__super__=m.prototype;n.prototype=d(m.prototype);l&&h.extend(true,n.prototype,l);return n},noop:g,bindFn:i,log:(function(){if(b.console){return i(console.log,console)}return g})(),nextTick:(function(){return function(k){setTimeout(k,1)}})(),slice:e([].slice),guid:(function(){var k=0;return function(n){var l=(+new Date()).toString(32),m=0;for(;m<5;m++){l+=Math.floor(Math.random()*65535).toString(32)}return(n||"wu_")+l+(k++).toString(32)}})(),formatSize:function(m,k,l){var n;l=l||["B","K","M","G","TB"];while((n=l.shift())&&m>1024){m=m/1024}return(n==="B"?m:m.toFixed(k||2))+n}}});c("mediator",["base"],function(f){var g=f.$,k=[].slice,j=/\s+/,e;function d(l,m,o,n){return g.grep(l,function(p){return p&&(!m||p.e===m)&&(!o||p.cb===o||p.cb._cb===o)&&(!n||p.ctx===n)})}function i(l,n,m){g.each((l||"").split(j),function(o,p){m(p,n)})}function h(p,n){var m=false,o=-1,l=p.length,q;while(++o<l){q=p[o];if(q.cb.apply(q.ctx2,n)===false){m=true;break}}return !m}e={on:function(l,p,m){var n=this,o;if(!p){return this}o=this._events||(this._events=[]);i(l,p,function(q,s){var r={e:q};r.cb=s;r.ctx=m;r.ctx2=m||n;r.id=o.length;o.push(r)});return this},once:function(l,o,m){var n=this;if(!o){return n}i(l,o,function(p,r){var q=function(){n.off(p,q);return r.apply(m||n,arguments)};q._cb=r;n.on(p,q,m)});return n},off:function(n,l,m){var o=this._events;if(!o){return this}if(!n&&!l&&!m){this._events=[];return this}i(n,l,function(q,p){g.each(d(o,q,p,m),function(){delete o[this.id]})});return this},trigger:function(o){var m,n,l;if(!this._events||!o){return this}m=k.call(arguments,1);n=d(this._events,o);l=d(this._events,"all");return h(n,m)&&h(l,arguments)}};return g.extend({installTo:function(l){return g.extend(l,e)}},e)});c("uploader",["base","mediator"],function(d,f){var e=d.$;function g(h){this.options=e.extend(true,{},g.options,h);this._init(this.options)}g.options={};f.installTo(g.prototype);e.each({upload:"start-upload",stop:"stop-upload",getFile:"get-file",getFiles:"get-files",addFile:"add-file",addFiles:"add-file",sort:"sort-files",removeFile:"remove-file",skipFile:"skip-file",retry:"retry",isInProgress:"is-in-progress",makeThumb:"make-thumb",getDimension:"get-dimension",addButton:"add-btn",getRuntimeType:"get-runtime-type",refresh:"refresh",disable:"disable",enable:"enable",reset:"reset"},function(h,i){g.prototype[h]=function(){return this.request(i,arguments)}});e.extend(g.prototype,{state:"pending",_init:function(i){var h=this;h.request("init",i,function(){h.state="ready";h.trigger("ready")})},option:function(h,j){var i=this.options;if(arguments.length>1){if(e.isPlainObject(j)&&e.isPlainObject(i[h])){e.extend(i[h],j)}else{i[h]=j}}else{return h?i[h]:i}},getStats:function(){var h=this.request("get-stats");return{successNum:h.numOfSuccess,cancelNum:h.numOfCancel,invalidNum:h.numOfInvalid,uploadFailNum:h.numOfUploadFailed,queueNum:h.numOfQueue}},trigger:function(j){var i=[].slice.call(arguments,1),k=this.options,h="on"+j.substring(0,1).toUpperCase()+j.substring(1);if(f.trigger.apply(this,arguments)===false||e.isFunction(k[h])&&k[h].apply(this,i)===false||e.isFunction(this[h])&&this[h].apply(this,i)===false||f.trigger.apply(f,[this,j].concat(i))===false){return false}return true},request:d.noop});d.create=g.create=function(h){return new g(h)};d.Uploader=g;return g});c("runtime/runtime",["base","mediator"],function(e,h){var g=e.$,f={},i=function(k){for(var j in k){if(k.hasOwnProperty(j)){return j}}return null};function d(j){this.options=g.extend({container:document.body},j);this.uid=e.guid("rt_")}g.extend(d.prototype,{getContainer:function(){var l=this.options,k,j;if(this._container){return this._container}k=g(l.container||document.body);j=g(document.createElement("div"));j.attr("id","rt_"+this.uid);j.css({position:"absolute",top:"0px",left:"0px",width:"1px",height:"1px",overflow:"hidden"});k.append(j);k.addClass("webuploader-container");this._container=j;return j},init:e.noop,exec:e.noop,destroy:function(){if(this._container){this._container.parentNode.removeChild(this.__container)}this.off()}});d.orders="html5,flash";d.addRuntime=function(k,j){f[k]=j};d.hasRuntime=function(j){return !!(j?f[j]:i(f))};d.create=function(m,k){var j,l;k=k||d.orders;g.each(k.split(/\s*,\s*/g),function(){if(f[this]){j=this;return false}});j=j||i(f);if(!j){throw new Error("Runtime Error")}l=new f[j](m);return l};h.installTo(d.prototype);return d});c("runtime/client",["base","mediator","runtime/runtime"],function(g,h,f){var d;d=(function(){var i={};return{add:function(j){i[j.uid]=j},get:function(k,j){var l;if(k){return i[k]}for(l in i){if(j&&i[l].__standalone){continue}return i[l]}return null},remove:function(j){delete i[j.uid]}}})();function e(k,j){var i=g.Deferred(),l;this.uid=g.guid("client_");this.runtimeReady=function(m){return i.done(m)};this.connectRuntime=function(n,m){if(l){throw new Error("already connected!")}i.done(m);if(typeof n==="string"&&d.get(n)){l=d.get(n)}l=l||d.get(null,j);if(!l){l=f.create(n,n.runtimeOrder);l.__promise=i.promise();l.once("ready",i.resolve);l.init();d.add(l);l.__client=1}else{g.$.extend(l.options,n);l.__promise.then(i.resolve);l.__client++}j&&(l.__standalone=j);return l};this.getRuntime=function(){return l};this.disconnectRuntime=function(){if(!l){return}l.__client--;if(l.__client<=0){d.remove(l);delete l.__promise;l.destroy()}l=null};this.exec=function(){if(!l){return}var m=g.slice(arguments);k&&m.unshift(k);return l.exec.apply(this,m)};this.getRuid=function(){return l&&l.uid};this.destroy=(function(m){return function(){m&&m.apply(this,arguments);this.trigger("destroy");this.off();this.exec("destroy");this.disconnectRuntime()}})(this.destroy)}h.installTo(e.prototype);return e});c("lib/dnd",["base","mediator","runtime/client"],function(e,h,d){var f=e.$;function g(i){i=this.options=f.extend({},g.options,i);i.container=f(i.container);if(!i.container.length){return}d.call(this,"DragAndDrop")}g.options={accept:null,disableGlobalDnd:false};e.inherits(d,{constructor:g,init:function(){var i=this;i.connectRuntime(i.options,function(){i.exec("init");i.trigger("ready")})},destroy:function(){this.disconnectRuntime()}});h.installTo(g.prototype);return g});c("widgets/widget",["base","uploader"],function(e,k){var h=e.$,g=k.prototype._init,j={},i=[];function d(n){if(!n){return false}var m=n.length,l=h.type(n);if(n.nodeType===1&&m){return true}return l==="array"||l!=="function"&&l!=="string"&&(m===0||typeof m==="number"&&m>0&&(m-1) in n)}function f(l){this.owner=l;this.options=l.options}h.extend(f.prototype,{init:e.noop,invoke:function(l,m){var n=this.responseMap;if(!n||!(l in n)||!(n[l] in this)||!h.isFunction(this[n[l]])){return j}return this[n[l]].apply(this,m)},request:function(){return this.owner.request.apply(this.owner,arguments)}});h.extend(k.prototype,{_init:function(){var m=this,l=m._widgets=[];h.each(i,function(o,n){l.push(new n(m))});return g.apply(m,arguments)},request:function(m,s,v){var p=0,t=this._widgets,r=t.length,o=[],n=[],q,l,w,u;s=d(s)?s:[s];for(;p<r;p++){q=t[p];l=q.invoke(m,s);if(l!==j){if(e.isPromise(l)){n.push(l)}else{o.push(l)}}}if(v||n.length){w=e.when.apply(e,n);u=w.pipe?"pipe":"then";return w[u](function(){var x=e.Deferred(),y=arguments;setTimeout(function(){x.resolve.apply(x,y)},1);return x.promise()})[u](v||e.noop)}else{return o[0]}}});k.register=f.register=function(m,o){var n={init:"init"},l;if(arguments.length===1){o=m;o.responseMap=n}else{o.responseMap=h.extend(n,m)}l=e.inherits(f,o);i.push(l);return l};return f});c("widgets/filednd",["base","uploader","lib/dnd","widgets/widget"],function(e,g,d){var f=e.$;g.options.dnd="";return g.register({init:function(l){if(!l.dnd||this.request("predict-runtime-type")!=="html5"){return}var k=this,h=e.Deferred(),i=f.extend({},{disableGlobalDnd:l.disableGlobalDnd,container:l.dnd,accept:l.accept}),j;j=new d(i);j.once("ready",h.resolve);j.on("drop",function(m){k.request("add-file",[m])});j.on("accept",function(m){return k.owner.trigger("dndAccept",m)});j.init();return h.promise()}})});c("lib/filepaste",["base","mediator","runtime/client"],function(f,h,e){var g=f.$;function d(i){i=this.options=g.extend({},i);i.container=g(i.container||document.body);e.call(this,"FilePaste")}f.inherits(e,{constructor:d,init:function(){var i=this;i.connectRuntime(i.options,function(){i.exec("init");i.trigger("ready")})},destroy:function(){this.exec("destroy");this.disconnectRuntime();this.off()}});h.installTo(d.prototype);return d});c("widgets/filepaste",["base","uploader","lib/filepaste","widgets/widget"],function(e,g,d){var f=e.$;return g.register({init:function(k){if(!k.paste||this.request("predict-runtime-type")!=="html5"){return}var j=this,h=e.Deferred(),i=f.extend({},{container:k.paste,accept:k.accept}),l;l=new d(i);l.once("ready",h.resolve);l.on("paste",function(m){j.owner.request("add-file",[m])});l.init();return h.promise()}})});c("lib/blob",["base","runtime/client"],function(e,d){function f(g,i){var h=this;h.source=i;h.ruid=g;d.call(h,"Blob");this.uid=i.uid||this.uid;this.type=i.type||"";this.size=i.size||0;if(g){h.connectRuntime(g)}}e.inherits(d,{constructor:f,slice:function(h,g){return this.exec("slice",h,g)},getSource:function(){return this.source}});return f});c("lib/file",["base","lib/blob"],function(g,h){var f=1,d=/\.([^.]+)$/;function e(i,j){var k;h.apply(this,arguments);this.name=j.name||("untitled"+f++);k=d.exec(j.name)?RegExp.$1.toLowerCase():"";if(!k&&this.type){k=/\/(jpg|jpeg|png|gif|bmp)$/i.exec(this.type)?RegExp.$1.toLowerCase():"";this.name+="."+k}if(!this.type&&~"jpg,jpeg,png,gif,bmp".indexOf(k)){this.type="image/"+(k==="jpg"?"jpeg":k)}this.ext=k;this.lastModifiedDate=j.lastModifiedDate||(new Date()).toLocaleString()}return g.inherits(h,e)});c("lib/filepicker",["base","runtime/client","lib/file"],function(g,f,e){var h=g.$;function d(i){i=this.options=h.extend({},d.options,i);i.container=h(i.id);if(!i.container.length){throw new Error("按钮指定错误")}i.innerHTML=i.innerHTML||i.label||i.container.html()||"";i.button=h(i.button||document.createElement("div"));i.button.html(i.innerHTML);i.container.html(i.button);f.call(this,"FilePicker",true)}d.options={button:null,container:null,label:null,innerHTML:null,multiple:true,accept:null,name:"file"};g.inherits(f,{constructor:d,init:function(){var k=this,j=k.options,i=j.button;i.addClass("webuploader-pick");k.on("all",function(l){var m;switch(l){case"mouseenter":i.addClass("webuploader-pick-hover");break;case"mouseleave":i.removeClass("webuploader-pick-hover");break;case"change":m=k.exec("getFiles");k.trigger("select",h.map(m,function(n){n=new e(k.getRuid(),n);n._refer=j.container;return n}),j.container);break}});k.connectRuntime(j,function(){k.refresh();k.exec("init",j);k.trigger("ready")});h(b).on("resize",function(){k.refresh()})},refresh:function(){var j=this.getRuntime().getContainer(),k=this.options.button,l=k.outerWidth?k.outerWidth():k.width(),i=k.outerHeight?k.outerHeight():k.height(),m=k.offset();l&&i&&j.css({bottom:"auto",right:"auto",width:l+"px",height:i+"px"}).offset(m)},enable:function(){var i=this.options.button;i.removeClass("webuploader-pick-disable");this.refresh()},disable:function(){var i=this.options.button;this.getRuntime().getContainer().css({top:"-99999px"});i.addClass("webuploader-pick-disable")},destroy:function(){if(this.runtime){this.exec("destroy");this.disconnectRuntime()}}});return d});c("widgets/filepicker",["base","uploader","lib/filepicker","widgets/widget"],function(e,g,d){var f=e.$;f.extend(g.options,{pick:null,accept:null});return g.register({"add-btn":"addButton",refresh:"refresh",disable:"disable",enable:"enable"},{init:function(h){this.pickers=[];return h.pick&&this.addButton(h.pick)},refresh:function(){f.each(this.pickers,function(){this.refresh()})},addButton:function(l){var n=this,m=n.options,k=m.accept,j,i,h;if(!l){return}h=e.Deferred();f.isPlainObject(l)||(l={id:l});j=f.extend({},l,{accept:f.isPlainObject(k)?[k]:k,swf:m.swf,runtimeOrder:m.runtimeOrder});i=new d(j);i.once("ready",h.resolve);i.on("select",function(o){n.owner.request("add-file",[o])});i.init();this.pickers.push(i);return h.promise()},disable:function(){f.each(this.pickers,function(){this.disable()})},enable:function(){f.each(this.pickers,function(){this.enable()})}})});c("file",["base","mediator"],function(h,k){var f=h.$,d="WU_FILE_",g=0,i=/\.([^.]+)$/,e={};function j(){return d+g++}function l(m){this.name=m.name||"Untitled";this.size=m.size||0;this.type=m.type||"application";this.lastModifiedDate=m.lastModifiedDate||(new Date()*1);this.id=j();this.ext=i.exec(this.name)?RegExp.$1:"";this.statusText="";e[this.id]=l.Status.INITED;this.source=m;this.loaded=0;this.on("error",function(n){this.setStatus(l.Status.ERROR,n)})}f.extend(l.prototype,{setStatus:function(n,o){var m=e[this.id];typeof o!=="undefined"&&(this.statusText=o);if(n!==m){e[this.id]=n;this.trigger("statuschange",n,m)}},getStatus:function(){return e[this.id]},getSource:function(){return this.source},destory:function(){delete e[this.id]}});k.installTo(l.prototype);l.Status={INITED:"inited",QUEUED:"queued",PROGRESS:"progress",ERROR:"error",COMPLETE:"complete",CANCELLED:"cancelled",INTERRUPT:"interrupt",INVALID:"invalid"};return l});c("queue",["base","mediator","file"],function(e,i,h){var g=e.$,d=h.Status;function f(){this.stats={numOfQueue:0,numOfSuccess:0,numOfCancel:0,numOfProgress:0,numOfUploadFailed:0,numOfInvalid:0};this._queue=[];this._map={}}g.extend(f.prototype,{append:function(j){this._queue.push(j);this._fileAdded(j);return this},prepend:function(j){this._queue.unshift(j);this._fileAdded(j);return this},getFile:function(j){if(typeof j!=="string"){return j}return this._map[j]},fetch:function(k){var j=this._queue.length,m,l;k=k||d.QUEUED;for(m=0;m<j;m++){l=this._queue[m];if(k===l.getStatus()){return l}}return null},sort:function(j){if(typeof j==="function"){this._queue.sort(j)}},getFiles:function(){var n=[].slice.call(arguments,0),k=[],m=0,j=this._queue.length,l;for(;m<j;m++){l=this._queue[m];if(n.length&&!~g.inArray(l.getStatus(),n)){continue}k.push(l)}return k},_fileAdded:function(j){var l=this,k=this._map[j.id];if(!k){this._map[j.id]=j;j.on("statuschange",function(n,m){l._onFileStatusChange(n,m)})}j.setStatus(d.QUEUED)},_onFileStatusChange:function(j,k){var l=this.stats;switch(k){case d.PROGRESS:l.numOfProgress--;break;case d.QUEUED:l.numOfQueue--;break;case d.ERROR:l.numOfUploadFailed--;break;case d.INVALID:l.numOfInvalid--;break}switch(j){case d.QUEUED:l.numOfQueue++;break;case d.PROGRESS:l.numOfProgress++;break;case d.ERROR:l.numOfUploadFailed++;break;case d.COMPLETE:l.numOfSuccess++;break;case d.CANCELLED:l.numOfCancel++;break;case d.INVALID:l.numOfInvalid++;break}}});i.installTo(f.prototype);return f});c("widgets/queue",["base","uploader","queue","file","lib/file","runtime/client","widgets/widget"],function(g,d,e,l,i,k){var f=g.$,h=/\.\w+$/,j=l.Status;return d.register({"sort-files":"sortFiles","add-file":"addFiles","get-file":"getFile","fetch-file":"fetchFile","get-stats":"getStats","get-files":"getFiles","remove-file":"removeFile",retry:"retry",reset:"reset","accept-file":"acceptFile"},{init:function(m){var s=this,u,r,p,t,q,n,o;if(f.isPlainObject(m.accept)){m.accept=[m.accept]}if(m.accept){q=[];for(p=0,r=m.accept.length;p<r;p++){t=m.accept[p].extensions;t&&q.push(t)}if(q.length){n="\\."+q.join(",").replace(/,/g,"$|\\.").replace(/\*/g,".*")+"$"}s.accept=new RegExp(n,"i")}s.queue=new e();s.stats=s.queue.stats;if(this.request("predict-runtime-type")!=="html5"){return}u=g.Deferred();o=new k("Placeholder");o.connectRuntime({runtimeOrder:"html5"},function(){s._ruid=o.getRuid();u.resolve()});return u.promise()},_wrapFile:function(m){if(!(m instanceof l)){if(!(m instanceof i)){if(!this._ruid){throw new Error("Can't add external files.")}m=new i(this._ruid,m)}m=new l(m)}return m},acceptFile:function(m){var n=!m||m.size<6||this.accept&&h.exec(m.name)&&!this.accept.test(m.name);return !n},_addFile:function(m){var n=this;m=n._wrapFile(m);if(!n.owner.trigger("beforeFileQueued",m)){return}if(!n.acceptFile(m)){n.owner.trigger("error","Q_TYPE_DENIED",m);return}n.queue.append(m);n.owner.trigger("fileQueued",m);return m},getFile:function(m){return this.queue.getFile(m)},addFiles:function(n){var m=this;if(!n.length){n=[n]}n=f.map(n,function(o){return m._addFile(o)});m.owner.trigger("filesQueued",n);if(m.options.auto){m.request("start-upload")}},getStats:function(){return this.stats},removeFile:function(m){var n=this;m=m.id?m:n.queue.getFile(m);m.setStatus(j.CANCELLED);n.owner.trigger("fileDequeued",m)},getFiles:function(){return this.queue.getFiles.apply(this.queue,arguments)},fetchFile:function(){return this.queue.fetch.apply(this.queue,arguments)},retry:function(p,n){var r=this,q,o,m;if(p){p=p.id?p:r.queue.getFile(p);p.setStatus(j.QUEUED);n||r.request("start-upload");return}q=r.queue.getFiles(j.ERROR);o=0;m=q.length;for(;o<m;o++){p=q[o];p.setStatus(j.QUEUED)}r.request("start-upload")},sortFiles:function(){return this.queue.sort.apply(this.queue,arguments)},reset:function(){this.queue=new e();this.stats=this.queue.stats}})});c("widgets/runtime",["uploader","runtime/runtime","widgets/widget"],function(e,d){e.support=function(){return d.hasRuntime.apply(d,arguments)};return e.register({"predict-runtime-type":"predictRuntmeType"},{init:function(){if(!this.predictRuntmeType()){throw Error("Runtime Error")}},predictRuntmeType:function(){var j=this.options.runtimeOrder||d.orders,h=this.type,g,f;if(!h){j=j.split(/\s*,\s*/g);for(g=0,f=j.length;g<f;g++){if(d.hasRuntime(j[g])){this.type=h=j[g];break}}}return h}})});c("lib/transport",["base","runtime/client","mediator"],function(e,d,g){var f=e.$;function h(j){var i=this;j=i.options=f.extend(true,{},h.options,j||{});d.call(this,"Transport");this._blob=null;this._formData=j.formData||{};this._headers=j.headers||{};this.on("progress",this._timeout);this.on("load error",function(){i.trigger("progress",1);clearTimeout(i._timer)})}h.options={server:"",method:"POST",withCredentials:false,fileVal:"file",timeout:2*60*1000,formData:{},headers:{},sendAsBinary:false};f.extend(h.prototype,{appendBlob:function(k,j,i){var m=this,l=m.options;if(m.getRuid()){m.disconnectRuntime()}m.connectRuntime(j.ruid,function(){m.exec("init")});m._blob=j;l.fileVal=k||l.fileVal;l.filename=i||l.filename},append:function(i,j){if(typeof i==="object"){f.extend(this._formData,i)}else{this._formData[i]=j}},setRequestHeader:function(i,j){if(typeof i==="object"){f.extend(this._headers,i)}else{this._headers[i]=j}},send:function(i){this.exec("send",i);this._timeout()},abort:function(){clearTimeout(this._timer);return this.exec("abort")},destroy:function(){this.trigger("destroy");this.off();this.exec("destroy");this.disconnectRuntime()},getResponse:function(){return this.exec("getResponse")},getResponseAsJson:function(){return this.exec("getResponseAsJson")},getStatus:function(){return this.exec("getStatus")},_timeout:function(){var i=this,j=i.options.timeout;if(!j){return}clearTimeout(i._timer);i._timer=setTimeout(function(){i.abort();i.trigger("error","timeout")},j)}});g.installTo(h.prototype);return h});c("widgets/upload",["base","uploader","file","lib/transport","widgets/widget"],function(f,j,i,k){var h=f.$,e=f.isPromise,d=i.Status;h.extend(j.options,{prepareNextFile:false,chunked:false,chunkSize:5*1024*1024,chunkRetry:2,threads:3,formData:null});function g(o,p){var n=[],l=o.source,t=l.size,q=p?Math.ceil(t/p):1,m=0,s=0,r;while(s<q){r=Math.min(p,t-m);n.push({file:o,start:m,end:p?(m+r):t,total:t,chunks:q,chunk:s++});m+=r}o.blocks=n.concat();o.remaning=n.length;return{file:o,has:function(){return !!n.length},fetch:function(){return n.shift()}}}j.register({"start-upload":"start","stop-upload":"stop","skip-file":"skipFile","is-in-progress":"isInProgress"},{init:function(){var l=this.owner;this.runing=false;this.pool=[];this.pending=[];this.remaning=0;this.__tick=f.bindFn(this._tick,this);l.on("uploadComplete",function(m){m.blocks&&h.each(m.blocks,function(o,n){n.transport&&(n.transport.abort(),n.transport.destroy());delete n.transport});delete m.blocks;delete m.remaning})},start:function(){var l=this;h.each(l.request("get-files",d.INVALID),function(){l.request("remove-file",this)});if(l.runing){return}l.runing=true;h.each(l.pool,function(n,m){var o=m.file;if(o.getStatus()===d.INTERRUPT){o.setStatus(d.PROGRESS);l._trigged=false;m.transport&&m.transport.send()}});l._trigged=false;l.owner.trigger("startUpload");f.nextTick(l.__tick)},stop:function(m){var l=this;if(l.runing===false){return}l.runing=false;m&&h.each(l.pool,function(o,n){n.transport&&n.transport.abort();n.file.setStatus(d.INTERRUPT)});l.owner.trigger("stopUpload")},isInProgress:function(){return !!this.runing},getStats:function(){return this.request("get-stats")},skipFile:function(m,l){m=this.request("get-file",m);m.setStatus(l||d.COMPLETE);m.skipped=true;m.blocks&&h.each(m.blocks,function(p,o){var n=o.transport;if(n){n.abort();n.destroy();delete o.transport}});this.owner.trigger("uploadSkip",m)},_tick:function(){var n=this,m=n.options,l,o;if(n._promise){return n._promise.always(n.__tick)}if(n.pool.length<m.threads&&(o=n._nextBlock())){n._trigged=false;l=function(p){n._promise=null;p&&p.file&&n._startSend(p);f.nextTick(n.__tick)};n._promise=e(o)?o.always(l):l(o)}else{if(!n.remaning&&!n.getStats().numOfQueue){n.runing=false;n._trigged||f.nextTick(function(){n.owner.trigger("uploadFinished")});n._trigged=true}}},_nextBlock:function(){var p=this,m=p._act,o=p.options,n,l;if(m&&m.has()&&m.file.getStatus()===d.PROGRESS){if(o.prepareNextFile&&!p.pending.length){p._prepareNextFile()}return m.fetch()}else{if(p.runing){if(!p.pending.length&&p.getStats().numOfQueue){p._prepareNextFile()}n=p.pending.shift();l=function(q){if(!q){return null}m=g(q,o.chunked?o.chunkSize:0);p._act=m;return m.fetch()};return e(n)?n[n.pipe?"pipe":"then"](l):l(n)}}},_prepareNextFile:function(){var m=this,l=m.request("fetch-file"),o=m.pending,n;if(l){n=m.request("before-send-file",l,function(){if(l.getStatus()===d.QUEUED){m.owner.trigger("uploadStart",l);l.setStatus(d.PROGRESS);return l}return m._finishFile(l)});n.done(function(){var p=h.inArray(n,o);~p&&o.splice(p,1,l)});n.fail(function(p){l.setStatus(d.ERROR,p);m.owner.trigger("uploadError",l,p);m.owner.trigger("uploadComplete",l)});o.push(n)}},_popBlock:function(m){var l=h.inArray(m,this.pool);this.pool.splice(l,1);m.file.remaning--;this.remaning--},_startSend:function(o){var m=this,l=o.file,n;m.pool.push(o);m.remaning++;o.blob=o.chunks===1?l.source:l.source.slice(o.start,o.end);n=m.request("before-send",o,function(){if(l.getStatus()===d.PROGRESS){m._doSend(o)}else{m._popBlock(o);f.nextTick(m.__tick)}});n.fail(function(){if(l.remaning===1){m._finishFile(l).always(function(){o.percentage=1;m._popBlock(o);m.owner.trigger("uploadComplete",l);f.nextTick(m.__tick)})}else{o.percentage=1;m._popBlock(o);f.nextTick(m.__tick)}})},_doSend:function(p){var t=this,m=t.owner,l=t.options,o=p.file,s=new k(l),q=h.extend({},l.formData),n=h.extend({},l.headers),u,r;p.transport=s;s.on("destroy",function(){delete p.transport;t._popBlock(p);f.nextTick(t.__tick)});s.on("progress",function(w){var x=0,v=0;x=p.percentage=w;if(p.chunks>1){h.each(o.blocks,function(z,y){v+=(y.percentage||0)*(y.end-y.start)});x=v/o.size}m.trigger("uploadProgress",o,x||0)});u=function(w){var v;r=s.getResponseAsJson()||{};r._raw=s.getResponse();v=function(x){w=x};if(!m.trigger("uploadAccept",p,r,v)){w=w||"server"}return w};s.on("error",function(w,v){p.retried=p.retried||0;if(p.chunks>1&&~"http,abort".indexOf(w)&&p.retried<l.chunkRetry){p.retried++;s.send()}else{if(!v&&w==="server"){w=u(w)}o.setStatus(d.ERROR,w);m.trigger("uploadError",o,w);m.trigger("uploadComplete",o)}});s.on("load",function(){var v;if((v=u())){s.trigger("error",v,true);return}if(o.remaning===1){t._finishFile(o,r)}else{s.destroy()}});q=h.extend(q,{id:o.id,name:o.name,type:o.type,lastModifiedDate:o.lastModifiedDate,size:o.size});p.chunks>1&&h.extend(q,{chunks:p.chunks,chunk:p.chunk});m.trigger("uploadBeforeSend",p,q,n);s.appendBlob(l.fileVal,p.blob,o.name);s.append(q);s.setRequestHeader(n);s.send()},_finishFile:function(n,m,o){var l=this.owner;return l.request("after-send-file",arguments,function(){n.setStatus(d.COMPLETE);l.trigger("uploadSuccess",n,m,o)}).fail(function(p){if(n.getStatus()===d.PROGRESS){n.setStatus(d.ERROR,p)}l.trigger("uploadError",n,p)}).always(function(){l.trigger("uploadComplete",n)})}})});c("widgets/validator",["base","uploader","file","widgets/widget"],function(e,i,h){var g=e.$,d={},f;f={addValidator:function(k,j){d[k]=j},removeValidator:function(j){delete d[j]}};i.register({init:function(){var j=this;g.each(d,function(){this.call(j.owner)})}});f.addValidator("fileNumLimit",function(){var n=this,m=n.options,l=0,j=m.fileNumLimit>>0,k=true;if(!j){return}n.on("beforeFileQueued",function(o){if(l>=j&&k){k=false;this.trigger("error","Q_EXCEED_NUM_LIMIT",j,o);setTimeout(function(){k=true},1)}return l>=j?false:true});n.on("fileQueued",function(){l++});n.on("fileDequeued",function(){l--});n.on("uploadFinished",function(){l=0})});f.addValidator("fileSizeLimit",function(){var n=this,m=n.options,l=0,j=m.fileSizeLimit>>0,k=true;if(!j){return}n.on("beforeFileQueued",function(o){var p=l+o.size>j;if(p&&k){k=false;this.trigger("error","Q_EXCEED_SIZE_LIMIT",j,o);setTimeout(function(){k=true},1)}return p?false:true});n.on("fileQueued",function(o){l+=o.size});n.on("fileDequeued",function(o){l-=o.size});n.on("uploadFinished",function(){l=0})});f.addValidator("fileSingleSizeLimit",function(){var l=this,k=l.options,j=k.fileSingleSizeLimit;if(!j){return}l.on("beforeFileQueued",function(m){if(m.size>j){m.setStatus(h.Status.INVALID,"exceed_size");this.trigger("error","F_EXCEED_SIZE",m);return false}})});f.addValidator("duplicate",function(){var m=this,k=m.options,j={};if(k.duplicate){return}function l(r){var q=0,p=0,n=r.length,o;for(;p<n;p++){o=r.charCodeAt(p);q=o+(q<<6)+(q<<16)-q}return q}m.on("beforeFileQueued",function(n){var o=n.__hash||(n.__hash=l(n.name+n.size+n.lastModifiedDate));if(j[o]){this.trigger("error","F_DUPLICATE",n);return false}});m.on("fileQueued",function(n){var o=n.__hash;o&&(j[o]=true)});m.on("fileDequeued",function(n){var o=n.__hash;o&&(delete j[o])})});return f});c("runtime/compbase",[],function(){function d(e,f){this.owner=e;this.options=e.options;this.getRuntime=function(){return f};this.getRuid=function(){return f.uid};this.trigger=function(){return e.trigger.apply(e,arguments)}}return d});c("runtime/html5/runtime",["base","runtime/runtime","runtime/compbase"],function(e,d,i){var f="html5",g={};function h(){var k={},l=this,j=this.destory;d.apply(l,arguments);l.type=f;l.exec=function(o,r){var n=this,q=n.uid,p=e.slice(arguments,2),m;if(g[o]){m=k[q]=k[q]||new g[o](n,l);if(m[r]){return m[r].apply(m,p)}}};l.destory=function(){return j&&j.apply(this,arguments)}}e.inherits(d,{constructor:h,init:function(){var j=this;setTimeout(function(){j.trigger("ready")},1)}});h.register=function(l,k){var j=g[l]=e.inherits(i,k);return j};if(b.Blob&&b.FileReader&&b.DataView){d.addRuntime(f,h)}return h});c("runtime/html5/blob",["runtime/html5/runtime","lib/blob"],function(e,d){return e.register("Blob",{slice:function(i,f){var g=this.owner.source,h=g.slice||g.webkitSlice||g.mozSlice;g=h.call(g,i,f);return new d(this.getRuid(),g)}})});c("runtime/html5/dnd",["base","runtime/html5/runtime","lib/file"],function(e,h,d){var g=e.$,f="webuploader-dnd-";return h.register("DragAndDrop",{init:function(){var i=this.elem=this.options.container;this.dragEnterHandler=e.bindFn(this._dragEnterHandler,this);this.dragOverHandler=e.bindFn(this._dragOverHandler,this);this.dragLeaveHandler=e.bindFn(this._dragLeaveHandler,this);this.dropHandler=e.bindFn(this._dropHandler,this);this.dndOver=false;i.on("dragenter",this.dragEnterHandler);i.on("dragover",this.dragOverHandler);i.on("dragleave",this.dragLeaveHandler);i.on("drop",this.dropHandler);if(this.options.disableGlobalDnd){g(document).on("dragover",this.dragOverHandler);g(document).on("drop",this.dropHandler)}},_dragEnterHandler:function(l){var k=this,j=k._denied||false,i;l=l.originalEvent||l;if(!k.dndOver){k.dndOver=true;i=l.dataTransfer.items;if(i&&i.length){k._denied=j=!k.trigger("accept",i)}k.elem.addClass(f+"over");k.elem[j?"addClass":"removeClass"](f+"denied")}l.dataTransfer.dropEffect=j?"none":"copy";return false},_dragOverHandler:function(j){var i=this.elem.parent().get(0);if(i&&!g.contains(i,j.currentTarget)){return false}clearTimeout(this._leaveTimer);this._dragEnterHandler.call(this,j);return false},_dragLeaveHandler:function(){var j=this,i;i=function(){j.dndOver=false;j.elem.removeClass(f+"over "+f+"denied")};clearTimeout(j._leaveTimer);j._leaveTimer=setTimeout(i,100);return false},_dropHandler:function(l){var k=this,j=k.getRuid(),i=k.elem.parent().get(0);if(i&&!g.contains(i,l.currentTarget)){return false}k._getTansferFiles(l,function(m){k.trigger("drop",g.map(m,function(n){return new d(j,n)}))});k.dndOver=false;k.elem.removeClass(f+"over");return false},_getTansferFiles:function(o,s){var m=[],q=[],p,j,r,k,t,l,n,u;o=o.originalEvent||o;r=o.dataTransfer;p=r.items;j=r.files;u=!!(p&&p[0].webkitGetAsEntry);for(l=0,n=j.length;l<n;l++){k=j[l];t=p&&p[l];if(u&&t.webkitGetAsEntry().isDirectory){q.push(this._traverseDirectoryTree(t.webkitGetAsEntry(),m))}else{m.push(k)}}e.when.apply(e,q).done(function(){if(!m.length){return}s(m)})},_traverseDirectoryTree:function(l,j){var i=e.Deferred(),k=this;if(l.isFile){l.file(function(m){j.push(m);i.resolve()})}else{if(l.isDirectory){l.createReader().readEntries(function(o){var n=o.length,q=[],m=[],p;for(p=0;p<n;p++){q.push(k._traverseDirectoryTree(o[p],m))}e.when.apply(e,q).then(function(){j.push.apply(j,m);i.resolve()},i.reject)})}}return i.promise()},destroy:function(){var i=this.elem;i.off("dragenter",this.dragEnterHandler);i.off("dragover",this.dragEnterHandler);i.off("dragleave",this.dragLeaveHandler);i.off("drop",this.dropHandler);if(this.options.disableGlobalDnd){g(document).off("dragover",this.dragOverHandler);g(document).off("drop",this.dropHandler)}}})});c("runtime/html5/filepaste",["base","runtime/html5/runtime","lib/file"],function(e,f,d){return f.register("FilePaste",{init:function(){var n=this.options,m=this.elem=n.container,k=".*",h,j,g,l;if(n.accept){h=[];for(j=0,g=n.accept.length;j<g;j++){l=n.accept[j].mimeTypes;l&&h.push(l)}if(h.length){k=h.join(",");k=k.replace(/,/g,"|").replace(/\*/g,".*")}}this.accept=k=new RegExp(k,"i");this.hander=e.bindFn(this._pasteHander,this);m.on("paste",this.hander)},_pasteHander:function(n){var o=[],k=this.getRuid(),j,m,h,l,g;n=n.originalEvent||n;j=n.clipboardData.items;for(l=0,g=j.length;l<g;l++){m=j[l];if(m.kind!=="file"||!(h=m.getAsFile())){continue}o.push(new d(k,h))}if(o.length){n.preventDefault();n.stopPropagation();this.trigger("paste",o)}},destroy:function(){this.elem.off("paste",this.hander)}})});c("runtime/html5/filepicker",["base","runtime/html5/runtime"],function(d,f){var e=d.$;return f.register("FilePicker",{init:function(){var h=this.getRuntime().getContainer(),o=this,j=o.owner,g=o.options,n=e(document.createElement("label")),q=e(document.createElement("input")),l,k,m,p;q.attr("type","file");q.attr("name",g.name);q.addClass("webuploader-element-invisible");n.on("click",function(){q.trigger("click")});n.css({opacity:0,width:"100%",height:"100%",display:"block",cursor:"pointer",background:"#ffffff"});if(g.multiple){q.attr("multiple","multiple")}if(g.accept&&g.accept.length>0){l=[];for(k=0,m=g.accept.length;k<m;k++){l.push(g.accept[k].mimeTypes)}q.attr("accept",l.join(","))}h.append(q);h.append(n);p=function(i){j.trigger(i.type)};q.on("change",function(r){var i=arguments.callee,s;o.files=r.target.files;s=this.cloneNode(true);this.parentNode.replaceChild(s,this);q.off();q=e(s).on("change",i).on("mouseenter mouseleave",p);j.trigger("change")});n.on("mouseenter mouseleave",p)},getFiles:function(){return this.files},destroy:function(){}})});c("runtime/html5/transport",["base","runtime/html5/runtime"],function(d,g){var e=d.noop,f=d.$;return g.register("Transport",{init:function(){this._status=0;this._response=null},send:function(){var h=this.owner,k=this.options,n=this._initAjax(),j=h._blob,m=k.server,l,o,i;if(k.sendAsBinary){m+=(/\?/.test(m)?"&":"?")+f.param(h._formData);o=j.getSource()}else{l=new FormData();f.each(h._formData,function(q,p){l.append(q,p)});l.append(k.fileVal,j.getSource(),k.filename||h._formData.name||"")}if(k.withCredentials&&"withCredentials" in n){n.open(k.method,m,true);n.withCredentials=true}else{n.open(k.method,m)}this._setRequestHeader(n,k.headers);if(o){n.overrideMimeType("application/octet-stream");if(d.os.android){i=new FileReader();i.onload=function(){n.send(this.result);i=i.onload=null};i.readAsArrayBuffer(o)}else{n.send(o)}}else{n.send(l)}},getResponse:function(){return this._response},getResponseAsJson:function(){return this._parseJson(this._response)},getStatus:function(){return this._status},abort:function(){var h=this._xhr;if(h){h.upload.onprogress=e;h.onreadystatechange=e;h.abort();this._xhr=h=null}},destroy:function(){this.abort()},_initAjax:function(){var i=this,j=new XMLHttpRequest(),h=this.options;if(h.withCredentials&&!("withCredentials" in j)&&typeof XDomainRequest!=="undefined"){j=new XDomainRequest()}j.upload.onprogress=function(l){var k=0;if(l.lengthComputable){k=l.loaded/l.total}return i.trigger("progress",k)};j.onreadystatechange=function(){if(j.readyState!==4){return}j.upload.onprogress=e;j.onreadystatechange=e;i._xhr=null;i._status=j.status;if(j.status>=200&&j.status<300){i._response=j.responseText;return i.trigger("load")}else{if(j.status>=500&&j.status<600){i._response=j.responseText;return i.trigger("error","server")}}return i.trigger("error",i._status?"http":"abort")};i._xhr=j;return j},_setRequestHeader:function(i,h){f.each(h,function(j,k){i.setRequestHeader(j,k)})},_parseJson:function(j){var i;try{i=JSON.parse(j)}catch(h){i={}}return i}})});c("runtime/flash/runtime",["base","runtime/runtime","runtime/compbase"],function(f,e,k){var i=f.$,g="flash",h={};function d(){var l;try{l=navigator.plugins["Shockwave Flash"];l=l.description}catch(m){try{l=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version")}catch(n){l="0.0"}}l=l.match(/\d+/g);return parseFloat(l[0]+"."+l[1],10)}function j(){var o={},n={},l=this.destory,q=this,m=f.guid("webuploader_");e.apply(q,arguments);q.type=g;q.exec=function(t,w){var s=this,v=s.uid,u=f.slice(arguments,2),r;n[v]=s;if(h[t]){if(!o[v]){o[v]=new h[t](s,q)}r=o[v];if(r[w]){return r[w].apply(r,u)}}return q.flashExec.apply(s,arguments)};function p(r,v){var t=r.type||r,u,s;u=t.split("::");s=u[0];t=u[1];if(t==="Ready"&&s===q.uid){q.trigger("ready")}else{if(n[s]){n[s].trigger(t.toLowerCase(),r,v)}}}b[m]=function(){var r=arguments;setTimeout(function(){p.apply(null,r)},1)};this.jsreciver=m;this.destory=function(){return l&&l.apply(this,arguments)};this.flashExec=function(r,u){var t=q.getFlash(),s=f.slice(arguments,2);return t.exec(this.uid,r,u,s)}}f.inherits(e,{constructor:j,init:function(){var l=this.getContainer(),n=this.options,m;l.css({position:"absolute",top:"-8px",left:"-8px",width:"9px",height:"9px",overflow:"hidden"});m='<object id="'+this.uid+'" type="application/x-shockwave-flash" data="'+n.swf+'" ';if(f.browser.ie){m+='classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '}m+='width="100%" height="100%" style="outline:0"><param name="movie" value="'+n.swf+'" /><param name="flashvars" value="uid='+this.uid+"&jsreciver="+this.jsreciver+'" /><param name="wmode" value="transparent" /><param name="allowscriptaccess" value="always" /></object>';l.html(m)},getFlash:function(){if(this._flash){return this._flash}this._flash=i("#"+this.uid).get(0);return this._flash}});j.register=function(m,l){l=h[m]=f.inherits(k,i.extend({flashExec:function(){var n=this.owner,o=this.getRuntime();return o.flashExec.apply(n,arguments)}},l));return l};if(d()>=11.4){e.addRuntime(g,j)}return j});c("runtime/flash/filepicker",["base","runtime/flash/runtime"],function(d,f){var e=d.$;return f.register("FilePicker",{init:function(j){var k=e.extend({},j),g,h;g=k.accept&&k.accept.length;for(h=0;h<g;h++){if(!k.accept[h].title){k.accept[h].title="Files"}}delete k.button;delete k.container;this.flashExec("FilePicker","init",k)},destroy:function(){}})});c("runtime/flash/transport",["base","runtime/flash/runtime","runtime/client"],function(e,g,d){var f=e.$;return g.register("Transport",{init:function(){this._status=0;this._response=null;this._responseJson=null},send:function(){var h=this.owner,j=this.options,l=this._initAjax(),i=h._blob,k=j.server,m;l.connectRuntime(i.ruid);if(j.sendAsBinary){k+=(/\?/.test(k)?"&":"?")+f.param(h._formData);m=i.uid}else{f.each(h._formData,function(o,n){l.exec("append",o,n)});l.exec("appendBlob",j.fileVal,i.uid,j.filename||h._formData.name||"")}this._setRequestHeader(l,j.headers);l.exec("send",{method:j.method,url:k},m)},getStatus:function(){return this._status},getResponse:function(){return this._response},getResponseAsJson:function(){return this._responseJson},abort:function(){var h=this._xhr;if(h){h.exec("abort");h.destroy();this._xhr=h=null}},destroy:function(){this.abort()},_initAjax:function(){var h=this,i=new d("XMLHttpRequest");i.on("uploadprogress progress",function(j){return h.trigger("progress",j.loaded/j.total)});i.on("load",function(){var j=i.exec("getStatus"),k="";i.off();h._xhr=null;if(j>=200&&j<300){h._response=i.exec("getResponse");h._responseJson=i.exec("getResponseAsJson")}else{if(j>=500&&j<600){h._response=i.exec("getResponse");h._responseJson=i.exec("getResponseAsJson");k="server"}else{k="http"}}i.destroy();i=null;return k?h.trigger("error",k):h.trigger("load")});i.on("error",function(){i.off();h._xhr=null;h.trigger("error","http")});h._xhr=i;return i},_setRequestHeader:function(i,h){f.each(h,function(j,k){i.exec("setRequestHeader",j,k)})}})});c("preset/withoutimage",["base","widgets/filednd","widgets/filepaste","widgets/filepicker","widgets/queue","widgets/runtime","widgets/upload","widgets/validator","runtime/html5/blob","runtime/html5/dnd","runtime/html5/filepaste","runtime/html5/filepicker","runtime/html5/transport","runtime/flash/filepicker","runtime/flash/transport"],function(d){return d});c("webuploader",["preset/withoutimage"],function(d){return d});return a("webuploader")});