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