function TriListe(idNomListe,sens,tab)
{

var objListe = document.getElementById(idNomListe);
var SelIndex = objListe.options.selectedIndex;
var tmp=tab[SelIndex];
if (objListe.options.selectedIndex<0) return tab;
	var objLigneADeplacer = new Option(objListe.options[objListe.options.selectedIndex].text,objListe.options[objListe.options.selectedIndex].value);
        var statuta=objListe.options[objListe.options.selectedIndex].className;
	var iPositionAvant = objListe.options.selectedIndex;
	var iPositionApres=(sens=='+')?iPositionAvant+1:iPositionAvant-1;




         
if ((iPositionApres>=objListe.length)||(iPositionApres<0)) return tab;
	var objLigneAChanger = new Option(objListe.options[iPositionApres].text,objListe.options[iPositionApres].value);
        var statutb=objListe.options[iPositionApres].className;
	objListe.options[iPositionAvant] = objLigneAChanger;	
	objListe.options[iPositionApres] = objLigneADeplacer;
	objListe.options[iPositionApres].selected=true;
        var testt= objLigneADeplacer.className+"a" ;
	objListe.options[iPositionApres].className=statuta;
        objListe.options[iPositionAvant].className=statutb;
	objListe.focus();

        if (sens=='+') { tab[SelIndex]=tab[SelIndex+1];tab[SelIndex+1]=tmp; }
        if (sens=='-') { tab[SelIndex]=tab[SelIndex-1];tab[SelIndex-1]=tmp; }
return tab;
}


var _MAX_INT = 256*256*256*16-1;

function jsArray2Php(tab) {
   var chaine = "";
   var idx = 0;
   for (i in tab) {
       if (isNaN(i)) chaine += "s:" + i.length + ":\"" + i + "\";";
       else chaine += "i:" + i + ";";
       var valeur = tab[i];
       switch (typeof valeur) {
           case "string" :
               valeur = formaterChaine(valeur);
            chaine += "s:" + valeur.length + ":\"" + valeur + "\";";
               break;
           case "number" :
               if (valeur > parseInt(valeur)) chaine += "d:" + valeur + ";";
               else if (valeur > _MAX_INT) chaine += "d:" + valeur + ";";
               else chaine += "i:" + valeur + ";";
               break;
           case "boolean" :
               chaine += "b:" + ((valeur === true) ? 1 : 0) + ";";
               break;
           case "object" :
               if (valeur === null) chaine += "N;";
               else chaine += jsArray2Php(valeur);
               break;
           default :
               chaine += "N;";
       }
       idx++;
   }
   return "a:" + idx + ":{" + chaine + "}";
}

function formaterChaine(chaine) {
   return chaine.replace(/\"/g, "&quot;");
}



function BalanceLaSauceRub(form) {
        var sortie = '';
form.resultat_rub.value = jsArray2Php(tab_rub);

}


function BalanceLaSauceArt(form) {
        var sortie = '';
form.resultat_art.value = jsArray2Php(tab_art);
}
