function $(id){return document.getElementById(id);}
function toggle(id,e)
{xxx=(navigator.appName.substring(0,3)=="Net")?e.pageX:event.x+document.body.scrollLeft;yyy=(navigator.appName.substring(0,3)=="Net")?e.pageY:event.y+document.body.scrollTop;if(typeof($(id).style.left)=='string')
{$(id).style.left=(xxx+10)+'px';$(id).style.top=(yyy+10)+'px';}
else
{$(id).style.left=(xxx+10);$(id).style.top=(yyy+10);}
$(id).style.display=($(id).style.display=='none')?'':'none';}


function getXhr()
 {
  if(window.XMLHttpRequest) xhr = new XMLHttpRequest(); 
  else if(window.ActiveXObject)
   {  
    try
     {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
     }
    catch (e)
     {
      xhr = new ActiveXObject("Microsoft.XMLHTTP");
     }
   }
  else 
   { 
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest, veuillez le mettre à jour"); 
    xhr = false; 
   } 
 }

function lister_champs(theform)//icic la fonction qui va générer les éléments a envoyer
{
   var url='';
   for (i=0; i<theform.elements.length; i++)
   {
       if(((theform.elements[i].type=='radio' ||theform.elements[i].type=='checkbox') && theform.elements[i].checked==true) || (theform.elements[i].type!='radio' &&theform.elements[i].type!='checkbox'))//control si c'est des radio ou check box et incrémente le résultat QUE si c'est coché (sans ça il prendrais les deux)
           {
   if(theform.elements[i].type=='select-multiple' || theform.elements[i].type=='select' )//si c'est un select multiple 
   {
    for(j = theform.elements[i].length-1; j >= 0; j-=1)//on parcours les element du select multiple
       {
          if(theform.elements[i].options[j].selected)//si selectionné on incremente
             {
                             if(url){url+='&';}
           url+=theform.elements[i].name+'='+theform.elements[i].options[j].value;
             }
     }
   }
   if(url){url+='&';}
   if(theform.elements[i].type!='select-multiple'){  url+=theform.elements[i].name+'='+theform.elements[i].value;}
           }
        }
return url;//onretourne le resultat vers la fonction appelée
}

function envoi_theform(theform)
 {
  getXhr();
  xhr.onreadystatechange = function()
   {
    if(xhr.readyState == 4 && xhr.status == 200)
     {
      // Nous remplacons le contenu du div mondiv par le retour de "ajax.php"
      document.getElementById('mondiv').innerHTML = xhr.responseText;
     }
   }
  xhr.open("POST",'data/send_ajax_form.php',true);
  xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  xhr.send(lister_champs(document.monForm));
  return false; // /!\il est important d'ajouter ça afin que la page ne soit pas rappelée par le post!!/!\
 }
