var AbstractResponseParser=function(){this.getArray=function(){return null
}
};
var DefaultResponseParser=Class.create();
var ResponseTextParser=Class.create();
var ResponseXmlParser=Class.create();
var ResponseHtmlParser=Class.create();
var ResponseXmlToHtmlParser=Class.create();
var ResponseCallBackXmlParser=Class.create();
var ResponsePlainTextXmlToHtmlParser=Class.create();
var ResponseXmlToHtmlListParser=Class.create();
var ResponseXmlToHtmlLinkListParser=Class.create();
DefaultResponseParser.prototype=Object.extend(new AbstractResponseParser(),{initialize:function(){this.type="xml"
},getArray:function(){return this.itemList
},load:function(A){this.content=A.responseXML;
this.parse();
this.prepareData(this.itemList)
},prepareData:function(A){},parse:function(){root=this.content.documentElement;
responseNodes=root.getElementsByTagName("response");
this.itemList=[];
if(responseNodes.length>0){responseNode=responseNodes[0];
itemNodes=responseNode.getElementsByTagName("item");
for(i=0;
i<itemNodes.length;
i++){nameNodes=itemNodes[i].getElementsByTagName("name");
valueNodes=itemNodes[i].getElementsByTagName("value");
if(nameNodes.length>0&&valueNodes.length>0){name=nameNodes[0].firstChild?nameNodes[0].firstChild.nodeValue:"";
myData=[];
myData.push(name);
for(j=0;
j<valueNodes.length;
j++){value=valueNodes[j].firstChild?valueNodes[j].firstChild.nodeValue:"";
myData.push(value)
}this.itemList.push(myData)
}}}}});
ResponseTextParser.prototype=Object.extend(new AbstractResponseParser(),{initialize:function(){this.type="text"
},load:function(A){this.content=A.responseText;
this.split()
},split:function(){this.itemList=[];
var A=this.content.split("\n");
for(i=0;
i<A.length;
i++){this.itemList.push(A[i].split(","))
}}});
ResponseXmlParser.prototype=Object.extend(new DefaultResponseParser(),{prepareData:function(B,A){}});
ResponseHtmlParser.prototype=Object.extend(new AbstractResponseParser(),{initialize:function(){this.type="html"
},load:function(A){this.content=A.responseText
}});
ResponseXmlToHtmlParser.prototype=Object.extend(new DefaultResponseParser(),{initialize:function(){this.type="xmltohtml";
this.plaintext=false
},prepareData:function(A){this.contentdiv=document.createElement("div");
for(i=0;
i<A.length;
i++){h1=document.createElement("h1");
if(!this.plaintext){h1.innerHTML+=A[i][0]
}else{h1.appendChild(document.createTextNode(A[i][0]))
}this.contentdiv.appendChild(h1);
for(j=1;
j<A[i].length;
j++){div=document.createElement("div");
if(!this.plaintext){div.innerHTML+=A[i][j]
}else{div.appendChild(document.createTextNode(A[i][j]))
}this.contentdiv.appendChild(div)
}}if(A.length>=1){this.content=this.contentdiv.innerHTML
}else{this.content=""
}}});
ResponseCallBackXmlParser.prototype=Object.extend(new DefaultResponseParser(),{initialize:function(){this.type="xml"
},prepareData:function(A){this.items=[];
for(i=0;
i<A.length;
i++){this.items.push([A[i][0],A[i][1],(A[i][2]?true:false)])
}}});
ResponsePlainTextXmlToHtmlParser.prototype=Object.extend(new ResponseXmlToHtmlParser(),{initialize:function(){this.type="xmltohtml";
this.plaintext=true
}});
ResponseXmlToHtmlListParser.prototype=Object.extend(new DefaultResponseParser(),{initialize:function(){this.type="xmltohtmllist";
this.plaintext=true
},prepareData:function(A){this.contentdiv=document.createElement("div");
ul=document.createElement("ul");
for(i=0;
i<A.length;
i++){liElement=document.createElement("li");
liElement.id=A[i][1];
if(this.plaintext){liElement.appendChild(document.createTextNode(A[i][0]))
}else{liElement.innerHTML=A[i][0]
}ul.appendChild(liElement)
}this.contentdiv.appendChild(ul);
this.content=this.contentdiv.innerHTML
}});
ResponseXmlToHtmlLinkListParser.prototype=Object.extend(new AbstractResponseParser(),{initialize:function(){this.type="xmltohtmllinklist"
},load:function(A){this.xml=A.responseXML;
this.collapsedClass=A.collapsedClass;
this.treeClass=A.treeClass;
this.nodeClass=A.nodeClass;
this.expandedNodes=[];
this.parse()
},parse:function(){var D=document.createElement("ul");
D.className=this.treeClass;
var A=this.xml.documentElement;
var B=A.getElementsByTagName("response");
if(B.length>0){responseNode=B[0];
itemNodes=responseNode.getElementsByTagName("item");
if(itemNodes.length===0){D=null
}for(i=0;
i<itemNodes.length;
i++){nameNodes=itemNodes[i].getElementsByTagName("name");
valueNodes=itemNodes[i].getElementsByTagName("value");
urlNodes=itemNodes[i].getElementsByTagName("url");
collapsedNodes=itemNodes[i].getElementsByTagName("collapsed");
leafnodes=itemNodes[i].getElementsByTagName("leaf");
if(nameNodes.length>0&&valueNodes.length>0){name=nameNodes[0].firstChild.nodeValue;
value=valueNodes[0].firstChild.nodeValue;
url="#";
try{url=urlNodes[0].firstChild.nodeValue
}catch(C){}leaf=false;
try{leaf=leafnodes[0].firstChild.nodeValue
}catch(C){}collapsed=false;
try{collapsed=parseBoolean(collapsedNodes[0].firstChild.nodeValue)
}catch(C){}li=document.createElement("li");
li.id="li_"+value;
D.appendChild(li);
if(!parseBoolean(leaf)){span=document.createElement("span");
li.appendChild(span);
span.id="span_"+value;
span.className=this.collapsedClass
}link=document.createElement("a");
li.appendChild(link);
link.href=url;
link.className=this.nodeClass;
link.appendChild(document.createTextNode(name));
div=document.createElement("div");
li.appendChild(div);
div.id=value;
div.setAttribute("style","");
div.style.display="none";
if(!collapsed){this.expandedNodes.push(value)
}}}}this.content=D
}});
