/*
    Document   : ajax.js for ift1142; Alain Pilon
    Created on : Nov 26, 2009, 7:57:08 PM
    Author     : Daniel Poissant, POID06028104, p0714290
     JavaScript 1.5 -->
    Description:
        Purpose of the stylesheet follows.
        Javascript Updated for IFT1142 TP2; October 21, 2009, 7:36:10 PM using Notepad++
		Ajax class to ease ajax repetitive code !
*/

var ajax = {
	callback: "",
	get: function(url, callback) {
		//alert('ajax.get: ' + url );
		this.callback = callback;
		// Le code pour lancer la requête (GetXmlHttpObject)^
  
		xmlHttp=GetXmlHttpObject();
		if (xmlHttp==null)
		{
			alert ("Le navigateur ne supporte pas les 'HTTP Requests'");
			return;
		}
 
		xmlHttp.onreadystatechange=this.onStateChanged;
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);        
		
	},
	onStateChanged: function(result) {
		//alert('ajax.onStateChanged');
		//alert(result);
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{
			//alert("state change ready");
			//alert(ajax.callback);
			//permet de faire un callback a une fonction avec un param. on met ajax et non this car this disparait dans la nature (bug javascript)
			ajax.callback(xmlHttp);
		}
	}
};

//La fonction pour le XMLHTTPRequest original de la demo !
function GetXmlHttpObject()
{ 
  var objXMLHttp=null;
  if (window.XMLHttpRequest)
  {
    objXMLHttp=new XMLHttpRequest();
  }
  else if (window.ActiveXObject)
  {
    objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  return objXMLHttp;
} 
