if(dwr==null){var dwr={}
}if(dwr.engine==null){dwr.engine={}
}if(DWREngine==null){var DWREngine=dwr.engine
}dwr.engine.setErrorHandler=function(a){dwr.engine._errorHandler=a
};
dwr.engine.setWarningHandler=function(a){dwr.engine._warningHandler=a
};
dwr.engine.setTextHtmlHandler=function(a){dwr.engine._textHtmlHandler=a
};
dwr.engine.setTimeout=function(a){dwr.engine._timeout=a
};
dwr.engine.setPreHook=function(a){dwr.engine._preHook=a
};
dwr.engine.setPostHook=function(a){dwr.engine._postHook=a
};
dwr.engine.setHeaders=function(a){dwr.engine._headers=a
};
dwr.engine.setParameters=function(a){dwr.engine._parameters=a
};
dwr.engine.XMLHttpRequest=1;
dwr.engine.IFrame=2;
dwr.engine.ScriptTag=3;
dwr.engine.setRpcType=function(a){if(a!=dwr.engine.XMLHttpRequest&&a!=dwr.engine.IFrame&&a!=dwr.engine.ScriptTag){dwr.engine._handleError(null,{name:"dwr.engine.invalidRpcType",message:"RpcType must be one of dwr.engine.XMLHttpRequest or dwr.engine.IFrame or dwr.engine.ScriptTag"});
return
}dwr.engine._rpcType=a
};
dwr.engine.setHttpMethod=function(a){if(a!="GET"&&a!="POST"){dwr.engine._handleError(null,{name:"dwr.engine.invalidHttpMethod",message:"Remoting method must be one of GET or POST"});
return
}dwr.engine._httpMethod=a
};
dwr.engine.setOrdered=function(a){dwr.engine._ordered=a
};
dwr.engine.setAsync=function(a){dwr.engine._async=a
};
dwr.engine.setActiveReverseAjax=function(a){if(a){if(dwr.engine._activeReverseAjax){return
}dwr.engine._activeReverseAjax=true;
dwr.engine._poll()
}else{if(dwr.engine._activeReverseAjax&&dwr.engine._pollReq){dwr.engine._pollReq.abort()
}dwr.engine._activeReverseAjax=false
}};
dwr.engine.defaultErrorHandler=function(b,a){dwr.engine._debug("Error: "+a.name+", "+a.message,true);
if(b==null||b==""){alert("A server error has occured.")
}else{if(b.indexOf("0x80040111")!=-1){dwr.engine._debug(b)
}else{alert(b)
}}};
dwr.engine.defaultWarningHandler=function(b,a){dwr.engine._debug(b)
};
dwr.engine.beginBatch=function(){if(dwr.engine._batch){dwr.engine._handleError(null,{name:"dwr.engine.batchBegun",message:"Batch already begun"});
return
}dwr.engine._batch=dwr.engine._createBatch()
};
dwr.engine.endBatch=function(b){var a=dwr.engine._batch;
if(a==null){dwr.engine._handleError(null,{name:"dwr.engine.batchNotBegun",message:"No batch in progress"});
return
}dwr.engine._batch=null;
if(a.map.callCount==0){return
}if(b){dwr.engine._mergeBatch(a,b)
}if(dwr.engine._ordered&&dwr.engine._batchesLength!=0){dwr.engine._batchQueue[dwr.engine._batchQueue.length]=a
}else{dwr.engine._sendData(a)
}};
dwr.engine.setPollMethod=function(a){dwr.engine.setPollType(a)
};
dwr.engine.setMethod=function(a){dwr.engine.setRpcType(a)
};
dwr.engine.setVerb=function(a){dwr.engine.setHttpMethod(a)
};
dwr.engine.setPollType=function(){dwr.engine._debug("Manually setting the Poll Type is not supported")
};
dwr.engine._origScriptSessionId="31E6E63F1FE5B664ADA512C3AA9C85DE";
dwr.engine._sessionCookieName="JSESSIONID";
dwr.engine._allowGetForSafariButMakeForgeryEasier="false";
dwr.engine._scriptTagProtection="throw 'allowScriptTagRemoting is false.';";
dwr.engine._defaultPath="/dwr";
dwr.engine._pollWithXhr="false";
dwr.engine._scriptSessionId=null;
dwr.engine._getScriptSessionId=function(){if(dwr.engine._scriptSessionId==null){dwr.engine._scriptSessionId=dwr.engine._origScriptSessionId+Math.floor(Math.random()*1000)
}return dwr.engine._scriptSessionId
};
dwr.engine._errorHandler=dwr.engine.defaultErrorHandler;
dwr.engine._warningHandler=dwr.engine.defaultWarningHandler;
dwr.engine._preHook=null;
dwr.engine._postHook=null;
dwr.engine._batches={};
dwr.engine._batchesLength=0;
dwr.engine._batchQueue=[];
dwr.engine._rpcType=dwr.engine.XMLHttpRequest;
dwr.engine._httpMethod="POST";
dwr.engine._ordered=false;
dwr.engine._async=true;
dwr.engine._batch=null;
dwr.engine._timeout=0;
dwr.engine._DOMDocument=["Msxml2.DOMDocument.6.0","Msxml2.DOMDocument.5.0","Msxml2.DOMDocument.4.0","Msxml2.DOMDocument.3.0","MSXML2.DOMDocument","MSXML.DOMDocument","Microsoft.XMLDOM"];
dwr.engine._XMLHTTP=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
dwr.engine._activeReverseAjax=false;
dwr.engine._outstandingIFrames=[];
dwr.engine._pollReq=null;
dwr.engine._pollCometInterval=200;
dwr.engine._pollRetries=0;
dwr.engine._maxPollRetries=0;
dwr.engine._textHtmlHandler=null;
dwr.engine._headers=null;
dwr.engine._parameters=null;
dwr.engine._postSeperator="\n";
dwr.engine._defaultInterceptor=function(a){return a
};
dwr.engine._urlRewriteHandler=dwr.engine._defaultInterceptor;
dwr.engine._contentRewriteHandler=dwr.engine._defaultInterceptor;
dwr.engine._replyRewriteHandler=dwr.engine._defaultInterceptor;
dwr.engine._nextBatchId=0;
dwr.engine._propnames=["rpcType","httpMethod","async","timeout","errorHandler","warningHandler","textHtmlHandler"];
dwr.engine._partialResponseNo=0;
dwr.engine._partialResponseYes=1;
dwr.engine._partialResponseFlush=2;
dwr.engine._execute=function(l,b,j,h){var e=false;
if(dwr.engine._batch==null){dwr.engine.beginBatch();
e=true
}var d=dwr.engine._batch;
var g=[];
for(var c=0;
c<arguments.length-3;
c++){g[c]=arguments[c+3]
}if(d.path==null){d.path=l
}else{if(d.path!=l){dwr.engine._handleError(d,{name:"dwr.engine.multipleServlets",message:"Can't batch requests to multiple DWR Servlets."});
return
}}var a;
var k=g[g.length-1];
if(typeof k=="function"||k==null){a={callback:g.pop()}
}else{a=g.pop()
}dwr.engine._mergeBatch(d,a);
d.handlers[d.map.callCount]={exceptionHandler:a.exceptionHandler,callback:a.callback};
var f="c"+d.map.callCount+"-";
d.map[f+"scriptName"]=b;
d.map[f+"methodName"]=j;
d.map[f+"id"]=d.map.callCount;
for(c=0;
c<g.length;
c++){dwr.engine._serializeAll(d,[],g[c],f+"param"+c)
}d.map.callCount++;
if(e){dwr.engine.endBatch()
}};
dwr.engine._poll=function(b){if(!dwr.engine._activeReverseAjax){return
}var a=dwr.engine._createBatch();
a.map.id=0;
a.map.callCount=1;
a.isPoll=true;
if(dwr.engine._pollWithXhr=="true"){a.rpcType=dwr.engine.XMLHttpRequest;
a.map.partialResponse=dwr.engine._partialResponseNo
}else{if(navigator.userAgent.indexOf("Gecko/")!=-1){a.rpcType=dwr.engine.XMLHttpRequest;
a.map.partialResponse=dwr.engine._partialResponseYes
}else{if(navigator.userAgent.indexOf("Safari/")){a.rpcType=dwr.engine.XMLHttpRequest;
a.map.partialResponse=dwr.engine._partialResponseYes
}else{a.rpcType=dwr.engine.XMLHttpRequest;
a.map.partialResponse=dwr.engine._partialResponseNo
}}}a.httpMethod="POST";
a.async=true;
a.timeout=0;
a.path=(b)?b:dwr.engine._defaultPath;
a.preHooks=[];
a.postHooks=[];
a.errorHandler=dwr.engine._pollErrorHandler;
a.warningHandler=dwr.engine._pollErrorHandler;
a.handlers[0]={callback:function(c){dwr.engine._pollRetries=0;
setTimeout("dwr.engine._poll()",c)
}};
dwr.engine._sendData(a);
if(a.rpcType==dwr.engine.XMLHttpRequest&&a.map.partialResponse==dwr.engine._partialResponseYes){dwr.engine._checkCometPoll()
}};
dwr.engine._pollErrorHandler=function(b,a){dwr.engine._pollRetries++;
dwr.engine._debug("Reverse Ajax poll failed (pollRetries="+dwr.engine._pollRetries+"): "+a.name+" : "+a.message);
if(dwr.engine._pollRetries<dwr.engine._maxPollRetries){setTimeout("dwr.engine._poll()",10000)
}else{dwr.engine._activeReverseAjax=false;
dwr.engine._debug("Giving up.")
}};
dwr.engine._createBatch=function(){var a={map:{callCount:0,page:window.location.pathname+window.location.search,httpSessionId:dwr.engine._getJSessionId(),scriptSessionId:dwr.engine._getScriptSessionId()},charsProcessed:0,paramCount:0,parameters:{},headers:{},isPoll:false,handlers:{},preHooks:[],postHooks:[],rpcType:dwr.engine._rpcType,httpMethod:dwr.engine._httpMethod,async:dwr.engine._async,timeout:dwr.engine._timeout,errorHandler:dwr.engine._errorHandler,warningHandler:dwr.engine._warningHandler,textHtmlHandler:dwr.engine._textHtmlHandler};
if(dwr.engine._preHook){a.preHooks.push(dwr.engine._preHook)
}if(dwr.engine._postHook){a.postHooks.push(dwr.engine._postHook)
}var c,b;
if(dwr.engine._headers){for(c in dwr.engine._headers){b=dwr.engine._headers[c];
if(typeof b!="function"){a.headers[c]=b
}}}if(dwr.engine._parameters){for(c in dwr.engine._parameters){b=dwr.engine._parameters[c];
if(typeof b!="function"){a.parameters[c]=b
}}}return a
};
dwr.engine._mergeBatch=function(a,d){var e,c;
for(var b=0;
b<dwr.engine._propnames.length;
b++){e=dwr.engine._propnames[b];
if(d[e]!=null){a[e]=d[e]
}}if(d.preHook!=null){a.preHooks.unshift(d.preHook)
}if(d.postHook!=null){a.postHooks.push(d.postHook)
}if(d.headers){for(e in d.headers){c=d.headers[e];
if(typeof c!="function"){a.headers[e]=c
}}}if(d.parameters){for(e in d.parameters){c=d.parameters[e];
if(typeof c!="function"){a.map["p-"+e]=""+c
}}}};
dwr.engine._getJSessionId=function(){var c=document.cookie.split(";");
for(var b=0;
b<c.length;
b++){var a=c[b];
while(a.charAt(0)==" "){a=a.substring(1,a.length)
}if(a.indexOf(dwr.engine._sessionCookieName+"=")==0){return a.substring(dwr.engine._sessionCookieName.length+1,a.length)
}}return""
};
dwr.engine._checkCometPoll=function(){for(var b=0;
b<dwr.engine._outstandingIFrames.length;
b++){var e="";
var c=dwr.engine._outstandingIFrames[b];
try{e=dwr.engine._getTextFromCometIFrame(c)
}catch(a){dwr.engine._handleWarning(c.batch,a)
}if(e!=""){dwr.engine._processCometResponse(e,c.batch)
}}if(dwr.engine._pollReq){var d=dwr.engine._pollReq;
var e=d.responseText;
if(e!=null){dwr.engine._processCometResponse(e,d.batch)
}}if(dwr.engine._outstandingIFrames.length>0||dwr.engine._pollReq){setTimeout("dwr.engine._checkCometPoll()",dwr.engine._pollCometInterval)
}};
dwr.engine._getTextFromCometIFrame=function(b){var a=b.contentWindow.document.body;
if(a==null){return""
}var c=a.innerHTML;
if(c.indexOf("<PRE>")==0||c.indexOf("<pre>")==0){c=c.substring(5,c.length-7)
}return c
};
dwr.engine._processCometResponse=function(d,e){if(e.charsProcessed==d.length){return
}if(d.length==0){e.charsProcessed=0;
return
}var b=d.indexOf("//#DWR-START#",e.charsProcessed);
if(b==-1){e.charsProcessed=d.length;
return
}var a=d.lastIndexOf("//#DWR-END#");
if(a==-1){return
}if(d.charCodeAt(a+11)==13&&d.charCodeAt(a+12)==10){e.charsProcessed=a+13
}else{e.charsProcessed=a+11
}var c=d.substring(b+13,a);
dwr.engine._receivedBatch=e;
dwr.engine._eval(c);
dwr.engine._receivedBatch=null
};
dwr.engine._sendData=function(e){e.map.batchId=dwr.engine._nextBatchId;
dwr.engine._nextBatchId++;
dwr.engine._batches[e.map.batchId]=e;
dwr.engine._batchesLength++;
e.completed=false;
for(var d=0;
d<e.preHooks.length;
d++){e.preHooks[d]()
}e.preHooks=null;
if(e.timeout&&e.timeout!=0){e.interval=setInterval(function(){dwr.engine._abortRequest(e)
},e.timeout)
}if(e.rpcType==dwr.engine.XMLHttpRequest){if(window.XMLHttpRequest){e.req=new XMLHttpRequest()
}else{if(window.ActiveXObject&&!(navigator.userAgent.indexOf("Mac")>=0&&navigator.userAgent.indexOf("MSIE")>=0)){e.req=dwr.engine._newActiveXObject(dwr.engine._XMLHTTP)
}}}var a,c;
if(e.req){if(e.async){e.req.onreadystatechange=function(){if(typeof dwr!="undefined"){dwr.engine._stateChange(e)
}}
}if(e.isPoll){dwr.engine._pollReq=e.req;
if(!document.all){e.req.batch=e
}}var b=navigator.userAgent.indexOf("Safari/");
if(b>=0){var g=navigator.userAgent.substring(b+7);
if(parseInt(g,10)<400){if(dwr.engine._allowGetForSafariButMakeForgeryEasier=="true"){e.httpMethod="GET"
}else{dwr.engine._handleWarning(e,{name:"dwr.engine.oldSafari",message:"Safari GET support disabled. See getahead.org/dwr/server/servlet and allowGetForSafariButMakeForgeryEasier."})
}}}e.mode=e.isPoll?dwr.engine._ModePlainPoll:dwr.engine._ModePlainCall;
c=dwr.engine._constructRequest(e);
try{e.req.open(e.httpMethod,c.url,e.async);
try{for(a in e.headers){var j=e.headers[a];
if(typeof j=="string"){e.req.setRequestHeader(a,j)
}}if(!e.headers["Content-Type"]){e.req.setRequestHeader("Content-Type","text/plain")
}}catch(h){dwr.engine._handleWarning(e,h)
}e.req.send(c.body);
if(!e.async){dwr.engine._stateChange(e)
}}catch(h){dwr.engine._handleError(e,h)
}}else{if(e.rpcType!=dwr.engine.ScriptTag){var f=e.isPoll?"dwr-if-poll-"+e.map.batchId:"dwr-if-"+e.map["c0-id"];
if(e.isPoll&&window.ActiveXObject){e.htmlfile=new window.ActiveXObject("htmlfile");
e.htmlfile.open();
e.htmlfile.write("<html>");
e.htmlfile.write("<div><iframe className='wibble' src='javascript:void(0)' id='"+f+"' name='"+f+"' onload='dwr.engine._iframeLoadingComplete("+e.map.batchId+");'></iframe></div>");
e.htmlfile.write("</html>");
e.htmlfile.close();
e.htmlfile.parentWindow.dwr=dwr;
e.document=e.htmlfile
}else{e.div=document.createElement("div");
document.body.appendChild(e.div);
e.div.innerHTML="<iframe src='javascript:void(0)' frameborder='0' style='width:0px;height:0px;border:0;' id='"+f+"' name='"+f+"' onload='dwr.engine._iframeLoadingComplete ("+e.map.batchId+");'></iframe>";
e.document=document
}e.iframe=e.document.getElementById(f);
e.iframe.batch=e;
e.mode=e.isPoll?dwr.engine._ModeHtmlPoll:dwr.engine._ModeHtmlCall;
if(e.isPoll){dwr.engine._outstandingIFrames.push(e.iframe)
}c=dwr.engine._constructRequest(e);
if(e.httpMethod=="GET"){e.iframe.setAttribute("src",c.url)
}else{e.form=e.document.createElement("form");
e.form.setAttribute("id","dwr-form");
e.form.setAttribute("action",c.url);
e.form.setAttribute("target",f);
e.form.target=f;
e.form.setAttribute("method",e.httpMethod);
for(a in e.map){var j=e.map[a];
if(typeof j!="function"){var k=e.document.createElement("input");
k.setAttribute("type","hidden");
k.setAttribute("name",a);
k.setAttribute("value",j);
e.form.appendChild(k)
}}e.document.body.appendChild(e.form);
e.form.submit()
}}else{e.httpMethod="GET";
e.mode=e.isPoll?dwr.engine._ModePlainPoll:dwr.engine._ModePlainCall;
c=dwr.engine._constructRequest(e);
e.script=document.createElement("script");
e.script.id="dwr-st-"+e.map["c0-id"];
e.script.src=c.url;
document.body.appendChild(e.script)
}}};
dwr.engine._ModePlainCall="/call/plaincall/";
dwr.engine._ModeHtmlCall="/call/htmlcall/";
dwr.engine._ModePlainPoll="/call/plainpoll/";
dwr.engine._ModeHtmlPoll="/call/htmlpoll/";
dwr.engine._constructRequest=function(a){var b={url:a.path+a.mode,body:null};
if(a.isPoll==true){b.url+="ReverseAjax.dwr"
}else{if(a.map.callCount==1){b.url+=a.map["c0-scriptName"]+"."+a.map["c0-methodName"]+".dwr"
}else{b.url+="Multiple."+a.map.callCount+".dwr"
}}var d=location.href.match(/jsessionid=([^?]+)/);
if(d!=null){b.url+=";jsessionid="+d[1]
}var c;
if(a.httpMethod=="GET"){a.map.callCount=""+a.map.callCount;
b.url+="?";
for(c in a.map){if(typeof a.map[c]!="function"){b.url+=encodeURIComponent(c)+"="+encodeURIComponent(a.map[c])+"&"
}}b.url=b.url.substring(0,b.url.length-1)
}else{b.body="";
for(c in a.map){if(typeof a.map[c]!="function"){b.body+=c+"="+a.map[c]+dwr.engine._postSeperator
}}b.body=dwr.engine._contentRewriteHandler(b.body)
}b.url=dwr.engine._urlRewriteHandler(b.url);
return b
};
dwr.engine._stateChange=function(c){var b;
if(c.completed){dwr.engine._debug("Error: _stateChange() with batch.completed");
return
}var f=c.req;
try{if(f.readyState!=4){return
}}catch(d){dwr.engine._handleWarning(c,d);
dwr.engine._clearUp(c);
return
}try{var e=f.responseText;
e=dwr.engine._replyRewriteHandler(e);
var a=f.status;
if(e==null||e==""){dwr.engine._handleWarning(c,{name:"dwr.engine.missingData",message:"No data received from server"})
}else{if(a!=200){dwr.engine._handleError(c,{name:"dwr.engine.http."+a,message:f.statusText})
}else{var g=f.getResponseHeader("Content-Type");
if(!g.match(/^text\/plain/)&&!g.match(/^text\/javascript/)){if(g.match(/^text\/html/)&&typeof c.textHtmlHandler=="function"){c.textHtmlHandler()
}else{dwr.engine._handleWarning(c,{name:"dwr.engine.invalidMimeType",message:"Invalid content type: '"+g+"'"})
}}else{if(c.isPoll&&c.map.partialResponse==dwr.engine._partialResponseYes){dwr.engine._processCometResponse(e,c)
}else{if(e.search("//#DWR")==-1){dwr.engine._handleWarning(c,{name:"dwr.engine.invalidReply",message:"Invalid reply from server"})
}else{b=e
}}}}}}catch(d){dwr.engine._handleWarning(c,d)
}dwr.engine._callPostHooks(c);
dwr.engine._receivedBatch=c;
if(b!=null){b=b.replace(dwr.engine._scriptTagProtection,"")
}dwr.engine._eval(b);
dwr.engine._receivedBatch=null;
dwr.engine._validateBatch(c);
dwr.engine._clearUp(c)
};
dwr.engine._validateBatch=function(a){if(!a.completed){for(var b=0;
b<a.map.callCount;
b++){if(a.handlers[b]!=null){dwr.engine._handleWarning(a,{name:"dwr.engine.incompleteReply",message:"Incomplete reply from server"});
break
}}}};
dwr.engine._iframeLoadingComplete=function(a){var b=dwr.engine._batches[a];
if(b){dwr.engine._validateBatch(b)
}};
dwr.engine._remoteHandleCallback=function(a,f,e){var c=dwr.engine._batches[a];
if(c==null){dwr.engine._debug("Warning: batch == null in remoteHandleCallback for batchId="+a,true);
return
}try{var b=c.handlers[f];
c.handlers[f]=null;
if(!b){dwr.engine._debug("Warning: Missing handlers. callId="+f,true)
}else{if(typeof b.callback=="function"){b.callback(e)
}}}catch(d){dwr.engine._handleError(c,d)
}};
dwr.engine._remoteHandleException=function(a,e,d){var c=dwr.engine._batches[a];
if(c==null){dwr.engine._debug("Warning: null batch in remoteHandleException",true);
return
}var b=c.handlers[e];
c.handlers[e]=null;
if(b==null){dwr.engine._debug("Warning: null handlers in remoteHandleException",true);
return
}if(d.message==undefined){d.message=""
}if(typeof b.exceptionHandler=="function"){b.exceptionHandler(d.message,d)
}else{if(typeof c.errorHandler=="function"){c.errorHandler(d.message,d)
}}};
dwr.engine._remoteHandleBatchException=function(c,a){var b=(dwr.engine._receivedBatch==null&&a!=null);
if(b){dwr.engine._receivedBatch=dwr.engine._batches[a]
}if(c.message==undefined){c.message=""
}dwr.engine._handleError(dwr.engine._receivedBatch,c);
if(b){dwr.engine._receivedBatch=null;
dwr.engine._clearUp(dwr.engine._batches[a])
}};
dwr.engine._remotePollCometDisabled=function(c,a){dwr.engine.setActiveReverseAjax(false);
var b=(dwr.engine._receivedBatch==null&&a!=null);
if(b){dwr.engine._receivedBatch=dwr.engine._batches[a]
}if(c.message==undefined){c.message=""
}dwr.engine._handleError(dwr.engine._receivedBatch,c);
if(b){dwr.engine._receivedBatch=null;
dwr.engine._clearUp(dwr.engine._batches[a])
}};
dwr.engine._remoteBeginIFrameResponse=function(b,a){if(b!=null){dwr.engine._receivedBatch=b.batch
}dwr.engine._callPostHooks(dwr.engine._receivedBatch)
};
dwr.engine._remoteEndIFrameResponse=function(a){dwr.engine._clearUp(dwr.engine._receivedBatch);
dwr.engine._receivedBatch=null
};
dwr.engine._eval=function(script){if(script==null){return null
}if(script==""){dwr.engine._debug("Warning: blank script",true);
return null
}return eval(script)
};
dwr.engine._abortRequest=function(a){if(a&&!a.completed){clearInterval(a.interval);
dwr.engine._clearUp(a);
if(a.req){a.req.abort()
}dwr.engine._handleError(a,{name:"dwr.engine.timeout",message:"Timeout"})
}};
dwr.engine._callPostHooks=function(a){if(a.postHooks){for(var b=0;
b<a.postHooks.length;
b++){a.postHooks[b]()
}a.postHooks=null
}};
dwr.engine._clearUp=function(b){if(!b){dwr.engine._debug("Warning: null batch in dwr.engine._clearUp()",true);
return
}if(b.completed=="true"){dwr.engine._debug("Warning: Double complete",true);
return
}if(b.div){b.div.parentNode.removeChild(b.div)
}if(b.iframe){for(var c=0;
c<dwr.engine._outstandingIFrames.length;
c++){if(dwr.engine._outstandingIFrames[c]==b.iframe){dwr.engine._outstandingIFrames.splice(c,1)
}}b.iframe.parentNode.removeChild(b.iframe)
}if(b.form){b.form.parentNode.removeChild(b.form)
}if(b.req){if(b.req==dwr.engine._pollReq){dwr.engine._pollReq=null
}delete b.req
}if(b.map&&b.map.batchId){delete dwr.engine._batches[b.map.batchId];
dwr.engine._batchesLength--
}b.completed=true;
if(dwr.engine._batchQueue.length!=0){var a=dwr.engine._batchQueue.shift();
dwr.engine._sendData(a)
}};
dwr.engine._handleError=function(a,b){if(typeof b=="string"){b={name:"unknown",message:b}
}if(b.message==null){b.message=""
}if(b.name==null){b.name="unknown"
}if(a&&typeof a.errorHandler=="function"){a.errorHandler(b.message,b)
}else{if(dwr.engine._errorHandler){dwr.engine._errorHandler(b.message,b)
}}if(a){dwr.engine._clearUp(a)
}};
dwr.engine._handleWarning=function(a,b){if(typeof b=="string"){b={name:"unknown",message:b}
}if(b.message==null){b.message=""
}if(b.name==null){b.name="unknown"
}if(a&&typeof a.warningHandler=="function"){a.warningHandler(b.message,b)
}else{if(dwr.engine._warningHandler){dwr.engine._warningHandler(b.message,b)
}}if(a){dwr.engine._clearUp(a)
}};
dwr.engine._serializeAll=function(b,d,c,a){if(c==null){b.map[a]="null:null";
return
}switch(typeof c){case"boolean":b.map[a]="boolean:"+c;
break;
case"number":b.map[a]="number:"+c;
break;
case"string":b.map[a]="string:"+encodeURIComponent(c);
break;
case"object":if(c instanceof String){b.map[a]="String:"+encodeURIComponent(c)
}else{if(c instanceof Boolean){b.map[a]="Boolean:"+c
}else{if(c instanceof Number){b.map[a]="Number:"+c
}else{if(c instanceof Date){b.map[a]="Date:"+c.getTime()
}else{if(c&&c.join){b.map[a]=dwr.engine._serializeArray(b,d,c,a)
}else{b.map[a]=dwr.engine._serializeObject(b,d,c,a)
}}}}}break;
case"function":break;
default:dwr.engine._handleWarning(null,{name:"dwr.engine.unexpectedType",message:"Unexpected type: "+typeof c+", attempting default converter."});
b.map[a]="default:"+c;
break
}};
dwr.engine._lookup=function(e,c,a){var d;
for(var b=0;
b<e.length;
b++){if(e[b].data==c){d=e[b];
break
}}if(d){return"reference:"+d.name
}e.push({data:c,name:a});
return null
};
dwr.engine._serializeObject=function(c,h,g,b){var f=dwr.engine._lookup(h,g,b);
if(f){return f
}if(g.nodeName&&g.nodeType){return dwr.engine._serializeXml(c,h,g,b)
}var e="Object_"+dwr.engine._getObjectClassName(g)+":{";
var d;
for(d in g){if(typeof g[d]!="function"){c.paramCount++;
var a="c"+dwr.engine._batch.map.callCount+"-e"+c.paramCount;
dwr.engine._serializeAll(c,h,g[d],a);
e+=encodeURIComponent(d)+":reference:"+a+", "
}}if(e.substring(e.length-2)==", "){e=e.substring(0,e.length-2)
}e+="}";
return e
};
dwr.engine._errorClasses={Error:Error,EvalError:EvalError,RangeError:RangeError,ReferenceError:ReferenceError,SyntaxError:SyntaxError,TypeError:TypeError,URIError:URIError};
dwr.engine._getObjectClassName=function(c){if(c&&c.constructor&&c.constructor.toString){var d=c.constructor.toString();
var a=d.match(/function\s+(\w+)/);
if(a&&a.length==2){return a[1]
}}if(c&&c.constructor){for(var b in dwr.engine._errorClasses){if(c.constructor==dwr.engine._errorClasses[b]){return b
}}}if(c){var d=Object.prototype.toString.call(c);
var a=d.match(/\[object\s+(\w+)/);
if(a&&a.length==2){return a[1]
}}return"Object"
};
dwr.engine._serializeXml=function(c,f,e,b){var d=dwr.engine._lookup(f,e,b);
if(d){return d
}var a;
if(window.XMLSerializer){a=new XMLSerializer().serializeToString(e)
}else{if(e.toXml){a=e.toXml
}else{a=e.innerHTML
}}return"XML:"+encodeURIComponent(a)
};
dwr.engine._serializeArray=function(c,h,g,b){var f=dwr.engine._lookup(h,g,b);
if(f){return f
}var e="Array:[";
for(var d=0;
d<g.length;
d++){if(d!=0){e+=","
}c.paramCount++;
var a="c"+dwr.engine._batch.map.callCount+"-e"+c.paramCount;
dwr.engine._serializeAll(c,h,g[d],a);
e+="reference:";
e+=a
}e+="]";
return e
};
dwr.engine._unserializeDocument=function(a){var c;
if(window.DOMParser){var e=new DOMParser();
c=e.parseFromString(a,"text/xml");
if(!c.documentElement||c.documentElement.tagName=="parsererror"){var b=c.documentElement.firstChild.data;
b+="\n"+c.documentElement.firstChild.nextSibling.firstChild.data;
throw b
}return c
}else{if(window.ActiveXObject){c=dwr.engine._newActiveXObject(dwr.engine._DOMDocument);
c.loadXML(a);
return c
}else{var d=document.createElement("div");
d.innerHTML=a;
return d
}}};
dwr.engine._newActiveXObject=function(a){var d;
for(var c=0;
c<a.length;
c++){try{d=new ActiveXObject(a[c]);
break
}catch(b){}}return d
};
dwr.engine._debug=function(f,d){var a=false;
try{if(window.console){if(d&&window.console.trace){window.console.trace()
}window.console.log(f);
a=true
}else{if(window.opera&&window.opera.postError){window.opera.postError(f);
a=true
}}}catch(c){}if(!a){var b=document.getElementById("dwr-debug");
if(b){var e=f+"<br/>"+b.innerHTML;
if(e.length>2048){e=e.substring(0,2048)
}b.innerHTML=e
}}};
