/*1.5.4*/ (function () { var f = 0, l = [], n = {}, j = {}, a = {"<":"lt", ">":"gt", "&":"amp", '"':"quot", "'":"#39"}, m = /[<>&\"\']/g, b, c = window.setTimeout, d = {}, e; function h() { this.returnValue = false } function k() { this.cancelBubble = true } (function (o) { var p = o.split(/,/), q, s, r; for (q = 0; q < p.length; q += 2) { r = p[q + 1].split(/ /); for (s = 0; s < r.length; s++) { j[r[s]] = p[q] } } })("application/msword,doc dot,application/pdf,pdf,application/pgp-signature,pgp,application/postscript,ps ai eps,application/rtf,rtf,application/vnd.ms-excel,xls xlb,application/vnd.ms-powerpoint,ppt pps pot,application/zip,zip,application/x-shockwave-flash,swf swfl,application/vnd.openxmlformats-officedocument.wordprocessingml.document,docx,application/vnd.openxmlformats-officedocument.wordprocessingml.template,dotx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,xlsx,application/vnd.openxmlformats-officedocument.presentationml.presentation,pptx,application/vnd.openxmlformats-officedocument.presentationml.template,potx,application/vnd.openxmlformats-officedocument.presentationml.slideshow,ppsx,application/x-javascript,js,application/json,json,audio/mpeg,mpga mpega mp2 mp3,audio/x-wav,wav,audio/mp4,m4a,image/bmp,bmp,image/gif,gif,image/jpeg,jpeg jpg jpe,image/photoshop,psd,image/png,png,image/svg+xml,svg svgz,image/tiff,tiff tif,text/plain,asc txt text diff log,text/html,htm html xhtml,text/css,css,text/csv,csv,text/rtf,rtf,video/mpeg,mpeg mpg mpe,video/quicktime,qt mov,video/mp4,mp4,video/x-m4v,m4v,video/x-flv,flv,video/x-ms-wmv,wmv,video/avi,avi,video/webm,webm,video/vnd.rn-realvideo,rv,application/vnd.oasis.opendocument.formula-template,otf,application/octet-stream,exe"); var g = {VERSION:"1.5.4", STOPPED:1, STARTED:2, QUEUED:1, UPLOADING:2, FAILED:4, DONE:5, GENERIC_ERROR:-100, HTTP_ERROR:-200, IO_ERROR:-300, SECURITY_ERROR:-400, INIT_ERROR:-500, FILE_SIZE_ERROR:-600, FILE_EXTENSION_ERROR:-601, IMAGE_FORMAT_ERROR:-700, IMAGE_MEMORY_ERROR:-701, IMAGE_DIMENSIONS_ERROR:-702, mimeTypes:j, ua:(function () { var s = navigator, r = s.userAgent, t = s.vendor, p, o, q; p = /WebKit/.test(r); q = p && t.indexOf("Apple") !== -1; o = window.opera && window.opera.buildNumber; return{windows:navigator.platform.indexOf("Win") !== -1, ie:!p && !o && (/MSIE/gi).test(r) && (/Explorer/gi).test(s.appName), webkit:p, gecko:!p && /Gecko/.test(r), safari:q, opera:!!o} }()), typeOf:function (p) { return({}).toString.call(p).match(/\s([a-z|A-Z]+)/)[1].toLowerCase() }, extend:function (o) { g.each(arguments, function (p, q) { if (q > 0) { g.each(p, function (s, r) { o[r] = s }) } }); return o }, cleanName:function (o) { var p, q; q = [/[\300-\306]/g, "A", /[\340-\346]/g, "a", /\307/g, "C", /\347/g, "c", /[\310-\313]/g, "E", /[\350-\353]/g, "e", /[\314-\317]/g, "I", /[\354-\357]/g, "i", /\321/g, "N", /\361/g, "n", /[\322-\330]/g, "O", /[\362-\370]/g, "o", /[\331-\334]/g, "U", /[\371-\374]/g, "u"]; for (p = 0; p < q.length; p += 2) { o = o.replace(q[p], q[p + 1]) } o = o.replace(/\s+/g, "_"); o = o.replace(/[^a-z0-9_\-\.]+/gi, ""); return o }, addRuntime:function (o, p) { p.name = o; l[o] = p; l.push(p); return p }, guid:function () { var o = new Date().getTime().toString(32), p; for (p = 0; p < 5; p++) { o += Math.floor(Math.random() * 65535).toString(32) } return(g.guidPrefix || "p") + o + (f++).toString(32) }, buildUrl:function (p, o) { var q = ""; g.each(o, function (s, r) { q += (q ? "&" : "") + encodeURIComponent(r) + "=" + encodeURIComponent(s) }); if (q) { p += (p.indexOf("?") > 0 ? "&" : "?") + q } return p }, each:function (r, s) { var q, p, o; if (r) { q = r.length; if (q === b) { for (p in r) { if (r.hasOwnProperty(p)) { if (s(r[p], p) === false) { return } } } } else { for (o = 0; o < q; o++) { if (s(r[o], o) === false) { return } } } } }, formatSize:function (o) { if (o === b || /\D/.test(o)) { return g.translate("N/A") } if (o > 1073741824) { return Math.round(o / 1073741824, 1) + " GB" } if (o > 1048576) { return Math.round(o / 1048576, 1) + " MB" } if (o > 1024) { return Math.round(o / 1024, 1) + " KB" } return o + " b" }, getPos:function (p, t) { var u = 0, s = 0, w, v = document, q, r; p = p; t = t || v.body; function o(C) { var A, B, z = 0, D = 0; if (C) { B = C.getBoundingClientRect(); A = v.compatMode === "CSS1Compat" ? v.documentElement : v.body; z = B.left + A.scrollLeft; D = B.top + A.scrollTop } return{x:z, y:D} } if (p && p.getBoundingClientRect && ((navigator.userAgent.indexOf("MSIE") > 0) && (v.documentMode < 8))) { q = o(p); r = o(t); return{x:q.x - r.x, y:q.y - r.y} } w = p; while (w && w != t && w.nodeType) { u += w.offsetLeft || 0; s += w.offsetTop || 0; w = w.offsetParent } w = p.parentNode; while (w && w != t && w.nodeType) { u -= w.scrollLeft || 0; s -= w.scrollTop || 0; w = w.parentNode } return{x:u, y:s} }, getSize:function (o) { return{w:o.offsetWidth || o.clientWidth, h:o.offsetHeight || o.clientHeight} }, parseSize:function (o) { var p; if (typeof(o) == "string") { o = /^([0-9]+)([mgk]?)$/.exec(o.toLowerCase().replace(/[^0-9mkg]/g, "")); p = o[2]; o = +o[1]; if (p == "g") { o *= 1073741824 } if (p == "m") { o *= 1048576 } if (p == "k") { o *= 1024 } } return o }, xmlEncode:function (o) { return o ? ("" + o).replace(m, function (p) { return a[p] ? "&" + a[p] + ";" : p }) : o }, toArray:function (q) { var p, o = []; for (p = 0; p < q.length; p++) { o[p] = q[p] } return o }, inArray:function (q, r) { if (r) { if (Array.prototype.indexOf) { return Array.prototype.indexOf.call(r, q) } for (var o = 0, p = r.length; o < p; o++) { if (r[o] === q) { return o } } } return -1 }, addI18n:function (o) { return g.extend(n, o) }, translate:function (o) { return n[o] || o }, isEmptyObj:function (o) { if (o === b) { return true } for (var p in o) { return false } return true }, hasClass:function (q, p) { var o; if (q.className == "") { return false } o = new RegExp("(^|\\s+)" + p + "(\\s+|$)"); return o.test(q.className) }, addClass:function (p, o) { if (!g.hasClass(p, o)) { p.className = p.className == "" ? o : p.className.replace(/\s+$/, "") + " " + o } }, removeClass:function (q, p) { var o = new RegExp("(^|\\s+)" + p + "(\\s+|$)"); q.className = q.className.replace(o, function (s, r, t) { return r === " " && t === " " ? " " : "" }) }, getStyle:function (p, o) { if (p.currentStyle) { return p.currentStyle[o] } else { if (window.getComputedStyle) { return window.getComputedStyle(p, null)[o] } } }, addEvent:function (t, o, u) { var s, r, q, p; p = arguments[3]; o = o.toLowerCase(); if (e === b) { e = "Plupload_" + g.guid() } if (t.addEventListener) { s = u; t.addEventListener(o, s, false) } else { if (t.attachEvent) { s = function () { var v = window.event; if (!v.target) { v.target = v.srcElement } v.preventDefault = h; v.stopPropagation = k; u(v) }; t.attachEvent("on" + o, s) } } if (t[e] === b) { t[e] = g.guid() } if (!d.hasOwnProperty(t[e])) { d[t[e]] = {} } r = d[t[e]]; if (!r.hasOwnProperty(o)) { r[o] = [] } r[o].push({func:s, orig:u, key:p}) }, removeEvent:function (t, o) { var r, u, q; if (typeof(arguments[2]) == "function") { u = arguments[2] } else { q = arguments[2] } o = o.toLowerCase(); if (t[e] && d[t[e]] && d[t[e]][o]) { r = d[t[e]][o] } else { return } for (var p = r.length - 1; p >= 0; p--) { if (r[p].key === q || r[p].orig === u) { if (t.removeEventListener) { t.removeEventListener(o, r[p].func, false) } else { if (t.detachEvent) { t.detachEvent("on" + o, r[p].func) } } r[p].orig = null; r[p].func = null; r.splice(p, 1); if (u !== b) { break } } } if (!r.length) { delete d[t[e]][o] } if (g.isEmptyObj(d[t[e]])) { delete d[t[e]]; try { delete t[e] } catch (s) { t[e] = b } } }, removeAllEvents:function (p) { var o = arguments[1]; if (p[e] === b || !p[e]) { return } g.each(d[p[e]], function (r, q) { g.removeEvent(p, q, o) }) }}; g.Uploader = function (s) { var p = {}, v, u = [], r, q = false; v = new g.QueueProgress(); s = g.extend({chunk_size:0, multipart:true, multi_selection:true, file_data_name:"file", filters:[]}, s); function t() { var x, y = 0, w; if (this.state == g.STARTED) { for (w = 0; w < u.length; w++) { if (!x && u[w].status == g.QUEUED) { x = u[w]; x.status = g.UPLOADING; if (this.trigger("BeforeUpload", x)) { this.trigger("UploadFile", x) } } else { y++ } } if (y == u.length) { this.stop(); this.trigger("UploadComplete", u) } } } function o() { var x, w; v.reset(); for (x = 0; x < u.length; x++) { w = u[x]; if (w.size !== b) { v.size += w.size; v.loaded += w.loaded } else { v.size = b } if (w.status == g.DONE) { v.uploaded++ } else { if (w.status == g.FAILED) { v.failed++ } else { v.queued++ } } } if (v.size === b) { v.percent = u.length > 0 ? Math.ceil(v.uploaded / u.length * 100) : 0 } else { v.bytesPerSec = Math.ceil(v.loaded / ((+new Date() - r || 1) / 1000)); v.percent = v.size > 0 ? Math.ceil(v.loaded / v.size * 100) : 0 } } g.extend(this, {state:g.STOPPED, runtime:"", features:{}, files:u, settings:s, total:v, id:g.guid(), init:function () { var B = this, C, y, x, A = 0, z; if (typeof(s.preinit) == "function") { s.preinit(B) } else { g.each(s.preinit, function (E, D) { B.bind(D, E) }) } s.page_url = s.page_url || document.location.pathname.replace(/\/[^\/]+$/g, "/"); if (!/^(\w+:\/\/|\/)/.test(s.url)) { s.url = s.page_url + s.url } s.chunk_size = g.parseSize(s.chunk_size); s.max_file_size = g.parseSize(s.max_file_size); B.bind("FilesAdded", function (D, G) { var F, E, I = 0, J, H = s.filters; if (H && H.length) { J = []; g.each(H, function (K) { g.each(K.extensions.split(/,/), function (L) { if (/^\s*\*\s*$/.test(L)) { J.push("\\.*") } else { J.push("\\." + L.replace(new RegExp("[" + ("/^$.*+?|()[]{}\\".replace(/./g, "\\$&")) + "]", "g"), "\\$&")) } }) }); J = new RegExp(J.join("|") + "$", "i") } for (F = 0; F < G.length; F++) { E = G[F]; E.loaded = 0; E.percent = 0; E.status = g.QUEUED; if (J && !J.test(E.name)) { D.trigger("Error", {code:g.FILE_EXTENSION_ERROR, message:g.translate("File extension error."), file:E}); continue } if (E.size !== b && E.size > s.max_file_size) { D.trigger("Error", {code:g.FILE_SIZE_ERROR, message:g.translate("File size error."), file:E}); continue } u.push(E); I++ } if (I) { c(function () { B.trigger("QueueChanged"); B.refresh() }, 1) } else { return false } }); if (s.unique_names) { B.bind("UploadFile", function (D, E) { var G = E.name.match(/\.([^.]+)$/), F = "tmp"; if (G) { F = G[1] } E.target_name = E.id + "." + F }) } B.bind("UploadProgress", function (D, E) { E.percent = E.size > 0 ? Math.ceil(E.loaded / E.size * 100) : 100; o() }); B.bind("StateChanged", function (D) { if (D.state == g.STARTED) { r = (+new Date()) } else { if (D.state == g.STOPPED) { for (C = D.files.length - 1; C >= 0; C--) { if (D.files[C].status == g.UPLOADING) { D.files[C].status = g.QUEUED; o() } } } } }); B.bind("QueueChanged", o); B.bind("Error", function (D, E) { if (E.file) { E.file.status = g.FAILED; o(); if (D.state == g.STARTED) { c(function () { t.call(B) }, 1) } } }); B.bind("FileUploaded", function (D, E) { E.status = g.DONE; E.loaded = E.size; D.trigger("UploadProgress", E); c(function () { t.call(B) }, 1) }); if (s.runtimes) { y = []; z = s.runtimes.split(/\s?,\s?/); for (C = 0; C < z.length; C++) { if (l[z[C]]) { y.push(l[z[C]]) } } } else { y = l } function w() { var G = y[A++], F, D, E; if (G) { F = G.getFeatures(); D = B.settings.required_features; if (D) { D = D.split(","); for (E = 0; E < D.length; E++) { if (!F[D[E]]) { w(); return } } } G.init(B, function (H) { if (H && H.success) { B.features = F; B.runtime = G.name; B.trigger("Init", {runtime:G.name}); B.trigger("PostInit"); B.refresh() } else { w() } }) } else { B.trigger("Error", {code:g.INIT_ERROR, message:g.translate("Init error.")}) } } w(); if (typeof(s.init) == "function") { s.init(B) } else { g.each(s.init, function (E, D) { B.bind(D, E) }) } }, refresh:function () { this.trigger("Refresh") }, start:function () { if (u.length && this.state != g.STARTED) { this.state = g.STARTED; this.trigger("StateChanged"); t.call(this) } }, stop:function () { if (this.state != g.STOPPED) { this.state = g.STOPPED; this.trigger("CancelUpload"); this.trigger("StateChanged") } }, disableBrowse:function () { q = arguments[0] !== b ? arguments[0] : true; this.trigger("DisableBrowse", q) }, getFile:function (x) { var w; for (w = u.length - 1; w >= 0; w--) { if (u[w].id === x) { return u[w] } } }, removeFile:function (x) { var w; for (w = u.length - 1; w >= 0; w--) { if (u[w].id === x.id) { return this.splice(w, 1)[0] } } }, splice:function (y, w) { var x; x = u.splice(y === b ? 0 : y, w === b ? u.length : w); this.trigger("FilesRemoved", x); this.trigger("QueueChanged"); return x }, trigger:function (x) { var z = p[x.toLowerCase()], y, w; if (z) { w = Array.prototype.slice.call(arguments); w[0] = this; for (y = 0; y < z.length; y++) { if (z[y].func.apply(z[y].scope, w) === false) { return false } } } return true }, hasEventListener:function (w) { return !!p[w.toLowerCase()] }, bind:function (w, y, x) { var z; w = w.toLowerCase(); z = p[w] || []; z.push({func:y, scope:x || this}); p[w] = z }, unbind:function (w) { w = w.toLowerCase(); var z = p[w], x, y = arguments[1]; if (z) { if (y !== b) { for (x = z.length - 1; x >= 0; x--) { if (z[x].func === y) { z.splice(x, 1); break } } } else { z = [] } if (!z.length) { delete p[w] } } }, unbindAll:function () { var w = this; g.each(p, function (y, x) { w.unbind(x) }) }, destroy:function () { this.stop(); this.trigger("Destroy"); this.unbindAll() }}) }; g.File = function (r, p, q) { var o = this; o.id = r; o.name = p; o.size = q; o.loaded = 0; o.percent = 0; o.status = 0 }; g.Runtime = function () { this.getFeatures = function () { }; this.init = function (o, p) { } }; g.QueueProgress = function () { var o = this; o.size = 0; o.loaded = 0; o.uploaded = 0; o.failed = 0; o.queued = 0; o.percent = 0; o.bytesPerSec = 0; o.reset = function () { o.size = o.loaded = o.uploaded = o.failed = o.queued = o.percent = o.bytesPerSec = 0 } }; g.runtimes = {}; window.plupload = g })(); (function () { if (window.google && google.gears) { return } var a = null; if (typeof GearsFactory != "undefined") { a = new GearsFactory() } else { try { a = new ActiveXObject("Gears.Factory"); if (a.getBuildInfo().indexOf("ie_mobile") != -1) { a.privateSetGlobalObject(this) } } catch (b) { if ((typeof navigator.mimeTypes != "undefined") && navigator.mimeTypes["application/x-googlegears"]) { a = document.createElement("object"); a.style.display = "none"; a.width = 0; a.height = 0; a.type = "application/x-googlegears"; document.documentElement.appendChild(a) } } } if (!a) { return } if (!window.google) { window.google = {} } if (!google.gears) { google.gears = {factory:a} } })(); (function (e, b, c, d) { var f = {}; function a(h, k, m) { var g, j, l, o; j = google.gears.factory.create("beta.canvas"); try { j.decode(h); if (!k.width) { k.width = j.width } if (!k.height) { k.height = j.height } o = Math.min(width / j.width, height / j.height); if (o < 1 || (o === 1 && m === "image/jpeg")) { j.resize(Math.round(j.width * o), Math.round(j.height * o)); if (k.quality) { return j.encode(m, {quality:k.quality / 100}) } return j.encode(m) } } catch (n) { } return h } c.runtimes.Gears = c.addRuntime("gears", {getFeatures:function () { return{dragdrop:true, jpgresize:true, pngresize:true, chunks:true, progress:true, multipart:true, multi_selection:true} }, init:function (l, n) { var m, h, g = false; if (!e.google || !google.gears) { return n({success:false}) } try { m = google.gears.factory.create("beta.desktop") } catch (k) { return n({success:false}) } function j(q) { var p, o, r = [], s; for (o = 0; o < q.length; o++) { p = q[o]; s = c.guid(); f[s] = p.blob; r.push(new c.File(s, p.name, p.blob.length)) } l.trigger("FilesAdded", r) } l.bind("PostInit", function () { var p = l.settings, o = b.getElementById(p.drop_element); if (o) { c.addEvent(o, "dragover", function (q) { m.setDropEffect(q, "copy"); q.preventDefault() }, l.id); c.addEvent(o, "drop", function (r) { var q = m.getDragData(r, "application/x-gears-files"); if (q) { j(q.files) } r.preventDefault() }, l.id); o = 0 } c.addEvent(b.getElementById(p.browse_button), "click", function (u) { var t = [], r, q, s; u.preventDefault(); if (g) { return } no_type_restriction:for (r = 0; r < p.filters.length; r++) { s = p.filters[r].extensions.split(","); for (q = 0; q < s.length; q++) { if (s[q] === "*") { t = []; break no_type_restriction } t.push("." + s[q]) } } m.openFiles(j, {singleFile:!p.multi_selection, filter:t}) }, l.id) }); l.bind("CancelUpload", function () { if (h.abort) { h.abort() } }); l.bind("UploadFile", function (u, r) { var w = 0, v, s, t = 0, q = u.settings.resize, o; if (q && /\.(png|jpg|jpeg)$/i.test(r.name)) { f[r.id] = a(f[r.id], q, /\.png$/i.test(r.name) ? "image/png" : "image/jpeg") } r.size = f[r.id].length; s = u.settings.chunk_size; o = s > 0; v = Math.ceil(r.size / s); if (!o) { s = r.size; v = 1 } function p() { var C, y = u.settings.multipart, x = 0, B = {name:r.target_name || r.name}, z = u.settings.url; function A(E) { var D, J = "----pluploadboundary" + c.guid(), G = "--", I = "\r\n", F, H; if (y) { h.setRequestHeader("Content-Type", "multipart/form-data; boundary=" + J); D = google.gears.factory.create("beta.blobbuilder"); c.each(c.extend(B, u.settings.multipart_params), function (L, K) { D.append(G + J + I + 'Content-Disposition: form-data; name="' + K + '"' + I + I); D.append(L + I) }); H = c.mimeTypes[r.name.replace(/^.+\.([^.]+)/, "$1").toLowerCase()] || "application/octet-stream"; D.append(G + J + I + 'Content-Disposition: form-data; name="' + u.settings.file_data_name + '"; filename="' + r.name + '"' + I + "Content-Type: " + H + I + I); D.append(E); D.append(I + G + J + G + I); F = D.getAsBlob(); x = F.length - E.length; E = F } h.send(E) } if (r.status == c.DONE || r.status == c.FAILED || u.state == c.STOPPED) { return } if (o) { B.chunk = w; B.chunks = v } C = Math.min(s, r.size - (w * s)); if (!y) { z = c.buildUrl(u.settings.url, B) } h = google.gears.factory.create("beta.httprequest"); h.open("POST", z); if (!y) { h.setRequestHeader("Content-Disposition", 'attachment; filename="' + r.name + '"'); h.setRequestHeader("Content-Type", "application/octet-stream") } c.each(u.settings.headers, function (E, D) { h.setRequestHeader(D, E) }); h.upload.onprogress = function (D) { r.loaded = t + D.loaded - x; u.trigger("UploadProgress", r) }; h.onreadystatechange = function () { var D; if (h.readyState == 4 && u.state !== c.STOPPED) { if (h.status == 200) { D = {chunk:w, chunks:v, response:h.responseText, status:h.status}; u.trigger("ChunkUploaded", r, D); if (D.cancelled) { r.status = c.FAILED; return } t += C; if (++w >= v) { r.status = c.DONE; u.trigger("FileUploaded", r, {response:h.responseText, status:h.status}) } else { p() } } else { u.trigger("Error", {code:c.HTTP_ERROR, message:c.translate("HTTP Error."), file:r, chunk:w, chunks:v, status:h.status}) } } }; if (w < v) { A(f[r.id].slice(w * s, C)) } } p() }); l.bind("DisableBrowse", function (o, p) { g = p }); l.bind("Destroy", function (o) { var p, q, r = {browseButton:o.settings.browse_button, dropElm:o.settings.drop_element}; for (p in r) { q = b.getElementById(r[p]); if (q) { c.removeAllEvents(q, o.id) } } }); n({success:true}) }}) })(window, document, plupload); (function (g, b, d, e) { var a = {}, h = {}; function c(o) { var n, m = typeof o, j, l, k; if (o === e || o === null) { return"null" } if (m === "string") { n = "\bb\tt\nn\ff\rr\"\"''\\\\"; return'"' + o.replace(/([\u0080-\uFFFF\x00-\x1f\"])/g, function (r, q) { var p = n.indexOf(q); if (p + 1) { return"\\" + n.charAt(p + 1) } r = q.charCodeAt().toString(16); return"\\u" + "0000".substring(r.length) + r }) + '"' } if (m == "object") { j = o.length !== e; n = ""; if (j) { for (l = 0; l < o.length; l++) { if (n) { n += "," } n += c(o[l]) } n = "[" + n + "]" } else { for (k in o) { if (o.hasOwnProperty(k)) { if (n) { n += "," } n += c(k) + ":" + c(o[k]) } } n = "{" + n + "}" } return n } return"" + o } function f(s) { var v = false, j = null, o = null, k, l, m, u, n, q = 0; try { try { o = new ActiveXObject("AgControl.AgControl"); if (o.IsVersionSupported(s)) { v = true } o = null } catch (r) { var p = navigator.plugins["Silverlight Plug-In"]; if (p) { k = p.description; if (k === "1.0.30226.2") { k = "2.0.30226.2" } l = k.split("."); while (l.length > 3) { l.pop() } while (l.length < 4) { l.push(0) } m = s.split("."); while (m.length > 4) { m.pop() } do { u = parseInt(m[q], 10); n = parseInt(l[q], 10); q++ } while (q < m.length && u === n); if (u <= n && !isNaN(u)) { v = true } } } } catch (t) { v = false } return v } d.silverlight = {trigger:function (n, k) { var m = a[n], l, j; if (m) { j = d.toArray(arguments).slice(1); j[0] = "Silverlight:" + k; setTimeout(function () { m.trigger.apply(m, j) }, 0) } }}; d.runtimes.Silverlight = d.addRuntime("silverlight", {getFeatures:function () { return{jpgresize:true, pngresize:true, chunks:true, progress:true, multipart:true, multi_selection:true} }, init:function (p, q) { var o, m = "", n = p.settings.filters, l, k = b.body; if (!f("2.0.31005.0") || (g.opera && g.opera.buildNumber)) { q({success:false}); return } h[p.id] = false; a[p.id] = p; o = b.createElement("div"); o.id = p.id + "_silverlight_container"; d.extend(o.style, {position:"absolute", top:"0px", background:p.settings.shim_bgcolor || "transparent", zIndex:99999, width:"100px", height:"100px", overflow:"hidden", opacity:p.settings.shim_bgcolor || b.documentMode > 8 ? "" : 0.01}); o.className = "plupload silverlight"; if (p.settings.container) { k = b.getElementById(p.settings.container); if (d.getStyle(k, "position") === "static") { k.style.position = "relative" } } k.appendChild(o); for (l = 0; l < n.length; l++) { m += (m != "" ? "|" : "") + n[l].title + " | *." + n[l].extensions.replace(/,/g, ";*.") } o.innerHTML = ''; function j() { return b.getElementById(p.id + "_silverlight").content.Upload } p.bind("Silverlight:Init", function () { var r, s = {}; if (h[p.id]) { return } h[p.id] = true; p.bind("Silverlight:StartSelectFiles", function (t) { r = [] }); p.bind("Silverlight:SelectFile", function (t, w, u, v) { var x; x = d.guid(); s[x] = w; s[w] = x; r.push(new d.File(x, u, v)) }); p.bind("Silverlight:SelectSuccessful", function () { if (r.length) { p.trigger("FilesAdded", r) } }); p.bind("Silverlight:UploadChunkError", function (t, w, u, x, v) { p.trigger("Error", {code:d.IO_ERROR, message:"IO Error.", details:v, file:t.getFile(s[w])}) }); p.bind("Silverlight:UploadFileProgress", function (t, x, u, w) { var v = t.getFile(s[x]); if (v.status != d.FAILED) { v.size = w; v.loaded = u; t.trigger("UploadProgress", v) } }); p.bind("Refresh", function (t) { var u, v, w; u = b.getElementById(t.settings.browse_button); if (u) { v = d.getPos(u, b.getElementById(t.settings.container)); w = d.getSize(u); d.extend(b.getElementById(t.id + "_silverlight_container").style, {top:v.y + "px", left:v.x + "px", width:w.w + "px", height:w.h + "px"}) } }); p.bind("Silverlight:UploadChunkSuccessful", function (t, w, u, z, y) { var x, v = t.getFile(s[w]); x = {chunk:u, chunks:z, response:y}; t.trigger("ChunkUploaded", v, x); if (v.status != d.FAILED && t.state !== d.STOPPED) { j().UploadNextChunk() } if (u == z - 1) { v.status = d.DONE; t.trigger("FileUploaded", v, {response:y}) } }); p.bind("Silverlight:UploadSuccessful", function (t, w, u) { var v = t.getFile(s[w]); v.status = d.DONE; t.trigger("FileUploaded", v, {response:u}) }); p.bind("FilesRemoved", function (t, v) { var u; for (u = 0; u < v.length; u++) { j().RemoveFile(s[v[u].id]) } }); p.bind("UploadFile", function (t, v) { var w = t.settings, u = w.resize || {}; j().UploadFile(s[v.id], t.settings.url, c({name:v.target_name || v.name, mime:d.mimeTypes[v.name.replace(/^.+\.([^.]+)/, "$1").toLowerCase()] || "application/octet-stream", chunk_size:w.chunk_size, image_width:u.width, image_height:u.height, image_quality:u.quality || 90, multipart:!!w.multipart, multipart_params:w.multipart_params || {}, file_data_name:w.file_data_name, headers:w.headers})) }); p.bind("CancelUpload", function () { j().CancelUpload() }); p.bind("Silverlight:MouseEnter", function (t) { var u, v; u = b.getElementById(p.settings.browse_button); v = t.settings.browse_button_hover; if (u && v) { d.addClass(u, v) } }); p.bind("Silverlight:MouseLeave", function (t) { var u, v; u = b.getElementById(p.settings.browse_button); v = t.settings.browse_button_hover; if (u && v) { d.removeClass(u, v) } }); p.bind("Silverlight:MouseLeftButtonDown", function (t) { var u, v; u = b.getElementById(p.settings.browse_button); v = t.settings.browse_button_active; if (u && v) { d.addClass(u, v); d.addEvent(b.body, "mouseup", function () { d.removeClass(u, v) }) } }); p.bind("Sliverlight:StartSelectFiles", function (t) { var u, v; u = b.getElementById(p.settings.browse_button); v = t.settings.browse_button_active; if (u && v) { d.removeClass(u, v) } }); p.bind("DisableBrowse", function (t, u) { j().DisableBrowse(u) }); p.bind("Destroy", function (t) { var u; d.removeAllEvents(b.body, t.id); delete h[t.id]; delete a[t.id]; u = b.getElementById(t.id + "_silverlight_container"); if (u) { k.removeChild(u) } }); q({success:true}) }) }}) })(window, document, plupload); (function (f, b, d, e) { var a = {}, g = {}; function c() { var h; try { h = navigator.plugins["Shockwave Flash"]; h = h.description } catch (k) { try { h = new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version") } catch (j) { h = "0.0" } } h = h.match(/\d+/g); return parseFloat(h[0] + "." + h[1]) } d.flash = {trigger:function (k, h, j) { setTimeout(function () { var n = a[k], m, l; if (n) { n.trigger("Flash:" + h, j) } }, 0) }}; d.runtimes.Flash = d.addRuntime("flash", {getFeatures:function () { return{jpgresize:true, pngresize:true, maxWidth:8091, maxHeight:8091, chunks:true, progress:true, multipart:true, multi_selection:true} }, init:function (n, p) { var l, m, h = 0, j = b.body; if (c() < 10) { p({success:false}); return } g[n.id] = false; a[n.id] = n; l = b.getElementById(n.settings.browse_button); m = b.createElement("div"); m.id = n.id + "_flash_container"; d.extend(m.style, {position:"absolute", top:"0px", background:n.settings.shim_bgcolor || "transparent", zIndex:99999, width:"100%", height:"100%"}); m.className = "plupload flash"; if (n.settings.container) { j = b.getElementById(n.settings.container); if (d.getStyle(j, "position") === "static") { j.style.position = "relative" } } j.appendChild(m); (function () { var q, r; q = ''; if (d.ua.ie) { r = b.createElement("div"); m.appendChild(r); r.outerHTML = q; r = null } else { m.innerHTML = q } }()); function o() { return b.getElementById(n.id + "_flash") } function k() { if (h++ > 5000) { p({success:false}); return } if (g[n.id] === false) { setTimeout(k, 1) } } k(); l = m = null; n.bind("Destroy", function (q) { var r; d.removeAllEvents(b.body, q.id); delete g[q.id]; delete a[q.id]; r = b.getElementById(q.id + "_flash_container"); if (r) { j.removeChild(r) } }); n.bind("Flash:Init", function () { var s = {}, r; try { o().setFileFilters(n.settings.filters, n.settings.multi_selection) } catch (q) { p({success:false}); return } if (g[n.id]) { return } g[n.id] = true; n.bind("UploadFile", function (t, v) { var w = t.settings, u = n.settings.resize || {}; o().uploadFile(s[v.id], w.url, {name:v.target_name || v.name, mime:d.mimeTypes[v.name.replace(/^.+\.([^.]+)/, "$1").toLowerCase()] || "application/octet-stream", chunk_size:w.chunk_size, width:u.width, height:u.height, quality:u.quality, multipart:w.multipart, multipart_params:w.multipart_params || {}, file_data_name:w.file_data_name, format:/\.(jpg|jpeg)$/i.test(v.name) ? "jpg" : "png", headers:w.headers, urlstream_upload:w.urlstream_upload}) }); n.bind("CancelUpload", function () { o().cancelUpload() }); n.bind("Flash:UploadProcess", function (u, t) { var v = u.getFile(s[t.id]); if (v.status != d.FAILED) { v.loaded = t.loaded; v.size = t.size; u.trigger("UploadProgress", v) } }); n.bind("Flash:UploadChunkComplete", function (t, v) { var w, u = t.getFile(s[v.id]); w = {chunk:v.chunk, chunks:v.chunks, response:v.text}; t.trigger("ChunkUploaded", u, w); if (u.status !== d.FAILED && t.state !== d.STOPPED) { o().uploadNextChunk() } if (v.chunk == v.chunks - 1) { u.status = d.DONE; t.trigger("FileUploaded", u, {response:v.text}) } }); n.bind("Flash:SelectFiles", function (t, w) { var v, u, x = [], y; for (u = 0; u < w.length; u++) { v = w[u]; y = d.guid(); s[y] = v.id; s[v.id] = y; x.push(new d.File(y, v.name, v.size)) } if (x.length) { n.trigger("FilesAdded", x) } }); n.bind("Flash:SecurityError", function (t, u) { n.trigger("Error", {code:d.SECURITY_ERROR, message:d.translate("Security error."), details:u.message, file:n.getFile(s[u.id])}) }); n.bind("Flash:GenericError", function (t, u) { n.trigger("Error", {code:d.GENERIC_ERROR, message:d.translate("Generic error."), details:u.message, file:n.getFile(s[u.id])}) }); n.bind("Flash:IOError", function (t, u) { n.trigger("Error", {code:d.IO_ERROR, message:d.translate("IO error."), details:u.message, file:n.getFile(s[u.id])}) }); n.bind("Flash:ImageError", function (t, u) { n.trigger("Error", {code:parseInt(u.code, 10), message:d.translate("Image error."), file:n.getFile(s[u.id])}) }); n.bind("Flash:StageEvent:rollOver", function (t) { var u, v; u = b.getElementById(n.settings.browse_button); v = t.settings.browse_button_hover; if (u && v) { d.addClass(u, v) } }); n.bind("Flash:StageEvent:rollOut", function (t) { var u, v; u = b.getElementById(n.settings.browse_button); v = t.settings.browse_button_hover; if (u && v) { d.removeClass(u, v) } }); n.bind("Flash:StageEvent:mouseDown", function (t) { var u, v; u = b.getElementById(n.settings.browse_button); v = t.settings.browse_button_active; if (u && v) { d.addClass(u, v); d.addEvent(b.body, "mouseup", function () { d.removeClass(u, v) }, t.id) } }); n.bind("Flash:StageEvent:mouseUp", function (t) { var u, v; u = b.getElementById(n.settings.browse_button); v = t.settings.browse_button_active; if (u && v) { d.removeClass(u, v) } }); n.bind("Flash:ExifData", function (t, u) { n.trigger("ExifData", n.getFile(s[u.id]), u.data) }); n.bind("Flash:GpsData", function (t, u) { n.trigger("GpsData", n.getFile(s[u.id]), u.data) }); n.bind("QueueChanged", function (t) { n.refresh() }); n.bind("FilesRemoved", function (t, v) { var u; for (u = 0; u < v.length; u++) { o().removeFile(s[v[u].id]) } }); n.bind("StateChanged", function (t) { n.refresh() }); n.bind("Refresh", function (t) { var u, v, w; o().setFileFilters(n.settings.filters, n.settings.multi_selection); u = b.getElementById(t.settings.browse_button); if (u) { v = d.getPos(u, b.getElementById(t.settings.container)); w = d.getSize(u); d.extend(b.getElementById(t.id + "_flash_container").style, {top:v.y + "px", left:v.x + "px", width:w.w + "px", height:w.h + "px"}) } }); n.bind("DisableBrowse", function (t, u) { o().disableBrowse(u) }); p({success:true}) }) }}) })(window, document, plupload); (function (a) { a.runtimes.BrowserPlus = a.addRuntime("browserplus", {getFeatures:function () { return{dragdrop:true, jpgresize:true, pngresize:true, chunks:true, progress:true, multipart:true, multi_selection:true} }, init:function (g, j) { var e = window.BrowserPlus, h = {}, d = g.settings, c = d.resize; function f(o) { var n, m, k = [], l, p; for (m = 0; m < o.length; m++) { l = o[m]; p = a.guid(); h[p] = l; k.push(new a.File(p, l.name, l.size)) } if (m) { g.trigger("FilesAdded", k) } } function b() { var k = false; g.bind("PostInit", function () { var o, m = d.drop_element, q = g.id + "_droptarget", l = document.getElementById(m), n; function r(t, s) { e.DragAndDrop.AddDropTarget({id:t}, function (u) { e.DragAndDrop.AttachCallbacks({id:t, hover:function (v) { if (!v && s) { s() } }, drop:function (v) { if (s) { s() } f(v) }}, function () { }) }) } function p() { document.getElementById(q).style.top = "-1000px" } if (l) { if (document.attachEvent && (/MSIE/gi).test(navigator.userAgent)) { o = document.createElement("div"); o.setAttribute("id", q); a.extend(o.style, {position:"absolute", top:"-1000px", background:"red", filter:"alpha(opacity=0)", opacity:0}); document.body.appendChild(o); a.addEvent(l, "dragenter", function (t) { var s, u; s = document.getElementById(m); u = a.getPos(s); a.extend(document.getElementById(q).style, {top:u.y + "px", left:u.x + "px", width:s.offsetWidth + "px", height:s.offsetHeight + "px"}) }); r(q, p) } else { r(m) } } a.addEvent(document.getElementById(d.browse_button), "click", function (y) { var s = [], u, t, x = d.filters, w, v; y.preventDefault(); if (k) { return } no_type_restriction:for (u = 0; u < x.length; u++) { w = x[u].extensions.split(","); for (t = 0; t < w.length; t++) { if (w[t] === "*") { s = []; break no_type_restriction } v = a.mimeTypes[w[t]]; if (v && a.inArray(v, s) === -1) { s.push(a.mimeTypes[w[t]]) } } } e.FileBrowse.OpenBrowseDialog({mimeTypes:s}, function (z) { if (z.success) { f(z.value) } }) }); l = o = null }); g.bind("CancelUpload", function () { e.Uploader.cancel({}, function () { }) }); g.bind("DisableBrowse", function (l, m) { k = m }); g.bind("UploadFile", function (o, l) { var n = h[l.id], t = {}, m = o.settings.chunk_size, p, q = []; function s(u, w) { var v; if (l.status == a.FAILED) { return } t.name = l.target_name || l.name; if (m) { t.chunk = "" + u; t.chunks = "" + w } v = q.shift(); e.Uploader.upload({url:o.settings.url, files:{file:v}, cookies:document.cookies, postvars:a.extend(t, o.settings.multipart_params), progressCallback:function (z) { var y, x = 0; p[u] = parseInt(z.filePercent * v.size / 100, 10); for (y = 0; y < p.length; y++) { x += p[y] } l.loaded = x; o.trigger("UploadProgress", l) }}, function (y) { var x, z; if (y.success) { x = y.value.statusCode; if (m) { o.trigger("ChunkUploaded", l, {chunk:u, chunks:w, response:y.value.body, status:x}) } if (q.length > 0) { s(++u, w) } else { l.status = a.DONE; o.trigger("FileUploaded", l, {response:y.value.body, status:x}); if (x >= 400) { o.trigger("Error", {code:a.HTTP_ERROR, message:a.translate("HTTP Error."), file:l, status:x}) } } } else { o.trigger("Error", {code:a.GENERIC_ERROR, message:a.translate("Generic Error."), file:l, details:y.error}) } }) } function r(u) { l.size = u.size; if (m) { e.FileAccess.chunk({file:u, chunkSize:m}, function (x) { if (x.success) { var y = x.value, v = y.length; p = Array(v); for (var w = 0; w < v; w++) { p[w] = 0; q.push(y[w]) } s(0, v) } }) } else { p = Array(1); q.push(u); s(0, 1) } } if (c && /\.(png|jpg|jpeg)$/i.test(l.name)) { BrowserPlus.ImageAlter.transform({file:n, quality:c.quality || 90, actions:[ {scale:{maxwidth:c.width, maxheight:c.height}} ]}, function (u) { if (u.success) { r(u.value.file) } }) } else { r(n) } }); j({success:true}) } if (e) { e.init(function (l) { var k = [ {service:"Uploader", version:"3"}, {service:"DragAndDrop", version:"1"}, {service:"FileBrowse", version:"1"}, {service:"FileAccess", version:"2"} ]; if (c) { k.push({service:"ImageAlter", version:"4"}) } if (l.success) { e.require({services:k}, function (m) { if (m.success) { b() } else { j() } }) } else { j() } }) } else { j() } }}) })(plupload); (function (h, k, j, e) { var c = {}, g; function m(o, p) { var n; if ("FileReader" in h) { n = new FileReader(); n.readAsDataURL(o); n.onload = function () { p(n.result) } } else { return p(o.getAsDataURL()) } } function l(o, p) { var n; if ("FileReader" in h) { n = new FileReader(); n.readAsBinaryString(o); n.onload = function () { p(n.result) } } else { return p(o.getAsBinary()) } } function d(r, p, n, v) { var q, o, u, s, t = this; m(c[r.id], function (w) { q = k.createElement("canvas"); q.style.display = "none"; k.body.appendChild(q); o = q.getContext("2d"); u = new Image(); u.onerror = u.onabort = function () { v({success:false}) }; u.onload = function () { var B, x, z, y, A; if (!p.width) { p.width = u.width } if (!p.height) { p.height = u.height } s = Math.min(p.width / u.width, p.height / u.height); if (s < 1 || (s === 1 && n === "image/jpeg")) { B = Math.round(u.width * s); x = Math.round(u.height * s); q.width = B; q.height = x; o.drawImage(u, 0, 0, B, x); if (n === "image/jpeg") { y = new f(atob(w.substring(w.indexOf("base64,") + 7))); if (y.headers && y.headers.length) { A = new a(); if (A.init(y.get("exif")[0])) { A.setExif("PixelXDimension", B); A.setExif("PixelYDimension", x); y.set("exif", A.getBinary()); if (t.hasEventListener("ExifData")) { t.trigger("ExifData", r, A.EXIF()) } if (t.hasEventListener("GpsData")) { t.trigger("GpsData", r, A.GPS()) } } } if (p.quality) { try { w = q.toDataURL(n, p.quality / 100) } catch (C) { w = q.toDataURL(n) } } } else { w = q.toDataURL(n) } w = w.substring(w.indexOf("base64,") + 7); w = atob(w); if (y && y.headers && y.headers.length) { w = y.restore(w); y.purge() } q.parentNode.removeChild(q); v({success:true, data:w}) } else { v({success:false}) } }; u.src = w }) } j.runtimes.Html5 = j.addRuntime("html5", {getFeatures:function () { var s, o, r, q, p, n; o = r = p = n = false; if (h.XMLHttpRequest) { s = new XMLHttpRequest(); r = !!s.upload; o = !!(s.sendAsBinary || s.upload) } if (o) { q = !!(s.sendAsBinary || (h.Uint8Array && h.ArrayBuffer)); p = !!(File && (File.prototype.getAsDataURL || h.FileReader) && q); n = !!(File && (File.prototype.mozSlice || File.prototype.webkitSlice || File.prototype.slice)) } g = j.ua.safari && j.ua.windows; return{html5:o, dragdrop:(function () { var t = k.createElement("div"); return("draggable" in t) || ("ondragstart" in t && "ondrop" in t) }()), jpgresize:p, pngresize:p, multipart:p || !!h.FileReader || !!h.FormData, canSendBinary:q, cantSendBlobInFormData:!!(j.ua.gecko && h.FormData && h.FileReader && !FileReader.prototype.readAsArrayBuffer), progress:r, chunks:n, multi_selection:!(j.ua.safari && j.ua.windows), triggerDialog:(j.ua.gecko && h.FormData || j.ua.webkit)} }, init:function (p, r) { var n, q; function o(w) { var u, t, v = [], x, s = {}; for (t = 0; t < w.length; t++) { u = w[t]; if (s[u.name]) { continue } s[u.name] = true; x = j.guid(); c[x] = u; v.push(new j.File(x, u.fileName || u.name, u.fileSize || u.size)) } if (v.length) { p.trigger("FilesAdded", v) } } n = this.getFeatures(); if (!n.html5) { r({success:false}); return } p.bind("Init", function (w) { var G, F, C = [], v, D, t = w.settings.filters, u, B, s = k.body, E; G = k.createElement("div"); G.id = w.id + "_html5_container"; j.extend(G.style, {position:"absolute", background:p.settings.shim_bgcolor || "transparent", width:"100px", height:"100px", overflow:"hidden", zIndex:99999, opacity:p.settings.shim_bgcolor ? "" : 0}); G.className = "plupload html5"; if (p.settings.container) { s = k.getElementById(p.settings.container); if (j.getStyle(s, "position") === "static") { s.style.position = "relative" } } s.appendChild(G); no_type_restriction:for (v = 0; v < t.length; v++) { u = t[v].extensions.split(/,/); for (D = 0; D < u.length; D++) { if (u[D] === "*") { C = []; break no_type_restriction } B = j.mimeTypes[u[D]]; if (B && j.inArray(B, C) === -1) { C.push(B) } } } G.innerHTML = '"; G.scrollTop = 100; E = k.getElementById(p.id + "_html5"); if (w.features.triggerDialog) { j.extend(E.style, {position:"absolute", width:"100%", height:"100%"}) } else { j.extend(E.style, {cssFloat:"right", styleFloat:"right"}) } E.onchange = function () { o(this.files); this.value = "" }; F = k.getElementById(w.settings.browse_button); if (F) { var z = w.settings.browse_button_hover, A = w.settings.browse_button_active, x = w.features.triggerDialog ? F : G; if (z) { j.addEvent(x, "mouseover", function () { j.addClass(F, z) }, w.id); j.addEvent(x, "mouseout", function () { j.removeClass(F, z) }, w.id) } if (A) { j.addEvent(x, "mousedown", function () { j.addClass(F, A) }, w.id); j.addEvent(k.body, "mouseup", function () { j.removeClass(F, A) }, w.id) } if (w.features.triggerDialog) { j.addEvent(F, "click", function (H) { var y = k.getElementById(w.id + "_html5"); if (y && !y.disabled) { y.click() } H.preventDefault() }, w.id) } } }); p.bind("PostInit", function () { var s = k.getElementById(p.settings.drop_element); if (s) { if (g) { j.addEvent(s, "dragenter", function (w) { var v, t, u; v = k.getElementById(p.id + "_drop"); if (!v) { v = k.createElement("input"); v.setAttribute("type", "file"); v.setAttribute("id", p.id + "_drop"); v.setAttribute("multiple", "multiple"); j.addEvent(v, "change", function () { o(this.files); j.removeEvent(v, "change", p.id); v.parentNode.removeChild(v) }, p.id); s.appendChild(v) } t = j.getPos(s, k.getElementById(p.settings.container)); u = j.getSize(s); if (j.getStyle(s, "position") === "static") { j.extend(s.style, {position:"relative"}) } j.extend(v.style, {position:"absolute", display:"block", top:0, left:0, width:u.w + "px", height:u.h + "px", opacity:0}) }, p.id); return } j.addEvent(s, "dragover", function (t) { t.preventDefault() }, p.id); j.addEvent(s, "drop", function (u) { var t = u.dataTransfer; if (t && t.files) { o(t.files) } u.preventDefault() }, p.id) } }); p.bind("Refresh", function (s) { var t, u, v, x, w; t = k.getElementById(p.settings.browse_button); if (t) { u = j.getPos(t, k.getElementById(s.settings.container)); v = j.getSize(t); x = k.getElementById(p.id + "_html5_container"); j.extend(x.style, {top:u.y + "px", left:u.x + "px", width:v.w + "px", height:v.h + "px"}); if (p.features.triggerDialog) { if (j.getStyle(t, "position") === "static") { j.extend(t.style, {position:"relative"}) } w = parseInt(j.getStyle(t, "z-index"), 10); if (isNaN(w)) { w = 0 } j.extend(t.style, {zIndex:w}); j.extend(x.style, {zIndex:w - 1}) } } }); p.bind("DisableBrowse", function (s, u) { var t = k.getElementById(s.id + "_html5"); if (t) { t.disabled = u } }); p.bind("CancelUpload", function () { if (q && q.abort) { q.abort() } }); p.bind("UploadFile", function (s, u) { var v = s.settings, y, t; function x(A, D, z) { var B; if (File.prototype.slice) { try { A.slice(); return A.slice(D, z) } catch (C) { return A.slice(D, z - D) } } else { if (B = File.prototype.webkitSlice || File.prototype.mozSlice) { return B.call(A, D, z) } else { return null } } } function w(A) { var D = 0, C = 0, z = ("FileReader" in h) ? new FileReader : null; function B() { var I, M, K, L, H, J, F, E = s.settings.url; function G(V) { var T = 0, N = "----pluploadboundary" + j.guid(), O, P = "--", U = "\r\n", R = ""; q = new XMLHttpRequest; if (q.upload) { q.upload.onprogress = function (W) { u.loaded = Math.min(u.size, C + W.loaded - T); s.trigger("UploadProgress", u) } } q.onreadystatechange = function () { var W, Y; if (q.readyState == 4 && s.state !== j.STOPPED) { try { W = q.status } catch (X) { W = 0 } if (W >= 400) { s.trigger("Error", {code:j.HTTP_ERROR, message:j.translate("HTTP Error."), file:u, status:W}) } else { if (K) { Y = {chunk:D, chunks:K, response:q.responseText, status:W}; s.trigger("ChunkUploaded", u, Y); C += J; if (Y.cancelled) { u.status = j.FAILED; return } u.loaded = Math.min(u.size, (D + 1) * H) } else { u.loaded = u.size } s.trigger("UploadProgress", u); V = I = O = R = null; if (!K || ++D >= K) { u.status = j.DONE; s.trigger("FileUploaded", u, {response:q.responseText, status:W}) } else { B() } } } }; if (s.settings.multipart && n.multipart) { L.name = u.target_name || u.name; q.open("post", E, true); j.each(s.settings.headers, function (X, W) { q.setRequestHeader(W, X) }); if (typeof(V) !== "string" && !!h.FormData) { O = new FormData(); j.each(j.extend(L, s.settings.multipart_params), function (X, W) { O.append(W, X) }); O.append(s.settings.file_data_name, V); q.send(O); return } if (typeof(V) === "string") { q.setRequestHeader("Content-Type", "multipart/form-data; boundary=" + N); j.each(j.extend(L, s.settings.multipart_params), function (X, W) { R += P + N + U + 'Content-Disposition: form-data; name="' + W + '"' + U + U; R += unescape(encodeURIComponent(X)) + U }); F = j.mimeTypes[u.name.replace(/^.+\.([^.]+)/, "$1").toLowerCase()] || "application/octet-stream"; R += P + N + U + 'Content-Disposition: form-data; name="' + s.settings.file_data_name + '"; filename="' + unescape(encodeURIComponent(u.name)) + '"' + U + "Content-Type: " + F + U + U + V + U + P + N + P + U; T = R.length - V.length; V = R; if (q.sendAsBinary) { q.sendAsBinary(V) } else { if (n.canSendBinary) { var S = new Uint8Array(V.length); for (var Q = 0; Q < V.length; Q++) { S[Q] = (V.charCodeAt(Q) & 255) } q.send(S.buffer) } } return } } E = j.buildUrl(s.settings.url, j.extend(L, s.settings.multipart_params)); q.open("post", E, true); q.setRequestHeader("Content-Type", "application/octet-stream"); j.each(s.settings.headers, function (X, W) { q.setRequestHeader(W, X) }); q.send(V) } if (u.status == j.DONE || u.status == j.FAILED || s.state == j.STOPPED) { return } L = {name:u.target_name || u.name}; if (v.chunk_size && u.size > v.chunk_size && (n.chunks || typeof(A) == "string")) { H = v.chunk_size; K = Math.ceil(u.size / H); J = Math.min(H, u.size - (D * H)); if (typeof(A) == "string") { I = A.substring(D * H, D * H + J) } else { I = x(A, D * H, D * H + J) } L.chunk = D; L.chunks = K } else { J = u.size; I = A } if (s.settings.multipart && n.multipart && typeof(I) !== "string" && z && n.cantSendBlobInFormData && n.chunks && s.settings.chunk_size) { z.onload = function () { G(z.result) }; z.readAsBinaryString(I) } else { G(I) } } B() } y = c[u.id]; if (n.jpgresize && s.settings.resize && /\.(png|jpg|jpeg)$/i.test(u.name)) { d.call(s, u, s.settings.resize, /\.png$/i.test(u.name) ? "image/png" : "image/jpeg", function (z) { if (z.success) { u.size = z.data.length; w(z.data) } else { if (n.chunks) { w(y) } else { l(y, w) } } }) } else { if (!n.chunks && n.jpgresize) { l(y, w) } else { w(y) } } }); p.bind("Destroy", function (s) { var u, v, t = k.body, w = {inputContainer:s.id + "_html5_container", inputFile:s.id + "_html5", browseButton:s.settings.browse_button, dropElm:s.settings.drop_element}; for (u in w) { v = k.getElementById(w[u]); if (v) { j.removeAllEvents(v, s.id) } } j.removeAllEvents(k.body, s.id); if (s.settings.container) { t = k.getElementById(s.settings.container) } t.removeChild(k.getElementById(w.inputContainer)) }); r({success:true}) }}); function b() { var q = false, o; function r(t, v) { var s = q ? 0 : -8 * (v - 1), w = 0, u; for (u = 0; u < v; u++) { w |= (o.charCodeAt(t + u) << Math.abs(s + u * 8)) } return w } function n(u, s, t) { var t = arguments.length === 3 ? t : o.length - s - 1; o = o.substr(0, s) + u + o.substr(t + s) } function p(t, u, w) { var x = "", s = q ? 0 : -8 * (w - 1), v; for (v = 0; v < w; v++) { x += String.fromCharCode((u >> Math.abs(s + v * 8)) & 255) } n(x, t, w) } return{II:function (s) { if (s === e) { return q } else { q = s } }, init:function (s) { q = false; o = s }, SEGMENT:function (s, u, t) { switch (arguments.length) { case 1: return o.substr(s, o.length - s - 1); case 2: return o.substr(s, u); case 3: n(t, s, u); break; default: return o } }, BYTE:function (s) { return r(s, 1) }, SHORT:function (s) { return r(s, 2) }, LONG:function (s, t) { if (t === e) { return r(s, 4) } else { p(s, t, 4) } }, SLONG:function (s) { var t = r(s, 4); return(t > 2147483647 ? t - 4294967296 : t) }, STRING:function (s, t) { var u = ""; for (t += s; s < t; s++) { u += String.fromCharCode(r(s, 1)) } return u }} } function f(s) { var u = {65505:{app:"EXIF", name:"APP1", signature:"Exif\0"}, 65506:{app:"ICC", name:"APP2", signature:"ICC_PROFILE\0"}, 65517:{app:"IPTC", name:"APP13", signature:"Photoshop 3.0\0"}}, t = [], r, n, p = e, q = 0, o; r = new b(); r.init(s); if (r.SHORT(0) !== 65496) { return } n = 2; o = Math.min(1048576, s.length); while (n <= o) { p = r.SHORT(n); if (p >= 65488 && p <= 65495) { n += 2; continue } if (p === 65498 || p === 65497) { break } q = r.SHORT(n + 2) + 2; if (u[p] && r.STRING(n + 4, u[p].signature.length) === u[p].signature) { t.push({hex:p, app:u[p].app.toUpperCase(), name:u[p].name.toUpperCase(), start:n, length:q, segment:r.SEGMENT(n, q)}) } n += q } r.init(null); return{headers:t, restore:function (y) { r.init(y); var w = new f(y); if (!w.headers) { return false } for (var x = w.headers.length; x > 0; x--) { var z = w.headers[x - 1]; r.SEGMENT(z.start, z.length, "") } w.purge(); n = r.SHORT(2) == 65504 ? 4 + r.SHORT(4) : 2; for (var x = 0, v = t.length; x < v; x++) { r.SEGMENT(n, 0, t[x].segment); n += t[x].length } return r.SEGMENT() }, get:function (x) { var y = []; for (var w = 0, v = t.length; w < v; w++) { if (t[w].app === x.toUpperCase()) { y.push(t[w].segment) } } return y }, set:function (y, x) { var z = []; if (typeof(x) === "string") { z.push(x) } else { z = x } for (var w = ii = 0, v = t.length; w < v; w++) { if (t[w].app === y.toUpperCase()) { t[w].segment = z[ii]; t[w].length = z[ii].length; ii++ } if (ii >= z.length) { break } } }, purge:function () { t = []; r.init(null) }} } function a() { var q, n, o = {}, t; q = new b(); n = {tiff:{274:"Orientation", 34665:"ExifIFDPointer", 34853:"GPSInfoIFDPointer"}, exif:{36864:"ExifVersion", 40961:"ColorSpace", 40962:"PixelXDimension", 40963:"PixelYDimension", 36867:"DateTimeOriginal", 33434:"ExposureTime", 33437:"FNumber", 34855:"ISOSpeedRatings", 37377:"ShutterSpeedValue", 37378:"ApertureValue", 37383:"MeteringMode", 37384:"LightSource", 37385:"Flash", 41986:"ExposureMode", 41987:"WhiteBalance", 41990:"SceneCaptureType", 41988:"DigitalZoomRatio", 41992:"Contrast", 41993:"Saturation", 41994:"Sharpness"}, gps:{0:"GPSVersionID", 1:"GPSLatitudeRef", 2:"GPSLatitude", 3:"GPSLongitudeRef", 4:"GPSLongitude"}}; t = {ColorSpace:{1:"sRGB", 0:"Uncalibrated"}, MeteringMode:{0:"Unknown", 1:"Average", 2:"CenterWeightedAverage", 3:"Spot", 4:"MultiSpot", 5:"Pattern", 6:"Partial", 255:"Other"}, LightSource:{1:"Daylight", 2:"Fliorescent", 3:"Tungsten", 4:"Flash", 9:"Fine weather", 10:"Cloudy weather", 11:"Shade", 12:"Daylight fluorescent (D 5700 - 7100K)", 13:"Day white fluorescent (N 4600 -5400K)", 14:"Cool white fluorescent (W 3900 - 4500K)", 15:"White fluorescent (WW 3200 - 3700K)", 17:"Standard light A", 18:"Standard light B", 19:"Standard light C", 20:"D55", 21:"D65", 22:"D75", 23:"D50", 24:"ISO studio tungsten", 255:"Other"}, Flash:{0:"Flash did not fire.", 1:"Flash fired.", 5:"Strobe return light not detected.", 7:"Strobe return light detected.", 9:"Flash fired, compulsory flash mode", 13:"Flash fired, compulsory flash mode, return light not detected", 15:"Flash fired, compulsory flash mode, return light detected", 16:"Flash did not fire, compulsory flash mode", 24:"Flash did not fire, auto mode", 25:"Flash fired, auto mode", 29:"Flash fired, auto mode, return light not detected", 31:"Flash fired, auto mode, return light detected", 32:"No flash function", 65:"Flash fired, red-eye reduction mode", 69:"Flash fired, red-eye reduction mode, return light not detected", 71:"Flash fired, red-eye reduction mode, return light detected", 73:"Flash fired, compulsory flash mode, red-eye reduction mode", 77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected", 79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected", 89:"Flash fired, auto mode, red-eye reduction mode", 93:"Flash fired, auto mode, return light not detected, red-eye reduction mode", 95:"Flash fired, auto mode, return light detected, red-eye reduction mode"}, ExposureMode:{0:"Auto exposure", 1:"Manual exposure", 2:"Auto bracket"}, WhiteBalance:{0:"Auto white balance", 1:"Manual white balance"}, SceneCaptureType:{0:"Standard", 1:"Landscape", 2:"Portrait", 3:"Night scene"}, Contrast:{0:"Normal", 1:"Soft", 2:"Hard"}, Saturation:{0:"Normal", 1:"Low saturation", 2:"High saturation"}, Sharpness:{0:"Normal", 1:"Soft", 2:"Hard"}, GPSLatitudeRef:{N:"North latitude", S:"South latitude"}, GPSLongitudeRef:{E:"East longitude", W:"West longitude"}}; function p(u, C) { var w = q.SHORT(u), z, F, G, B, A, v, x, D, E = [], y = {}; for (z = 0; z < w; z++) { x = v = u + 12 * z + 2; G = C[q.SHORT(x)]; if (G === e) { continue } B = q.SHORT(x += 2); A = q.LONG(x += 2); x += 4; E = []; switch (B) { case 1: case 7: if (A > 4) { x = q.LONG(x) + o.tiffHeader } for (F = 0; F < A; F++) { E[F] = q.BYTE(x + F) } break; case 2: if (A > 4) { x = q.LONG(x) + o.tiffHeader } y[G] = q.STRING(x, A - 1); continue; case 3: if (A > 2) { x = q.LONG(x) + o.tiffHeader } for (F = 0; F < A; F++) { E[F] = q.SHORT(x + F * 2) } break; case 4: if (A > 1) { x = q.LONG(x) + o.tiffHeader } for (F = 0; F < A; F++) { E[F] = q.LONG(x + F * 4) } break; case 5: x = q.LONG(x) + o.tiffHeader; for (F = 0; F < A; F++) { E[F] = q.LONG(x + F * 4) / q.LONG(x + F * 4 + 4) } break; case 9: x = q.LONG(x) + o.tiffHeader; for (F = 0; F < A; F++) { E[F] = q.SLONG(x + F * 4) } break; case 10: x = q.LONG(x) + o.tiffHeader; for (F = 0; F < A; F++) { E[F] = q.SLONG(x + F * 4) / q.SLONG(x + F * 4 + 4) } break; default: continue } D = (A == 1 ? E[0] : E); if (t.hasOwnProperty(G) && typeof D != "object") { y[G] = t[G][D] } else { y[G] = D } } return y } function s() { var v = e, u = o.tiffHeader; q.II(q.SHORT(u) == 18761); if (q.SHORT(u += 2) !== 42) { return false } o.IFD0 = o.tiffHeader + q.LONG(u += 2); v = p(o.IFD0, n.tiff); o.exifIFD = ("ExifIFDPointer" in v ? o.tiffHeader + v.ExifIFDPointer : e); o.gpsIFD = ("GPSInfoIFDPointer" in v ? o.tiffHeader + v.GPSInfoIFDPointer : e); return true } function r(w, u, z) { var B, y, x, A = 0; if (typeof(u) === "string") { var v = n[w.toLowerCase()]; for (hex in v) { if (v[hex] === u) { u = hex; break } } } B = o[w.toLowerCase() + "IFD"]; y = q.SHORT(B); for (i = 0; i < y; i++) { x = B + 12 * i + 2; if (q.SHORT(x) == u) { A = x + 8; break } } if (!A) { return false } q.LONG(A, z); return true } return{init:function (u) { o = {tiffHeader:10}; if (u === e || !u.length) { return false } q.init(u); if (q.SHORT(0) === 65505 && q.STRING(4, 5).toUpperCase() === "EXIF\0") { return s() } return false }, EXIF:function () { var v; v = p(o.exifIFD, n.exif); if (v.ExifVersion && j.typeOf(v.ExifVersion) === "array") { for (var w = 0, u = ""; w < v.ExifVersion.length; w++) { u += String.fromCharCode(v.ExifVersion[w]) } v.ExifVersion = u } return v }, GPS:function () { var u; u = p(o.gpsIFD, n.gps); if (u.GPSVersionID) { u.GPSVersionID = u.GPSVersionID.join(".") } return u }, setExif:function (u, v) { if (u !== "PixelXDimension" && u !== "PixelYDimension") { return false } return r("exif", u, v) }, getBinary:function () { return q.SEGMENT() }} } })(window, document, plupload); (function (d, a, b, c) { function e(f) { return a.getElementById(f) } b.runtimes.Html4 = b.addRuntime("html4", {getFeatures:function () { return{multipart:true, triggerDialog:(b.ua.gecko && d.FormData || b.ua.webkit)} }, init:function (f, g) { f.bind("Init", function (p) { var j = a.body, n, h = "javascript", k, x, q, z = [], r = /MSIE/.test(navigator.userAgent), t = [], m = p.settings.filters, o, l, s, w; no_type_restriction:for (o = 0; o < m.length; o++) { l = m[o].extensions.split(/,/); for (w = 0; w < l.length; w++) { if (l[w] === "*") { t = []; break no_type_restriction } s = b.mimeTypes[l[w]]; if (s && b.inArray(s, t) === -1) { t.push(s) } } } t = t.join(","); function v() { var C, A, y, B; q = b.guid(); z.push(q); C = a.createElement("form"); C.setAttribute("id", "form_" + q); C.setAttribute("method", "post"); C.setAttribute("enctype", "multipart/form-data"); C.setAttribute("encoding", "multipart/form-data"); C.setAttribute("target", p.id + "_iframe"); C.style.position = "absolute"; A = a.createElement("input"); A.setAttribute("id", "input_" + q); A.setAttribute("type", "file"); A.setAttribute("accept", t); A.setAttribute("size", 1); B = e(p.settings.browse_button); if (p.features.triggerDialog && B) { b.addEvent(e(p.settings.browse_button), "click", function (D) { if (!A.disabled) { A.click() } D.preventDefault() }, p.id) } b.extend(A.style, {width:"100%", height:"100%", opacity:0, fontSize:"99px", cursor:"pointer"}); b.extend(C.style, {overflow:"hidden"}); y = p.settings.shim_bgcolor; if (y) { C.style.background = y } if (r) { b.extend(A.style, {filter:"alpha(opacity=0)"}) } b.addEvent(A, "change", function (G) { var E = G.target, D, F = [], H; if (E.value) { e("form_" + q).style.top = -1048575 + "px"; D = E.value.replace(/\\/g, "/"); D = D.substring(D.length, D.lastIndexOf("/") + 1); F.push(new b.File(q, D)); if (!p.features.triggerDialog) { b.removeAllEvents(C, p.id) } else { b.removeEvent(B, "click", p.id) } b.removeEvent(A, "change", p.id); v(); if (F.length) { f.trigger("FilesAdded", F) } } }, p.id); C.appendChild(A); j.appendChild(C); p.refresh() } function u() { var y = a.createElement("div"); y.innerHTML = ''; n = y.firstChild; j.appendChild(n); b.addEvent(n, "load", function (D) { var E = D.target, C, A; if (!k) { return } try { C = E.contentWindow.document || E.contentDocument || d.frames[E.id].document } catch (B) { p.trigger("Error", {code:b.SECURITY_ERROR, message:b.translate("Security error."), file:k}); return } A = C.body.innerHTML; if (A) { k.status = b.DONE; k.loaded = 1025; k.percent = 100; p.trigger("UploadProgress", k); p.trigger("FileUploaded", k, {response:A}) } }, p.id) } if (p.settings.container) { j = e(p.settings.container); if (b.getStyle(j, "position") === "static") { j.style.position = "relative" } } p.bind("UploadFile", function (y, B) { var C, A; if (B.status == b.DONE || B.status == b.FAILED || y.state == b.STOPPED) { return } C = e("form_" + B.id); A = e("input_" + B.id); A.setAttribute("name", y.settings.file_data_name); C.setAttribute("action", y.settings.url); b.each(b.extend({name:B.target_name || B.name}, y.settings.multipart_params), function (F, D) { var E = a.createElement("input"); b.extend(E, {type:"hidden", name:D, value:F}); C.insertBefore(E, C.firstChild) }); k = B; e("form_" + q).style.top = -1048575 + "px"; C.submit() }); p.bind("FileUploaded", function (y) { y.refresh() }); p.bind("StateChanged", function (y) { if (y.state == b.STARTED) { u() } else { if (y.state == b.STOPPED) { d.setTimeout(function () { b.removeEvent(n, "load", y.id); if (n.parentNode) { n.parentNode.removeChild(n) } }, 0) } } b.each(y.files, function (B, A) { if (B.status === b.DONE || B.status === b.FAILED) { var C = e("form_" + B.id); if (C) { C.parentNode.removeChild(C) } } }) }); p.bind("Refresh", function (A) { var G, B, C, D, y, H, I, F, E; G = e(A.settings.browse_button); if (G) { y = b.getPos(G, e(A.settings.container)); H = b.getSize(G); I = e("form_" + q); F = e("input_" + q); b.extend(I.style, {top:y.y + "px", left:y.x + "px", width:H.w + "px", height:H.h + "px"}); if (A.features.triggerDialog) { if (b.getStyle(G, "position") === "static") { b.extend(G.style, {position:"relative"}) } E = parseInt(G.style.zIndex, 10); if (isNaN(E)) { E = 0 } b.extend(G.style, {zIndex:E}); b.extend(I.style, {zIndex:E - 1}) } C = A.settings.browse_button_hover; D = A.settings.browse_button_active; B = A.features.triggerDialog ? G : I; if (C) { b.addEvent(B, "mouseover", function () { b.addClass(G, C) }, A.id); b.addEvent(B, "mouseout", function () { b.removeClass(G, C) }, A.id) } if (D) { b.addEvent(B, "mousedown", function () { b.addClass(G, D) }, A.id); b.addEvent(a.body, "mouseup", function () { b.removeClass(G, D) }, A.id) } } }); f.bind("FilesRemoved", function (y, B) { var A, C; for (A = 0; A < B.length; A++) { C = e("form_" + B[A].id); if (C) { C.parentNode.removeChild(C) } } }); f.bind("DisableBrowse", function (y, B) { var A = a.getElementById("input_" + q); if (A) { A.disabled = B } }); f.bind("Destroy", function (y) { var A, B, C, D = {inputContainer:"form_" + q, inputFile:"input_" + q, browseButton:y.settings.browse_button}; for (A in D) { B = e(D[A]); if (B) { b.removeAllEvents(B, y.id) } } b.removeAllEvents(a.body, y.id); b.each(z, function (F, E) { C = e("form_" + F); if (C) { j.removeChild(C) } }) }); v() }); g({success:true}) }}) })(window, document, plupload);