/**
* Merci à Qwix pour ce JS : http://qwix.media-box.net/index.php/2005/01/21/45-XmlhttprequestEtPhp#co
* Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
*/
function sendData(data, page, method, content_place)
{
    if(window.ActiveXObject)
    {
        //Internet Explorer
        var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
    }//fin if
    else
    {
        //Mozilla
        var XhrObj = new XMLHttpRequest();
    }//fin else
    
    //définition de l'endroit d'affichage:
    //var content = document.getElementById("contenu");
    var content;
    if (content_place != '') content = document.getElementById(content_place);
    
	//si on envoie par la méthode GET:
    if(method == "GET")
    {
        if(data == 'null')
        {
            //Ouverture du fichier sélectionné:
            XhrObj.open("GET", page);
        }//fin if
        else
        {
            //Ouverture du fichier en methode GET
            XhrObj.open("GET", page+"?"+data);
        }//fin else
    }//fin if
    else if(method == "POST")
    {
        //Ouverture du fichier en methode POST
        XhrObj.open("POST", page);
    }//fin elseif

    //Ok pour la page cible
    XhrObj.onreadystatechange = function()
    {
        if (XhrObj.readyState == 4 && XhrObj.status == 200)
            if (content_place != '') content.innerHTML = XhrObj.responseText ;
			var allscript = content.getElementsByTagName('script');
			for(var i=0;i< allscript.length;i++){
			eval(allscript[i].text);
		}

			
			
    }    

    if(method == "GET")
    {
        XhrObj.send(null);
    }//fin if
    else if(method == "POST")
    {
        XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		  
        XhrObj.send(data);
    }//fin elseif
}//fin fonction SendData

/**
* Permet de récupérer les données d'un fichier via les XmlHttpRequest:
*/
function getFile(page)
{
    sendData('null', page, 'GET')
}//fin fonction getFile 


function SendDataRetour(data, page, method)
{
    if(window.ActiveXObject)
    {
        //Internet Explorer
        var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
    }
    else
    {
        //Mozilla
        var XhrObj = new XMLHttpRequest();
    }
    
    if(method == "GET")
    {
        if(data == 'null')
        {
            XhrObj.open("GET", page);
        }
        else
        {
            XhrObj.open("GET", page+"?"+data);
        }
    }
    else if(method == "POST")
    {
        XhrObj.open("POST", page);
    }

    XhrObj.onreadystatechange = function()
    {
        if (XhrObj.readyState == 4 && XhrObj.status == 200) return 1;
    }    

    if(method == "GET")
    {
        XhrObj.send(null);
    }
    else if(method == "POST")
    {
        XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        XhrObj.send(data);
    }
}//fin fonction SendDataRetour 


// fonction d'appel avec une action au chargement
function sendDataonload(data, page, method, content_place,action)
{
    if(window.ActiveXObject)
    {
        //Internet Explorer
        var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
    }//fin if
    else
    {
        //Mozilla
        var XhrObj = new XMLHttpRequest();
    }//fin else
    
    //définition de l'endroit d'affichage:
    //var content = document.getElementById("contenu");
    var content = document.getElementById(content_place);
    
	//si on envoie par la méthode GET:
    if(method == "GET")
    {
        if(data == 'null')
        {
            //Ouverture du fichier sélectionné:
            XhrObj.open("GET", page);
        }//fin if
        else
        {
            //Ouverture du fichier en methode GET
            XhrObj.open("GET", page+"?"+data);
        }//fin else
    }//fin if
    else if(method == "POST")
    {
        //Ouverture du fichier en methode POST
        XhrObj.open("POST", page);
    }//fin elseif

    //Ok pour la page cible
    XhrObj.onreadystatechange = function()
    {
        if (XhrObj.readyState == 4 && XhrObj.status == 200)
            content.innerHTML = XhrObj.responseText ;
			eval(action);
    }    

    if(method == "GET")
    {
        XhrObj.send(null);
    }//fin if
    else if(method == "POST")
    {
        XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        XhrObj.send(data);
    }//fin elseif
}//fin fonction SendData

function parseform(form){
	var elts=form.elements;
	var var_post=""
	for(i=0;i<elts.length;i++) {
		el=elts[i]; 
		//alert(el.name+" "+ el.type);
		if (el.type == 'text' || el.type=='password' || el.type=='hidden' || el.type=='textarea'){
			var_post +='&'+el.name+'='+el.value;
			}
		if (el.type=='checkbox' && el.checked==true){
			if (var_post.indexOf('&'+el.name)==-1){
				var regroup = form[el.name];
		        if (!regroup.length ){
                   checked = el.checked;
				}
		        else{
				   var_post +='&'+el.name+'=';
	               for (var j = 0; j < regroup.length; j++){
						if ((checked = regroup[j].checked)){
							var_post +=regroup[j].value+",";
						}
				   }
				   var_post=var_post.substring(0,var_post.length -1 );
				}
			}
		}
		if (el.type=='radio' && el.checked==true){
			var_post +='&'+el.name+'='+el.value;
		}
		if (el.type=='select-one'){
			var_post +='&'+el.name+'='+el.options[el.options.selectedIndex].value;
		}
		if (el.type=='select-multiple'){
			var_post +='&'+el.name+'=';
			for (var k=0;k < el.options.length;k++) {
				if (el.options[k].selected==true) {
					var_post +=el.options[k].value+",";
				}
			}
		}
	}
	return var_post;
}








