
function DWREngine(){}
DWREngine.setErrorHandler=function(handler){DWREngine._errorHandler=handler;};DWREngine.setWarningHandler=function(handler){DWREngine._warningHandler=handler;};DWREngine.setTimeout=function(timeout){DWREngine._timeout=timeout;};DWREngine.setPreHook=function(handler){DWREngine._preHook=handler;};DWREngine.setPostHook=function(handler){DWREngine._postHook=handler;};DWREngine.XMLHttpRequest=1;DWREngine.IFrame=2;DWREngine.setMethod=function(newmethod){if(newmethod!=DWREngine.XMLHttpRequest&&newmethod!=DWREngine.IFrame){DWREngine._handleError("Remoting method must be one of DWREngine.XMLHttpRequest or DWREngine.IFrame");return;}
DWREngine._method=newmethod;};DWREngine.setVerb=function(verb){if(verb!="GET"&&verb!="POST"){DWREngine._handleError("Remoting verb must be one of GET or POST");return;}
DWREngine._verb=verb;};DWREngine.setOrdered=function(ordered){DWREngine._ordered=ordered;};DWREngine.setAsync=function(async){DWREngine._async=async;};DWREngine.defaultMessageHandler=function(message){if(typeof message=="object"&&message.name=="Error"&&message.description){alert("Error: "+message.description);}
else{alert(message);}};DWREngine.beginBatch=function(){if(DWREngine._batch){DWREngine._handleError("Batch already started.");return;}
DWREngine._batch={};DWREngine._batch.map={};DWREngine._batch.paramCount=0;DWREngine._batch.map.callCount=0;DWREngine._batch.ids=[];DWREngine._batch.preHooks=[];DWREngine._batch.postHooks=[];};DWREngine.endBatch=function(options){var batch=DWREngine._batch;if(batch==null){DWREngine._handleError("No batch in progress.");return;}
if(options&&options.preHook)batch.preHooks.unshift(options.preHook);if(options&&options.postHook)batch.postHooks.push(options.postHook);if(DWREngine._preHook)batch.preHooks.unshift(DWREngine._preHook);if(DWREngine._postHook)batch.postHooks.push(DWREngine._postHook);if(batch.method==null)batch.method=DWREngine._method;if(batch.verb==null)batch.verb=DWREngine._verb;if(batch.async==null)batch.async=DWREngine._async;if(batch.timeout==null)batch.timeout=DWREngine._timeout;batch.completed=false;DWREngine._batch=null;if(!DWREngine._ordered){DWREngine._sendData(batch);DWREngine._batches[DWREngine._batches.length]=batch;}
else{if(DWREngine._batches.length==0){DWREngine._sendData(batch);DWREngine._batches[DWREngine._batches.length]=batch;}
else{DWREngine._batchQueue[DWREngine._batchQueue.length]=batch;}}};DWREngine._errorHandler=DWREngine.defaultMessageHandler;DWREngine._warningHandler=DWREngine.defaultMessageHandler;DWREngine._preHook=null;DWREngine._postHook=null;DWREngine._batches=[];DWREngine._batchQueue=[];DWREngine._handlersMap={};DWREngine._method=DWREngine.XMLHttpRequest;DWREngine._verb="POST";DWREngine._ordered=false;DWREngine._async=true;DWREngine._batch=null;DWREngine._timeout=0;DWREngine._DOMDocument=["Msxml2.DOMDocument.5.0","Msxml2.DOMDocument.4.0","Msxml2.DOMDocument.3.0","MSXML2.DOMDocument","MSXML.DOMDocument","Microsoft.XMLDOM"];DWREngine._XMLHTTP=["Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];DWREngine._execute=function(path,scriptName,methodName,vararg_params){var singleShot=false;if(DWREngine._batch==null){DWREngine.beginBatch();singleShot=true;}
var args=[];var oWddx=new WddxSerializer();for(var i=0;i<arguments.length-3;i++){if(typeof arguments[i+3]=="function"){args[i]=arguments[i+3];}
else{args[i]=oWddx.serialize(arguments[i+3]);}}
if(DWREngine._batch.path==null){DWREngine._batch.path=path;}
else{if(DWREngine._batch.path!=path){DWREngine._handleError("Can't batch requests to multiple DWR Servlets.");return;}}
var params;var callData;var firstArg=args[0];var lastArg=args[args.length-1];if(typeof firstArg=="function"){callData={callback:args.shift()};params=args;}
else if(typeof lastArg=="function"){callData={callback:args.pop()};params=args;}
else if(typeof lastArg=="object"&&lastArg.callback!=null&&typeof lastArg.callback=="function"){callData=args.pop();params=args;}
else if(firstArg==null){if(lastArg==null&&args.length>2){if(DWREngine._warningHandler){DWREngine._warningHandler("Ambiguous nulls at start and end of parameter list. Which is the callback function?");}}
callData={callback:args.shift()};params=args;}
else if(lastArg==null){callData={callback:args.pop()};params=args;}
else{if(DWREngine._warningHandler){DWREngine._warningHandler("Missing callback function or metadata object.");}
return;}
var random=Math.floor(Math.random()*10001);var id=(random+"_"+new Date().getTime()).toString();var prefix="c"+DWREngine._batch.map.callCount+"-";DWREngine._batch.ids.push(id);if(callData.method!=null){DWREngine._batch.method=callData.method;delete callData.method;}
if(callData.verb!=null){DWREngine._batch.verb=callData.verb;delete callData.verb;}
if(callData.async!=null){DWREngine._batch.async=callData.async;delete callData.async;}
if(callData.timeout!=null){DWREngine._batch.timeout=callData.timeout;delete callData.timeout;}
if(callData.preHook!=null){DWREngine._batch.preHooks.unshift(callData.preHook);delete callData.preHook;}
if(callData.postHook!=null){DWREngine._batch.postHooks.push(callData.postHook);delete callData.postHook;}
if(callData.errorHandler==null)callData.errorHandler=DWREngine._errorHandler;if(callData.warningHandler==null)callData.warningHandler=DWREngine._warningHandler;DWREngine._handlersMap[id]=callData;DWREngine._batch.map[prefix+"scriptName"]=scriptName;DWREngine._batch.map[prefix+"methodName"]=methodName;DWREngine._batch.map[prefix+"id"]=id;DWREngine._addSerializeFunctions();for(i=0;i<params.length;i++){DWREngine._serializeAll(DWREngine._batch,[],params[i],prefix+"param"+i);}
DWREngine._removeSerializeFunctions();DWREngine._batch.map.callCount++;if(singleShot){DWREngine.endBatch();}};DWREngine._sendData=function(batch){if(batch.map.callCount==0)return;for(var i=0;i<batch.preHooks.length;i++){batch.preHooks[i]();}
batch.preHooks=null;if(batch.timeout&&batch.timeout!=0){batch.interval=setInterval(function(){clearInterval(batch.interval);DWREngine._abortRequest(batch);},batch.timeout);}
var statsInfo;if(batch.map.callCount==1){statsInfo=batch.map["c0-scriptName"]+"."+batch.map["c0-methodName"]+".dwr";}
else{statsInfo="Multiple."+batch.map.callCount+".dwr";}
if(batch.method==DWREngine.XMLHttpRequest){if(window.XMLHttpRequest){batch.req=new XMLHttpRequest();}
else if(window.ActiveXObject&&!(navigator.userAgent.indexOf('Mac')>=0&&navigator.userAgent.indexOf("MSIE")>=0)){batch.req=DWREngine._newActiveXObject(DWREngine._XMLHTTP);}}
var query="method=init&";var prop;if(batch.req){batch.map.xml="true";if(batch.async){batch.req.onreadystatechange=function(){DWREngine._stateChange(batch);};}
var indexSafari=navigator.userAgent.indexOf('Safari/');if(indexSafari>=0){var version=navigator.userAgent.substring(indexSafari+7);var verNum=parseInt(version,10);if(verNum<400){batch.verb=="GET";}}
if(batch.verb=="GET"){batch.map.callCount=""+batch.map.callCount;for(prop in batch.map){var qkey=encodeURIComponent(prop);var qval=encodeURIComponent(batch.map[prop]);if(qval==""){if(DWREngine._warningHandler){DWREngine._warningHandler("Found empty qval for qkey="+qkey);}}
query+=qkey+"="+qval+"&";}
query=query.substring(0,query.length-1);try{batch.req.open("GET",batch.path+"?"+query,batch.async);batch.req.setRequestHeader("Referer",location.href);batch.req.send(null);if(!batch.async){DWREngine._stateChange(batch);}}
catch(ex){DWREngine._handleMetaDataError(null,ex);}}
else{for(prop in batch.map){if(typeof batch.map[prop]!="function"){query+=prop+"="+batch.map[prop]+"&";}}
try{batch.req.open("POST",batch.path,batch.async);batch.req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");batch.req.setRequestHeader("Referer",location.href);batch.req.send(query);if(!batch.async){DWREngine._stateChange(batch);}}
catch(ex){DWREngine._handleMetaDataError(null,ex);}}}
else{batch.map.xml="false";var idname="dwr-if-"+batch.map["c0-id"];batch.div=document.createElement('div');batch.div.innerHTML="<iframe frameborder='0' width='0' height='0' id='"+idname+"' name='"+idname+"'></iframe>";document.body.appendChild(batch.div);batch.iframe=document.getElementById(idname);batch.iframe.setAttribute('style','width:0px; height:0px; border:0px;');if(batch.verb=="GET"){for(prop in batch.map){if(typeof batch.map[prop]!="function"){query+=encodeURIComponent(prop)+"="+encodeURIComponent(batch.map[prop])+"&";}}
query=query.substring(0,query.length-1);batch.iframe.setAttribute('src',batch.path+"?"+query);document.body.appendChild(batch.iframe);}
else{batch.form=document.createElement('form');batch.form.setAttribute('id','dwr-form');batch.form.setAttribute('action',batch.path);batch.form.setAttribute('target',idname);batch.form.target=idname;batch.form.setAttribute('method','post');for(prop in batch.map){var formInput=document.createElement('input');formInput.setAttribute('type','hidden');formInput.setAttribute('name',prop);formInput.setAttribute('value',batch.map[prop]);batch.form.appendChild(formInput);}
document.body.appendChild(batch.form);batch.form.submit();}}};DWREngine._stateChange=function(batch){if(!batch.completed&&batch.req.readyState==4){try{var reply=batch.req.responseText.replace(/<meta name="coldfusionmxedition"[^>]*>/gi,"");var status=batch.req.status;if(reply==null||reply==""){DWREngine._handleMetaDataError(null,"No data received from server");return;}
if(reply.search("DWREngine._handle")==-1){DWREngine._handleMetaDataError(null,"Invalid reply from server");return;}
if(status!=200){if(reply==null)reply="Unknown error occured";DWREngine._handleMetaDataError(null,reply);return;}
eval(reply);DWREngine._clearUp(batch);}
catch(ex){if(ex==null)ex="Unknown error occured";DWREngine._handleMetaDataError(null,ex);}
finally{if(DWREngine._batchQueue.length!=0){var sendbatch=DWREngine._batchQueue.shift();DWREngine._sendData(sendbatch);DWREngine._batches[DWREngine._batches.length]=sendbatch;}}}};DWREngine._handleResponse=function(id,reply){var handlers=DWREngine._handlersMap[id];DWREngine._handlersMap[id]=null;if(handlers){try{if(handlers.callback)handlers.callback(reply);}
catch(ex){DWREngine._handleMetaDataError(handlers,ex);}}
if(DWREngine._method==DWREngine.IFrame){var responseBatch=DWREngine._batches[DWREngine._batches.length-1];if(responseBatch.map["c"+(responseBatch.map.callCount-1)+"-id"]==id){DWREngine._clearUp(responseBatch);}}};DWREngine._handleServerError=function(id,error){var handlers=DWREngine._handlersMap[id];DWREngine._handlersMap[id]=null;if(error.message){DWREngine._handleMetaDataError(handlers,error.message,error);}
else{DWREngine._handleMetaDataError(handlers,error);}};DWREngine._abortRequest=function(batch){if(batch&&batch.metadata!=null&&!batch.completed){DWREngine._clearUp(batch);if(batch.req)batch.req.abort();var handlers;var id;for(var i=0;i<batch.ids.length;i++){id=batch.ids[i];handlers=DWREngine._handlersMap[id];DWREngine._handleMetaDataError(handlers,"Timeout");}}};DWREngine._clearUp=function(batch){if(batch.completed){alert("double complete");return;}
if(batch.div)batch.div.parentNode.removeChild(batch.div);if(batch.iframe)batch.iframe.parentNode.removeChild(batch.iframe);if(batch.form)batch.form.parentNode.removeChild(batch.form);if(batch.req)delete batch.req;for(var i=0;i<batch.postHooks.length;i++){batch.postHooks[i]();}
batch.postHooks=null;for(var i=0;i<DWREngine._batches.length;i++){if(DWREngine._batches[i]==batch){DWREngine._batches.splice(i,1);break;}}
batch.completed=true;};DWREngine._handleError=function(reason,ex){if(DWREngine._errorHandler){DWREngine._errorHandler(reason,ex);}};DWREngine._handleMetaDataError=function(handlers,reason,ex){if(handlers&&typeof handlers.errorHandler=="function"){handlers.errorHandler(reason,ex);}
else{DWREngine._handleError(reason,ex);}};DWREngine._addSerializeFunctions=function(){Object.prototype.dwrSerialize=DWREngine._serializeObject;Array.prototype.dwrSerialize=DWREngine._serializeArray;Boolean.prototype.dwrSerialize=DWREngine._serializeBoolean;Number.prototype.dwrSerialize=DWREngine._serializeNumber;String.prototype.dwrSerialize=DWREngine._serializeString;Date.prototype.dwrSerialize=DWREngine._serializeDate;};DWREngine._removeSerializeFunctions=function(){delete Object.prototype.dwrSerialize;delete Array.prototype.dwrSerialize;delete Boolean.prototype.dwrSerialize;delete Number.prototype.dwrSerialize;delete String.prototype.dwrSerialize;delete Date.prototype.dwrSerialize;};DWREngine._serializeAll=function(batch,referto,data,name){if(data==null){batch.map[name]="null:null";return;}
switch(typeof data){case"boolean":batch.map[name]="boolean:"+data;break;case"number":batch.map[name]="number:"+data;break;case"string":batch.map[name]="string:"+encodeURIComponent(data);break;case"object":if(data.dwrSerialize){batch.map[name]=data.dwrSerialize(batch,referto,data,name);}
else if(data.nodeName){batch.map[name]=DWREngine._serializeXml(batch,referto,data,name);}
else{if(DWREngine._warningHandler){DWREngine._warningHandler("Object without dwrSerialize: "+typeof data+", attempting default converter.");}
batch.map[name]="default:"+data;}
break;case"function":break;default:if(DWREngine._warningHandler){DWREngine._warningHandler("Unexpected type: "+typeof data+", attempting default converter.");}
batch.map[name]="default:"+data;break;}};DWREngine._lookup=function(referto,data,name){var lookup;for(var i=0;i<referto.length;i++){if(referto[i].data==data){lookup=referto[i];break;}}
if(lookup){return"reference:"+lookup.name;}
referto.push({data:data,name:name});return null;};DWREngine._serializeObject=function(batch,referto,data,name){var ref=DWREngine._lookup(referto,this,name);if(ref)return ref;if(data.nodeName){return DWREngine._serializeXml(batch,referto,data,name);}
var reply="Object:{";var element;for(element in this){if(element!="dwrSerialize"){batch.paramCount++;var childName="c"+DWREngine._batch.map.callCount+"-e"+batch.paramCount;DWREngine._serializeAll(batch,referto,this[element],childName);reply+=encodeURIComponent(element);reply+=":reference:";reply+=childName;reply+=", ";}}
if(reply.substring(reply.length-2)==", "){reply=reply.substring(0,reply.length-2);}
reply+="}";return reply;};DWREngine._serializeXml=function(batch,referto,data,name){var ref=DWREngine._lookup(referto,this,name);if(ref){return ref;}
var output;if(window.XMLSerializer){var serializer=new XMLSerializer();output=serializer.serializeToString(data);}
else{output=data.toXml;}
return"XML:"+encodeURIComponent(output);};DWREngine._serializeArray=function(batch,referto,data,name){var ref=DWREngine._lookup(referto,this,name);if(ref)return ref;var reply="Array:[";for(var i=0;i<this.length;i++){if(i!=0){reply+=",";}
batch.paramCount++;var childName="c"+DWREngine._batch.map.callCount+"-e"+batch.paramCount;DWREngine._serializeAll(batch,referto,this[i],childName);reply+="reference:";reply+=childName;}
reply+="]";return reply;};DWREngine._serializeBoolean=function(batch,referto,data,name){return"Boolean:"+this;};DWREngine._serializeNumber=function(batch,referto,data,name){return"Number:"+this;};DWREngine._serializeString=function(batch,referto,data,name){return"String:"+encodeURIComponent(this);};DWREngine._serializeDate=function(batch,referto,data,name){return"Date:"+this.getTime();};DWREngine._unserializeDocument=function(xml){var dom;if(window.DOMParser){var parser=new DOMParser();dom=parser.parseFromString(xml,"text/xml");if(!dom.documentElement||dom.documentElement.tagName=="parsererror"){var message=dom.documentElement.firstChild.data;message+="\n"+dom.documentElement.firstChild.nextSibling.firstChild.data;throw message;}
return dom;}
else if(window.ActiveXObject){dom=DWREngine._newActiveXObject(DWREngine._DOMDocument);dom.loadXML(xml);return dom;}
else{var div=document.createElement('div');div.innerHTML=xml;return div;}};DWREngine._newActiveXObject=function(axarray){var returnValue;for(var i=0;i<axarray.length;i++){try{returnValue=new ActiveXObject(axarray[i]);break;}
catch(ex){}}
return returnValue;};if(typeof window.encodeURIComponent==='undefined'){DWREngine._utf8=function(wide){wide=""+wide;var c;var s;var enc="";var i=0;while(i<wide.length){c=wide.charCodeAt(i++);if(c>=0xDC00&&c<0xE000)continue;if(c>=0xD800&&c<0xDC00){if(i>=wide.length)continue;s=wide.charCodeAt(i++);if(s<0xDC00||c>=0xDE00)continue;c=((c-0xD800)<<10)+(s-0xDC00)+0x10000;}
if(c<0x80){enc+=String.fromCharCode(c);}
else if(c<0x800){enc+=String.fromCharCode(0xC0+(c>>6),0x80+(c&0x3F));}
else if(c<0x10000){enc+=String.fromCharCode(0xE0+(c>>12),0x80+(c>>6&0x3F),0x80+(c&0x3F));}
else{enc+=String.fromCharCode(0xF0+(c>>18),0x80+(c>>12&0x3F),0x80+(c>>6&0x3F),0x80+(c&0x3F));}}
return enc;}
DWREngine._hexchars="0123456789ABCDEF";DWREngine._toHex=function(n){return DWREngine._hexchars.charAt(n>>4)+DWREngine._hexchars.charAt(n&0xF);}
DWREngine._okURIchars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";window.encodeURIComponent=function(s){s=DWREngine._utf8(s);var c;var enc="";for(var i=0;i<s.length;i++){if(DWREngine._okURIchars.indexOf(s.charAt(i))==-1){enc+="%"+DWREngine._toHex(s.charCodeAt(i));}
else{enc+=s.charAt(i);}}
return enc;}}
if(typeof Array.prototype.splice==='undefined'){Array.prototype.splice=function(ind,cnt)
{if(arguments.length==0){return ind;}
if(typeof ind!="number"){ind=0;}
if(ind<0){ind=Math.max(0,this.length+ind);}
if(ind>this.length){if(arguments.length>2){ind=this.length;}
else{return[];}}
if(arguments.length<2){cnt=this.length-ind;}
cnt=(typeof cnt=="number")?Math.max(0,cnt):0;removeArray=this.slice(ind,ind+cnt);endArray=this.slice(ind+cnt);this.length=ind;for(var i=2;i<arguments.length;i++){this[this.length]=arguments[i];}
for(i=0;i<endArray.length;i++){this[this.length]=endArray[i];}
return removeArray;}}
if(typeof Array.prototype.shift==='undefined'){Array.prototype.shift=function(str){var val=this[0];for(var i=1;i<this.length;++i){this[i-1]=this[i];}
this.length--;return val;}}
if(typeof Array.prototype.unshift==='undefined'){Array.prototype.unshift=function(){var i=unshift.arguments.length;for(var j=this.length-1;j>=0;--j){this[j+i]=this[j];}
for(j=0;j<i;++j){this[j]=unshift.arguments[j];}}}
if(typeof Array.prototype.push==='undefined'){Array.prototype.push=function(){var sub=this.length;for(var i=0;i<push.arguments.length;++i){this[sub]=push.arguments[i];sub++;}}}
if(typeof Array.prototype.pop==='undefined'){Array.prototype.pop=function(){var lastElement=this[this.length-1];this.length--;return lastElement;}}
function DWRUtil(){}
DWRUtil.onReturn=function(event,action){if(!event){event=window.event;}
if(event&&event.keyCode&&event.keyCode==13){action();}};DWRUtil.selectRange=function(ele,start,end){var orig=ele;ele=$(ele);if(ele==null){DWRUtil.debug("selectRange() can't find an element with id: "+orig+".");return;}
if(ele.setSelectionRange){ele.setSelectionRange(start,end);}
else if(ele.createTextRange){var range=ele.createTextRange();range.moveStart("character",start);range.moveEnd("character",end-ele.value.length);range.select();}
ele.focus();};var $;if(!$&&document.getElementById){$=function(){var elements=new Array();for(var i=0;i<arguments.length;i++){var element=arguments[i];if(typeof element=='string'){element=document.getElementById(element);}
if(arguments.length==1){return element;}
elements.push(element);}
return elements;}}
else if(!$&&document.all){$=function(){var elements=new Array();for(var i=0;i<arguments.length;i++){var element=arguments[i];if(typeof element=='string'){element=document.all[element];}
if(arguments.length==1){return element;}
elements.push(element);}
return elements;}}
DWRUtil.toDescriptiveString=function(data,level,depth){var reply="";var i=0;var value;var obj;if(level==null)level=0;if(depth==null)depth=0;if(data==null)return"null";if(DWRUtil._isArray(data)){if(data.length==0)reply+="[]";else{if(level!=0)reply+="[\n";else reply="[";for(i=0;i<data.length;i++){try{obj=data[i];if(obj==null||typeof obj=="function"){continue;}
else if(typeof obj=="object"){if(level>0)value=DWRUtil.toDescriptiveString(obj,level-1,depth+1);else value=DWRUtil._detailedTypeOf(obj);}
else{value=""+obj;value=value.replace(/\/n/g,"\\n");value=value.replace(/\/t/g,"\\t");}}
catch(ex){value=""+ex;}
if(level!=0){reply+=DWRUtil._indent(level,depth+2)+value+", \n";}
else{if(value.length>13)value=value.substring(0,10)+"...";reply+=value+", ";if(i>5){reply+="...";break;}}}
if(level!=0)reply+=DWRUtil._indent(level,depth)+"]";else reply+="]";}
return reply;}
if(typeof data=="string"||typeof data=="number"||DWRUtil._isDate(data)){return data.toString();}
if(typeof data=="object"){var typename=DWRUtil._detailedTypeOf(data);if(typename!="Object")reply=typename+" ";if(level!=0)reply+="{\n";else reply="{";var isHtml=DWRUtil._isHTMLElement(data);for(var prop in data){if(isHtml){if(prop.toUpperCase()==prop||prop=="title"||prop=="lang"||prop=="dir"||prop=="className"||prop=="form"||prop=="name"||prop=="prefix"||prop=="namespaceURI"||prop=="nodeType"||prop=="firstChild"||prop=="lastChild"||prop.match(/^offset/)){continue;}}
value="";try{obj=data[prop];if(obj==null||typeof obj=="function"){continue;}
else if(typeof obj=="object"){if(level>0){value="\n";value+=DWRUtil._indent(level,depth+2);value=DWRUtil.toDescriptiveString(obj,level-1,depth+1);}
else{value=DWRUtil._detailedTypeOf(obj);}}
else{value=""+obj;value=value.replace(/\/n/g,"\\n");value=value.replace(/\/t/g,"\\t");}}
catch(ex){value=""+ex;}
if(level==0&&value.length>13)value=value.substring(0,10)+"...";var propStr=prop;if(propStr.length>30)propStr=propStr.substring(0,27)+"...";if(level!=0)reply+=DWRUtil._indent(level,depth+1);reply+=prop+":"+value+", ";if(level!=0)reply+="\n";i++;if(level==0&&i>5){reply+="...";break;}}
reply+=DWRUtil._indent(level,depth);reply+="}";return reply;}
return data.toString();};DWRUtil._indent=function(level,depth){var reply="";if(level!=0){for(var j=0;j<depth;j++){reply+="\u00A0\u00A0";}
reply+=" ";}
return reply;};DWRUtil.useLoadingMessage=function(message){var loadingMessage;if(message)loadingMessage=message;else loadingMessage="Loading";DWREngine.setPreHook(function(){var disabledZone=$('disabledZone');if(!disabledZone){disabledZone=document.createElement('div');disabledZone.setAttribute('id','disabledZone');disabledZone.style.position="absolute";disabledZone.style.zIndex="1000";disabledZone.style.left="0px";disabledZone.style.top="0px";disabledZone.style.width="100%";disabledZone.style.height="100%";document.body.appendChild(disabledZone);var messageZone=document.createElement('div');messageZone.setAttribute('id','messageZone');messageZone.style.position="absolute";messageZone.style.top="0px";messageZone.style.right="0px";messageZone.style.background="red";messageZone.style.color="white";messageZone.style.fontFamily="Arial,Helvetica,sans-serif";messageZone.style.padding="4px";disabledZone.appendChild(messageZone);var text=document.createTextNode(loadingMessage);messageZone.appendChild(text);}
else{$('messageZone').innerHTML=loadingMessage;disabledZone.style.visibility='visible';}});DWREngine.setPostHook(function(){$('disabledZone').style.visibility='hidden';});}
DWRUtil.setValue=function(ele,val){if(val==null)val="";var orig=ele;var nodes,i;ele=$(ele);if(ele==null){nodes=document.getElementsByName(orig);if(nodes.length>=1){ele=nodes.item(0);}}
if(ele==null){DWRUtil.debug("setValue() can't find an element with id/name: "+orig+".");return;}
if(DWRUtil._isHTMLElement(ele,"select")){if(ele.type=="select-multiple"&&DWRUtil._isArray(val)){DWRUtil._selectListItems(ele,val);}
else{DWRUtil._selectListItem(ele,val);}
return;}
if(DWRUtil._isHTMLElement(ele,"input")){if(nodes&&ele.type=="radio"){for(i=0;i<nodes.length;i++){if(nodes.item(i).type=="radio"){nodes.item(i).checked=(nodes.item(i).value==val);}}}
else{switch(ele.type){case"checkbox":case"check-box":case"radio":ele.checked=(val==true);return;default:ele.value=val;return;}}}
if(DWRUtil._isHTMLElement(ele,"textarea")){ele.value=val;return;}
if(val.nodeType){if(val.nodeType==9){val=val.documentElement;}
val=DWRUtil._importNode(ele.ownerDocument,val,true);ele.appendChild(val);return;}
ele.innerHTML=val;};DWRUtil._selectListItems=function(ele,val){var found=false;var i;var j;for(i=0;i<ele.options.length;i++){ele.options[i].selected=false;for(j=0;j<val.length;j++){if(ele.options[i].value==val[j]){ele.options[i].selected=true;}}}
if(found)return;for(i=0;i<ele.options.length;i++){for(j=0;j<val.length;j++){if(ele.options[i].text==val[j]){ele.options[i].selected=true;}}}};DWRUtil._selectListItem=function(ele,val){var found=false;var i;for(i=0;i<ele.options.length;i++){if(ele.options[i].value==val){ele.options[i].selected=true;found=true;}
else{ele.options[i].selected=false;}}
if(found)return;for(i=0;i<ele.options.length;i++){if(ele.options[i].text==val){ele.options[i].selected=true;break;}}}
DWRUtil.getValue=function(ele){var orig=ele;ele=$(ele);var nodes=document.getElementsByName(orig);if(ele==null&&nodes.length>=1){ele=nodes.item(0);}
if(ele==null){DWRUtil.debug("getValue() can't find an element with id/name: "+orig+".");return"";}
if(DWRUtil._isHTMLElement(ele,"select")){var sel=ele.selectedIndex;if(sel!=-1){var reply=ele.options[sel].value;if(reply==null||reply==""){reply=ele.options[sel].text;}
return reply;}
else{return"";}}
if(DWRUtil._isHTMLElement(ele,"input")){if(nodes&&ele.type=="radio"){for(i=0;i<nodes.length;i++){if(nodes.item(i).type=="radio"){if(nodes.item(i).checked){return nodes.item(i).value;}}}}
switch(ele.type){case"checkbox":case"check-box":case"radio":return ele.checked;default:return ele.value;}}
if(DWRUtil._isHTMLElement(ele,"textarea")){return ele.value;}
if(ele.textContent)return ele.textContent;else if(ele.innerText)return ele.innerText;return ele.innerHTML;};DWRUtil.getText=function(ele){var orig=ele;ele=$(ele);if(ele==null){DWRUtil.debug("getText() can't find an element with id: "+orig+".");return"";}
if(!DWRUtil._isHTMLElement(ele,"select")){DWRUtil.debug("getText() can only be used with select elements. Attempt to use: "+DWRUtil._detailedTypeOf(ele)+" from  id: "+orig+".");return"";}
var sel=ele.selectedIndex;if(sel!=-1){return ele.options[sel].text;}
else{return"";}};DWRUtil.setValues=function(map){for(var property in map){var ele=$(property);if(ele!=null){var value=map[property];DWRUtil.setValue(property,value);}}};DWRUtil.getValues=function(data){var ele;if(typeof data=="string")ele=$(data);if(DWRUtil._isHTMLElement(data))ele=data;if(ele!=null){if(ele.elements==null){alert("getValues() requires an object or reference to a form element.");return null;}
var reply={};var value;for(var i=0;i<ele.elements.length;i++){if(ele[i].id!=null)value=ele[i].id;else if(ele[i].value!=null)value=ele[i].value;else value="element"+i;reply[value]=DWRUtil.getValue(ele[i]);}
return reply;}
else{for(var property in data){var ele=$(property);if(ele!=null){data[property]=DWRUtil.getValue(property);}}
return data;}};DWRUtil.addOptions=function(ele,data,cellFuncs,options){var orig=ele;ele=$(ele);if(ele==null){DWRUtil.debug("addOptions() can't find an element with id: "+orig+".");return;}
var useOptions=DWRUtil._isHTMLElement(ele,"select");var useLi=DWRUtil._isHTMLElement(ele,["ul","ol"]);if(!useOptions&&!useLi){DWRUtil.debug("addOptions() can only be used with select elements. Attempt to use: "+DWRUtil._detailedTypeOf(ele));return;}
if(data==null)return;if(!options)options={};options.data=data;if(!options.optCreator)options.optCreator=DWRUtil._defaultOptCreator;var rowNum;var text;var value;var opt;if(DWRUtil._isWDDX(data)){for(rowNum=0;rowNum<data.getRowCount();rowNum++){var opt=options.optCreator(options);options.rowData=data.getRow(rowNum);options.rowIndex=rowNum;options.rowNum=rowNum;options.data=null;options.cellNum=-1;opt=DWRUtil._addNewOpt(cellFuncs,options);if(opt!=null)ele.appendChild(opt);}}else if(DWRUtil._isArray(data)){for(var i=0;i<data.length;i++){if(useOptions){if(arguments[2]!=null){if(arguments[3]!=null){text=DWRUtil._getValueFrom(data[i],arguments[3]);value=DWRUtil._getValueFrom(data[i],arguments[2]);}
else{value=DWRUtil._getValueFrom(data[i],arguments[2]);text=value;}}
else
{text=DWRUtil._getValueFrom(data[i],arguments[3]);value=text;}
if(text||value){opt=new Option(text,value);ele.options[ele.options.length]=opt;}}
else{li=document.createElement("li");value=DWRUtil._getValueFrom(data[i],arguments[2]);if(value!=null){li.innerHTML=value;ele.appendChild(li);}}}}
else if(arguments[3]!=null){for(var prop in data){if(!useOptions){alert("DWRUtil.addOptions can only create select lists from objects.");return;}
value=DWRUtil._getValueFrom(data[prop],arguments[2]);text=DWRUtil._getValueFrom(data[prop],arguments[3]);if(text||value){opt=new Option(text,value);ele.options[ele.options.length]=opt;}}}
else{for(var prop in data){if(!useOptions){DWRUtil.debug("DWRUtil.addOptions can only create select lists from objects.");return;}
if(typeof data[prop]=="function"){text=null;value=null;}
else if(arguments[2]){text=prop;value=data[prop];}
else{text=data[prop];value=prop;}
if(text||value){opt=new Option(text,value);ele.options[ele.options.length]=opt;}}}};DWRUtil._getValueFrom=function(data,method){if(method==null)return data;else if(typeof method=='function')return method(data);else return data[method];}
DWRUtil.removeAllOptions=function(ele){var orig=ele;ele=$(ele);if(ele==null){DWRUtil.debug("removeAllOptions() can't find an element with id: "+orig+".");return;}
var useOptions=DWRUtil._isHTMLElement(ele,"select");var useLi=DWRUtil._isHTMLElement(ele,["ul","ol"]);if(!useOptions&&!useLi){DWRUtil.debug("removeAllOptions() can only be used with select, ol and ul elements. Attempt to use: "+DWRUtil._detailedTypeOf(ele));return;}
if(useOptions){ele.options.length=0;}
else{while(ele.childNodes.length>0){ele.removeChild(ele.firstChild);}}};DWRUtil.addRows=function(ele,data,cellFuncs,options){var orig=ele;ele=$(ele);if(ele==null){DWRUtil.debug("addRows() can't find an element with id: "+orig+".");return;}
if(!DWRUtil._isHTMLElement(ele,["table","tbody","thead","tfoot"])){DWRUtil.debug("addRows() can only be used with table, tbody, thead and tfoot elements. Attempt to use: "+DWRUtil._detailedTypeOf(ele));return;}
if(!options)options={};options.data=data;if(!options.rowCreator)options.rowCreator=DWRUtil._defaultRowCreator;if(!options.cellCreator)options.cellCreator=DWRUtil._defaultCellCreator;var tr,rowNum;if(DWRUtil._isWDDX(data)){if(options.includeLabel){var tr=options.rowCreator(options);for(var col in data){if(typeof(data[col])=="object"){var td;td=options.cellCreator({"data":col,"cellNum":rowNum});td.appendChild(document.createTextNode(col));tr.appendChild(td);}}
if(tr!=null)ele.appendChild(tr);}
for(rowNum=0;rowNum<data.getRowCount();rowNum++){var tr=options.rowCreator(options);options.rowData=data.getRow(rowNum);options.rowIndex=rowNum;options.rowNum=rowNum;options.data=null;options.cellNum=-1;tr=DWRUtil._addRowInner(cellFuncs,options);if(tr!=null)ele.appendChild(tr);}}
else if(DWRUtil._isArray(data)){for(rowNum=0;rowNum<data.length;rowNum++){options.rowData=data[rowNum];options.rowIndex=rowNum;options.rowNum=rowNum;options.data=null;options.cellNum=-1;tr=DWRUtil._addRowInner(cellFuncs,options);if(tr!=null)ele.appendChild(tr);}}
else if(typeof data=="object"){rowNum=0;for(var rowIndex in data){if(typeof(data[rowIndex])=="object"){options.rowData=data[rowIndex];options.rowIndex=rowIndex;options.rowNum=rowNum;options.data=null;options.cellNum=-1;tr=DWRUtil._addRowInner(cellFuncs,options);if(tr!=null)ele.appendChild(tr);rowNum++;}}}};DWRUtil._addRowInner=function(cellFuncs,options){var tr=options.rowCreator(options);if(tr==null)return null;for(var cellNum=0;cellNum<cellFuncs.length;cellNum++){var func=cellFuncs[cellNum];var td;if(typeof func=="string"){options.data=null;options.cellNum=cellNum;td=options.cellCreator(options);td.appendChild(document.createTextNode(func));}
else{var reply=func(options.rowData);options.data=reply;options.cellNum=cellNum;td=options.cellCreator(options);if(DWRUtil._isHTMLElement(reply,"td"))td=reply;else if(DWRUtil._isHTMLElement(reply))td.appendChild(reply);else td.innerHTML=reply;}
tr.appendChild(td);}
return tr;};DWRUtil._addNewOpt=function(cellFuncs,options){var opt=options.optCreator(options);if(opt==null)return null;var valFunc=cellFuncs[0];var textFunc=cellFuncs[1];if(typeof valFunc=="string"){options.data=null;opt.value=valFunc;}else{var reply=valFunc(options.rowData);options.data=reply;opt.value=reply;}
if(typeof textFunc=="string"){options.data=null;opt.appendChild(document.createTextNode(textFunc));}else{var reply=textFunc(options.rowData);options.data=reply;opt.appendChild(document.createTextNode(reply));}
return opt;};DWRUtil._defaultRowCreator=function(options){return document.createElement("tr");};DWRUtil._defaultOptCreator=function(options){return document.createElement("option");};DWRUtil._defaultCellCreator=function(options){return document.createElement("td");};DWRUtil.removeAllRows=function(ele){var orig=ele;ele=$(ele);if(ele==null){DWRUtil.debug("removeAllRows() can't find an element with id: "+orig+".");return;}
if(!DWRUtil._isHTMLElement(ele,["table","tbody","thead","tfoot"])){DWRUtil.debug("removeAllRows() can only be used with table, tbody, thead and tfoot elements. Attempt to use: "+DWRUtil._detailedTypeOf(ele));return;}
while(ele.childNodes.length>0){ele.removeChild(ele.firstChild);}};DWRUtil._isHTMLElement=function(ele,nodeName){if(ele==null||typeof ele!="object"||ele.nodeName==null){return false;}
if(nodeName!=null){var test=ele.nodeName.toLowerCase();if(typeof nodeName=="string"){return test==nodeName.toLowerCase();}
if(DWRUtil._isArray(nodeName)){var match=false;for(var i=0;i<nodeName.length&&!match;i++){if(test==nodeName[i].toLowerCase()){match=true;}}
return match;}
DWRUtil.debug("DWRUtil._isHTMLElement was passed test node name that is neither a string or array of strings");return false;}
return true;};DWRUtil._detailedTypeOf=function(x){var reply=typeof x;if(reply=="object"){reply=Object.prototype.toString.apply(x);reply=reply.substring(8,reply.length-1);}
return reply;};DWRUtil._isArray=function(data){return(data&&data.join)?true:false;};DWRUtil._isWDDX=function(data){return(data&&data.dump)?true:false;};DWRUtil._isDate=function(data){return(data&&data.toUTCString)?true:false;};DWRUtil._importNode=function(doc,importedNode,deep){var newNode;if(importedNode.nodeType==1){newNode=doc.createElement(importedNode.nodeName);for(var i=0;i<importedNode.attributes.length;i++){var attr=importedNode.attributes[i];if(attr.nodeValue!=null&&attr.nodeValue!=''){newNode.setAttribute(attr.name,attr.nodeValue);}}
if(typeof importedNode.style!="undefined"){newNode.style.cssText=importedNode.style.cssText;}}
else if(importedNode.nodeType==3){newNode=doc.createTextNode(importedNode.nodeValue);}
if(deep&&importedNode.hasChildNodes()){for(i=0;i<importedNode.childNodes.length;i++){newNode.appendChild(DWRUtil._importNode(doc,importedNode.childNodes[i],true));}}
return newNode;}
DWRUtil.debug=function(message){alert(message);}
DWRUtil.serializeForm=function(frm,vals){if(!vals){var vals={};}
for(var loop=0;loop<frm.elements.length;loop++){var ob=frm.elements[loop];if(ob.type=='text'||ob.type=='select-one'||ob.type=='hidden'||ob.type=='textarea'){vals[ob.name]=ob.value;}
else if((ob.type=='radio')&&(ob.checked==true)){vals[ob.name]=ob.value;}
else if(ob.type=='checkbox'){if(ob.checked==true){if(vals[ob.name]){vals[ob.name]=vals[ob.name]+','+ob.value;}else{vals[ob.name]=ob.value;}}}
else if(frm.elements[loop].type=='select-multiple'){for(var i=0;i<ob.options.length;i++){if(ob.options[i].selected){if(vals[ob.name]){vals[ob.name]=vals[ob.name]+','+ob.options[i].value;}else{vals[ob.name]=ob.options[i].value;}}}}}
return vals;}
function wddxSerializer_serializeValue(obj)
{var bSuccess=true;var val;if(obj==null)
{this.write("<null/>");}
else if(typeof(val=obj.valueOf())=="string")
{this.serializeString(val);}
else if(typeof(val=obj.valueOf())=="number")
{if(typeof(obj.getTimezoneOffset)=="function"&&typeof(obj.toGMTString)=="function")
{this.write("<dateTime>"+
(obj.getYear()<1000?1900+obj.getYear():obj.getYear())+"-"+(obj.getMonth()+1)+"-"+obj.getDate()+"T"+obj.getHours()+":"+obj.getMinutes()+":"+obj.getSeconds());if(this.useTimezoneInfo)
{this.write(this.timezoneString);}
this.write("</dateTime>");}
else
{this.write("<number>"+val+"</number>");}}
else if(typeof(val=obj.valueOf())=="boolean")
{this.write("<boolean value='"+val+"'/>");}
else if(typeof(obj)=="object")
{if(typeof(obj.wddxSerialize)=="function")
{bSuccess=obj.wddxSerialize(this);}
else if(typeof(obj.join)=="function"&&typeof(obj.reverse)=="function"&&typeof(obj.sort)=="function"&&typeof(obj.length)=="number")
{this.write("<array length='"+obj.length+"'>");for(var i=0;bSuccess&&i<obj.length;++i)
{bSuccess=this.serializeValue(obj[i]);}
this.write("</array>");}
else
{if(typeof(obj.wddxSerializationType)=='string')
{this.write('<struct type="'+obj.wddxSerializationType+'">')}
else
{this.write("<struct>");}
for(var prop in obj)
{if(prop!='wddxSerializationType')
{bSuccess=this.serializeVariable(prop,obj[prop]);if(!bSuccess)
{break;}}}
this.write("</struct>");}}
else
{bSuccess=false;}
return bSuccess;}
function wddxSerializer_serializeAttr(s)
{for(var i=0;i<s.length;++i)
{this.write(this.at[s.charAt(i)]);}}
function wddxSerializer_serializeAttrOld(s)
{this.write(s);}
function wddxSerializer_serializeString(s)
{this.write("<string>");for(var i=0;i<s.length;++i)
{if(s.charCodeAt(i)>255)
this.write(s.charAt(i));else
this.write(this.et[s.charAt(i)]);}
this.write("</string>");}
function wddxSerializer_serializeStringOld(s)
{this.write("<string><![CDATA[");pos=s.indexOf("]]>");if(pos!=-1)
{startPos=0;while(pos!=-1)
{this.write(s.substring(startPos,pos)+"]]>]]&gt;<![CDATA[");startPos=pos+3;if(startPos<s.length)
{pos=s.indexOf("]]>",startPos);}
else
{pos=-1;}}
this.write(s.substring(startPos,s.length));}
else
{this.write(s);}
this.write("]]></string>");}
function wddxSerializer_serializeVariable(name,obj)
{var bSuccess=true;if(typeof(obj)!="function")
{this.write("<var name='");this.preserveVarCase?this.serializeAttr(name):this.serializeAttr(name.toLowerCase());this.write("'>");bSuccess=this.serializeValue(obj);this.write("</var>");}
return bSuccess;}
function wddxSerializer_write(str)
{this.wddxPacket[this.wddxPacket.length]=str;}
function wddxSerializer_writeOld(str)
{this.wddxPacket+=str;}
function wddxSerializer_initPacket()
{this.wddxPacket=new Array();}
function wddxSerializer_initPacketOld()
{this.wddxPacket="";}
function wddxSerializer_extractPacket()
{return this.wddxPacket.join("");}
function wddxSerializer_extractPacketOld()
{return this.wddxPacket;}
function wddxSerializer_serialize(rootObj)
{this.initPacket();this.write("<wddxPacket version='1.0'><header/><data>");var bSuccess=this.serializeValue(rootObj);this.write("</data></wddxPacket>");if(bSuccess)
{return this.extractPacket();}
else
{return null;}}
function WddxSerializer()
{if(navigator.appVersion!=""&&navigator.appVersion.indexOf("MSIE 3.")==-1)
{var et=new Array();var n2c=new Array();var c2n=new Array();var at=new Array();for(var i=0;i<256;++i)
{var d1=Math.floor(i/64);var d2=Math.floor((i%64)/8);var d3=i%8;var c=eval("\"\\"+d1.toString(10)+d2.toString(10)+d3.toString(10)+"\"");n2c[i]=c;c2n[c]=i;if(i<32&&i!=9&&i!=10&&i!=13)
{var hex=i.toString(16);if(hex.length==1)
{hex="0"+hex;}
et[n2c[i]]="<char code='"+hex+"'/>";at[n2c[i]]="";}
else if(i<128)
{et[n2c[i]]=n2c[i];at[n2c[i]]=n2c[i];}
else
{et[n2c[i]]="&#x"+i.toString(16)+";";at[n2c[i]]="&#x"+i.toString(16)+";";}}
et["<"]="&lt;";et[">"]="&gt;";et["&"]="&amp;";at["<"]="&lt;";at[">"]="&gt;";at["&"]="&amp;";at["'"]="&apos;";at["\""]="&quot;";this.n2c=n2c;this.c2n=c2n;this.et=et;this.at=at;this.serializeString=wddxSerializer_serializeString;this.serializeAttr=wddxSerializer_serializeAttr;this.write=wddxSerializer_write;this.initPacket=wddxSerializer_initPacket;this.extractPacket=wddxSerializer_extractPacket;}
else
{this.serializeString=wddxSerializer_serializeStringOld;this.serializeAttr=wddxSerializer_serializeAttrOld;this.write=wddxSerializer_writeOld;this.initPacket=wddxSerializer_initPacketOld;this.extractPacket=wddxSerializer_extractPacketOld;}
var tzOffset=(new Date()).getTimezoneOffset();if(tzOffset>=0)
{this.timezoneString='-';}
else
{this.timezoneString='+';}
this.timezoneString+=Math.floor(Math.abs(tzOffset)/60)+":"+(Math.abs(tzOffset)%60);this.preserveVarCase=false;this.useTimezoneInfo=true;this.serialize=wddxSerializer_serialize;this.serializeValue=wddxSerializer_serializeValue;this.serializeVariable=wddxSerializer_serializeVariable;}
function wddxRecordset_isColumn(name)
{return(typeof(this[name])=="object"&&name.indexOf("_private_")==-1);}
function wddxRecordset_getRowCount()
{var nRowCount=0;for(var col in this)
{if(this.isColumn(col))
{nRowCount=this[col].length;break;}}
return nRowCount;}
function wddxRecordset_addColumn(name)
{var nLen=this.getRowCount();var colValue=new Array(nLen);for(var i=0;i<nLen;++i)
{colValue[i]=null;}
this[this.preserveFieldCase?name:name.toLowerCase()]=colValue;}
function wddxRecordset_addRows(n)
{for(var col in this)
{if(this.isColumn(col))
{var nLen=this[col].length;for(var i=nLen;i<nLen+n;++i)
{this[col][i]=null;}}}}
function wddxRecordset_getRow(row)
{var thisRow=new Object;for(var col in this)
{if(this.isColumn(col))
{thisRow[col]=this[col][row]}}
return thisRow;}
function wddxRecordset_getField(row,col)
{return this[this.preserveFieldCase?col:col.toLowerCase()][row];}
function wddxRecordset_setField(row,col,value)
{this[this.preserveFieldCase?col:col.toLowerCase()][row]=value;}
function wddxRecordset_wddxSerialize(serializer)
{var colNamesList="";var colNames=new Array();var i=0;for(var col in this)
{if(this.isColumn(col))
{colNames[i++]=col;if(colNamesList.length>0)
{colNamesList+=",";}
colNamesList+=col;}}
var nRows=this.getRowCount();serializer.write("<recordset rowCount='"+nRows+"' fieldNames='"+colNamesList+"'>");var bSuccess=true;for(i=0;bSuccess&&i<colNames.length;i++)
{var name=colNames[i];serializer.write("<field name='"+name+"'>");for(var row=0;bSuccess&&row<nRows;row++)
{bSuccess=serializer.serializeValue(this[name][row]);}
serializer.write("</field>");}
serializer.write("</recordset>");return bSuccess;}
function wddxRecordset_dump(escapeStrings)
{var nRows=this.getRowCount();var colNames=new Array();var i=0;for(var col in this)
{if(typeof(this[col])=="object")
{colNames[i++]=col;}}
var o="<table border=1><tr><td><b>RowNumber</b></td>";for(i=0;i<colNames.length;++i)
{o+="<td><b>"+colNames[i]+"</b></td>";}
o+="</tr>";for(var row=0;row<nRows;++row)
{o+="<tr><td>"+row+"</td>";for(i=0;i<colNames.length;++i)
{var elem=this.getField(row,colNames[i]);if(escapeStrings&&typeof(elem)=="string")
{var str="";for(var j=0;j<elem.length;++j)
{var ch=elem.charAt(j);if(ch=='<')
{str+="&lt;";}
else if(ch=='>')
{str+="&gt;";}
else if(ch=='&')
{str+="&amp;";}
else
{str+=ch;}}
o+=("<td>"+str+"</td>");}
else
{o+=("<td>"+elem+"</td>");}}
o+="</tr>";}
o+="</table>";return o;}
function WddxRecordset()
{this.preserveFieldCase=false;if(typeof(wddxRecordsetExtensions)=="object")
{for(var prop in wddxRecordsetExtensions)
{this[prop]=wddxRecordsetExtensions[prop]}}
this.getRowCount=wddxRecordset_getRowCount;this.addColumn=wddxRecordset_addColumn;this.addRows=wddxRecordset_addRows;this.isColumn=wddxRecordset_isColumn;this.getField=wddxRecordset_getField;this.getRow=wddxRecordset_getRow;this.setField=wddxRecordset_setField;this.wddxSerialize=wddxRecordset_wddxSerialize;this.dump=wddxRecordset_dump;if(WddxRecordset.arguments.length>0)
{if(typeof(val=WddxRecordset.arguments[0].valueOf())=="boolean")
{this.preserveFieldCase=WddxRecordset.arguments[0];}
else
{var cols=WddxRecordset.arguments[0];var nLen=0;if(WddxRecordset.arguments.length>1)
{if(typeof(val=WddxRecordset.arguments[1].valueOf())=="boolean")
{this.preserveFieldCase=WddxRecordset.arguments[1];}
else
{nLen=WddxRecordset.arguments[1];if(WddxRecordset.arguments.length>2)
{this.preserveFieldCase=WddxRecordset.arguments[2];}}}
for(var i=0;i<cols.length;++i)
{var colValue=new Array(nLen);for(var j=0;j<nLen;++j)
{colValue[j]=null;}
this[this.preserveFieldCase?cols[i]:cols[i].toLowerCase()]=colValue;}}}}
function registerWddxRecordsetExtension(name,func)
{if(typeof(name)=="string"&&typeof(func)=="function")
{if(typeof(wddxRecordsetExtensions)!="object")
{wddxRecordsetExtensions=new Object();}
wddxRecordsetExtensions[name]=func;}}
function wddxBinary_wddxSerialize(serializer)
{serializer.write("<binary encoding='"+this.encoding+"'>"+this.data+"</binary>");return true;}
function WddxBinary(data,encoding)
{this.data=data!=null?data:"";this.encoding=encoding!=null?encoding:"base64";this.wddxSerialize=wddxBinary_wddxSerialize;}