(function(c) { var a = {}; function b() { var d; try { d = navigator.plugins["Shockwave Flash"]; d = d.description } catch (e) { try { d = new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version") } catch (e) { d = "0.0" } } d = d.match(/\d+/g); return parseFloat(d[0] + "." + d[1]) } c.flash = { trigger: function(f, d, e) { setTimeout(function() { var j = a[f], h, g; if (j) { j.trigger("Flash:" + d, e) } }, 0) } }; c.runtimes.Flash = c.addRuntime("flash", { init: function(f, k) { var j, e, g, d, l = 0; if (b() < 10) { k({ success: false }); return } a[f.id] = f; j = document.getElementById(f.settings.browse_button); e = document.createElement("div"); e.id = f.id + "_flash_container"; $('#uploadCompName').val(f.id); c.extend(e.style, {zIndex:"1000",position:"absolute", top: "0px", background: f.settings.flash_bgcolor || "transparent", width: "100%", height: "100%" }); e.className = "plupload_flash"; document.body.appendChild(e); g = "id=" + escape(f.id); e.innerHTML = '<object id="' + f.id + '_flash" width="80" height="15" style="outline:0" type="application/x-shockwave-flash" data="' + f.settings.flash_swf_url + '"><param name="movie" value="' + f.settings.flash_swf_url + '" /><param name="flashvars" value="' + g + '" /><param name="wmode" value="transparent" /><param name="allowscriptaccess" value="always" /></object>'; function i() { return document.getElementById(f.id + "_flash") } function h() { if (l++ > 5000) { k({ success: false }); return } if (!d) { setTimeout(h, 1) } } h(); j = e = null; f.bind("Flash:Init", function() { var p = {}, n, o = f.settings.filters, m = f.settings.resize || {}; d = true; for (n = 0; n < o.length; n++) { o[n].extensions = "*." + o[n].extensions.replace(/,/g, ";*.") } i().setFileFilters(o, f.settings.multi_selection); f.bind("UploadFile", function(q, s) { var t = q.settings, r = t.url; r += (r.indexOf("?") == -1 ? "?" : "&") + "name=" + escape(s.target_name || s.name); i().uploadFile(p[s.id], r, t.chunk_size, m.width, m.height, m.quality || 90, /\.(jpg|jpeg)$/i.test(s.name) ? "jpg" : "png") }); f.bind("Flash:UploadProcess", function(r, q) { var s = r.getFile(p[q.id]); s.loaded = q.loaded; s.size = q.size; r.trigger("UploadProgress", s) }); f.bind("Flash:UploadChunkComplete", function(q, s) { var t, r = q.getFile(p[s.id]); t = { file: r, chunk: s.chunk, chunks: s.chunks, response: s.text }; q.trigger("ChunkUploaded", t); if (t.cancelled) { i().cancelUpload(); r.status = c.FAILED; q.trigger("FileUploaded", r); return } }); f.bind("Flash:UploadComplete", function(r, q) { var s = r.getFile(p[q.id]); s.status = c.DONE; r.trigger("FileUploaded", s) }); f.bind("Flash:SelectFiles", function(q, t) { var s, r, u = [], v; for (r = 0; r < t.length; r++) { s = t[r]; v = c.guid(); p[v] = s.id; p[s.id] = v; u.push(new c.File(v, s.name, s.size)) } f.trigger("FilesAdded", u) }); f.bind("QueueChanged", function(q) { f.refresh() }); f.bind("FilesRemoved", function(q, s) { var r; for (r = 0; r < s.length; r++) { i().removeFile(p[s[r].id]) } }); f.bind("StateChanged", function(q) { f.refresh() }); f.bind("Refresh", function(q) { var r, s; r = document.getElementById(q.settings.browse_button); s = c.getPos(r); c.extend(document.getElementById(q.id + "_flash_container").style, { top: s.y + "px", left: s.x + "px", width: r.clientWidth + "px", height: r.clientHeight + "px" }) }); k({ success: true }) }) } }) })(plupload);
