var TEXT_NODE=3;var CDATA_NODE=4;var PROCESSING_INSTRUCTION_NODE=7;var COMMENT_NODE=8;var XMLErreur=-1;var xHTML=1;var XMLBalise=1;var XMLAttribut=2;var XMLElement=XMLBalise+XMLAttribut;var XMLValeur=4;var XMLSousElement=16;var XMLNiveauCourant=32;var XMLContinue=64;var XMLExact=1;var XMLCommencePar=2;var XMLContient=4;var XMLIgnoreLaCasse=16;var XMLAvecNamespace=32;var XMLEncodageAucun=1;var XMLEncodageUTF8=2;var XMLEncodageUTF16=3;var XMLEncodageIso8859_1=6;var XMLEncodageIso8859_2=7;var XMLEncodageIso8859_3=8;var XMLEncodageIso8859_4=9;var XMLEncodageIso8859_5=10;var XMLEncodageIso8859_6=11;var XMLEncodageIso8859_7=12;var XMLEncodageIso8859_8=13;var XMLEncodageIso8859_9=14;var XMLDocumentDefaut=0;var XMLPositionCourante=1;var XMLSansEntete=2;var XMLDebutNS="xmlns";var XMLDebutComment="#";var gTabDocXML=new Array();var gTabConvTexteXML=new Array();gTabConvTexteXML[gTabConvTexteXML.length]=new XMLConversionTexteXML("&","amp");gTabConvTexteXML[gTabConvTexteXML.length]=new XMLConversionTexteXML("'","apos");gTabConvTexteXML[gTabConvTexteXML.length]=new XMLConversionTexteXML(">","gt");gTabConvTexteXML[gTabConvTexteXML.length]=new XMLConversionTexteXML("<","lt");gTabConvTexteXML[gTabConvTexteXML.length]=new XMLConversionTexteXML("\"","quot");function XMLConversionTexteXML(t,x)
{this.t=t;this.x=x;}
function XMLInitRechDoc(pDoc)
{pDoc.Rech=false;pDoc.DebRech=null;pDoc.AttRech=XMLErreur;pDoc.ValRech=null;pDoc.OptRechNiv=XMLElement+XMLSousElement+XMLNiveauCourant;pDoc.OptRech=XMLExact;pDoc.Dehors=false;}
function XMLInitDoc(pDoc,Nom,Doc,Vide)
{pDoc.Nom=Nom;pDoc.Doc=Doc;pDoc.Pos=Vide?null:Doc.documentElement;pDoc.Att=XMLErreur;pDoc.Ent=null;XMLInitRechDoc(pDoc);}
function clDocumentXML(Nom,Doc,Vide)
{XMLInitDoc(this,Nom,Doc,Vide);}
function pclDocXML(Nom,Doc,Vide)
{for(var i=0;i<gTabDocXML.length;i++)if(gTabDocXML[i].Nom==Nom)return((!Doc)||((gTabDocXML[i].Doc!=null)&&((Vide)||(gTabDocXML[i].Pos!=null))))?gTabDocXML[i]:null;return null;}
function XMLAjoutDoc(Nom,Doc,Vide)
{var p=pclDocXML(Nom);if(p!=null)XMLInitDoc(p,Nom,Doc,Vide);else gTabDocXML[gTabDocXML.length]=new clDocumentXML(Nom,Doc,Vide);}
function bXMLChaineVide(s)
{return(s==null)||(s=="");}
function XMLDocument(Nom,Code,Option,Elem)
{var d=null;var c=!bXMLChaineVide(Code);if(c&&window.DOMParser)
{var p=new DOMParser();if(p==null)return false;d=p.parseFromString(Code,"text/"+((Option==xHTML)?"html":"xml"));}
else if((!c)&&(document!=null)&&(document.implementation!=null)&&(document.implementation.createDocument!=null))d=document.implementation.createDocument(null,(Elem!=null)?Elem:null,null);else if(window.ActiveXObject!=null)
{d=new ActiveXObject("Microsoft.XMLDOM");if(d==null)return false;if(c)
{d.loadXML(Code);if((d.parseError!=null)&&(d.parseError.errorCode!=0))return false;}}
if(d==null)return false;XMLAjoutDoc(Nom,d,!c);if(c)
{var e=Code.indexOf("<?");if(e==XMLErreur)return true;var s="?>";var f=Code.indexOf(s,e);if(f==XMLErreur)return true;var p=pclDocXML(Nom);if(p==null)return false;p.Ent=Code.substring(e,f+s.length);}
return true;}
function sTexteXMLRemplace(s,c,r)
{var i=0;while((i<s.length)&&((i=s.indexOf(c,i))!=XMLErreur))
{s=((i>0)?s.substring(0,i):"")+r+(((i+c.length)<s.length)?s.substring(i+c.length,s.length):"");i+=r.length;}
return s;}
function sXMLEntite(s)
{return"&"+s+";";}
function TexteVersXML(s)
{for(var i=0;i<gTabConvTexteXML.length;i++)s=sTexteXMLRemplace(s,gTabConvTexteXML[i].t,sXMLEntite(gTabConvTexteXML[i].x));return s;}
function XMLVersTexte(s)
{for(var i=0;i<gTabConvTexteXML.length;i++)s=sTexteXMLRemplace(s,sXMLEntite(gTabConvTexteXML[i].x),gTabConvTexteXML[i].t);return s;}
function bXMLChaineCompare(s,r,m)
{if(!r)return true;if(m&XMLIgnoreLaCasse)
{s=s.toUpperCase();r=r.toUpperCase();}
if(m&XMLCommencePar)s=s.substring(0,r.length);return(m&XMLContient)?(s.indexOf(r)!=XMLErreur):(s==r);}
function bXMLAttributNS(a)
{return bXMLChaineCompare(a.name,XMLDebutNS,XMLIgnoreLaCasse+XMLCommencePar);}
function nXMLAttribut(p,r,m)
{for(var i=0;i<p.attributes.length;i++)if((!bXMLAttributNS(p.attributes[i]))&&bXMLChaineCompare(p.attributes[i].name,r,m))return i;return XMLErreur;}
function XMLAjouteAttribut(Nom,Att,Val,Pos)
{var p=pclDocXML(Nom,true);if(p==null)return false;p.Pos.setAttribute(Att,TexteVersXML(Val));if(Pos)
{var i=nXMLAttribut(p.Pos,Att);if(i!=XMLErreur)p.Att=i;}
return true;}
function XMLAjouteFils(Nom,Elem,Val,Pos)
{var p=pclDocXML(Nom,true,true);if(p==null)return false;var e=p.Doc.createElement(Elem);if(e==null)return false;var t=null;if((!bXMLChaineVide(Val))&&(((t=p.Doc.createTextNode(TexteVersXML(XMLVersTexte(Val))))==null)||(e.appendChild(t)==null)))return false;if(p.Pos==null)
{if(p.Doc.documentElement==null)
{if(p.Doc.appendChild(e)==null)return false;}
else
{if(!XMLDocument(Nom,null,null,Elem))return false;if((t!=null)&&((e=p.Doc.documentElement).appendChild(t)==null))return false;}}
else if(p.Pos.appendChild(e)==null)return false;if(Pos||(p.Pos==null))
{p.Pos=e;p.Att=XMLErreur;}
return true;}
function XMLAnnuleRecherche(Nom)
{var p=pclDocXML(Nom,true);if(p==null)return;XMLInitRechDoc(p);}
function sXMLElemVersTxt(e,n)
{if(e.nodeType==TEXT_NODE)return e.nodeValue;if(e.nodeType==CDATA_NODE)return e.xml;var p="";if(n>0)
{}
var s=p+"<"+e.nodeName;for(var i=0;i<e.attributes.length;i++)s+=" "+e.attributes[i].nodeName+"=\""+e.attributes[i].nodeValue+"\"";var b=e.childNodes.length>0;if(!b)s+="/";s+=">";if(b)
{var f=false;for(var i=0;i<e.childNodes.length;i++)
{s+=sXMLElemVersTxt(e.childNodes[i],n+1);f=f||(e.childNodes[i].nodeType!=TEXT_NODE);}
s+="</"+e.nodeName+">";}
return s;}
function XMLConstruitChaine(Nom,Option,Encod)
{var p=pclDocXML(Nom,true);if(p==null)return"";return((Option&XMLSansEntete)?"":(((p.Ent!=null)?p.Ent:"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>")+"\n"))+sXMLElemVersTxt((Option&XMLPositionCourante)?p.Pos:p.Doc.documentElement,0)+"\n";}
function nXMLDernier(t)
{return((t!=null)?t.length:0)-1;}
function pXMLDernier(t)
{return((t!=null)&&(t.length>0))?t[nXMLDernier(t)]:null;}
function XMLPositionneElement(p,e)
{p.Pos=e;p.Att=XMLErreur;}
function pXMLParent(p)
{return(p.Att==XMLErreur)?(((p.Pos.parentNode!=null)&&(p.Pos.parentNode.nodeType==XMLBalise))?p.Pos.parentNode:null):p.Pos;}
function nXMLIndiceAttribut(e,d,s)
{if(e.attributes==null)return XMLErreur;for(var i=d;s?(i<e.attributes.length):(i>=0);s?i++:i--)if(!bXMLAttributNS(e.attributes[i]))return i;return XMLErreur;}
function nXMLDernierAttribut(e)
{return(e!=null)?nXMLIndiceAttribut(e,nXMLDernier(e.attributes),false):XMLErreur;}
function bXMLDernierFils(p,e)
{var f=(e!=null)?pXMLDernier(e.childNodes):null;if((f!=null)&&(f.nodeType!=TEXT_NODE))
{XMLPositionneElement(p,f);return true;}
return(p.Att=nXMLDernierAttribut(e))>=0;}
function XMLDernier(Nom)
{var p=pclDocXML(Nom,true);if(p==null)return false;bXMLDernierFils(p,pXMLParent(p));XMLInitRechDoc(p);return true;}
function pXMLCourant(p,a,m)
{if(p.Att!=XMLErreur)return(a==null)?p.Pos.attributes[p.Att]:null;if(a==null)return p.Pos;var i=nXMLAttribut(p.Pos,a,m);return(i!=XMLErreur)?p.Pos.attributes[i]:null;}
function XMLDonnee(Nom,Att,Mod)
{var p=pclDocXML(Nom,true);if(p==null)return"";var e=pXMLCourant(p,Att,Mod);var a=(p.Att!=XMLErreur)||(Att!=null);return((e!=null)&&(a||((e.firstChild!=null)&&(e.firstChild.nodeType==TEXT_NODE))))?(a?e:e.firstChild).nodeValue:"";}
function XMLEnDehors(Nom)
{var p=pclDocXML(Nom,true);if(p==null)return true;return p.Dehors;}
function bXMLPosElemFils(p,e)
{if(e==null)return false;var b=false;for(var i=0;(!b)&&(i<e.childNodes.length);i++)if((b=(e.childNodes[i].nodeType!=TEXT_NODE))==true)XMLPositionneElement(p,e.childNodes[i]);return b;}
function nXMLPremierAttribut(e)
{return(e!=null)?nXMLIndiceAttribut(e,0,true):XMLErreur;}
function bXMLFils(p)
{var b=false;if(p.Att==XMLErreur)
{var n=nXMLPremierAttribut(p.Pos);if(n!=XMLErreur)
{p.Att=n;b=true;}
else b=bXMLPosElemFils(p,p.Pos);}
return b;}
function XMLFils(Nom)
{var p=pclDocXML(Nom,true);if(p==null)return false;var b=bXMLFils(p);XMLInitRechDoc(p);return b;}
function XMLNomElement(Nom)
{var p=pclDocXML(Nom,true);if(p==null)return"";var c=pXMLCourant(p);return c.nodeName.substring(((c.nodeType==COMMENT_NODE)&&bXMLChaineCompare(c.nodeName,XMLDebutComment,XMLIgnoreLaCasse+XMLCommencePar))?XMLDebutComment.length:0,c.nodeName.length);}
function XMLNomParent(Nom)
{var p=pclDocXML(Nom,true);if(p==null)return"";var e=pXMLParent(p);return(e!=null)?e.nodeName:"";}
function XMLParent(Nom)
{var p=pclDocXML(Nom,true);if(p==null)return false;var e=pXMLParent(p);if(e!=null)XMLPositionneElement(p,e);XMLInitRechDoc(p);return(e!=null);}
function bXMLElemPrec(p)
{return(p.previousSibling!=null)&&(p.previousSibling.nodeType!=TEXT_NODE)&&(p.previousSibling.nodeType!=PROCESSING_INSTRUCTION_NODE);}
function bXMLDansFilsRech(p,b)
{var e=b?p.Pos:p.Pos.parentNode;while((e!=null)&&(e.parentNode!=p.DebRech))e=e.parentNode;return e!=null;}
function bXMLRechercheOK(p)
{if(p.ValRech==null)return true;var b=false;if(p.Att!=XMLErreur)
{if(p.OptRechNiv&XMLAttribut)b=bXMLChaineCompare(p.Pos.attributes[p.Att].nodeName,p.ValRech,p.OptRech);if((!b)&&(p.OptRechNiv&XMLValeur))b=bXMLChaineCompare(p.Pos.attributes[p.Att].nodeValue,p.ValRech,p.OptRech);}
else
{if(p.OptRechNiv&XMLBalise)b=bXMLChaineCompare(p.Pos.nodeName,p.ValRech,p.OptRech);if((!b)&&(p.OptRechNiv&XMLValeur)&&(p.Pos.firstChild!=null)&&(p.Pos.firstChild.nodeType==TEXT_NODE))b=bXMLChaineCompare(p.Pos.firstChild.nodeValue,p.ValRech,p.OptRech);}
return b;}
function bXMLRetourSiEchec(p,b,e,a)
{if(!b)
{p.Pos=e;p.Att=a;p.Dehors=true;}
return b;}
function XMLPrecedent(Nom)
{var p=pclDocXML(Nom,true);if(p==null)return false;p.Dehors=false;var e=p.Pos;var a=p.Att;var b=false;while(!b)
{if(p.Rech&&(p.OptRechNiv&XMLSousElement)&&(p.Att==XMLErreur))
{b=bXMLDernierFils(p,p.Pos);}
if((!b)&&((!p.Rech)||((p.OptRechNiv&XMLNiveauCourant)||(pXMLParent(p)!=p.DebRech.parentNode))))
{if((p.Att!=XMLErreur)&&((!p.Rech)||(p.OptRechNiv&(XMLAttribut|XMLValeur))))
{var n=nXMLIndiceAttribut(p.Pos,p.Att-1,false);if(n!=XMLErreur)
{p.Att=n;b=true;}}
else if(!bXMLElemPrec(p.Pos))
{var n=nXMLDernierAttribut(p.Pos.parentNode);if((p.Pos.parentNode!=null)&&(n!=XMLErreur))
{p.Pos=p.Pos.parentNode;p.Att=n;b=true;}}
else
{XMLPositionneElement(p,p.Pos.previousSibling);b=true;}}
if((!b)&&p.Rech)
{var q=null;while((!b)&&((q=pXMLParent(p))!=null)&&((p.OptRechNiv&XMLContinue)||((((p.Att==XMLErreur)?q:q.parentNode)==p.DebRech)&&(p.OptRechNiv&XMLNiveauCourant))||bXMLDansFilsRech(p,bXMLElemPrec(q))))XMLPositionneElement(p,(b=bXMLElemPrec(q))?q.previousSibling:q);}
if(!b)break;b=bXMLRechercheOK(p);}
return bXMLRetourSiEchec(p,b,e,a);}
function XMLPremier(Nom)
{var p=pclDocXML(Nom,true);if(p==null)return false;var e=pXMLParent(p);var n=nXMLPremierAttribut(e);if((e!=null)&&(n!=XMLErreur))
{p.Pos=e;p.Att=n;}
else bXMLPosElemFils(p,e);XMLInitRechDoc(p);return true;}
function XMLRacine(Nom)
{var p=pclDocXML(Nom,true);if(p==null)return false;XMLPositionneElement(p,p.Doc.documentElement);XMLInitRechDoc(p);return true;}
function XMLRecherche(Nom,Valeur,Parcours,Option)
{var p=pclDocXML(Nom,true);if(p==null)return false;p.Rech=true;p.DebRech=p.Pos;p.AttRech=p.Att;p.ValRech=Valeur;p.OptRechNiv=((Parcours!=null)?Parcours:0)+((!(Parcours&(XMLElement+XMLValeur)))?XMLElement:0)+((!(Parcours&(XMLNiveauCourant+XMLSousElement+XMLContinue)))?(XMLNiveauCourant+XMLSousElement):0);p.OptRech=(Option!=null)?Option:XMLExact;p.Dehors=false;return XMLSuivant(Nom);}
function XMLSuivant(Nom)
{var p=pclDocXML(Nom,true);if(p==null)return false;p.Dehors=false;var e=p.Pos;var a=p.Att;var b=false;while(!b)
{if(p.Rech&&(p.OptRechNiv&XMLSousElement)&&(p.Att==XMLErreur))
{b=(p.OptRechNiv&XMLAttribut)?bXMLFils(p):bXMLPosElemFils(p,p.Pos);}
if((!b)&&((!p.Rech)||((p.OptRechNiv&XMLNiveauCourant)||(pXMLParent(p)!=p.DebRech.parentNode))))
{if((p.Att!=XMLErreur)&&((!p.Rech)||(p.OptRechNiv&(XMLAttribut|XMLValeur))))
{var n=nXMLIndiceAttribut(p.Pos,p.Att+1,true);if(n==XMLErreur)b=bXMLPosElemFils(p,p.Pos);else
{p.Att=n;b=true;}}
else if(p.Pos.nextSibling!=null)
{XMLPositionneElement(p,p.Pos.nextSibling);b=true;}}
if((!b)&&p.Rech)
{var q=null;while((!b)&&((q=pXMLParent(p))!=null)&&((p.OptRechNiv&XMLContinue)||((((p.Att==XMLErreur)?q:q.parentNode)==p.DebRech)&&(p.OptRechNiv&XMLNiveauCourant))||bXMLDansFilsRech(p,q.nextSibling!=null)))XMLPositionneElement(p,(b=(q.nextSibling!=null))?q.nextSibling:q);}
if(!b)break;b=bXMLRechercheOK(p);}
return bXMLRetourSiEchec(p,b,e,a);}
function XMLTermine(Nom)
{var p=pclDocXML(Nom,true,true);if(p==null)return false;p.Doc=p.Pos=p.DebRech=null;return true;}
function XMLTrouve(Nom)
{return!XMLEnDehors(Nom)}
function XMLTypeElement(Nom)
{var p=pclDocXML(Nom,true);if(p==null)return XMLErreur;return(p.Att!=XMLErreur)?XMLAttribut:XMLBalise;}
