/*
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.2.2
*/

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(e) {var obj=YAHOO.util.Event.getTarget(e);if(obj.type=='submit'){YAHOO.util.Connect._submitElementValue=encodeURIComponent(obj.name)+"="+encodeURIComponent( _proxy_jslib_handle(obj, 'value', '', 0, 0));}})
return true;}
return false;})(),setProgId:function(id) {this._msxml_progid.unshift(id);},setDefaultPostHeader:function(b) {this._use_default_post_header=b;},setDefaultXhrHeader:function(b) {this._use_default_xhr_header=b;},setPollingInterval:function(i) {if(typeof i=='number'&&isFinite(i)){this._polling_interval=i;}},createXhrObject:function(transactionId) {var obj,http;try
{http=new (XMLHttpRequest)();obj={conn:http,tId:transactionId};}
catch(e)
{for(var i=0;i<this._msxml_progid.length;(i= _proxy_jslib_assign_rval('++', 'i', '', '', i))){try
{http=new (ActiveXObject)( _proxy_jslib_handle(this._msxml_progid, (i), 0, 0));obj={conn:http,tId:transactionId};break;}
catch(e){}}}
finally
{return obj;}},getConnectionObject:function() {var o;var tId=this._transaction_id;try
{o=this.createXhrObject(tId);if(o){this._transaction_id++;}}
catch(e){}
finally
{return o;}},asyncRequest:function(method,uri,callback,postData) {var o=this.getConnectionObject();if(!o){return null;}
else{if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(o.tId,callback,uri,postData);this.releaseObject(o);return;}
if(method.toUpperCase()=='GET'){if(this._sFormData.length!=0){uri+=((uri.indexOf('?')==-1)?'?':'&')+this._sFormData;}
else{uri+="?"+this._sFormData;}}
else if(method.toUpperCase()=='POST'){postData=postData?this._sFormData+"&"+postData:this._sFormData;}}
 _proxy_jslib_handle(o.conn, 'open', '', 1, 0)(method,uri,true);if(this._use_default_xhr_header){if(! _proxy_jslib_handle(this._default_headers, ('X-Requested-With'), 0, 0)){this.initHeader('X-Requested-With',this._default_xhr_header,true);}}
if(this._isFormSubmit||(postData&&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(o);}
this.handleReadyState(o,callback);o.conn.send(postData||null);return o;}},handleReadyState:function(o,callback) {var oConn=this;if(callback&&callback.timeout){ _proxy_jslib_assign('', this._timeOut, (o.tId), '=', ( _proxy_jslib_handle(window, 'setTimeout', '', 1, 0)(function() {oConn.abort(o,callback,true);},callback.timeout)));}
 _proxy_jslib_assign('', this._poll, (o.tId), '=', ( _proxy_jslib_handle(window, 'setInterval', '', 1, 0)(function() {if(o.conn&&o.conn.readyState===4){window.clearInterval( _proxy_jslib_handle(oConn._poll, (o.tId), 0, 0)); _proxy_jslib_assign('delete', (oConn._poll), (o.tId), '');if(callback&&callback.timeout){ _proxy_jslib_assign('delete', (oConn._timeOut), (o.tId), '');}
oConn.handleTransactionResponse(o,callback);}},this._polling_interval)));},handleTransactionResponse:function(o,callback,isAbort) {if(!callback){this.releaseObject(o);return;}
var httpStatus,responseObject;try
{if(o.conn.status!==undefined&&o.conn.status!==0){httpStatus=o.conn.status;}
else{httpStatus=13030;}}
catch(e){httpStatus=13030;}
if(httpStatus>=200&&httpStatus<300||httpStatus===1223){responseObject=this.createResponseObject(o,callback.argument);if(callback.success){if(!callback.scope){callback.success(responseObject);}
else{callback.success.apply(callback.scope,[responseObject]);}}}
else{switch(httpStatus){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:responseObject=this.createExceptionObject(o.tId,callback.argument,(isAbort?isAbort:false));if(callback.failure){if(!callback.scope){callback.failure(responseObject);}
else{callback.failure.apply(callback.scope,[responseObject]);}}
break;default:responseObject=this.createResponseObject(o,callback.argument);if(callback.failure){if(!callback.scope){callback.failure(responseObject);}
else{callback.failure.apply(callback.scope,[responseObject]);}}}}
this.releaseObject(o);responseObject=null;},createResponseObject:function(o,callbackArg) {var obj={};var headerObj={};try
{var headerStr=o.conn.getAllResponseHeaders();var header=headerStr.split('\n');for(var i=0;i<header.length;i++){var delimitPos= _proxy_jslib_handle(header, (i), 0, 0).indexOf(':');if(delimitPos!=-1){ _proxy_jslib_assign('', headerObj, ( _proxy_jslib_handle(header, (i), 0, 0).substring(0,delimitPos)), '=', ( _proxy_jslib_handle(header, (i), 0, 0).substring(delimitPos+2)));}}}
catch(e){}
obj.tId=o.tId;obj.status=(o.conn.status==1223)?204:o.conn.status;obj.statusText=(o.conn.status==1223)?"No Content":o.conn.statusText;obj.getResponseHeader=headerObj;obj.getAllResponseHeaders=headerStr;obj.responseText=o.conn.responseText;obj.responseXML=o.conn.responseXML;if(typeof callbackArg!==undefined){obj.argument=callbackArg;}
return obj;},createExceptionObject:function(tId,callbackArg,isAbort) {var COMM_CODE=0;var COMM_ERROR='communication failure';var ABORT_CODE=-1;var ABORT_ERROR='transaction aborted';var obj={};obj.tId=tId;if(isAbort){obj.status=ABORT_CODE;obj.statusText=ABORT_ERROR;}
else{obj.status=COMM_CODE;obj.statusText=COMM_ERROR;}
if(callbackArg){obj.argument=callbackArg;}
return obj;},initHeader:function(label,value,isDefault) {var headerObj=(isDefault)?this._default_headers:this._http_headers;if( _proxy_jslib_handle(headerObj, (label), 0, 0)===undefined){ _proxy_jslib_assign('', headerObj, (label), '=', ( _proxy_jslib_handle(null, 'value', value, 0, 0)));}
else{ _proxy_jslib_assign('', headerObj, (label), '=', ( _proxy_jslib_handle(null, 'value', value, 0, 0)+","+ _proxy_jslib_handle(headerObj, (label), 0, 0)));}
if(isDefault){this._has_default_headers=true;}
else{this._has_http_headers=true;}},setHeader:function(o) {if(this._has_default_headers){for(var prop in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,prop)){o.conn.setRequestHeader(prop, _proxy_jslib_handle(this._default_headers, (prop), 0, 0));}}}
if(this._has_http_headers){for(var prop in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,prop)){o.conn.setRequestHeader(prop, _proxy_jslib_handle(this._http_headers, (prop), 0, 0));}}
 _proxy_jslib_assign('delete', (this), ('_http_headers'), '');this._http_headers={};this._has_http_headers=false;}},resetDefaultHeaders:function() { _proxy_jslib_assign('delete', (this), ('_default_headers'), '')
this._default_headers={};this._has_default_headers=false;},setForm:function(formId,isUpload,secureUri) {this.resetFormState();var oForm;if(typeof formId=='string'){oForm=( _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(formId)||document.forms[(formId)]);}
else if(typeof formId=='object'){oForm=formId;}
else{return;}
if(isUpload){this.createFrame(secureUri?secureUri:null);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=oForm;return;}
var oElement,oName,oValue,oDisabled;var hasSubmit=false;for(var i=0;i<oForm.elements.length;i++){oElement= _proxy_jslib_handle(oForm.elements, (i), 0, 0);oDisabled= _proxy_jslib_handle(oForm.elements, (i), 0, 0).disabled;oName= _proxy_jslib_handle(oForm.elements, (i), 0, 0).name;oValue= _proxy_jslib_handle( _proxy_jslib_handle(oForm.elements, (i), 0, 0), 'value', '', 0, 0);if(!oDisabled&&oName)
{switch(oElement.type)
{case'select-one':case'select-multiple':for(var j=0;j<oElement.options.length;j++){if( _proxy_jslib_handle(oElement.options, (j), 0, 0).selected){if(window.ActiveXObject){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent( _proxy_jslib_handle( _proxy_jslib_handle(oElement.options, (j), 0, 0).attributes, ('value'), 0, 0).specified? _proxy_jslib_handle( _proxy_jslib_handle(oElement.options, (j), 0, 0), 'value', '', 0, 0): _proxy_jslib_handle(oElement.options, (j), 0, 0).text)+'&';}
else{this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent( _proxy_jslib_handle(oElement.options, (j), 0, 0).hasAttribute('value')? _proxy_jslib_handle( _proxy_jslib_handle(oElement.options, (j), 0, 0), 'value', '', 0, 0): _proxy_jslib_handle(oElement.options, (j), 0, 0).text)+'&';}}}
break;case'radio':case'checkbox':if(oElement.checked){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';}
break;case'file':case undefined:case'reset':case'button':break;case'submit':if(hasSubmit===false){if(this._hasSubmitListener){this._sFormData+=this._submitElementValue+'&';}
else{this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';}
hasSubmit=true;}
break;default:this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';break;}}}
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(secureUri) {var frameId='yuiIO'+this._transaction_id;if(window.ActiveXObject){var io=document.createElement('<iframe id="'+frameId+'" name="'+frameId+'" />');if(typeof secureUri=='boolean'){ _proxy_jslib_assign('', io, 'src', '=', ('javascript:false'));}
else if(typeof secureURI=='string'){ _proxy_jslib_assign('', io, 'src', '=', (secureUri));}}
else{var io=document.createElement('iframe');io.id=frameId;io.name=frameId;}
io.style.position='absolute'; _proxy_jslib_assign('', io.style, 'top', '=', ('-1000px'));io.style.left='-1000px'; _proxy_jslib_handle(document, 'body', '', 0, 0).appendChild(io);},appendPostData:function(postData) {var formElements=[];var postMessage=postData.split('&');for(var i=0;i<postMessage.length;i++){var delimitPos= _proxy_jslib_handle(postMessage, (i), 0, 0).indexOf('=');if(delimitPos!=-1){ _proxy_jslib_assign('', formElements, (i), '=', (document.createElement('input'))); _proxy_jslib_handle(formElements, (i), 0, 0).type='hidden'; _proxy_jslib_handle(formElements, (i), 0, 0).name= _proxy_jslib_handle(postMessage, (i), 0, 0).substring(0,delimitPos); _proxy_jslib_assign('',  _proxy_jslib_handle(formElements, (i), 0, 0), 'value', '=', ( _proxy_jslib_handle(postMessage, (i), 0, 0).substring(delimitPos+1)));this._formNode.appendChild( _proxy_jslib_handle(formElements, (i), 0, 0));}}
return formElements;},uploadFile:function(id,callback,uri,postData) {var frameId='yuiIO'+id;var uploadEncoding='multipart/form-data';var io= _proxy_jslib_handle(document, 'getElementById', '', 1, 0)(frameId); _proxy_jslib_handle(this._formNode, 'setAttribute', '', 1, 0)('action',uri); _proxy_jslib_handle(this._formNode, 'setAttribute', '', 1, 0)('method','POST'); _proxy_jslib_handle(this._formNode, 'setAttribute', '', 1, 0)("target",frameId);if(this._formNode.encoding){this._formNode.encoding=uploadEncoding;}
else{this._formNode.enctype=uploadEncoding;}
if(postData){var oElements=this.appendPostData(postData);}
this._formNode.submit();if(oElements&&oElements.length>0){for(var i=0;i<oElements.length;i++){this._formNode.removeChild( _proxy_jslib_handle(oElements, (i), 0, 0));}}
this.resetFormState();var uploadCallback=function() {var obj={};obj.tId=id;obj.argument=callback.argument;try
{obj.responseText= _proxy_jslib_handle(io.contentWindow.document, 'body', '', 0, 0)? _proxy_jslib_handle( _proxy_jslib_handle(io.contentWindow.document, 'body', '', 0, 0), 'innerHTML', '', 0, 0):null;obj.responseXML=io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;}
catch(e){}
if(callback&&callback.upload){if(!callback.scope){callback.upload(obj);}
else{callback.upload.apply(callback.scope,[obj]);}}
if(YAHOO.util.Event){YAHOO.util.Event.removeListener(io,"load",uploadCallback);}
else if(window.detachEvent){io.detachEvent('onload',uploadCallback);}
else{io.removeEventListener('load',uploadCallback,false);}
 _proxy_jslib_handle(null, 'setTimeout', setTimeout, 1, 0)(function() { _proxy_jslib_handle(document, 'body', '', 0, 0).removeChild(io);},100);};if(YAHOO.util.Event){YAHOO.util.Event.addListener(io,"load",uploadCallback);}
else if(window.attachEvent){io.attachEvent('onload',uploadCallback);}
else{io.addEventListener('load',uploadCallback,false);}},abort:function(o,callback,isTimeout) {if(this.isCallInProgress(o)){o.conn.abort();window.clearInterval( _proxy_jslib_handle(this._poll, (o.tId), 0, 0)); _proxy_jslib_assign('delete', (this._poll), (o.tId), '');if(isTimeout){ _proxy_jslib_assign('delete', (this._timeOut), (o.tId), '');}
this.handleTransactionResponse(o,callback,true);return true;}
else{return false;}},isCallInProgress:function(o) {if(o.conn){return o.conn.readyState!==4&&o.conn.readyState!==0;}
else{return false;}},releaseObject:function(o) {o.conn=null;o=null;}};YAHOO.register("connection",YAHOO.util.Connect,{version:"2.2.2",build:"204"}); ;
_proxy_jslib_flush_write_buffers() ;