var Header=function(){this.code=-1;this.message="";};Header.prototype={resolve:function(xmlDoc){this.code=xmlDoc.getElementsByTagName("code")[0].firstChild.nodeValue;if(xmlDoc.getElementsByTagName("message")[0].firstChild)
this.message=unescape(xmlDoc.getElementsByTagName("message")[0].firstChild.nodeValue);else
this.message="";},toString:function(){return"<header><code>"+this.code+"</code><message>"+this.message+"</message></header>";}}
var Property=function(){this.name="";this.type="";this.value="";};Property.prototype={resolve:function(xmlDoc){this.name=xmlDoc.getAttribute("name");this.type=xmlDoc.getAttribute("type");if(xmlDoc.firstChild){this.value=unescape(xmlDoc.firstChild.nodeValue);}else{this.value="";}},toString:function(){return"<pro name=\""+this.name+"\" type=\""+this.type+"\">"+this.value+"</pro>";}}
var Item=function(){this.index=-1;this.properties=[];};Item.prototype={resolve:function(xmlDoc){this.index=xmlDoc.getAttribute("index");var proDocs=xmlDoc.getElementsByTagName("pro");for(var m=0;m<proDocs.length;m++){var pro=new Property();pro.resolve(proDocs[m]);this.properties[this.properties.length]=pro;this.properties[pro.name]=pro;}},toString:function(){var str="<item index=\""+this.index+"\">";for(var m=0;m<this.properties.length;m++){str+=this.properties[m].toString();}
str+="</item>";return str;}}
var Set=function(){this.name="";this.segSize=10;this.segCount=0;this.total=0;this.segIndex=1;this.sortField="";this.sortType="";this.items=[];};Set.prototype={resolve:function(xmlDoc){this.name=xmlDoc.getAttribute("name");this.segSize=xmlDoc.getAttribute("segSize");this.segCount=xmlDoc.getAttribute("segCount");this.total=xmlDoc.getAttribute("total");this.segIndex=xmlDoc.getAttribute("segIndex");this.sortField=xmlDoc.getAttribute("sortField");this.sortType=xmlDoc.getAttribute("sortType");var itemDocs=xmlDoc.getElementsByTagName("item");for(var m=0;m<itemDocs.length;m++){var item=new Item();item.resolve(itemDocs[m]);this.items[this.items.length]=item;}},toString:function(){var str="<set segSize=\""+this.segSize+"\" segCount=\""+this.segCount+"\" total=\""+this.total+"\" segIndex=\""+this.segIndex+"\" sortField=\""+this.sortField+"\" sortType=\""+this.sortType+"\">";for(var m=0;m<this.items.length;m++){str+=this.items[m].toString();}
str+="</set>";return str;}}
var Body=function(){this.set=new Set();};Body.prototype={resolve:function(xmlDoc){if(xmlDoc.firstChild)
this.set.resolve(xmlDoc.firstChild);},toString:function(){return"<body>"+this.set.toString()+"</body>";}}
var Response=function(){this.header=new Header();this.body=new Body();};Response.prototype={resolve:function(xmlDoc){var headerDocs=xmlDoc.getElementsByTagName("header");if(headerDocs.length>0)
this.header.resolve(headerDocs[0]);var bodyDocs=xmlDoc.getElementsByTagName("body");if(bodyDocs.length>0)
this.body.resolve(bodyDocs[0]);},toString:function(){return"<resp>"+this.header.toString()+this.body.toString()+"</resp>";}}