/** * Fileuploader * Copyright (c) 2019 Innostudio.de * Website: https://innostudio.de/fileuploader/ * Version: 2.2 (23-Nov-2019) * License: https://innostudio.de/fileuploader/documentation/#license */!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('
'),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),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"](f._assets.getAllEvents(),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"](),s.closest("form")[e?"on":"off"]("reset",f.reset)},redesign:function(){if(o=s,n.theme&&p.addClass("fileuploader-theme-"+n.theme),n.changeInput){switch((typeof n.changeInput).toLowerCase()){case"boolean":o=$('
'+f._assets.textParse(n.captions.feedback)+'
");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').insertBefore(s)),"string"==typeof n.listInput&&0==$(n.listInput).length&&(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'),s,!0);f.bindUnbindEvents(!1),s.after(s=d).remove(),f.bindUnbindEvents(!0);break;case"prevInput":0'),s);f.bindUnbindEvents(!1),0',t.progressBar=f.isUploadMode()?'
':"",t.html=$(f._assets.textParse(t.appended&&n.thumbnails.item2?n.thumbnails.item2:n.thumbnails.item,t)),t.progressBar=t.html.find(".fileuploader-progressbar"),t.html.addClass("file-type-"+(t.format?t.format:"no")+" file-ext-"+(t.extension?t.extension:"no")),e?e.replaceWith(t.html):t.html[n.thumbnails.itemPrepend?"prependTo":"appendTo"](l),n.thumbnails.popup&&!1!==t.data.popup&&(t.html.addClass("file-has-popup"),t.popup={open:function(){f.thumbnails.popup(t)}}),f.thumbnails.renderThumbnail(t),t.renderThumbnail=function(e){e&&t.popup&&t.popup.close&&(t.popup.close(),t.popup={open:t.popup.open}),f.thumbnails.renderThumbnail(t,!0,e)},null!=n.thumbnails.onItemShow&&$.isFunction(n.thumbnails.onItemShow)&&n.thumbnails.onItemShow(t,l,p,o,s)},generateFileIcon:function(e,t){var o='
'+(t||"")+"
",i=f._assets.textToColor(t);i&&(f._assets.isBrightColor(i)&&(o=o.replace("${class}"," is-bright-color")),o=o.replace("${style}","background-color: "+i));return o.replace("${style}","").replace("${class}","")},renderThumbnail:function(d,e,t){function u(e){var t=$(e);c.removeClass("fileuploader-no-thumbnail fileuploader-loading").html(t),d.html.hasClass("file-will-popup")&&d.html.removeClass("file-will-popup").addClass("file-has-popup"),t.is("img")&&t.attr("draggable","false").on("load error",function(e){"error"==e.type&&h(),m(),null!=n.thumbnails.onImageLoaded&&$.isFunction(n.thumbnails.onImageLoaded)&&n.thumbnails.onImageLoaded(d,l,p,o,s)}),t.is("canvas")&&null!=n.thumbnails.onImageLoaded&&$.isFunction(n.thumbnails.onImageLoaded)&&n.thumbnails.onImageLoaded(d,l,p,o,s)}var c=d.html.find(".fileuploader-item-image"),i=d.data&&d.data.readerSkip,h=function(){c.addClass("fileuploader-no-thumbnail"),c.removeClass("fileuploader-loading").html(d.icon),d.html.hasClass("file-will-popup")&&d.html.removeClass("file-will-popup").addClass("file-has-popup"),null!=n.thumbnails.onImageLoaded&&$.isFunction(n.thumbnails.onImageLoaded)&&n.thumbnails.onImageLoaded(d,l,p,o,s)},m=function(){var e=0;if(d&&-1')};return"string"==typeof t||"object"==typeof t?r(t):f.files.read(d,function(){d.reader.node&&(d.reader.frame||"img"==d.reader.node.nodeName.toLowerCase())?r(d.reader.frame||d.reader.src,!0):(h(),m())},null,t,!0)}h()}else m()},popup:function(d,r){if(!f.locked&&n.thumbnails.popup&&n.thumbnails._selectors.popup){var a=$(n.thumbnails.popup.container),u=a.find(".fileuploader-popup"),e=function(){function t(e){var t=e.which||e.keyCode;27==t&&d.popup&&d.popup.close&&d.popup.close(),37!=t&&39!=t||!n.thumbnails.popup.arrows||d.popup.move(37==t?"prev":"next")}var e=d.popup.html||$(f._assets.textParse(n.thumbnails.popup.template,d)),i=d.popup.html!==e;u.removeClass("loading"),u.children(n.thumbnails._selectors.popup).length&&($.each(f._itFl,function(e,t){t!=d&&t.popup&&t.popup.close&&t.popup.close(r)}),u.find(n.thumbnails._selectors.popup).remove()),e.show().appendTo(u),d.popup.html=e,d.popup.move=function(e){var t=f._itFl.indexOf(d),o=null,i=!1;if("prev"==(e=n.thumbnails.itemPrepend?"prev"==e?"next":"prev":e))for(var r=t;0<=r;r--){if((a=f._itFl[r])!=d&&a.popup&&a.html.hasClass("file-has-popup")){o=a;break}0!=r||o||i||!n.thumbnails.popup.loop||(r=f._itFl.length,i=!0)}else for(r=t;r')).find(".reader-node").html(d.reader.node),d.reader.node.controls=!0,d.reader.node.currentTime=0,d.reader.node.play&&d.reader.node.play()):i&&e.find(".fileuploader-popup-node").html('
'+d.icon+"
"),$(window).on("keyup",t),a.css({overflow:"hidden",width:a.innerWidth()}),d.popup.html.find('[data-action="prev"], [data-action="next"]').removeAttr("style"),d.popup.html[1!=f._itFl.length&&n.thumbnails.popup.arrows?"addClass":"removeClass"]("fileuploader-popup-has-arrows"),n.thumbnails.popup.loop||(0==f._itFl.indexOf(d)&&d.popup.html.find('[data-action="prev"]').hide(),f._itFl.indexOf(d)==f._itFl.length-1&&d.popup.html.find('[data-action="next"]').hide()),f.editor.zoomer(d),d.editor&&(d.popup.editor||(d.popup.editor={}),f.editor.rotate(d,d.popup.editor.rotation||d.editor.rotation||0,!0),d.popup.editor&&d.popup.editor.cropper&&(d.popup.editor.cropper.hide(!0),setTimeout(function(){f.editor.crop(d,d.editor.crop?$.extend({},d.editor.crop):d.popup.editor.cropper.setDefaultData())},100))),d.popup.html.on("click",'[data-action="prev"]',function(e){d.popup.move("prev")}).on("click",'[data-action="next"]',function(e){d.popup.move("next")}).on("click",'[data-action="crop"]',function(e){d.editor&&d.editor.cropper()}).on("click",'[data-action="rotate-cw"]',function(e){d.editor&&d.editor.rotate()}).on("click",'[data-action="zoom-in"]',function(e){d.popup.zoomer&&d.popup.zoomer.zoomIn()}).on("click",'[data-action="zoom-out"]',function(e){d.popup.zoomer&&d.popup.zoomer.zoomOut()}),n.thumbnails.popup.onShow&&$.isFunction(n.thumbnails.popup.onShow)&&n.thumbnails.popup.onShow(d,l,p,o,s)};0==u.length&&(u=$('
').appendTo(a)),u.fadeIn(400).addClass("loading"),(-1<["image","video","audio","astext"].indexOf(d.format)||-1<["application/pdf"].indexOf(d.type))&&!d.popup.html?f.files.read(d,e):e()}}},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.reader.node){if(e.popup.editor.isAnimating)return;e.popup.editor.isAnimating=!0;var r=e.popup.html.find(".fileuploader-popup-node").find(".reader-node"),p=r.find("> img"),a={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()/p[-1<[90,270].indexOf(e.popup.editor.rotation)?"width":"height"]()).toFixed(3),p.height()*e.popup.editor.scale>r.width()&&-1<[90,270].indexOf(e.popup.editor.rotation)&&(e.popup.editor.scale=r.height()/p.width()),1 img"),l=$('
'),o=l.find(".fileuploader-cropper-area");w.popup.editor.cropper={$imageEl:t,$template:l,$editor:o,isCropping:!1,crop:e||null,init:function(o){var i=w.popup.editor.cropper,e=i.$imageEl.position(),t=i.$imageEl[0].getBoundingClientRect().width,r=i.$imageEl[0].getBoundingClientRect().height,a=w.popup.editor.rotation&&-1<[90,270].indexOf(w.popup.editor.rotation)?w.popup.editor.scale:1;if(i.hide(),i.crop||i.setDefaultData(),0==t||0==r)return i.hide(!0);i.isCropping||(i.$imageEl.clone().appendTo(i.$template.find(".area-image")),i.$imageEl.parent().append(l)),i.$template.hide().css({left:e.left,top:e.top,width:t,height:r}).fadeIn(150),i.$editor.hide(),clearTimeout(i._editorAnimationTimeout),i._editorAnimationTimeout=setTimeout(function(){if(delete i._editorAnimationTimeout,i.$editor.fadeIn(250),w.editor.crop&&$.isPlainObject(o)&&(i.resize(),i.crop.left=i.crop.left*i.crop.cfWidth*a,i.crop.width=i.crop.width*i.crop.cfWidth*a,i.crop.top=i.crop.top*i.crop.cfHeight*a,i.crop.height=i.crop.height*i.crop.cfHeight*a),n.editor.cropper&&(n.editor.cropper.maxWidth||n.editor.cropper.maxHeight)&&(n.editor.cropper.maxWidth&&(i.crop.width=Math.min(n.editor.cropper.maxWidth*i.crop.cfWidth,i.crop.width)),n.editor.cropper.maxHeight&&(i.crop.height=Math.min(n.editor.cropper.maxHeight*i.crop.cfHeight,i.crop.height)),w.editor.crop&&"rotation"!=o||"resize"==o||(i.crop.left=(i.$template.width()-i.crop.width)/2,i.crop.top=(i.$template.height()-i.crop.height)/2)),(!w.editor.crop||"rotation"==o)&&n.editor.cropper&&n.editor.cropper.ratio&&"resize"!=o){var e=n.editor.cropper.ratio,t=f._assets.ratioToPx(i.crop.width,i.crop.height,e);t&&(i.crop.width=Math.min(i.crop.width,t[0]),i.crop.left=(i.$template.width()-i.crop.width)/2,i.crop.height=Math.min(i.crop.height,t[1]),i.crop.top=(i.$template.height()-i.crop.height)/2)}i.drawPlaceHolder(i.crop)},400),n.editor.cropper&&n.editor.cropper.showGrid&&i.$editor.addClass("has-grid"),i.$imageEl.attr("draggable","false"),i.$template.on("mousedown touchstart",i.mousedown),$(window).on("resize",i.resize),i.isCropping=!0,w.popup.editor.hasChanges=!0},setDefaultData:function(){var e=w.popup.editor.cropper,t=e.$imageEl,o=t.width(),i=t.height(),n=w.popup.editor.rotation&&-1<[90,270].indexOf(w.popup.editor.rotation),r=w.popup.editor.scale||1;return e.crop={left:0,top:0,width:n?i*r:o,height:n?o*r:i,cfWidth:o/w.reader.width,cfHeight:i/w.reader.height},null},hide:function(e){var t=w.popup.editor.cropper;e&&(t.$template.hide(),t.$editor.hide()),t.$imageEl.attr("draggable",""),t.$template.off("mousedown touchstart",t.mousedown),$(window).off("resize",t.resize)},resize:function(e){var o=w.popup.editor.cropper,i=o.$imageEl;0o.$template.width()&&(r=o.$template.width()-o.crop.width),r<0&&(r=0),a+o.crop.height>o.$template.height()&&(a=o.$template.height()-o.crop.height),a<0&&(a=0),o.crop.left=r,o.crop.top=a}if(o.isResizing){var l,s=o.pointData.el.attr("class").substr("point point-".length),p=o.crop.left+o.crop.width,d=o.crop.top+o.crop.height,u=(n.editor.cropper&&n.editor.cropper.minWidth||0)*o.crop.cfWidth,c=(n.editor.cropper&&n.editor.cropper.minHeight||0)*o.crop.cfHeight,h=(n.editor.cropper&&n.editor.cropper.maxWidth)*o.crop.cfWidth,m=(n.editor.cropper&&n.editor.cropper.maxHeight)*o.crop.cfHeight,g=n.editor.cropper?n.editor.cropper.ratio:null;if(u>o.$template.width()&&(u=o.$template.width()),c>o.$template.height()&&(c=o.$template.height()),h>o.$template.width()&&(h=o.$template.width()),m>o.$template.height()&&(m=o.$template.height()),("a"==s||"b"==s||"c"==s)&&!l&&(o.crop.top=i.y,o.crop.top<0&&(o.crop.top=0),o.crop.height=d-o.crop.top,o.crop.top>o.crop.top+o.crop.height&&(o.crop.top=d,o.crop.height=0),o.crop.heightm&&(o.crop.top=d-m,o.crop.height=m),(l=g?f._assets.ratioToPx(o.crop.width,o.crop.height,g):null)&&(o.crop.width=l[0],"a"!=s&&"b"!=s||(o.crop.left=Math.max(0,o.pointData.left+(o.pointData.width-o.crop.width)/("b"==s?2:1))),o.crop.left+o.crop.width>o.$template.width()))){var v=o.$template.width()-o.crop.left;o.crop.width=v,o.crop.height=v/l[2]*l[3],o.crop.top=d-o.crop.height}if(("e"==s||"f"==s||"g"==s)&&!l&&(o.crop.height=i.y-o.crop.top,o.crop.height+o.crop.top>o.$template.height()&&(o.crop.height=o.$template.height()-o.crop.top),o.crop.heightm&&(o.crop.height=m),(l=g?f._assets.ratioToPx(o.crop.width,o.crop.height,g):null)&&(o.crop.width=l[0],"f"!=s&&"g"!=s||(o.crop.left=Math.max(0,o.pointData.left+(o.pointData.width-o.crop.width)/("f"==s?2:1))),o.crop.left+o.crop.width>o.$template.width()))){v=o.$template.width()-o.crop.left;o.crop.width=v,o.crop.height=v/l[2]*l[3]}if(("c"==s||"d"==s||"e"==s)&&!l&&(o.crop.width=i.x-o.crop.left,o.crop.width+o.crop.left>o.$template.width()&&(o.crop.width=o.$template.width()-o.crop.left),o.crop.widthh&&(o.crop.width=h),(l=g?f._assets.ratioToPx(o.crop.width,o.crop.height,g):null)&&(o.crop.height=l[1],"c"!=s&&"d"!=s||(o.crop.top=Math.max(0,o.pointData.top+(o.pointData.height-o.crop.height)/("d"==s?2:1))),o.crop.top+o.crop.height>o.$template.height()))){var b=o.$template.height()-o.crop.top;o.crop.height=b,o.crop.width=b/l[3]*l[2]}if(("a"==s||"g"==s||"h"==s)&&!l&&(o.crop.left=i.x,o.crop.left>o.$template.width()&&(o.crop.left=o.$template.width()),o.crop.left<0&&(o.crop.left=0),o.crop.width=p-o.crop.left,o.crop.left>o.crop.left+o.crop.width&&(o.crop.left=p,o.crop.width=0),o.crop.widthh&&(o.crop.left=p-h,o.crop.width=h),(l=g?f._assets.ratioToPx(o.crop.width,o.crop.height,g):null)&&(o.crop.height=l[1],"a"!=s&&"h"!=s||(o.crop.top=Math.max(0,o.pointData.top+(o.pointData.height-o.crop.height)/("h"==s?2:1))),o.crop.top+o.crop.height>o.$template.height()))){b=o.$template.height()-o.crop.top;o.crop.height=b,o.crop.width=b/l[3]*l[2],o.crop.left=p-o.crop.width}}o.drawPlaceHolder(o.crop)},mouseup:function(e){var t=w.popup.editor.cropper;0!=t.$editor.width()&&0!=t.$editor.height()||t.init(t.setDefaultData()),delete t.isTouchLongPress,delete t.isMoving,delete t.isResizing,t.$editor.removeClass("moving show-info"),$("body").css({"-webkit-user-select":"","-moz-user-select":"","-ms-user-select":"","user-select":""}),$(document).off("mousemove touchmove",t.mousemove),$(document).off("mouseup touchend",t.mouseup)}},w.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&&sf.width&&(v=f.width),b>f.height&&(b=f.height),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(s){if(s.popup&&s.popup.html&&$("html").find(s.popup.html).length){if(!s.popup.zoomer){var e=s.popup.html,p=e.find(".fileuploader-popup-node"),d=p.find(".reader-node"),l=d.find("> img").attr("draggable","false").attr("ondragstart","return false;");s.popup.zoomer={html:e.find(".fileuploader-popup-zoomer"),isActive:"image"==s.format&&s.reader.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()&&p.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),d.on("mousedown touchstart",e.mousedown),p.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),d.off("mousedown",e.mousedown),p.off("mousewheel DOMMouseScroll",e.scroll)},center:function(e){var t=this,o=0,i=0;i=e?(o=t.left,i=t.top,o-=(p.width()/2-t.left)*(d.width()/e[0]-1),i-=(p.height()/2-t.top)*(d.height()/e[1]-1),d.width()<=p.width()&&(o=Math.round((p.width()-d.width())/2)),d.height()<=p.height()&&(i=Math.round((p.height()-d.height())/2)),d.width()>p.width()&&(0p.height()&&(0p.width()?(0this.scale},getImageSize:function(){return{width:l.prop("naturalWidth"),height:l.prop("naturalHeight")}},getImageScale:function(){return Math.round(100/(l.prop("naturalWidth")/l.width()))}}}s.popup.zoomer.init()}},save:function(b,w,x,y,z){function e(){if(b.reader.node){var t=document.createElement("canvas"),i=t.getContext("2d"),e=[0,180];if(t.width=b.reader.width,t.height=b.reader.height,i.drawImage(this,0,0,b.reader.width,b.reader.height),void 0!==b.editor.rotation){b.editor.rotation=b.editor.rotation||0,t.width=-1o.offset().left&&i.xo.offset().top&&i.ya.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.yf.sorter.sort.lastHover.y)return;if(w&&"before"==f.sorter.sort.lastHover.direction&&c.xf.sorter.sort.lastHover.x)return}var y=r.index(i.html),z=r.index(b)/g,">"),m()},a.onerror=function(){m(),d.reader={read:d.reader.read}},h?a.readAsText(d.file):$.ajax({url:d.file,success:function(e){a.onload({target:{result:e}})},error:function(){a.onerror()}});else if("image"==d.format||c){if(a.onload=function(e){function t(){d.data&&d.data.readerCrossOrigin&&p.setAttribute("crossOrigin",d.data.readerCrossOrigin),p.src=e.target.result+(!d.data.readerForce&&!i||h||c||-1!=e.target.result.indexOf("data:image")?"":(-1==e.target.result.indexOf("?")?"?":"&")+"d="+Date.now()),p.onload=function(){if(d.reader.exifOrientation){var e=document.createElement("canvas"),t=e.getContext("2d"),o=p,i=Math.abs(d.reader.exifOrientation),n=d.reader.exifOrientation<0?d.reader.exifOrientation:0,r=[0,180];1==i&&(i=0),e.width=o.naturalWidth,e.height=o.naturalHeight,t.drawImage(o,0,0),e.width=-1f._assets.toBytes(n.reader.maxSize))return a.onerror();h?n.thumbnails.useObjectUrl&&n.thumbnails.canvasImage&&u?a.onload({target:{result:b=u.createObjectURL(d.file)}}):a.readAsDataURL(d.file):a.onload({target:{result:c?d.data.thumbnail:d.file}})}else if("video"==d.format||"audio"==d.format){var g=(v=document.createElement(d.format)).canPlayType(d.type);if(a.onerror=function(){d.reader.node=null,m(),d.reader={read:d.reader.read}},u&&""!==g){if(r&&!n.thumbnails.videoThumbnail)return d.reader.node=v,m(),void(d.reader={read:d.reader.read});b=h?u.createObjectURL(d.file):d.file,v.onloadedmetadata=function(){d.reader.node=v,d.reader.src=v.src,d.reader.duration=v.duration,d.reader.duration2=f._assets.secondsToText(v.duration),"video"==d.format&&(d.reader.width=v.videoWidth,d.reader.height=v.videoHeight,d.reader.ratio=f._assets.pxToRatio(d.reader.width,d.reader.height))},v.onerror=function(){m(),d.reader={read:d.reader.read}},v.onloadeddata=function(){if("video"==d.format){var e=document.createElement("canvas"),t=e.getContext("2d");e.width=v.videoWidth,e.height=v.videoHeight,t.drawImage(v,0,0,e.width,e.height),d.reader.frame=f._assets.isBlankCanvas(e)?null:e.toDataURL(),e=t=null}m()},setTimeout(function(){d.data&&d.data.readerCrossOrigin&&v.setAttribute("crossOrigin",d.data.readerCrossOrigin),v.src=b+"#t=1"},100)}else a.onerror()}else if("application/pdf"==d.type&&n.thumbnails.pdf){var v=document.createElement("iframe"),b=h?u.createObjectURL(d.file):(n.thumbnails.pdf.urlPrefix||"")+d.file;n.thumbnails.pdf.viewer||f._assets.hasPlugin("pdf")?(v.onload=function(){d.reader.node=v,d.reader.src=v.src,v.style.display="",m()},v.src=(n.thumbnails.pdf.viewer||"")+b,v.style.display="none",document.body.appendChild(v)):m()}else a.onload=function(e){d.reader.src=e.target.result,d.reader.length=e.target.result.length,m()},a.onerror=function(e){m(),d.reader={read:d.reader.read}},h?a[t||"readAsBinaryString"](d.file):m();d.reader._timer=setTimeout(a.onerror,r?n.reader.thumbnailTimeout:n.reader.timeout)}else e&&e(d,l,p,o,s);return null},list:function(r,a,e,t){var d=[];return!n.sorter||e||t&&"ignoreSorter"==t||f.sorter.save(!0),$.each(f._itFl,function(e,t){var o=t;if(o.upload&&!o.uploaded)return!0;if((a||r)&&(o=(o.choosed&&!o.uploaded?"0:/":"")+(a&&null!==f.files.getItemAttr(t,a)?f.files.getItemAttr(o,a):o.local||o["string"==typeof o.file?"file":"name"])),r&&(o={file:o},t.editor&&(t.editor.crop||t.editor.rotation)&&(o.editor={},t.editor.rotation&&(o.editor.rotation=t.editor.rotation),t.editor.crop&&(o.editor.crop=t.editor.crop)),void 0!==t.index&&(o.index=t.index),t.data&&t.data.listProps))for(var i in t.data.listProps)o[i]=t.data.listProps[i];d.push(o)}),d=n.onListInput&&$.isFunction(n.onListInput)?n.onListInput(d,f._itFl,n.listInput,l,p,o,s):d,r?JSON.stringify(d):d},check:function(i,r,e){var a=["warning",null,!1,!1];if(null!=n.limit&&e&&r.length+f._itFl.length-1>n.limit)return a[1]=f._assets.textParse(n.captions.errors.filesLimit),a[3]=!0,a;if(null!=n.maxSize&&e){var d=0;if($.each(f._itFl,function(e,t){d+=t.size}),d-=i.size,$.each(r,function(e,t){d+=t.size}),d>f._assets.toBytes(n.maxSize))return a[1]=f._assets.textParse(n.captions.errors.filesSizeAll),a[3]=!0,a}if(null!=n.onFilesCheck&&$.isFunction(n.onFilesCheck)&&e&&!1===n.onFilesCheck(r,n,l,p,o,s))return a[3]=!0,a;if(null!=n.extensions&&-1==$.inArray(i.extension,n.extensions)&&!n.extensions.filter(function(e){return i.type.length&&(-1f._assets.toBytes(n.fileMaxSize))return a[1]=f._assets.textParse(n.captions.errors.fileSize,i),a;if(0==i.size&&""==i.type)return a[1]=f._assets.textParse(n.captions.errors.remoteFile,i),a;if(4096==i.size&&""==i.type)return a[1]=f._assets.textParse(n.captions.errors.folderUpload,i),a;if(!n.skipFileNameCheck){d=!1;if($.each(f._itFl,function(e,t){if(t!=i&&1==t.choosed&&t.file&&t.name==i.name)return d=!0,t.file.size!=i.size||t.file.type!=i.type||i.file.lastModified&&t.file.lastModified&&t.file.lastModified!=i.file.lastModified||!(1/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>2*t++&255).toString(16)).slice(-2));return i},isBrightColor:function(e){var t;return 194<((t=function(e){var t;return e&&e.constructor==Array&&3==e.length?e:(t=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(e))?[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]:(t=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(e))?[2.55*parseFloat(t[1]),2.55*parseFloat(t[2]),2.55*parseFloat(t[3])]:(t=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(e))?[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]:(t=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(e))?[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]:"undefined"!=typeof colors?colors[$.trim(e).toLowerCase()]:null}(e))?.2126*t[0]+.7152*t[1]+.0722*t[2]:null)},keyCompare:function(e,t){for(var o=0;o 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:'
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 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 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 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 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 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 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 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 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 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 Вставка файла, нажмите здесь, чтобы отменить',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 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:'
    ',boxAppendTo:null,item:'
  • ${image}
    ${name}
    ${size2}
    ${progressBar}
  • ',item2:'
  • ',popup:{container:"body",loop:!0,arrows:!0,zoomer:!0,template:function(e){return'
    ${reader.node}
    • ${captions.name}:
      ${name}
    • ${captions.type}:
      ${extension.toUpperCase()}
    • ${captions.size}:
      ${size2}
    • '+(e.reader&&e.reader.width?"
    • ${captions.dimensions}:
      ${reader.width}x${reader.height}px
    • ":"")+(e.reader&&e.reader.duration?"
    • ${captions.duration}:
      ${reader.duration2}
    • ":"")+'
    • '+(e.editor?'
    • ':"")+'
    '},onShow:function(t){t.popup.html.on("click",'[data-action="remove"]',function(e){t.popup.close(),t.remove()}).on("click",'[data-action="cancel"]',function(e){t.popup.close()}).on("click",'[data-action="save"]',function(e){t.editor&&t.editor.save(),t.popup.close&&t.popup.close()})},onHide:null},itemPrepend:!1,removeConfirmation:!0,startImageRenderer:!0,synchronImages:!0,useObjectUrl:!1,canvasImage:!0,videoThumbnail:!0,pdf:!0,exif:!0,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}}(jQuery);