function getXHR(){
                var xhr = null; 
				if(window.XMLHttpRequest) // Firefox et autres
				   xhr = new XMLHttpRequest(); 
				else if(window.ActiveXObject){ // Internet Explorer 
				   try {
			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
			            } catch (e) {
			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
				}
				else { // XMLHttpRequest non supporté par le navigateur 
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				   xhr = false; 
				} 
                return xhr;
}

function LoadTof(url, content, content2, element)
{ 
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState < 4)
		{
			document.getElementById("loading").innerHTML='<img src="http://www.city-runner.net/js/ajax-loader.gif" width="16" height="16" border="0" alt="" />';
		} 
		else if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				document.getElementById("loading").innerHTML='';
				document.getElementById(element).innerHTML=req.responseText;
				document.getElementById('configZoneHere').style.display='none';
				document.getElementById('configZoneMe').style.display='none';
			}	
			else	
			{
				alert("Error: returned status code " + req.status + " " + req.statusText);
			}	
		} 
	};
	req.open("POST", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send("content="+content+"&content2="+content2); 
	// req.send(null);
}

function LoadCarte(url, element) 
{ 
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				document.getElementById("loading").innerHTML='';
				document.getElementById(element).innerHTML=req.responseText;
			}	
			else	
			{
				alert("Error: returned status code " + req.status + " " + req.statusText);
			}	
		} 
	};
	req.open("GET", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null); 
}

function LoadPNJCarte(url, content, content2) 
{ 
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				document.getElementById("loading").innerHTML='';
				document.getElementById('boxpnj').innerHTML=req.responseText;
			}	
			else	
			{
				alert("Error: returned status code " + req.status + " " + req.statusText);
			}	
		} 
	};
	req.open("POST", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send("content="+content+"&content2="+content2); 
	// req.send(null);
}

function LoadJINFO(url) 
{ 
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				document.getElementById("loading").innerHTML='';
				document.getElementById('perso').innerHTML=req.responseText;
			}	
			else	
			{
				alert("Error: returned status code " + req.status + " " + req.statusText);
			}	
		} 
	};
	req.open("GET", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function LoadMenuBoxLeft(url, content) 
{ 
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				document.getElementById("loading").innerHTML='';
				document.getElementById('menuleftbox').innerHTML=req.responseText;
			}	
			else	
			{
				alert("Error: returned status code " + req.status + " " + req.statusText);
			}	
		} 
	}
	req.open("POST", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send("content="+content); 
	// req.send(null);
}

function PlayerLoad(url) {	
	var el = 'playerbulleint';
	var el2 = 'playerbulle';
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				if (req.responseText==null || req.responseText=="Vous n'êtes pas dans un endroit peuplé !") {
					document.getElementById(el).style.display='none';
					document.getElementById(el2).style.display='none';
				} else {
					var reponseAjax = req.responseText;
					document.getElementById(el).innerHTML=reponseAjax;
				}
			}	
			else	
			{
				alert("Error: returned status code " + req.status + " " + req.statusText);
			}	
		} 
	};
	req.open("GET", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null); 
}

function ChronoLoad(url, el, el2) {	
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				GetId(el2).innerHTML=req.responseText;
				GetId("titrebull").innerHTML='Le chrono en cours :';
			}
			else
			{
				alert("Error: returned status code " + req.status + " " + req.statusText);
			}
		} 
	};
	req.open("GET", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null); 
}

function ResultRun(url, el, el2) {	
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				var reponseAjax = req.responseText;
				document.getElementById(el2).innerHTML=reponseAjax;
				document.getElementById("texte2bull").innerHTML='Résultat de course :';
			}
			else
			{
				alert("Error: returned status code " + req.status + " " + req.statusText);
			}
		} 
	};
	req.open("GET", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null); 
}

function toMeetPlayer (id) {
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				document.getElementById("loading").innerHTML='';
				document.getElementById("reponseAjax"+id).style.display='inline';
				if (req.responseText==null) {
					document.getElementById("reponseAjax"+id).style.display='none';
				} else {
					document.getElementById("reponseAjax"+id).innerHTML=req.responseText;
				}
			}	
			else	
			{
				if (req.status == '404') {
					alert("Erreur, la page demandée est introuvable.");
				} else alert("Erreur, le statut retourne l'erreur suivante : " + req.status + " || " + req.statusText);
			}	
		} 
	};
	var hero2 = document.forms["form"+id].elements["heroid"+id].value;
	var sujmsg = document.forms["form"+id].elements["sujet"+id].value;
	var txt = document.forms["form"+id].elements["texte"+id].value;
	var msgAd = 0;
	var url = 'messagerie/sendmsg-js.php';
	req.open("POST", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send('hero2='+hero2+'&sujmsg='+sujmsg+'&txt='+txt+"&msgAd="+msgAd);
}

function takeItem (url,element,get1,get2,get3,get4) {
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				urlb = 'carte_a.php?idc='+get1+'&cardi='+get2+'&action='+get3;
				LoadCarte(urlb, element);
				LoadPNJCarte('pnj_a.php', content, content2);
				LoadJINFO ('j_info_a.php');
				LoadMenuBoxLeft ('menuleft_a.php', content);
			}	
			else	
			{
				if (req.status == '404') {
					alert("Erreur, la page demandée est introuvable.");
				} else alert("Erreur, le statut retourne l'erreur suivante : " + req.status + " || " + req.statusText);
			}	
		} 
	};

	req.open("GET", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function throwItem (id,td,el,choix) {
	var nombre = document.forms[0].elements["nbre"+td].options[document.forms[0].elements["nbre"+td].selectedIndex].value;
	if (choix==0) {
		var url = '/inventaire/items-find-js.php?action=throw&idobjet='+id+'&nbre='+nombre;
	} else {
		var url = '/inventaire/items-buy-js.php?action=throw&idobjet='+id+'&nbre='+nombre;	
	}
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				document.getElementById('reception').innerHTML=req.responseText;
			}	
			else	
			{
				if (req.status == '404') {
					alert("Erreur, la page demandée est introuvable.");
				} else alert("Erreur, le statut retourne l'erreur suivante : " + req.status + " || " + req.statusText);
			}	
		} 
	}; 
	req.open("GET", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function throwPicture (id,td,el) {
	var url = '/inventaire/picture-make-js.php?action=throw&idobjet='+id;
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				document.getElementById(el).innerHTML=req.responseText;
			}	
			else	
			{
				if (req.status == '404') {
					alert("Erreur, la page demandée est introuvable.");
				} else alert("Erreur, le statut retourne l'erreur suivante : " + req.status + " || " + req.statusText);
			}	
		} 
	}; 
	req.open("GET", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function salePageItem (id,td,el) {
	var nombre = document.forms[0].elements["nbre"+td].options[document.forms[0].elements["nbre"+td].selectedIndex].value;
	var url = '/inventaire/vendre-item-js.php?idobjet='+id+'&nbre='+nombre;
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				document.getElementById('reception').innerHTML=req.responseText;
			}	
			else	
			{
				if (req.status == '404') {
					alert("Erreur, la page demandée est introuvable.");
				} else alert("Erreur, le statut retourne l'erreur suivante : " + req.status + " || " + req.statusText);
			}	
		} 
	}; 
	req.open("GET", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function saleItem (id) {
	var nombre = document.forms[0].elements["quant"].options[document.forms[0].elements["quant"].selectedIndex].value;
	var prix = document.forms[0].elements["prix"].options[document.forms[0].elements["prix"].selectedIndex].value;
	var url = '/inventaire/vendre-item-js.php?&action=sale&idobjet='+id+'&nbre='+nombre+'&prix='+prix;
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				document.getElementById('reception').innerHTML=req.responseText;
			}	
			else	
			{
				if (req.status == '404') {
					alert("Erreur, la page demandée est introuvable.");
				} else alert("Erreur, le statut retourne l'erreur suivante : " + req.status + " || " + req.statusText);
			}	
		} 
	};
	if (prix>0 && nombre>0) {
		req.open("GET", url, true);		
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send(null);
	}
}

function saleItem (id) {
	var nombre = document.forms[0].elements["quant"].options[document.forms[0].elements["quant"].selectedIndex].value;
	var prix = document.forms[0].elements["prix"].options[document.forms[0].elements["prix"].selectedIndex].value;
	var url = '/inventaire/vendre-item-js.php?&action=sale&idobjet='+id+'&nbre='+nombre+'&prix='+prix;
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				document.getElementById('reception').innerHTML=req.responseText;
			}	
			else	
			{
				if (req.status == '404') {
					alert("Erreur, la page demandée est introuvable.");
				} else alert("Erreur, le statut retourne l'erreur suivante : " + req.status + " || " + req.statusText);
			}	
		} 
	};
	if (prix>0 && nombre>0) {
		req.open("GET", url, true);		
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send(null);
	}
}

function takePicture (url,element,get1,get2,get3) {
	url = 'carte_a.php?idc='+get1+'&cardi='+get2+'&action='+get3;
	content = get1;
	content2 = get2;
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState < 4)
		{
			document.getElementById("loading").innerHTML='<img src="http://www.city-runner.net/js/ajax-loader.gif" width="16" height="16" border="0" alt="" />';
		} 
		else if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				urlb = 'carte_a.php?idc='+get1+'&cardi='+get2+'&action='+get3;
				LoadCarte(urlb, element);
				LoadPNJCarte('pnj_a.php', content, content2);
				LoadJINFO ('j_info_a.php');
				LoadMenuBoxLeft ('menuleft_a.php', content);
			}	
			else	
			{
				if (req.status == '404') {
					alert("Erreur, la page demandée est introuvable.");
				} else alert("Erreur, le statut retourne l'erreur suivante : " + req.status + " || " + req.statusText);
			}	
		} 
	};
	req.open("GET", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function takeItem (url,element,get1,get2,get3,get4) {
	content = get1;
	content2 = get2;
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				urlb = 'carte_a.php?idc='+get1+'&cardi='+get2+'&action='+get3;
				LoadCarte(urlb, element);
				LoadPNJCarte('pnj_a.php', content, content2);
				LoadJINFO ('j_info_a.php');
				LoadMenuBoxLeft ('menuleft_a.php', content);
			}	
			else	
			{
				if (req.status == '404') {
					alert("Erreur, la page demandée est introuvable.");
				} else alert("Erreur, le statut retourne l'erreur suivante : " + req.status + " || " + req.statusText);
			}	
		} 
	};

	req.open("GET", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function VoyagerTrain (url,urlc,element,cont,cont2) {
	var req = getXHR();
	req.onreadystatechange = function()
	{ 
		if(req.readyState < 4)
		{
			document.getElementById("loading").innerHTML='<img src="http://www.city-runner.net/js/ajax-loader.gif" width="16" height="16" border="0" alt="" />';
		} 
		else if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				alert(req.responseText);
				LoadCarte(urlc, element);
				LoadPNJCarte('pnj_a.php', cont, cont2);
				LoadJINFO ('j_info_a.php');
				LoadMenuBoxLeft ('menuleft_a.php', cont);
			}	
			else	
			{
				if (req.status == '404') {
					alert("Erreur, la page demandée est introuvable.");
				} else alert("Erreur, le statut retourne l'erreur suivante : " + req.status + " || " + req.statusText);
			}	
		} 
	};
	req.open("GET", url, true);		
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function submit(url,element,get1,get2) //
{ 
	if (url=='carte_a.php') {
		// pa = GetId('pa').innerHTML;
		// pa = parseInt(pa);
		// pa = pa - 1;
		// $('#pa').html(pa);
		content = get1;
		content2 = get2;
		LoadTof(url, content, content2, element);
		LoadPNJCarte('pnj_a.php', content, content2);
		LoadJINFO ('j_info_a.php');
		LoadMenuBoxLeft ('menuleft_a.php');
		// setTimeout(function() { LoadJINFO ('j_info_a.php'); },2000);
		jQuery('#Chronobulint').stopTime('chrono');
		var infotrain = document.getElementById(el).style.zIndex;
		if (infotrain==10) LoadInfoTrain('explorer/load-info-train-js.php','Trainbul','Trainbulint',0);
	} 
}

function prendreObjetCarte(url,element,get1,get2,get3,get4) //
{ 
	url = 'explorer/trouver-js.php?idc='+get1+'&cardi='+get2+'&action='+get3+'&objid='+get4;
	takeItem (url,element,get1,get2,get3,get4);
}

function takeAPicture(url,element,get1,get2,get3) //
{ 
	if (url=='carte_a.php') {
		var content = get1;
		var content2 = get2;
		url = 'carte_a.php?idc='+get1+'&cardi='+get2+'&action='+get3;
		LoadCarte(url, element);
		LoadPNJCarte('pnj_a.php', content, content2);
		LoadJINFO ('j_info_a.php');
		LoadMenuBoxLeft ('menuleft_a.php', content);
	} 
}

function buyTicketTrain(url,el,content,content2,toid,prix) //
{	
	url = url+'?idc='+content+'&cardi='+content2+'&toid='+toid+'&prix='+prix;
	var urlc = 'carte_a.php?idc='+content+'&cardi='+content2;
	VoyagerTrain (url,urlc,el,content,content2,toid);
	var infotrain = document.getElementById('Trainbul').style.zIndex;
	if (infotrain==10) LoadInfoTrain('explorer/load-info-train-js.php','Trainbul','Trainbulint',0);
}

function toMeetAPlayer(url,element,get1,get2,get3,get4) //
{ 
	if (url=='carte_a.php') {
		var el = 'playerbulleint';
		var el2 = 'playerbulle';
		var content = get1;
		var content2 = get2;
		url = 'carte_a.php?idc='+get1+'&cardi='+get2+'&action='+get3+'&hero2='+get4;
		LoadCarte(url, element);
		LoadPNJCarte('pnj_a.php', content, content2);
		LoadJINFO ('j_info_a.php');
		LoadMenuBoxLeft ('menuleft_a.php', content);
		if (document.getElementById(el).style.display != 'none' || document.getElementById(el2).style.display != 'none') { 
			montrerDiv (el);
			montrerDiv (el2);
		}
	} 
}