io-base-min.js revision db6bcdca3c01def23cea443aa1bb08552d696ba6
YUI.add("io-base",function(C){var f="io:start",Q="io:complete",A="io:success",G="io:failure",g="io:end",a=0,P={"X-Requested-With":"XMLHttpRequest"},b={},L=C.config.win;function d(h,q,k){var r,l,Y,j,p;q=q||{};k=k||null;Y=Z(q.xdr,k);j=q.method?q.method.toUpperCase():"GET";p=q.data?q.data:"";if(q.form){if(q.form.upload){r=C.io._upload(Y,h,q);return r;}l=C.io._serialize(q.form);if(p){l+="&"+p;}if(j==="POST"){p=l;X("Content-Type","application/x-www-form-urlencoded");}else{if(j==="GET"){h=R(h,l);}}}else{if(p&&j==="POST"){X("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");}}if(q.xdr){if(q.xdr.use==="native"&&window.XDomainRequest||q.xdr.use==="flash"){return C.io._xdr(h,Y,q);}if(q.xdr.credentials){Y.c.withCredentials=true;}}if(q.timeout){S(Y,q.timeout);}Y.c.onreadystatechange=function(){e(Y,q);};try{D(Y.c,j,h);}catch(n){}if(q.header){B(Y.c,q.headers);}W(Y,p,q);return{id:Y.id,abort:function(){O(Y,"abort");},isInProgress:function(){Y.c.readyState!==4&&Y.c.readyState!==0;}};}function V(h,i){var Y=new C.EventTarget().publish("transaction:"+h);Y.subscribe(i.on[h],(i.context||C),i.arguments);return Y;}function T(i,h){var Y;h.on=h.on||{};C.fire(f,i);if(h.on.start){Y=V("start",h);Y.fire(i);}}function H(i,j){var h,Y;j.on=j.on||{};h=i.status?F(i.status):i.c;C.fire(Q,i.id,h);if(j.on.complete){Y=V("complete",j);Y.fire(i.id,h);}}function U(h,i){var Y;i.on=i.on||{};C.fire(A,h.id,h.c);if(i.on.success){Y=V("success",i);Y.fire(h.id,h.c);}K(h,i);}function J(i,j){var h=i.status?F(i.status):i.c,Y;j.on=j.on||{};C.fire(G,i.id,h);if(j.on.failure){Y=V("failure",j);Y.fire(i.id,h);}K(i,j);}function K(h,i){var Y;i.on=i.on||{};C.fire(g,h.id);if(i.on.end){Y=V("end",i);Y.fire(h.id);}I(h,i.xdr?true:false);}function O(h,Y){if(h&&h.c){h.status=Y;h.c.abort();}}function F(Y){return{status:0,statusText:Y};}function E(){var Y=a;a++;return Y;}function Z(Y,h){var j={};j.id=C.Lang.isNumber(h)?h:E();if(!Y){j.c=M();}else{if(Y){if(Y.use==="flash"){j.c=C.io._transport[Y.use];}else{if(Y.use==="native"&&window.XDomainRequest){j.c=new XDomainRequest();}else{j.c=M();}}}else{j.c={};}}return j;}function M(){return L.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");}function R(Y,h){Y+=((Y.indexOf("?")==-1)?"?":"&")+h;return Y;}function X(Y,h){if(h){P[Y]=h;}else{delete P[Y];}}function B(j,Y){var i;for(i in P){if(P.hasOwnProperty(i)){if(Y[i]){break;}else{Y[i]=P[i];}}}for(i in Y){if(Y.hasOwnProperty(i)){j.setRequestHeader(i,Y[i]);}}}function D(i,Y,h){i.open(Y,h,true);}function W(h,Y,i){h.c.send(Y);T(h.id,i);}function S(h,Y){b[h.id]=L.setTimeout(function(){O(h,"timeout");},Y);}function N(Y){L.clearTimeout(b[Y]);delete b[Y];}function e(Y,h){if(Y.c.readyState===4){if(h.timeout){N(Y.id);}L.setTimeout(function(){H(Y,h);c(Y,h);},0);}}function c(i,j){var Y;try{if(i.c.status&&i.c.status!==0){Y=i.c.status;}else{Y=0;}}catch(h){Y=0;}if(Y>=200&&Y<300||Y===1223){U(i,j);}else{J(i,j);}}function I(h,Y){if(L.XMLHttpRequest&&!Y){if(h.c){h.c.onreadystatechange=null;}}h.c=null;h=null;}d.start=T;d.complete=H;d.success=U;d.failure=J;d._id=E;d.header=X;C.io=d;C.io.http=d;},"@VERSION@",{requires:["event-custom-base"]});