  var fenetre;
  var canLoad = 1;
  
	 
	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;
	}
	
	/**
	* Méthode qui sera appelée sur le click du bouton
	*/
	function GoInformateur()
	{
		var xhr = getXhr();
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function()
		{
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200)
			{
				leselect = xhr.responseText;
				// On se sert de innerHTML pour rajouter les options a la liste
				document.getElementById('Complement').innerHTML = leselect;
			}
		}

		// Ici on va voir comment faire du post
		xhr.open("POST","pnj-informateur.php",true);
		// ne pas oublier ça pour le post
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		// ne pas oublier de poster les arguments
		// ici, l'id de l'Objettype
		sel = document.getElementById('Type');
		idType = sel.options[sel.selectedIndex].value;
		xhr.send("idType="+idType);
	}
  
  
  /*
  	Chaines de message
  */
  
  var c_err_article_propos = "Merci de saisir un nombre inf\351rieur au nombre d'articles propos\351s";
  
  /*
  	Fonctions
  */

  function cSubmitMsg(msg)
  {
  var a = confirm(msg);
  if (a)
  	return true ;
  else
  	return false ;
  }
  
  function cSubmit()
  {
  	return cSubmitMsg("Confirmez-vous cette action ?");
  }
  
  function lance_chat()
  {
  	popup(fenetre, "Chat", "http://www.sistearth.com/chat/index.php", 700, 500);
  }
  
  function popup(win,name,url, w, h)
  {
  	win=window.open(url,name,'toolbar=no, location=no, directories=no, status=no, scrollbars=yes, resizable=no, copyhistory=no, width='+ w +', height='+ h +', left=200, top=150');
    win.creator=self;
    win.focus();
  }
  
  function resizePopUp(monImage, monTitre)
  {
  w = window.open('','chargement','width=10,height=10,status=no,scrollbars=no,resizable=no');
  w.document.write( "<html><head><title>"+monTitre+"</title>\n" );
  w.document.write( "<script language='JavaScript'>\n");
  w.document.write( "IE5=NN4=NN6=false;\n");
  w.document.write( "if(document.all)IE5=true;\n");
  w.document.write( "else if(document.getElementById)NN6=true;\n");
  w.document.write( "else if(document.layers)NN4=true;\n");
  w.document.write( "function autoSize() {\n");
  w.document.write( "if(IE5) self.resizeTo(document.images[0].width+10, document.images[0].height+31)\n");
  w.document.write( "else if(0 && NN6) self.sizeToContent();\n");
  w.document.write( "else window.resizeTo(document.images[0].width+8, document.images[0].height+84)\n");
  w.document.write( "self.focus();\n");
  w.document.write( "}\n</scri");
  w.document.write( "pt>\n");
  w.document.write( "</head><body leftmargin=0 topmargin=0 marginwidth=0 marginheight=0 onLoad='javascript:autoSize();'>" );
  w.document.write( "<a href='javascript:window.close();'><img src='"+monImage+"' border=0 alt='"+monTitre+"'></a>" );
  w.document.write( "</body></html>" );
  w.document.close();
  }
  
  function recup()
  {
  	popup(fenetre, "Recuperation", "http://www.sistearth.com/ext/recup.php", 500, 400);
  }
  
  function checkRes()
  {
  	try
  	{
	  	if(screen.width <= 1024)
		{	
			document.body.style.backgroundImage = "url('')";
			$('workspace').style.width = "100%";
		}
	}catch(e)
	{
		// rien
	}
	
  }
  
  function createImagemap(o_pos_x, o_pos_y, o_pos_z)
  {
	  var pos_x = o_pos_x;
	  var pos_y = o_pos_y;
	  var pos_z = o_pos_z;
	  var res_w = 455;
	  var res_h = 455;
	  var place_x;
	  var place_y;
	  var coord;
  	  var InitCo = 0;
	  
	  if (navigator.appName == 'Microsoft Internet Explorer')
	  {
	  	InitCo += 10;
	  }
	
	  for ( place_y = InitCo ; place_y < res_h ; place_y = place_y + 35 )
	  {
	    for ( place_x = InitCo ; place_x < res_w ; place_x = place_x + 35)
	    {
	    	coord = place_x + "," + place_y + "," + (place_x + 35) + "," + (place_y + 35);
	    	//document.writeln("<area shape=\"rect\" coords=\"" + coord + "\" href=\"infos.php?x=" + pos_x + "&y="+ pos_y +"&z="+ pos_z +"\" target=\"infos\">");
	    	document.writeln("<area shape=\"rect\" coords=\"" + coord + "\" href=\"javascript:loadInfos("+ pos_x +","+ pos_y +","+ pos_z +");\" >");
	    	pos_x ++;
	    }
	    pos_y ++;
	    pos_x = o_pos_x;
	  }  
  }
  
  function loadInfos(px, py, pz)
  {  	
  	if(! canLoad)
  	{
  	  alert("Affichage en cours, veuillez patienter...");
  	}
  	else
  	{
       canLoad = 0;
        
       var divZone;
        
       divZone = Try.these(
		    function() { return window.frames['infos'].document }
  		);
  		
  	    divZone.write("<html><body style='background-color:#F6F7FF;'><img src='img/load.gif' align='left'><strong>Chargement ...</strong></body></html>");
  	    divZone.close();

	  	new Ajax.Request('infos.php',
		  {
		    method:'get',
		    parameters: {x: px, y:py, z:pz},
		    onSuccess: function(transport){
		      var response = transport.responseText || "no response text";
	
		      divZone.write(response);
		      divZone.close();
		      
		      canLoad = 1;
		    },
		    onFailure: function(){ 
		    	divZone.write("Une erreur est survenue<br>");
				divZone.close();
		    	canLoad = 1; 
		    }
		  });	
		  
	 }
  }
  
  function fats(nb, pa)
  {
  	var ok = 1;
  	if(ok == 1 && ! isNaN(nb) && ! isNaN(pa))
  	{
  		if(nb > pa)
  	    {
          alert('Vous n\'avez pas assez de PA pour effectuer ce d\351placement');
	      return false;
        }
        else
        {
	      ok = 0;
	      document.FormMove.submit();
 	      return true;
		}
  	}
  }
  
  function SendMail()
  {
  	if ( document.FormSendMail.mdest.value == "" )
  	{
  		alert("Veuillez rentrer le nom d'un destinataire");
  		document.FormSendMail.mdest.focus();
  		return false;
  	}
  }
  
  function Bsl()
  {
  	popup(fenetre, "Boussole", "boussole.php", 320, 480);
  }
  
  function igClass(ID)
  {
	popup(fenetre, "Classement", "../ext/classement.php?id="+ID, 840, 680);
  }
  
  function infoPj(ID)
  {
	popup(fenetre, "Infos", "../ext/joueur.php?id="+ID, 640, 480);
  }
  
  function infoListeRoyaume()
  {
	popup(fenetre, "Infos", "../ext/liste.php", 640, 480);
  }
  
  function infoEncyclopedie(ID)
  {
	popup(fenetre, "Infos", "../ext/encyclopedie.php?id="+ID, 640, 480);
  }
  
  function infoPnjInventaire()
  {
	popup(fenetre, "Infos", "../ext/pnjinventaire.php", 640, 480);
  }
    
  function infoQuete(PjID,Quete)
  {
	popup(fenetre, "Infos", "../ext/quete.php?Pj="+PjID+"&Quete="+Quete, 640, 480);
  }  
  
  function infoPnj(ID)
  {
	popup(fenetre, "Infos", "../ext/pnj.php?id="+ID, 320, 240);
  }
  
  function infoClones(ID)
  {
	popup(fenetre, "Infos", "../ext/clones.php?id="+ID, 320, 240);
  }
  
  function infoClan(ID)
  {
	popup(fenetre, "Infos", "../ext/clan.php?id="+ID, 640, 480);
  }

  function infoStr(ID)
  {
	popup(fenetre, "Infos", "../ext/structure.php?id="+ID, 640, 480);
  }

  function infoStrRoy(ID)
  {
	popup(fenetre, "Infos", "../ext/structureroyaume.php?id="+ID, 640, 480);
  }
  
  function infoItem(ID)
  {
	popup(fenetre, "Infos", "../ext/item.php?id="+ID, 270, 400);
  }
  
  function infoItemVente(ID, v)
  {
	popup(fenetre, "Infos", "../ext/item.php?id="+ID+"&v="+v, 270, 400);
  }
  
  function infoObjet(t, i)
  {
	popup(fenetre, "Infos", "../ext/item.php?t="+t+"&i="+i, 270, 400);
  }
  
  function infoComp(ID)
  {
	popup(fenetre, "Infos", "../ext/competence.php?id="+ID, 640, 480);
  }
 
  function infoJob(ID)
  {
	popup(fenetre, "Infos", "../ext/job.php?id="+ID, 640, 480);
  }
    
  function infoMonstre(ID)
  {
	popup(fenetre, "Infos", "../ext/monstre.php?id="+ID, 640, 480);
  }
  
  function infoBulle(ID)
  {
	popup(fenetre, "Infos", "../ext/infobulle.php?id="+ID, 640, 480);
  }
  
  function lireLivre(ID)
  {
	popup(fenetre, "Infos", "../ext/livres.php?id="+ID, 640, 480);
  }
  
  function Act(ID)
  {
  	popup(fenetre, "Action", "pj.php?id="+ID, 640, 480);
  }
  
  function Que(ID)
  {
  	popup(fenetre, "Quete", "quete.php?id="+ID, 640, 480);
  }
  
  function Msg(ID)
  {
  	popup(fenetre, "Conversation", "conversation.php?id="+ID, 640, 480);
  }
  
  function LstMsg()
  {
  	popup(fenetre, "Conversation", "conversation.php?mode=lire", 640, 480);
  }
  
  function Tra(ID)
  {
  	popup(fenetre, "Commerce", "trade.php?id="+ID, 640, 480);
  }
  
  function Tradl(ID)
  {
  	popup(fenetre, "Voir", "trade-list.php?id="+ID, 640, 480);
  }
  
  function Mon(ID)
  {
  	popup(fenetre, "Monstre", "monstre.php?id="+ID, 640, 480);
  }
  
  function Coffre()
  {
  	popup(fenetre, "Coffre", "coffre.php", 660, 480);
  }
  
  function CoffreRoyaume()
  {
  	popup(fenetre, "Coffre", "coffreroyaume.php", 660, 480);
  }
  
  function Ani(ID)
  {
  	popup(fenetre, "Animal", "animal.php?id="+ID, 640, 480);
  }
  
  function Map()
  {
	popup(fenetre, "Minimap", "minimap.php", 10, 10);
  }
      
  function Pnj(ID)
  {
  	popup(fenetre, "Pnj", "pnj.php?id="+ID+"&eq=0", 780, 480);
  }
  
  function Str(ID)
  {
  	popup(fenetre, "Structure", "structure.php?id="+ID, 640, 480);
  }
  
  function StrRoy(ID)
  {
  	popup(fenetre, "Structure", "structureroyaume.php?id="+ID, 640, 480);
  }
  
  function Rapport()
  {
  	popup(fenetre, "Rapport", "rapport.php", 640, 480);  
  }
  
  function Ram(x, y, z, ID)
  {    
	window.location = "infos.php?x="+x+"&y="+y+"&z="+z+"&ram="+ID+"#objet";
  }
  
  function Tot(ID)
  {
	window.location = "teleports.php?id="+ID;
  }
  
  function Cap(ID)
  {
	window.location = "reclamer.php?id="+ID;
  }
      
  function checkMarche(form)
  {
  	var qte, qtemax, pu;
  	
  	qte = parseInt(form.Qte.value);
  	qtemax = parseInt(form.QteMax.value);
  	pu = parseInt(form.PU.value);
  	
  	if (qte > qtemax)
  	{
  		alert(c_err_article_propos);
  	}
  	else
  	{
  		if( qte <= 0 )
	  	{
	  		alert("Merci de saisir un nombre positif");
	  	}
	  	else
	  	{
			form.Prix.value = Math.ceil((pu * qte));  	
	  	}
  	}
  }
  
  function  recalcPnjPrix(form)
  {
  	var qte, qtemax, pu;
  	
  	qte = parseInt(form.Qte.value);
  	qtemax = parseInt(form.QteMax.value);
  	pu = parseInt(form.PU.value);
  	
  	if (qte > qtemax)
  	{
  		alert(c_err_article_propos);
  	}
  	else
  	{
  		if( qte <= 0 )
	  	{
	  		alert("Merci de saisir un nombre positif");
	  	}
	  	else
	  	{
	  		form.Prix.value = Math.ceil(Math.max((pu - qte + 1) * qte, qte * pu * 0.9));			
	  	}
  	}
  }
  
  function cSubmitMarchePnj(pu, qte, qtemax)
  {
  
  	pu = parseInt(pu);
  	qte = parseInt(qte);
  	qtemax = parseInt(qtemax);  
  
  	if (qte > qtemax)
  	{
  		alert(c_err_article_propos);
 		return false;
  	}
  	else
  	{
  		if( qte <= 0 )
	  	{
	  		alert("Merci de saisir un nombre positif");
	  		return false;
	  	}
	  	else
	  	{
			var str;
			var prix;
			
			prix = Math.ceil(Math.max((pu - qte + 1) * qte, qte * pu * 0.9));			
			
		  	str = "Confirmez vous l'achat de " + qte + " objet(s) pour la somme de " + prix + " opale(s) ?";			  	
		  	return cSubmitMsg(str);
	  	}
  	}  	
  }
  
  function cSubmitMarche(pu, qte, qtemax)
  {
  
  	pu = parseInt(pu);
  	qte = parseInt(qte);
  	qtemax = parseInt(qtemax);  
  
  	if (qte > qtemax)
  	{
  		alert(c_err_article_propos);
 		return false;
  	}
  	else
  	{
  		if( qte <= 0 )
	  	{
	  		alert("Merci de saisir un nombre positif");
	  		return false;
	  	}
	  	else
	  	{
			var str;
		  	str = "Confirmez vous l'achat de " + qte + " objet(s) pour la somme de " + Math.ceil((qte * pu)) + " opale(s) ?";			  	
		  	return cSubmitMsg(str);
	  	}
  	}  	
  }
  
  function cSubmitComp(nom, PA)
  {
	var str;
	str = "Utiliser " + nom + " pour " + PA + " PA ?";
	return cSubmitMsg(str);
  }

  function checkComp(chk)
  {
	  chk.form.submit();  			
  }
  
  function selectCompetences()
  {
  	opener.parent.location = "index.php?m=3&t=2";
  	opener.parent.focus();
	window.close();
  }
  
  function selectAllMail(chk)
  {
        var i, max;
        var ctrls = chk.form.elements["MailSelect[]"];

        for(i=0, max = ctrls.length; i<max ; i++)
        {
          ctrls[i].checked = chk.checked;
        }
  }

  function useComp(formname)
  {
  	var form;
  	form = document.forms[formname];
  	form.submit();
  	return true;
  }
  
  function cSubmitTeleport(totemnom, pa, pamax)
  {
  	
	if(pa > pamax)
	{
	  	alert('Vous n\'avez pas assez de PA pour effectuer ce d\351placement');
	  	return false;
	}
	else
	{
	  	var res;  	
	  	res = cSubmitMsg("Voulez vous vous rendre au totem " + totemnom + " pour " + pa + " PA ?");
	  	
	  	if( res )
	  	{
	  		return true;
	  	}
	  	else
	  	{
	  		return false;
	  	}
	}  
  }
  
  function changeGestion(form)
  { 	
  	if(form.StructureID.value > 0)
  	{
		window.FrameGestion.location = "sub-gestion.php?id="+form.StructureID.value;  	
  	}
  	else
  	{
  		window.FrameGestion.location = window.FrameGestion.location;
  	}

  }
  
  function mail(Nom)
  {
   this.opener.location = "./?m=9&mode=ecrire&dest="+Nom;
  }
  
  function closeAndReload()
  {
  	this.opener.parent.location = "index.php";
  	window.close();
  }
  
  function dmMenuOpenCloseAll(open)
  {
  	var mode = '';
  	if(open)
  	{
  		mode = 'expand';
  	}
  	else
  	{
  		mode = 'contract';
  	}
  	
  	ddtreemenu.flatten("dmcarte", mode);
	ddtreemenu.flatten("dmperso", mode);
	ddtreemenu.flatten("dmcomp", mode);
	ddtreemenu.flatten("dmmsgs", mode);
	ddtreemenu.flatten("dmquet", mode);
	ddtreemenu.flatten("dmmarc", mode);
	ddtreemenu.flatten("dmhisto", mode);	
	ddtreemenu.flatten("dmmgam", mode);
	ddtreemenu.flatten("dmcnfig", mode);
	ddtreemenu.flatten("dmdeco", mode);
	
	try
	{
		ddtreemenu.flatten("dmclan", mode);
	}
	catch(ex)
	{
		//rien
	};
	
	try
	{
		ddtreemenu.flatten("dmroy", mode);
	}
	catch(ex)
	{
		//rien
	};
	
	try
	{
		ddtreemenu.flatten("dmout", mode);
	}
	catch(ex)
	{
		//rien
	};
  }
  
  function dmMenuGenerate()
  {  	
  	
  	ddtreemenu.createTree("dmcarte", true);
	ddtreemenu.createTree("dmperso", true);
	ddtreemenu.createTree("dmcomp", true);
	ddtreemenu.createTree("dmmsgs", true);
	ddtreemenu.createTree("dmquet", true);
	ddtreemenu.createTree("dmmarc", true);
	ddtreemenu.createTree("dmhisto", true);	
	ddtreemenu.createTree("dmmgam", true);
	ddtreemenu.createTree("dmcnfig", true);
	ddtreemenu.createTree("dmdeco", true);
	
	try
	{
		ddtreemenu.createTree("dmclan", true);
	}
	catch(ex)
	{
		//rien
	};
	
	try
	{
		ddtreemenu.createTree("dmroy", true);
	}
	catch(ex)
	{
		//rien
	};
	
	try
	{
		ddtreemenu.createTree("dmout", true);
	}
	catch(ex)
	{
		//rien
	};
	
  }
  
  function hideShowTags(hide) {
	var tab = new Array();	
	var state;

	tab = document.getElementsByTagName("span");
	
	if(hide)
	{
		state = 'none';
	}	
	else
	{
		state = '';
	}
	
	for(i = 0; i < tab.length; i++) 
	{
		if (tab[i].className == 'tohide')
		{
			tab[i].style.display = state;	
		}
	}	
  }
  
	// Remplace le contenu html d'une balfise dont l'*id est passé en paramètre, le contenu est changé par la variable $texte passée en param
	function ecrireMapName(id, texte,id2, info)
	{
		document.getElementById(id).innerHTML = texte;
		document.getElementById(id2).innerHTML = info;
	}
  
	function autoSize() 
	{
		IE5=NN4=NN6=false;
		if(document.all){IE5=true;}
		else if(document.getElementById){NN6=true;}
		else if(document.layers){NN4=true;}
		
		document.body.style.padding = 0;
		document.body.style.margin = 0;
		
		if(IE5) {self.resizeTo(document.images[0].width+28, document.images[0].height+200)}
		else if(0 && NN6) {self.sizeToContent();}
		else {window.resizeTo(document.images[0].width+38, document.images[0].height+202)}
		self.focus();
	}
  