﻿// Fichier JScript
// la fonction file recupere le texte d'un fichier et change la division passée en parametre
/*function file(fichier,nomDIV)
{
    if(window.XMLHttpRequest) // FIREFOX
        xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // IE
        xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else
        return(false);
    xhr_object.open("GET", fichier, false);
    xhr_object.send(null);
    if(xhr_object.readyState == 4) 
        document.getElementById(nomDIV).innerHTML = unescape(xhr_object.responseText);
}
*/

function file(fichier,nomDIV)
{
	var xhr_object = null; 
	
    if (window.XMLHttpRequest)                 //  Objet de la fenêtre courant
    {
        if (window.ActiveXObject)
        {
            xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
        }
        else
        {
        xhr_object = new XMLHttpRequest(); 
        }//  Firefox, Safari, ...
    } 
	  
	xhr_object.open("GET", fichier, false);
	
	xhr_object.send(null);	
   
   if(xhr_object.readyState == 4) {
        try{
		document.getElementById(nomDIV).innerHTML = xhr_object.responseText;
        }
        catch(e)
        {
        }
	 }

}

// fonction de chargement du fichier xml au sein d'une variable
function loadXML(fichier){
	
	// Routine de vérification si le navigateur gêre la méthode utilisée
	if (document.implementation && document.implementation.createDocument) {
		// déclaration pour Mozilla et FF
		docXml = document.implementation.createDocument('', '', null);

	}
	else if (window.ActiveXObject){
		// déclaration pour IE
		docXml = new ActiveXObject("Microsoft.XMLDOM");

	}
	else {
	
		alert('Votre navigateur ne saurait pas éxécuter ce script.');
	
	}
	docXml.async=false;
	
	docXml.load(fichier);
	
	return docXml;
}

// fonction de traitement des données chargées
function getNews(docXml,num,tri) {
	
	var numero = parseInt(num, 10);
    var retour = new Array("","","");
	// on crée des variables de type Array, qui recoivent comme valeur les balises choisies dnas le document xml
	var id = docXml.getElementsByTagName('id');
	
    if( tri==true ) //gestion du tri en fonction de l'ID
    {
        numero = id.length - 1 - numero ;    
    }
	if(numero > id.length || numero < 0)  //permet de ne pas renvoyer un élément en dehors du tableau
	    return null;
	var date = docXml.getElementsByTagName('date');
	var texte = docXml.getElementsByTagName('texte');
		
	// On récupère les valeurs textuelles contenues dans la balise choisie, et on l'applique au formulaire. 
	// En xml, la valeur d'une balise est le nodeValue de son premier enfant (firstChild)
	retour[0] = id[numero].firstChild.nodeValue;
	retour[1] = date[numero].firstChild.nodeValue;
	retour[2] = texte[numero].firstChild.nodeValue;
	return retour;
}
