-1){f.thumbnails.renderImage(f._pfrL[n],!0);break}f._pfrL.splice(n,1),n++}};if(!a.length)return void u();if(e.image=a,"image"==e.format&&f.isFileReaderSupported()&&(e.appended||n.thumbnails.startImageRenderer||t)){if(n.thumbnails.synchronImages&&(f._pfrL.indexOf(e)!=-1||t?null:f._pfrL.push(e),f._pfrL.length>1&&!t))return;var d=new FileReader,c=function(e){if(n.thumbnails.canvasImage){var t=document.createElement("canvas"),l=t.getContext("2d"),o=new Image;o.onload=function(){var e=n.thumbnails.canvasImage.height?n.thumbnails.canvasImage.height:a.height(),s=n.thumbnails.canvasImage.width?n.thumbnails.canvasImage.width:a.width(),d=o.height/e,p=o.width/s,c=dt.width?-(o.width-t.width)/2:0,b=o.heightt.width?h-t.width:0,0,.5*x.width,.5*x.height,0,0,h,m)}o=null,f._assets.isBlankCanvas(t)?r():i(t),u()},o.onerror=function(e){r(),u()},o.src=e.target.result}else i('')};return void("string"==typeof e.file?c({target:{result:e.file}}):(d.onload=c,d.readAsDataURL(e.file)))}r()}},upload:{prepare:function(e,t){e.upload={url:n.upload.url,data:n.upload.data||{},formData:new FormData,type:n.upload.type||"POST",enctype:n.upload.enctype||"multipart/form-data",cache:!1,contentType:!1,processData:!1,status:null,send:function(){f.upload.send(e,!0)},cancel:function(){f.upload.cancel(e)},retry:function(){f.upload.retry(e)}},e.upload.formData.append(s.attr("name"),e.file,!!e.name&&e.name),(n.upload.start||t)&&f.upload.send(e,t)},send:function(e,t){if(e.upload){var a=function(n){e.html.removeClass("upload-pending upload-loading upload-cancelled upload-failed upload-success").addClass("upload-"+(n||e.upload.status))},i=function(){var n=0;if(f._pfuL.length>0)for(f._pfuL.indexOf(e)>-1?f._pfuL.splice(f._pfuL.indexOf(e),1):null;n-1&&f._pfuL[n].upload&&!f._pfuL[n].upload.$ajax){f.upload.send(f._pfuL[n],!0);break}f._pfuL.splice(n,1),n++}};if(n.upload.synchron)if(e.upload.status="pending",e.html&&a(),t)f._pfuL.indexOf(e)>-1?f._pfuL.splice(f._pfuL.indexOf(e),1):null;else if(f._pfuL.indexOf(e)==-1?f._pfuL.push(e):null,f._pfuL.length>1)return;if(n.upload.beforeSend&&$.isFunction(n.upload.beforeSend)&&n.upload.beforeSend(e,l,p,o,s)===!1)return a(),void i();if(p.addClass("fileuploader-is-uploading"),e.upload.$ajax&&e.upload.$ajax.abort(),delete e.upload.$ajax,delete e.upload.send,e.upload.status="loading",e.html&&(n.thumbnails._selectors.start&&e.html.find(n.thumbnails._selectors.start).remove(),a()),e.upload.data)for(var r in e.upload.data)e.upload.formData.append(r,e.upload.data[r]);e.upload.data=e.upload.formData,e.upload.xhr=function(){var n=$.ajaxSettings.xhr(),t=new Date;return n.upload&&n.upload.addEventListener("progress",function(n){f.upload.progressHandling(n,e,t)},!1),n},e.upload.complete=function(e,t){i();var a=!0;$.each(f._itFl,function(e,n){n.upload&&n.upload.$ajax&&(a=!1)}),a&&(p.removeClass("fileuploader-is-uploading"),null!=n.upload.onComplete&&"function"==typeof n.upload.onComplete?n.upload.onComplete(l,p,o,s,e,t):null)},e.upload.success=function(t,i,r){e.uploaded=!0,delete e.upload,e.upload={status:"successful"},e.html&&a(),f.set("listInput",null),null!=n.upload.onSuccess&&$.isFunction(n.upload.onSuccess)?n.upload.onSuccess(t,e,l,p,o,s,i,r):null},e.upload.error=function(t,i,r){e.uploaded=!1,e.upload.status="cancelled"==e.upload.status?e.upload.status:"failed",delete e.upload.$ajax,e.html&&a(),null!=n.upload.onError&&$.isFunction(n.upload.onError)?n.upload.onError(e,l,p,o,s,t,i,r):null},e.upload.$ajax=$.ajax(e.upload)}},cancel:function(e){e&&e.upload&&(e.upload.status="cancelled",e.upload.$ajax?e.upload.$ajax.abort():null,delete e.upload.$ajax,f.files.remove(e))},retry:function(e){e&&e.upload&&(e.html&&n.thumbnails._selectors.retry&&e.html.find(n.thumbnails._selectors.retry).remove(),f.upload.prepare(e,!0))},progressHandling:function(e,t,a){if(e.lengthComputable){var i=e.loaded,r=e.total,u=Math.round(100*i/r),d=((new Date).getTime()-a.getTime())/1e3,c=d?i/d:0,m=r-i,h=d?m/c:null,g={loaded:i,loadedInFormat:f._assets.bytesToText(i),total:r,totalInFormat:f._assets.bytesToText(r),percentage:u,secondsElapsed:d,secondsElapsedInFormat:f._assets.secondsToText(d,!0),bytesPerSecond:c,bytesPerSecondInFormat:f._assets.bytesToText(c)+"/s",remainingBytes:m,remainingBytesInFormat:f._assets.bytesToText(m),secondsRemaining:h,secondsRemainingInFormat:f._assets.secondsToText(h,!0)};n.upload.onProgress&&$.isFunction(n.upload.onProgress)?n.upload.onProgress(g,t,l,p,o,s):null}}},dragDrop:{onDragEnter:function(e){clearTimeout(f.dragDrop._timer),n.dragDrop.container.addClass("fileuploader-dragging"),f.set("feedback",f._assets.textParse(n.captions.drop)),null!=n.dragDrop.onDragEnter&&$.isFunction(n.dragDrop.onDragEnter)?n.dragDrop.onDragEnter(e,l,p,o,s):null},onDragLeave:function(e){clearTimeout(f.dragDrop._timer),f.dragDrop._timer=setTimeout(function(e){return!!f.dragDrop._dragLeaveCheck(e)&&(n.dragDrop.container.removeClass("fileuploader-dragging"),f.set("feedback",null),void(null!=n.dragDrop.onDragLeave&&$.isFunction(n.dragDrop.onDragLeave)?n.dragDrop.onDragLeave(e,l,p,o,s):null))},100,e)},onDrop:function(e){clearTimeout(f.dragDrop._timer),n.dragDrop.container.removeClass("fileuploader-dragging"),f.set("feedback",null),e&&e.originalEvent&&e.originalEvent.dataTransfer&&e.originalEvent.dataTransfer.files&&e.originalEvent.dataTransfer.files.length&&(f.isUploadMode()?f.onChange(e,e.originalEvent.dataTransfer.files):s.prop("files",e.originalEvent.dataTransfer.files)),null!=n.dragDrop.onDrop&&$.isFunction(n.dragDrop.onDrop)?n.dragDrop.onDrop(e,l,p,o,s):null},_dragLeaveCheck:function(e){var t,l=$(e.currentTarget);return!(!l.is(n.dragDrop.container)&&(t=n.dragDrop.container.find(l),t.length))}},clipboard:{paste:function(e){if(f._assets.isIntoView(o)&&e.originalEvent.clipboardData&&e.originalEvent.clipboardData.items&&e.originalEvent.clipboardData.items.length){var t=e.originalEvent.clipboardData.items;f.clipboard.clean();for(var l=0;l1?n.clipboardPaste:2e3;a&&(a._name="Clipboard "+i.getFullYear()+"-"+s(i.getMonth()+1)+"-"+s(i.getDate())+" "+s(i.getHours())+"-"+s(i.getMinutes())+"-"+s(i.getSeconds()),a._name+=a.type.indexOf("/")!=-1?"."+a.type.split("/")[1].toString().toLowerCase():".png",f.set("feedback",f._assets.textParse(n.captions.paste,{ms:r/1e3})),f.clipboard._timer=setTimeout(function(){f.set("feedback",null),f.onChange(e,[a])},r-2))}}},clean:function(){f.clipboard._timer&&(clearTimeout(f.clipboard._timer),delete f.clipboard._timer,f.set("feedback",null))}},files:{add:function(e,n){var t,l,a=e._name||e.name,i=e.size,o=f._assets.bytesToText(i),r=e.type,u=r?r.split("/",1).toString().toLowerCase():"",d=a.indexOf(".")!=-1?a.split(".").pop().toLowerCase():"",p=a.substr(0,a.length-(a.indexOf(".")!=-1?d.length+1:d.length)),c=e.data||{},e=e.file||e,m=Date.now();return f._itFl.push({name:a,title:p,size:i,size2:o,type:r,format:u,extension:d,data:c,file:e,id:m,input:"choosed"==n?s:null,html:null,upload:null,choosed:"choosed"==n,appended:"appended"==n,uploaded:"uploaded"==n}),t=f._itFl.length-1,l=f._itFl[t],l.remove=function(){f.files.remove(l)},t},list:function(e,t,a){var i=[];return $.each(f._itFl,function(n,l){if(l.upload&&!l.uploaded)return!0;var a=l;(e||t)&&(a=(a.choosed?"0:/":"")+(t&&null!==f.files.getItemAttr(l,t)?f.files.getItemAttr(l,t):l["string"==typeof l.file?"file":"name"])),i.push(a)}),i=n.onListInput&&$.isFunction(n.onListInput)?n.onListInput(i,f._itFl,n.listInput,l,p,o,s):i,e?JSON.stringify(i):i},check:function(e,t,a){var i=["warning",null,!1,!1];if(null!=n.limit&&a&&t.length+f._itFl.length-1>n.limit)return i[1]=f._assets.textParse(n.captions.errors.filesLimit),i[3]=!0,i;if(null!=n.maxSize&&a){var r=0;if($.each(f._itFl,function(e,n){r+=n.size}),r-=e.size,$.each(t,function(e,n){r+=n.size}),r>Math.round(1e6*n.maxSize))return i[1]=f._assets.textParse(n.captions.errors.filesSizeAll),i[3]=!0,i}if(null!=n.onFilesCheck&&$.isFunction(n.onFilesCheck)&&a){var u=n.onFilesCheck(t,n,l,p,o,s);if(u===!1)return i[3]=!0,i}if(null!=n.extensions&&$.inArray(e.extension,n.extensions)==-1&&$.inArray(e.type,n.extensions)==-1)return i[1]=f._assets.textParse(n.captions.errors.filesType,e),i;if(null!=n.fileMaxSize&&e.size>1e6*n.fileMaxSize)return i[1]=f._assets.textParse(n.captions.errors.fileSize,e),i;if(4096==e.size&&""==e.type)return i[1]=f._assets.textParse(n.captions.errors.folderUpload,e),i;var r=!1;return $.each(f._itFl,function(t,l){if(l!=e&&1==l.choosed&&l.file&&l.file.name==e.name)return r=!0,l.file.size!=e.size||l.file.type!=e.type||e.file.lastModified&&l.file.lastModified&&l.file.lastModified!=e.file.lastModified?(i[1]=f._assets.textParse(n.captions.errors.fileName,e),i[2]=!1):i[2]=!0,!1}),!r||i},append:function(e){if(e=$.isArray(e)?e:[e],e.length){for(var t,a=0;a1))return a=!1,!1}),a&&(f.isAddMoreMode()&&sl.length>1?(f.set("nextInput"),sl.splice(sl.indexOf(e.input),1),e.input.remove()):f.set("input",""))}f._pfrL.indexOf(e)>-1?f._pfrL.splice(f._pfrL.indexOf(e),1):null,f._pfuL.indexOf(e)>-1?f._pfuL.splice(f._pfuL.indexOf(e),1):null,f._itFl.indexOf(e)>-1?f._itFl.splice(f._itFl.indexOf(e),1):null,0==f._itFl.length?f.reset():null,f.set("feedback",null),f.set("listInput",null),$.isFunction(n.onAfterRemove)&&n.onAfterRemove(e),e=null}},getItemAttr:function(e,n){var t=null;return e&&("undefined"!=typeof e[n]?t=e[n]:e.data&&"undefined"!=typeof e.data[n]&&(t=e.data[n])),t},clear:function(e){for(var t=0;t0||!n)&&(a+=(t<10?"0":"")+t+(n?"h ":":")),(l>0||!n)&&(a+=(l<10&&!n?"0":"")+l+(n?"m ":":")),a+=(e<10&&!n?"0":"")+e+(n?"s":"")},hasAttr:function(e,n){var n=n?n:s,t=n.attr(e);return!(!t||"undefined"==typeof t)},copyAllAttributes:function(e,n){return $.each(n.get(0).attributes,function(){"required"!=this.name&&"type"!=this.name&&e.attr(this.name,this.value)}),n.get(0).FileUploader&&(e.get(0).FileUploader=n.get(0).FileUploader),e},getAllEvents:function(e){var e=e?e:s,n=[];e=e.get?e.get(0):e;for(var t in e)0===t.indexOf("on")&&n.push(t.slice(2));return n.indexOf("change")==-1&&n.push("change"),n.join(" ")},isIntoView:function(e){var n=$(window).scrollTop(),t=n+window.innerHeight,l=e.offset().top,a=l+e.outerHeight();return na},isBlankCanvas:function(e){var n=document.createElement("canvas"),t=!1;return n.width=e.width,n.height=e.height,t=e.toDataURL()==n.toDataURL(),n=null,t},textParse:function(text,opts,noOptions){switch(opts=noOptions?opts||{}:$.extend({},{limit:n.limit,maxSize:n.maxSize,fileMaxSize:n.fileMaxSize,extensions:n.extensions?n.extensions.join(", "):null},opts),typeof text){case"string":text=text.replace(/\$\{(.*?)\}/g,function(match,a){var a=a.replace(/ /g,""),r="undefined"!=typeof opts[a]&&null!=opts[a]?opts[a]:"";if(a.indexOf(".")>-1||a.indexOf("[]")>-1){var x=a.substr(0,a.indexOf(".")>-1?a.indexOf("."):a.indexOf("[")>-1?a.indexOf("["):a.length),y=a.substring(x.length);if(opts[x])try{r=eval('opts["'+x+'"]'+y)}catch(e){r=""}}return r=$.isFunction(r)?f._assets.textParse(r):r,r||""});break;case"function":text=text(opts,l,p,o,s)}return opts=null,text},textToColor:function(e){if(!e||0==e.length)return!1;for(var n=0,t=0;n>2*n++&255).toString(16)).slice(-2));return l},isBrightColor:function(e){var n=function(e){var n;return e&&e.constructor==Array&&3==e.length?e:(n=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(e))?[parseInt(n[1]),parseInt(n[2]),parseInt(n[3])]:(n=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(e))?[2.55*parseFloat(n[1]),2.55*parseFloat(n[2]),2.55*parseFloat(n[3])]:(n=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(e))?[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)]:(n=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(e))?[parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16)]:"undefined"!=typeof colors?colors[$.trim(e).toLowerCase()]:null},t=function(e){var t=n(e);return t?.2126*t[0]+.7152*t[1]+.0722*t[2]:null};return t(e)>194}},isSupported:function(){return s&&s.get(0).files},isFileReaderSupported:function(){return window.File&&window.FileList&&window.FileReader},isDefaultMode:function(){return!n.upload&&!n.addMore},isAddMoreMode:function(){return!n.upload&&n.addMore},isUploadMode:function(){return n.upload},_itFl:[],_pfuL:[],_pfrL:[],disabled:!1,locked:!1,rendered:!1};return n.enableApi&&s.prop("FileUploader",{open:function(){s.trigger("click")},getOptions:function(){return n},getParentEl:function(){return p},getInputEl:function(){return s},getNewInputEl:function(){return o},getListEl:function(){return l},getListInputEl:function(){return n.listInput},getFiles:function(){return f._itFl},getChoosedFiles:function(){return f._itFl.filter(function(e){return e.choosed})},getAppendedFiles:function(){return f._itFl.filter(function(e){return e.appended})},getUploadedFiles:function(){return f._itFl.filter(function(e){return e.uploaded})},getFileList:function(e,n){return f.files.list(e,n,!0)},updateFileList:function(){return f.set("listInput",null),!0},setOption:function(e,t){return n[e]=t,!0},findFile:function(e){return f.files.find(e)},append:function(e){return f.files.append(e)},remove:function(e){return e=e.jquery?f.files.find(e):e,f._itFl.indexOf(e)>-1&&(f.files.remove(e),!0)},uploadStart:function(){var e=this.getChoosedFiles()||[];if(f.isUploadMode()&&e.length>0&&!e[0].uploaded)for(var n=0;n',boxAppendTo:null,item:'${progressBar}
',item2:'',itemPrepend:!1,removeConfirmation:!0,startImageRenderer:!0,synchronImages:!0,canvasImage:!0,_selectors:{list:".fileuploader-items-list",item:".fileuploader-item",start:".fileuploader-action-start",retry:".fileuploader-action-retry",remove:".fileuploader-action-remove"},beforeShow:null,onItemShow:null,onItemRemove:function(e){e.children().animate({opacity:0},200,function(){setTimeout(function(){e.slideUp(200,function(){e.remove()})},100)})},onImageLoaded:null},files:null,upload:null,dragDrop:!0,addMore:!1,clipboardPaste:!0,listInput:!0,enableApi:!1,listeners:null,onSupportError:null,beforeRender:null,afterRender:null,beforeSelect:null,onFilesCheck:null,onSelect:null,afterSelect:null,onListInput:null,onRemove:null,onAfterRemove:null,onEmpty:null,dialogs:{alert:function(e){return alert(e)},confirm:function(e,n){confirm(e)?n():null}},captions:{button:function(e){return"Choose "+(1==e.limit?"File":"Files")},feedback:function(e){return"Choose "+(1==e.limit?"file":"files")+" to upload"},feedback2:function(e){return e.length+" "+(e.length>1?" files were":" file was")+" chosen"},drop:"Drop the files here to Upload",paste:' Pasting a file, click here to cancel.',removeConfirmation:"Are you sure you want to remove this file?",errors:{filesLimit:"Only ${limit} files are allowed to be uploaded.",filesType:"Only ${extensions} files are allowed to be uploaded.",fileSize:"${name} is too large! Please choose a file up to ${fileMaxSize}MB.",filesSizeAll:"Files that you choosed are too large! Please upload files up to ${maxSize} MB.",fileName:"File with the name ${name} is already selected.",folderUpload:"You are not allowed to upload folders."}}}}(jQuery);