if(dwr==null){
var dwr={};
}
if(dwr.engine==null){
dwr.engine={};
}
if(DWREngine==null){
var DWREngine=dwr.engine;
}
dwr.engine.setErrorHandler=function(_1){
dwr.engine._errorHandler=_1;
};
dwr.engine.setWarningHandler=function(_2){
dwr.engine._warningHandler=_2;
};
dwr.engine.setTextHtmlHandler=function(_3){
dwr.engine._textHtmlHandler=_3;
};
dwr.engine.setTimeout=function(_4){
dwr.engine._timeout=_4;
};
dwr.engine.setPreHook=function(_5){
dwr.engine._preHook=_5;
};
dwr.engine.setPostHook=function(_6){
dwr.engine._postHook=_6;
};
dwr.engine.setHeaders=function(_7){
dwr.engine._headers=_7;
};
dwr.engine.setParameters=function(_8){
dwr.engine._parameters=_8;
};
dwr.engine.XMLHttpRequest=1;
dwr.engine.IFrame=2;
dwr.engine.ScriptTag=3;
dwr.engine.setRpcType=function(_9){
if(_9!=dwr.engine.XMLHttpRequest&&_9!=dwr.engine.IFrame&&_9!=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=_9;
};
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(_b){
dwr.engine._ordered=_b;
};
dwr.engine.setAsync=function(_c){
dwr.engine._async=_c;
};
dwr.engine.setActiveReverseAjax=function(_d){
if(_d){
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(_e,ex){
dwr.engine._debug("Error: "+ex.name+", "+ex.message,true);
if(_e==null||_e==""){
alert("A server error has occured.");
}else{
if(_e.indexOf("0x80040111")!=-1){
dwr.engine._debug(_e);
}else{
//alert(_e);
}
}
};
dwr.engine.defaultWarningHandler=function(_10,ex){
dwr.engine._debug(_10);
};
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(_12){
var _13=dwr.engine._batch;
if(_13==null){
dwr.engine._handleError(null,{name:"dwr.engine.batchNotBegun",message:"No batch in progress"});
return;
}
dwr.engine._batch=null;
if(_13.map.callCount==0){
return;
}
if(_12){
dwr.engine._mergeBatch(_13,_12);
}
if(dwr.engine._ordered&&dwr.engine._batchesLength!=0){
dwr.engine._batchQueue[dwr.engine._batchQueue.length]=_13;
}else{
dwr.engine._sendData(_13);
}
};
dwr.engine.setPollMethod=function(_14){
dwr.engine.setPollType(_14);
};
dwr.engine.setMethod=function(_15){
dwr.engine.setRpcType(_15);
};
dwr.engine.setVerb=function(_16){
dwr.engine.setHttpMethod(_16);
};
dwr.engine.setPollType=function(){
dwr.engine._debug("Manually setting the Poll Type is not supported");
};
dwr.engine._origScriptSessionId="${scriptSessionId}";
dwr.engine._sessionCookieName="${sessionCookieName}";
dwr.engine._allowGetForSafariButMakeForgeryEasier="${allowGetForSafariButMakeForgeryEasier}";
dwr.engine._scriptTagProtection="${scriptTagProtection}";
dwr.engine._defaultPath="${defaultPath}";
dwr.engine._pollWithXhr="${pollWithXhr}";
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(_17){
return _17;
};
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._unloading=false;
dwr.engine._execute=function(_18,_19,_1a,_1b){
var _1c=false;
if(dwr.engine._batch==null){
dwr.engine.beginBatch();
_1c=true;
}
var _1d=dwr.engine._batch;
var _1e=[];
for(var i=0;i<arguments.length-3;i++){
_1e[i]=arguments[i+3];
}
if(_1d.path==null){
_1d.path=_18;
}else{
if(_1d.path!=_18){
dwr.engine._handleError(_1d,{name:"dwr.engine.multipleServlets",message:"Can't batch requests to multiple DWR Servlets."});
return;
}
}
var _20;
var _21=_1e[_1e.length-1];
if(typeof _21=="function"||_21==null){
_20={callback:_1e.pop()};
}else{
_20=_1e.pop();
}
dwr.engine._mergeBatch(_1d,_20);
_1d.handlers[_1d.map.callCount]={exceptionHandler:_20.exceptionHandler,callback:_20.callback};
var _22="c"+_1d.map.callCount+"-";
_1d.map[_22+"scriptName"]=_19;
_1d.map[_22+"methodName"]=_1a;
_1d.map[_22+"id"]=_1d.map.callCount;
for(i=0;i<_1e.length;i++){
dwr.engine._serializeAll(_1d,[],_1e[i],_22+"param"+i);
}
_1d.map.callCount++;
if(_1c){
dwr.engine.endBatch();
}
};
dwr.engine._poll=function(){
if(!dwr.engine._activeReverseAjax){
return;
}
var _23=dwr.engine._createBatch();
_23.map.id=0;
_23.map.callCount=1;
_23.isPoll=true;
if(dwr.engine._pollWithXhr=="true"){
_23.rpcType=dwr.engine.XMLHttpRequest;
_23.map.partialResponse=dwr.engine._partialResponseNo;
}else{
if(navigator.userAgent.indexOf("Gecko/")!=-1){
_23.rpcType=dwr.engine.XMLHttpRequest;
_23.map.partialResponse=dwr.engine._partialResponseYes;
}else{
_23.rpcType=dwr.engine.XMLHttpRequest;
_23.map.partialResponse=dwr.engine._partialResponseNo;
}
}
_23.httpMethod="POST";
_23.async=true;
_23.timeout=0;
_23.path=dwr.engine._defaultPath;
_23.preHooks=[];
_23.postHooks=[];
_23.errorHandler=dwr.engine._pollErrorHandler;
_23.warningHandler=dwr.engine._pollErrorHandler;
_23.handlers[0]={callback:function(_24){
dwr.engine._pollRetries=0;
setTimeout(dwr.engine._poll,_24);
}};
dwr.engine._sendData(_23);
if(_23.rpcType==dwr.engine.XMLHttpRequest&&_23.map.partialResponse==dwr.engine._partialResponseYes){
dwr.engine._checkCometPoll();
}
};
dwr.engine._pollErrorHandler=function(msg,ex){
dwr.engine._pollRetries++;
dwr.engine._debug("Reverse Ajax poll failed (pollRetries="+dwr.engine._pollRetries+"): "+ex.name+" : "+ex.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 _27={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){
_27.preHooks.push(dwr.engine._preHook);
}
if(dwr.engine._postHook){
_27.postHooks.push(dwr.engine._postHook);
}
var _28,_29;
if(dwr.engine._headers){
for(_28 in dwr.engine._headers){
_29=dwr.engine._headers[_28];
if(typeof _29!="function"){
_27.headers[_28]=_29;
}
}
}
if(dwr.engine._parameters){
for(_28 in dwr.engine._parameters){
_29=dwr.engine._parameters[_28];
if(typeof _29!="function"){
_27.parameters[_28]=_29;
}
}
}
return _27;
};
dwr.engine._mergeBatch=function(_2a,_2b){
var _2c,_2d;
for(var i=0;i<dwr.engine._propnames.length;i++){
_2c=dwr.engine._propnames[i];
if(_2b[_2c]!=null){
_2a[_2c]=_2b[_2c];
}
}
if(_2b.preHook!=null){
_2a.preHooks.unshift(_2b.preHook);
}
if(_2b.postHook!=null){
_2a.postHooks.push(_2b.postHook);
}
if(_2b.headers){
for(_2c in _2b.headers){
_2d=_2b.headers[_2c];
if(typeof _2d!="function"){
_2a.headers[_2c]=_2d;
}
}
}
if(_2b.parameters){
for(_2c in _2b.parameters){
_2d=_2b.parameters[_2c];
if(typeof _2d!="function"){
_2a.map["p-"+_2c]=""+_2d;
}
}
}
};
dwr.engine._getJSessionId=function(){
var _2f=document.cookie.split(";");
for(var i=0;i<_2f.length;i++){
var _31=_2f[i];
while(_31.charAt(0)==" "){
_31=_31.substring(1,_31.length);
}
if(_31.indexOf(dwr.engine._sessionCookieName+"=")==0){
return _31.substring(dwr.engine._sessionCookieName.length+1,_31.length);
}
}
return "";
};
dwr.engine._checkCometPoll=function(){
for(var i=0;i<dwr.engine._outstandingIFrames.length;i++){
var _33="";
var _34=dwr.engine._outstandingIFrames[i];
try{
_33=dwr.engine._getTextFromCometIFrame(_34);
}
catch(ex){
dwr.engine._handleWarning(_34.batch,ex);
}
if(_33!=""){
dwr.engine._processCometResponse(_33,_34.batch);
}
}
if(dwr.engine._pollReq){
var req=dwr.engine._pollReq;
var _33=req.responseText;
if(_33!=null){
dwr.engine._processCometResponse(_33,req.batch);
}
}
if(dwr.engine._outstandingIFrames.length>0||dwr.engine._pollReq){
setTimeout(dwr.engine._checkCometPoll,dwr.engine._pollCometInterval);
}
};
dwr.engine._getTextFromCometIFrame=function(_36){
var _37=_36.contentWindow.document.body;
if(_37==null){
return "";
}
var _38=_37.innerHTML;
if(_38.indexOf("<PRE>")==0||_38.indexOf("<pre>")==0){
_38=_38.substring(5,_38.length-7);
}
return _38;
};
dwr.engine._processCometResponse=function(_39,_3a){
if(_3a.charsProcessed==_39.length){
return;
}
if(_39.length==0){
_3a.charsProcessed=0;
return;
}
var _3b=_39.indexOf("//#DWR-START#",_3a.charsProcessed);
if(_3b==-1){
_3a.charsProcessed=_39.length;
return;
}
var _3c=_39.lastIndexOf("//#DWR-END#");
if(_3c==-1){
return;
}
if(_39.charCodeAt(_3c+11)==13&&_39.charCodeAt(_3c+12)==10){
_3a.charsProcessed=_3c+13;
}else{
_3a.charsProcessed=_3c+11;
}
var _3d=_39.substring(_3b+13,_3c);
dwr.engine._receivedBatch=_3a;
dwr.engine._eval(_3d);
dwr.engine._receivedBatch=null;
};
dwr.engine._sendData=function(_3e){
_3e.map.batchId=dwr.engine._nextBatchId;
dwr.engine._nextBatchId++;
dwr.engine._batches[_3e.map.batchId]=_3e;
dwr.engine._batchesLength++;
_3e.completed=false;
for(var i=0;i<_3e.preHooks.length;i++){
_3e.preHooks[i]();
}
_3e.preHooks=null;
if(_3e.timeout&&_3e.timeout!=0){
_3e.timeoutId=setTimeout(function(){
dwr.engine._abortRequest(_3e);
},_3e.timeout);
}
if(_3e.rpcType==dwr.engine.XMLHttpRequest){
if(window.XMLHttpRequest){
_3e.req=new XMLHttpRequest();
}else{
if(window.ActiveXObject&&!(navigator.userAgent.indexOf("Mac")>=0&&navigator.userAgent.indexOf("MSIE")>=0)){
_3e.req=dwr.engine._newActiveXObject(dwr.engine._XMLHTTP);
}
}
}
var _40,_41;
if(_3e.req){
if(_3e.async){
_3e.req.onreadystatechange=function(){
if(typeof dwr!="undefined"){
dwr.engine._stateChange(_3e);
}
};
}
if(_3e.isPoll){
dwr.engine._pollReq=_3e.req;
if(!(document.all&&!window.opera)){
_3e.req.batch=_3e;
}
}
var _42=navigator.userAgent.indexOf("Safari/");
if(_42>=0){
var _43=navigator.userAgent.substring(_42+7);
if(parseInt(_43,10)<400){
if(dwr.engine._allowGetForSafariButMakeForgeryEasier=="true"){
_3e.httpMethod="GET";
}else{
dwr.engine._handleWarning(_3e,{name:"dwr.engine.oldSafari",message:"Safari GET support disabled. See getahead.org/dwr/server/servlet and allowGetForSafariButMakeForgeryEasier."});
}
}
}
_3e.mode=_3e.isPoll?dwr.engine._ModePlainPoll:dwr.engine._ModePlainCall;
_41=dwr.engine._constructRequest(_3e);
try{
_3e.req.open(_3e.httpMethod,_41.url,_3e.async);
try{
for(_40 in _3e.headers){
var _44=_3e.headers[_40];
if(typeof _44=="string"){
_3e.req.setRequestHeader(_40,_44);
}
}
if(!_3e.headers["Content-Type"]){
_3e.req.setRequestHeader("Content-Type","text/plain");
}
}
catch(ex){
dwr.engine._handleWarning(_3e,ex);
}
_3e.req.send(_41.body);
if(!_3e.async){
dwr.engine._stateChange(_3e);
}
}
catch(ex){
dwr.engine._handleError(_3e,ex);
}
}else{
if(_3e.rpcType!=dwr.engine.ScriptTag){
var _45=_3e.isPoll?"dwr-if-poll-"+_3e.map.batchId:"dwr-if-"+_3e.map.batchId;
_3e.div=document.createElement("div");
document.body.appendChild(_3e.div);
_3e.div.innerHTML="<iframe src='javascript:void(0)' frameborder='0' style='width:0px;height:0px;border:0;' id='"+_45+"' name='"+_45+"' onload='dwr.engine._iframeLoadingComplete ("+_3e.map.batchId+");'></iframe>";
_3e.document=document;
_3e.iframe=_3e.document.getElementById(_45);
_3e.iframe.batch=_3e;
_3e.mode=_3e.isPoll?dwr.engine._ModeHtmlPoll:dwr.engine._ModeHtmlCall;
if(_3e.isPoll){
dwr.engine._outstandingIFrames.push(_3e.iframe);
}
_41=dwr.engine._constructRequest(_3e);
if(_3e.httpMethod=="GET"){
_3e.iframe.setAttribute("src",_41.url);
}else{
_3e.form=_3e.document.createElement("form");
_3e.form.setAttribute("id","dwr-form");
_3e.form.setAttribute("action",_41.url);
_3e.form.setAttribute("style","display:none;");
_3e.form.setAttribute("target",_45);
_3e.form.target=_45;
_3e.form.setAttribute("method",_3e.httpMethod);
for(_40 in _3e.map){
var _44=_3e.map[_40];
if(typeof _44!="function"){
var _46=_3e.document.createElement("input");
_46.setAttribute("type","hidden");
_46.setAttribute("name",_40);
_46.setAttribute("value",_44);
_3e.form.appendChild(_46);
}
}
_3e.document.body.appendChild(_3e.form);
_3e.form.submit();
}
}else{
_3e.httpMethod="GET";
_3e.mode=_3e.isPoll?dwr.engine._ModePlainPoll:dwr.engine._ModePlainCall;
_41=dwr.engine._constructRequest(_3e);
_3e.script=document.createElement("script");
_3e.script.id="dwr-st-"+_3e.map["c0-id"];
_3e.script.src=_41.url;
document.body.appendChild(_3e.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(_47){
var _48={url:_47.path+_47.mode,body:null};
if(_47.isPoll==true){
_48.url+="ReverseAjax.dwr";
}else{
if(_47.map.callCount==1){
_48.url+=_47.map["c0-scriptName"]+"."+_47.map["c0-methodName"]+".dwr";
}else{
_48.url+="Multiple."+_47.map.callCount+".dwr";
}
}
var _49=location.href.match(/jsessionid=([^?]+)/);
if(_49!=null){
_48.url+=";jsessionid="+_49[1];
}
var _4a;
if(_47.httpMethod=="GET"){
_47.map.callCount=""+_47.map.callCount;
_48.url+="?";
for(_4a in _47.map){
if(typeof _47.map[_4a]!="function"){
_48.url+=encodeURIComponent(_4a)+"="+encodeURIComponent(_47.map[_4a])+"&";
}
}
_48.url=_48.url.substring(0,_48.url.length-1);
}else{
_48.body="";
if(document.all&&!window.opera){
var buf=[];
for(_4a in _47.map){
if(typeof _47.map[_4a]!="function"){
buf.push(_4a+"="+_47.map[_4a]+dwr.engine._postSeperator);
}
}
_48.body=buf.join("");
}else{
for(_4a in _47.map){
if(typeof _47.map[_4a]!="function"){
_48.body+=_4a+"="+_47.map[_4a]+dwr.engine._postSeperator;
}
}
}
_48.body=dwr.engine._contentRewriteHandler(_48.body);
}
_48.url=dwr.engine._urlRewriteHandler(_48.url);
return _48;
};
dwr.engine._stateChange=function(_4c){
var _4d;
if(_4c.completed){
dwr.engine._debug("Error: _stateChange() with batch.completed");
return;
}
var req=_4c.req;
try{
if(req.readyState!=4){
return;
}
}
catch(ex){
dwr.engine._handleWarning(_4c,ex);
dwr.engine._clearUp(_4c);
return;
}
if(dwr.engine._unloading){
dwr.engine._debug("Ignoring reply from server as page is unloading.");
return;
}
try{
var _4f=req.responseText;
_4f=dwr.engine._replyRewriteHandler(_4f);
var _50=req.status;
if(_4f==null||_4f==""){
dwr.engine._handleWarning(_4c,{name:"dwr.engine.missingData",message:"No data received from server"});
}else{
if(_50!=200){
dwr.engine._handleError(_4c,{name:"dwr.engine.http."+_50,message:req.statusText});
}else{
var _51=req.getResponseHeader("Content-Type");
if(!_51.match(/^text\/plain/)&&!_51.match(/^text\/javascript/)){
if(_51.match(/^text\/html/)&&typeof _4c.textHtmlHandler=="function"){
_4c.textHtmlHandler({status:_50,responseText:_4f,contentType:_51});
}else{
dwr.engine._handleWarning(_4c,{name:"dwr.engine.invalidMimeType",message:"Invalid content type: '"+_51+"'"});
}
}else{
if(_4c.isPoll&&_4c.map.partialResponse==dwr.engine._partialResponseYes){
dwr.engine._processCometResponse(_4f,_4c);
}else{
if(_4f.search("//#DWR")==-1){
dwr.engine._handleWarning(_4c,{name:"dwr.engine.invalidReply",message:"Invalid reply from server"});
}else{
_4d=_4f;
}
}
}
}
}
}
catch(ex){
dwr.engine._handleWarning(_4c,ex);
}
dwr.engine._callPostHooks(_4c);
dwr.engine._receivedBatch=_4c;
if(_4d!=null){
_4d=_4d.replace(dwr.engine._scriptTagProtection,"");
}
dwr.engine._eval(_4d);
dwr.engine._receivedBatch=null;
dwr.engine._validateBatch(_4c);
if(!_4c.completed){
dwr.engine._clearUp(_4c);
}
};
dwr.engine._validateBatch=function(_52){
if(!_52.completed){
for(var i=0;i<_52.map.callCount;i++){
if(_52.handlers[i]!=null){
dwr.engine._handleWarning(_52,{name:"dwr.engine.incompleteReply",message:"Incomplete reply from server"});
break;
}
}
}
};
dwr.engine._iframeLoadingComplete=function(_54){
var _55=dwr.engine._batches[_54];
if(_55){
dwr.engine._validateBatch(_55);
}
};
dwr.engine._remoteHandleCallback=function(_56,_57,_58){
var _59=dwr.engine._batches[_56];
if(_59==null){
dwr.engine._debug("Warning: batch == null in remoteHandleCallback for batchId="+_56,true);
return;
}
try{
var _5a=_59.handlers[_57];
_59.handlers[_57]=null;
if(!_5a){
dwr.engine._debug("Warning: Missing handlers. callId="+_57,true);
}else{
if(typeof _5a.callback=="function"){
_5a.callback(_58);
}
}
}
catch(ex){
dwr.engine._handleError(_59,ex);
}
};
dwr.engine._remoteHandleException=function(_5b,_5c,ex){
var _5e=dwr.engine._batches[_5b];
if(_5e==null){
dwr.engine._debug("Warning: null batch in remoteHandleException",true);
return;
}
var _5f=_5e.handlers[_5c];
_5e.handlers[_5c]=null;
if(_5f==null){
dwr.engine._debug("Warning: null handlers in remoteHandleException",true);
return;
}
if(ex.message==undefined){
ex.message="";
}
if(typeof _5f.exceptionHandler=="function"){
_5f.exceptionHandler(ex.message,ex);
}else{
if(typeof _5e.errorHandler=="function"){
_5e.errorHandler(ex.message,ex);
}
}
};
dwr.engine._remoteHandleBatchException=function(ex,_61){
var _62=(dwr.engine._receivedBatch==null&&_61!=null);
if(_62){
dwr.engine._receivedBatch=dwr.engine._batches[_61];
}
if(ex.message==undefined){
ex.message="";
}
dwr.engine._handleError(dwr.engine._receivedBatch,ex);
if(_62){
dwr.engine._receivedBatch=null;
dwr.engine._clearUp(dwr.engine._batches[_61]);
}
};
dwr.engine._remotePollCometDisabled=function(ex,_64){
dwr.engine.setActiveReverseAjax(false);
var _65=(dwr.engine._receivedBatch==null&&_64!=null);
if(_65){
dwr.engine._receivedBatch=dwr.engine._batches[_64];
}
if(ex.message==undefined){
ex.message="";
}
dwr.engine._handleError(dwr.engine._receivedBatch,ex);
if(_65){
dwr.engine._receivedBatch=null;
dwr.engine._clearUp(dwr.engine._batches[_64]);
}
};
dwr.engine._remoteBeginIFrameResponse=function(_66,_67){
if(_66!=null){
dwr.engine._receivedBatch=_66.batch;
}
dwr.engine._callPostHooks(dwr.engine._receivedBatch);
};
dwr.engine._remoteEndIFrameResponse=function(_68){
dwr.engine._clearUp(dwr.engine._receivedBatch);
dwr.engine._receivedBatch=null;
};
dwr.engine._eval=function(_69){
if(_69==null){
return null;
}
if(_69==""){
dwr.engine._debug("Warning: blank script",true);
return null;
}
return eval(_69);
};
dwr.engine._abortRequest=function(_6a){
if(_6a&&!_6a.completed){
dwr.engine._clearUp(_6a);
if(_6a.req){
_6a.req.abort();
}
dwr.engine._handleError(_6a,{name:"dwr.engine.timeout",message:"Timeout"});
}
};
dwr.engine._callPostHooks=function(_6b){
if(_6b.postHooks){
for(var i=0;i<_6b.postHooks.length;i++){
_6b.postHooks[i]();
}
_6b.postHooks=null;
}
};
dwr.engine._clearUp=function(_6d){
if(!_6d){
dwr.engine._debug("Warning: null batch in dwr.engine._clearUp()",true);
return;
}
if(_6d.completed){
dwr.engine._debug("Warning: Double complete",true);
return;
}
if(_6d.div){
_6d.div.parentNode.removeChild(_6d.div);
}
if(_6d.iframe){
for(var i=0;i<dwr.engine._outstandingIFrames.length;i++){
if(dwr.engine._outstandingIFrames[i]==_6d.iframe){
dwr.engine._outstandingIFrames.splice(i,1);
}
}
_6d.iframe.parentNode.removeChild(_6d.iframe);
}
if(_6d.form){
_6d.form.parentNode.removeChild(_6d.form);
}
if(_6d.req){
if(_6d.req==dwr.engine._pollReq){
dwr.engine._pollReq=null;
}
delete _6d.req;
}
if(_6d.timeoutId){
clearTimeout(_6d.timeoutId);
delete _6d.timeoutId;
}
if(_6d.map&&(_6d.map.batchId||_6d.map.batchId==0)){
delete dwr.engine._batches[_6d.map.batchId];
dwr.engine._batchesLength--;
}
_6d.completed=true;
if(dwr.engine._batchQueue.length!=0){
var _6f=dwr.engine._batchQueue.shift();
dwr.engine._sendData(_6f);
}
};
dwr.engine._unloader=function(){
dwr.engine._unloading=true;
dwr.engine._batchQueue.length=0;
for(var _70 in dwr.engine._batches){
var _71=dwr.engine._batches[_70];
if(_71&&_71.map){
if(_71.req){
_71.req.abort();
}
dwr.engine._clearUp(_71);
}
}
};
if(window.addEventListener){
window.addEventListener("unload",dwr.engine._unloader,false);
}else{
if(window.attachEvent){
window.attachEvent("onunload",dwr.engine._unloader);
}
}
dwr.engine._handleError=function(_72,ex){
if(typeof ex=="string"){
ex={name:"unknown",message:ex};
}
if(ex.message==null){
ex.message="";
}
if(ex.name==null){
ex.name="unknown";
}
if(_72&&typeof _72.errorHandler=="function"){
_72.errorHandler(ex.message,ex);
}else{
if(dwr.engine._errorHandler){
dwr.engine._errorHandler(ex.message,ex);
}
}
if(_72){
dwr.engine._clearUp(_72);
}
};
dwr.engine._handleWarning=function(_74,ex){
if(typeof ex=="string"){
ex={name:"unknown",message:ex};
}
if(ex.message==null){
ex.message="";
}
if(ex.name==null){
ex.name="unknown";
}
if(_74&&typeof _74.warningHandler=="function"){
_74.warningHandler(ex.message,ex);
}else{
if(dwr.engine._warningHandler){
dwr.engine._warningHandler(ex.message,ex);
}
}
if(_74){
dwr.engine._clearUp(_74);
}
};
dwr.engine._serializeAll=function(_76,_77,_78,_79){
if(_78==null){
_76.map[_79]="null:null";
return;
}
switch(typeof _78){
case "boolean":
_76.map[_79]="boolean:"+_78;
break;
case "number":
_76.map[_79]="number:"+_78;
break;
case "string":
_76.map[_79]="string:"+encodeURIComponent(_78);
break;
case "object":
if(_78 instanceof String){
_76.map[_79]="String:"+encodeURIComponent(_78);
}else{
if(_78 instanceof Boolean){
_76.map[_79]="Boolean:"+_78;
}else{
if(_78 instanceof Number){
_76.map[_79]="Number:"+_78;
}else{
if(_78 instanceof Date){
_76.map[_79]="Date:"+_78.getTime();
}else{
if(_78&&_78.join){
_76.map[_79]=dwr.engine._serializeArray(_76,_77,_78,_79);
}else{
_76.map[_79]=dwr.engine._serializeObject(_76,_77,_78,_79);
}
}
}
}
}
break;
case "function":
break;
default:
dwr.engine._handleWarning(null,{name:"dwr.engine.unexpectedType",message:"Unexpected type: "+typeof _78+", attempting default converter."});
_76.map[_79]="default:"+_78;
break;
}
};
dwr.engine._lookup=function(_7a,_7b,_7c){
var _7d;
for(var i=0;i<_7a.length;i++){
if(_7a[i].data==_7b){
_7d=_7a[i];
break;
}
}
if(_7d){
return "reference:"+_7d.name;
}
_7a.push({data:_7b,name:_7c});
return null;
};
dwr.engine._serializeObject=function(_7f,_80,_81,_82){
var ref=dwr.engine._lookup(_80,_81,_82);
if(ref){
return ref;
}
if(_81.nodeName&&_81.nodeType){
return dwr.engine._serializeXml(_7f,_80,_81,_82);
}
var _84="Object_"+dwr.engine._getObjectClassName(_81)+":{";
var _85;
for(_85 in _81){
if(typeof _81[_85]!="function"){
_7f.paramCount++;
var _86="c"+dwr.engine._batch.map.callCount+"-e"+_7f.paramCount;
dwr.engine._serializeAll(_7f,_80,_81[_85],_86);
_84+=encodeURIComponent(_85)+":reference:"+_86+", ";
}
}
if(_84.substring(_84.length-2)==", "){
_84=_84.substring(0,_84.length-2);
}
_84+="}";
return _84;
};
dwr.engine._errorClasses={"Error":Error,"EvalError":EvalError,"RangeError":RangeError,"ReferenceError":ReferenceError,"SyntaxError":SyntaxError,"TypeError":TypeError,"URIError":URIError};
dwr.engine._getObjectClassName=function(obj){
if(obj&&obj.constructor&&obj.constructor.toString){
var str=obj.constructor.toString();
var _89=str.match(/function\s+(\w+)/);
if(_89&&_89.length==2){
return _89[1];
}
}
if(obj&&obj.constructor){
for(var _8a in dwr.engine._errorClasses){
if(obj.constructor==dwr.engine._errorClasses[_8a]){
return _8a;
}
}
}
if(obj){
var str=Object.prototype.toString.call(obj);
var _89=str.match(/\[object\s+(\w+)/);
if(_89&&_89.length==2){
return _89[1];
}
}
return "Object";
};
dwr.engine._serializeXml=function(_8b,_8c,_8d,_8e){
var ref=dwr.engine._lookup(_8c,_8d,_8e);
if(ref){
return ref;
}
var _90;
if(window.XMLSerializer){
_90=new XMLSerializer().serializeToString(_8d);
}else{
if(_8d.toXml){
_90=_8d.toXml;
}else{
_90=_8d.innerHTML;
}
}
return "XML:"+encodeURIComponent(_90);
};
dwr.engine._serializeArray=function(_91,_92,_93,_94){
var ref=dwr.engine._lookup(_92,_93,_94);
if(ref){
return ref;
}
if(document.all&&!window.opera){
var buf=["Array:["];
for(var i=0;i<_93.length;i++){
if(i!=0){
buf.push(",");
}
_91.paramCount++;
var _98="c"+dwr.engine._batch.map.callCount+"-e"+_91.paramCount;
dwr.engine._serializeAll(_91,_92,_93[i],_98);
buf.push("reference:");
buf.push(_98);
}
buf.push("]");
_99=buf.join("");
}else{
var _99="Array:[";
for(var i=0;i<_93.length;i++){
if(i!=0){
_99+=",";
}
_91.paramCount++;
var _98="c"+dwr.engine._batch.map.callCount+"-e"+_91.paramCount;
dwr.engine._serializeAll(_91,_92,_93[i],_98);
_99+="reference:";
_99+=_98;
}
_99+="]";
}
return _99;
};
dwr.engine._unserializeDocument=function(xml){
var dom;
if(window.DOMParser){
var _9c=new DOMParser();
dom=_9c.parseFromString(xml,"text/xml");
if(!dom.documentElement||dom.documentElement.tagName=="parsererror"){
var _9d=dom.documentElement.firstChild.data;
_9d+="\n"+dom.documentElement.firstChild.nextSibling.firstChild.data;
throw _9d;
}
return dom;
}else{
if(window.ActiveXObject){
dom=dwr.engine._newActiveXObject(dwr.engine._DOMDocument);
dom.loadXML(xml);
return dom;
}else{
var div=document.createElement("div");
div.innerHTML=xml;
return div;
}
}
};
dwr.engine._newActiveXObject=function(_9f){
var _a0;
for(var i=0;i<_9f.length;i++){
try{
_a0=new ActiveXObject(_9f[i]);
break;
}
catch(ex){
}
}
return _a0;
};
dwr.engine._debug=function(_a2,_a3){
var _a4=false;
try{
if(window.console){
if(_a3&&window.console.trace){
window.console.trace();
}
window.console.log(_a2);
_a4=true;
}else{
if(window.opera&&window.opera.postError){
window.opera.postError(_a2);
_a4=true;
}
}
}
catch(ex){
}
if(!_a4){
var _a5=document.getElementById("dwr-debug");
if(_a5){
var _a6=_a2+"<br/>"+_a5.innerHTML;
if(_a6.length>2048){
_a6=_a6.substring(0,2048);
}
_a5.innerHTML=_a6;
}
}
};

// Provide a default path to dwr.engine
if (dwr == null) var dwr = {};
if (dwr.engine == null) dwr.engine = {};
if (DWREngine == null) var DWREngine = dwr.engine;

if (Session == null) var Session = {};
Session._path = '/coupons/dwr';
Session.getMember = function(callback) {
  dwr.engine._execute(Session._path, 'Session', 'getMember', callback);
}
Session.getBasketSize = function(callback) {
  dwr.engine._execute(Session._path, 'Session', 'getBasketSize', callback);
}
Session.addToBasket = function(p0, callback) {
  dwr.engine._execute(Session._path, 'Session', 'addToBasket', p0, callback);
}
Session.showBasket = function(callback) {
  dwr.engine._execute(Session._path, 'Session', 'showBasket', callback);
}
Session.setSelectedAddress = function(p0, p1, p2, callback) {
  dwr.engine._execute(Session._path, 'Session', 'setSelectedAddress', p0, p1, p2, callback);
}
Session.getHotListings = function(callback) {
  dwr.engine._execute(Session._path, 'Session', 'getHotListings', callback);
}
Session.getChunkSize = function(callback) {
  dwr.engine._execute(Session._path, 'Session', 'getChunkSize', callback);
}
Session.getSearchId = function(callback) {
  dwr.engine._execute(Session._path, 'Session', 'getSearchId', callback);
}
Session.setChunkSize = function(p0, callback) {
  dwr.engine._execute(Session._path, 'Session', 'setChunkSize', p0, callback);
}
Session.getKeywordQueryList = function(callback) {
  dwr.engine._execute(Session._path, 'Session', 'getKeywordQueryList', callback);
}
Session.getGeoQueryList = function(callback) {
  dwr.engine._execute(Session._path, 'Session', 'getGeoQueryList', callback);
}
Session.showPopUpReg = function(callback) {
  dwr.engine._execute(Session._path, 'Session', 'showPopUpReg', callback);
}
Session.showAddrReminder = function(callback) {
  dwr.engine._execute(Session._path, 'Session', 'showAddrReminder', callback);
}
Session.disableAddrReminder = function(callback) {
  dwr.engine._execute(Session._path, 'Session', 'disableAddrReminder', callback);
}
Session.removeFromBasket = function(p0, callback) {
  dwr.engine._execute(Session._path, 'Session', 'removeFromBasket', p0, callback);
}
Session.printNow = function(p0, p1, p2, callback) {
  dwr.engine._execute(Session._path, 'Session', 'printNow', p0, p1, p2, callback);
}
Session.getPrint = function(p0, callback) {
  dwr.engine._execute(Session._path, 'Session', 'getPrint', p0, callback);
}
Session.getPrintNowCount = function(callback) {
  dwr.engine._execute(Session._path, 'Session', 'getPrintNowCount', callback);
}
Session.printBasket = function(callback) {
  dwr.engine._execute(Session._path, 'Session', 'printBasket', callback);
}
Session.processTellAFriend = function(p0, callback) {
  dwr.engine._execute(Session._path, 'Session', 'processTellAFriend', p0, callback);
}
Session.processPrintLater = function(p0, callback) {
  dwr.engine._execute(Session._path, 'Session', 'processPrintLater', p0, callback);
}
Session.setJSEnabled = function(callback) {
  dwr.engine._execute(Session._path, 'Session', 'setJSEnabled', callback);
}
Session.getDirections = function(p0, p1, callback) {
  dwr.engine._execute(Session._path, 'Session', 'getDirections', p0, p1, callback);
}
Session.showTellAFriend = function(p0, callback) {
  dwr.engine._execute(Session._path, 'Session', 'showTellAFriend', p0, callback);
}


// Provide a default path to dwr.engine
if (dwr == null) var dwr = {};
if (dwr.engine == null) dwr.engine = {};
if (DWREngine == null) var DWREngine = dwr.engine;

if (Display == null) var Display = {};
Display._path = '/coupons/dwr';
Display.getPage = function(p0, p1, callback) {
  dwr.engine._execute(Display._path, 'Display', 'getPage', p0, p1, callback);
}
Display.getFeedContent = function(p0, p1, callback) {
  dwr.engine._execute(Display._path, 'Display', 'getFeedContent', p0, p1, callback);
}
Display.getPageContent = function(p0, p1, callback) {
  dwr.engine._execute(Display._path, 'Display', 'getPageContent', p0, p1, callback);
}
Display.getAddressSelect = function(p0, p1, callback) {
  dwr.engine._execute(Display._path, 'Display', 'getAddressSelect', p0, p1, callback);
}


// Provide a default path to dwr.engine
if (dwr == null) var dwr = {};
if (dwr.engine == null) dwr.engine = {};
if (DWREngine == null) var DWREngine = dwr.engine;

if (Validate == null) var Validate = {};
Validate._path = '/coupons/dwr';
Validate.address = function(p0, callback) {
  dwr.engine._execute(Validate._path, 'Validate', 'address', p0, callback);
}
Validate.date = function(p0, callback) {
  dwr.engine._execute(Validate._path, 'Validate', 'date', p0, callback);
}
Validate.queryString = function(p0, callback) {
  dwr.engine._execute(Validate._path, 'Validate', 'queryString', p0, callback);
}
Validate.postalCode = function(p0, callback) {
  dwr.engine._execute(Validate._path, 'Validate', 'postalCode', p0, callback);
}
Validate.email = function(p0, callback) {
  dwr.engine._execute(Validate._path, 'Validate', 'email', p0, callback);
}
Validate.phone = function(p0, callback) {
  dwr.engine._execute(Validate._path, 'Validate', 'phone', p0, callback);
}
Validate.memberName = function(p0, callback) {
  dwr.engine._execute(Validate._path, 'Validate', 'memberName', p0, callback);
}


// Provide a default path to dwr.engine
if (dwr == null) var dwr = {};
if (dwr.engine == null) dwr.engine = {};
if (DWREngine == null) var DWREngine = dwr.engine;

if (MemberReg == null) var MemberReg = {};
MemberReg._path = '/coupons/dwr';
MemberReg.unsubscribe = function(p0, p1, callback) {
  dwr.engine._execute(MemberReg._path, 'MemberReg', 'unsubscribe', p0, p1, callback);
}
MemberReg.saveMember = function(p0, p1, callback) {
  dwr.engine._execute(MemberReg._path, 'MemberReg', 'saveMember', p0, p1, callback);
}
MemberReg.getFullMemberReg = function(callback) {
  dwr.engine._execute(MemberReg._path, 'MemberReg', 'getFullMemberReg', callback);
}
MemberReg.sendRefresh = function(p0, p1, callback) {
  dwr.engine._execute(MemberReg._path, 'MemberReg', 'sendRefresh', p0, p1, callback);
}
MemberReg.optInMember = function(p0, callback) {
  dwr.engine._execute(MemberReg._path, 'MemberReg', 'optInMember', p0, callback);
}


// Provide a default path to dwr.engine
if (dwr == null) var dwr = {};
if (dwr.engine == null) dwr.engine = {};
if (DWREngine == null) var DWREngine = dwr.engine;

if (ContestReg == null) var ContestReg = {};
ContestReg._path = '/coupons/dwr';
ContestReg.getPage = function(p0, p1, callback) {
  dwr.engine._execute(ContestReg._path, 'ContestReg', 'getPage', p0, p1, callback);
}
ContestReg.getContest = function(p0, callback) {
  dwr.engine._execute(ContestReg._path, 'ContestReg', 'getContest', p0, callback);
}
ContestReg.saveEntry = function(p0, callback) {
  dwr.engine._execute(ContestReg._path, 'ContestReg', 'saveEntry', p0, callback);
}
ContestReg.getLuckyNumber = function(callback) {
  dwr.engine._execute(ContestReg._path, 'ContestReg', 'getLuckyNumber', callback);
}
ContestReg.gameComplete = function(p0, callback) {
  dwr.engine._execute(ContestReg._path, 'ContestReg', 'gameComplete', p0, callback);
}
ContestReg.saveTAF = function(p0, callback) {
  dwr.engine._execute(ContestReg._path, 'ContestReg', 'saveTAF', p0, callback);
}


// Provide a default path to dwr.engine
if (dwr == null) var dwr = {};
if (dwr.engine == null) dwr.engine = {};
if (DWREngine == null) var DWREngine = dwr.engine;

if (Log == null) var Log = {};
Log._path = '/coupons/dwr';
Log.logContentSearch = function(callback) {
  dwr.engine._execute(Log._path, 'Log', 'logContentSearch', callback);
}
Log.logActivity = function(p0, p1, p2, callback) {
  dwr.engine._execute(Log._path, 'Log', 'logActivity', p0, p1, p2, callback);
}
Log.logActivities = function(p0, p1, p2, callback) {
  dwr.engine._execute(Log._path, 'Log', 'logActivities', p0, p1, p2, callback);
}
Log.logVisit = function(callback) {
  dwr.engine._execute(Log._path, 'Log', 'logVisit', callback);
}
Log.logBasketActivity = function(p0, callback) {
  dwr.engine._execute(Log._path, 'Log', 'logBasketActivity', p0, callback);
}

