/**
*
*ensemble de fonctions courates
*
**/
function ecouter(element, nom, gestionnaire) {
  //normal
  if (element.addEventListener) element.addEventListener(nom, gestionnaire, false);
  //pour IE
  else if (element.attachEvent) element.attachEvent('on'+nom, gestionnaire);
}//fin

function source (e) {
  var target;
  if (window.event) {
    target = window.event.srcElement
  } else if (e) {
    target = e.target
  } else {
    target = null;
  }
  return target;
}


function envoyerNom(e) {
  var nom=source(e).id;
  var envoi=new Array();
  envoi['nom']=nom;
  envoyerPhp(envoi);
}

function envoyerPhp(tableauAssociatif) {
  var chaineValeurs= concatener(tableauAssociatif);
  var formulaireCache=document.createElement('form');
  formulaireCache.setAttribute('name','js');
  formulaireCache.setAttribute('method','POST');
  formulaireCache.style.display='none';
  document.getElementsByTagName("body")[0].appendChild(formulaireCache);
  var nouvelInput=document.createElement('input');
  var name=document.createAttribute('name');
  name.nodeValue='envoi_js';
  var value=document.createAttribute('value');
  value.nodeValue=chaineValeurs;
  nouvelInput.setAttributeNode(name);
  nouvelInput.setAttributeNode(value);
  formulaireCache.appendChild(nouvelInput);
  formulaireCache.submit();
}

function concatener(tableauAssociatif) {
  var chaine="";
  var debut = true;
  for (var cle in tableauAssociatif) {
    if (debut)
      debut=false;
    else
      chaine+="#";
    chaine+=enleverCaracteresInterdits(cle);
    chaine+="§";
    chaine+=enleverCaracteresInterdits(tableauAssociatif[cle]);
  }
  return chaine;
}

function enleverCaracteresInterdits(chaine){
	var caracteresInterdits=/[#|§]/g;
	return chaine.replace(caracteresInterdits,'');
}


function ecouterElements(balise, prefixe, gestionnaire, racine) {
  var conteneur;
  if (racine!=undefined) conteneur=document.getElementById(racine);
  else conteneur=document;
  if (conteneur) {
    var tabElems = conteneur.getElementsByTagName(balise);
    for (var i=0; i< tabElems.length; i++) {
      var cetElem=tabElems[i];
      var nomElem = cetElem.id;
      if (nomElem.indexOf(prefixe)==0)
        ecouter (cetElem, 'click', gestionnaire);
    }
  }
}

function dansTableau(tableau, valeur) {
  if (!tableau) return
 for (var i=0; i<tableau.length; i++) {
  if (tableau[i]==valeur) return i;
 }
 return -1;
}
