/jandcode-wax-core/src/jandcode/wax/core/js/jquery/plupload/plupload.full.js
JavaScript | 2525 lines | 2475 code | 49 blank | 1 comment | 499 complexity | 8a40eb9acae765e78c8ede482f418aa9 MD5 | raw file
Large files files are truncated, but you can click here to view the full file
- /*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 = '<object id="' + p.id + '_silverlight" data="data:application/x-silverlight," type="application/x-silverlight-2" style="outline:none;" width="1024" height="1024"><param name="source" value="' + p.settings.silverlight_xap_url + '"/><param name="background" value="Transparent"/><param name="windowless" value="true"/><param name="enablehtmlaccess" value="true"/><param name="initParams" value="id=' + p.id + ",filter=" + m + ",multiselect=" + p.settings.multi_selection + '"/></object>';
- 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 = '<object id="' + n.id + '_flash" type="application/x-shockwave-flash" data="' + n.settings.flash_swf_url + '" ';
- if (d.ua.ie) {
- q += 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '
- }
- q += 'width="100%" height="100%" style="outline:0"><param name="movie" value="' + n.settings.flash_swf_url + '" /><param name="flashvars" value="id=' + escape(n.id) + '" /><param name="wmode" value="transparent" /><param name="allowscriptaccess" value="always" /></object>';
- 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 …
Large files files are truncated, but you can click here to view the full file