/*! WebUploader 0.1.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;m1024){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(++o1){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(;p1){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.retried1&&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(;p0){l=[];for(k=0,m=g.accept.length;k=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='';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=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")});