// JavaScript Document

function getHTTPObject(callbackfunk,callbackparams)
{
	
	
  var xmlhttp = false;

  /* Compilation conditionnelle d'IE */
  /*@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 @*/

	xmlhttpxmlhttp = false;

  /* on essaie de créer l'objet si ce n'est pas déjà fait */
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
  {
     try
     {
        xmlhttp = new XMLHttpRequest();
     }
     catch (e)
     {
        xmlhttp = false;
     }
  }

  if (xmlhttp)
  {
     /* on définit ce qui doit se passer quand la page répondra */
     xmlhttp.onreadystatechange = function()
     {
        if (xmlhttp.readyState == 4) /* 4 : état "complete" */
        {
           if (xmlhttp.status == 200) /* 200 : code HTTP pour OK */
           {

				if (!callbackparams){
				
					callbackparams = "";
				
				}
				
				if (callbackfunk){

					eval(callbackfunk+'('+callbackparams+'xmlhttp.responseText)');
				
				}
				
			 	xmlhttp.abort();

           }
        }
     }
  }
  
  return xmlhttp;

}

function ajax_send(method, url, data, callbackfunk,callbackparams){

	var xmlhttp = getHTTPObject(callbackfunk,callbackparams);

	if (!xmlhttp){ 
		return false;
	}
	
	var date = new Date();
	var stmp = date.getTime();
	
	if(method == "GET"){ 
	
		if(data == 'null')
		{
			xmlhttp.open("GET", url, true); //ouverture asynchrone
		}else{
			
			xmlhttp.open("GET", url+"?"+data+"&"+stmp, true);
		}
		
		xmlhttp.send(null);
	
	}else if(method == "POST"){

		xmlhttp.open("POST", url, true); //ouverture asynchrone
		xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xmlhttp.send(data+"&"+stmp);

	}

	return true;

}

