| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979 |
- var swfobject = function() {
- var aq = "undefined",
- aD = "object",
- ab = "Shockwave Flash",
- X = "ShockwaveFlash.ShockwaveFlash",
- aE = "application/x-shockwave-flash",
- ac = "SWFObjectExprInst",
- ax = "onreadystatechange",
- af = window,
- aL = document,
- aB = navigator,
- aa = false,
- Z = [aN],
- aG = [],
- ag = [],
- al = [],
- aJ,
- ad,
- ap,
- at,
- ak = false,
- aU = false,
- aH,
- an,
- aI = true,
- ah = function() {
- var a = typeof aL.getElementById != aq && typeof aL.getElementsByTagName != aq && typeof aL.createElement != aq,
- e = aB.userAgent.toLowerCase(),
- c = aB.platform.toLowerCase(),
- h = c ? /win/.test(c) : /win/.test(e),
- j = c ? /mac/.test(c) : /mac/.test(e),
- g = /webkit/.test(e) ? parseFloat(e.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false,
- d = !+"\v1",
- f = [0, 0, 0],
- k = null;
- if (typeof aB.plugins != aq && typeof aB.plugins[ab] == aD) {
- k = aB.plugins[ab].description;
- if (k && !(typeof aB.mimeTypes != aq && aB.mimeTypes[aE] && !aB.mimeTypes[aE].enabledPlugin)) {
- aa = true;
- d = false;
- k = k.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
- f[0] = parseInt(k.replace(/^(.*)\..*$/, "$1"), 10);
- f[1] = parseInt(k.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
- f[2] = /[a-zA-Z]/.test(k) ? parseInt(k.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0;
- }
- } else {
- if (typeof af.ActiveXObject != aq) {
- try {
- var i = new ActiveXObject(X);
- if (i) {
- k = i.GetVariable("$version");
- if (k) {
- d = true;
- k = k.split(" ")[1].split(",");
- f = [parseInt(k[0], 10), parseInt(k[1], 10), parseInt(k[2], 10)];
- }
- }
- } catch(b) {}
- }
- }
- return {
- w3: a,
- pv: f,
- wk: g,
- ie: d,
- win: h,
- mac: j
- };
- } (),
- aK = function() {
- if (!ah.w3) {
- return;
- }
- if ((typeof aL.readyState != aq && aL.readyState == "complete") || (typeof aL.readyState == aq && (aL.getElementsByTagName("body")[0] || aL.body))) {
- aP();
- }
- if (!ak) {
- if (typeof aL.addEventListener != aq) {
- aL.addEventListener("DOMContentLoaded", aP, false);
- }
- if (ah.ie && ah.win) {
- aL.attachEvent(ax,
- function() {
- if (aL.readyState == "complete") {
- aL.detachEvent(ax, arguments.callee);
- aP();
- }
- });
- if (af == top) { (function() {
- if (ak) {
- return;
- }
- try {
- aL.documentElement.doScroll("left");
- } catch(a) {
- setTimeout(arguments.callee, 0);
- return;
- }
- aP();
- })();
- }
- }
- if (ah.wk) { (function() {
- if (ak) {
- return;
- }
- if (!/loaded|complete/.test(aL.readyState)) {
- setTimeout(arguments.callee, 0);
- return;
- }
- aP();
- })();
- }
- aC(aP);
- }
- } ();
- function aP() {
- if (ak) {
- return;
- }
- try {
- var b = aL.getElementsByTagName("body")[0].appendChild(ar("span"));
- b.parentNode.removeChild(b);
- } catch(a) {
- return;
- }
- ak = true;
- var d = Z.length;
- for (var c = 0; c < d; c++) {
- Z[c]();
- }
- }
- function aj(a) {
- if (ak) {
- a();
- } else {
- Z[Z.length] = a;
- }
- }
- function aC(a) {
- if (typeof af.addEventListener != aq) {
- af.addEventListener("load", a, false);
- } else {
- if (typeof aL.addEventListener != aq) {
- aL.addEventListener("load", a, false);
- } else {
- if (typeof af.attachEvent != aq) {
- aM(af, "onload", a);
- } else {
- if (typeof af.onload == "function") {
- var b = af.onload;
- af.onload = function() {
- b();
- a();
- };
- } else {
- af.onload = a;
- }
- }
- }
- }
- }
- function aN() {
- if (aa) {
- Y();
- } else {
- am();
- }
- }
- function Y() {
- var d = aL.getElementsByTagName("body")[0];
- var b = ar(aD);
- b.setAttribute("type", aE);
- var a = d.appendChild(b);
- if (a) {
- var c = 0; (function() {
- if (typeof a.GetVariable != aq) {
- var e = a.GetVariable("$version");
- if (e) {
- e = e.split(" ")[1].split(",");
- ah.pv = [parseInt(e[0], 10), parseInt(e[1], 10), parseInt(e[2], 10)];
- }
- } else {
- if (c < 10) {
- c++;
- setTimeout(arguments.callee, 10);
- return;
- }
- }
- d.removeChild(b);
- a = null;
- am();
- })();
- } else {
- am();
- }
- }
- function am() {
- var g = aG.length;
- if (g > 0) {
- for (var h = 0; h < g; h++) {
- var c = aG[h].id;
- var l = aG[h].callbackFn;
- var a = {
- success: false,
- id: c
- };
- if (ah.pv[0] > 0) {
- var i = aS(c);
- if (i) {
- if (ao(aG[h].swfVersion) && !(ah.wk && ah.wk < 312)) {
- ay(c, true);
- if (l) {
- a.success = true;
- a.ref = av(c);
- l(a);
- }
- } else {
- if (aG[h].expressInstall && au()) {
- var e = {};
- e.data = aG[h].expressInstall;
- e.width = i.getAttribute("width") || "0";
- e.height = i.getAttribute("height") || "0";
- if (i.getAttribute("class")) {
- e.styleclass = i.getAttribute("class");
- }
- if (i.getAttribute("align")) {
- e.align = i.getAttribute("align");
- }
- var f = {};
- var d = i.getElementsByTagName("param");
- var k = d.length;
- for (var j = 0; j < k; j++) {
- if (d[j].getAttribute("name").toLowerCase() != "movie") {
- f[d[j].getAttribute("name")] = d[j].getAttribute("value");
- }
- }
- ae(e, f, c, l);
- } else {
- aF(i);
- if (l) {
- l(a);
- }
- }
- }
- }
- } else {
- ay(c, true);
- if (l) {
- var b = av(c);
- if (b && typeof b.SetVariable != aq) {
- a.success = true;
- a.ref = b;
- }
- l(a);
- }
- }
- }
- }
- }
- function av(b) {
- var d = null;
- var c = aS(b);
- if (c && c.nodeName == "OBJECT") {
- if (typeof c.SetVariable != aq) {
- d = c;
- } else {
- var a = c.getElementsByTagName(aD)[0];
- if (a) {
- d = a;
- }
- }
- }
- return d;
- }
- function au() {
- return ! aU && ao("6.0.65") && (ah.win || ah.mac) && !(ah.wk && ah.wk < 312);
- }
- function ae(f, d, h, e) {
- aU = true;
- ap = e || null;
- at = {
- success: false,
- id: h
- };
- var a = aS(h);
- if (a) {
- if (a.nodeName == "OBJECT") {
- aJ = aO(a);
- ad = null;
- } else {
- aJ = a;
- ad = h;
- }
- f.id = ac;
- if (typeof f.width == aq || (!/%$/.test(f.width) && parseInt(f.width, 10) < 310)) {
- f.width = "310";
- }
- if (typeof f.height == aq || (!/%$/.test(f.height) && parseInt(f.height, 10) < 137)) {
- f.height = "137";
- }
- aL.title = aL.title.slice(0, 47) + " - Flash Player Installation";
- var b = ah.ie && ah.win ? "ActiveX": "PlugIn",
- c = "MMredirectURL=" + af.location.toString().replace(/&/g, "%26") + "&MMplayerType=" + b + "&MMdoctitle=" + aL.title;
- if (typeof d.flashvars != aq) {
- d.flashvars += "&" + c;
- } else {
- d.flashvars = c;
- }
- if (ah.ie && ah.win && a.readyState != 4) {
- var g = ar("div");
- h += "SWFObjectNew";
- g.setAttribute("id", h);
- a.parentNode.insertBefore(g, a);
- a.style.display = "none"; (function() {
- if (a.readyState == 4) {
- a.parentNode.removeChild(a);
- } else {
- setTimeout(arguments.callee, 10);
- }
- })();
- }
- aA(f, d, h);
- }
- }
- function aF(a) {
- if (ah.ie && ah.win && a.readyState != 4) {
- var b = ar("div");
- a.parentNode.insertBefore(b, a);
- b.parentNode.replaceChild(aO(a), b);
- a.style.display = "none"; (function() {
- if (a.readyState == 4) {
- a.parentNode.removeChild(a);
- } else {
- setTimeout(arguments.callee, 10);
- }
- })();
- } else {
- a.parentNode.replaceChild(aO(a), a);
- }
- }
- function aO(b) {
- var d = ar("div");
- if (ah.win && ah.ie) {
- d.innerHTML = b.innerHTML;
- } else {
- var e = b.getElementsByTagName(aD)[0];
- if (e) {
- var a = e.childNodes;
- if (a) {
- var f = a.length;
- for (var c = 0; c < f; c++) {
- if (! (a[c].nodeType == 1 && a[c].nodeName == "PARAM") && !(a[c].nodeType == 8)) {
- d.appendChild(a[c].cloneNode(true));
- }
- }
- }
- }
- }
- return d;
- }
- function aA(e, g, c) {
- var d, a = aS(c);
- if (ah.wk && ah.wk < 312) {
- return d;
- }
- if (a) {
- if (typeof e.id == aq) {
- e.id = c;
- }
- if (ah.ie && ah.win) {
- var f = "";
- for (var i in e) {
- if (e[i] != Object.prototype[i]) {
- if (i.toLowerCase() == "data") {
- g.movie = e[i];
- } else {
- if (i.toLowerCase() == "styleclass") {
- f += ' class="' + e[i] + '"';
- } else {
- if (i.toLowerCase() != "classid") {
- f += " " + i + '="' + e[i] + '"';
- }
- }
- }
- }
- }
- var h = "";
- for (var j in g) {
- if (g[j] != Object.prototype[j]) {
- h += '<param name="' + j + '" value="' + g[j] + '" />';
- }
- }
- a.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + f + ">" + h + "</object>";
- ag[ag.length] = e.id;
- d = aS(e.id);
- } else {
- var b = ar(aD);
- b.setAttribute("type", aE);
- for (var k in e) {
- if (e[k] != Object.prototype[k]) {
- if (k.toLowerCase() == "styleclass") {
- b.setAttribute("class", e[k]);
- } else {
- if (k.toLowerCase() != "classid") {
- b.setAttribute(k, e[k]);
- }
- }
- }
- }
- for (var l in g) {
- if (g[l] != Object.prototype[l] && l.toLowerCase() != "movie") {
- aQ(b, l, g[l]);
- }
- }
- a.parentNode.replaceChild(b, a);
- d = b;
- }
- }
- return d;
- }
- function aQ(b, d, c) {
- var a = ar("param");
- a.setAttribute("name", d);
- a.setAttribute("value", c);
- b.appendChild(a);
- }
- function aw(a) {
- var b = aS(a);
- if (b && b.nodeName == "OBJECT") {
- if (ah.ie && ah.win) {
- b.style.display = "none"; (function() {
- if (b.readyState == 4) {
- aT(a);
- } else {
- setTimeout(arguments.callee, 10);
- }
- })();
- } else {
- b.parentNode.removeChild(b);
- }
- }
- }
- function aT(a) {
- var b = aS(a);
- if (b) {
- for (var c in b) {
- if (typeof b[c] == "function") {
- b[c] = null;
- }
- }
- b.parentNode.removeChild(b);
- }
- }
- function aS(a) {
- var c = null;
- try {
- c = aL.getElementById(a);
- } catch(b) {}
- return c;
- }
- function ar(a) {
- return aL.createElement(a);
- }
- function aM(a, c, b) {
- a.attachEvent(c, b);
- al[al.length] = [a, c, b];
- }
- function ao(a) {
- var b = ah.pv,
- c = a.split(".");
- c[0] = parseInt(c[0], 10);
- c[1] = parseInt(c[1], 10) || 0;
- c[2] = parseInt(c[2], 10) || 0;
- return (b[0] > c[0] || (b[0] == c[0] && b[1] > c[1]) || (b[0] == c[0] && b[1] == c[1] && b[2] >= c[2])) ? true: false;
- }
- function az(b, f, a, c) {
- if (ah.ie && ah.mac) {
- return;
- }
- var e = aL.getElementsByTagName("head")[0];
- if (!e) {
- return;
- }
- var g = (a && typeof a == "string") ? a: "screen";
- if (c) {
- aH = null;
- an = null;
- }
- if (!aH || an != g) {
- var d = ar("style");
- d.setAttribute("type", "text/css");
- d.setAttribute("media", g);
- aH = e.appendChild(d);
- if (ah.ie && ah.win && typeof aL.styleSheets != aq && aL.styleSheets.length > 0) {
- aH = aL.styleSheets[aL.styleSheets.length - 1];
- }
- an = g;
- }
- if (ah.ie && ah.win) {
- if (aH && typeof aH.addRule == aD) {
- aH.addRule(b, f);
- }
- } else {
- if (aH && typeof aL.createTextNode != aq) {
- aH.appendChild(aL.createTextNode(b + " {" + f + "}"));
- }
- }
- }
- function ay(a, c) {
- if (!aI) {
- return;
- }
- var b = c ? "visible": "hidden";
- if (ak && aS(a)) {
- aS(a).style.visibility = b;
- } else {
- az("#" + a, "visibility:" + b);
- }
- }
- function ai(b) {
- var a = /[\\\"<>\.;]/;
- var c = a.exec(b) != null;
- return c && typeof encodeURIComponent != aq ? encodeURIComponent(b) : b;
- }
- var aR = function() {
- if (ah.ie && ah.win) {
- window.attachEvent("onunload",
- function() {
- var a = al.length;
- for (var b = 0; b < a; b++) {
- al[b][0].detachEvent(al[b][1], al[b][2]);
- }
- var d = ag.length;
- for (var c = 0; c < d; c++) {
- aw(ag[c]);
- }
- for (var e in ah) {
- ah[e] = null;
- }
- ah = null;
- for (var f in swfobject) {
- swfobject[f] = null;
- }
- swfobject = null;
- });
- }
- } ();
- return {
- registerObject: function(a, e, c, b) {
- if (ah.w3 && a && e) {
- var d = {};
- d.id = a;
- d.swfVersion = e;
- d.expressInstall = c;
- d.callbackFn = b;
- aG[aG.length] = d;
- ay(a, false);
- } else {
- if (b) {
- b({
- success: false,
- id: a
- });
- }
- }
- },
- getObjectById: function(a) {
- if (ah.w3) {
- return av(a);
- }
- },
- embedSWF: function(k, e, h, f, c, a, b, i, g, j) {
- var d = {
- success: false,
- id: e
- };
- if (ah.w3 && !(ah.wk && ah.wk < 312) && k && e && h && f && c) {
- ay(e, false);
- aj(function() {
- h += "";
- f += "";
- var q = {};
- if (g && typeof g === aD) {
- for (var o in g) {
- q[o] = g[o];
- }
- }
- q.data = k;
- q.width = h;
- q.height = f;
- var n = {};
- if (i && typeof i === aD) {
- for (var p in i) {
- n[p] = i[p];
- }
- }
- if (b && typeof b === aD) {
- for (var l in b) {
- if (typeof n.flashvars != aq) {
- n.flashvars += "&" + l + "=" + b[l];
- } else {
- n.flashvars = l + "=" + b[l];
- }
- }
- }
- if (ao(c)) {
- var m = aA(q, n, e);
- if (q.id == e) {
- ay(e, true);
- }
- d.success = true;
- d.ref = m;
- } else {
- if (a && au()) {
- q.data = a;
- ae(q, n, e, j);
- return;
- } else {
- ay(e, true);
- }
- }
- if (j) {
- j(d);
- }
- });
- } else {
- if (j) {
- j(d);
- }
- }
- },
- switchOffAutoHideShow: function() {
- aI = false;
- },
- ua: ah,
- getFlashPlayerVersion: function() {
- return {
- major: ah.pv[0],
- minor: ah.pv[1],
- release: ah.pv[2]
- };
- },
- hasFlashPlayerVersion: ao,
- createSWF: function(a, b, c) {
- if (ah.w3) {
- return aA(a, b, c);
- } else {
- return undefined;
- }
- },
- showExpressInstall: function(b, a, d, c) {
- if (ah.w3 && au()) {
- ae(b, a, d, c);
- }
- },
- removeSWF: function(a) {
- if (ah.w3) {
- aw(a);
- }
- },
- createCSS: function(b, a, c, d) {
- if (ah.w3) {
- az(b, a, c, d);
- }
- },
- addDomLoadEvent: aj,
- addLoadEvent: aC,
- getQueryParamValue: function(b) {
- var a = aL.location.search || aL.location.hash;
- if (a) {
- if (/\?/.test(a)) {
- a = a.split("?")[1];
- }
- if (b == null) {
- return ai(a);
- }
- var c = a.split("&");
- for (var d = 0; d < c.length; d++) {
- if (c[d].substring(0, c[d].indexOf("=")) == b) {
- return ai(c[d].substring((c[d].indexOf("=") + 1)));
- }
- }
- }
- return "";
- },
- expressInstallCallback: function() {
- if (aU) {
- var a = aS(ac);
- if (a && aJ) {
- a.parentNode.replaceChild(aJ, a);
- if (ad) {
- ay(ad, true);
- if (ah.ie && ah.win) {
- aJ.style.display = "block";
- }
- }
- if (ap) {
- ap(at);
- }
- }
- aU = false;
- }
- }
- };
- } ();
- var SWFUpload;
- if (SWFUpload == undefined) {
- SWFUpload = function(b) {
- this.initSWFUpload(b);
- };
- }
- SWFUpload.prototype.initSWFUpload = function(c) {
- try {
- this.customSettings = {};
- this.settings = c;
- this.eventQueue = [];
- this.movieName = "SWFUpload_" + SWFUpload.movieCount++;
- this.movieElement = null;
- SWFUpload.instances[this.movieName] = this;
- this.initSettings();
- this.loadFlash();
- this.displayDebugInfo();
- } catch(d) {
- delete SWFUpload.instances[this.movieName];
- throw d;
- }
- };
- SWFUpload.instances = {};
- SWFUpload.movieCount = 0;
- SWFUpload.version = "2.2.0 2009-03-25";
- SWFUpload.QUEUE_ERROR = {
- QUEUE_LIMIT_EXCEEDED: -100,
- FILE_EXCEEDS_SIZE_LIMIT: -110,
- ZERO_BYTE_FILE: -120,
- INVALID_FILETYPE: -130
- };
- SWFUpload.UPLOAD_ERROR = {
- HTTP_ERROR: -200,
- MISSING_UPLOAD_URL: -210,
- IO_ERROR: -220,
- SECURITY_ERROR: -230,
- UPLOAD_LIMIT_EXCEEDED: -240,
- UPLOAD_FAILED: -250,
- SPECIFIED_FILE_ID_NOT_FOUND: -260,
- FILE_VALIDATION_FAILED: -270,
- FILE_CANCELLED: -280,
- UPLOAD_STOPPED: -290
- };
- SWFUpload.FILE_STATUS = {
- QUEUED: -1,
- IN_PROGRESS: -2,
- ERROR: -3,
- COMPLETE: -4,
- CANCELLED: -5
- };
- SWFUpload.BUTTON_ACTION = {
- SELECT_FILE: -100,
- SELECT_FILES: -110,
- START_UPLOAD: -120
- };
- SWFUpload.CURSOR = {
- ARROW: -1,
- HAND: -2
- };
- SWFUpload.WINDOW_MODE = {
- WINDOW: "window",
- TRANSPARENT: "transparent",
- OPAQUE: "opaque"
- };
- SWFUpload.completeURL = function(e) {
- if (typeof(e) !== "string" || e.match(/^https?:\/\//i) || e.match(/^\//)) {
- return e;
- }
- var f = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ":" + window.location.port: "");
- var d = window.location.pathname.lastIndexOf("/");
- if (d <= 0) {
- path = "/";
- } else {
- path = window.location.pathname.substr(0, d) + "/";
- }
- return path + e;
- };
- SWFUpload.prototype.initSettings = function() {
- this.ensureDefault = function(c, d) {
- this.settings[c] = (this.settings[c] == undefined) ? d: this.settings[c];
- };
- this.ensureDefault("upload_url", "");
- this.ensureDefault("preserve_relative_urls", false);
- this.ensureDefault("file_post_name", "Filedata");
- this.ensureDefault("post_params", {});
- this.ensureDefault("use_query_string", false);
- this.ensureDefault("requeue_on_error", false);
- this.ensureDefault("http_success", []);
- this.ensureDefault("assume_success_timeout", 0);
- this.ensureDefault("file_types", "*.*");
- this.ensureDefault("file_types_description", "All Files");
- this.ensureDefault("file_size_limit", 0);
- this.ensureDefault("file_upload_limit", 0);
- this.ensureDefault("file_queue_limit", 0);
- this.ensureDefault("flash_url", "swfupload.swf");
- this.ensureDefault("prevent_swf_caching", true);
- this.ensureDefault("button_image_url", "");
- this.ensureDefault("button_width", 1);
- this.ensureDefault("button_height", 1);
- this.ensureDefault("button_text", "");
- this.ensureDefault("button_text_style", "color: #000000; font-size: 16pt;");
- this.ensureDefault("button_text_top_padding", 0);
- this.ensureDefault("button_text_left_padding", 0);
- this.ensureDefault("button_action", SWFUpload.BUTTON_ACTION.SELECT_FILES);
- this.ensureDefault("button_disabled", false);
- this.ensureDefault("button_placeholder_id", "");
- this.ensureDefault("button_placeholder", null);
- this.ensureDefault("button_cursor", SWFUpload.CURSOR.ARROW);
- this.ensureDefault("button_window_mode", SWFUpload.WINDOW_MODE.WINDOW);
- this.ensureDefault("debug", false);
- this.settings.debug_enabled = this.settings.debug;
- this.settings.return_upload_start_handler = this.returnUploadStart;
- this.ensureDefault("swfupload_loaded_handler", null);
- this.ensureDefault("file_dialog_start_handler", null);
- this.ensureDefault("file_queued_handler", null);
- this.ensureDefault("file_queue_error_handler", null);
- this.ensureDefault("file_dialog_complete_handler", null);
- this.ensureDefault("upload_start_handler", null);
- this.ensureDefault("upload_progress_handler", null);
- this.ensureDefault("upload_error_handler", null);
- this.ensureDefault("upload_success_handler", null);
- this.ensureDefault("upload_complete_handler", null);
- this.ensureDefault("debug_handler", this.debugMessage);
- this.ensureDefault("custom_settings", {});
- this.customSettings = this.settings.custom_settings;
- if ( !! this.settings.prevent_swf_caching) {
- this.settings.flash_url = this.settings.flash_url + (this.settings.flash_url.indexOf("?") < 0 ? "?": "&") + "preventswfcaching=" + new Date().getTime();
- }
- if (!this.settings.preserve_relative_urls) {
- this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);
- this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url);
- }
- delete this.ensureDefault;
- };
- SWFUpload.prototype.loadFlash = function() {
- var d, c;
- if (document.getElementById(this.movieName) !== null) {
- throw "ID " + this.movieName + " is already in use. The Flash Object could not be added";
- }
- d = document.getElementById(this.settings.button_placeholder_id) || this.settings.button_placeholder;
- if (d == undefined) {
- throw "Could not find the placeholder element: " + this.settings.button_placeholder_id;
- }
- c = document.createElement("div");
- c.innerHTML = this.getFlashHTML();
- d.parentNode.replaceChild(c.firstChild, d);
- if (window[this.movieName] == undefined) {
- window[this.movieName] = this.getMovieElement();
- }
- };
- SWFUpload.prototype.getFlashHTML = function() {
- return ['<object id="', this.movieName, '" type="application/x-shockwave-flash" data="', this.settings.flash_url, '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">', '<param name="wmode" value="', this.settings.button_window_mode, '" />', '<param name="movie" value="', this.settings.flash_url, '" />', '<param name="quality" value="high" />', '<param name="menu" value="false" />', '<param name="allowScriptAccess" value="always" />', '<param name="flashvars" value="' + this.getFlashVars() + '" />', "</object>"].join("");
- };
- SWFUpload.prototype.getFlashVars = function() {
- var c = this.buildParamString();
- var d = this.settings.http_success.join(",");
- return ["movieName=", encodeURIComponent(this.movieName), "&uploadURL=", encodeURIComponent(this.settings.upload_url), "&useQueryString=", encodeURIComponent(this.settings.use_query_string), "&requeueOnError=", encodeURIComponent(this.settings.requeue_on_error), "&httpSuccess=", encodeURIComponent(d), "&assumeSuccessTimeout=", encodeURIComponent(this.settings.assume_success_timeout), "&params=", encodeURIComponent(c), "&filePostName=", encodeURIComponent(this.settings.file_post_name), "&fileTypes=", encodeURIComponent(this.settings.file_types), "&fileTypesDescription=", encodeURIComponent(this.settings.file_types_description), "&fileSizeLimit=", encodeURIComponent(this.settings.file_size_limit), "&fileUploadLimit=", encodeURIComponent(this.settings.file_upload_limit), "&fileQueueLimit=", encodeURIComponent(this.settings.file_queue_limit), "&debugEnabled=", encodeURIComponent(this.settings.debug_enabled), "&buttonImageURL=", encodeURIComponent(this.settings.button_image_url), "&buttonWidth=", encodeURIComponent(this.settings.button_width), "&buttonHeight=", encodeURIComponent(this.settings.button_height), "&buttonText=", encodeURIComponent(this.settings.button_text), "&buttonTextTopPadding=", encodeURIComponent(this.settings.button_text_top_padding), "&buttonTextLeftPadding=", encodeURIComponent(this.settings.button_text_left_padding), "&buttonTextStyle=", encodeURIComponent(this.settings.button_text_style), "&buttonAction=", encodeURIComponent(this.settings.button_action), "&buttonDisabled=", encodeURIComponent(this.settings.button_disabled), "&buttonCursor=", encodeURIComponent(this.settings.button_cursor)].join("");
- };
- SWFUpload.prototype.getMovieElement = function() {
- if (this.movieElement == undefined) {
- this.movieElement = document.getElementById(this.movieName);
- }
- if (this.movieElement === null) {
- throw "Could not find Flash element";
- }
- return this.movieElement;
- };
- SWFUpload.prototype.buildParamString = function() {
- var f = this.settings.post_params;
- var d = [];
- if (typeof(f) === "object") {
- for (var e in f) {
- if (f.hasOwnProperty(e)) {
- d.push(encodeURIComponent(e.toString()) + "=" + encodeURIComponent(f[e].toString()));
- }
- }
- }
- return d.join("&");
- };
- SWFUpload.prototype.destroy = function() {
- try {
- this.cancelUpload(null, false);
- var g = null;
- g = this.getMovieElement();
- if (g && typeof(g.CallFunction) === "unknown") {
- for (var j in g) {
- try {
- if (typeof(g[j]) === "function") {
- g[j] = null;
- }
- } catch(h) {}
- }
- try {
- g.parentNode.removeChild(g);
- } catch(f) {}
- }
- window[this.movieName] = null;
- SWFUpload.instances[this.movieName] = null;
- delete SWFUpload.instances[this.movieName];
- this.movieElement = null;
- this.settings = null;
- this.customSettings = null;
- this.eventQueue = null;
- this.movieName = null;
- return true;
- } catch(i) {
- return false;
- }
- };
- SWFUpload.prototype.displayDebugInfo = function() {
- this.debug(["---SWFUpload Instance Info---\n", "Version: ", SWFUpload.version, "\n", "Movie Name: ", this.movieName, "\n", "Settings:\n", "\t", "upload_url: ", this.settings.upload_url, "\n", "\t", "flash_url: ", this.settings.flash_url, "\n", "\t", "use_query_string: ", this.settings.use_query_string.toString(), "\n", "\t", "requeue_on_error: ", this.settings.requeue_on_error.toString(), "\n", "\t", "http_success: ", this.settings.http_success.join(", "), "\n", "\t", "assume_success_timeout: ", this.settings.assume_success_timeout, "\n", "\t", "file_post_name: ", this.settings.file_post_name, "\n", "\t", "post_params: ", this.settings.post_params.toString(), "\n", "\t", "file_types: ", this.settings.file_types, "\n", "\t", "file_types_description: ", this.settings.file_types_description, "\n", "\t", "file_size_limit: ", this.settings.file_size_limit, "\n", "\t", "file_upload_limit: ", this.settings.file_upload_limit, "\n", "\t", "file_queue_limit: ", this.settings.file_queue_limit, "\n", "\t", "debug: ", this.settings.debug.toString(), "\n", "\t", "prevent_swf_caching: ", this.settings.prevent_swf_caching.toString(), "\n", "\t", "button_placeholder_id: ", this.settings.button_placeholder_id.toString(), "\n", "\t", "button_placeholder: ", (this.settings.button_placeholder ? "Set": "Not Set"), "\n", "\t", "button_image_url: ", this.settings.button_image_url.toString(), "\n", "\t", "button_width: ", this.settings.button_width.toString(), "\n", "\t", "button_height: ", this.settings.button_height.toString(), "\n", "\t", "button_text: ", this.settings.button_text.toString(), "\n", "\t", "button_text_style: ", this.settings.button_text_style.toString(), "\n", "\t", "button_text_top_padding: ", this.settings.button_text_top_padding.toString(), "\n", "\t", "button_text_left_padding: ", this.settings.button_text_left_padding.toString(), "\n", "\t", "button_action: ", this.settings.button_action.toString(), "\n", "\t", "button_disabled: ", this.settings.button_disabled.toString(), "\n", "\t", "custom_settings: ", this.settings.custom_settings.toString(), "\n", "Event Handlers:\n", "\t", "swfupload_loaded_handler assigned: ", (typeof this.settings.swfupload_loaded_handler === "function").toString(), "\n", "\t", "file_dialog_start_handler assigned: ", (typeof this.settings.file_dialog_start_handler === "function").toString(), "\n", "\t", "file_queued_handler assigned: ", (typeof this.settings.file_queued_handler === "function").toString(), "\n", "\t", "file_queue_error_handler assigned: ", (typeof this.settings.file_queue_error_handler === "function").toString(), "\n", "\t", "upload_start_handler assigned: ", (typeof this.settings.upload_start_handler === "function").toString(), "\n", "\t", "upload_progress_handler assigned: ", (typeof this.settings.upload_progress_handler === "function").toString(), "\n", "\t", "upload_error_handler assigned: ", (typeof this.settings.upload_error_handler === "function").toString(), "\n", "\t", "upload_success_handler assigned: ", (typeof this.settings.upload_success_handler === "function").toString(), "\n", "\t", "upload_complete_handler assigned: ", (typeof this.settings.upload_complete_handler === "function").toString(), "\n", "\t", "debug_handler assigned: ", (typeof this.settings.debug_handler === "function").toString(), "\n"].join(""));
- };
- SWFUpload.prototype.addSetting = function(d, f, e) {
- if (f == undefined) {
- return (this.settings[d] = e);
- } else {
- return (this.settings[d] = f);
- }
- };
- SWFUpload.prototype.getSetting = function(b) {
- if (this.settings[b] != undefined) {
- return this.settings[b];
- }
- return "";
- };
- SWFUpload.prototype.callFlash = function(functionName, argumentArray) {
- argumentArray = argumentArray || [];
- var movieElement = this.getMovieElement();
- var returnValue, returnString;
- try {
- returnString = movieElement.CallFunction('<invoke name="' + functionName + '" returntype="javascript">' + __flash__argumentsToXML(argumentArray, 0) + "</invoke>");
- returnValue = eval(returnString);
- } catch(ex) {
- throw "Call to " + functionName + " failed";
- }
- if (returnValue != undefined && typeof returnValue.post === "object") {
- returnValue = this.unescapeFilePostParams(returnValue);
- }
- return returnValue;
- };
- SWFUpload.prototype.selectFile = function() {
- this.callFlash("SelectFile");
- };
- SWFUpload.prototype.selectFiles = function() {
- this.callFlash("SelectFiles");
- };
- SWFUpload.prototype.startUpload = function(b) {
- this.callFlash("StartUpload", [b]);
- };
- SWFUpload.prototype.cancelUpload = function(d, c) {
- if (c !== false) {
- c = true;
- }
- this.callFlash("CancelUpload", [d, c]);
- };
- SWFUpload.prototype.stopUpload = function() {
- this.callFlash("StopUpload");
- };
- SWFUpload.prototype.getStats = function() {
- return this.callFlash("GetStats");
- };
- SWFUpload.prototype.setStats = function(b) {
- this.callFlash("SetStats", [b]);
- };
- SWFUpload.prototype.getFile = function(b) {
- if (typeof(b) === "number") {
- return this.callFlash("GetFileByIndex", [b]);
- } else {
- return this.callFlash("GetFile", [b]);
- }
- };
- SWFUpload.prototype.addFileParam = function(e, d, f) {
- return this.callFlash("AddFileParam", [e, d, f]);
- };
- SWFUpload.prototype.removeFileParam = function(d, c) {
- this.callFlash("RemoveFileParam", [d, c]);
- };
- SWFUpload.prototype.setUploadURL = function(b) {
- this.settings.upload_url = b.toString();
- this.callFlash("SetUploadURL", [b]);
- };
- SWFUpload.prototype.setPostParams = function(b) {
- this.settings.post_params = b;
- this.callFlash("SetPostParams", [b]);
- };
- SWFUpload.prototype.addPostParam = function(d, c) {
- this.settings.post_params[d] = c;
- this.callFlash("SetPostParams", [this.settings.post_params]);
- };
- SWFUpload.prototype.removePostParam = function(b) {
- delete this.settings.post_params[b];
- this.callFlash("SetPostParams", [this.settings.post_params]);
- };
- SWFUpload.prototype.setFileTypes = function(d, c) {
- this.settings.file_types = d;
- this.settings.file_types_description = c;
- this.callFlash("SetFileTypes", [d, c]);
- };
- SWFUpload.prototype.setFileSizeLimit = function(b) {
- this.settings.file_size_limit = b;
- this.callFlash("SetFileSizeLimit", [b]);
- };
- SWFUpload.prototype.setFileUploadLimit = function(b) {
- this.settings.file_upload_limit = b;
- this.callFlash("SetFileUploadLimit", [b]);
- };
- SWFUpload.prototype.setFileQueueLimit = function(b) {
- this.settings.file_queue_limit = b;
- this.callFlash("SetFileQueueLimit", [b]);
- };
- SWFUpload.prototype.setFilePostName = function(b) {
- this.settings.file_post_name = b;
- this.callFlash("SetFilePostName", [b]);
- };
- SWFUpload.prototype.setUseQueryString = function(b) {
- this.settings.use_query_string = b;
- this.callFlash("SetUseQueryString", [b]);
- };
- SWFUpload.prototype.setRequeueOnError = function(b) {
- this.settings.requeue_on_error = b;
- this.callFlash("SetRequeueOnError", [b]);
- };
- SWFUpload.prototype.setHTTPSuccess = function(b) {
- if (typeof b === "string") {
- b = b.replace(" ", "").split(",");
- }
- this.settings.http_success = b;
- this.callFlash("SetHTTPSuccess", [b]);
- };
- SWFUpload.prototype.setAssumeSuccessTimeout = function(b) {
- this.settings.assume_success_timeout = b;
- this.callFlash("SetAssumeSuccessTimeout", [b]);
- };
- SWFUpload.prototype.setDebugEnabled = function(b) {
- this.settings.debug_enabled = b;
- this.callFlash("SetDebugEnabled", [b]);
- };
- SWFUpload.prototype.setButtonImageURL = function(b) {
- if (b == undefined) {
- b = "";
- }
- this.settings.button_image_url = b;
- this.callFlash("SetButtonImageURL", [b]);
- };
- SWFUpload.prototype.setButtonDimensions = function(f, e) {
- this.settings.button_width = f;
- this.settings.button_height = e;
- var d = this.getMovieElement();
- if (d != undefined) {
- d.style.width = f + "px";
- d.style.height = e + "px";
- }
- this.callFlash("SetButtonDimensions", [f, e]);
- };
- SWFUpload.prototype.setButtonText = function(b) {
- this.settings.button_text = b;
- this.callFlash("SetButtonText", [b]);
- };
- SWFUpload.prototype.setButtonTextPadding = function(c, d) {
- this.settings.button_text_top_padding = d;
- this.settings.button_text_left_padding = c;
- this.callFlash("SetButtonTextPadding", [c, d]);
- };
- SWFUpload.prototype.setButtonTextStyle = function(b) {
- this.settings.button_text_style = b;
- this.callFlash("SetButtonTextStyle", [b]);
- };
- SWFUpload.prototype.setButtonDisabled = function(b) {
- this.settings.button_disabled = b;
- this.callFlash("SetButtonDisabled", [b]);
- };
- SWFUpload.prototype.setButtonAction = function(b) {
- this.settings.button_action = b;
- this.callFlash("SetButtonAction", [b]);
- };
- SWFUpload.prototype.setButtonCursor = function(b) {
- this.settings.button_cursor = b;
- this.callFlash("SetButtonCursor", [b]);
- };
- SWFUpload.prototype.queueEvent = function(d, f) {
- if (f == undefined) {
- f = [];
- } else {
- if (! (f instanceof Array)) {
- f = [f];
- }
- }
- var e = this;
- if (typeof this.settings[d] === "function") {
- this.eventQueue.push(function() {
- this.settings[d].apply(this, f);
- });
- setTimeout(function() {
- e.executeNextEvent();
- },
- 0);
- } else {
- if (this.settings[d] !== null) {
- throw "Event handler " + d + " is unknown or is not a function";
- }
- }
- };
- SWFUpload.prototype.executeNextEvent = function() {
- var b = this.eventQueue ? this.eventQueue.shift() : null;
- if (typeof(b) === "function") {
- b.apply(this);
- }
- };
- SWFUpload.prototype.unescapeFilePostParams = function(l) {
- var j = /[$]([0-9a-f]{4})/i;
- var i = {};
- var k;
- if (l != undefined) {
- for (var h in l.post) {
- if (l.post.hasOwnProperty(h)) {
- k = h;
- var g;
- while ((g = j.exec(k)) !== null) {
- k = k.replace(g[0], String.fromCharCode(parseInt("0x" + g[1], 16)));
- }
- i[k] = l.post[h];
- }
- }
- l.post = i;
- }
- return l;
- };
- SWFUpload.prototype.testExternalInterface = function() {
- try {
- return this.callFlash("TestExternalInterface");
- } catch(b) {
- return false;
- }
- };
- SWFUpload.prototype.flashReady = function() {
- var b = this.getMovieElement();
- if (!b) {
- this.debug("Flash called back ready but the flash movie can't be found.");
- return;
- }
- this.cleanUp(b);
- this.queueEvent("swfupload_loaded_handler");
- };
- SWFUpload.prototype.cleanUp = function(f) {
- try {
- if (this.movieElement && typeof(f.CallFunction) === "unknown") {
- this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)");
- for (var h in f) {
- try {
- if (typeof(f[h]) === "function") {
- f[h] = null;
- }
- } catch(e) {}
- }
- }
- } catch(g) {}
- window.__flash__removeCallback = function(c, b) {
- try {
- if (c) {
- c[b] = null;
- }
- } catch(a) {}
- };
- };
- SWFUpload.prototype.fileDialogStart = function() {
- this.queueEvent("file_dialog_start_handler");
- };
- SWFUpload.prototype.fileQueued = function(b) {
- b = this.unescapeFilePostParams(b);
- this.queueEvent("file_queued_handler", b);
- };
- SWFUpload.prototype.fileQueueError = function(e, f, d) {
- e = this.unescapeFilePostParams(e);
- this.queueEvent("file_queue_error_handler", [e, f, d]);
- };
- SWFUpload.prototype.fileDialogComplete = function(d, f, e) {
- this.queueEvent("file_dialog_complete_handler", [d, f, e]);
- };
- SWFUpload.prototype.uploadStart = function(b) {
- b = this.unescapeFilePostParams(b);
- this.queueEvent("return_upload_start_handler", b);
- };
- SWFUpload.prototype.returnUploadStart = function(d) {
- var c;
- if (typeof this.settings.upload_start_handler === "function") {
- d = this.unescapeFilePostParams(d);
- c = this.settings.upload_start_handler.call(this, d);
- } else {
- if (this.settings.upload_start_handler != undefined) {
- throw "upload_start_handler must be a function";
- }
- }
- if (c === undefined) {
- c = true;
- }
- c = !!c;
- this.callFlash("ReturnUploadStart", [c]);
- };
- SWFUpload.prototype.uploadProgress = function(e, f, d) {
- e = this.unescapeFilePostParams(e);
- this.queueEvent("upload_progress_handler", [e, f, d]);
- };
- SWFUpload.prototype.uploadError = function(e, f, d) {
- e = this.unescapeFilePostParams(e);
- this.queueEvent("upload_error_handler", [e, f, d]);
- };
- SWFUpload.prototype.uploadSuccess = function(d, e, f) {
- d = this.unescapeFilePostParams(d);
- this.queueEvent("upload_success_handler", [d, e, f]);
- };
- SWFUpload.prototype.uploadComplete = function(b) {
- b = this.unescapeFilePostParams(b);
- this.queueEvent("upload_complete_handler", b);
- };
- SWFUpload.prototype.debug = function(b) {
- this.queueEvent("debug_handler", b);
- };
- SWFUpload.prototype.debugMessage = function(h) {
- if (this.settings.debug) {
- var f, g = [];
- if (typeof h === "object" && typeof h.name === "string" && typeof h.message === "string") {
- for (var e in h) {
- if (h.hasOwnProperty(e)) {
- g.push(e + ": " + h[e]);
- }
- }
- f = g.join("\n") || "";
- g = f.split("\n");
- f = "EXCEPTION: " + g.join("\nEXCEPTION: ");
- SWFUpload.Console.writeLine(f);
- } else {
- SWFUpload.Console.writeLine(h);
- }
- }
- };
- SWFUpload.Console = {};
- SWFUpload.Console.writeLine = function(g) {
- var e, f;
- try {
- e = document.getElementById("SWFUpload_Console");
- if (!e) {
- f = document.createElement("form");
- document.getElementsByTagName("body")[0].appendChild(f);
- e = document.createElement("textarea");
- e.id = "SWFUpload_Console";
- e.style.fontFamily = "monospace";
- e.setAttribute("wrap", "off");
- e.wrap = "off";
- e.style.overflow = "auto";
- e.style.width = "700px";
- e.style.height = "350px";
- e.style.margin = "5px";
- f.appendChild(e);
- }
- e.value += g + "\n";
- e.scrollTop = e.scrollHeight - e.clientHeight;
- } catch(h) {
- alert("Exception: " + h.name + " Message: " + h.message);
- }
- }; (function(c) {
- var b = {
- init: function(d, e) {
- return this.each(function() {
- var n = c(this);
- var m = n.clone();
- var j = c.extend({
- id: n.attr("id"),
- swf: "uploadify.swf",
- uploader: "uploadify.php",
- auto: true,
- buttonClass: "",
- buttonCursor: "hand",
- buttonImage: null,
- buttonText: "",
- checkExisting: false,
- debug: false,
- fileObjName: "Filedata",
- fileSizeLimit: 0,
- fileTypeDesc: "ͼƬÎļþ",
- fileTypeExts: "*.jpg;*.jpeg;*.gif;*.png",
- height:42,
- itemTemplate: false,
- method: "post",
- multi: true,
- formData: {},
- preventCaching: true,
- progressData: "percentage",
- queueID: false,
- queueSizeLimit: 999,
- removeCompleted: true,
- removeTimeout: 3,
- requeueErrors: false,
- successTimeout: 30,
- uploadLimit: 0,
- width: 203,
- overrideEvents: []
- },
- d);
- var g = {
- assume_success_timeout: j.successTimeout,
- button_placeholder_id: j.id,
- button_width: j.width,
- button_height: j.height,
- button_text: null,
- button_text_style: null,
- button_text_top_padding: 0,
- button_text_left_padding: 0,
- button_action: (j.multi ? SWFUpload.BUTTON_ACTION.SELECT_FILES: SWFUpload.BUTTON_ACTION.SELECT_FILE),
- button_disabled: false,
- button_cursor: (j.buttonCursor == "arrow" ? SWFUpload.CURSOR.ARROW: SWFUpload.CURSOR.HAND),
- button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,
- debug: j.debug,
- requeue_on_error: j.requeueErrors,
- file_post_name: j.fileObjName,
- file_size_limit: j.fileSizeLimit,
- file_types: j.fileTypeExts,
- file_types_description: j.fileTypeDesc,
- file_queue_limit: j.queueSizeLimit,
- file_upload_limit: j.uploadLimit,
- flash_url: j.swf,
- prevent_swf_caching: j.preventCaching,
- post_params: j.formData,
- upload_url: j.uploader,
- use_query_string: (j.method == "get"),
- file_dialog_complete_handler: a.onDialogClose,
- file_dialog_start_handler: a.onDialogOpen,
- file_queued_handler: a.onSelect,
- file_queue_error_handler: a.onSelectError,
- swfupload_loaded_handler: j.onSWFReady,
- upload_complete_handler: a.onUploadComplete,
- upload_error_handler: a.onUploadError,
- upload_progress_handler: a.onUploadProgress,
- upload_start_handler: a.onUploadStart,
- upload_success_handler: a.onUploadSuccess
- };
- if (e) {
- g = c.extend(g, e);
- }
- g = c.extend(g, j);
- var o = swfobject.getFlashPlayerVersion();
- var h = (o.major >= 9);
- if (h) {
- window["uploadify_" + j.id] = new SWFUpload(g);
- var i = window["uploadify_" + j.id];
- n.data("uploadify", i);
- var l = c("<div />", {
- id: j.id,
- "class": "uploadify",
- css: {
- height: j.height + "px",
- width: j.width + "px"
- }
- });
- c("#" + i.movieName).wrap(l);
- l = c("#" + j.id);
- l.data("uploadify", i);
- var f = c("<div />", {
- id: j.id + "-button",
- "class": "uploadify-button " + j.buttonClass
- });
- if (j.buttonImage) {
- f.css({
- "background-image": "url('" + j.buttonImage + "')",
- "text-indent": "-9999px"
- });
- }
- f.html('<span class="uploadify-button-text">' + j.buttonText + "</span>").css({
- height: j.height + "px",
- "line-height": j.height + "px",
- width: j.width + "px"
- });
- l.append(f);
- c("#" + i.movieName).css({
- position: "absolute",
- "z-index": 1
- });
- if (!j.queueID) {
- var k = c("<div />", {
- id: j.id + "-queue",
- "class": "uploadify-queue"
- });
- l.after(k);
- i.settings.queueID = j.id + "-queue";
- i.settings.defaultQueue = true;
- }
- i.queueData = {
- files: {},
- filesSelected: 0,
- filesQueued: 0,
- filesReplaced: 0,
- filesCancelled: 0,
- filesErrored: 0,
- uploadsSuccessful: 0,
- uploadsErrored: 0,
- averageSpeed: 0,
- queueLength: 0,
- queueSize: 0,
- uploadSize: 0,
- queueBytesUploaded: 0,
- uploadQueue: [],
- errorMsg: "Some files were not added to the queue:"
- };
- i.original = m;
- i.wrapper = l;
- i.button = f;
- i.queue = k;
- if (j.onInit) {
- j.onInit.call(n, i);
- }
- } else {
- if (j.onFallback) {
- j.onFallback.call(n);
- }
- }
- });
- },
- cancel: function(d, f) {
- var e = arguments;
- this.each(function() {
- var l = c(this),
- i = l.data("uploadify"),
- j = i.settings,
- h = -1;
- if (e[0]) {
- if (e[0] == "*") {
- var g = i.queueData.queueLength;
- c("#" + j.queueID).find(".uploadify-queue-item").each(function() {
- h++;
- if (e[1] === true) {
- i.cancelUpload(c(this).attr("id"), false);
- } else {
- i.cancelUpload(c(this).attr("id"));
- }
- c(this).find(".data").removeClass("data").html(" - Cancelled");
- c(this).find(".uploadify-progress-bar").remove();
- c(this).delay(1000 + 100 * h).fadeOut(500,
- function() {
- c(this).remove();
- });
- });
- i.queueData.queueSize = 0;
- i.queueData.queueLength = 0;
- if (j.onClearQueue) {
- j.onClearQueue.call(l, g);
- }
- } else {
- for (var m = 0; m < e.length; m++) {
- i.cancelUpload(e[m]);
- c("#" + e[m]).find(".data").removeClass("data").html(" - Cancelled");
- c("#" + e[m]).find(".uploadify-progress-bar").remove();
- c("#" + e[m]).delay(1000 + 100 * m).fadeOut(500,
- function() {
- c(this).remove();
- });
- }
- }
- } else {
- var k = c("#" + j.queueID).find(".uploadify-queue-item").get(0);
- $item = c(k);
- i.cancelUpload($item.attr("id"));
- $item.find(".data").removeClass("data").html(" - Cancelled");
- $item.find(".uploadify-progress-bar").remove();
- $item.delay(1000).fadeOut(500,
- function() {
- c(this).remove();
- });
- }
- });
- },
- destroy: function() {
- this.each(function() {
- var f = c(this),
- d = f.data("uploadify"),
- e = d.settings;
- d.destroy();
- if (e.defaultQueue) {
- c("#" + e.queueID).remove();
- }
- c("#" + e.id).replaceWith(d.original);
- if (e.onDestroy) {
- e.onDestroy.call(this);
- }
- delete d;
- });
- },
- disable: function(d) {
- this.each(function() {
- var g = c(this),
- e = g.data("uploadify"),
- f = e.settings;
- if (d) {
- e.button.addClass("disabled");
- if (f.onDisable) {
- f.onDisable.call(this);
- }
- } else {
- e.button.removeClass("disabled");
- if (f.onEnable) {
- f.onEnable.call(this);
- }
- }
- e.setButtonDisabled(d);
- });
- },
- settings: function(e, g, h) {
- var d = arguments;
- var f = g;
- this.each(function() {
- var k = c(this),
- i = k.data("uploadify"),
- j = i.settings;
- if (typeof(d[0]) == "object") {
- for (var l in g) {
- setData(l, g[l]);
- }
- }
- if (d.length === 1) {
- f = j[e];
- } else {
- switch (e) {
- case "uploader":
- i.setUploadURL(g);
- break;
- case "formData":
- if (!h) {
- g = c.extend(j.formData, g);
- }
- i.setPostParams(j.formData);
- break;
- case "method":
- if (g == "get") {
- i.setUseQueryString(true);
- } else {
- i.setUseQueryString(false);
- }
- break;
- case "fileObjName":
- i.setFilePostName(g);
- break;
- case "fileTypeExts":
- i.setFileTypes(g, j.fileTypeDesc);
- break;
- case "fileTypeDesc":
- i.setFileTypes(j.fileTypeExts, g);
- break;
- case "fileSizeLimit":
- i.setFileSizeLimit(g);
- break;
- case "uploadLimit":
- i.setFileUploadLimit(g);
- break;
- case "queueSizeLimit":
- i.setFileQueueLimit(g);
- break;
- case "buttonImage":
- i.button.css("background-image", settingValue);
- break;
- case "buttonCursor":
- if (g == "arrow") {
- i.setButtonCursor(SWFUpload.CURSOR.ARROW);
- } else {
- i.setButtonCursor(SWFUpload.CURSOR.HAND);
- }
- break;
- case "buttonText":
- c("#" + j.id + "-button").find(".uploadify-button-text").html(g);
- break;
- case "width":
- i.setButtonDimensions(g, j.height);
- break;
- case "height":
- i.setButtonDimensions(j.width, g);
- break;
- case "multi":
- if (g) {
- i.setButtonAction(SWFUpload.BUTTON_ACTION.SELECT_FILES);
- } else {
- i.setButtonAction(SWFUpload.BUTTON_ACTION.SELECT_FILE);
- }
- break;
- }
- j[e] = g;
- }
- });
- if (d.length === 1) {
- return f;
- }
- },
- stop: function() {
- this.each(function() {
- var e = c(this),
- d = e.data("uploadify");
- d.queueData.averageSpeed = 0;
- d.queueData.uploadSize = 0;
- d.queueData.bytesUploaded = 0;
- d.queueData.uploadQueue = [];
- d.stopUpload();
- });
- },
- upload: function() {
- var d = arguments;
- this.each(function() {
- var f = c(this),
- e = f.data("uploadify");
- e.queueData.averageSpeed = 0;
- e.queueData.uploadSize = 0;
- e.queueData.bytesUploaded = 0;
- e.queueData.uploadQueue = [];
- if (d[0]) {
- if (d[0] == "*") {
- e.queueData.uploadSize = e.queueData.queueSize;
- e.queueData.uploadQueue.push("*");
- e.startUpload();
- } else {
- for (var g = 0; g < d.length; g++) {
- e.queueData.uploadSize += e.queueData.files[d[g]].size;
- e.queueData.uploadQueue.push(d[g]);
- }
- e.startUpload(e.queueData.uploadQueue.shift());
- }
- } else {
- e.startUpload();
- }
- });
- }
- };
- var a = {
- onDialogOpen: function() {
- var d = this.settings;
- this.queueData.errorMsg = "Some files were not added to the queue:";
- this.queueData.filesReplaced = 0;
- this.queueData.filesCancelled = 0;
- if (d.onDialogOpen) {
- d.onDialogOpen.call(this);
- }
- },
- onDialogClose: function(d, f, g) {
- var e = this.settings;
- this.queueData.filesErrored = d - f;
- this.queueData.filesSelected = d;
- this.queueData.filesQueued = f - this.queueData.filesCancelled;
- this.queueData.queueLength = g;
- if (c.inArray("onDialogClose", e.overrideEvents) < 0) {
- if (this.queueData.filesErrored > 0) {
- alert(this.queueData.errorMsg);
- }
- }
- if (e.onDialogClose) {
- e.onDialogClose.call(this, this.queueData);
- }
- if (e.auto) {
- c("#" + e.id).uploadify("upload", "*");
- }
- },
- onSelect: function(h) {
- var i = this.settings;
- var f = {};
- for (var g in this.queueData.files) {
- f = this.queueData.files[g];
- if (f.uploaded != true && f.name == h.name) {
- var e = confirm('The file named "' + h.name + '" is already in the queue.\nDo you want to replace the existing item in the queue?');
- if (!e) {
- this.cancelUpload(h.id);
- this.queueData.filesCancelled++;
- return false;
- } else {
- c("#" + f.id).remove();
- this.cancelUpload(f.id);
- this.queueData.filesReplaced++;
- }
- }
- }
- var j = Math.round(h.size / 1024);
- var o = "KB";
- if (j > 1000) {
- j = Math.round(j / 1000);
- o = "MB";
- }
- var l = j.toString().split(".");
- j = l[0];
- if (l.length > 1) {
- j += "." + l[1].substr(0, 2);
- }
- j += o;
- var k = h.name;
- if (k.length > 25) {
- k = k.substr(0, 25) + "...";
- }
- itemData = {
- fileID: h.id,
- instanceID: i.id,
- fileName: k,
- fileSize: j
- };
- if (i.itemTemplate == false) {
- i.itemTemplate = '<div id="${fileID}" class="uploadify-queue-item"> <div class="cancel"> <a href="javascript:$(\'#${instanceID}\').uploadify(\'cancel\', \'${fileID}\')">X</a> </div> <span class="fileName">${fileName} (${fileSize})</span><span class="data"></span> <div class="uploadify-progress"> <div class="uploadify-progress-bar"><!--Progress Bar--></div> </div> </div>';
- }
- if (c.inArray("onSelect", i.overrideEvents) < 0) {
- itemHTML = i.itemTemplate;
- for (var m in itemData) {
- itemHTML = itemHTML.replace(new RegExp("\\$\\{" + m + "\\}", "g"), itemData[m]);
- }
- c("#" + i.queueID).append(itemHTML);
- }
- this.queueData.queueSize += h.size;
- this.queueData.files[h.id] = h;
- if (i.onSelect) {
- i.onSelect.apply(this, arguments);
- }
- },
- onSelectError: function(d, g, f) {
- var e = this.settings;
- if (c.inArray("onSelectError", e.overrideEvents) < 0) {
- switch (g) {
- case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:
- if (e.queueSizeLimit > f) {
- this.queueData.errorMsg += "\nThe number of files selected exceeds the remaining upload limit (" + f + ").";
- } else {
- this.queueData.errorMsg += "\nThe number of files selected exceeds the queue size limit (" + e.queueSizeLimit + ").";
- }
- break;
- case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
- this.queueData.errorMsg += '\nThe file "' + d.name + '" exceeds the size limit (' + e.fileSizeLimit + ").";
- break;
- case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
- this.queueData.errorMsg += '\nThe file "' + d.name + '" is empty.';
- break;
- case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
- this.queueData.errorMsg += '\nThe file "' + d.name + '" is not an accepted file type (' + e.fileTypeDesc + ").";
- break;
- }
- }
- if (g != SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
- delete this.queueData.files[d.id];
- }
- if (e.onSelectError) {
- e.onSelectError.apply(this, arguments);
- }
- },
- onQueueComplete: function() {
- if (this.settings.onQueueComplete) {
- this.settings.onQueueComplete.call(this, this.settings.queueData);
- }
- },
- onUploadComplete: function(f) {
- var g = this.settings,
- d = this;
- var e = this.getStats();
- this.queueData.queueLength = e.files_queued;
- if (this.queueData.uploadQueue[0] == "*") {
- if (this.queueData.queueLength > 0) {
- this.startUpload();
- } else {
- this.queueData.uploadQueue = [];
- if (g.onQueueComplete) {
- g.onQueueComplete.call(this, this.queueData);
- }
- }
- } else {
- if (this.queueData.uploadQueue.length > 0) {
- this.startUpload(this.queueData.uploadQueue.shift());
- } else {
- this.queueData.uploadQueue = [];
- if (g.onQueueComplete) {
- g.onQueueComplete.call(this, this.queueData);
- }
- }
- }
- if (c.inArray("onUploadComplete", g.overrideEvents) < 0) {
- if (g.removeCompleted) {
- switch (f.filestatus) {
- case SWFUpload.FILE_STATUS.COMPLETE:
- setTimeout(function() {
- if (c("#" + f.id)) {
- d.queueData.queueSize -= f.size;
- d.queueData.queueLength -= 1;
- delete d.queueData.files[f.id];
- c("#" + f.id).fadeOut(500,
- function() {
- c(this).remove();
- });
- }
- },
- g.removeTimeout * 1000);
- break;
- case SWFUpload.FILE_STATUS.ERROR:
- if (!g.requeueErrors) {
- setTimeout(function() {
- if (c("#" + f.id)) {
- d.queueData.queueSize -= f.size;
- d.queueData.queueLength -= 1;
- delete d.queueData.files[f.id];
- c("#" + f.id).fadeOut(500,
- function() {
- c(this).remove();
- });
- }
- },
- g.removeTimeout * 1000);
- }
- break;
- }
- } else {
- f.uploaded = true;
- }
- }
- if (g.onUploadComplete) {
- g.onUploadComplete.call(this, f);
- }
- },
- onUploadError: function(e, i, h) {
- var f = this.settings;
- var g = "Error";
- switch (i) {
- case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
- g = "HTTP Error (" + h + ")";
- break;
- case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:
- g = "Missing Upload URL";
- break;
- case SWFUpload.UPLOAD_ERROR.IO_ERROR:
- g = "IO Error";
- break;
- case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
- g = "Security Error";
- break;
- case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
- alert("The upload limit has been reached (" + h + ").");
- g = "Exceeds Upload Limit";
- break;
- case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
- g = "Failed";
- break;
- case SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND:
- break;
- case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
- g = "Validation Error";
- break;
- case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
- g = "Cancelled";
- this.queueData.queueSize -= e.size;
- this.queueData.queueLength -= 1;
- if (e.status == SWFUpload.FILE_STATUS.IN_PROGRESS || c.inArray(e.id, this.queueData.uploadQueue) >= 0) {
- this.queueData.uploadSize -= e.size;
- }
- if (f.onCancel) {
- f.onCancel.call(this, e);
- }
- delete this.queueData.files[e.id];
- break;
- case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
- g = "Stopped";
- break;
- }
- if (c.inArray("onUploadError", f.overrideEvents) < 0) {
- if (i != SWFUpload.UPLOAD_ERROR.FILE_CANCELLED && i != SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED) {
- c("#" + e.id).addClass("uploadify-error");
- }
- c("#" + e.id).find(".uploadify-progress-bar").css("width", "1px");
- if (i != SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND && e.status != SWFUpload.FILE_STATUS.COMPLETE) {
- c("#" + e.id).find(".data").html(" - " + g);
- }
- }
- var d = this.getStats();
- this.queueData.uploadsErrored = d.upload_errors;
- if (f.onUploadError) {
- f.onUploadError.call(this, e, i, h, g);
- }
- },
- onUploadProgress: function(g, m, j) {
- var h = this.settings;
- var e = new Date();
- var n = e.getTime();
- var k = n - this.timer;
- if (k > 500) {
- this.timer = n;
- }
- var i = m - this.bytesLoaded;
- this.bytesLoaded = m;
- var d = this.queueData.queueBytesUploaded + m;
- var p = Math.round(m / j * 100);
- var o = "KB/s";
- var l = 0;
- var f = (i / 1024) / (k / 1000);
- f = Math.floor(f * 10) / 10;
- if (this.queueData.averageSpeed > 0) {
- this.queueData.averageSpeed = Math.floor((this.queueData.averageSpeed + f) / 2);
- } else {
- this.queueData.averageSpeed = Math.floor(f);
- }
- if (f > 1000) {
- l = (f * 0.001);
- this.queueData.averageSpeed = Math.floor(l);
- o = "MB/s";
- }
- if (c.inArray("onUploadProgress", h.overrideEvents) < 0) {
- if (h.progressData == "percentage") {
- c("#" + g.id).find(".data").html(" - " + p + "%");
- } else {
- if (h.progressData == "speed" && k > 500) {
- c("#" + g.id).find(".data").html(" - " + this.queueData.averageSpeed + o);
- }
- }
- c("#" + g.id).find(".uploadify-progress-bar").css("width", p + "%");
- }
- if (h.onUploadProgress) {
- h.onUploadProgress.call(this, g, m, j, d, this.queueData.uploadSize);
- }
- },
- onUploadStart: function(d) {
- var e = this.settings;
- var f = new Date();
- this.timer = f.getTime();
- this.bytesLoaded = 0;
- if (this.queueData.uploadQueue.length == 0) {
- this.queueData.uploadSize = d.size;
- }
- if (e.checkExisting) {
- c.ajax({
- type: "POST",
- async: false,
- url: e.checkExisting,
- data: {
- filename: d.name
- },
- success: function(h) {
- if (h == 1) {
- var g = confirm('A file with the name "' + d.name + '" already exists on the server.\nWould you like to replace the existing file?');
- if (!g) {
- this.cancelUpload(d.id);
- c("#" + d.id).remove();
- if (this.queueData.uploadQueue.length > 0 && this.queueData.queueLength > 0) {
- if (this.queueData.uploadQueue[0] == "*") {
- this.startUpload();
- } else {
- this.startUpload(this.queueData.uploadQueue.shift());
- }
- }
- }
- }
- }
- });
- }
- if (e.onUploadStart) {
- e.onUploadStart.call(this, d);
- }
- },
- onUploadSuccess: function(f, h, d) {
- var g = this.settings;
- var e = this.getStats();
- this.queueData.uploadsSuccessful = e.successful_uploads;
- this.queueData.queueBytesUploaded += f.size;
- if (c.inArray("onUploadSuccess", g.overrideEvents) < 0) {
- c("#" + f.id).find(".data").html(" - ÉÏ´«Íê³É");
- }
- if (g.onUploadSuccess) {
- g.onUploadSuccess.call(this, f, h, d);
- }
- }
- };
- c.fn.uploadify = function(d) {
- if (b[d]) {
- return b[d].apply(this, Array.prototype.slice.call(arguments, 1));
- } else {
- if (typeof d === "object" || !d) {
- return b.init.apply(this, arguments);
- } else {
- c.error("The method " + d + " does not exist in $.uploadify");
- }
- }
- };
- })($);
|