function getXhr()
{
    var xhr = null;
    if(window.XMLHttpRequest) // Firefox et autres
        xhr = new XMLHttpRequest(); 
  	else if(window.ActiveXObject)  // Internet Explorer 
    { 
        try 
        {
  		      xhr = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) 
        {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
  	}
  	else         // XMLHttpRequest non supporté par le navigateur 
    {
          alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
          xhr = false; 
    } 
    return xhr
}

function getPage(myPage)
{
    //myPage = "index.php"
    //alert("bonjour 1 - "+myPage);
    var xhr = getXhr();
    genarray();
    //alert("bonjour 2");
    // On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function()
    {
		    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
        //alert("bonjour3");
       // alert(xhr.status);
        
        if(xhr.readyState == 4 && xhr.status == 200)
        {
            //alert("bonjour 5 - voila c est fait");
            //alert("voila c'est fait")
            contentFromDB = xhr.responseText;
            //alert ("From DB \n"+contentFromDB);
            var contentConverted;
            contentConverted = convert(contentFromDB);
            //alert ("Converted \n"+contentFromDB);
            //alert("bonjour 6");
            y = document.getElementById('contenu');
            /*
              La conversion des accents et caracteres speciaux en HTML doit se faire a l'insertion dans la DB,
              car si un texte accentue est extrait de la DB, il est mal compris par Javascript. 
              Il est donc impossible de le convertir convenablement. La seule solution est donc de 
              l'enregistrer convenablement (é-->&eacute,...) dans la DB.
            */
            y.innerHTML = contentFromDB; 
            //alert("bonjour 6");
            //alert(y.innerHTML);
				}
		}
		//alert("bonjour 3 - myPage = "+myPage);
		xhr.open("GET",myPage,true);
		//xhr.open("GET","./testJS.php",true);
		//alert("bonjour 4");
    xhr.send(null);
}

/*
CONVERTI LE TEXTE DE LA BASE DE DONNEES (les accents,...) en TEXT HTML 
exemple: é --> &eacute;
*/

function convert(text)
{
  var converted_text="";
  

  for (i=0;i<text.length;i++)
  {
    if(tableau[text.charAt(i)]!=undefined)
    {
      converted_text+=tableau[text.charAt(i)];
    }
    else{converted_text+=text.charAt(i);}
  }
  return converted_text;
}

function genarray()
{
tableau= new Array(); /* tableau global */

tableau['"']= "&quot;" ;
tableau["&"]= "&amp;" ;
tableau["€"]= "&euro;" ;
tableau["?"]= "&#129;" ;
tableau["‚"]= "&#130;" ;
tableau["ƒ"]= "&#131;" ;
tableau["„"]= "&#132;" ;
tableau["…"]= "&#133;" ;
tableau["†"]= "&#134;" ;
tableau["‡"]= "&#135;" ;
tableau["ˆ"]= "&#136;" ;
tableau["‰"]= "&#137;" ;
tableau["©"]= "&#138;" ;
tableau["‹"]= "&lt;" ;
tableau["¦"]= "&#140;" ;
tableau["?"]= "&#141;" ;
tableau["®"]= "&#142;" ;
tableau["?"]= "&#143;" ;
tableau["?"]= "&#144;" ;
tableau["‘"]= "&#145;" ;
tableau["’"]= "&#146;" ;
tableau["“"]= "&#147;" ;
tableau["”"]= "&#148;" ;
tableau["•"]= "&#149;" ;
tableau["–"]= "&#150;" ;
tableau["—"]= "&#151;" ;
tableau["˜"]= "&#152;" ;
tableau["™"]= "&#153;" ;
tableau["¹"]= "&#154;" ;
tableau["›"]= "&gt;" ;
tableau["¶"]= "&oelig;" ;
tableau["?"]= "&#157;" ;
tableau["¾"]= "&#158;" ;
tableau["¼"]= "&Yuml;" ;
tableau["espace"]= "&nbsp;" ;
tableau["·"]= "&iexcl;" ;
tableau["¢"]= "&cent;" ;
tableau["£"]= "&pound;" ;
tableau["¤"]= "&curren;" ;
tableau["¡"]= "&yen" ;
tableau["Š"]= "&brvbar;" ;
tableau["§"]= "&sect;" ;
tableau["¨"]= "&uml;" ;
tableau["Œ"]= "&copy;   " ;
tableau["ª"]= "&ordf;" ;
tableau[""]= "&laquo;" ;
tableau["Ž"]= "&not;" ;
tableau["­"]= "&shy;" ;
tableau[""]= "&reg;" ;
tableau["¯"]= "&masr;" ;
tableau["°"]= "&deg;" ;
tableau["‘"]= "&plusmn;" ;
tableau["²"]= "&sup2;" ;
tableau["³"]= "&sup3;" ;
tableau["´"]= "&acute;" ;
tableau["œ"]= "&micro;" ;
tableau[""]= "&para;" ;
tableau["ž"]= "&middot;" ;
tableau["¸"]= "&cedil;" ;
tableau["±"]= "&sup1;" ;
tableau["º"]= "&ordm;" ;
tableau["Ÿ"]= "&raquo;" ;
tableau["¥"]= "&frac14;" ;
tableau["½"]= "&frac12;" ;
tableau["µ"]= "&frac34;" ;
tableau["¿"]= "&iquest;" ;
tableau["À"]= "&Agrave;" ;
tableau["Á"]= "&Aacute;" ;
tableau["Â"]= "&Acirc;" ;
tableau["Ã"]= "&Atilde;" ;
tableau["Ä"]= "&Auml;" ;
tableau["Å"]= "&Aring;" ;
tableau["Æ"]= "&Aelig" ;
tableau["Ç"]= "&Ccedil;" ;
tableau["È"]= "&Egrave;" ;
tableau["É"]= "&Eacute;" ;
tableau["Ê"]= "&Ecirc;" ;
tableau["Ë"]= "&Euml;" ;
tableau["Ì"]= "&Igrave;" ;
tableau["Í"]= "&Iacute;" ;
tableau["Î"]= "&Icirc;" ;
tableau["Ï"]= "&Iuml;" ;
tableau["Ð"]= "&eth;" ;
tableau["Ñ"]= "&Ntilde;" ;
tableau["Ò"]= "&Ograve;" ;
tableau["Ó"]= "&Oacute;" ;
tableau["Ô"]= "&Ocirc;" ;
tableau["Õ"]= "&Otilde;" ;
tableau["Ö"]= "&Ouml;" ;
tableau["×"]= "&times;" ;
tableau["Ø"]= "&Oslash;" ;
tableau["Ù"]= "&Ugrave;" ;
tableau["Ú"]= "&Uacute;" ;
tableau["Û"]= "&Ucirc;" ;
tableau["Ü"]= "&Uuml;" ;
tableau["Ý"]= "&Yacute;" ;
tableau["Þ"]= "&thorn;" ;
tableau["ß"]= "&szlig;" ;
tableau["à"]= "&agrave;" ;
tableau["á"]= "&aacute;" ;
tableau["â"]= "&acirc;" ;
tableau["ã"]= "&atilde;" ;
tableau["ä"]= "&auml;" ;
tableau["å"]= "&aring;" ;
tableau["æ"]= "&aelig;" ;
tableau["ç"]= "&ccedil;" ;
tableau["è"]= "&egrave;" ;
tableau["é"]= "&eacute;" ;
tableau["ê"]= "&ecirc;" ;
tableau["ë"]= "&euml;" ;
tableau["ì"]= "&igrave;" ;
tableau["í"]= "&iacute;" ;
tableau["î"]= "&icirc;" ;
tableau["ï"]= "&iuml;" ;
tableau["ð"]= "&eth;" ;
tableau["ñ"]= "&ntilde;" ;
tableau["ò"]= "&ograve;" ;
tableau["ó"]= "&oacute;" ;
tableau["ô"]= "&ocirc;" ;
tableau["õ"]= "&otilde;" ;
tableau["ö"]= "&ouml;" ;
tableau["÷"]= "&divide;" ;
tableau["ø"]= "&oslash;" ;
tableau["ù"]= "&ugrave;" ;
tableau["ú"]= "&uacute;" ;
tableau["û"]= "&ucirc;" ;
tableau["ü"]= "&uuml;" ;
tableau["ý"]= "&yacute;" ;
tableau["þ"]= "&thorn;" ;
tableau["ÿ"]= "&yuml;" ;

}

