//Fonction pour remplacer les caractères spéciaux du nom.
function htmlspecialchars(ch) 
	{
	ch = ch.replace(/&/g,"&amp;")
	ch = ch.replace(/\"/g,"&quot;")
	ch = ch.replace(/\'/g,"&#039;")
	ch = ch.replace(/</g,"&lt;")
	ch = ch.replace(/>/g,"&gt;")
	ch = ch.replace(/\[/g,"\\[")
	ch = ch.replace(/\]/g,"\\]")
	ch = ch.replace(/\?/g,"0")
	ch = ch.replace(/\*/g,"0")
	ch = ch.replace(/\+/g,"0")
	ch = ch.replace(/\./g,"0")
	return ch
	}

//Fonction concernant la recherche personnalisée.
function filter()
	{	
	//On récupère les niveaux minimum et maximum.
	var mini = Math.abs(document.forms["minmax"].elements["min"].value);
	var maxi = Math.abs(document.forms["minmax"].elements["max"].value);
	
	//On affiche les valeurs de base si une chaine autre qu'un nombre est insérée.
	if(isNaN(mini) || isNaN(maxi))
		{
		document.forms["minmax"].elements["min"].value = 1;
		document.forms["minmax"].elements["max"].value = 11
		}
	
	//On fixe la plage de recherche à 10 niveaux si aucun autre critère n'est utilisé.
	if(maxi-mini>10 && (document.forms["minmax"].elements["nom_monstre"].value.length < 3 && document.forms["minmax"].elements["type"].value=="tout"))
		{
		mini = maxi-10;
		}
	
	//On récupère toutes les lignes de la page (les infos concernant les filtre sont stockées dans la "class" de chaque ligne.
	var div=document.getElementsByTagName('tr');
	
	//On parcourt chaque ligne pour savoir si elle doit être affichée.
	for(i=0;i<div.length;i++)
		{
		var name = div[i].className;
		//Si la ligne a une "class", c'est une ligne à contrôler (ligne de créature).
		if(name!="")
			{
			var xyz=name.split("--");
			var niv=xyz[0].split("-");
			if(niv[1]==null)
				{
				niv[1]=0;
				}
			if(xyz[1]=="niveau" && ((niv[0]>=parseInt(mini) && niv[0]<=parseInt(maxi)) || (niv[1]>=parseInt(mini) && niv[1]<=parseInt(maxi))))
				{
				var type=document.forms["minmax"].elements["type"].value;
				if(type=="tout")
					{
					var nom=document.forms["minmax"].elements["nom_monstre"].value.toLowerCase();
					var recherche=new RegExp(htmlspecialchars(nom));
					var result=recherche.exec(xyz[3]);
					
					if(nom!="")
						{
						if(result!=null)
							{
							if (navigator.appName=="Microsoft Internet Explorer")
								{
								div[i].style.display = 'block';
								div[i].style.visibility = 'visible';
								}
							else
								{
								div[i].style.display='table-row';
								}
							}
						else
							{
							if (navigator.appName=="Microsoft Internet Explorer")
								{
								div[i].style.display = 'none';
								div[i].style.visibility = 'hidden';
								}
							else
								{
								div[i].style.display='none';
								}
							}
						}
					else
						{
						if (navigator.appName=="Microsoft Internet Explorer")
							{
							div[i].style.display = 'block';
							div[i].style.visibility = 'visible';
							}
						else
							{
							div[i].style.display='table-row';
							}
						}
					}
				else
					{
					if(xyz[2]!=type)
						{
						if (navigator.appName=="Microsoft Internet Explorer")
							{
							div[i].style.display = 'none';
							div[i].style.visibility = 'hidden';
							}
						else
							{
							div[i].style.display='none';
							}
						}
					else
						{
						var nom=document.forms["minmax"].elements["nom_monstre"].value.toLowerCase();
						var recherche=new RegExp(nom);
						var result=recherche.exec(xyz[3]);
						
						if(nom!="")
							{
							if(result!=null)
								{
								if (navigator.appName=="Microsoft Internet Explorer")
									{
									div[i].style.display = 'block';
									div[i].style.visibility = 'visible';
									}
								else
									{
									div[i].style.display='table-row';
									}
								}
							else
								{
								if (navigator.appName=="Microsoft Internet Explorer")
									{
									div[i].style.display = 'none';
									div[i].style.visibility = 'hidden';
									}
								else
									{
									div[i].style.display='none';
									}
								}
							}
						else
							{
							if (navigator.appName=="Microsoft Internet Explorer")
								{
								div[i].style.display = 'block';
								div[i].style.visibility = 'visible';
								}
							else
								{
								div[i].style.display='table-row';
								}
							}
						}
					}
				}
			else
				{
				if (navigator.appName=="Microsoft Internet Explorer")
					{
					div[i].style.display = 'none';
					div[i].style.visibility = 'hidden';
					}
				else
					{
					div[i].style.display='none';
					}
				}
			}
		}
	}
