YAHOO.util.Connect={_msxml_progid:["Microsoft.XMLHTTP","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP"],_http_headers:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:"application/x-www-form-urlencoded; charset=UTF-8",_default_form_header:"application/x-www-form-urlencoded",_use_default_xhr_header:true,_default_xhr_header:"XMLHttpRequest",_has_default_headers:true,_default_headers:{},_isFormSubmit:false,_isFileUpload:false,_formNode:null,_sFormData:null,_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,_submitElementValue:null,_hasSubmitListener:(function(){if(YAHOO.util.Event){YAHOO.util.Event.addListener(document,"click",function(P){var K=YAHOO.util.Event.getTarget(P);if(K.nodeName.toLowerCase()=="input"&&(K.type&&K.type.toLowerCase()=="submit")){YAHOO.util.Connect._submitElementValue=encodeURIComponent(K.name)+"="+encodeURIComponent(K.value);}});return true;}return false;})(),startEvent:new YAHOO.util.CustomEvent("start"),completeEvent:new YAHOO.util.CustomEvent("complete"),successEvent:new YAHOO.util.CustomEvent("success"),failureEvent:new YAHOO.util.CustomEvent("failure"),uploadEvent:new YAHOO.util.CustomEvent("upload"),abortEvent:new YAHOO.util.CustomEvent("abort"),_customEvents:{onStart:["startEvent","start"],onComplete:["completeEvent","complete"],onSuccess:["successEvent","success"],onFailure:["failureEvent","failure"],onUpload:["uploadEvent","upload"],onAbort:["abortEvent","abort"]},setProgId:function(K){this._msxml_progid.unshift(K);},setDefaultPostHeader:function(K){if(typeof K=="string"){this._default_post_header=K;}else{if(typeof K=="boolean"){this._use_default_post_header=K;}}},setDefaultXhrHeader:function(K){if(typeof K=="string"){this._default_xhr_header=K;}else{this._use_default_xhr_header=K;}},setPollingInterval:function(K){if(typeof K=="number"&&isFinite(K)){this._polling_interval=K;}},createXhrObject:function(X){var g,K;try{K=new XMLHttpRequest();g={conn:K,tId:X};}catch(N){for(var P=0;P<this._msxml_progid.length;++P){try{K=new ActiveXObject(this._msxml_progid[P]);g={conn:K,tId:X};break;}catch(N){}}}finally{return g;}},getConnectionObject:function(K){var N;var g=this._transaction_id;try{if(!K){N=this.createXhrObject(g);}else{N={};N.tId=g;N.isUpload=true;}if(N){this._transaction_id++;}}catch(P){}finally{return N;}},asyncRequest:function(z,N,X,K){var g=(this._isFileUpload)?this.getConnectionObject(true):this.getConnectionObject();var P=(X&&X.argument)?X.argument:null;if(!g){return null;}else{if(X&&X.customevents){this.initCustomEvents(g,X);}if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(g,X,N,K);return g;}if(z.toUpperCase()=="GET"){if(this._sFormData.length!==0){N+=((N.indexOf("?")==-1)?"?":"&")+this._sFormData;}}else{if(z.toUpperCase()=="POST"){K=K?this._sFormData+"&"+K:this._sFormData;}}}if(z.toUpperCase()=="GET"&&(X&&X.cache===false)){N+=((N.indexOf("?")==-1)?"?":"&")+"rnd="+new Date().valueOf().toString();}g.conn.open(z,N,true);if(this._use_default_xhr_header){if(!this._default_headers["X-Requested-With"]){this.initHeader("X-Requested-With",this._default_xhr_header,true);}}if((z.toUpperCase()=="POST"&&this._use_default_post_header)&&this._isFormSubmit===false){this.initHeader("Content-Type",this._default_post_header);}if(this._has_default_headers||this._has_http_headers){this.setHeader(g);}this.handleReadyState(g,X);g.conn.send(K||"");if(this._isFormSubmit===true){this.resetFormState();}this.startEvent.fire(g,P);if(g.startEvent){g.startEvent.fire(g,P);}return g;}},initCustomEvents:function(K,N){for(var P in N.customevents){if(this._customEvents[P][0]){K[this._customEvents[P][0]]=new YAHOO.util.CustomEvent(this._customEvents[P][1],(N.scope)?N.scope:null);K[this._customEvents[P][0]].subscribe(N.customevents[P]);}}},handleReadyState:function(N,g){var P=this;var K=(g&&g.argument)?g.argument:null;if(g&&g.timeout){this._timeOut[N.tId]=window.setTimeout(function(){P.abort(N,g,true);},g.timeout);}this._poll[N.tId]=window.setInterval(function(){if(N.conn&&N.conn.readyState===4){window.clearInterval(P._poll[N.tId]);delete P._poll[N.tId];if(g&&g.timeout){window.clearTimeout(P._timeOut[N.tId]);delete P._timeOut[N.tId];}P.completeEvent.fire(N,K);if(N.completeEvent){N.completeEvent.fire(N,K);}P.handleTransactionResponse(N,g);}},this._polling_interval);},handleTransactionResponse:function(z,y,K){var g,N;var P=(y&&y.argument)?y.argument:null;try{if(z.conn.status!==undefined&&z.conn.status!==0){g=z.conn.status;}else{g=13030;}}catch(X){g=13030;}if(g>=200&&g<300||g===1223){N=this.createResponseObject(z,P);if(y&&y.success){if(!y.scope){y.success(N);}else{y.success.apply(y.scope,[N]);}}this.successEvent.fire(N);if(z.successEvent){z.successEvent.fire(N);}}else{switch(g){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:N=this.createExceptionObject(z.tId,P,(K?K:false));if(y&&y.failure){if(!y.scope){y.failure(N);}else{y.failure.apply(y.scope,[N]);}}break;default:N=this.createResponseObject(z,P);if(y&&y.failure){if(!y.scope){y.failure(N);}else{y.failure.apply(y.scope,[N]);}}}this.failureEvent.fire(N);if(z.failureEvent){z.failureEvent.fire(N);}}this.releaseObject(z);N=null;},createResponseObject:function(K,y){var g={};var r={};try{var N=K.conn.getAllResponseHeaders();var z=N.split("\n");for(var X=0;X<z.length;X++){var P=z[X].indexOf(":");if(P!=-1){r[z[X].substring(0,P)]=z[X].substring(P+2);}}}catch(s){}g.tId=K.tId;g.status=(K.conn.status==1223)?204:K.conn.status;g.statusText=(K.conn.status==1223)?"No Content":K.conn.statusText;g.getResponseHeader=r;g.getAllResponseHeaders=N;g.responseText=K.conn.responseText;g.responseXML=K.conn.responseXML;if(y){g.argument=y;}return g;},createExceptionObject:function(e,g,K){var z=0;var y="communication failure";var N=-1;var P="transaction aborted";var X={};X.tId=e;if(K){X.status=N;X.statusText=P;}else{X.status=z;X.statusText=y;}if(g){X.argument=g;}return X;},initHeader:function(K,g,N){var P=(N)?this._default_headers:this._http_headers;P[K]=g;if(N){this._has_default_headers=true;}else{this._has_http_headers=true;}},setHeader:function(K){if(this._has_default_headers){for(var P in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,P)){K.conn.setRequestHeader(P,this._default_headers[P]);}}}if(this._has_http_headers){for(var P in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,P)){K.conn.setRequestHeader(P,this._http_headers[P]);}}delete this._http_headers;this._http_headers={};this._has_http_headers=false;}},resetDefaultHeaders:function(){delete this._default_headers;this._default_headers={};this._has_default_headers=false;},setForm:function(W,X,P){this.resetFormState();var r;if(typeof W=="string"){r=(document.getElementById(W)||document.forms[W]);}else{if(typeof W=="object"){r=W;}else{return ;}}if(X){var z=this.createFrame((window.location.href.toLowerCase().indexOf("https")===0||P)?true:false);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=r;return ;}var K,s,y,b;var e=false;for(var g=0;g<r.elements.length;g++){K=r.elements[g];b=K.disabled;s=K.name;y=K.value;if(!b&&s){switch(K.type){case "select-one":case "select-multiple":for(var N=0;N<K.options.length;N++){if(K.options[N].selected){if(window.ActiveXObject){this._sFormData+=encodeURIComponent(s)+"="+encodeURIComponent(K.options[N].attributes["value"].specified?K.options[N].value:K.options[N].text)+"&";}else{this._sFormData+=encodeURIComponent(s)+"="+encodeURIComponent(K.options[N].hasAttribute("value")?K.options[N].value:K.options[N].text)+"&";}}}break;case "radio":case "checkbox":if(K.checked){this._sFormData+=encodeURIComponent(s)+"="+encodeURIComponent(y)+"&";}break;case "file":case undefined:case "reset":case "button":break;case "submit":if(e===false){if(this._hasSubmitListener&&this._submitElementValue){this._sFormData+=this._submitElementValue+"&";}else{this._sFormData+=encodeURIComponent(s)+"="+encodeURIComponent(y)+"&";}e=true;}break;default:this._sFormData+=encodeURIComponent(s)+"="+encodeURIComponent(y)+"&";}}}this._isFormSubmit=true;this._sFormData=this._sFormData.substr(0,this._sFormData.length-1);this.initHeader("Content-Type",this._default_form_header);return this._sFormData;},resetFormState:function(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";},createFrame:function(K){var P="yuiIO"+this._transaction_id;var N;if(window.ActiveXObject){N=document.createElement("<iframe id=\""+P+"\" name=\""+P+"\" />");if(typeof K=="boolean"){N.src="javascript:false";}}else{N=document.createElement("iframe");N.id=P;N.name=P;}N.style.position="absolute";N.style.top="-1000px";N.style.left="-1000px";document.body.appendChild(N);},appendPostData:function(K){var g=[];var P=K.split("&");for(var N=0;N<P.length;N++){var X=P[N].indexOf("=");if(X!=-1){g[N]=document.createElement("input");g[N].type="hidden";g[N].name=P[N].substring(0,X);g[N].value=P[N].substring(X+1);this._formNode.appendChild(g[N]);}}return g;},uploadFile:function(g,M,X,N){var Z=this;var e="yuiIO"+g.tId;var s="multipart/form-data";var W=document.getElementById(e);var r=(M&&M.argument)?M.argument:null;var P={action:this._formNode.getAttribute("action"),method:this._formNode.getAttribute("method"),target:this._formNode.getAttribute("target")};this._formNode.setAttribute("action",X);this._formNode.setAttribute("method","POST");this._formNode.setAttribute("target",e);if(this._formNode.encoding){this._formNode.setAttribute("encoding",s);}else{this._formNode.setAttribute("enctype",s);}if(N){var b=this.appendPostData(N);}this._formNode.submit();this.startEvent.fire(g,r);if(g.startEvent){g.startEvent.fire(g,r);}if(M&&M.timeout){this._timeOut[g.tId]=window.setTimeout(function(){Z.abort(g,M,true);},M.timeout);}if(b&&b.length>0){for(var y=0;y<b.length;y++){this._formNode.removeChild(b[y]);}}for(var K in P){if(YAHOO.lang.hasOwnProperty(P,K)){if(P[K]){this._formNode.setAttribute(K,P[K]);}else{this._formNode.removeAttribute(K);}}}this.resetFormState();var z=function(){if(M&&M.timeout){window.clearTimeout(Z._timeOut[g.tId]);delete Z._timeOut[g.tId];}Z.completeEvent.fire(g,r);if(g.completeEvent){g.completeEvent.fire(g,r);}var u={};u.tId=g.tId;u.argument=M.argument;try{u.responseText=W.contentWindow.document.body?W.contentWindow.document.body.innerHTML:W.contentWindow.document.documentElement.textContent;u.responseXML=W.contentWindow.document.XMLDocument?W.contentWindow.document.XMLDocument:W.contentWindow.document;}catch(J){}if(M&&M.upload){if(!M.scope){M.upload(u);}else{M.upload.apply(M.scope,[u]);}}Z.uploadEvent.fire(u);if(g.uploadEvent){g.uploadEvent.fire(u);}YAHOO.util.Event.removeListener(W,"load",z);setTimeout(function(){document.body.removeChild(W);Z.releaseObject(g);},100);};YAHOO.util.Event.addListener(W,"load",z);},abort:function(X,y,K){var g;var P=(y&&y.argument)?y.argument:null;if(X&&X.conn){if(this.isCallInProgress(X)){X.conn.abort();window.clearInterval(this._poll[X.tId]);delete this._poll[X.tId];if(K){window.clearTimeout(this._timeOut[X.tId]);delete this._timeOut[X.tId];}g=true;}}else{if(X&&X.isUpload===true){var N="yuiIO"+X.tId;var z=document.getElementById(N);if(z){YAHOO.util.Event.removeListener(z,"load");document.body.removeChild(z);if(K){window.clearTimeout(this._timeOut[X.tId]);delete this._timeOut[X.tId];}g=true;}}else{g=false;}}if(g===true){this.abortEvent.fire(X,P);if(X.abortEvent){X.abortEvent.fire(X,P);}this.handleTransactionResponse(X,y,true);}return g;},isCallInProgress:function(P){if(P&&P.conn){return P.conn.readyState!==4&&P.conn.readyState!==0;}else{if(P&&P.isUpload===true){var K="yuiIO"+P.tId;return document.getElementById(K)?true:false;}else{return false;}}},releaseObject:function(K){if(K&&K.conn){K.conn=null;K=null;}}};YAHOO.register("connection",YAHOO.util.Connect,{version:"2.5.1",build:"984"});