/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Idée de fonctionnement général :
//Chaque créature possède une image invisible sur la carte qui possède toutes ses propriétés ("CREATURE_active")
//Ensuite on crée un hologramme ("CREATURE_active_case") sur la carte selon sa position (enregistrée dans la BDD)
//S'en suit toute une gestion qui va permettre d'effacer et créer des hologrammes, en remplaçant
//les images "case" de la map par l'image de la créature.
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////


window.onmouseover = Deplacement_Click;
function Deplacement_Click()
{
	for(var i=0; i<document.getElementsByName("creatureSurMap").length; i++)
	{
				var position = document.getElementsByName("creatureSurMap")[i].alt;
				if (document.getElementById(position))
				{
					//alert(typeof(document.getElementById(position)));
					//if (typeof(document.getElementById(position)) == "undefined")
					//{
					//	position = "CREATURE_active";
					//}
				
					//---Apparition de la créature
					document.getElementById(position).alt = position;
					document.getElementById(position).onmouseout = document.getElementsByName("creatureSurMap")[i].onmouseout;
					document.getElementById(position).onmouseover = document.getElementsByName("creatureSurMap")[i].onmouseover;
					document.getElementById(position).onclick = document.getElementsByName("creatureSurMap")[i].onclick;
					document.getElementById(position).style.cursor = "pointer";
					document.getElementById(position).src = document.getElementsByName("creatureSurMap")[i].src;
					
					if (document.getElementsByName("creatureSurMap")[i].id == "CREATURE_active")
					{
						document.getElementById(position).id = "CREATURE_active_case";
					}
					else {document.getElementById(position).id = document.getElementsByName("creatureSurMap")[i].id;}
				}
	}
}



//Script permettant la permutation de Créature

var CREATUREpermut_xhr = false;
function CREATURE_permuter2Init(idJoueur)
{
	//if (window.ActiveXObject) //Impossibilité de manoeuvre pour les utilisateurs de IE
	//{ } else
	//{
		if (document.getElementById("CREATURE_active"))
		{
			document.getElementById("MAISON_membre").onclick = "";
	
			idCreature = document.getElementById("CREATURE_divcreaturesuivante").innerHTML;
			if (window.XMLHttpRequest)	{ CREATUREpermut_xhr = new XMLHttpRequest(); }
			else
			{
				if (window.ActiveXObject)
				{
					try
					{
						CREATUREpermut_xhr = new ActiveXObject("Microsoft.XMLHTTP");
					}
					catch (e) {}
				}
			}
			if (CREATUREpermut_xhr) {CREATURE_permuter23(idCreature,idJoueur);}
			else {alert("Désolé, je ne peux pas créer XMLHttpRequest");}
		}
	//}
}

eventEnCours = 0;
function CREATURE_permuter23(idCreature,idJoueur)
{
				var id_case = document.getElementById("CREATURE_active").alt; //on relève la case sur laquelle est la créature
				//delete document.getElementById("CREATURE_active"); //on supprime l'image référence
				document.getElementById("CREATURE_active").onclick = ""; //on supprime l'image référence
				document.getElementById("CREATURE_active").name = ""; //on supprime l'image référence
				document.getElementById("CREATURE_active").alt = ""; //on supprime l'image référence
				document.getElementById("CREATURE_active").onmouseout = ""; //on supprime l'image référence
				document.getElementById("CREATURE_active").onmouseover = ""; //on supprime l'image référence
				document.getElementById("CREATURE_active").src = ""; //on supprime l'image référence
				document.getElementById("CREATURE_active").style.cursor = ""; //on supprime l'image référence
				document.getElementById("CREATURE_active").style.visibility = ""; //on supprime l'image référence
				document.getElementById("CREATURE_active").id = ""; //on supprime l'image référence
				CREATUREpermut_xhr.open("GET", "village_switch_creature.php?j="+idCreature, true);
				CREATUREpermut_xhr.onreadystatechange = function() {CREATURE_permuter22(idCreature,idJoueur,id_case);};
				CREATUREpermut_xhr.send(null);
}		

function CREATURE_permuter22(idCreature,idJoueur,id_case)
{
		if (window.ActiveXObject)
		{
			if (CREATUREpermut_xhr.readyState == 4)
			{
				if (CREATUREpermut_xhr.status == 200)
				{
					CREATURE_permuter_suiv(idCreature,idJoueur,id_case);
				}
			}
		}
		else
		{
			CREATURE_permuter_suiv(idCreature,idJoueur,id_case);
		}
}

function CREATURE_permuter_suiv(idCreature,idJoueur,id_case)
{
	if (eventEnCours == 0) //sécurité pour éviter un double téléportage
	{
		//if (CREATUREpermut_xhr.readyState == 4)
		//{
			//if (CREATUREpermut_xhr.status == 200)
			//{
				eventEnCours = 1;
				document.getElementById("CREATURE_active_case").onclick = ""; //sécurité : on empêche le click sur la créature pendant la transition
				document.getElementById("CREATURE_active_case").onmouseout = ""; //Idem
				document.getElementById("CREATURE_active_case").onmouseover = ""; //Idem
				document.getElementById("CREATURE_active_case").src = "modules/creature/sprites/switch.gif";
				if (document.getElementById("maison_"+idJoueur+"_02")) { document.getElementById("maison_"+idJoueur+"_02").src = "modules/creature/sprites/switch.gif"; }
				var delay22 = function()
				{
					document.getElementById("Boite_creatures_instances").innerHTML = CREATUREpermut_xhr.responseText;
					CREATURE_permuterApparition(idCreature,idJoueur,id_case);				
				}; // Méthode à savoir pour passer des arguments dans un setTimeout !!
				setTimeout(delay22, 500);
			//}
			//else
			//{
			//	alert("Un problème dans la requête");
			//}
		//}
//		else
//		{
//			alert("Pas chargée");
//		}
	}
}
function CREATURE_permuterApparition(idCreature,idJoueur,id_case) //fin de la boucle, pour procéder aux changements d'images.
{
		if (document.getElementById("CREATURE_active"))
		{
			
			//---Disparition de la créature
			document.getElementById("CREATURE_active_case").alt = "case";
			document.getElementById("CREATURE_active_case").onmouseout = "";
			document.getElementById("CREATURE_active_case").onmouseover = "";
			document.getElementById("CREATURE_active_case").style.cursor = "default";
			document.getElementById("CREATURE_active_case").src = "modules/creature/design/case.gif";
			document.getElementById("CREATURE_active_case").onclick = document.getElementById("caseReference").onclick;
			document.getElementById("CREATURE_active_case").id = id_case;
			
			//---Apparition de la créature
			document.getElementById("maison_"+idJoueur+"_02").alt = "maison_"+idJoueur+"_02";
			document.getElementById("maison_"+idJoueur+"_02").onmouseout = document.getElementById("CREATURE_active").onmouseout;
			document.getElementById("maison_"+idJoueur+"_02").onmouseover = document.getElementById("CREATURE_active").onmouseover;
			document.getElementById("maison_"+idJoueur+"_02").onclick = document.getElementById("CREATURE_active").onclick;
			document.getElementById("maison_"+idJoueur+"_02").style.cursor = "pointer";
			document.getElementById("maison_"+idJoueur+"_02").src = document.getElementById("CREATURE_active").src;
			document.getElementById("maison_"+idJoueur+"_02").id = "CREATURE_active_case";

			eventEnCours = 0;
			document.getElementById("MAISON_membre").onclick = document.getElementById("MAISON_modele").onclick;
		}
}




//Script qui gère le déplacement d'une créature (il modifie le champ "position" dans la table du membre)
function CREATUREDeplacement_switch(id)
{
	if (window.XMLHttpRequest)	{ CREATUREpermut2_xhr = new XMLHttpRequest(); }
	else
	{
		if (window.ActiveXObject)
		{
			try
			{
				CREATUREpermut2_xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {}
		}
	}
	if (CREATUREpermut2_xhr) {CREATUREDeplacement_switch2(id);}
	else {alert("Désolé, je ne peux pas créer XMLHttpRequest");}
}
function CREATUREDeplacement_switch2(idCreature)
{
		CREATUREpermut2_xhr.open("GET", "deplacer_creature.php?id="+idCreature, true);
		CREATUREpermut2_xhr.onreadystatechange = function() {CREATURE_depl(idCreature);};
		CREATUREpermut2_xhr.send(null);
}
var eventEnCours = 0;
function CREATURE_depl(idCreature)
{
		if (eventEnCours == 0) //sécurité pour éviter un double téléportage
		{
			eventEnCours = 1;
			//if (CREATUREpermut2_xhr.readyState == 4)
			//{
				//if (CREATUREpermut2_xhr.status == 200)
				//{
					imageCreature = document.getElementById("CREATURE_active_case").src;
					document.getElementById("CREATURE_active_case").onclick = ""; //sécurité : on empêche le click sur la créature pendant la transition
					document.getElementById("CREATURE_active_case").onmouseout = ""; //Idem
					document.getElementById("CREATURE_active_case").onmouseover = ""; //Idem
					document.getElementById(idCreature).onclick = ""; // idem
					document.getElementById("CREATURE_active_case").src = "modules/creature/sprites/switch.gif";
					document.getElementById(idCreature).src = "modules/creature/sprites/switch.gif";
					var delay = function() { CREATURE_apparition(idCreature); }; // Méthode à savoir pour passer des arguments dans un setTimeout !!
					setTimeout(delay, 500);
				//}
				//else
				//{
				//	alert("Un problème dans la requête");
				//}
			//}
			//else {alert("Pas chargée");}
		}
}
function CREATURE_apparition(idCreature) //fin de la boucle, pour procéder aux changements d'images.
{
			//---Disparition de la créature
			var id_case = document.getElementById("CREATURE_active").alt;
			document.getElementById("CREATURE_active_case").alt = "case";
			document.getElementById("CREATURE_active_case").onmouseout = "";
			document.getElementById("CREATURE_active_case").onmouseover = "";
			document.getElementById("CREATURE_active_case").style.cursor = "default";
			document.getElementById("CREATURE_active_case").src = "modules/creature/design/case.gif";
			document.getElementById("CREATURE_active_case").onclick = document.getElementById("caseReference").onclick;
			document.getElementById("CREATURE_active_case").id = document.getElementById("CREATURE_active").alt;
			
			//---Apparition de la créature
			document.getElementById("CREATURE_active").alt = idCreature; //On met à jour la position de la créature sur l'image originelle.
			document.getElementById(idCreature).alt = idCreature;
			document.getElementById(idCreature).onmouseout = document.getElementById("CREATURE_active").onmouseout;
			document.getElementById(idCreature).onmouseover = document.getElementById("CREATURE_active").onmouseover;
			document.getElementById(idCreature).onclick = document.getElementById("CREATURE_active").onclick;
			document.getElementById(idCreature).style.cursor = "pointer";
			document.getElementById(idCreature).src = imageCreature;
			document.getElementById(idCreature).id = "CREATURE_active_case";
			
			eventEnCours = 0;
}
