﻿function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
        xmlhttp = false;
        }
      }
  @else
  xmlhttp = false;
  @end @*/
  
  
  /*if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } 
    catch (e) {
      xmlhttp = false;
    }
  } 
  */
  
  if(window.XMLHttpRequest) // Firefox et autres
	xmlhttp = new XMLHttpRequest(); 
  else if(window.ActiveXObject){ // Internet Explorer 
	try {
	  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (e) {
	  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
  }
  else { // XMLHttpRequest non supporté par le navigateur 
	alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	xhr = false; 
  }
  //alert(xmlhttp);
  return xmlhttp;
}
var appelGetInfo = 0;

function GetInfo(mysource,cible)
{
        elementcible = document.getElementById(cible);

		appelGetInfo++;
		var xhr = getHTTPObject();
		
		xhr.onreadystatechange = function() 
		{
			if (xhr.readyState == 4 && xhr.status == 200) {
				var contenu = xhr.responseText;
				elementcible.innerHTML=contenu;
				appelGetInfo--; 
			}else
			if (xhr.readyState == 4) {
				appelGetInfo--;
				elementcible.innerHTML='Veuillez nous excuser, une erreur s\'est produite !<br>Erreur ' + xhr.status;
			}
		}
		xhr.open("GET", mysource);
		xhr.send(' ');
}
	
function GetInfoToCallFunction(mysource,cible,namefunction)
{
        elementcible = document.getElementById(cible);

		appelGetInfo++;
		var xhr = getHTTPObject();
		
		xhr.onreadystatechange = function() 
		{
			if (xhr.readyState == 4 && xhr.status == 200) {
				var contenu = xhr.responseText;
				elementcible.innerHTML=contenu;
				eval(namefunction + '();');
				appelGetInfo--;
			}else
			if (xhr.readyState == 4) {
				appelGetInfo--;
				elementcible.innerHTML='Veuillez nous excuser, une erreur s\'est produite !<br>Erreur ' + xhr.status;
			}
		}
		xhr.open("GET", mysource);
		xhr.send(' ');
}
	
	
function GetInfoNWait(mysource,cible)
{
        elementcible = document.getElementById(cible);
		appelGetInfo++;
		var xhr = getHTTPObject();
		elementcible.innerHTML="<div class=\"chargement\">Recherche en cours, veuillez patienter</div>";
		
		xhr.onreadystatechange = function() 
		{
			if (xhr.readyState == 4 && xhr.status == 200) {
				var contenu = xhr.responseText;
				elementcible.innerHTML = contenu;
				appelGetInfo--;
			}else
			if (xhr.readyState == 4) {
				appelGetInfo--;
				elementcible.innerHTML='Veuillez nous excuser, une erreur s\'est produite !<br>Erreur ' + xhr.status;
			}
		}
		xhr.open("GET", mysource);
		xhr.send(' ');
}
	
function PutInfo(mysource)
{
			var xhr = getHTTPObject();
			xhr.open("GET", mysource);
			xhr.send(null);
}
