if(typeof (JKL)=="undefined"){JKL=function(){}
}JKL.ParseXML=function(A,B,C){this.http=new JKL.ParseXML.HTTP(A,B,C,false);
return this
};
JKL.ParseXML.VERSION="0.22";
JKL.ParseXML.MIME_TYPE_XML="text/xml";
JKL.ParseXML.MAP_NODETYPE=["","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE"];
JKL.ParseXML.prototype.async=function(B,A){this.callback_func=B;
this.callback_arg=A
};
JKL.ParseXML.prototype.onerror=function(B,A){this.onerror_func=B
};
JKL.ParseXML.prototype.parse=function(){if(!this.http){return 
}if(this.onerror_func){this.http.onerror(this.onerror_func)
}if(this.callback_func){var C=this;
var A=function(){if(!C.http){return 
}var D=C.parseResponse();
C.callback_func(D,C.callback_arg)
};
this.http.async(A)
}this.http.load();
if(!this.callback_func){var B=this.parseResponse();
return B
}};
JKL.ParseXML.prototype.setOutputArrayAll=function(){this.setOutputArray(true)
};
JKL.ParseXML.prototype.setOutputArrayAuto=function(){this.setOutputArray(null)
};
JKL.ParseXML.prototype.setOutputArrayNever=function(){this.setOutputArray(false)
};
JKL.ParseXML.prototype.setOutputArrayElements=function(A){this.setOutputArray(A)
};
JKL.ParseXML.prototype.setOutputArray=function(C){if(typeof (C)=="string"){C=[C]
}if(C&&typeof (C)=="object"){if(C.length<0){C=false
}else{var B={};
for(var A=0;
A<C.length;
A++){B[C[A]]=true
}C=B;
if(C["*"]){C=true
}}}this.usearray=C
};
JKL.ParseXML.prototype.parseResponse=function(){var A=this.http.documentElement();
var B=this.parseDocument(A);
return B
};
JKL.ParseXML.prototype.parseDocument=function(A){if(!A){return 
}var B=this.parseElement(A);
if(this.usearray==true){B=[B]
}else{if(this.usearray==false){}else{if(this.usearray==null){}else{if(this.usearray[A.nodeName]){B=[B]
}}}}var C={};
C[A.nodeName]=B;
return C
};
JKL.ParseXML.prototype.parseElement=function(E){if(E.nodeType==7){return 
}if(E.nodeType==3||E.nodeType==4){var F=E.nodeValue.match(/[^\x00-\x20]/);
if(F==null){return 
}return E.nodeValue
}var B;
var D={};
if(E.attributes&&E.attributes.length){B={};
for(var G=0;
G<E.attributes.length;
G++){var I=E.attributes[G].nodeName;
if(typeof (I)!="string"){continue
}var C=E.attributes[G].nodeValue;
if(!C){continue
}if(typeof (D[I])=="undefined"){D[I]=0
}D[I]++;
this.addNode(B,I,D[I],C)
}}if(E.childNodes&&E.childNodes.length){var H=true;
if(B){H=false
}for(var G=0;
G<E.childNodes.length&&H;
G++){var A=E.childNodes[G].nodeType;
if(A==3||A==4){continue
}H=false
}if(H){if(!B){B=""
}for(var G=0;
G<E.childNodes.length;
G++){B+=E.childNodes[G].nodeValue
}}else{if(!B){B={}
}for(var G=0;
G<E.childNodes.length;
G++){var I=E.childNodes[G].nodeName;
if(typeof (I)!="string"){continue
}var C=this.parseElement(E.childNodes[G]);
if(!C){continue
}if(typeof (D[I])=="undefined"){D[I]=0
}D[I]++;
this.addNode(B,I,D[I],C)
}}}return B
};
JKL.ParseXML.prototype.addNode=function(C,A,B,D){if(this.usearray==true){if(B==1){C[A]=[]
}C[A][C[A].length]=D
}else{if(this.usearray==false){if(B==1){C[A]=D
}}else{if(this.usearray==null){if(B==1){C[A]=D
}else{if(B==2){C[A]=[C[A],D]
}else{C[A][C[A].length]=D
}}}else{if(this.usearray[A]){if(B==1){C[A]=[]
}C[A][C[A].length]=D
}else{if(B==1){C[A]=D
}}}}}};
JKL.ParseXML.Text=function(A,B,C){this.http=new JKL.ParseXML.HTTP(A,B,C,true);
return this
};
JKL.ParseXML.Text.prototype.parse=JKL.ParseXML.prototype.parse;
JKL.ParseXML.Text.prototype.async=JKL.ParseXML.prototype.async;
JKL.ParseXML.Text.prototype.onerror=JKL.ParseXML.prototype.onerror;
JKL.ParseXML.Text.prototype.parseResponse=function(){var A=this.http.responseText();
return A
};
JKL.ParseXML.JSON=function(A,B,C){this.http=new JKL.ParseXML.HTTP(A,B,C,true);
return this
};
JKL.ParseXML.JSON.prototype.parse=JKL.ParseXML.prototype.parse;
JKL.ParseXML.JSON.prototype.async=JKL.ParseXML.prototype.async;
JKL.ParseXML.JSON.prototype.onerror=JKL.ParseXML.prototype.onerror;
JKL.ParseXML.JSON.prototype.parseResponse=function(){var text=this.http.responseText();
if(typeof (text)=="undefined"){return 
}if(!text.length){return 
}var data=eval("("+text+")");
return data
};
JKL.ParseXML.DOM=function(A,B,C){this.http=new JKL.ParseXML.HTTP(A,B,C,false);
return this
};
JKL.ParseXML.DOM.prototype.parse=JKL.ParseXML.prototype.parse;
JKL.ParseXML.DOM.prototype.async=JKL.ParseXML.prototype.async;
JKL.ParseXML.DOM.prototype.onerror=JKL.ParseXML.prototype.onerror;
JKL.ParseXML.DOM.prototype.parseResponse=function(){var A=this.http.documentElement();
return A
};
JKL.ParseXML.CSV=function(A,B,C){this.http=new JKL.ParseXML.HTTP(A,B,C,true);
return this
};
JKL.ParseXML.CSV.prototype.parse=JKL.ParseXML.prototype.parse;
JKL.ParseXML.CSV.prototype.async=JKL.ParseXML.prototype.async;
JKL.ParseXML.CSV.prototype.onerror=JKL.ParseXML.prototype.onerror;
JKL.ParseXML.CSV.prototype.parseResponse=function(){var B=this.http.responseText();
var A=this.parseCSV(B);
return A
};
JKL.ParseXML.CSV.prototype.parseCSV=function(G){G=G.replace(/\r\n?/g,"\n");
var F=0;
var E=G.length;
var H=[];
while(F<E){var I=[];
while(F<E){if(G.charAt(F)=='"'){var B=G.indexOf('"',F+1);
while(B<E&&B>-1){if(G.charAt(B+1)!='"'){break
}B=G.indexOf('"',B+2)
}if(B<0){}else{if(G.charAt(B+1)==","){var C=G.substr(F+1,B-F-1);
C=C.replace(/""/g,'"');
I[I.length]=C;
F=B+2;
continue
}else{if(G.charAt(B+1)=="\n"||E==B+1){var C=G.substr(F+1,B-F-1);
C=C.replace(/""/g,'"');
I[I.length]=C;
F=B+2;
break
}else{}}}}var A=G.indexOf(",",F);
var D=G.indexOf("\n",F);
if(D<0){D=E
}if(A>-1&&A<D){I[I.length]=G.substr(F,A-F);
F=A+1
}else{I[I.length]=G.substr(F,D-F);
F=D+1;
break
}}if(I.length>=0){H[H.length]=I
}}if(H.length<0){return 
}return H
};
JKL.ParseXML.CSVmap=function(A,B,C){this.http=new JKL.ParseXML.HTTP(A,B,C,true);
return this
};
JKL.ParseXML.CSVmap.prototype.parse=JKL.ParseXML.prototype.parse;
JKL.ParseXML.CSVmap.prototype.async=JKL.ParseXML.prototype.async;
JKL.ParseXML.CSVmap.prototype.onerror=JKL.ParseXML.prototype.onerror;
JKL.ParseXML.CSVmap.prototype.parseCSV=JKL.ParseXML.CSV.prototype.parseCSV;
JKL.ParseXML.CSVmap.prototype.parseResponse=function(){var G=this.http.responseText();
var D=this.parseCSV(G);
if(!D){return 
}if(D.length<0){return 
}var F=D.shift();
var C=[];
for(var B=0;
B<D.length;
B++){var E={};
for(var A=0;
A<F.length&&A<D[B].length;
A++){E[F[A]]=D[B][A]
}C[C.length]=E
}return C
};
JKL.ParseXML.LoadVars=function(A,B,C){this.http=new JKL.ParseXML.HTTP(A,B,C,true);
return this
};
JKL.ParseXML.LoadVars.prototype.parse=JKL.ParseXML.prototype.parse;
JKL.ParseXML.LoadVars.prototype.async=JKL.ParseXML.prototype.async;
JKL.ParseXML.LoadVars.prototype.onerror=JKL.ParseXML.prototype.onerror;
JKL.ParseXML.LoadVars.prototype.parseResponse=function(){var G=this.http.responseText();
G=G.replace(/\r\n?/g,"\n");
var E={};
var D=G.split("&");
for(var C=0;
C<D.length;
C++){var A=D[C].indexOf("=");
if(A>-1){var B=decodeURIComponent(D[C].substr(0,A).replace("+","%20"));
var F=decodeURIComponent(D[C].substr(A+1).replace("+","%20"));
E[B]=F
}else{E[D[C]]=""
}}return E
};
JKL.ParseXML.HTTP=function(A,C,D,B){this.url=A;
if(typeof (C)=="string"){this.query=C
}else{this.query=""
}if(D){this.method=D
}else{if(typeof (C)=="string"){this.method="POST"
}else{this.method="GET"
}}this.textmode=B?true:false;
this.req=null;
this.xmldom_flag=false;
this.onerror_func=null;
this.callback_func=null;
this.already_done=null;
return this
};
JKL.ParseXML.HTTP.REQUEST_TYPE="application/x-www-form-urlencoded";
JKL.ParseXML.HTTP.ACTIVEX_XMLDOM="Microsoft.XMLDOM";
JKL.ParseXML.HTTP.ACTIVEX_XMLHTTP="Microsoft.XMLHTTP";
JKL.ParseXML.HTTP.EPOCH_TIMESTAMP="Thu, 01 Jun 1970 00:00:00 GMT";
JKL.ParseXML.HTTP.prototype.onerror=JKL.ParseXML.prototype.onerror;
JKL.ParseXML.HTTP.prototype.async=function(A){this.async_func=A
};
JKL.ParseXML.HTTP.prototype.load=function(){if(window.ActiveXObject){var A=JKL.ParseXML.HTTP.ACTIVEX_XMLHTTP;
if(this.method=="GET"&&!this.textmode){A=JKL.ParseXML.HTTP.ACTIVEX_XMLDOM
}this.req=new ActiveXObject(A)
}else{if(window.XMLHttpRequest){this.req=new XMLHttpRequest()
}}var B=this.async_func?true:false;
if(typeof (this.req.send)!="undefined"){this.req.open(this.method,this.url,B)
}if(typeof (this.req.setRequestHeader)!="undefined"){this.req.setRequestHeader("Content-Type",JKL.ParseXML.HTTP.REQUEST_TYPE)
}if(typeof (this.req.overrideMimeType)!="undefined"&&!this.textmode){this.req.overrideMimeType(JKL.ParseXML.MIME_TYPE_XML)
}if(B){var E=this;
E.already_done=false;
var D=function(){if(E.req.readyState!=4){return 
}var F=E.checkResponse();
if(!F){return 
}if(E.already_done){return 
}E.already_done=true;
E.async_func()
};
this.req.onreadystatechange=D
}if(typeof (this.req.send)!="undefined"){this.req.send(this.query)
}else{if(typeof (this.req.load)!="undefined"){this.req.async=B;
this.req.load(this.url)
}}if(B){return 
}var C=this.checkResponse()
};
JKL.ParseXML.HTTP.prototype.checkResponse=function(){if(this.req.parseError&&this.req.parseError.errorCode!=0){if(this.onerror_func){this.onerror_func(this.req.parseError.reason)
}return false
}if(this.req.status-0>0&&this.req.status!=200&&this.req.status!=206&&this.req.status!=304){if(this.onerror_func){this.onerror_func(this.req.status)
}return false
}return true
};
JKL.ParseXML.HTTP.prototype.documentElement=function(){if(!this.req){return 
}if(this.req.responseXML){return this.req.responseXML.documentElement
}else{return this.req.documentElement
}};
JKL.ParseXML.HTTP.prototype.responseText=function(){if(!this.req){return 
}if(navigator.appVersion.match("KHTML")){var A=escape(this.req.responseText);
if(!A.match("%u")&&A.match("%")){return decodeURIComponent(A)
}}return this.req.responseText
};