YAHOO.util.Connect={_msxml_progid:["MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],_http_headers:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:"application/x-www-form-urlencoded; charset=UTF-8",_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(b){var a=YAHOO.util.Event.getTarget(b);if(a.type=="submit"){YAHOO.util.Connect._submitElementValue=encodeURIComponent(a.name)+"="+encodeURIComponent(a.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){this._use_default_post_header=a},setDefaultXhrHeader:function(a){this._use_default_xhr_header=a},setPollingInterval:function(a){if(typeof a=="number"&&isFinite(a)){this._polling_interval=a}},createXhrObject:function(f){var d,a;try{a=new XMLHttpRequest();d={conn:a,tId:f}}catch(c){for(var b=0;b<this._msxml_progid.length;++b){try{a=new ActiveXObject(this._msxml_progid[b]);d={conn:a,tId:f};break}catch(c){}}}finally{return d}},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(d,b,c,a){var e=(this._isFileUpload)?this.getConnectionObject(true):this.getConnectionObject();if(!e){return null}else{if(c&&c.customevents){this.initCustomEvents(e,c)}if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(e,c,b,a);return e}if(d.toUpperCase()=="GET"){if(this._sFormData.length!==0){b+=((b.indexOf("?")==-1)?"?":"&")+this._sFormData}else{b+="?"+this._sFormData}}else{if(d.toUpperCase()=="POST"){a=a?this._sFormData+"&"+a:this._sFormData}}}e.conn.open(d,b,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(this._isFormSubmit||(a&&this._use_default_post_header)){this.initHeader("Content-Type",this._default_post_header);if(this._isFormSubmit){this.resetFormState()}}if(this._has_default_headers||this._has_http_headers){this.setHeader(e)}this.handleReadyState(e,c);e.conn.send(a||null);this.startEvent.fire(e);if(e.startEvent){e.startEvent.fire(e)}return e}},initCustomEvents:function(b,a){for(var 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(c,a){var b=this;if(a&&a.timeout){this._timeOut[c.tId]=window.setTimeout(function(){b.abort(c,a,true)},a.timeout)}this._poll[c.tId]=window.setInterval(function(){if(c.conn&&c.conn.readyState===4){window.clearInterval(b._poll[c.tId]);delete b._poll[c.tId];if(a&&a.timeout){window.clearTimeout(b._timeOut[c.tId]);delete b._timeOut[c.tId]}b.completeEvent.fire(c);if(c.completeEvent){c.completeEvent.fire(c)}b.handleTransactionResponse(c,a)}},this._polling_interval)},handleTransactionResponse:function(g,f,a){if(!f){this.releaseObject(g);return}var b,c;try{if(g.conn.status!==undefined&&g.conn.status!==0){b=g.conn.status}else{b=13030}}catch(d){b=13030}if(b>=200&&b<300||b===1223){c=this.createResponseObject(g,f.argument);if(f.success){if(!f.scope){f.success(c)}else{f.success.apply(f.scope,[c])}}this.successEvent.fire(c);if(g.successEvent){g.successEvent.fire(c)}}else{switch(b){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:c=this.createExceptionObject(g.tId,f.argument,(a?a:false));if(f.failure){if(!f.scope){f.failure(c)}else{f.failure.apply(f.scope,[c])}}break;default:c=this.createResponseObject(g,f.argument);if(f.failure){if(!f.scope){f.failure(c)}else{f.failure.apply(f.scope,[c])}}}this.failureEvent.fire(c);if(g.failureEvent){g.failureEvent.fire(c)}}this.releaseObject(g);c=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(typeof h!==undefined){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;if(a[b]===undefined){a[b]=d}else{a[b]=d+","+a[b]}if(c){this._has_default_headers=true}else{this._has_http_headers=true}},setHeader:function(a){if(this._has_default_headers){for(var 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(var 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(m,c,g){this.resetFormState();var l;if(typeof m=="string"){l=(document.getElementById(m)||document.forms[m])}else{if(typeof m=="object"){l=m}else{return}}if(c){var h=this.createFrame(g?g:null);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=l;return}var d,k,b,n;var a=false;for(var f=0;f<l.elements.length;f++){d=l.elements[f];n=l.elements[f].disabled;k=l.elements[f].name;b=l.elements[f].value;if(!n&&k){switch(d.type){case"select-one":case"select-multiple":for(var e=0;e<d.options.length;e++){if(d.options[e].selected){if(window.ActiveXObject){this._sFormData+=encodeURIComponent(k)+"="+encodeURIComponent(d.options[e].attributes.value.specified?d.options[e].value:d.options[e].text)+"&"}else{this._sFormData+=encodeURIComponent(k)+"="+encodeURIComponent(d.options[e].hasAttribute("value")?d.options[e].value:d.options[e].text)+"&"}}}break;case"radio":case"checkbox":if(d.checked){this._sFormData+=encodeURIComponent(k)+"="+encodeURIComponent(b)+"&"}break;case"file":case undefined:case"reset":case"button":break;case"submit":if(a===false){if(this._hasSubmitListener&&this._submitElementValue){this._sFormData+=this._submitElementValue+"&"}else{this._sFormData+=encodeURIComponent(k)+"="+encodeURIComponent(b)+"&"}a=true}break;default:this._sFormData+=encodeURIComponent(k)+"="+encodeURIComponent(b)+"&"}}}this._isFormSubmit=true;this._sFormData=this._sFormData.substr(0,this._sFormData.length-1);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(window.ActiveXObject){c=document.createElement('<iframe id="'+a+'" name="'+a+'" />');if(typeof b=="boolean"){c.src="javascript:false"}else{if(typeof secureURI=="string"){c.src=b}}}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=[];var b=a.split("&");for(var d=0;d<b.length;d++){var e=b[d].indexOf("=");if(e!=-1){c[d]=document.createElement("input");c[d].type="hidden";c[d].name=b[d].substring(0,e);c[d].value=b[d].substring(e+1);this._formNode.appendChild(c[d])}}return c},uploadFile:function(d,l,e,c){var b="yuiIO"+d.tId;var h="multipart/form-data";var k=document.getElementById(b);var n=this;var j={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(this._formNode.encoding){this._formNode.setAttribute("encoding",h)}else{this._formNode.setAttribute("enctype",h)}if(c){var m=this.appendPostData(c)}this._formNode.submit();this.startEvent.fire(d);if(d.startEvent){d.startEvent.fire(d)}if(l&&l.timeout){this._timeOut[d.tId]=window.setTimeout(function(){n.abort(d,l,true)},l.timeout)}if(m&&m.length>0){for(var g=0;g<m.length;g++){this._formNode.removeChild(m[g])}}for(var a in j){if(YAHOO.lang.hasOwnProperty(j,a)){if(j[a]){this._formNode.setAttribute(a,j[a])}else{this._formNode.removeAttribute(a)}}}this.resetFormState();var f=function(){if(l&&l.timeout){window.clearTimeout(n._timeOut[d.tId]);delete n._timeOut[d.tId]}n.completeEvent.fire(d);if(d.completeEvent){d.completeEvent.fire(d)}var o={};o.tId=d.tId;o.argument=l.argument;try{o.responseText=k.contentWindow.document.body?k.contentWindow.document.body.innerHTML:k.contentWindow.document.documentElement.textContent;o.responseXML=k.contentWindow.document.XMLDocument?k.contentWindow.document.XMLDocument:k.contentWindow.document}catch(i){}if(l&&l.upload){if(!l.scope){l.upload(o)}else{l.upload.apply(l.scope,[o])}}n.uploadEvent.fire(o);if(d.uploadEvent){d.uploadEvent.fire(o)}if(YAHOO.util.Event){YAHOO.util.Event.removeListener(k,"load",f)}else{if(window.detachEvent){k.detachEvent("onload",f)}else{k.removeEventListener("load",f,false)}}setTimeout(function(){document.body.removeChild(k);n.releaseObject(d)},100)};if(YAHOO.util.Event){YAHOO.util.Event.addListener(k,"load",f)}else{if(window.attachEvent){k.attachEvent("onload",f)}else{k.addEventListener("load",f,false)}}},abort:function(e,d,c){var b;if(e.conn){if(this.isCallInProgress(e)){e.conn.abort();window.clearInterval(this._poll[e.tId]);delete this._poll[e.tId];if(c){window.clearTimeout(this._timeOut[e.tId]);delete this._timeOut[e.tId]}b=true}}else{if(e.isUpload===true){var a="yuiIO"+e.tId;var f=document.getElementById(a);if(f){document.body.removeChild(f);if(c){window.clearTimeout(this._timeOut[e.tId]);delete this._timeOut[e.tId]}b=true}}else{b=false}}if(b===true){this.abortEvent.fire(e);if(e.abortEvent){e.abortEvent.fire(e)}this.handleTransactionResponse(e,d,true)}else{}return b},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.conn){a.conn=null}a=null}};YAHOO.register("connection",YAHOO.util.Connect,{version:"2.3.0",build:"442"});