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(c){var b=YAHOO.util.Event.getTarget(c),a=b.nodeName.toLowerCase();if((a==="input"||a==="button")&&(b.type&&b.type.toLowerCase()=="submit")){YAHOO.util.Connect._submitElementValue=encodeURIComponent(b.name)+"="+encodeURIComponent(b.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(a){this._msxml_progid.unshift(a)},setDefaultPostHeader:function(a){if(typeof a=="string"){this._default_post_header=a}else{if(typeof a=="boolean"){this._use_default_post_header=a}}},setDefaultXhrHeader:function(a){if(typeof a=="string"){this._default_xhr_header=a}else{this._use_default_xhr_header=a}},setPollingInterval:function(a){if(typeof a=="number"&&isFinite(a)){this._polling_interval=a}},createXhrObject:function(g){var f,a;try{a=new XMLHttpRequest();f={conn:a,tId:g}}catch(d){for(var b=0;b<this._msxml_progid.length;++b){try{a=new ActiveXObject(this._msxml_progid[b]);f={conn:a,tId:g};break}catch(c){}}}finally{return f}},getConnectionObject:function(a){var c;var d=this._transaction_id;try{if(!a){c=this.createXhrObject(d)}else{c={};c.tId=d;c.isUpload=true}if(c){this._transaction_id++}}catch(b){}finally{return c}},asyncRequest:function(e,c,d,a){var f=(this._isFileUpload)?this.getConnectionObject(true):this.getConnectionObject();var b=(d&&d.argument)?d.argument:null;if(!f){return null}else{if(d&&d.customevents){this.initCustomEvents(f,d)}if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(f,d,c,a);return f}if(e.toUpperCase()=="GET"){if(this._sFormData.length!==0){c+=((c.indexOf("?")==-1)?"?":"&")+this._sFormData}}else{if(e.toUpperCase()=="POST"){a=a?this._sFormData+"&"+a:this._sFormData}}}if(e.toUpperCase()=="GET"&&(d&&d.cache===false)){c+=((c.indexOf("?")==-1)?"?":"&")+"rnd="+new Date().valueOf().toString()}f.conn.open(e,c,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((e.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(f)}this.handleReadyState(f,d);f.conn.send(a||"");if(this._isFormSubmit===true){this.resetFormState()}this.startEvent.fire(f,b);if(f.startEvent){f.startEvent.fire(f,b)}return f}},initCustomEvents:function(b,a){var c;for(c in a.customevents){if(this._customEvents[c][0]){b[this._customEvents[c][0]]=new YAHOO.util.CustomEvent(this._customEvents[c][1],(a.scope)?a.scope:null);b[this._customEvents[c][0]].subscribe(a.customevents[c])}}},handleReadyState:function(d,b){var c=this;var a=(b&&b.argument)?b.argument:null;if(b&&b.timeout){this._timeOut[d.tId]=window.setTimeout(function(){c.abort(d,b,true)},b.timeout)}this._poll[d.tId]=window.setInterval(function(){if(d.conn&&d.conn.readyState===4){window.clearInterval(c._poll[d.tId]);delete c._poll[d.tId];if(b&&b.timeout){window.clearTimeout(c._timeOut[d.tId]);delete c._timeOut[d.tId]}c.completeEvent.fire(d,a);if(d.completeEvent){d.completeEvent.fire(d,a)}c.handleTransactionResponse(d,b)}},this._polling_interval)},handleTransactionResponse:function(h,g,a){var c,d;var b=(g&&g.argument)?g.argument:null;try{if(h.conn.status!==undefined&&h.conn.status!==0){c=h.conn.status}else{c=13030}}catch(f){c=13030}if(c>=200&&c<300||c===1223){d=this.createResponseObject(h,b);if(g&&g.success){if(!g.scope){g.success(d)}else{g.success.apply(g.scope,[d])}}this.successEvent.fire(d);if(h.successEvent){h.successEvent.fire(d)}}else{switch(c){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:d=this.createExceptionObject(h.tId,b,(a?a:false));if(g&&g.failure){if(!g.scope){g.failure(d)}else{g.failure.apply(g.scope,[d])}}break;default:d=this.createResponseObject(h,b);if(g&&g.failure){if(!g.scope){g.failure(d)}else{g.failure.apply(g.scope,[d])}}}this.failureEvent.fire(d);if(h.failureEvent){h.failureEvent.fire(d)}}this.releaseObject(h);d=null},createResponseObject:function(a,h){var f={};var k={};try{var g=a.conn.getAllResponseHeaders();var c=g.split("\n");for(var d=0;d<c.length;d++){var b=c[d].indexOf(":");if(b!=-1){k[c[d].substring(0,b)]=c[d].substring(b+2)}}}catch(j){}f.tId=a.tId;f.status=(a.conn.status==1223)?204:a.conn.status;f.statusText=(a.conn.status==1223)?"No Content":a.conn.statusText;f.getResponseHeader=k;f.getAllResponseHeaders=g;f.responseText=a.conn.responseText;f.responseXML=a.conn.responseXML;if(h){f.argument=h}return f},createExceptionObject:function(h,d,a){var f=0;var g="communication failure";var b=-1;var c="transaction aborted";var e={};e.tId=h;if(a){e.status=b;e.statusText=c}else{e.status=f;e.statusText=g}if(d){e.argument=d}return e},initHeader:function(b,d,c){var a=(c)?this._default_headers:this._http_headers;a[b]=d;if(c){this._has_default_headers=true}else{this._has_http_headers=true}},setHeader:function(a){var b;if(this._has_default_headers){for(b in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,b)){a.conn.setRequestHeader(b,this._default_headers[b])}}}if(this._has_http_headers){for(b in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,b)){a.conn.setRequestHeader(b,this._http_headers[b])}}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(o,d,l){var n,e,m,b,r,a=false,h=[],q=0,g,k,f,p,c;this.resetFormState();if(typeof o=="string"){n=(document.getElementById(o)||document.forms[o])}else{if(typeof o=="object"){n=o}else{return}}if(d){this.createFrame(l?l:null);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=n;return}for(g=0,k=n.elements.length;g<k;++g){e=n.elements[g];r=e.disabled;m=e.name;if(!r&&m){m=encodeURIComponent(m)+"=";b=encodeURIComponent(e.value);switch(e.type){case"select-one":if(e.selectedIndex>-1){c=e.options[e.selectedIndex];h[q++]=m+encodeURIComponent((c.attributes.value&&c.attributes.value.specified)?c.value:c.text)}break;case"select-multiple":if(e.selectedIndex>-1){for(f=e.selectedIndex,p=e.options.length;f<p;++f){c=e.options[f];if(c.selected){h[q++]=m+encodeURIComponent((c.attributes.value&&c.attributes.value.specified)?c.value:c.text)}}}break;case"radio":case"checkbox":if(e.checked){h[q++]=m+b}break;case"file":case undefined:case"reset":case"button":break;case"submit":if(a===false){if(this._hasSubmitListener&&this._submitElementValue){h[q++]=this._submitElementValue}a=true}break;default:h[q++]=m+b}}}this._isFormSubmit=true;this._sFormData=h.join("&");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(b){var a="yuiIO"+this._transaction_id;var c;if(YAHOO.env.ua.ie){c=document.createElement('<iframe id="'+a+'" name="'+a+'" />');if(typeof b=="boolean"){c.src="javascript:false"}}else{c=document.createElement("iframe");c.id=a;c.name=a}c.style.position="absolute";c.style.top="-1000px";c.style.left="-1000px";document.body.appendChild(c)},appendPostData:function(a){var c=[],b=a.split("&"),d,e;for(d=0;d<b.length;d++){e=b[d].indexOf("=");if(e!=-1){c[d]=document.createElement("input");c[d].type="hidden";c[d].name=decodeURIComponent(b[d].substring(0,e));c[d].value=decodeURIComponent(b[d].substring(e+1));this._formNode.appendChild(c[d])}}return c},uploadFile:function(d,n,e,c){var b="yuiIO"+d.tId,j="multipart/form-data",m=document.getElementById(b),q=this,l=(n&&n.argument)?n.argument:null,p,h,a,g;var k={action:this._formNode.getAttribute("action"),method:this._formNode.getAttribute("method"),target:this._formNode.getAttribute("target")};this._formNode.setAttribute("action",e);this._formNode.setAttribute("method","POST");this._formNode.setAttribute("target",b);if(YAHOO.env.ua.ie){this._formNode.setAttribute("encoding",j)}else{this._formNode.setAttribute("enctype",j)}if(c){p=this.appendPostData(c)}this._formNode.submit();this.startEvent.fire(d,l);if(d.startEvent){d.startEvent.fire(d,l)}if(n&&n.timeout){this._timeOut[d.tId]=window.setTimeout(function(){q.abort(d,n,true)},n.timeout)}if(p&&p.length>0){for(h=0;h<p.length;h++){this._formNode.removeChild(p[h])}}for(a in k){if(YAHOO.lang.hasOwnProperty(k,a)){if(k[a]){this._formNode.setAttribute(a,k[a])}else{this._formNode.removeAttribute(a)}}}this.resetFormState();var f=function(){if(n&&n.timeout){window.clearTimeout(q._timeOut[d.tId]);delete q._timeOut[d.tId]}q.completeEvent.fire(d,l);if(d.completeEvent){d.completeEvent.fire(d,l)}g={tId:d.tId,argument:n.argument};try{g.responseText=m.contentWindow.document.body?m.contentWindow.document.body.innerHTML:m.contentWindow.document.documentElement.textContent;g.responseXML=m.contentWindow.document.XMLDocument?m.contentWindow.document.XMLDocument:m.contentWindow.document}catch(i){}if(n&&n.upload){if(!n.scope){n.upload(g)}else{n.upload.apply(n.scope,[g])}}q.uploadEvent.fire(g);if(d.uploadEvent){d.uploadEvent.fire(g)}YAHOO.util.Event.removeListener(m,"load",f);setTimeout(function(){document.body.removeChild(m);q.releaseObject(d)},100)};YAHOO.util.Event.addListener(m,"load",f)},abort:function(f,e,d){var c;var b=(e&&e.argument)?e.argument:null;if(f&&f.conn){if(this.isCallInProgress(f)){f.conn.abort();window.clearInterval(this._poll[f.tId]);delete this._poll[f.tId];if(d){window.clearTimeout(this._timeOut[f.tId]);delete this._timeOut[f.tId]}c=true}}else{if(f&&f.isUpload===true){var a="yuiIO"+f.tId;var g=document.getElementById(a);if(g){YAHOO.util.Event.removeListener(g,"load");document.body.removeChild(g);if(d){window.clearTimeout(this._timeOut[f.tId]);delete this._timeOut[f.tId]}c=true}}else{c=false}}if(c===true){this.abortEvent.fire(f,b);if(f.abortEvent){f.abortEvent.fire(f,b)}this.handleTransactionResponse(f,e,true)}return c},isCallInProgress:function(b){if(b&&b.conn){return b.conn.readyState!==4&&b.conn.readyState!==0}else{if(b&&b.isUpload===true){var a="yuiIO"+b.tId;return document.getElementById(a)?true:false}else{return false}}},releaseObject:function(a){if(a&&a.conn){a.conn=null;a=null}}};YAHOO.register("connection",YAHOO.util.Connect,{version:"2.7.0",build:"1799"});
