/* jQuery filedrop v0.1.0, copyright Weixi Yen - modified by Bergware for jQuery v3.6 */ !function(R){var n={fallback_id:"",fallback_dropzoneClick:!1,url:"",refresh:1e3,paramname:"userfile",requestType:"POST",allowedfileextensions:[],allowedfiletypes:[],maxfiles:25,maxfilesize:1,queuefiles:0,queuewait:200,data:{},headers:{},drop:e,dragStart:e,dragEnter:e,dragOver:e,dragLeave:e,docEnter:e,docOver:e,docLeave:e,beforeEach:e,afterAll:e,rename:e,error:function(e,t,r,n){alert(e)},uploadStarted:e,uploadFinished:e,progressUpdated:e,globalProgressUpdated:e,speedUpdated:e},l=["BrowserNotSupported","TooManyFiles","FileTooLarge","FileTypeNotAllowed","NotFound","NotReadable","AbortError","ReadError","FileExtensionNotAllowed"];function e(){}R.fn.filedrop=function(e){var r,g,v=R.extend({},n,e),m=[],y=!1,w=0;if(!0===v.fallback_dropzoneClick&&R("#"+v.fallback_id).css({display:"none",width:0,height:0}),this.on("drop",function(e){return!1!==v.drop.call(this,e)&&(e.originalEvent.dataTransfer?(null!==(g=e.originalEvent.dataTransfer.files)&&void 0!==g&&0!==g.length?(w=g.length,t(),e.preventDefault()):v.error(l[0]),!1):void 0)}).on("dragstart",v.dragStart).on("dragenter",function(e){clearTimeout(r),e.preventDefault(),v.dragEnter.call(this,e)}).on("dragover",function(e){clearTimeout(r),e.preventDefault(),v.docOver.call(this,e),v.dragOver.call(this,e)}).on("dragleave",function(e){clearTimeout(r),v.dragLeave.call(this,e),e.stopPropagation()}),R(document).on("drop",function(e){return e.preventDefault(),v.docLeave.call(this,e),!1}).on("dragenter",function(e){return clearTimeout(r),e.preventDefault(),v.docEnter.call(this,e),!1}).on("dragover",function(e){return clearTimeout(r),e.preventDefault(),v.docOver.call(this,e),!1}).on("dragleave",function(t){r=setTimeout(function(e){return function(){v.docLeave.call(e,t)}}(this),200)}),!0===v.fallback_dropzoneClick){if(0=v.refresh&&(r=(e.loaded-this.startData)/r,v.speedUpdated(this.index,this.file,r),this.startData=e.loaded,this.currentStart=t)))}function x(){if(0!==m.length){var e,t=0;for(e in m)m.hasOwnProperty(e)&&(t+=m[e]);v.globalProgressUpdated(Math.round(t/m.length))}}function t(){if(y=!1,g){if(v.allowedfiletypes.push&&v.allowedfiletypes.length)for(var e=g.length;e--;)if(!g[e].type||R.inArray(g[e].type,v.allowedfiletypes)<0)return void v.error(l[3],g[e]);if(v.allowedfileextensions.push&&v.allowedfileextensions.length)for(e=g.length;e--;){for(var t=!1,r=0;rv.maxfiles&&0===v.queuefiles)v.error(l[1]);else{for(var a=[],p=[],h=[],r=0;r=v.queuefiles)return e=v.queuewait,void setTimeout(o,e);r=a[0],a.splice(0,1),p.push(r);try{if(!1!==(n=g[r],v.beforeEach(n))){if(r===w)return;var t=new FileReader,n=1048576*v.maxfilesize;if(t.index=r,g[r].size>n)return v.error(l[2],g[r],r),p.forEach(function(e,t){e===r&&p.splice(t,1)}),c++,!0;t.onerror=function(e){switch(e.target.error.code){case e.target.error.NOT_FOUND_ERR:return v.error(l[4]),!1;case e.target.error.NOT_READABLE_ERR:return v.error(l[5]),!1;case e.target.error.ABORT_ERR:return v.error(l[6]),!1;default:return v.error(l[7]),!1}},t.onloadend=v.beforeSend?function(e){v.beforeSend(g[r],r,function(){i(e)})}:i,t.readAsDataURL(g[r])}else c++}catch(e){return p.forEach(function(e,t){e===r&&p.splice(t,1)}),v.error(l[0]),!1}0