1 line
89 KiB
JavaScript
1 line
89 KiB
JavaScript
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"undefined"!=typeof exports?module.exports=e(require("jquery")):e(jQuery)}((function($){"use strict";$.fn.fileuploader=function(q){return this.each((function(t,r){var s=$(r),p=null,o=null,l=null,sl=[],n=$.extend(!0,{},$.fn.fileuploader.defaults,q),f={init:function(){return s.closest(".fileuploader").length||s.wrap('<div class="fileuploader"></div>'),p=s.closest(".fileuploader"),f.set("language"),f.set("attrOpts"),f.isSupported()?(!n.beforeRender||!$.isFunction(n.beforeRender)||!1!==n.beforeRender(p,s))&&(f.redesign(),n.files&&f.files.append(n.files),f.rendered=!0,n.afterRender&&$.isFunction(n.afterRender)&&n.afterRender(l,p,o,s),f.disabled||f.bindUnbindEvents(!0),s.closest("form").on("reset",f.reset),void(f._itFl.length||f.reset())):(n.onSupportError&&$.isFunction(n.onSupportError)&&n.onSupportError(p,s),!1)},bindUnbindEvents:function(e){e&&f.bindUnbindEvents(!1),s[e?"on":"off"]("focus blur change",f.onEvent),n.changeInput&&o!==s&&o[e?"on":"off"]("click",f.clickHandler),n.dragDrop&&n.dragDrop.container.length&&(n.dragDrop.container[e?"on":"off"]("drag dragstart dragend dragover dragenter dragleave drop",(function(e){e.preventDefault()})),n.dragDrop.container[e?"on":"off"]("drop",f.dragDrop.onDrop),n.dragDrop.container[e?"on":"off"]("dragover",f.dragDrop.onDragEnter),n.dragDrop.container[e?"on":"off"]("dragleave",f.dragDrop.onDragLeave)),f.isUploadMode()&&n.clipboardPaste&&$(window)[e?"on":"off"]("paste",f.clipboard.paste),n.sorter&&n.thumbnails&&n.thumbnails._selectors.sorter&&f.sorter[e?"init":"destroy"]()},redesign:function(){if(o=s,n.theme&&p.addClass("fileuploader-theme-"+n.theme),n.changeInput){switch((typeof n.changeInput).toLowerCase()){case"boolean":o=$('<div class="fileuploader-input"><div class="fileuploader-input-caption"><span>'+f._assets.textParse(n.captions.feedback)+'</span></div><button type="button" class="fileuploader-input-button"><span>'+f._assets.textParse(n.captions.button)+"</span></button></div>");break;case"string":" "!=n.changeInput&&(o=$(f._assets.textParse(n.changeInput,n)));break;case"object":o=$(n.changeInput);break;case"function":o=$(n.changeInput(s,p,n,f._assets.textParse))}s.after(o),s.css({position:"absolute","z-index":"-9999",height:"0",width:"0",padding:"0",margin:"0","line-height":"0",outline:"0",border:"0",opacity:"0"})}n.thumbnails&&f.thumbnails.create(),n.dragDrop&&(n.dragDrop="object"!=typeof n.dragDrop?{container:null}:n.dragDrop,n.dragDrop.container=n.dragDrop.container?$(n.dragDrop.container):o)},clickHandler:function(e){e.preventDefault(),f.clipboard._timer?f.clipboard.clean():s.click()},onEvent:function(e){switch(e.type){case"focus":p&&p.addClass("fileuploader-focused");break;case"blur":p&&p.removeClass("fileuploader-focused");break;case"change":f.onChange.call(this)}n.listeners&&$.isFunction(n.listeners[e.type])&&n.listeners[e.type].call(s,p)},set:function(e,t){switch(e){case"attrOpts":for(var i=["limit","maxSize","fileMaxSize","extensions","changeInput","theme","addMore","listInput","files"],r=0;r<i.length;r++){var a="data-fileuploader-"+i[r];if(f._assets.hasAttr(a))switch(i[r]){case"changeInput":case"addMore":case"listInput":n[i[r]]=-1<["true","false"].indexOf(s.attr(a))?"true"==s.attr(a):s.attr(a);break;case"extensions":n[i[r]]=s.attr(a).replace(/ /g,"").split(",");break;case"files":n[i[r]]=JSON.parse(s.attr(a));break;default:n[i[r]]=s.attr(a)}s.removeAttr(a)}null==s.attr("disabled")&&null==s.attr("readonly")&&0!==n.limit||(f.disabled=!0),(!n.limit||n.limit&&2<=n.limit)&&(s.attr("multiple","multiple"),n.inputNameBrackets&&"[]"!=s.attr("name").slice(-2)&&s.attr("name",s.attr("name")+"[]")),!0===n.listInput&&(n.listInput=$('<input type="hidden" name="fileuploader-list-'+s.attr("name").replace("[]","").split("[").pop().replace("]","")+'">').insertBefore(s)),"string"==typeof n.listInput&&0==$(n.listInput).length&&(n.listInput=$('<input type="hidden" name="'+n.listInput+'">').insertBefore(s)),f.set("disabled",f.disabled),!n.fileMaxSize&&n.maxSize&&(n.fileMaxSize=n.maxSize);break;case"language":var l=$.fn.fileuploader.languages;"string"==typeof n.captions&&(n.captions in l?n.captions=l[n.captions]:n.captions=$.extend(!0,{},$.fn.fileuploader.defaults.captions));break;case"disabled":f.disabled=t,p[f.disabled?"addClass":"removeClass"]("fileuploader-disabled"),s[f.disabled?"attr":"removeAttr"]("disabled","disabled"),f.rendered&&f.bindUnbindEvents(!t);break;case"feedback":t=t||f._assets.textParse(0<f._itFl.length?n.captions.feedback2:n.captions.feedback,{length:f._itFl.length}),$(!o.is(":file"))&&o.find(".fileuploader-input-caption span").html(t);break;case"input":var d=f._assets.copyAllAttributes($('<input type="file">'),s,!0);f.bindUnbindEvents(!1),s.after(s=d).remove(),f.bindUnbindEvents(!0);break;case"prevInput":0<sl.length&&(f.bindUnbindEvents(!1),sl[t].remove(),sl.splice(t,1),s=sl[sl.length-1],f.bindUnbindEvents(!0));break;case"nextInput":d=f._assets.copyAllAttributes($('<input type="file">'),s),f.bindUnbindEvents(!1),0<sl.length&&0==sl[sl.length-1].get(0).files.length?s=sl[sl.length-1]:(-1==sl.indexOf(s)&&sl.push(s),sl.push(d),s.after(s=d)),f.bindUnbindEvents(!0);break;case"listInput":n.listInput&&n.listInput.val(f.files.list(!0,null,!1,t))}},onChange:function(e,t){var i=s.get(0).files;if(t){if(!t.length)return f.set("input",""),f.files.clear(),!1;i=t}if(f.clipboard._timer&&f.clipboard.clean(),!f.isDefaultMode()||(f.reset(),0!=i.length)){if(n.beforeSelect&&$.isFunction(n.beforeSelect)&&0==n.beforeSelect(i,l,p,o,s))return!1;for(var r=0,a=0;a<i.length;a++){var d=i[a],u=f._itFl[f.files.add(d,"choosed")],c=f.files.check(u,i,0==a);if(!0===c)n.thumbnails&&f.thumbnails.item(u),f.isUploadMode()&&f.upload.prepare(u),n.onSelect&&$.isFunction(n.onSelect)&&n.onSelect(u,l,p,o,s),r++;else if(f.files.remove(u,!0),c[2]||(f.isDefaultMode()&&(f.set("input",""),f.reset(),c[3]=!0),c[1]&&f._assets.dialogs.alert(c[1],u,l,p,o,s)),c[3])break}f.isUploadMode()&&0<r&&f.set("input",""),f.set("feedback",null),f.isAddMoreMode()&&0<r&&f.set("nextInput"),f.set("listInput",null),n.afterSelect&&$.isFunction(n.afterSelect)&&n.afterSelect(l,p,o,s)}},thumbnails:{create:function(){null!=n.thumbnails.beforeShow&&$.isFunction(n.thumbnails.beforeShow)&&n.thumbnails.beforeShow(p,o,s);var e=$(f._assets.textParse(n.thumbnails.box)).appendTo(n.thumbnails.boxAppendTo?n.thumbnails.boxAppendTo:p);l=e.is(n.thumbnails._selectors.list)?e:e.find(n.thumbnails._selectors.list),n.thumbnails._selectors.popup_open&&l.on("click",n.thumbnails._selectors.popup_open,(function(e){e.preventDefault();var t=$(this).closest(n.thumbnails._selectors.item),o=f.files.find(t);o&&o.popup&&o.html.hasClass("file-has-popup")&&f.thumbnails.popup(o)})),f.isUploadMode()&&n.thumbnails._selectors.start&&l.on("click",n.thumbnails._selectors.start,(function(e){if(e.preventDefault(),f.locked)return!1;var t=$(this).closest(n.thumbnails._selectors.item),o=f.files.find(t);o&&f.upload.send(o,!0)})),f.isUploadMode()&&n.thumbnails._selectors.retry&&l.on("click",n.thumbnails._selectors.retry,(function(e){if(e.preventDefault(),f.locked)return!1;var t=$(this).closest(n.thumbnails._selectors.item),o=f.files.find(t);o&&f.upload.retry(o)})),n.thumbnails._selectors.rotate&&l.on("click",n.thumbnails._selectors.rotate,(function(e){if(e.preventDefault(),f.locked)return!1;var t=$(this).closest(n.thumbnails._selectors.item),o=f.files.find(t);o&&o.editor&&(o.editor.rotate(),o.editor.save())})),n.thumbnails._selectors.remove&&l.on("click",n.thumbnails._selectors.remove,(function(e){if(e.preventDefault(),f.locked)return!1;function t(e){f.files.remove(i)}var o=$(this).closest(n.thumbnails._selectors.item),i=f.files.find(o);i&&(i.upload&&"successful"!=i.upload.status?f.upload.cancel(i):n.thumbnails.removeConfirmation&&!i.choosed?f._assets.dialogs.confirm(f._assets.textParse(n.captions.removeConfirmation,i),t):t())}))},clear:function(){l&&l.html("")},item:function(e,t){e.icon=f.thumbnails.generateFileIcon(e.format,e.extension),e.image='<div class="fileuploader-item-image"></div>',e.progressBar=f.isUploadMode()?'<div class="fileuploader-progressbar"><div class="bar"></div></div>':"",e.html=$(f._assets.textParse(e.appended&&n.thumbnails.item2?n.thumbnails.item2:n.thumbnails.item,e)),e.progressBar=e.html.find(".fileuploader-progressbar"),e.html.addClass("file-type-"+(e.format?e.format:"no")+" file-ext-"+(e.extension?e.extension:"no")),t?t.replaceWith(e.html):e.html[n.thumbnails.itemPrepend?"prependTo":"appendTo"](l),n.thumbnails.popup&&!1!==e.data.popup&&(e.html.addClass("file-has-popup"),e.popup={open:function(){f.thumbnails.popup(e)}}),f.thumbnails.renderThumbnail(e),e.renderThumbnail=function(t){t&&e.popup&&e.popup.close&&(e.popup.close(),e.popup={open:e.popup.open}),f.thumbnails.renderThumbnail(e,!0,t)},null!=n.thumbnails.onItemShow&&$.isFunction(n.thumbnails.onItemShow)&&n.thumbnails.onItemShow(e,l,p,o,s)},generateFileIcon:function(e,t){var o='<div style="${style}" class="fileuploader-item-icon${class}"><i>'+(t||"")+"</i></div>",i=f._assets.textToColor(t);return i&&(f._assets.isBrightColor(i)&&(o=o.replace("${class}"," is-bright-color")),o=o.replace("${style}","background-color: "+i)),o.replace("${style}","").replace("${class}","")},renderThumbnail:function(e,t,i){function r(t){var i=$(t);d.removeClass("fileuploader-no-thumbnail fileuploader-loading").html(i),e.html.hasClass("file-will-popup")&&e.html.removeClass("file-will-popup").addClass("file-has-popup"),i.is("img")&&i.attr("draggable","false").on("load error",(function(e){"error"==e.type&&c()})),null!=n.thumbnails.onImageLoaded&&$.isFunction(n.thumbnails.onImageLoaded)&&n.thumbnails.onImageLoaded(e,l,p,o,s)}function a(){var t=0;if(e&&-1<f._pfrL.indexOf(e))for(f._pfrL.splice(f._pfrL.indexOf(e),1);t<f._pfrL.length;){if(-1<f._itFl.indexOf(f._pfrL[t])){setTimeout((function(){f.thumbnails.renderThumbnail(f._pfrL[t],!0)}),"image"==e.format&&1.8<e.size/1e6?200:0);break}f._pfrL.splice(t,1),t++}}var d=e.html.find(".fileuploader-item-image"),u=e.data&&(e.data.readerSkip||!1===e.data.thumbnail),c=function(){d.addClass("fileuploader-no-thumbnail"),d.removeClass("fileuploader-loading").html(e.icon),e.html.hasClass("file-will-popup")&&e.html.removeClass("file-will-popup").addClass("file-has-popup"),null!=n.thumbnails.onImageLoaded&&$.isFunction(n.thumbnails.onImageLoaded)&&n.thumbnails.onImageLoaded(e,l,p,o,s)};if(d.length){if(e.image=d.html("").addClass("fileuploader-loading"),(-1<["image","video","audio","astext"].indexOf(e.format)||e.data.thumbnail)&&f.isFileReaderSupported()&&!u&&(e.appended||n.thumbnails.startImageRenderer||t)){if(e.html.hasClass("file-has-popup")&&e.html.removeClass("file-has-popup").addClass("file-will-popup"),n.thumbnails.synchronImages&&(-1!=f._pfrL.indexOf(e)||t||f._pfrL.push(e),1<f._pfrL.length&&!t))return;var h=function(t,o){function i(){var e;n.thumbnails.canvasImage?(e=document.createElement("canvas"),f.editor.resize(this,e,n.thumbnails.canvasImage.width?n.thumbnails.canvasImage.width:d.width(),n.thumbnails.canvasImage.height?n.thumbnails.canvasImage.height:d.height(),!1,!0),f._assets.isBlankCanvas(e)?c():r(e)):r(this),a()}function l(){u=null,c(),a()}var s=t&&t.nodeName&&"img"==t.nodeName.toLowerCase(),p=s?t.src:t,u=null;return t?o&&"image"==e.format&&e.reader.node?i.call(e.reader.node):s?i.call(t):((u=new Image).onload=i,u.onerror=l,e.data&&e.data.readerCrossOrigin&&u.setAttribute("crossOrigin",e.data.readerCrossOrigin),void(u.src=p)):l()};return"string"==typeof i||"object"==typeof i?h(i):f.files.read(e,(function(){h(e.reader.frame||(e.reader.node&&"img"==e.reader.node.nodeName.toLowerCase()?e.reader.src:null),!0)}),null,i,!0)}c()}else a()},popup:function(e,t){var i,r,a;!f.locked&&n.thumbnails.popup&&n.thumbnails._selectors.popup&&(i=$(n.thumbnails.popup.container),r=i.find(".fileuploader-popup"),a=function(){function a(t){var o=t.which||t.keyCode;27==o&&e.popup&&e.popup.close&&e.popup.close(),37!=o&&39!=o||!n.thumbnails.popup.arrows||e.popup.move(37==o?"prev":"next")}var d=e.popup.html||$(f._assets.textParse(n.thumbnails.popup.template,e)),u=e.popup.html!==d;r.removeClass("loading"),r.children(n.thumbnails._selectors.popup).length&&($.each(f._itFl,(function(o,i){i!=e&&i.popup&&i.popup.close&&i.popup.close(t)})),r.find(n.thumbnails._selectors.popup).remove()),d.show().appendTo(r),e.popup.html=d,e.popup.isOpened=!0,e.popup.move=function(t){var o=f._itFl.indexOf(e),i=null,r=!1;if("prev"==(t=n.thumbnails.itemPrepend?"prev"==t?"next":"prev":t))for(var a=o;0<=a;a--){if((l=f._itFl[a])!=e&&l.popup&&l.html.hasClass("file-has-popup")){i=l;break}0!=a||i||r||!n.thumbnails.popup.loop||(a=f._itFl.length,r=!0)}else{var l;for(a=o;a<f._itFl.length;a++){if((l=f._itFl[a])!=e&&l.popup&&l.html.hasClass("file-has-popup")){i=l;break}a+1!=f._itFl.length||i||r||!n.thumbnails.popup.loop||(a=-1,r=!0)}}i&&f.thumbnails.popup(i,!0)},e.popup.close=function(t){e.popup.node&&e.popup.node.pause&&e.popup.node.pause(),$(window).off("keyup",a),i.css({overflow:"",width:""}),e.popup.editor&&e.popup.editor.cropper&&e.popup.editor.cropper.hide(),e.popup.zoomer&&e.popup.zoomer.hide(),e.popup.isOpened=!1,e.popup.html&&n.thumbnails.popup.onHide&&$.isFunction(n.thumbnails.popup.onHide)?n.thumbnails.popup.onHide(e,l,p,o,s):e.popup.html&&e.popup.html.remove(),t||r.fadeOut(400,(function(){r.remove()})),delete e.popup.close},e.popup.node?(u&&d.html(d.html().replace(/\$\{reader\.node\}/,'<div class="reader-node"></div>')).find(".reader-node").html(e.popup.node),e.popup.node.controls=!0,e.popup.node.currentTime=0,e.popup.node.play&&e.popup.node.play()):u&&d.find(".fileuploader-popup-node").html('<div class="reader-node"><div class="fileuploader-popup-file-icon file-type-'+e.format+" file-ext-"+e.extension+'">'+e.icon+"</div></div>"),$(window).on("keyup",a),i.css({overflow:"hidden",width:i.innerWidth()}),e.popup.html.find('[data-action="prev"], [data-action="next"]').removeAttr("style"),e.popup.html[1!=f._itFl.length&&n.thumbnails.popup.arrows?"addClass":"removeClass"]("fileuploader-popup-has-arrows"),n.thumbnails.popup.loop||(0==f._itFl.indexOf(e)&&e.popup.html.find('[data-action="prev"]').hide(),f._itFl.indexOf(e)==f._itFl.length-1&&e.popup.html.find('[data-action="next"]').hide()),u&&e.popup.zoomer&&(e.popup.zoomer=null),f.editor.zoomer(e),e.editor&&(e.popup.editor||(e.popup.editor={}),f.editor.rotate(e,e.editor.rotation||0,!0),e.popup.editor&&e.popup.editor.cropper&&(e.popup.editor.cropper.hide(!0),setTimeout((function(){f.editor.crop(e,e.editor.crop?$.extend({},e.editor.crop):e.popup.editor.cropper.setDefaultData())}),100))),e.popup.html.on("click",'[data-action="prev"]',(function(t){e.popup.move("prev")})).on("click",'[data-action="next"]',(function(t){e.popup.move("next")})).on("click",'[data-action="crop"]',(function(t){e.editor&&e.editor.cropper()})).on("click",'[data-action="rotate-cw"]',(function(t){e.editor&&e.editor.rotate()})).on("click",'[data-action="zoom-in"]',(function(t){e.popup.zoomer&&e.popup.zoomer.zoomIn()})).on("click",'[data-action="zoom-out"]',(function(t){e.popup.zoomer&&e.popup.zoomer.zoomOut()})),n.thumbnails.popup.onShow&&$.isFunction(n.thumbnails.popup.onShow)&&n.thumbnails.popup.onShow(e,l,p,o,s)},0==r.length&&(r=$('<div class="fileuploader-popup"></div>').appendTo(i)),r.fadeIn(400).addClass("loading").find(n.thumbnails._selectors.popup).fadeOut(150),(-1<["image","video","audio","astext"].indexOf(e.format)||-1<["application/pdf"].indexOf(e.type))&&!e.popup.html?f.files.read(e,(function(){e.reader.node&&(e.popup.node=e.reader.node),"image"==e.format&&e.reader.node?(e.popup.node=e.reader.node.cloneNode(),e.popup.node.complete?a():(e.popup.node.src="",e.popup.node.onload=e.popup.node.onerror=a,e.popup.node.src=e.reader.node.src)):a()})):a())}},editor:{rotate:function(e,t,o){if(!(e.popup&&e.popup.html&&$("html").find(e.popup.html).length)){var i=e.editor.rotation||0,n=t||i+90;return 360<=n&&(n=0),e.popup.editor&&(e.popup.editor.rotation=n),e.editor.rotation=n}if(e.popup.node){if(e.popup.editor.isAnimating)return;e.popup.editor.isAnimating=!0;var r=e.popup.html.find(".fileuploader-popup-node").find(".reader-node"),a=r.find("> img"),l={rotation:i=e.popup.editor.rotation||0,scale:e.popup.editor.scale||1};e.popup.editor.cropper&&e.popup.editor.cropper.$template.hide(),e.popup.editor.rotation=o?t:i+90,e.popup.editor.scale=(r.height()/a[-1<[90,270].indexOf(e.popup.editor.rotation)?"width":"height"]()).toFixed(3),a.height()*e.popup.editor.scale>r.width()&&-1<[90,270].indexOf(e.popup.editor.rotation)&&(e.popup.editor.scale=r.height()/a.width()),1<e.popup.editor.scale&&(e.popup.editor.scale=1),$(l).stop().animate({rotation:e.popup.editor.rotation,scale:e.popup.editor.scale},{duration:o?2:300,easing:"swing",step:function(e,t){var o,i,n,r=a.css("-webkit-transform")||a.css("-moz-transform")||a.css("transform")||"none",l=0,s=1,p=t.prop;"none"!==r&&(i=(o=r.split("(")[1].split(")")[0].split(","))[0],n=o[1],l="rotation"==p?e:Math.round(Math.atan2(n,i)*(180/Math.PI)),s="scale"==p?e:Math.round(10*Math.sqrt(i*i+n*n))/10),a.css({"-webkit-transform":"rotate("+l+"deg) scale("+s+")","-moz-transform":"rotate("+l+"deg) scale("+s+")",transform:"rotate("+l+"deg) scale("+s+")"})},always:function(){delete e.popup.editor.isAnimating,e.popup.editor.cropper&&!o&&(e.popup.editor.cropper.setDefaultData(),e.popup.editor.cropper.init("rotation"))}}),360<=e.popup.editor.rotation&&(e.popup.editor.rotation=0),e.popup.editor.rotation!=e.editor.rotation&&(e.popup.editor.hasChanges=!0)}},crop:function(e,t){var o,i,r;if(!(e.popup&&e.popup.html&&$("html").find(e.popup.html).length))return e.editor.crop=t||e.editor.crop;e.popup.node&&(e.popup.editor.cropper?(t&&(e.popup.editor.cropper.crop=t),e.popup.editor.cropper.init(t)):(o=e.popup.html.find(".fileuploader-popup-node .reader-node > img"),r=(i=$('<div class="fileuploader-cropper"><div class="fileuploader-cropper-area"><div class="point point-a"></div><div class="point point-b"></div><div class="point point-c"></div><div class="point point-d"></div><div class="point point-e"></div><div class="point point-f"></div><div class="point point-g"></div><div class="point point-h"></div><div class="area-move"></div><div class="area-image"></div><div class="area-info"></div></div></div>')).find(".fileuploader-cropper-area"),e.popup.editor.cropper={$imageEl:o,$template:i,$editor:r,isCropping:!1,crop:t||null,init:function(t){var o=e.popup.editor.cropper,r=o.$imageEl.position(),a=o.$imageEl[0].getBoundingClientRect().width,l=o.$imageEl[0].getBoundingClientRect().height,s=e.popup.editor.rotation&&-1<[90,270].indexOf(e.popup.editor.rotation)?e.popup.editor.scale:1;if(o.hide(),o.crop||o.setDefaultData(),0==a||0==l)return o.hide(!0);o.isCropping||(o.$imageEl.clone().appendTo(o.$template.find(".area-image")),o.$imageEl.parent().append(i)),o.$template.hide().css({left:r.left,top:r.top,width:a,height:l}).fadeIn(150),o.$editor.hide(),clearTimeout(o._editorAnimationTimeout),o._editorAnimationTimeout=setTimeout((function(){var i,r;delete o._editorAnimationTimeout,o.$editor.fadeIn(250),e.editor.crop&&$.isPlainObject(t)&&(o.resize(),o.crop.left=o.crop.left*o.crop.cfWidth*s,o.crop.width=o.crop.width*o.crop.cfWidth*s,o.crop.top=o.crop.top*o.crop.cfHeight*s,o.crop.height=o.crop.height*o.crop.cfHeight*s),n.editor.cropper&&(n.editor.cropper.maxWidth||n.editor.cropper.maxHeight)&&(n.editor.cropper.maxWidth&&(o.crop.width=Math.min(n.editor.cropper.maxWidth*o.crop.cfWidth,o.crop.width)),n.editor.cropper.maxHeight&&(o.crop.height=Math.min(n.editor.cropper.maxHeight*o.crop.cfHeight,o.crop.height)),e.editor.crop&&"rotation"!=t||"resize"==t||(o.crop.left=(o.$template.width()-o.crop.width)/2,o.crop.top=(o.$template.height()-o.crop.height)/2)),e.editor.crop&&"rotation"!=t||!n.editor.cropper||!n.editor.cropper.ratio||"resize"==t||(i=n.editor.cropper.ratio,(r=f._assets.ratioToPx(o.crop.width,o.crop.height,i))&&(o.crop.width=Math.min(o.crop.width,r[0]),o.crop.left=(o.$template.width()-o.crop.width)/2,o.crop.height=Math.min(o.crop.height,r[1]),o.crop.top=(o.$template.height()-o.crop.height)/2)),o.drawPlaceHolder(o.crop)}),400),n.editor.cropper&&n.editor.cropper.showGrid&&o.$editor.addClass("has-grid"),o.$imageEl.attr("draggable","false"),o.$template.on("mousedown touchstart",o.mousedown),$(window).on("resize",o.resize),o.isCropping=!0,e.popup.editor.hasChanges=!0},setDefaultData:function(){var t=e.popup.editor.cropper,o=t.$imageEl,i=(o.get(0).getBoundingClientRect(),o.width()),n=o.height(),r=e.popup.editor.rotation&&-1<[90,270].indexOf(e.popup.editor.rotation),a=e.popup.editor.scale||1;return t.crop={left:0,top:0,width:r?n*a:i,height:r?i*a:n,cfWidth:i/e.reader.width,cfHeight:n/e.reader.height},null},hide:function(t){var o=e.popup.editor.cropper;t&&(o.$template.hide(),o.$editor.hide()),o.$imageEl.attr("draggable",""),o.$template.off("mousedown touchstart",o.mousedown),$(window).off("resize",o.resize)},resize:function(t){var o=e.popup.editor.cropper,i=o.$imageEl;0<i.width()&&(t?(o.$template.hide(),clearTimeout(o._resizeTimeout),o._resizeTimeout=setTimeout((function(){delete o._resizeTimeout;var t=i.width()/e.reader.width,n=i.height()/e.reader.height;o.crop.left=o.crop.left/o.crop.cfWidth*t,o.crop.width=o.crop.width/o.crop.cfWidth*t,o.crop.top=o.crop.top/o.crop.cfHeight*n,o.crop.height=o.crop.height/o.crop.cfHeight*n,o.crop.cfWidth=t,o.crop.cfHeight=n,o.init("resize")}),500)):(o.crop.cfWidth=i.width()/e.reader.width,o.crop.cfHeight=i.height()/e.reader.height))},drawPlaceHolder:function(t){var o=e.popup.editor.cropper,i=e.popup.editor.rotation||0,n=e.popup.editor.scale||1,r=[0,0];t&&(t=$.extend({},t),i&&(r=[180==i||270==i?-100:0,90==i||180==i?-100:0]),o.$editor.css(t),o.setAreaInfo(),o.$editor.find(".area-image img").removeAttr("style").css({width:o.$imageEl.width(),height:o.$imageEl.height(),left:-1*o.$editor.position().left,top:-1*o.$editor.position().top,"-webkit-transform":"rotate("+i+"deg) scale("+n+") translateX("+r[0]+"%) translateY("+r[1]+"%)","-moz-transform":"rotate("+i+"deg) scale("+n+") translateX("+r[0]+"%) translateY("+r[1]+"%)",transform:"rotate("+i+"deg) scale("+n+") translateX("+r[0]+"%) translateY("+r[1]+"%)"}))},setAreaInfo:function(t){var o=e.popup.editor.cropper,i=e.popup.editor.scale||1;o.$editor.find(".area-info").html((o.isResizing||"size"==t?["W: "+Math.round(o.crop.width/o.crop.cfWidth/i)+"px"," ","H: "+Math.round(o.crop.height/o.crop.cfHeight/i)+"px"]:["X: "+Math.round(o.crop.left/o.crop.cfWidth/i)+"px"," ","Y: "+Math.round(o.crop.top/o.crop.cfHeight/i)+"px"]).join(""))},mousedown:function(t){function o(){a.pointData={el:r,x:l.x,y:l.y,xEditor:l.x-a.crop.left,yEditor:l.y-a.crop.top,left:a.crop.left,top:a.crop.top,width:a.crop.width,height:a.crop.height},(a.isMoving||a.isResizing)&&(a.setAreaInfo("size"),a.$editor.addClass("moving show-info"),$("body").css({"-webkit-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none"}),$(document).on("mousemove touchmove",a.mousemove))}var i=t.originalEvent.touches&&t.originalEvent.touches[0]?"touchstart":"mousedown",r=$(t.target),a=e.popup.editor.cropper,l={x:("mousedown"==i?t.pageX:t.originalEvent.touches[0].pageX)-a.$template.offset().left,y:("mousedown"==i?t.pageY:t.originalEvent.touches[0].pageY)-a.$template.offset().top};if(3==t.which)return!0;e.popup.zoomer&&e.popup.zoomer.hasSpacePressed||(a.isMoving=r.is(".area-move"),a.isResizing=r.is(".point"),"mousedown"==i&&o(),"touchstart"==i&&1==t.originalEvent.touches.length&&((a.isMoving||a.isResizing)&&t.preventDefault(),a.isTouchLongPress=!0,setTimeout((function(){a.isTouchLongPress&&(delete a.isTouchLongPress,o())}),n.thumbnails.touchDelay?n.thumbnails.touchDelay:0)),$(document).on("mouseup touchend",a.mouseup))},mousemove:function(t){var o,i,r,a,l,s,p,d,u,c,h,m,g,v=t.originalEvent.touches&&t.originalEvent.touches[0]?"touchstart":"mousedown",b=($(t.target),e.popup.editor.cropper),w={x:("mousedown"==v?t.pageX:t.originalEvent.touches[0].pageX)-b.$template.offset().left,y:("mousedown"==v?t.pageY:t.originalEvent.touches[0].pageY)-b.$template.offset().top};if(t.originalEvent.touches&&1!=t.originalEvent.touches.length)return b.mouseup(t);b.isMoving&&(o=w.x-b.pointData.xEditor,i=w.y-b.pointData.yEditor,o+b.crop.width>b.$template.width()&&(o=b.$template.width()-b.crop.width),o<0&&(o=0),i+b.crop.height>b.$template.height()&&(i=b.$template.height()-b.crop.height),i<0&&(i=0),b.crop.left=o,b.crop.top=i),b.isResizing&&(r=b.pointData.el.attr("class").substr("point point-".length),a=b.crop.left+b.crop.width,l=b.crop.top+b.crop.height,s=(n.editor.cropper&&n.editor.cropper.minWidth||0)*b.crop.cfWidth,p=(n.editor.cropper&&n.editor.cropper.minHeight||0)*b.crop.cfHeight,d=(n.editor.cropper&&n.editor.cropper.maxWidth)*b.crop.cfWidth,u=(n.editor.cropper&&n.editor.cropper.maxHeight)*b.crop.cfHeight,c=n.editor.cropper?n.editor.cropper.ratio:null,s>b.$template.width()&&(s=b.$template.width()),p>b.$template.height()&&(p=b.$template.height()),d>b.$template.width()&&(d=b.$template.width()),u>b.$template.height()&&(u=b.$template.height()),"a"!=r&&"b"!=r&&"c"!=r||h||(b.crop.top=w.y,b.crop.top<0&&(b.crop.top=0),b.crop.height=l-b.crop.top,b.crop.top>b.crop.top+b.crop.height&&(b.crop.top=l,b.crop.height=0),b.crop.height<p&&(b.crop.top=l-p,b.crop.height=p),b.crop.height>u&&(b.crop.top=l-u,b.crop.height=u),(h=c?f._assets.ratioToPx(b.crop.width,b.crop.height,c):null)&&(b.crop.width=h[0],"a"!=r&&"b"!=r||(b.crop.left=Math.max(0,b.pointData.left+(b.pointData.width-b.crop.width)/("b"==r?2:1))),b.crop.left+b.crop.width>b.$template.width()&&(m=b.$template.width()-b.crop.left,b.crop.width=m,b.crop.height=m/h[2]*h[3],b.crop.top=l-b.crop.height))),"e"!=r&&"f"!=r&&"g"!=r||h||(b.crop.height=w.y-b.crop.top,b.crop.height+b.crop.top>b.$template.height()&&(b.crop.height=b.$template.height()-b.crop.top),b.crop.height<p&&(b.crop.height=p),b.crop.height>u&&(b.crop.height=u),(h=c?f._assets.ratioToPx(b.crop.width,b.crop.height,c):null)&&(b.crop.width=h[0],"f"!=r&&"g"!=r||(b.crop.left=Math.max(0,b.pointData.left+(b.pointData.width-b.crop.width)/("f"==r?2:1))),b.crop.left+b.crop.width>b.$template.width()&&(m=b.$template.width()-b.crop.left,b.crop.width=m,b.crop.height=m/h[2]*h[3]))),"c"!=r&&"d"!=r&&"e"!=r||h||(b.crop.width=w.x-b.crop.left,b.crop.width+b.crop.left>b.$template.width()&&(b.crop.width=b.$template.width()-b.crop.left),b.crop.width<s&&(b.crop.width=s),b.crop.width>d&&(b.crop.width=d),(h=c?f._assets.ratioToPx(b.crop.width,b.crop.height,c):null)&&(b.crop.height=h[1],"c"!=r&&"d"!=r||(b.crop.top=Math.max(0,b.pointData.top+(b.pointData.height-b.crop.height)/("d"==r?2:1))),b.crop.top+b.crop.height>b.$template.height()&&(g=b.$template.height()-b.crop.top,b.crop.height=g,b.crop.width=g/h[3]*h[2]))),"a"!=r&&"g"!=r&&"h"!=r||h||(b.crop.left=w.x,b.crop.left>b.$template.width()&&(b.crop.left=b.$template.width()),b.crop.left<0&&(b.crop.left=0),b.crop.width=a-b.crop.left,b.crop.left>b.crop.left+b.crop.width&&(b.crop.left=a,b.crop.width=0),b.crop.width<s&&(b.crop.left=a-s,b.crop.width=s),b.crop.width>d&&(b.crop.left=a-d,b.crop.width=d),(h=c?f._assets.ratioToPx(b.crop.width,b.crop.height,c):null)&&(b.crop.height=h[1],"a"!=r&&"h"!=r||(b.crop.top=Math.max(0,b.pointData.top+(b.pointData.height-b.crop.height)/("h"==r?2:1))),b.crop.top+b.crop.height>b.$template.height()&&(g=b.$template.height()-b.crop.top,b.crop.height=g,b.crop.width=g/h[3]*h[2],b.crop.left=a-b.crop.width)))),b.drawPlaceHolder(b.crop)},mouseup:function(t){var o=e.popup.editor.cropper;0!=o.$editor.width()&&0!=o.$editor.height()||o.init(o.setDefaultData()),delete o.isTouchLongPress,delete o.isMoving,delete o.isResizing,o.$editor.removeClass("moving show-info"),$("body").css({"-webkit-user-select":"","-moz-user-select":"","-ms-user-select":"","user-select":""}),$(document).off("mousemove touchmove",o.mousemove),$(document).off("mouseup touchend",o.mouseup)}},e.popup.editor.cropper.init()))},resize:function(e,t,o,i,n,r){var a=t.getContext("2d"),l=(o=!o&&i?i*e.width/e.height:o,i=!i&&o?o*e.height/e.width:i,e.width/e.height),s=1<=l?o:i*l,p=l<1?i:o/l;r&&s<o&&(p*=o/s,s=o),r&&p<i&&(s*=i/p,p=i);var d=Math.min(Math.ceil(Math.log(e.width/s)/Math.log(2)),12);if(t.width=s,t.height=p,e.width<t.width||e.height<t.height||d<2){r||(t.width=Math.min(e.width,t.width),t.height=Math.min(e.height,t.height));var u=e.width<t.width?(t.width-e.width)/2:0,c=e.height<t.height?(t.height-e.height)/2:0;n||(a.fillStyle="#fff",a.fillRect(0,0,t.width,t.height)),a.drawImage(e,u,c,Math.min(e.width,t.width),Math.min(e.height,t.height))}else{var f=document.createElement("canvas"),h=f.getContext("2d"),m=2;for(f.width=e.width/m,f.height=e.height/m,h.fillStyle="#fff",h.fillRect(0,0,f.width,f.height),h.imageSmoothingEnabled=!1,h.imageSmoothingQuality="high",h.drawImage(e,0,0,f.width,f.height);2<d;){var g=m+2,v=e.width/m,b=e.height/m;v>f.width&&(v=f.width),b>f.height&&(b=f.height),h.imageSmoothingEnabled=!0,h.drawImage(f,0,0,v,b,0,0,e.width/g,e.height/g),m=g,d--}v=e.width/m,b=e.height/m,v>f.width&&(v=f.width),b>f.height&&(b=f.height),a.drawImage(f,0,0,v,b,0,0,s,p),f=h=null}a=null},zoomer:function(e){var t,o,i,r;e.popup&&e.popup.html&&$("html").find(e.popup.html).length&&(e.popup.zoomer||(t=e.popup.html,o=t.find(".fileuploader-popup-node"),i=o.find(".reader-node"),r=i.find("> img").attr("draggable","false").attr("ondragstart","return false;"),e.popup.zoomer={html:t.find(".fileuploader-popup-zoomer"),isActive:"image"==e.format&&e.popup.node&&n.thumbnails.popup.zoomer,scale:100,zoom:100,init:function(){var e=this;if(!e.isActive||f._assets.isIE()||f._assets.isMobile())return e.html.hide()&&o.addClass("has-node-centered");e.hide(),e.resize(),$(window).on("resize",e.resize),$(window).on("keyup keydown",e.keyPress),e.html.find("input").on("input change",e.range),i.on("mousedown touchstart",e.mousedown),o.on("mousewheel DOMMouseScroll",e.scroll)},hide:function(){var e=this;$(window).off("resize",e.resize),$(window).off("keyup keydown",e.keyPress),e.html.find("input").off("input change",e.range),i.off("mousedown",e.mousedown),o.off("mousewheel DOMMouseScroll",e.scroll)},center:function(e){var t=this,n=0,r=0;r=e?(n=t.left,r=t.top,n-=(o.width()/2-t.left)*(i.width()/e[0]-1),r-=(o.height()/2-t.top)*(i.height()/e[1]-1),i.width()<=o.width()&&(n=Math.round((o.width()-i.width())/2)),i.height()<=o.height()&&(r=Math.round((o.height()-i.height())/2)),i.width()>o.width()&&(0<n?n=0:n+i.width()<o.width()&&(n=o.width()-i.width())),i.height()>o.height()&&(0<r?r=0:r+i.height()<o.height()&&(r=o.height()-i.height())),Math.min(r,0)):(n=Math.round((o.width()-i.width())/2),Math.round((o.height()-i.height())/2));i.css({left:(t.left=n)+"px",top:(t.top=r)+"px",width:i.width(),height:i.height()})},resize:function(){var t=e.popup.zoomer;o.removeClass("is-zoomed"),i.removeAttr("style"),t.scale=t.getImageScale(),t.updateView()},range:function(t){var o=e.popup.zoomer,i=$(this),n=parseFloat(i.val());if(100<=o.scale)return t.preventDefault(),void i.val(o.scale);n<o.scale&&(t.preventDefault(),n=o.scale,i.val(n)),o.updateView(n,!0)},scroll:function(t){var o=e.popup.zoomer,i=-100;t.originalEvent&&(t.originalEvent.wheelDelta&&(i=t.originalEvent.wheelDelta/-40),t.originalEvent.deltaY&&(i=t.originalEvent.deltaY),t.originalEvent.detail&&(i=t.originalEvent.detail)),o[i<0?"zoomIn":"zoomOut"](3)},keyPress:function(t){var o=e.popup.zoomer,n=t.type;32==(t.keyCode||t.which)&&(o.hasSpacePressed="keydown"==n,o.hasSpacePressed&&o.isZoomed()?i.addClass("is-amoving"):i.removeClass("is-amoving"))},mousedown:function(t){function o(){a.pointData={x:p.x,y:p.y,xTarget:p.x-a.left,yTarget:p.y-a.top},$("body").css({"-webkit-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none"}),i.addClass("is-moving"),$(document).on("mousemove",a.mousemove)}var a=e.popup.zoomer,l=$(t.target),s=t.originalEvent.touches&&t.originalEvent.touches[0]?"touchstart":"mousedown",p={x:"mousedown"==s?t.pageX:t.originalEvent.touches[0].pageX,y:"mousedown"==s?t.pageY:t.originalEvent.touches[0].pageY};1==t.which&&100!=a.scale&&a.zoom!=a.scale&&(a.hasSpacePressed||l[0]==r[0]||l.is(".fileuploader-cropper"))&&("mousedown"==s&&o(),"touchstart"==s&&(a.isTouchLongPress=!0,setTimeout((function(){a.isTouchLongPress&&(delete a.isTouchLongPress,o())}),n.thumbnails.touchDelay?n.thumbnails.touchDelay:0)),$(document).on("mouseup touchend",a.mouseup))},mousemove:function(t){var n=e.popup.zoomer,r=t.originalEvent.touches&&t.originalEvent.touches[0]?"touchstart":"mousedown",a="mousedown"==r?t.pageX:t.originalEvent.touches[0].pageX,l="mousedown"==r?t.pageY:t.originalEvent.touches[0].pageY,s=a-n.pointData.xTarget,p=l-n.pointData.yTarget;0<p&&(p=0),p<o.height()-i.height()&&(p=o.height()-i.height()),i.height()<o.height()&&(p=o.height()/2-i.height()/2),i.width()>o.width()?(0<s&&(s=0),s<o.width()-i.width()&&(s=o.width()-i.width())):s=o.width()/2-i.width()/2,i.css({left:(n.left=s)+"px",top:(n.top=p)+"px"})},mouseup:function(t){var o=e.popup.zoomer;delete o.pointData,$("body").css({"-webkit-user-select":"","-moz-user-select":"","-ms-user-select":"","user-select":""}),i.removeClass("is-moving"),$(document).off("mousemove",o.mousemove),$(document).off("mouseup",o.mouseup)},zoomIn:function(t){var o=e.popup.zoomer,i=t||20;100<=o.zoom||(o.zoom=Math.min(100,o.zoom+i),o.updateView(o.zoom))},zoomOut:function(t){var o=e.popup.zoomer,i=t||20;o.zoom<=o.scale||(o.zoom=Math.max(o.scale,o.zoom-i),o.updateView(o.zoom))},updateView:function(t,n){var r=this,a=r.getImageSize().width/100*t,l=r.getImageSize().height/100*t,s=i.width(),p=i.height(),d=t&&t!=r.scale;if(!r.isActive)return r.center();d?(o.addClass("is-zoomed"),i.addClass("is-movable").css({width:a+"px",height:l+"px",maxWidth:"none",maxHeight:"none"})):(o.removeClass("is-zoomed"),i.removeClass("is-movable is-amoving").removeAttr("style")),r.zoom=t||r.scale,r.center(d?[s,p,r.left,r.top]:null),r.html.find("span").html(r.zoom+"%"),n||r.html.find("input").val(r.zoom),t&&e.popup.editor&&e.popup.editor.cropper&&e.popup.editor.cropper.resize(!0)},isZoomed:function(){return this.zoom>this.scale},getImageSize:function(){return{width:r.prop("naturalWidth"),height:r.prop("naturalHeight")}},getImageScale:function(){return Math.round(100/(r.prop("naturalWidth")/r.width()))}}),e.popup.zoomer.init())},save:function(e,t,i,r,a){function d(){if(e.reader.node){var d,u,c,h,m=document.createElement("canvas"),g=m.getContext("2d"),v=[0,180],b=i||e.type||"image/jpeg",w=n.editor.quality||90,x=function(i,d){var u=i;t&&u&&(u=f._assets.dataURItoBlob(u,b)),!a&&u&&f.thumbnails.renderThumbnail(e,!0,d||i),r&&r(u,e,l,p,o,s),null!=n.editor.onSave&&"function"==typeof n.editor.onSave&&n.editor.onSave(u,e,l,p,o,s),f.set("listInput",null)};try{m.width=e.reader.width,m.height=e.reader.height,g.drawImage(this,0,0,e.reader.width,e.reader.height),void 0!==e.editor.rotation&&(e.editor.rotation=e.editor.rotation||0,m.width=-1<v.indexOf(e.editor.rotation)?e.reader.width:e.reader.height,m.height=-1<v.indexOf(e.editor.rotation)?e.reader.height:e.reader.width,d=e.editor.rotation*Math.PI/180,u=.5*m.width,c=.5*m.height,g.clearRect(0,0,m.width,m.height),g.translate(u,c),g.rotate(d),g.translate(.5*-e.reader.width,.5*-e.reader.height),g.drawImage(this,0,0),g.setTransform(1,0,0,1,0,0)),e.editor.crop&&(h=g.getImageData(e.editor.crop.left,e.editor.crop.top,e.editor.crop.width,e.editor.crop.height),m.width=e.editor.crop.width,m.height=e.editor.crop.height,g.putImageData(h,0,0));var y,$=m.toDataURL(b,w/100);n.editor.maxWidth||n.editor.maxHeight?((y=new Image).src=$,y.onload=function(){var e=document.createElement("canvas");f.editor.resize(y,e,n.editor.maxWidth,n.editor.maxHeight,!0,!1),$=e.toDataURL(b,w/100),m=g=e=null,x($,y)}):(m=g=null,x($))}catch(d){e.popup.editor=null,m=g=null,x(null)}}}var u=e.popup&&e.popup.html&&$("html").find(e.popup.html).length,c=new Image;if(u){if(!e.popup.editor.hasChanges)return;var h=e.popup.editor.scale||1;e.editor.rotation=e.popup.editor.rotation||0,e.popup.editor.cropper&&(e.editor.crop=e.popup.editor.cropper.crop,e.editor.crop.width=e.editor.crop.width/e.popup.editor.cropper.crop.cfWidth/h,e.editor.crop.left=e.editor.crop.left/e.popup.editor.cropper.crop.cfWidth/h,e.editor.crop.height=e.editor.crop.height/e.popup.editor.cropper.crop.cfHeight/h,e.editor.crop.top=e.editor.crop.top/e.popup.editor.cropper.crop.cfHeight/h)}f._assets.isMobile()?(c.onload=d,c.src=e.reader.src):e.popup.node?d.call(e.popup.node):e.reader.node?d.call(e.reader.node):e.reader.read(e,(function(){d.call(e.reader.node)}))}},sorter:{init:function(){p.on("mousedown touchstart",n.thumbnails._selectors.sorter,f.sorter.mousedown)},destroy:function(){p.off("mousedown touchstart",n.thumbnails._selectors.sorter,f.sorter.mousedown)},findItemAtPos:function(e){var t=f.sorter.sort,o=t.items.not(t.item.html),i=null;return o.each((function(t,o){var n=$(o);if(e.x>n.offset().left&&e.x<n.offset().left+n.outerWidth()&&e.y>n.offset().top&&e.y<n.offset().top+n.outerHeight())return i=n,!1})),i},mousedown:function(e){function t(){f.sorter.sort={el:i,item:a,items:l.find(n.thumbnails._selectors.item),x:s.x,y:s.y,xItem:s.x-r.offset().left,yItem:s.y-r.offset().top,left:r.position().left,top:r.position().top,width:r.outerWidth(),height:r.outerHeight(),placeholder:n.sorter.placeholder?$(n.sorter.placeholder):$(a.html.get(0).cloneNode()).addClass("fileuploader-sorter-placeholder")},$("body").css({"-webkit-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none"}),$(document).on("mousemove touchmove",f.sorter.mousemove)}var o=e.originalEvent.touches&&e.originalEvent.touches[0]?"touchstart":"mousedown",i=$(e.target),r=i.closest(n.thumbnails._selectors.item),a=f.files.find(r),s={x:"mousedown"!=o&&r.length?e.originalEvent.touches[0].pageX:e.pageX,y:"mousedown"!=o&&r.length?e.originalEvent.touches[0].pageY:e.pageY};return f.sorter.sort&&f.sorter.mouseup(),3==e.which||!a||!(!n.sorter.selectorExclude||!i.is(n.sorter.selectorExclude)&&!i.closest(n.sorter.selectorExclude).length)||(e.preventDefault(),"mousedown"==o&&t(),"touchstart"==o&&(f.sorter.isTouchLongPress=!0,setTimeout((function(){f.sorter.isTouchLongPress&&(delete f.sorter.isTouchLongPress,t())}),n.thumbnails.touchDelay?n.thumbnails.touchDelay:0)),void $(document).on("mouseup touchend",f.sorter.mouseup))},mousemove:function(e){var t=e.originalEvent.touches&&e.originalEvent.touches[0]?"touchstart":"mousedown",o=f.sorter.sort,i=o.item,r=l.find(n.thumbnails._selectors.item),a=$(n.sorter.scrollContainer||window),s=$(document).scrollLeft(),p=$(document).scrollTop(),d=a.scrollLeft(),u=a.scrollTop(),c={x:"mousedown"==t?e.clientX:e.originalEvent.touches[0].clientX,y:"mousedown"==t?e.clientY:e.originalEvent.touches[0].clientY},h=c.x-o.xItem,m=c.y-o.yItem,g=c.x-(a.prop("offsetLeft")||0),v=c.y-(a.prop("offsetTop")||0);h+o.xItem>a.width()&&(h=a.width()-o.xItem),h+o.xItem<0&&(h=0-o.xItem),m+o.yItem>a.height()&&(m=a.height()-o.yItem),m+o.yItem<0&&(m=0-o.yItem),v<=0&&a.scrollTop(u-10),v>a.height()&&a.scrollTop(u+10),g<0&&a.scrollLeft(d-10),g>a.width()&&a.scrollLeft(d+10),i.html.addClass("sorting").css({position:"fixed",left:h,top:m,width:f.sorter.sort.width,height:f.sorter.sort.height}),l.find(o.placeholder).length||i.html.after(o.placeholder),o.placeholder.css({width:f.sorter.sort.width,height:f.sorter.sort.height});var b=f.sorter.findItemAtPos({x:h+o.xItem+s,y:m+o.yItem+p});if(b){var w=o.placeholder.offset().left!=b.offset().left,x=o.placeholder.offset().top!=b.offset().top;if(f.sorter.sort.lastHover&&f.sorter.sort.lastHover.el==b[0]){if(x&&"before"==f.sorter.sort.lastHover.direction&&c.y<f.sorter.sort.lastHover.y)return;if(x&&"after"==f.sorter.sort.lastHover.direction&&c.y>f.sorter.sort.lastHover.y)return;if(w&&"before"==f.sorter.sort.lastHover.direction&&c.x<f.sorter.sort.lastHover.x)return;if(w&&"after"==f.sorter.sort.lastHover.direction&&c.x>f.sorter.sort.lastHover.x)return}var y=r.index(i.html),z=r.index(b)<y?"before":"after";b[z](o.placeholder),b[z](i.html),f.sorter.sort.lastHover={el:b[0],x:c.x,y:c.y,direction:z}}},mouseup:function(){var e=f.sorter.sort,t=e.item;$("body").css({"-webkit-user-select":"","-moz-user-select":"","-ms-user-select":"","user-select":""}),t.html.removeClass("sorting").css({position:"",left:"",top:"",width:"",height:""}),$(document).off("mousemove touchmove",f.sorter.mousemove),$(document).off("mouseup touchend",f.sorter.mouseup),e.placeholder.remove(),delete f.sorter.sort,f.sorter.save()},save:function(e){var t,i=0,r=[],a=[],d=e?f._itFl:n.thumbnails.itemPrepend?l.children().get().reverse():l.children();$.each(d,(function(e,o){var n=o.file?o:f.files.find($(o));if(n){if(n.upload&&!n.uploaded)return;f.rendered&&n.index!=i&&(f._itSl&&f._itSl.indexOf(n.id),1)&&(t=!0),n.index=i,r.push(n),a.push(n.id),i++}})),f._itSl&&f._itSl.length!=a.length&&(t=!0),f._itSl=a,t&&r.length==f._itFl.length&&(f._itFl=r),e||f.set("listInput","ignoreSorter"),t&&null!=n.sorter.onSort&&"function"==typeof n.sorter.onSort&&n.sorter.onSort(r,l,p,o,s)}},upload:{prepare:function(e,t){e.upload={url:n.upload.url,data:$.extend({},n.upload.data),formData:new FormData,type:n.upload.type||"POST",enctype:n.upload.enctype||"multipart/form-data",cache:!1,contentType:!1,processData:!1,chunk:e.upload?e.upload.chunk:null,status:null,send:function(t){f.upload.send(e,t)},cancel:function(t){f.upload.cancel(e,t)}},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 i,r,a,d,u=function(t){e.html&&e.html.removeClass("upload-pending upload-loading upload-cancelled upload-failed upload-successful").addClass("upload-"+(t||e.upload.status))},c=function(){var t=0;if(0<f._pfuL.length)for(-1<f._pfuL.indexOf(e)&&f._pfuL.splice(f._pfuL.indexOf(e),1);t<f._pfuL.length;){if(-1<f._itFl.indexOf(f._pfuL[t])&&f._pfuL[t].upload&&!f._pfuL[t].upload.$ajax){f.upload.send(f._pfuL[t],!0);break}f._pfuL.splice(t,1),t++}};if(n.upload.synchron&&!e.upload.chunk)if(e.upload.status="pending",e.html&&u(),t)-1<f._pfuL.indexOf(e)&&f._pfuL.splice(f._pfuL.indexOf(e),1);else if(-1==f._pfuL.indexOf(e)&&f._pfuL.push(e),1<f._pfuL.length)return;if(n.upload.chunk&&e.file.slice&&(i=f._assets.toBytes(n.upload.chunk),1<(r=Math.ceil(e.size/i,i))&&!e.upload.chunk&&(e.upload.chunk={name:e.name,size:e.file.size,type:e.file.type,chunkSize:i,temp_name:e.name,loaded:0,total:r,i:-1}),e.upload.chunk&&(e.upload.chunk.i++,delete e.upload.chunk.isFirst,delete e.upload.chunk.isLast,0==e.upload.chunk.i&&(e.upload.chunk.isFirst=!0),e.upload.chunk.i==e.upload.chunk.total-1&&(e.upload.chunk.isLast=!0),e.upload.chunk.i<=e.upload.chunk.total-1?(a=e.upload.chunk.i*e.upload.chunk.chunkSize,d=e.file.slice(a,a+e.upload.chunk.chunkSize),e.upload.formData=new FormData,e.upload.formData.append(s.attr("name"),d),e.upload.data._chunkedd=JSON.stringify(e.upload.chunk)):delete e.upload.chunk)),n.upload.beforeSend&&$.isFunction(n.upload.beforeSend)&&!1===n.upload.beforeSend(e,l,p,o,s))return delete e.upload.chunk,u(),void c();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(),u()),e.upload.data)for(var h in e.upload.data)e.upload.data.hasOwnProperty(h)&&e.upload.formData.append(h,e.upload.data[h]);e.upload.data=e.upload.formData,e.upload.xhrStartedAt=e.upload.chunk&&e.upload.chunk.xhrStartedAt?e.upload.chunk.xhrStartedAt:new Date,e.upload.xhr=function(){var t=$.ajaxSettings.xhr();return t.upload&&t.upload.addEventListener("progress",(function(t){e.upload.$ajax&&(e.upload.$ajax.total=e.upload.chunk?e.upload.chunk.size:t.total),f.upload.progressHandling(t,e,e.upload.xhrStartedAt)}),!1),t},e.upload.complete=function(t,i){if(e.upload.chunk&&!e.upload.chunk.isLast&&"success"==i)return f.upload.prepare(e,!0);c(),delete e.upload.xhrStartedAt;var r=!0;$.each(f._itFl,(function(e,t){t.upload&&t.upload.$ajax&&(r=!1)})),r&&(p.removeClass("fileuploader-is-uploading"),null!=n.upload.onComplete&&"function"==typeof n.upload.onComplete&&n.upload.onComplete(l,p,o,s,t,i))},e.upload.success=function(t,i,r){if(!e.upload.chunk||e.upload.chunk.isLast)delete e.upload.chunk,f.upload.progressHandling(null,e,e.upload.xhrStartedAt,!0),e.uploaded=!0,delete e.upload,e.upload={status:"successful",resend:function(){f.upload.retry(e)}},e.html&&u(),null!=n.upload.onSuccess&&$.isFunction(n.upload.onSuccess)&&n.upload.onSuccess(t,e,l,p,o,s,i,r),f.set("listInput",null);else try{var a=JSON.parse(t);e.upload.chunk.temp_name=a.fileuploader.temp_name}catch(t){}},e.upload.error=function(t,i,r){e.upload.chunk&&(e.upload.chunk.i=Math.max(-1,e.upload.chunk.i-1)),e.uploaded=!1,e.upload.status="cancelled"==e.upload.status?e.upload.status:"failed",e.upload.retry=function(){f.upload.retry(e)},delete e.upload.$ajax,e.html&&u(),null!=n.upload.onError&&$.isFunction(n.upload.onError)&&n.upload.onError(e,l,p,o,s,t,i,r)},e.upload.$ajax=$.ajax(e.upload)}},cancel:function(e,t){e&&e.upload&&(e.upload.status="cancelled",delete e.upload.chunk,e.upload.$ajax&&e.upload.$ajax.abort(),delete e.upload.$ajax,t||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,i,r){var a,d,u,c,h,m,g,v,b,w;!e&&r&&t.upload.$ajax&&(e={total:t.upload.$ajax.total||t.size,loaded:t.upload.$ajax.total||t.size,lengthComputable:!0}),e.lengthComputable&&(a=new Date,d=e.loaded+(t.upload.chunk?t.upload.chunk.loaded:0),u=t.upload.chunk?t.upload.chunk.size:e.total,c=Math.round(100*d/u),h=t.upload.chunk&&t.upload.chunk.xhrStartedAt?t.upload.chunk.xhrStartedAt:i,g=(m=(a.getTime()-h.getTime())/1e3)?d/m:0,v=Math.max(0,u-d),b=Math.max(0,m?v/g:0),w={loaded:d,loadedInFormat:f._assets.bytesToText(d),total:u,totalInFormat:f._assets.bytesToText(u),percentage:c,secondsElapsed:m,secondsElapsedInFormat:f._assets.secondsToText(m,!0),bytesPerSecond:g,bytesPerSecondInFormat:f._assets.bytesToText(g)+"/s",remainingBytes:v,remainingBytesInFormat:f._assets.bytesToText(v),secondsRemaining:b,secondsRemainingInFormat:f._assets.secondsToText(b,!0)},t.upload.chunk&&(t.upload.chunk.isFirst&&(t.upload.chunk.xhrStartedAt=i),e.loaded!=e.total||t.upload.chunk.isLast||(t.upload.chunk.loaded+=Math.max(e.total,t.upload.chunk.total/t.upload.chunk.chunkSize))),99<w.percentage&&!r&&(w.percentage=99),n.upload.onProgress&&$.isFunction(n.upload.onProgress)&&n.upload.onProgress(w,t,l,p,o,s))}},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)},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)))}),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).trigger("change")),null!=n.dragDrop.onDrop&&$.isFunction(n.dragDrop.onDrop)&&n.dragDrop.onDrop(e,l,p,o,s)},_dragLeaveCheck:function(e){var t=$(e.currentTarget);return!(!t.is(n.dragDrop.container)&&n.dragDrop.container.find(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 i,r,a=0;a<t.length;a++)-1===t[a].type.indexOf("image")&&-1===t[a].type.indexOf("text/uri-list")||(i=t[a].getAsFile(),r=1<n.clipboardPaste?n.clipboardPaste:2e3,i&&(i._name=f._assets.generateFileName(-1!=i.type.indexOf("/")?i.type.split("/")[1].toString().toLowerCase():"png","Clipboard "),f.set("feedback",f._assets.textParse(n.captions.paste,{ms:r/1e3})),f.clipboard._timer=setTimeout((function(){f.set("feedback",null),f.onChange(e,[i])}),r-2)))}},clean:function(){f.clipboard._timer&&(clearTimeout(f.clipboard._timer),delete f.clipboard._timer,f.set("feedback",null))}},files:{add:function(e,t){var o,i,r=e._name||e.name,a=e.size,l=f._assets.bytesToText(a),p=e.type,d=p?p.split("/",1).toString().toLowerCase():"",u=-1!=r.indexOf(".")?r.split(".").pop().toLowerCase():"",c=r.substr(0,r.length-(-1!=r.indexOf(".")?u.length+1:u.length)),h=e.data||{};return(h={name:r,title:c,size:a,size2:l,type:p,format:d,extension:u,data:h,file:e.file||e,reader:{read:function(e,t,o){return f.files.read(i,e,t,o)}},id:"updated"==t?e.id:Date.now(),input:"choosed"==t?s:null,html:null,choosed:"choosed"==t,appended:"appended"==t||"updated"==t,uploaded:"uploaded"==t}).data.listProps||(h.data.listProps={}),!h.data.url&&h.appended&&(h.data.url=h.file),"updated"!=t?(f._itFl.push(h),o=f._itFl.length-1,i=f._itFl[o]):(o=f._itFl.indexOf(e),f._itFl[o]=i=h),i.remove=function(){f.files.remove(i)},n.editor&&"image"==d&&(i.editor={rotate:!1!==n.editor.rotation?function(e){f.editor.rotate(i,e)}:null,cropper:!1!==n.editor.cropper?function(e){f.editor.crop(i,e)}:null,save:function(e,t,o,n){f.editor.save(i,t,o,e,n)}}),e.local&&(i.local=e.local),o},read:function(e,t,i,r,a){if(f.isFileReaderSupported()&&!e.data.readerSkip){var d=new FileReader,u=window.URL||window.webkitURL,c=a&&e.data.thumbnail,h="string"!=typeof e.file,m=function(){var t=e.reader._callbacks||[];e.reader._timer&&(clearTimeout(e.reader._timer),delete e.reader._timer),delete e.reader._callbacks,delete e.reader._FileReader;for(var i=0;i<t.length;i++)$.isFunction(t[i])&&t[i](e,l,p,o,s);n.onFileRead&&$.isFunction(n.onFileRead)&&n.onFileRead(e,l,p,o,s)};if((e.reader.src||e.reader._FileReader)&&!r||(e.reader={_FileReader:d,_callbacks:[],read:e.reader.read}),e.reader.src&&!r)return t&&$.isFunction(t)?t(e,l,p,o,s):null;if(t&&e.reader._callbacks&&(e.reader._callbacks.push(t),1<e.reader._callbacks.length))return;if("astext"==e.format)d.onload=function(t){var o=document.createElement("div");e.reader.node=o,e.reader.src=t.target.result,e.reader.length=t.target.result.length,o.innerHTML=e.reader.src.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),m()},d.onerror=function(){m(),e.reader={read:e.reader.read}},h?d.readAsText(e.file):$.ajax({url:e.file,success:function(e){d.onload({target:{result:e}})},error:function(){d.onerror()}});else if("image"==e.format||c){if(d.onload=function(t){function o(){e.data&&e.data.readerCrossOrigin&&i.setAttribute("crossOrigin",e.data.readerCrossOrigin),i.src=t.target.result+(!e.data.readerForce&&!r||h||c||-1!=t.target.result.indexOf("data:image")?"":(-1==t.target.result.indexOf("?")?"?":"&")+"d="+Date.now()),i.onload=function(){if(e.reader.exifOrientation){var t=document.createElement("canvas"),o=t.getContext("2d"),n=i,r=Math.abs(e.reader.exifOrientation),a=e.reader.exifOrientation<0?e.reader.exifOrientation:0,l=[0,180];1==r&&(r=0),t.width=n.naturalWidth,t.height=n.naturalHeight,o.drawImage(n,0,0),t.width=-1<l.indexOf(r)?n.naturalWidth:n.naturalHeight,t.height=-1<l.indexOf(r)?n.naturalHeight:n.naturalWidth;var s=r*Math.PI/180,p=.5*t.width,d=.5*t.height;return o.clearRect(0,0,t.width,t.height),o.translate(p,d),o.rotate(s),o.translate(.5*-n.naturalWidth,.5*-n.naturalHeight),a&&(-1<[-1,-180].indexOf(a)?(o.translate(t.width,0),o.scale(-1,1)):-1<[-90,-270].indexOf(a)&&(o.translate(0,t.width),o.scale(1,-1))),o.drawImage(n,0,0),o.setTransform(1,0,0,1,0,0),i.src=t.toDataURL(e.type,1),void delete e.reader.exifOrientation}e.reader.node=i,e.reader.src=i.src,e.reader.width=i.width,e.reader.height=i.height,e.reader.ratio=f._assets.pxToRatio(e.reader.width,e.reader.height),v&&u.revokeObjectURL(v),m(),c&&(e.reader={read:e.reader.read})},i.onerror=function(){m(),e.reader={read:e.reader.read}}}var i=new Image;n.thumbnails.exif&&e.choosed?f._assets.getExifOrientation(e.file,(function(t){var i;t&&("Chrome"==(i=f._assets.getDevice.init()).browser.name&&81<=i.browser.version?delete e.reader.exifOrientation:e.reader.exifOrientation=t),o()})):o()},d.onerror=function(){m(),e.reader={read:e.reader.read}},!c&&e.size>f._assets.toBytes(n.reader.maxSize))return d.onerror();h?n.thumbnails.useObjectUrl&&n.thumbnails.canvasImage&&u?d.onload({target:{result:v=u.createObjectURL(e.file)}}):d.readAsDataURL(e.file):d.onload({target:{result:c?e.data.thumbnail:e.file}})}else if("video"==e.format||"audio"==e.format){var g,v,b=(g=document.createElement(e.format)).canPlayType(e.type);if(d.onerror=function(){e.reader.node=null,m(),e.reader={read:e.reader.read}},u&&""!==b){if(a&&!n.thumbnails.videoThumbnail)return e.reader.node=g,m(),void(e.reader={read:e.reader.read});v=h?u.createObjectURL(e.file):e.file,g.onloadedmetadata=function(){e.reader.node=g,e.reader.src=g.src,e.reader.duration=g.duration,e.reader.duration2=f._assets.secondsToText(g.duration),"video"==e.format&&(e.reader.width=g.videoWidth,e.reader.height=g.videoHeight,e.reader.ratio=f._assets.pxToRatio(e.reader.width,e.reader.height))},g.onerror=function(){m(),e.reader={read:e.reader.read}},g.onloadeddata=function(){"video"==e.format?setTimeout((function(){var t=document.createElement("canvas"),o=t.getContext("2d");t.width=g.videoWidth,t.height=g.videoHeight,o.drawImage(g,0,0,t.width,t.height),e.reader.frame=f._assets.isBlankCanvas(t)?null:t.toDataURL(),t=o=null,m()}),300):m()},setTimeout((function(){e.data&&e.data.readerCrossOrigin&&g.setAttribute("crossOrigin",e.data.readerCrossOrigin),g.src=v+"#t=1"}),100)}else d.onerror()}else"application/pdf"==e.type&&n.thumbnails.pdf&&!i?(g=document.createElement("iframe"),v=h?u.createObjectURL(e.file):e.file,(n.thumbnails.pdf.viewer||f._assets.hasPlugin("pdf"))&&(g.src=(n.thumbnails.pdf.viewer||"")+v,e.reader.node=g,e.reader.src=v),m()):(d.onload=function(t){e.reader.src=t.target.result,e.reader.length=t.target.result.length,m()},d.onerror=function(t){m(),e.reader={read:e.reader.read}},h?d[i||"readAsBinaryString"](e.file):m());e.reader._timer=setTimeout(d.onerror,a?n.reader.thumbnailTimeout:n.reader.timeout)}else t&&t(e,l,p,o,s);return null},list:function(e,t,i,r){var a=[];return!n.sorter||i||r&&"ignoreSorter"==r||f.sorter.save(!0),$.each(f._itFl,(function(o,i){var n=i;if(n.upload&&!n.uploaded)return!0;if((t||e)&&(n=(n.choosed&&!n.uploaded?"0:/":"")+(t&&null!==f.files.getItemAttr(i,t)?f.files.getItemAttr(n,t):n.local||n["string"==typeof n.file?"file":"name"])),e&&(n={file:n},i.editor&&(i.editor.crop||i.editor.rotation)&&(n.editor={},i.editor.rotation&&(n.editor.rotation=i.editor.rotation),i.editor.crop&&(n.editor.crop=i.editor.crop)),void 0!==i.index&&(n.index=i.index),i.data&&i.data.listProps))for(var r in i.data.listProps)n[r]=i.data.listProps[r];a.push(n)})),a=n.onListInput&&$.isFunction(n.onListInput)?n.onListInput(a,f._itFl,n.listInput,l,p,o,s):a,e?JSON.stringify(a):a},check:function(e,t,i){var r=["warning",null,!1,!1];if(null!=n.limit&&i&&t.length+f._itFl.length-1>n.limit)return r[1]=f._assets.textParse(n.captions.errors.filesLimit),r[3]=!0,r;if(null!=n.maxSize&&i){var a=0;if($.each(f._itFl,(function(e,t){a+=t.size})),a-=e.size,$.each(t,(function(e,t){a+=t.size})),a>f._assets.toBytes(n.maxSize))return r[1]=f._assets.textParse(n.captions.errors.filesSizeAll),r[3]=!0,r}return null!=n.onFilesCheck&&$.isFunction(n.onFilesCheck)&&i&&!1===n.onFilesCheck(t,n,l,p,o,s)?(r[3]=!0,r):null==n.extensions||-1!=$.inArray(e.extension,n.extensions)||n.extensions.filter((function(t){return e.type.length&&(-1<t.indexOf(e.type)||-1<t.indexOf(e.format+"/*"))})).length?null!=n.disallowedExtensions&&(-1<$.inArray(e.extension,n.disallowedExtensions)||n.disallowedExtensions.filter((function(t){return!e.type.length||-1<t.indexOf(e.type)||-1<t.indexOf(e.format+"/*")})).length)?(r[1]=f._assets.textParse(n.captions.errors.filesType,e),r):null!=n.fileMaxSize&&e.size>f._assets.toBytes(n.fileMaxSize)?(r[1]=f._assets.textParse(n.captions.errors.fileSize,e),r):0==e.size&&""==e.type?(r[1]=f._assets.textParse(n.captions.errors.remoteFile,e),r):4096!=e.size&&64!=e.size||""!=e.type?!(!n.skipFileNameCheck&&(a=!1,$.each(f._itFl,(function(o,i){if(i!=e&&1==i.choosed&&i.file&&i.name==e.name)return a=!0,i.file.size!=e.size||i.file.type!=e.type||e.file.lastModified&&i.file.lastModified&&i.file.lastModified!=e.file.lastModified||!(1<t.length)?(r[1]=f._assets.textParse(n.captions.errors.fileName,e),r[2]=!1):r[2]=!0,!1})),a))||r:(r[1]=f._assets.textParse(n.captions.errors.folderUpload,e),r):(r[1]=f._assets.textParse(n.captions.errors.filesType,e),r)},append:function(e){if((e=$.isArray(e)?e:[e]).length){for(var t,i=0;i<e.length;i++)f._assets.keyCompare(e[i],["name","file","size","type"])&&(t=f._itFl[f.files.add(e[i],"appended")],n.thumbnails&&f.thumbnails.item(t));return f.set("feedback",null),f.set("listInput",null),n.afterSelect&&$.isFunction(n.afterSelect)&&n.afterSelect(l,p,o,s),1!=e.length||t}},update:function(e,t){var o,i;-1==f._itFl.indexOf(e)||e.upload&&e.upload.$ajax||(o=e,i=f.files.add($.extend(e,t),"updated"),(e=f._itFl[i]).popup&&e.popup.close&&e.popup.close(),n.thumbnails&&o.html&&f.thumbnails.item(e,o.html),f.set("listInput",null))},find:function(e){var t=null;return $.each(f._itFl,(function(o,i){if(i.html&&i.html.is(e))return t=i,!1})),t},remove:function(e,t){var i;!t&&n.onRemove&&$.isFunction(n.onRemove)&&!1===n.onRemove(e,l,p,o,s)||(e.html&&(n.thumbnails.onItemRemove&&$.isFunction(n.thumbnails.onItemRemove)&&!t?n.thumbnails.onItemRemove(e.html,l,p,o,s):e.html.remove()),e.upload&&e.upload.$ajax&&e.upload.cancel&&e.upload.cancel(!0),e.popup&&e.popup.close&&(e.popup.node=null,e.popup.close()),e.reader.src&&(e.reader.node=null,URL.revokeObjectURL(e.reader.src)),e.input&&(i=!0,$.each(f._itFl,(function(o,n){if(e!=n&&(e.input==n.input||t&&1<e.input.get(0).files.length))return i=!1})),i&&(f.isAddMoreMode()&&1<sl.length?(f.set("nextInput"),sl.splice(sl.indexOf(e.input),1),e.input.remove()):f.set("input",""))),-1<f._pfrL.indexOf(e)&&f._pfrL.splice(f._pfrL.indexOf(e),1),-1<f._pfuL.indexOf(e)&&f._pfuL.splice(f._pfuL.indexOf(e),1),-1<f._itFl.indexOf(e)&&f._itFl.splice(f._itFl.indexOf(e),1),e=null,0==f._itFl.length&&f.reset(),f.set("feedback",null),f.set("listInput",null))},getItemAttr:function(e,t){var o=null;return e&&(void 0!==e[t]?o=e[t]:e.data&&void 0!==e.data[t]&&(o=e.data[t])),o},clear:function(e){for(var t=0;t<f._itFl.length;){var i=f._itFl[t];e||!i.appended?(i.html&&i.html&&f._itFl[t].html.remove(),i.upload&&i.upload.$ajax&&f.upload.cancel(i),f._itFl.splice(t,1)):t++}f.set("feedback",null),f.set("listInput",null),0==f._itFl.length&&n.onEmpty&&$.isFunction(n.onEmpty)&&n.onEmpty(l,p,o,s)}},reset:function(e){e&&(f.clipboard._timer&&f.clipboard.clean(),$.each(sl,(function(e,t){t.is(s)||t.remove()})),sl=[],f.set("input","")),f._itRl=[],f._pfuL=[],f._pfrL=[],f.files.clear(e)},destroy:function(){f.reset(!0),f.bindUnbindEvents(!1),s.closest("form").off("reset",f.reset),s.removeAttr("style"),p.before(s),delete s.get(0).FileUploader,p.remove(),p=o=l=null},_assets:{toBytes:function(e){return 1048576*parseInt(e)},bytesToText:function(e){if(0==e)return"0 Byte";var t=Math.floor(Math.log(e)/Math.log(1024)),o=e/Math.pow(1024,t),i=!1;return 1e3<o&&t<8&&(t+=1,o=e/Math.pow(1024,t),i=!0),o.toPrecision(i?2:3)+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][t]},escape:function(e){return(""+e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},secondsToText:function(e,t){e=parseInt(Math.round(e),10);var o=Math.floor(e/3600),i=Math.floor((e-3600*o)/60),n="";return(0<o||!t)&&(n+=(o<10?"0":"")+o+(t?"h ":":")),(0<i||!t)&&(n+=(i<10&&!t?"0":"")+i+(t?"m ":":")),n+=((e=e-3600*o-60*i)<10&&!t?"0":"")+e+(t?"s":"")},pxToRatio:function(e,t){var o=function(e,t){return 0==t?e:o(t,e%t)},i=o(e,t);return[e/i,t/i]},ratioToPx:function(e,t,o){return(o=(o+"").split(":")).length<2?null:[t/o[1]*o[0],e/o[0]*o[1],o[0],o[1]]},hasAttr:function(e,t){var o=(t=t||s).attr(e);return!(!o||void 0===o)},copyAllAttributes:function(e,t){return $.each(t.get(0).attributes,(function(){"required"!=this.name&&"type"!=this.name&&"id"!=this.name&&e.attr(this.name,this.value)})),t.get(0).FileUploader&&(e.get(0).FileUploader=t.get(0).FileUploader),e},isIntoView:function(e){var t=$(window).scrollTop(),o=t+window.innerHeight,i=e.offset().top,n=i+e.outerHeight();return t<i&&n<o},isBlankCanvas:function(e){var t=document.createElement("canvas"),o=!1;t.width=e.width,t.height=e.height;try{o=e.toDataURL()==t.toDataURL()}catch(e){}return t=null,o},generateFileName:function(e,t){function o(e){return e<10&&(e="0"+e),e}var i=new Date;e=e?"."+e:"";return(t=t||"")+i.getFullYear()+"-"+o(i.getMonth()+1)+"-"+o(i.getDate())+" "+o(i.getHours())+"-"+o(i.getMinutes())+"-"+o(i.getSeconds())+e},arrayBufferToBase64:function(e){for(var t="",o=new Uint8Array(e),i=0;i<o.byteLength;i++)t+=String.fromCharCode(o[i]);return window.btoa(t)},dataURItoBlob:function(e,t){for(var o=atob(e.split(",")[1]),i=e.split(",")[0].split(":")[1].split(";")[0],n=new ArrayBuffer(o.length),r=new Uint8Array(n),a=0;a<o.length;a++)r[a]=o.charCodeAt(a);var l=new DataView(n);return new Blob([l.buffer],{type:t||i})},getExifOrientation:function(e,t){var o=new FileReader,i={1:0,2:-1,3:180,4:-180,5:-90,6:90,7:-270,8:270};o.onload=function(e){var o=new DataView(e.target.result),n=1;if(o.byteLength&&65496==o.getUint16(0,!1))for(var r=o.byteLength,a=2;a<r&&!(o.getUint16(a+2,!1)<=8);){var l=o.getUint16(a,!1);if(a+=2,65505==l){if(1165519206!=o.getUint32(a+=2,!1))break;var s,p=18761==o.getUint16(a+=6,!1);a+=o.getUint32(a+4,p),s=o.getUint16(a,p),a+=2;for(var d=0;d<s;d++)if(274==o.getUint16(a+12*d,p)){n=o.getUint16(a+12*d+8,p),r=0;break}}else{if(65280!=(65280&l))break;a+=o.getUint16(a,!1)}}t&&t(i[n]||0)},o.onerror=function(){t&&t("")},o.readAsArrayBuffer(e)},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,captions:n.captions},opts),typeof text){case"string":for(var key in opts)-1<["name","file","type","size"].indexOf(key)&&(opts[key]=f._assets.escape(opts[key]));text=text.replace(/\$\{(.*?)\}/g,(function(match,a){var a=a.replace(/ /g,""),r=void 0!==opts[a]&&null!=opts[a]?opts[a]:"";if(-1<["reader.node"].indexOf(a))return match;if(-1<a.indexOf(".")||-1<a.indexOf("[]")){var x=a.substr(0,-1<a.indexOf(".")?a.indexOf("."):-1<a.indexOf("[")?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=f._assets.textParse(text(opts,l,p,o,s,f._assets.textParse),opts,noOptions)}return opts=null,text},textToColor:function(e){if(!e||0==e.length)return!1;for(var t=0,o=0;t<e.length;o=e.charCodeAt(t++)+((o<<5)-o));t=0;for(var i="#";t<3;i+=("00"+(o>>2*t++&255).toString(16)).slice(-2));return i},isBrightColor:function(e){var t,o,i;return 194<((i=(t=e)&&t.constructor==Array&&3==t.length?t:(o=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(t))?[parseInt(o[1]),parseInt(o[2]),parseInt(o[3])]:(o=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(t))?[2.55*parseFloat(o[1]),2.55*parseFloat(o[2]),2.55*parseFloat(o[3])]:(o=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(t))?[parseInt(o[1],16),parseInt(o[2],16),parseInt(o[3],16)]:(o=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(t))?[parseInt(o[1]+o[1],16),parseInt(o[2]+o[2],16),parseInt(o[3]+o[3],16)]:"undefined"!=typeof colors?colors[$.trim(t).toLowerCase()]:null)?.2126*i[0]+.7152*i[1]+.0722*i[2]:null)},keyCompare:function(e,t){for(var o=0;o<t.length;o++)if(!$.isPlainObject(e)||!e.hasOwnProperty(t[o]))throw new Error('Could not find valid *strict* attribute "'+t[o]+'" in '+JSON.stringify(e,null,4));return!0},dialogs:{alert:n.dialogs.alert,confirm:n.dialogs.confirm},hasPlugin:function(e){if(navigator.plugins&&navigator.plugins.length)for(var t in navigator.plugins)if(navigator.plugins[t].name&&-1<navigator.plugins[t].name.toLowerCase().indexOf(e))return!0;return!1},isIE:function(){return-1<navigator.userAgent.indexOf("MSIE ")||-1<navigator.userAgent.indexOf("Trident/")||-1<navigator.userAgent.indexOf("Edge")},isMobile:function(){return void 0!==window.orientation||-1!==navigator.userAgent.indexOf("IEMobile")},getDevice:{options:[],header:[navigator.platform,navigator.userAgent,navigator.appVersion,navigator.vendor,window.opera],dataos:[{name:"Windows Phone",value:"Windows Phone",version:"OS"},{name:"Windows",value:"Win",version:"NT"},{name:"iPhone",value:"iPhone",version:"OS"},{name:"iPad",value:"iPad",version:"OS"},{name:"Kindle",value:"Silk",version:"Silk"},{name:"Android",value:"Android",version:"Android"},{name:"PlayBook",value:"PlayBook",version:"OS"},{name:"BlackBerry",value:"BlackBerry",version:"/"},{name:"Macintosh",value:"Mac",version:"OS X"},{name:"Linux",value:"Linux",version:"rv"},{name:"Palm",value:"Palm",version:"PalmOS"}],databrowser:[{name:"Chrome",value:"Chrome",version:"Chrome"},{name:"Firefox",value:"Firefox",version:"Firefox"},{name:"Safari",value:"Safari",version:"Version"},{name:"Internet Explorer",value:"MSIE",version:"MSIE"},{name:"Opera",value:"Opera",version:"Opera"},{name:"BlackBerry",value:"CLDC",version:"CLDC"},{name:"Mozilla",value:"Mozilla",version:"Mozilla"}],init:function(){var e=this.header.join(" ");return{os:this.matchItem(e,this.dataos),browser:this.matchItem(e,this.databrowser)}},matchItem:function(e,t){var o,i,n,r=0,a=0;for(r=0;r<t.length;r+=1)if(new RegExp(t[r].value,"i").test(e)){if(o=new RegExp(t[r].version+"[- /:;]([\\d._]+)","i"),n="",(i=e.match(o))&&i[1]&&(i=i[1]),i)for(i=i.split(/[._]+/),a=0;a<i.length;a+=1)n+=0===a?i[a]+".":i[a];else n="0";return{name:t[r].name,version:parseFloat(n)}}return{name:"unknown",version:0}}}},isSupported:function(){return s&&s.get(0).files},isFileReaderSupported:function(){return window.File&&window.FileList&&window.FileReader},isDefaultMode:function(){return!(n.upload||n.addMore&&1!=n.limit)},isAddMoreMode:function(){return!n.upload&&n.addMore&&1!=n.limit},isUploadMode:function(){return n.upload},_itFl:[],_pfuL:[],_pfrL:[],disabled:!1,locked:!1,rendered:!1};return n.enableApi&&(s.get(0).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,t){return f.files.list(e,t,!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)},add:function(e,t,o){return!!f.isUploadMode()&&((n=e instanceof Blob?e:(i=/data:[a-z]+\/[a-z]+\;base64\,/.test(e)?e:"data:"+t+";base64,"+btoa(e),f._assets.dataURItoBlob(i,t)))._name=o||f._assets.generateFileName(-1!=n.type.indexOf("/")?n.type.split("/")[1].toString().toLowerCase():"File "),f.onChange(null,[n]),!0);var i,n},append:function(e){return f.files.append(e)},update:function(e,t){return f.files.update(e,t)},remove:function(e){return e=e.jquery?f.files.find(e):e,-1<f._itFl.indexOf(e)&&(f.files.remove(e),!0)},uploadStart:function(){var e=this.getChoosedFiles()||[];if(f.isUploadMode()&&0<e.length&&!e[0].uploaded)for(var t=0;t<e.length;t++)f.upload.send(e[t])},reset:function(){return f.reset(!0),!0},disable:function(e){return f.set("disabled",!0),e&&(f.locked=!0),!0},enable:function(){return f.set("disabled",!1),!(f.locked=!1)},destroy:function(){return f.destroy(),!0},isEmpty:function(){return 0==f._itFl.length},isDisabled:function(){return f.disabled},isRendered:function(){return f.rendered},assets:f._assets,getPluginMode:function(){return f.isDefaultMode()?"default":f.isAddMoreMode()?"addMore":f.isUploadMode()?"upload":void 0}}),f.init(),this}))},$.fileuploader={getInstance:function(e){var t=e.prop?e:$(e);return t.length?t.get(0).FileUploader:null}},$.fn.fileuploader.languages={cz:{button:function(e){return"Procházet "+(1==e.limit?"soubor":"soubory")},feedback:function(e){return"Vyberte "+(1==e.limit?"soubor":"soubory")+", který chcete nahrát"},feedback2:function(e){return e.length+" "+(1<e.length?"vybráno souborů":"vybrán soubor")},confirm:"Potvrdit",cancel:"Zrušeni",name:"Jméno",type:"Format",size:"Velikost",dimensions:"Rozměry",duration:"Trvání",crop:"Oříznout",rotate:"Otočit",sort:"Roztřídit",open:"Otevřít",download:"Stáhnout",remove:"Odstranit",drop:"Pro nahrání přetahněte soubor sem",paste:'<div class="fileuploader-pending-loader"></div> Vkládání souboru, klikněte zde pro zrušeni',removeConfirmation:"Jste si jisti, že chcete odstranit tento soubor?",errors:{filesLimit:function(e){return"Pouze ${limit} "+(1==e.limit?"soubor může být nahrán":"soubory mohou byt nahrané")+"."},filesType:"Pouze ${extensions} soubory mohou byt nahrané.",fileSize:"${name} příliš velký! Prosím, vyberte soubor do velikosti ${fileMaxSize} MB.",filesSizeAll:"Vybraný soubor je příliš velký! Prosím, vyberte soubor do velikosti ${maxSize} MB.",fileName:"Soubor s tímto názvem ${name} byl už vybran.",remoteFile:"Vzdálené soubory nejsou povoleny.",folderUpload:"Složky nejsou povolené."}},de:{button:function(e){return(1==e.limit?"Datei":"Dateien")+" durchsuchen"},feedback:function(e){return(1==e.limit?"Datei":"Dateien")+" zum Hochladen auswählen"},feedback2:function(e){return e.length+" "+(1==e.length?"Datei":"Dateien")+" ausgewählt"},confirm:"Speichern",cancel:"Schließen",name:"Name",type:"Typ",size:"Größe",dimensions:"Format",duration:"Länge",crop:"Crop",rotate:"Rotieren",sort:"Sortieren",open:"Öffnen",download:"Herunterladen",remove:"Löschen",drop:"Die Dateien hierher ziehen, um sie hochzuladen",paste:'<div class="fileuploader-pending-loader"></div> Eine Datei wird eingefügt. Klicken Sie hier zum abzubrechen',removeConfirmation:"Möchten Sie diese Datei wirklich löschen?",errors:{filesLimit:function(e){return"Nur ${limit} "+(1==e.limit?"Datei darf":"Dateien dürfen")+" hochgeladen werden."},filesType:"Nur ${extensions} Dateien dürfen hochgeladen werden.",fileSize:"${name} ist zu groß! Bitte wählen Sie eine Datei bis zu ${fileMaxSize} MB.",filesSizeAll:"Die ausgewählten Dateien sind zu groß! Bitte wählen Sie Dateien bis zu ${maxSize} MB.",fileName:"Eine Datei mit demselben Namen ${name} ist bereits ausgewählt.",remoteFile:"Remote-Dateien sind nicht zulässig.",folderUpload:"Ordner sind nicht erlaubt."}},dk:{button:function(e){return"Gennemse "+(1==e.limit?"fil":"filer")},feedback:function(e){return"Vælg "+(1==e.limit?"fil":"filer")+" til upload"},feedback2:function(e){return e.length+" "+(1==e.length?"fil":"filer")+" er valgt"},confirm:"Bekræft",cancel:"Fortrydl",name:"Navn",type:"Type",size:"Størrelse",dimensions:"Dimensioner",duration:"Varighed’",crop:"Tilpas",rotate:"Rotér",sort:"Sorter",open:"Åben",download:"Hent",remove:"Slet",drop:"Drop filer her til upload",paste:"Overfør fil, klik her for at afbryde",removeConfirmation:"Er du sikker på, du ønsker at slette denne fil?",errors:{filesLimit:function(e){return"Du kan kun uploade ${limit} "+(1==e.limit?"fil":"filer")+" ad gangen."},filesType:"Det er kun tilladt at uploade ${extensions} filer.",fileSize:"${name} er for stor! Vælg venligst en fil på højst ${fileMaxSize} MB.",filesSizeAll:"De valgte filer er for store! Vælg venligst filer op til ${maxSize} MB ialt.",fileName:"Du har allerede valgt en fil med navnet ${name}.",remoteFile:"Fremmede filer er ikke tilladt.",folderUpload:"Mapper er ikke tilladt."}},en:{button:function(e){return"Browse "+(1==e.limit?"file":"files")},feedback:function(e){return"Choose "+(1==e.limit?"file":"files")+" to upload"},feedback2:function(e){return e.length+" "+(1<e.length?" files were":" file was")+" chosen"},confirm:"Confirm",cancel:"Cancel",name:"Name",type:"Type",size:"Size",dimensions:"Dimensions",duration:"Duration",crop:"Crop",rotate:"Rotate",sort:"Sort",open:"Open",download:"Download",remove:"Delete",drop:"Drop the files here to upload",paste:'<div class="fileuploader-pending-loader"></div> Pasting a file, click here to cancel',removeConfirmation:"Are you sure you want to delete this file?",errors:{filesLimit:function(e){return"Only ${limit} "+(1==e.limit?"file":"files")+" can 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:"The chosen files are too large! Please select files up to ${maxSize} MB.",fileName:"A file with the same name ${name} is already selected.",remoteFile:"Remote files are not allowed.",folderUpload:"Folders are not allowed."}},es:{button:function(e){return"Examinar "+(1==e.limit?"archivo":"archivos")},feedback:function(e){return"Selecciona "+(e.limit,"archivos para subir")},feedback2:function(e){return e.length+" "+(1<e.length?"archivos seleccionados":"archivo seleccionado")},confirm:"Guardar",cancel:"Anular",name:"Nombre",type:"Tipo",size:"Tamaño",dimensions:"Dimensiones",duration:"Duracion",crop:"Corta",rotate:"Rotar",sort:"Ordenar",open:"Abierto",download:"Descargar",remove:"Eliminar",drop:"Suelta los archivos aquí para subirlos",paste:'<div class="fileuploader-pending-loader"></div> Pegar un archivo, haga clic aquí para cancelar',removeConfirmation:"¿Estás seguro de que deseas eliminar este archivo?",errors:{filesLimit:function(e){return"Solo se pueden seleccionar ${limit} "+(1==e.limit?"archivo":"archivos")+"."},filesType:"Solo se pueden seleccionar archivos ${extensions}.",fileSize:"${name} es demasiado grande! Por favor, seleccione un archivo hasta ${fileMaxSize} MB.",filesSizeAll:"¡Los archivos seleccionados son demasiado grandes! Por favor seleccione archivos de hasta ${maxSize} MB.",fileName:"Un archivo con el mismo nombre ${name} ya está seleccionado.",remoteFile:"Los archivos remotos no están permitidos.",folderUpload:"No se permiten carpetas."}},fr:{button:function(e){return"Parcourir "+(1==e.limit?"le fichier":"les fichiers")},feedback:function(e){return"Choisir "+(1==e.limit?"le fichier ":"les fichiers")+" à télécharger"},feedback2:function(e){return e.length+" "+(1<e.length?"fichiers ont été choisis":"fichier a été choisi")},confirm:"Confirmer",cancel:"Annuler",name:"Nom",type:"Type",size:"Taille",dimensions:"Dimensions",duration:"Durée",crop:"Recadrer",rotate:"Pivoter",sort:"Trier",download:"Télécharger",remove:"Supprimer",drop:"Déposez les fichiers ici pour les télécharger",paste:'<div class="fileuploader-pending-loader"></div> Collant un fichier, cliquez ici pour annuler.',removeConfirmation:"Êtes-vous sûr de vouloir supprimer ce fichier ?",errors:{filesLimit:"Seuls les fichiers ${limit} peuvent être téléchargés.",filesType:"Seuls les fichiers ${extensions} peuvent être téléchargés.",fileSize:"${name} est trop lourd, la limite est de ${fileMaxSize} MB.",filesSizeAll:"Les fichiers que vous avez choisis sont trop lourd, la limite totale est de ${maxSize} MB.",fileName:"Le fichier portant le nom ${name} est déjà sélectionné.",folderUpload:"Vous n'êtes pas autorisé à télécharger des dossiers."}},it:{button:function(e){return"Sfoglia"+(1==e.limit?"il file":"i file")},feedback:function(e){return"Seleziona "+(1==e.limit?"file":"i file")+" per caricare"},feedback2:function(e){return e.length+" "+(1<e.length?"i file sono scelti":"il file è scelto")},confirm:"Conferma",cancel:"Cancella",name:"Nome",type:"Tipo file",size:"Dimensione file",dimensions:"Dimensioni",duration:"Durata",crop:"Taglia",rotate:"Ruota",sort:"Ordina",open:"Apri",download:"Scarica",remove:"Elimina",drop:"Posiziona il file qui per caricare",paste:'<div class="fileuploader-pending-loader"></div> Incolla file, clicca qui per cancellare',removeConfirmation:"Sei sicuro di voler eliminare il file?",errors:{filesLimit:"Solo ${limit} file possono essere caricati.",filesType:"Solo ${extensions} file possono essere caricati.",fileSize:"${name} è troppo grande! Scegli un file fino a ${fileMaxSize} MB.",filesSizeAll:"I file selezioni sono troppo grandi! Scegli un file fino a ${maxSize} MB.",fileName:"Un file con lo stesso nome ${name} è già selezionato.",remoteFile:"I file remoti non sono consentiti.",folderUpload:"Le cartelle non sono consentite."}},lv:{button:function(e){return"Izvēlieties "+(1==e.limit?"fails":"faili")},feedback:function(e){return"Izvēliejaties "+(1==e.limit?"fails":"faili")+" lejupielādēt"},feedback2:function(e){return e.length+" "+(1<e.length?"failus izvelēts":"fails izvēlēts")},confirm:"Saglabāt",cancel:"Atcelt",name:"Vārds",type:"Formāts",size:"Izmērs",dimensions:"Izmēri",duration:"Ilgums",crop:"Nogriezt",rotate:"Pagriezt",sort:"Kārtot",open:"Atvērt",download:"Lejupielādēt",remove:"Dzēst",drop:"Lai augšupielādētu, velciet failus šeit",paste:'<div class="fileuploader-pending-loader"></div> Ievietojiet failu, noklikšķiniet šeit, lai atceltu',removeConfirmation:"Vai tiešām vēlaties izdzēst šo failu?",errors:{filesLimit:function(e){return"Tikai ${limit} "+(1==e.limit?"failu var augšupielādēt":"failus var augšupielādēt")+"."},filesType:"Tikai ${extensions} failus var augšupielādēt.",fileSize:"${name} ir par lielu! Lūdzu, atlasiet failu līdz ${fileMaxSize} MB.",filesSizeAll:"Atlasītie faili ir pārāk lieli! Lūdzu, atlasiet failus līdz ${maxSize} MB.",fileName:"Fails ar tādu pašu nosaukumu ${name} jau ir atlasīts.",remoteFile:"Attālie faili nav atļauti.",folderUpload:"Mapes nav atļautas."}},nl:{button:function(e){return(1==e.limit?"Bestand":"Bestanden")+" kiezen"},feedback:function(e){return"Kies "+(1==e.limit?"een bestand":"bestanden")+" om te uploaden"},feedback2:function(e){return e.length+" "+(1<e.length?"bestanden":"bestand")+" gekozen"},confirm:"Opslaan",cancel:"Annuleren",name:"Naam",type:"Type",size:"Grootte",dimensions:"Afmetingen",duration:"Duur",crop:"Uitsnijden",rotate:"Draaien",sort:"Sorteren",open:"Open",download:" Downloaden",remove:"Verwijderen",drop:"Laat de bestanden hier vallen om te uploaden",paste:'<div class="fileuploader-pending-loader"></div> Een bestand wordt geplakt, klik hier om te annuleren',removeConfirmation:"Weet u zeker dat u dit bestand wilt verwijderen?",errors:{filesLimit:function(e){return"Er "+(1==e.limit?"mag":"mogen")+" slechts ${limit} "+(1==e.limit?"bestand":"bestanden")+" worden geüpload."},filesType:"Alleen ${extensions} mogen worden geüpload.",fileSize:"${name} is te groot! Kies een bestand tot ${fileMaxSize} MB.",filesSizeAll:"De gekozen bestanden zijn te groot! Kies bestanden tot ${maxSize} MB.",fileName:"Een bestand met dezelfde naam ${name} is al gekozen.",remoteFile:"Externe bestanden zijn niet toegestaan.",folderUpload:"Mappen zijn niet toegestaan."}},pl:{button:function(e){return"Wybierz "+(1==e.limit?"plik":"pliki")},feedback:function(e){return"Wybierz "+(1==e.limit?"plik":"pliki")+" do przesłania"},feedback2:function(e){return e.length+" "+(1<e.length?"pliki zostały wybrane":"plik został wybrany")},confirm:"Potwierdź",cancel:"Anuluj",name:"Nazwa",type:"Typ",size:"Rozmiar",dimensions:"Wymiary",duration:"Czas trwania",crop:"Przytnij",rotate:"Obróć",sort:"Sortuj",open:"Otwórz",download:"Pobierz",remove:"Usuń",drop:"Upuść pliki tutaj do przesłania",paste:'<div class="fileuploader-pending-loader"></div> Wklejając plik, kliknij tutaj, aby anulować',removeConfirmation:"Czy jesteś pewien, że chcesz usunąć ten plik?",errors:{filesLimit:function(e){return"Tylko ${limit} "+(1==e.limit?"plik":"pliki")+" można wybrać."},filesType:"Tylko pliki ${extensions} mogą zostać pobrane.",fileSize:"Plik ${name} jest za duży! Proszę wybrać plik do ${fileMaxSize} MB.",filesSizeAll:"Wybrane pliki są za duże! Proszę wybrać pliki do ${maxSize} MB.",fileName:", Plik o tej samej nazwie ${name} już został wybrany.",remoteFile:"Zdalne pliki nie są dozwolone.",folderUpload:"Foldery nie są dozwolone."}},pt:{button:function(e){return"Escolher "+(1==e.limit?"arquivo":"arquivos")},feedback:function(e){return"Escolha "+(1==e.limit?"arquivo":"arquivos")+" a carregar"},feedback2:function(e){return e.length+" "+(1<e.length?"arquivos foram escolhidos":"arquivo foi escolhido")},confirm:"Confirmar",cancel:"Cancelar",name:"Nome",type:"Tipo",size:"Tamanho",dimensions:"Dimensões",duration:"Duração",crop:"Recorte",rotate:"Girar",sort:"Ordenar",open:"Abrir",download:"Baixar",remove:"Excluir",drop:"Solte os arquivos aqui para fazer o upload",paste:'<div class="fileuploader-pending-loader"></div> Colando um arquivo, clique aqui para cancelar',removeConfirmation:"Tem certeza de que deseja excluir este arquivo?",errors:{filesLimit:function(e){return"Apenas ${limit} "+(1==e.limit?"arquivo a ser carregado":"arquivos a serem carregados")+"."},filesType:"Somente arquivos ${extensions} podem ser carregados.",fileSize:"${name} é muito grande! Selecione um arquivo de até ${fileMaxSize} MB.",filesSizeAll:"Os arquivos selecionados são muito grandes! Selecione arquivos de até ${maxSize} MB.",fileName:"Um arquivo com o mesmo nome ${name} já está selecionado.",remoteFile:"Arquivos remotos não são permitidos.",folderUpload:"Pastas não são permitidas."}},ro:{button:function(e){return"Atașează "+(1==e.limit?"fișier":"fișiere")},feedback:function(e){return"Selectează "+(1==e.limit?"fișier":"fișiere")+" pentru încărcare"},feedback2:function(e){return e.length+" "+(1<e.length?" fișiere":" fișier")+" selectate"},confirm:"Confirmă",cancel:"Anulează",name:"Nume",type:"Tip",size:"Mărimea",dimensions:"Dimensiunea",duration:"Durata",crop:"Crop",rotate:"Rotire",sort:"Sortare",open:"Deschide",download:"Download",remove:"Șterge",drop:"Aruncați fișierele aici pentru a le încărca",paste:'<div class="fileuploader-pending-loader"></div> Se atașează fișier, faceți click aici pentru anulare',removeConfirmation:"Sigur doriți să ștergeți acest fișier?",errors:{filesLimit:function(e){return"Doar ${limit} "+(1==e.limit?"fișier poate fi selectat":"fișiere pot fi selectat")+"."},filesType:"Doar fișierele ${extensions} pot fi încărcate.",fileSize:"${name} este prea mare! Vă rugăm să selectați un fișier până la ${fileMaxSize} MB.",filesSizeAll:"Fișierele selectate sunt prea mari! Vă rugăm să selectați fișiere până la ${maxSize} MB.",fileName:"Fișierul cu același numele ${nume} a fost deja selectat.",remoteFile:"Fișierele remote nu sunt permise.",folderUpload:"Folderele nu sunt permise."}},ru:{button:function(e){return"Выбрать "+(1==e.limit?"файл":"файлы")},feedback:function(e){return"Выберите "+(1==e.limit?"файл":"файлы")+" для загрузки"},feedback2:function(e){return e.length+" "+(1<e.length?"файлов выбрано":"файл выбран")},confirm:"Сохранить",cancel:"Отмена",name:"Имя",type:"Формат",size:"Размер",dimensions:"Размеры",duration:"Длительность",crop:"Обрезать",rotate:"Повернуть",sort:"Сортировть",open:"Открыть",download:"Скачать",remove:"Удалить",drop:"Перетащите файлы сюда для загрузки",paste:'<div class="fileuploader-pending-loader"></div> Вставка файла, нажмите здесь, чтобы отменить',removeConfirmation:"Вы уверены, что хотите удалить этот файл?",errors:{filesLimit:function(e){return"Только ${limit} "+(1==e.limit?"файл может быть загружен":"файлов могут быть загружены")+"."},filesType:"Только ${extensions} файлы могут быть загружены.",fileSize:"${name} слишком большой! Пожалуйста, выберите файл до ${fileMaxSize} МБ.",filesSizeAll:"Выбранные файлы слишком большие! Пожалуйста, выберите файлы до ${maxSize} МБ.",fileName:"Файл с таким именем ${name} уже выбран.",remoteFile:"Удаленные файлы не допускаются.",folderUpload:"Папки не допускаются."}},tr:{button:function(e){return(1==e.limit?"Dosya":"Dosyaları")+" seç"},feedback:function(e){return"Yüklemek istediğiniz "+(1==e.limit?"dosyayı":"dosyaları")+" seçin."},feedback2:function(e){return e.length+" "+(1<e.length?"dosyalar":"dosya")+" seçildi."},confirm:"Onayla",cancel:"İptal",name:"İsim",type:"Tip",size:"Boyut",dimensions:"Boyutlar",duration:"Süre",crop:"Kırp",rotate:"Döndür",sort:"Sırala",open:"Aç",download:"İndir",remove:"Sil",drop:"Yüklemek için dosyaları buraya bırakın",paste:'<div class="fileuploader-pending-loader"></div> Bir dosyayı yapıştırmak veya iptal etmek için buraya tıklayın',removeConfirmation:"Bu dosyayı silmek istediğinizden emin misiniz?",errors:{filesLimit:function(e){return"Sadece ${limit} "+(1==e.limit?"dosya":"dosyalar")+" yüklenmesine izin verilir."},filesType:"Sadece ${extensions} dosyaların yüklenmesine izin verilir.",fileSize:"${name} çok büyük! Lütfen ${fileMaxSize} MB'a kadar bir dosya seçin.",filesSizeAll:"Seçilen dosyalar çok büyük! Lütfen ${maxSize} MB'a kadar dosyaları seçin",fileName:"Aynı ada sahip bir dosya ${name} zaten seçilmiştir.",remoteFile:"Uzak dosyalara izin verilmez.",folderUpload:"Klasörlere izin verilmez."}}},$.fn.fileuploader.defaults={limit:null,maxSize:null,fileMaxSize:null,extensions:null,disallowedExtensions:null,changeInput:!0,inputNameBrackets:!0,theme:"default",thumbnails:{box:'<div class="fileuploader-items"><ul class="fileuploader-items-list"></ul></div>',boxAppendTo:null,item:'<li class="fileuploader-item"><div class="columns"><div class="column-thumbnail">${image}<span class="fileuploader-action-popup"></span></div><div class="column-title"><div title="${name}">${name}</div><span>${size2}</span></div><div class="column-actions"><button type="button" class="fileuploader-action fileuploader-action-remove" title="${captions.remove}"><i class="fileuploader-icon-remove"></i></a></div></div><div class="progress-bar2">${progressBar}<span></span></div></li>',item2:'<li class="fileuploader-item"><div class="columns"><div class="column-thumbnail">${image}<span class="fileuploader-action-popup"></span></div><div class="column-title"><a href="${file}" target="_blank"><div title="${name}">${name}</div><span>${size2}</span></a></div><div class="column-actions"><a href="${data.url}" class="fileuploader-action fileuploader-action-download" title="${captions.download}" download><i class="fileuploader-icon-download"></i></a><button type="button" class="fileuploader-action fileuploader-action-remove" title="${captions.remove}"><i class="fileuploader-icon-remove"></i></a></div></div></li>',popup:{container:"body",loop:!0,arrows:!0,zoomer:!0,template:function(e){return'<div class="fileuploader-popup-preview"><button type="button" class="fileuploader-popup-move" data-action="prev"><i class="fileuploader-icon-arrow-left"></i></button><div class="fileuploader-popup-node node-${format}">${reader.node}</div><div class="fileuploader-popup-content"><div class="fileuploader-popup-footer"><ul class="fileuploader-popup-tools">'+("image"==e.format&&e.reader.node&&e.editor?(e.editor.cropper?'<li><button type="button" data-action="crop"><i class="fileuploader-icon-crop"></i> ${captions.crop}</button></li>':"")+(e.editor.rotate?'<li><button type="button" data-action="rotate-cw"><i class="fileuploader-icon-rotate"></i> ${captions.rotate}</button></li>':""):"")+("image"==e.format?'<li class="fileuploader-popup-zoomer"><button type="button" data-action="zoom-out">−</button><input type="range" min="0" max="100"><button type="button" data-action="zoom-in">+</button><span></span> </li>':"")+(e.data.url?'<li><a href="'+e.data.url+'" data-action="open" target="_blank"><i class="fileuploader-icon-external"></i> ${captions.open}</a></li>':"")+'<li><button type="button" data-action="remove"><i class="fileuploader-icon-trash"></i> ${captions.remove}</button></li></ul></div><div class="fileuploader-popup-header"><ul class="fileuploader-popup-meta"><li><span>${captions.name}:</span><h5>${name}</h5></li><li><span>${captions.type}:</span><h5>${extension.toUpperCase()}</h5></li><li><span>${captions.size}:</span><h5>${size2}</h5></li>'+(e.reader&&e.reader.width?"<li><span>${captions.dimensions}:</span><h5>${reader.width}x${reader.height}px</h5></li>":"")+(e.reader&&e.reader.duration?"<li><span>${captions.duration}:</span><h5>${reader.duration2}</h5></li>":"")+'</ul><div class="fileuploader-popup-info"></div><ul class="fileuploader-popup-buttons"><li><button type="button" class="fileuploader-popup-button" data-action="cancel">${captions.cancel}</a></li>'+(e.editor?'<li><button type="button" class="fileuploader-popup-button button-success" data-action="save">${captions.confirm}</button></li>':"")+'</ul></div></div><button type="button" class="fileuploader-popup-move" data-action="next"><i class="fileuploader-icon-arrow-right"></i></button></div>'},onShow:function(e){e.popup.html.on("click",'[data-action="remove"]',(function(t){e.popup.close(),e.remove()})).on("click",'[data-action="cancel"]',(function(t){e.popup.close()})).on("click",'[data-action="save"]',(function(t){e.editor&&e.editor.save(),e.popup.close&&e.popup.close()}))},onHide:null},itemPrepend:!1,removeConfirmation:!0,startImageRenderer:!0,synchronImages:!0,useObjectUrl:!1,canvasImage:!0,videoThumbnail:!0,pdf:!0,exif:!1,touchDelay:0,_selectors:{list:".fileuploader-items-list",item:".fileuploader-item",start:".fileuploader-action-start",retry:".fileuploader-action-retry",remove:".fileuploader-action-remove",sorter:".fileuploader-action-sort",rotate:".fileuploader-action-rotate",popup:".fileuploader-popup-preview",popup_open:".fileuploader-action-popup"},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},editor:!1,sorter:!1,reader:{thumbnailTimeout:5e3,timeout:12e3,maxSize:20},files:null,upload:null,dragDrop:!0,addMore:!1,skipFileNameCheck:!1,clipboardPaste:!0,listInput:!0,enableApi:!1,listeners:null,onSupportError:null,beforeRender:null,afterRender:null,beforeSelect:null,onFilesCheck:null,onFileRead:null,onSelect:null,afterSelect:null,onListInput:null,onRemove:null,onEmpty:null,dialogs:{alert:function(e){return alert(e)},confirm:function(e,t){confirm(e)&&t()}},captions:$.fn.fileuploader.languages.en}})); |