var t_decor = new Array();
var t_decor_2 = new Array();
var SW_decor = parseInt(0,10);

function addslashes(str) {
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\\/g,'\\\\');
	str=str.replace(/\0/g,'\\0');
	return str;
}
function stripslashes(str) {
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\\\/g,'\\');
	str=str.replace(/\\0/g,'\0');
	return str;
}
function SetDiv(text,div)
{
	if (document.getElementById)
	{
		document.getElementById(div).innerHTML = '';
		document.getElementById(div).innerHTML = text;
	}
	else if (document.all)
	{
		x = document.all[div];
		x.innerHTML = text;
	}
	else if (document.layers)
	{
		x = document.layers[div];
		text2 = '<p class="testclass">' + text + '</p>';
		x.document.open();
		x.document.write(text2);
		x.document.close();
	}
}

function load_decor(liste_ID)
{
	SW_decor=0;
	var suivi='<u>Suivi de la requete Ajax :</u>';
	var cpt = -1;
	//méthode AJAX
	var xhr_object = null; 
	if(window.XMLHttpRequest){xhr_object = new XMLHttpRequest();} // FIREFOX
	else if(window.ActiveXObject){xhr_object = new ActiveXObject("Microsoft.XMLHTTP");}  // IE
	else{alert('Votre navigateur ne supporte pas les objets XMLHttpRequest');}
	//on éxécute la requête
	xhr_object.onreadystatechange = function()
	{ 
		try
		{
			if(xhr_object.readyState == 4) //données reçues!
			{
				
				//suivi +='<br />Réponse reçue';
				//SetDiv(suivi,'msg');
				var Data = xhr_object.responseText;
			//	alert('réponse recue : ' + Data)
				SetDiv(Data, 'info');
				// message recu: Etat*detail
				var reg=new RegExp("[*]+", "g");
				var tab=Data.split(reg);
				//on met à jour		
				if(tab[0]=="KO"){SetDiv('Décor erreur : ' + tab[1],'info');}
				else if(tab[0]=="OK")
				{
					//detail contient plusieurs décors séparés par "µ"
					reg=new RegExp("[µ]", "g");
					var grp=tab[1].split(reg);
					for each(a in grp)
					{
						var reg=new RegExp("[¤]+", "g");
						var d=a.split(reg);
						cpt=t_decor.length;
						suivi +='<br />Traitement Décor N°' + d[0];
						SetDiv(suivi,'msg');
						var temp=[d[0],stripslashes(d[1]),d[2],d[3],d[4],d[5],d[6],d[7],d[8]];
						t_decor.push(temp);
						//ID, nom, Image, Bloc, Hauteur, Largeur, Transparent, Action, remplacement
						//SetDiv('','info');
						//test variables
						t_decor_2[d[0]]=new Array(d[0],stripslashes(d[1]),d[2],d[3],d[4],d[5],d[6],d[7],d[8]);
					}
				}
				suivi +='<br />Fin de la requete';
				SetDiv(suivi,'msg');
				//affichage du contenu des variables globales
				suivi='t_decor avant cloture de la fonction :';				
				for(a in t_decor){suivi +='<br />t_decor['+a+'][0]='+t_decor[a][0]+'<br />t_decor['+a+'][1]='+t_decor[a][1];}
				SetDiv(suivi,'info');
				SW_decor=1;
				//return cpt;
	    	}
	   		else if(xhr_object.readyState == 1) //données en cours de chargement
	    	{
				SetDiv('Requete préparée','info');
				suivi +='<br />Requete préparée pour ' + liste_ID;
				SetDiv(suivi,'msg');
				cpt="_1";
			}
	   	    else if(xhr_object.readyState == 2) //données chargées
	    	{
				SetDiv('Requete reçue par le serveur','info');
				suivi +='<br />Requete reçue par le serveur';
				SetDiv(suivi,'msg');
				cpt="_2";
			}
	    	else //données en cours
	    	{
				SetDiv('Mise à jour des décors','info');
				cpt=-2;
				suivi +='<br />Requete en cours sur ' + liste_ID;
				SetDiv(suivi,'msg');
			}
			//suivi +='<br />Fin onreadyStateChange()';
			//SetDiv(suivi,'msg');
		}
		catch(e)
		{
            alert("Une exception s'est produite : " + e.message);
        }
	}
	//on spécifie la méthode de transfert des données
	xhr_object.open("GET", 'ajax.load_decor.php?ID=' + liste_ID , true); //synchrone => on affiche rien tant que ce n'est pas chargé (pas ici)
	//on appelle la fonction
	xhr_object.send(null);
//	suivi +='<br />Envoi de la requete';
	//SetDiv(suivi,'msg');
}

function show_decor()
{
	if(SW_decor===1)
	{
		var suivi='<u>Données en t_decor (hors fonction):</u>';
		suivi+='<br />Taille : '+t_decor.length;
		for (a in t_decor){suivi +='<br />t_decor['+a+'][0]='+t_decor[a][0]+' --- t_decor['+a+'][1]='+t_decor[a][1];}
		SetDiv(suivi,'sortie');
	}
	else
	{
		var t=setTimeout("show_decor()",20);
	}
}
