// JavaScript Document

/* 
  Récupération d'un objet httpRequest 
  sans se soucier de la version du navigateur */
function getXMLHttpRequest(aMethod, aFileName, aSync) {

	var http_request = false;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
/*		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
            // Ligne ci dessus à retirer si document à charger n'est pas du xml strict
            }*/
	}
	else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {}
		}
	}
	if (!http_request) {
		alert('Abandon :( Impossible de créer une instance XMLHTTP');
		return false;
	}
	else {
		http_request.open(aMethod, aFileName, aSync);
		// Ne pas mettre le fichier xml en cache.
		http_request.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
		return http_request;
	}
}

    function alertContents(http_request) {

        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
                alert(http_request.responseText);
            } else {
                alert('Un problème est survenu avec la requête.');
            }
        }

    }
	
/*================================================
	Récupère l'enfant dont le nom est passé
	en paramètre
  ================================================*/
function getNamedChildNode(element, name) {
	list = element.childNodes;
	var i = 0;
	while (i < list.length) {
		child = list[i];
		if (child.nodeName == name) {
			return child;
		}
		i++;
	}
	return null;
}

/*================================================
	Récupère le texte de contenu de l''enfant 
	dont le nom est passé en paramètre
  ================================================*/
function getNamedChildNodeTextValue(element, name) {
	var childNodes = getNamedChildNode(element, name).childNodes;
	if (childNodes.length > 0) {
		return childNodes[0].nodeValue;
	}
	else {
		return "";
	}
}
