Liste = new Array; //Tableau des couples Nom=Variable 
Couple = new Array; //Tableau temporaire d'un couple 
QueryString = new Array; //Tableau final : QueryString['Nom']='valeur' 

//Récupération des données transmises 
URLsearch = window.location.search.substr(1); 

/*Si on est passé par un lien, les espaces sont remplacés par "%20" 
Si on est passé par un formulaire, les espaces sont remplacés par "+" 
En trouvant la chaine "%20", on peut fortement estimer qu'il s'agit d'un envoie par lien 
Par un formulaire, le signe % étant codé %25. Donc "%20" devient "%2520" => pas de risque de confusion 
Les "+" ne sont alors pas remplacés par des espaces.*/ 

if(URLsearch.indexOf("%20",0) == -1) //Si on ne trouve pas "%20" => passage par formulaire 
{ 
//Remplacement des "+" par des espaces 
PosPlus = URLsearch.indexOf("+",0); 
//Tant que l'on en trouve 
while (PosPlus != -1) 
{ 
//Remplacement du "+" par un " " 
URLsearch = URLsearch.substring(0,PosPlus) + ' ' + URLsearch.substr(PosPlus+1); 
//Recherche du "+" suivant 
PosPlus = URLsearch.indexOf("+",PosPlus); 
} 
} 

//Remise en forme ASCII 
URLsearch = unescape(URLsearch); 

//Découpage des couples 
Liste = URLsearch.split("&"); 

//Si il y a des données 
if(Liste[0]!="") 
{ 
//Pour chacun des couples... 
for (k=0;k<Liste.length;k++) 
{ 
//Séparation du nom et de la valeur 
Couple = Liste[k].split("="); 
Nom = Couple[0]; 
Valeur = Couple[1]; 

//Stockage dans le tableau final 
QueryString[Nom] = Valeur; 
} 
} 

//Cette fonction retourne la valeur à partir du nom si elle existe 
function Get(Nom) 
{ 
if(QueryString[Nom]) 
return(QueryString[Nom]); 
else 
return(""); 
}
