function gEBI(e)
{
	return document.getElementById(e);
}

function gEBCN(e)
{
	return document.getElementsByClassName(e);
}

function setCookie(nom,valeur,jours) 
{
    var expDate = new Date();
    expDate.setTime(expDate.getTime() + (jours * 24 * 3600 * 1000));
    document.cookie = nom + "=" + escape(valeur) + ";expires=" + expDate.toGMTString()
}

function deleteCookie(nom) 
{ 
	setCookie(nom,"",-1) 
}

sfHover = function() 
{
	var sfEls = document.getElementById("menu").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) 
	{
		sfEls[i].onmouseover=function() 
		{
			this.className+="sfhover";
		}
		sfEls[i].onmouseout=function() 
		{
			this.className=this.className.replace(new RegExp("sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

function toogle_grille(bool)
{
	var cases    = gEBCN('case');
	var nb_cases = cases.length;
	
	if(bool)
	{
		for(var i=0; i<nb_cases; i++)
		{
			cases[i].style.border = "1px solid rgb(175,175,175)";
			cases[i].style.margin = "0";
			
			setCookie("grille", "1", 365);
		}
	}
	else
	{
		for(var i=0; i<=nb_cases; i++)
		{
			cases[i].style.border = "none";
			cases[i].style.margin = "1px 1px 1px 1px";
			
			setCookie("grille", "0", 365);
		}
	}
}

function toogle_stat(id, value)
{
	gEBI(id).style.display = value;
}
	
function verifierPseudo()
{
	if(document.getElementById('pseudo').value.length < 4 || document.getElementById('pseudo').value.length > 25)
	{
		document.getElementById('pseudo').style.backgroundColor = "red";
	}
	else
	{
		document.getElementById('pseudo').style.backgroundColor = "#338A31";
	}
}

function verifierPseudoIG()
{
	if(document.getElementById('pseudo_ig').value.length < 4 || document.getElementById('pseudo_ig').value.length > 25)
	{
		document.getElementById('pseudo_ig').style.backgroundColor = "red";
	}
	else
	{
		document.getElementById('pseudo_ig').style.backgroundColor = "#338A31";
	}
}

function verifierPasse()
{
	if(document.getElementById('password').value.length < 3)
	{
		document.getElementById('password').style.backgroundColor = "red";
		document.getElementById('faible').style.display="none";
		document.getElementById('moyen').style.display="none";
		document.getElementById('fort').style.display="none";
	}
		
	else
	{
		document.getElementById('password').style.backgroundColor = "#338A31";
		
		var regexFaible   = /[a-zA-Z]/;
		var regexNombre   = /[0-9]/;
		var regexMoyen    = /[a-zA-Z0-9]/;
		var regexSymboles = /[^a-zA-Z0-9]/;
		var regexFort     = /[.]/;
		
		if(regexFaible.test(document.getElementById('password').value) && !regexNombre.test(document.getElementById('password').value))
		{
			document.getElementById('faible').style.display="inline";
			document.getElementById('moyen').style.display="none";
			document.getElementById('fort').style.display="none";
		}
			
		
		else if(regexNombre.test(document.getElementById('password').value))
		{
			document.getElementById('faible').style.display="none";
			
			if(regexMoyen.test(document.getElementById('password').value) && !regexSymboles.test(document.getElementById('password').value))
			{
				document.getElementById('moyen').style.display="inline";
				document.getElementById('fort').style.display="none";
			}
			
			else if(regexSymboles.test(document.getElementById('password').value))
			{
				document.getElementById('moyen').style.display="none";
				
				if(regexFort.test(document.getElementById('password').value))
				{
					document.getElementById('faible').style.display="none";
					document.getElementById('moyen').style.display="none";
					document.getElementById('fort').style.display="inline";
				}
			}
		}
	}
}

function verifierConfirm()
{
	if(document.getElementById('confirm').value == document.getElementById('password').value && document.getElementById('confirm').value != '')
	{
		document.getElementById('confirm').style.backgroundColor="#338A31";
	}
	else
	{
		document.getElementById('confirm').style.backgroundColor="red";
	}
}

function verifierSite()
{
	if(document.getElementById('website').value.length > 9)
	{
		document.getElementById('website').style.backgroundColor = "#191919";
		var regexSite = /https?:\/\/.+/;
		
		if(!regexSite.test(document.getElementById('website').value))
		{
			document.getElementById('website').style.backgroundColor = "red";
		}
		else
		{
			document.getElementById('website').style.backgroundColor = "#338A31";
		}
	}
	else
	{
		document.getElementById('website').style.backgroundColor = "#191919";
	}
}

function verifierEmail()
{
	if(document.getElementById('email').value.length < 5)
	{
		document.getElementById('email').style.backgroundColor = "red";
	}
		
	else
	{
		var regexEmail = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,5}$/;
		
		if(regexEmail.test(document.getElementById('email').value))
		{
			document.getElementById('email').style.backgroundColor = "#338A31";
		}
		else
		{
			document.getElementById('email').style.backgroundColor = "red";
		}
			
	}
}
function verifierMsn()
{
	if(document.getElementById('msn').value.length > 0)
	{
		var regexEmail = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,5}$/;
		
		if(regexEmail.test(document.getElementById('msn').value))
		{
			document.getElementById('msn').style.backgroundColor = "#338A31";
		}
		else
		{
			document.getElementById('msn').style.backgroundColor = "red";
		}
			
	}
}
function getXMLHttpRequest() {
	var xhr = null;
	
	if (window.XMLHttpRequest || window.ActiveXObject) {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			xhr = new XMLHttpRequest(); 
		}
	} else {
		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
		return null;
	}
	
	return xhr;
}

function move_perso(x, y, id, classe, sexe, pseudo)
{
	player = gEBI(pseudo);
	if(player)
	{
		player.src    = 'images/persos/'+classe+'_'+sexe+'_Face.png';
		player.width  = '43';
		player.height = '86';
		player.bottom = '5';
		player.id     = pseudo;
		gEBI('id-'+x+', '+y).appendChild(player);
	}
	else
	{
		gEBI('id-'+x+', '+y).innerHTML += '<img src="images/persos/'+classe+'_'+sexe+'_Face.png" id="'+pseudo+'" width="43px" height="86px" style="position:absolute;bottom:5px;" alt="I" />';
	}
	request(x, y, id, classe, sexe, pseudo);
}

function request(x, y, id, classe, sexe, pseudo) 
{
	var xhr = getXMLHttpRequest();
	x 	    = encodeURIComponent(x);
	y 	    = encodeURIComponent(y);
	id  	= encodeURIComponent(id);
	
	
	xhr.onreadystatechange = function() 
	{
		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) 
		{
			if(xhr.responseText == "OK")
			{
				win();
			}
			else if(xhr.responseText.substr(0, 7) == 'BLOCKED')
			{
				var pos = xhr.responseText.split('/');
				var player = gEBI(pseudo);
				if(player)
				{
					player.src    = 'images/persos/'+classe+'_'+sexe+'_Face.png';
					player.width  = '43';
					player.height = '86';
					player.bottom = '5';
					player.id     = pseudo;
					gEBI('id-'+pos[1]+', '+pos[2]).appendChild(player);
				}
				else
				{
					gEBI('id-'+pos[1]+', '+pos[2]).innerHTML += '<img src="images/persos/'+classe+'_'+sexe+'_Face.png" id="'+pseudo+'" width="43px" height="86px" style="position:absolute;bottom:5px;" alt="I" />';
				}
				fail();
			}
			else
			{
				fail();
			}
		}
		if(xhr.readyState < 4)
		{
			loading();
		}
	};

	xhr.open("GET", "cible.php?x="+x+"&y="+y+"&id="+id, true);
	xhr.send(null);
}

function mmorpg()
{
	var xhr = getXMLHttpRequest();
	
	xhr.onreadystatechange = function() 
	{
		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) 
		{
			if(xhr.responseText != "FAIL")
			{
				var joueur = xhr.responseText.split('|');
				var player;
				
				for(var i=0;i<=joueur.length;i++)
				{
					joueur[i] = joueur[i].split('/');
					
					player = gEBI(joueur[i][2]);
					if(player)
					{
						player.src    = 'images/persos/'+joueur[i][3]+'_'+joueur[i][4]+'_Face.png';
						player.width  = '43';
						player.height = '86';
						player.bottom = '5';
						player.id     = joueur[i][2];
						gEBI('id-'+joueur[i][0]+', '+joueur[i][1]).appendChild(player);
					}
					else
					{
						gEBI('id-'+joueur[i][0]+', '+joueur[i][1]).innerHTML += '<img src="images/persos/'+joueur[i][3]+'_'+joueur[i][4]+'_Face.png" id="'+joueur[i][2]+'" width="43px" height="86px" style="position:absolute;bottom:5px;" alt="I" />';
					}
				}
			}

		}
	};
	
	xhr.open("GET", "mmorpg.php", true);
	xhr.send(null);
	
	setTimeout(mmorpg, 500);
}

function fail()
{
	gEBI('request_state').innerHTML = '<img src="../demos/jquery-shoutbox/images/erreur.png" alt="Erreur!" style="margin:0 auto 0 auto;position:fixed;top:2px;right:2px;" id="FAIL" width="16" height="16" />';
}
function loading()
{
	gEBI('request_state').innerHTML = '<img src="../demos/jquery-shoutbox/images/loader.gif" alt="Chargement..." style="margin:0 auto 0 auto;position:fixed;top:2px;right:2px;" id="load" width="16" height="16" />';
}
function win()
{
	gEBI('request_state').innerHTML = '<img src="../demos/jquery-shoutbox/images/accept.png" alt="Réussite!" style="margin:0 auto 0 auto;position:fixed;top:2px;right:2px;" id="OK" width="16" height="16" />';
}
var toogle_isnt_executed = true;

function toogle(partie)
{
	toogle_isnt_executed = false;
	gEBI('jeu_left').style.height = ((parseInt(gEBI('jeu_left').style.height)) - 30) + "px";
		
	if((parseInt(gEBI('jeu_left').style.height)) > 0)
	{
		setTimeout('toogle('+partie+')', 1);
		
	}
	else
	{
		clearTimeout();
		
		
		for(var i=0;i<=2;i++)
		{
			if(i == partie)
			{
				gEBI('tab_'+i).style.display="block";
			}
			else
			{
				gEBI('tab_'+i).style.display="none";
			}
		}
		
		
		function deplier_partie()
		{
			gEBI('jeu_left').style.height = ((parseInt(gEBI('jeu_left').style.height)) + 30) + "px";
			
			
			if((parseInt(gEBI('jeu_left').style.height)) <= 650)
			{
				
				setTimeout(deplier_partie, 1);
				
			}
			else
			{
				clearTimeout();
				toogle_isnt_executed = true;
				gEBI('jeu_left').style.height = "660px";
			}
		}
		gEBI('jeu_left').style.height = "0px";
		deplier_partie();
		
	}
}

function largeur_left()
{
	if (document.body)
	{
		var larg = (document.body.clientWidth);
	}
	else
	{
		var larg = (window.innerWidth);
	}
	var larg_left = (larg - 660);

	document.getElementById('jeu_left').style.width = larg_left + "px";
	
	document.getElementById('bouton_sorts').style.left = (larg_left / 2.5 ) + "px";
	document.getElementById('bouton_menu').style.left = (larg_left / 1.35 ) + "px";
	if(parseInt(larg_left) < 260)
	{
		document.getElementById('texte_reglages').style.display = "none";
		document.getElementById('texte_sorts').style.display = "none";
		document.getElementById('texte_menu').style.display = "none";
	}
	else
	{
		document.getElementById('texte_reglages').style.display = "inline";
		document.getElementById('texte_sorts').style.display = "inline";
		document.getElementById('texte_menu').style.display = "inline";
	}
		
	setTimeout(largeur_left, 1);
}

function changeOpacity(opacity, id) 
{
	var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}

function disapear(id, millisec)
{
	var speed = Math.round(millisec / 100);
    var timer = 0;
	
	for(var i = 100; i >= 0; i--) 
	{
		setTimeout("changeOpacity(" + i + ",'" + id + "')",(timer * speed));
		timer++;
	}
	setTimeout('gEBI("'+id+'").style.display="none"', millisec);
	return;
}

function apear(id, millisec, display)
{
	gEBI(id).style.display = display;
	
	var speed = Math.round(millisec / 100);
    var timer = 0;
	
	for(var i = 0; i <= 100; i++) 
	{
		setTimeout("changeOpacity(" + i + ",'" + id + "')",(timer * speed));
		timer++;
	}
	
}

var nbBout;	  
function menu(nb)
{
	var angle = 360 / nb;		
	nbBout = nb;
	var posX;
	var posY;
	var rayon = 60;
	var centreX = document.getElementById("centre").offsetLeft;
	var centreY = document.getElementById("centre").offsetTop;
	var lItem = 20;
	var i = 1;
	var item;
	var b;
	
	for(b = 0; b < 360; b += angle)
	{	
		posX = centreX + 25 + rayon * Math.cos(b * Math.PI / 180);
		posY = centreY + 25 + rayon * Math.sin(b * Math.PI / 180); 
	  
		item = document.getElementById("item" + i);
		item.className = "item";	
		item.style.top = (posY - lItem / 2) + "px"; 
		item.style.left = (posX - lItem / 2) + "px";
		i++;
	}
}

var clic_no = 1;

function afficher_news()
{
	var xhr = getXMLHttpRequest();
	var hMax;
	
	xhr.onreadystatechange = function() 
	{
		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) 
		{
			var data    = xhr.responseText.split('£');
			var data2   = Array();
			var content = Array();
			for(var i=0;i<data.length;i++)
			{
				data2[i]    = data[i].split('µ');
				content[i]  = '<h3>'+data2[i][0]+'</h3>'+"\t"+' (le '+data2[i][2]+')<br />';
				content[i] += data2[i][1];
				gEBI('dernieres_news'+(i+1)).innerHTML = content[i];
				hMax = hauteurMaxNews();
				gEBI('dernieres_news'+(i+1)).style.height = hMax+'px';
				gEBI('1').style.backgroundColor="#440000";
			}
		}
	};
	
	xhr.open("GET", 'recuperer_news.php', true);
	xhr.send(null);
}

function hauteurMaxNews()
{
	var hMax = 0,
		i,c,h;
	for(i=1; i<=5; i++)
	{
		c = document.getElementById('dernieres_news'+i)
		c.style.display = "block";
		h = c.offsetHeight;
		if(i > 1) c.style.display = "none";
		hMax = h>hMax ? h : hMax;
	}
	
	return hMax;
}

var cont='oui';

function changer_news(no)
{
	if(cont == "non")
		return;
	
	cont = "non";
	
	for(var i=1;i<=5;i++)
	{
		if(no == "suivant")
		{
			if(gEBI('dernieres_news'+i).style.display == "block")
			{
				var news = gEBCN('no_news');
				var nb_news = news.length;
				if(i!=nb_news)
				{
					no = i+1;
				}
				else
				{
					no = 1;
				}
			}
		}
		if(gEBI('dernieres_news'+i).style.display == "block" && i == no)
		{
			cont = "oui";
			return;
		}
		disapear('dernieres_news'+i, 1000);
	}
	
	clic_no = no;
	
	var news2 = gEBCN('no_news');
	var nb_news2 = news2.length;
	
	setTimeout("apear('dernieres_news"+no+"', 1000, 'block')", 1000);
	for(var i=1;i<=nb_news2;i++)
	{
		gEBI(i).style.backgroundColor="#191919";
	}
	gEBI(no).style.backgroundColor="#440000";
	setTimeout('cont="oui"', 2000);
}

var intval="";
function start_Int()
{
	if(intval=="")
	{
		intval=window.setInterval('changer_news(\'suivant\')', 10000);
	}
}
function stop_Int()
{
	if(intval!="")
	{
		window.clearInterval(intval);
		intval="";
	}
} 
function bbcode(bbdebut, bbfin)
{
	var input = window.document.formulaire.message;
	input.focus();
	if(typeof document.selection != 'undefined')
	{
		var range = document.selection.createRange();
		var insText = range.text;
		range.text = bbdebut + insText + bbfin;
		range = document.selection.createRange();
		if (insText.length == 0)
		{
			range.move('character', -bbfin.length);
		}
		else
		{
			range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
		}
		range.select();
	}
	else if(typeof input.selectionStart != 'undefined')
	{
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
		var pos;
		if (insText.length == 0)
		{
			pos = start + bbdebut.length;
		}
		else
		{
			pos = start + bbdebut.length + insText.length + bbfin.length;
		}
		input.selectionStart = pos;
		input.selectionEnd = pos;
	}
	else
	{
		var pos;
		var re = new RegExp('^[0-9]{0,3}$');
		while(!re.test(pos))
		{
			pos = prompt("insertion (0.." + input.value.length + "):", "0");
		}
		if(pos > input.value.length)
		{
			pos = input.value.length;
		}
		var insText = prompt("Veuillez taper le texte");
		input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
	}
}
function smilies(img)
{
	window.document.formulaire.message.value += '' + img + '';
}

function display_desc(e)
{
	var d = document.getElementById('desc_classes');
	var t = null;
	
	switch(e)
	{
		case 'sobekien':
			t = 'Quand il s\'agit de se jeter à l\'eau, le sobekien est le premier. En effet, il éclabousse ses ennemis pour en venir à bout quand il est calme, mais une fois énervé, il les transperce à coup de pics de glace...';
			break;
			
		case 'artemien':
			t = 'Protecteurs de la nature, ils l\'utilisent à des fins personnelles pour jouer à chat perché ou éventuellement tuer leurs ennemis, mais ils se font souvent martyriser par les autres sous prétexte qu\'ils ont beaucoup de vie...';
			break;
		
		case 'hestien':
			t = 'Dompteur du feu, l\'hestien l\'utilise parfois pour allumer un barbecue mais aussi pour effrayer toutes les personnes se trouvant devant lui. Cette classe de personnage souvent mal aimée des autres n\'hésite jamais a faire quelques Artemiens rottis...'; 
			break;
			
		case 'amonien':
			t = 'Venu des tempêtes et des ouragans, les Amonien purifient l\'air instable qui se propage dans le monde en envoyant quelques petites tournades qui font souvent plus de mal que de bien...'; 
			break;
			
		case 'chtonien':
			t = 'Créature d\'une force immense qui écrase n\'importe quoi avec le poing, ou le doigt...'; 
			break;
			
		case 'apollien':
			t = 'Se ballandant depuis des siècles à travers le son, écoutant toute convesation, les Apolliens sont souvent des personnages qui aiment le silence, car après tout, le silence est la plus belle des mélodies...';
			break;
			
		case 'atonien':
			t = 'Être de lumière, venant des astres, les Atoniens contrôlent la lumière du soleil pour jouer de mauvaises farces et l\'utilisent pour régler des histoire d\'écologie...'; 
			break;
			
		case 'hadesien':
			t = 'Jouissant de l\'ombre, les Hadesiens sont les pires ennemis des Atoniens... Le dernier combat d\'un Hadesien contre un Atonien n\'est toujours pas finit, il s\'agit du jour et de la nuit...'; 
			break;
			
		default:
			t = 'Une erreur est survenue, veuillez réessayer.';
			break;
	}
	
	return d.innerHTML = t;
}

function toogle_check(n)
{
	var i1 = document.getElementById('1');
	var i2 = document.getElementById('2');
	var i3 = document.getElementById('3');
	var i4 = document.getElementById('4');
	var i5 = document.getElementById('5');
	var i6 = document.getElementById('6');
	var i7 = document.getElementById('7');
	var i8 = document.getElementById('8');
	
	for(var i=1;i<=8;i++)
	{
		if(i == n)
		{
			eval('i'+i+'.style.visibility="visible";');
		}
		else
		{
			eval('i'+i+'.style.visibility="hidden";');
		}
	}
}

function toogle_connect(b)
{
	if(b)
	{
		disapear('menu', 500);
		setTimeout(function(){apear('toogled', 500, 'block');}, 500);
	}
	else
	{
		setTimeout(function(){apear('menu', 500, 'block');}, 500);
		disapear('toogled', 500);
	}
}

var bool = false;

function toogle_menu(b)
{
	if(b)
	{
		if(parseInt(document.getElementById('menu').style.marginTop)<-10)
		{
			document.getElementById('menu').style.marginTop=
			(
				parseInt(document.getElementById('menu').style.marginTop)+
				11
			)+
			'px';
			setTimeout(function(){toogle_menu(b);}, 30);
		}
		else
		{
			bool = false;
			return;
		}
	}
	else
	{
		if(parseInt(document.getElementById('menu').style.marginTop) > -185)
		{
			document.getElementById('menu').style.marginTop=
			(
				parseInt(document.getElementById('menu').style.marginTop)-
				11
			)+
			'px';
			setTimeout(function(){toogle_menu(b);}, 30);
		}
		else
		{
			bool = true;
			return;
		}
	}
}

var selected_onglet = 'forum';

function toogle_profil(onglet, membre)
{
	if(onglet == selected_onglet)
		return;
	
	selected_onglet = onglet;
	
	var selected = document.getElementById('onglet_profil_selected');
	var unselected = document.getElementById('onglet_profil');
	
	selected.id = 'onglet_profil';
	unselected.id = 'onglet_profil_selected';
	
	var xhr = getXMLHttpRequest();
	
	xhr.onreadystatechange = function() 
	{
		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) 
		{
			document.getElementById('profil').innerHTML = xhr.responseText;
		}
	};
	
	xhr.open("GET", 'get_onglet.php?onglet='+encodeURIComponent(onglet)+'&m='+membre, true);
	xhr.send(null);
}