 //action_ajax("listes.CListes.new_elem", "div_dessus", "id_liste", "parcelles");

    // SetInnerHTML Sécurisé
    function setInnerHTML(divContent, HTML) {
      divContent.innerHTML=HTML; 
      var All=divContent.getElementsByTagName("*");
      for (var i=0; i<All.length; i++) {
        All[i].id=All[i].getAttribute("id")
        All[i].name=All[i].getAttribute("name")
        All[i].className=All[i].getAttribute("class")
      }
      var AllScripts=divContent.getElementsByTagName("script")
      for (var i=0; i<AllScripts.length; i++) {
         var s=AllScripts[i];
         if (s.src && s.src!="") {
            // Précédement asynchrone, mis en synchrone pour éviter des problèmes de dépendances de scripts
            eval(getFileContent(s.src))
         }
         else {
        	// alert("script "+s.innerHTML);
            eval(s.innerHTML);
            
         }
      }
    }
 
    // Renvoie le texte de l'objet ActiveXObject le plus récent depuis une liste
    var pickRecentProgID = function (idList){
	    // found progID flag
        var bFound = false;
        for(var i=0; i < idList.length && !bFound; i++){
            try{
                var oDoc = new ActiveXObject(idList[i]);
                o2Store = idList[i];
                bFound = true;
            }catch (objException){
                // trap; try next progID
            };
        };
        if (!bFound)
		    throw ("Aucun ActiveXObject n'est valide sur votre ordinateur, pensez à mettre à jour votre navigateur");
        idList = null;
        return o2Store;
    }
 
    // Retourne un nouvel objet XmlHttpRequest
    var GetXmlHttpRequest_AXO=null
    var GetXmlHttpRequest=function () {
	    if (window.XMLHttpRequest) {
		    return new XMLHttpRequest()
	    }
	    else if (window.ActiveXObject) {
		    if (!GetXmlHttpRequest_AXO) {
			    GetXmlHttpRequest_AXO=pickRecentProgID(["Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]);
		    }
		    return new ActiveXObject(GetXmlHttpRequest_AXO)
	    }
	    return false;
    }
 
    function getFileContent(url) {
       var Xhr=GetXmlHttpRequest();
       Xhr.open("GET",url,false);
       Xhr.send(null);
       return Xhr.responseText;
    }

/**
 * Execute une action avec en entrée toutes les données d'un formulaire
 * @param action
 * @param form
 * @param autres_params
 * @return
 */
function ajax_action_form(action,form,autres_params) {
	if(autres_params==undefined) {
		autres_params=[];
	 }
	var form_ok=true;
	try{
		for(var i=0;i<form.elements.length;i++) {
			elem=form.elements[i]; 
			if(elem.type=="checkbox")
				autres_params[elem.name]=elem.checked?elem.value:0;
			else 
				autres_params[elem.name]=elem.value
				
			if(elem.useMap)
				if (elem.useMap[0] == '(' && elem.useMap[elem.useMap.length - 1] == ')') {
					strExp = new RegExp('^' + elem.useMap + '$');
					if (! strExp.test(elem.value)) {
						elem.style.backgroundColor = "red";
						//form_ok=false;
					}
					else elem.style.backgroundColor = "green";
				}
			//alert(elem.name);
			
		}
	} catch(e) {}
	// toutes les variables du formulaire
	autres_params.action=action;
	
	if(!form_ok) {
		return false;
	}
	return request_bool("/switch_ajax.php",autres_params);
}
function ajax_to_div_contenu(action, target_div,autres_params,form,scroll) {
	ajax_to_div(action, target_div+"_contenu",autres_params,target_div+"_div",form,scroll);
}
 function ajax_to_div(action, target_div,autres_params,div_visible,form, scroll) {
	 
	 if(autres_params==undefined) {
		autres_params=[];
	 }
	 if(form!=undefined) {
		 for(var i=0;i<form.elements.length;i++) {
			elem=form.elements[i]; 
			if(elem.type=="checkbox") {
				 //if(elem.checked) 
				//	 autres_params[elem.name]=elem.value;
				autres_params[elem.name]=elem.checked?elem.value:'';
			}
			else {
				autres_params[elem.name]=elem.value
			}
		}
	 }
	 if(div_visible==undefined) {
		 div_visible=target_div;
	 }
	 //alert(autres_params);
	 // parse les autres params
	autres_params.action=action;
	autres_params.ajax_write_retour="oui";
	grise(div_visible);
	resultat=request("/switch_ajax.php",autres_params);
	div=$(div_visible);
	contenu=$(target_div);

	
	if(resultat.length>0) {
		//cache_div(div);
		setInnerHTML(contenu,resultat);
		div.style.display="block";
		degrise(div_visible);
		//Mootools : remonte la page en haut
		
		if (scroll) {
			
			var myFx = new Fx.Scroll(window);
			myFx.toTop();
		}
	} else {
		contenu.innerHTML="&nbsp;";
		div.style.display="none";
		degrise(div_visible);
	}
	
 }
 function grise(id) {
	 $(id).style.opacity="0.5";
	 $(id).style.mozOpacity="0.5"; 
 }
 function degrise(id) {
	 $(id).style.opacity="";
	 $(id).style.mozOpacity=""; 
 }

//fonction moche qui cache les deux div possiblement cachable, appelée ci-dessous
function cache_all_divs() {
	cache_div('dessus_div');
	cache_div('print_dessus_div');
}
document.onkeyup=function(e) {
	//on fait deux fois pareil, une fois pour IE, une fois pour le reste du monde
	if (window.event != undefined && window.event != null)
		if (window.event.keyCode == 27) {
			cache_all_divs();
			return;
		}
	if (e.which != undefined && e.which != null)
		if(e.which == 27) {
			cache_all_divs();
			return;
		}
}
 
 function cache_div(id) {
	 $(id).style.display="none";
 }
 function $(id) {
	 return document.getElementById(id);
 }
 function request_bool(fichier,params) {
	 if(params==undefined) {
		 params=[];
	 }
	 params["ajax_write_retour"]="oui";
	 if(retour=request(fichier,params)) {
		 var res=retour;
		 valeurs=parse_variables(retour);
		 if(valeurs["txtErr"]!=undefined) {
			 alert(valeurs["txtErr"]);
			 return false;
		 }  else if(valeurs["err"]!=undefined) {
			 alert("erreur "+valeurs["err"]);
			 return false;
		 } else if(valeurs["ok"]!=undefined) {
			 if(valeurs["message"]!=undefined) {
				 alert(valeurs["message"]);
			 }
			 return true;
		 }
		 
		 if(res.length>0)
			 alert(res);
	 }
	 return false;
 }
 function parse_variables(str) {
	 retour=[];
	 split=str.split("&");
	 for(var i = 0; i < split.length; i++) { 
		 sp2=split[i].split("=");
		 if(sp2.length>1) {	 
			 variable=sp2.shift();
			 retour[variable]=sp2.join("=");
		 }
	}
	 return retour;
 }
 
 function action_ajax(action,variables,write_retour) {
	 variables.action=action;
	 variables.ajax_write_retour=(write_retour?"oui":"");
	 return request_bool("/switch_ajax.php",variables);
 }
 
 
 function request(fichier,obj_params)
 {
	tab_params=["ajax=oui"];
	for(var i in obj_params) {
		tab_params.push(i+"="+escape(obj_params[i]))
	}
	
	 strparams=tab_params.join("&");
	 
	 if(window.XMLHttpRequest) // FIREFOX
	      xhr_object = new XMLHttpRequest();
	 else if(window.ActiveXObject) // IE
	      xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	 else
	      return(false);
	 xhr_object.open("POST", fichier, false);
	 xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	 xhr_object.send(strparams);
	 if(xhr_object.readyState == 4) return(xhr_object.responseText);
	 else return(false);
}
