function wddxSerializer_serializeValue(obj){
var _48=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"){
_48=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;_48&&i<obj.length;++i){
_48=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 _4b in obj){
if(_4b!="wddxSerializationType"){
_48=this.serializeVariable(_4b,obj[_4b]);
if(!_48){
break;
}
}
}
this.write("</struct>");
}
}
}else{
_48=false;
}
}
}
}
}
return _48;
}
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(_52,obj){
var _54=true;
if(typeof (obj)!="function"){
this.write("<var name='");
this.preserveVarCase?this.serializeAttr(_52):this.serializeAttr(_52.toLowerCase());
this.write("'>");
_54=this.serializeValue(obj);
this.write("</var>");
}
return _54;
}
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(_57){
this.initPacket();
this.write("<wddxPacket version='1.0'><header/><data>");
var _58=this.serializeValue(_57);
this.write("</data></wddxPacket>");
if(_58){
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 _63=(new Date()).getTimezoneOffset();
if(_63>=0){
this.timezoneString="-";
}else{
this.timezoneString="+";
}
this.timezoneString+=Math.floor(Math.abs(_63)/60)+":"+(Math.abs(_63)%60);
this.preserveVarCase=false;
this.useTimezoneInfo=true;
this.serialize=wddxSerializer_serialize;
this.serializeValue=wddxSerializer_serializeValue;
this.serializeVariable=wddxSerializer_serializeVariable;
}
function wddxRecordset_isColumn(_64){
return (typeof (this[_64])=="object"&&_64.indexOf("_private_")==-1);
}
function wddxRecordset_getRowCount(){
var _65=0;
for(var col in this){
if(this.isColumn(col)){
_65=this[col].length;
break;
}
}
return _65;
}
function wddxRecordset_addColumn(_67){
var _68=this.getRowCount();
var _69=new Array(_68);
for(var i=0;i<_68;++i){
_69[i]=null;
}
this[this.preserveFieldCase?_67:_67.toLowerCase()]=_69;
}
function wddxRecordset_addRows(n){
for(var col in this){
if(this.isColumn(col)){
var _6d=this[col].length;
for(var i=_6d;i<_6d+n;++i){
this[col][i]=null;
}
}
}
}
function wddxRecordset_getField(row,col){
return this[this.preserveFieldCase?col:col.toLowerCase()][row];
}
function wddxRecordset_setField(row,col,_73){
this[this.preserveFieldCase?col:col.toLowerCase()][row]=_73;
}
function wddxRecordset_wddxSerialize(_74){
var _75="";
var _76=new Array();
var i=0;
for(var col in this){
if(this.isColumn(col)){
_76[i++]=col;
if(_75.length>0){
_75+=",";
}
_75+=col;
}
}
var _79=this.getRowCount();
_74.write("<recordset rowCount='"+_79+"' fieldNames='"+_75+"'>");
var _7a=true;
for(i=0;_7a&&i<_76.length;i++){
var _7b=_76[i];
_74.write("<field name='"+_7b+"'>");
for(var row=0;_7a&&row<_79;row++){
_7a=_74.serializeValue(this[_7b][row]);
}
_74.write("</field>");
}
_74.write("</recordset>");
return _7a;
}
function wddxRecordset_dump(_7d){
var _7e=this.getRowCount();
var _7f=new Array();
var i=0;
for(var col in this){
if(typeof (this[col])=="object"){
_7f[i++]=col;
}
}
var o="<table border=1><tr><td><b>RowNumber</b></td>";
for(i=0;i<_7f.length;++i){
o+="<td><b>"+_7f[i]+"</b></td>";
}
o+="</tr>";
for(var row=0;row<_7e;++row){
o+="<tr><td>"+row+"</td>";
for(i=0;i<_7f.length;++i){
var _84=this.getField(row,_7f[i]);
if(_7d&&typeof (_84)=="string"){
var str="";
for(var j=0;j<_84.length;++j){
var ch=_84.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>"+_84+"</td>");
}
}
o+="</tr>";
}
o+="</table>";
return o;
}
function WddxRecordset(){
this.preserveFieldCase=false;
if(typeof (wddxRecordsetExtensions)=="object"){
for(var _88 in wddxRecordsetExtensions){
this[_88]=wddxRecordsetExtensions[_88];
}
}
this.getRowCount=wddxRecordset_getRowCount;
this.addColumn=wddxRecordset_addColumn;
this.addRows=wddxRecordset_addRows;
this.isColumn=wddxRecordset_isColumn;
this.getField=wddxRecordset_getField;
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 _89=WddxRecordset.arguments[0];
var _8a=0;
if(WddxRecordset.arguments.length>1){
if(typeof (val=WddxRecordset.arguments[1].valueOf())=="boolean"){
this.preserveFieldCase=WddxRecordset.arguments[1];
}else{
_8a=WddxRecordset.arguments[1];
if(WddxRecordset.arguments.length>2){
this.preserveFieldCase=WddxRecordset.arguments[2];
}
}
}
for(var i=0;i<_89.length;++i){
var _8c=new Array(_8a);
for(var j=0;j<_8a;++j){
_8c[j]=null;
}
this[this.preserveFieldCase?_89[i]:_89[i].toLowerCase()]=_8c;
}
}
}
}
function registerWddxRecordsetExtension(_8e,_8f){
if(typeof (_8e)=="string"&&typeof (_8f)=="function"){
if(typeof (wddxRecordsetExtensions)!="object"){
wddxRecordsetExtensions=new Object();
}
wddxRecordsetExtensions[_8e]=_8f;
}
}
function wddxBinary_wddxSerialize(_90){
_90.write("<binary encoding='"+this.encoding+"'>"+this.data+"</binary>");
return true;
}
function WddxBinary(_91,_92){
this.data=_91!=null?_91:"";
this.encoding=_92!=null?_92:"base64";
this.wddxSerialize=wddxBinary_wddxSerialize;
}

