//fonction qui verifie si le navigateur supporte ajax
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;
}

/*******************************/
/************ ZCODE ************/
/*******************************/

//Fonction qui permet d'afficher/masquer une zone secrete
function switch_spoiler(div2) {
	var divs = div2.getElementsByTagName('div');
	var div3 = divs[0];
	if (div3.style.display == 'block')
		div3.style.display = 'none';
	else
		div3.style.display = 'block';
	return true;
}

//fonction qui permet d'afficher l'aide pour le zcode
function HelpCode (tag,divId) {
	switch (tag) {
		case 'gras':
			var message = "Texte en gras : &lt;gras&gt;texte&lt;/gras&gt;";
		break;
		
		case 'italique':
			var message = "Texte en italique : &lt;italique&gt;texte&lt;/italique&gt;";
		break;
		
		case 'souligne':
			var message = "Texte soulign&eacute; : &lt;souligne&gt;texte&lt;/souligne&gt;";
		break;
		
		case 'barre':
			var message = "Texte barr&eacute; : &lt;barre&gt;texte&lt;/barre&gt;";
		break;
		
		case 'liste':
			var message = "Liste : &lt;liste&gt;&lt;puce&gt;texte&lt;/puce&gt;&lt;puce&gt;texte&lt;/puce&gt;&lt;/liste&gt;";
		break;
		
		case 'puce':
			var message = "Liste : Ajouter une puce";
		break;
		
		case 'citation':
			var message = "Citation : &lt;citation&gt;texte&lt;/citation&gt; ou  &lt;citation nom=&quot;auteur&quot;&gt;texte&lt;/citation&gt;";
		break;
		
		case 'secret':
			var message = "Secret : &lt;secret&gt;texte&lt;/secret&gt;";
		break;
		
		case 'bloc':
			var message = "Bloc : &lt;bloc&gt;texte&lt;/bloc&gt;";
		break;
		
		case 'bloctitre':
			var message = "Bloc : &lt;bloc titre=&quot;titre&quot;&gt;texte&lt;/bloc&gt;";
		break;
		
		case 'sup':
			var message = "Exposant : &lt;exposant&gt;texte&lt;/exposant&gt;";
		break;
		
		case 'sub':
			var message = "Indice : &lt;indice&gt;texte&lt;/indice&gt;";
		break;
		
		case 'lien':
			var message = "Lien : &lt;lien&gt;http://url&lt;/lien&gt; ou  &lt;lien url=&quot;http://url&quot;&gt;nom&lt;/lien&gt;";
		break;
		
		case 'mail':
			var message = "Mail : &lt;mail&gt;adresse email&lt;/mail&gt; ou  &lt;mail nom=&quot;adresse email&quot;&gt;nom&lt;/mail&gt;";
		break;
		
		case 'image':
			var message = "Image : &lt;image&gt;adresse de l'image&lt;/image&gt;";
		break;
		
		case 'gauche':
			var message = "Aligner &agrave; gauche : &lt;position valeur=&quot;gauche&quot;&gt;texte&lt;/valeur&gt;";
		break;
		
		case 'centre':
			var message = "Aligner au centre : &lt;position valeur=&quot;centre&quot;&gt;texte&lt;/valeur&gt;";
		break;
		
		case 'droite':
			var message = "Aligner &agrave; droite : &lt;position valeur=&quot;droite&quot;&gt;texte&lt;/valeur&gt;";
		break;
		
		case 'taille':
			var message = "Taille du texte : &lt;taille valeur=&quot;gros&quot;&gt;texte&lt;/taille&gt;";
		break;
		
		case 'couleur':
			var message = "Couleur du texte : &lt;couleur nom=&quot;red&quot;&gt;texte&lt;/couleur&gt;";
		break;
		
		case 'titre':
			var message = "Titre : &lt;titre1&gt;texte&lt;/titre1&gt;";
		break;
		
		case 'flash':
			var message = "Vid&eacute;o (Youtube, Daylimotion...) : &lt;flv&gt;http://url&lt;/flv&gt;";
		break;
		
		case 'video':
			var message = "Vid&eacute;o (interne) : &lt;video&gt;/data/.../fichier.flv&lt;/video&gt;";
		break;
		
		case 'mp3':
			var message = "Mp3 (interne sans le .mp3) : &lt;mp3&gt;nom du fichier&lt;/mp3&gt;";
		break;
		
		case 'diapo':
			var message = "Diaporama : &lt;diapo url=&quot;http://url&quot;&gt;nom ou miniature&lt;/diapo&gt;";
		break;
	}
	
	document.getElementById(divId).innerHTML = message;
}

//fonction d'insertion des balises dans un textearea
function insertTag(startTag, endTag, textareaId, tagType) {
	var field = document.getElementById(textareaId);
	var scroll = field.scrollTop;
	field.focus();
	
	//si c'es IE
	if (window.ActiveXObject) {
		var textRange = document.selection.createRange();            
		var currentSelection = textRange.text;
	} else {
		var startSelection   = field.value.substring(0, field.selectionStart);
		var currentSelection = field.value.substring(field.selectionStart, field.selectionEnd);
		var endSelection     = field.value.substring(field.selectionEnd);
	}
	
	if (tagType) {
		switch (tagType) {
			case "lien":
				endTag = "</lien>";
				if (currentSelection) {
					if (currentSelection.indexOf("http://") == 0 || currentSelection.indexOf("https://") == 0 || currentSelection.indexOf("ftp://") == 0 || currentSelection.indexOf("www.") == 0) {
						var label = prompt("Quel est le nom du lien ?") || "";
						startTag = "<lien url=\"" + currentSelection + "\">";
						currentSelection = label;
					} else {
							var URL = prompt("Quelle est l'url ?");
							startTag = "<lien url=\"" + URL + "\">";
					}
				} else {
					var URL = prompt("Quelle est l'url ?") || "";
					var label = prompt("Quel est le nom du lien ?") || "";
					startTag = "<lien url=\"" + URL + "\">";
					currentSelection = label;                     
				}
			break;
			case "citation":
				endTag = "</citation>";
				if (currentSelection) {
					var auteur = prompt("Quel est l'auteur de la citation ?") || "";
					startTag = "<citation nom=\"" + auteur + "\">";
				} else {
					startTag = "<citation nom=\"\">";
				}
			break;
			case "bloc":
				endTag = "</bloc>";
				if (currentSelection) {
					var titre = prompt("Quel est le titre de ce bloc ?") || "";
					startTag = "<bloc titre=\"" + titre + "\">";
				}
				else {
					startTag = "<bloc titre=\"\">";
				}
			break;	
		}
	}
	
	//si c'est IE
	if (window.ActiveXObject) {
		textRange.text = startTag + currentSelection + endTag;
		textRange.moveStart('character', -endTag.length-currentSelection.length);
		textRange.moveEnd('character', -endTag.length);
		textRange.select();  
	} else { // Ce n'est pas IE
		field.value = startSelection + startTag + currentSelection + endTag + endSelection;
		field.focus();
		field.setSelectionRange(startSelection.length + startTag.length, startSelection.length + startTag.length + currentSelection.length);
	}
	
	field.scrollTop = scroll;
}

//fonction de previsualisation en temps reel
function preview(textareaId, previewDiv) {
	var field = textareaId.value;
	
	if (document.getElementById('previsualisation').checked && field) {
		field = field.replace(/&/g, '&amp;');
		field = field.replace(/</g, '&lt;').replace(/>/g, '&gt;');
		field = field.replace(/\n/g, '<br />').replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
		
		field = field.replace(/&lt;bloc&gt;([\s\S]*?)&lt;\/bloc&gt;/g, '<p>$1</p>');
		field = field.replace(/&lt;bloc titre="([\s\S]*?)"&gt;([\s\S]*?)&lt;\/bloc&gt;/g, '<h4>$1</h4><p>$2</p>');
		field = field.replace(/&lt;gras&gt;([\s\S]*?)&lt;\/gras&gt;/g, '<strong>$1</strong>');
		field = field.replace(/&lt;italique&gt;([\s\S]*?)&lt;\/italique&gt;/g, '<em>$1</em>');
		field = field.replace(/&lt;souligne&gt;([\s\S]*?)&lt;\/souligne&gt;/g, '<span class="souligne">$1</span>');
		field = field.replace(/&lt;barre&gt;([\s\S]*?)&lt;\/barre&gt;/g, '<del>$1</del>');
		field = field.replace(/&lt;liste&gt;([\s\S]*?)&lt;\/liste&gt;/g, '<ul>$1</ul>');
		field = field.replace(/&lt;puce&gt;([\s\S]*?)&lt;\/puce&gt;/g, '<li>$1</li>');
		field = field.replace(/&lt;lien&gt;([\s\S]*?)&lt;\/lien&gt;/g, '<a href="$1">$1</a>');
		field = field.replace(/&lt;lien url="([\s\S]*?)"&gt;([\s\S]*?)&lt;\/lien&gt;/g, '<a href="$1">$2</a>');
		field = field.replace(/&lt;image&gt;([\s\S]*?)&lt;\/image&gt;/g, '<img src="$1" alt="Image" />');
		field = field.replace(/&lt;image position="([\s\S]*?)"&gt;([\s\S]*?)&lt;\/image&gt;/g, '<img src="$2" alt="Image" class="$1" />');
		field = field.replace(/&lt;citation nom=\"(.*?)\"&gt;([\s\S]*?)&lt;\/citation&gt;/g, '<br /><div class="citation_nom">$1 a &eacute;crit :</div><div class="citation">$2</div>');
		field = field.replace(/&lt;citation&gt;([\s\S]*?)&lt;\/citation&gt;/g, '<br /><div class="citation_nom">Citation</div><div class="citation">$1</div>');
		field = field.replace(/&lt;taille valeur=\"(.*?)\"&gt;([\s\S]*?)&lt;\/taille&gt;/g, '<span class="$1">$2</span>');
		field = field.replace(/&lt;position valeur=\"(.*?)\"&gt;([\s\S]*?)&lt;\/position&gt;/g, '<div class="$1">$2</div>');
		field = field.replace(/&lt;couleur nom=\"(.*?)\"&gt;([\s\S]*?)&lt;\/couleur&gt;/g, '<span style="color:$1">$2</span>');
		field = field.replace(/&lt;mail&gt;([\s\S]*?)&lt;\/mail&gt;/g, '<a href="mailto:$1">$1</a>');
		field = field.replace(/&lt;mail nom="([\s\S]*?)"&gt;([\s\S]*?)&lt;\/mail&gt;/g, '<a href="mailto:$1">$2</a>');
		field = field.replace(/&lt;indice&gt;([\s\S]*?)&lt;\/indice&gt;/g, '<sub>$1</sub>');
		field = field.replace(/&lt;exposant&gt;([\s\S]*?)&lt;\/exposant&gt;/g, '<sup>$1</sup>');
		field = field.replace(/&lt;secret&gt;([\s\S]*?)&lt;\/secret&gt;/g, '<div class="citation_nom"><em>Texte cach&eacute; :</em> <span style="font-weight:normal">cliquez sur le cadre pour l\'afficher</span></div><div class="citation" onclick="switch_spoiler(this)"><div style="display: none;" class="spoiler3">$1</div></div>');
		field = field.replace(/&lt;titre1&gt;([\s\S]*?)&lt;\/titre1&gt;/g, '<h2>$1</h2>');
		field = field.replace(/&lt;titre2&gt;([\s\S]*?)&lt;\/titre2&gt;/g, '<h3>$1</h3>');
		field = field.replace(/&lt;titre3&gt;([\s\S]*?)&lt;\/titre3&gt;/g, '<h4>$1</h4>');
		field = field.replace('</li><br />', '<br />');
		
		document.getElementById(previewDiv).innerHTML = field;
	}
}

//fonction qui permet la prévisualisation avec le parsage xml sans recharger la page
function view(textareaId, viewDiv){
	var content = encodeURIComponent(document.getElementById(textareaId).value);
	var xhr = getXMLHttpRequest();
	
	if (xhr && xhr.readyState != 0) {
		xhr.abort();
		delete xhr;
	}
	
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200){
			document.getElementById(viewDiv).innerHTML = xhr.responseText;
		} else if (xhr.readyState == 3){
			document.getElementById(viewDiv).innerHTML = "<div style=\"text-align: center;\"><img src=\"./design/loading.gif\" alt=\"Chargement en cours...\" /></div>";
		}
	}
	
	xhr.open("POST", "preview.php", true);
	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhr.send("string=" + content);
}

/**************************************/
/* FONCTION DE GESTION DES CODES AMIS */
/**************************************/
function majCodeAmis(jeux) {
	var code1 = encodeURIComponent(document.getElementById(jeux+"-code1").value);
	var code2 = encodeURIComponent(document.getElementById(jeux+"-code2").value);
	var code3 = encodeURIComponent(document.getElementById(jeux+"-code3").value);
	
	var xhr = getXMLHttpRequest();
	
	if (xhr && xhr.readyState != 0) {
		xhr.abort();
		delete xhr;
	}
	
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200){
			document.getElementById("result").innerHTML = xhr.responseText;
			new Effect.Opacity("result", { from : 0, to:1});
			setTimeout ('new Effect.Opacity("result", { from : 1, to:0})',5000);
			
		} else if (xhr.readyState == 3){
			document.getElementById(viewDiv).innerHTML = "<div style=\"text-align: center;\"><img src=\"./design/loading.gif\" alt=\"Chargement en cours...\" /></div>";
		}
	}
	
	xhr.open("POST", "./include/utilisateur/ajax/majcodesamis.php", true);
	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhr.send("jeux="+jeux+"&code1="+code1+"&code2="+code2+"&code3="+code3);
}

/************************/
/* FONCTION DE NOTATION */
/************************/

//fonction qui permet de colorer les images au survol de la souris
function noteHover (noteId,nom) {
	//noteId		= numero du coeur actuellement survolé
	//nom			= prefixe de l'id de la note (sert dans le cas de plusieurs notations par page)
	
	//on recupere le numero du coeur qui est survole
	for (i=1; i <= 5; i++) {
		if (nom+"-"+noteId == nom+"-note"+i) { var valeur = i; }
	}
	
	//on considere tous les coeurs precedent comme etant eux aussi survoles
	for (i=1; i <= valeur; i++) {
		document.images[nom+"-note"+i].src = "./design/coeurs/coeur_hover.jpg";
	}
	
	//on considere les coeurs suivant comme n'etant pas survoles
	for (i=5; i > valeur; i--) {
		document.images[nom+"-note"+i].src = "./design/coeurs/coeur.jpg";
	}
}

//fonction qui raz les images des notes quand la souris ne les survole plus
function noteHoverReset (nom) {
	for (i=1; i <= 5; i++) {
		document.images[nom+"-note"+i].src = "./design/coeurs/coeur.jpg";
	}
}

//fonction qui permet de noter un element
function noterElement (nom,note,resultDivId,page) {
	var xhr = getXMLHttpRequest();
	
	if (xhr && xhr.readyState != 0) {
		xhr.abort();
		delete xhr;
	}
	
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			//on affiche l'image note definitive ainsi que le bouton de suppression de cette note
			document.getElementById("note-"+nom).innerHTML = "<a class=\"supprBouton\" onclick=\"supprimerNote('"+nom+"','"+resultDivId+"','"+page+"')\"></a><img src=\"./design/coeurs/"+note+".jpg\" alt=\"Note : "+note+"\" />";
			new Effect.Opacity ("note-"+nom, { from : 0, to: 1});
			
			//on affiche le message de validation, puis on l'efface
			document.getElementById(resultDivId).innerHTML = "Vote note a bien &eacute;t&eacute; prise en compte.";
			new Effect.Opacity (resultDivId, { from : 0, to: 1});
			
			setTimeout ('new Effect.Opacity("'+resultDivId+'", { from : 1, to: 0})',5000);
		} else if (xhr.readyState == 3) {
			document.getElementById(resultDivId).innerHTML = "<div style=\"text-align:center;\"><img src=\"./design/loading.gif\" alt=\"Chargement en cours...\" /></div>";
		}
	}
	
	xhr.open("POST","./include/utilisateur/ajax/"+page+".php",true);
	xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xhr.send("nom=" + nom + "&note=" + note +"&action=ajouter");
}

//fonction qui permet de supprimer la note
function supprimerNote (nom,resultDivId,page) {
	var xhr = getXMLHttpRequest();
	
	if (xhr && xhr.readyState != 0) {
		xhr.abort();
		delete xhr;
	}
	
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			//on affiche les coeurs
			document.getElementById("note-"+nom).innerHTML = '<img src="./design/coeurs/coeur.jpg" id="'+nom+'-note1" onmouseout="noteHoverReset(\''+nom+'\')" onmouseover="noteHover(\'note1\',\''+nom+'\')" onclick="noterElement(\''+nom+'\',\'1\',\''+resultDivId+'\',\''+page+'\')" /><img src="./design/coeurs/coeur.jpg" id="'+nom+'-note2" onmouseout="noteHoverReset(\''+nom+'\')" onmouseover="noteHover(\'note2\',\''+nom+'\')" onclick="noterElement(\''+nom+'\',\'2\',\''+resultDivId+'\',\''+page+'\')" /><img src="./design/coeurs/coeur.jpg" id="'+nom+'-note3" onmouseout="noteHoverReset(\''+nom+'\')" onmouseover="noteHover(\'note3\',\''+nom+'\')" onclick="noterElement(\''+nom+'\',\'3\',\''+resultDivId+'\',\''+page+'\')" /><img src="./design/coeurs/coeur.jpg" id="'+nom+'-note4" onmouseout="noteHoverReset(\''+nom+'\')" onmouseover="noteHover(\'note4\',\''+nom+'\')" onclick="noterElement(\''+nom+'\',\'4\',\''+resultDivId+'\',\''+page+'\')" /><img src="./design/coeurs/coeur.jpg" id="'+nom+'-note5" onmouseout="noteHoverReset(\''+nom+'\')" onmouseover="noteHover(\'note5\',\''+nom+'\')" onclick="noterElement(\''+nom+'\',\'5\',\''+resultDivId+'\',\''+page+'\')" />';
			new Effect.Opacity("note-"+nom, { from : 0, to: 1});
			
			//On affiche le message confirmation, puis on l'efface
			document.getElementById(resultDivId).innerHTML = "Votre note a bien &eacute;t&eacute; supprim&eacute;e.";
			new Effect.Opacity(resultDivId, { from: 0, to: 1});
			
			setTimeout ('new Effect.Opacity("'+resultDivId+'", { from: 1,	to: 0 })',5000);
		} else if (xhr.readyState == 3) {
			document.getElementById(resultDivId).innerHTML = "<div style=\"text-align:center;\"><img src=\"./design/loading.gif\" alt=\"Chargement en cours...\" /></div>";
		}
	}
	
	xhr.open("POST","./include/utilisateur/ajax/"+page+".php",true);
	xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xhr.send("nom=" + nom + "&action=supprimer");
}

//fonction qui permet de recherche un membre dans la page s'il y est présent, ou de rechercher dans la base de donnee
function rechercherMembres (resultId,keywordsId) {
	//si l'user se trouve dans la page
	var userInPage = document.getElementById(keywordsId).value;
	if (document.getElementById(userInPage)) {
		new Effect.ScrollTo(userInPage);
		
		setTimeout ('new Effect.Highlight("'+userInPage+'", { startcolor : "#ffff99",endcolor: "#ffffff" })',1500);
		
		document.getElementById(keywordsId).value = "";
	}
	else { //sinon, on fait la recherche dans la page de donnee
		var xhr = getXMLHttpRequest();
	
		if (xhr && xhr.readyState != 0) {
			xhr.abort();
			delete xhr;
		}
		var keywords = encodeURIComponent(document.getElementById(keywordsId).value);
		xhr.onreadystatechange = function() {
			if (xhr.readyState == 4 && xhr.status == 200) {
				document.getElementById(resultId).innerHTML = xhr.responseText;
				new Effect.Opacity(resultId, { from : 0, to:1});
			} else if (xhr.readyState < 4) {
				document.getElementById(resultId).innerHTML = "<div style=\"text-align:center;\"><img src=\"./design/loading.gif\" alt=\"Chargement en cours...\" /></div>";
			}
		}
			
		xhr.open("POST","./include/utilisateur/ajax/membre_recherche.php",true);
		xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		xhr.send("keywords=" + keywords);
	}
}


//fonction qui permet de rechercher un article de l'encyclopedie
function rechercherInUnivers (resultId,keywordsId,typeId,page) {
	var xhr = getXMLHttpRequest();

	if (xhr && xhr.readyState != 0) {
		xhr.abort();
		delete xhr;
	}
	var typeA = document.getElementById(typeId).value;

	var keywords = encodeURIComponent(document.getElementById(keywordsId).value);
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			document.getElementById(resultId).innerHTML = xhr.responseText;
			new Effect.Opacity(resultId, { from : 0, to:1});
		} else if (xhr.readyState < 4) {
			document.getElementById(resultId).innerHTML = "<div style=\"text-align:center;\"><img src=\"./design/loading.gif\" alt=\"Chargement en cours...\" /></div>";
		}
	}
		
	xhr.open("POST","./include/ajax/"+page+"_recherche.php",true);
	xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xhr.send("keywords=" + keywords + "&type=" + typeA);
}

//fonction qui permet de rechercher un peu tout
function recherche (resultId,keywordsId,typeId) {
	var xhr = getXMLHttpRequest();

	if (xhr && xhr.readyState != 0) {
		xhr.abort();
		delete xhr;
	}
	var typeA = document.getElementById(typeId).value;

	var keywords = encodeURIComponent(document.getElementById(keywordsId).value);
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			document.getElementById(resultId).innerHTML = xhr.responseText;
			new Effect.Opacity(resultId, { from : 0, to:1});
		} else if (xhr.readyState < 4) {
			document.getElementById(resultId).innerHTML = "<div style=\"text-align:center;\"><img src=\"./design/loading.gif\" alt=\"Chargement en cours...\" /></div>";
		}
	}
		
	xhr.open("POST","./include/ajax/recherche.php",true);
	xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xhr.send("keywords=" + keywords + "&type=" + typeA);
}

//fonction qui permet de voter a un sondage
function voteSondage (sondageId) {
	var xhr = getXMLHttpRequest();
	
	if (xhr && xhr.readyState != 0) {
		xhr.abort();
		delete xhr;
	}
	
	for (i = 0; i < document.getElementsByName("option_id").length; i++) {
		if (document.getElementsByName("option_id")[i].checked) { var sondageOption = i; break; }
	}
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			document.getElementById("sondage").innerHTML = xhr.responseText;
			new Effect.Opacity(resultId, { from : 0, to:1});
		} else if (xhr.readyState < 4) {
			document.getElementById(resultId).innerHTML = "<div style=\"text-align:center;\"><img src=\"./design/loading.gif\" alt=\"Chargement en cours...\" /></div>";
		}
	}
	
	xhr.open("POST","./include/ajax/sondage.php",true);
	xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xhr.send("sondageId=" + sondageId + "&sondageOption=" + sondageOption);
}

//fonction qui permet de faire une barre progressive pour les sondages
i=0;
function sondageBar (percent,element) {
	if (i <= percent) {
		document.getElementById(element).style.width=i+"%";
		
		setTimeout ("sondageBar("+percent+","+element+")",30);
		i++;
	}
}
	
	
	
  
	
	
//fonction qui permet de bannir une adresse ip qui a vu le nombre max de videos
function videosBanIp () {
	var timestamp = new Date();
	
	var xhr = getXMLHttpRequest();
	
	if (xhr && xhr.readyState != 0) {
		xhr.abort();
		delete xhr;
	}
	
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			if (xhr.responseText >= 4) {
				document.getElementById("videos").innerHTML = '<p class="erreur">Vous avez regard&eacute; 5 vid&eacute;os, pour en visualiser plus vous devez vous <a href="./inscription.html">inscrire</a>.<br />L\'inscription est gratuite, vous pourrez acc&eacute;der aux t&eacute;l&eacute;chargements pr&eacute;sent sur le site de mani&egrave;re illimt&eacute;.</p>';
			}
		} 
	}
	xhr.open("GET","./include/ajax/videos_banip.php",true);
	xhr.send(null);
}
			

//fonction qui permet de changer le screen dans la page de presentation des jeux
function changeScreen (divId,jeux) {
	document.getElementById(divId).innerHTML = "<img src='./design/roue/screen/" + jeux + ".jpg' alt='" + jeux + "' />";
	new Effect.Opacity(divId, { from: 0, to: 1});
}

//fonction qui recupere la position de la souris
function position (evenement)
{
	var block = document.getElementById ('div_image'); //recupere les information sur le <div> qui contient l'image
	
	element = document.all?event.srcElement:evenement.target;
	if (element.name != "image") return;
	document.formulaire.x.value = document.all?event.x:evenement.layerX - block.offsetLeft - 5; //transfmet la position du curseur au formulaire
	document.formulaire.y.value = document.all?event.y:evenement.layerY - block.offsetTop - 5;
}

//fonction qui permet de bouger le cadre par rapport à la souris
function bougerCadre (evenement)
{
	element = document.all?event.srcElement:evenement.target;
	document.getElementById('cadre').style.position = 'absolute';
	document.getElementById('cadre').style.left = document.all?evenement.x:evenement.layerX + 5 +'px';
	document.getElementById('cadre').style.top = document.all?event.x:evenement.layerY + 5 + 'px';
}

//JE SAIS PLUS OÙ CA SERT CA...
function selection(status,form)
{
	for (i = 0; i < document.forms[form].length; i++)
	{
		document.forms[form].elements[i].checked = status;
	}
}

var imageTag = false;
var theSelection = false;
var clientPC = navigator.userAgent.toLowerCase();
var clientVer = parseInt(navigator.appVersion); 
var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
                && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_moz = 0;
var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);

bbcode = new Array();
bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[img]','[/img]','[url]','[/url]','[url=]','[/url]','[quote=]','[/quote]','[sup]','[/sup]','[mail]','[/mail]','[mail=]','[/mail]','[code]','[/code]','[quote]','[/quote]','[sub]','[/sub]','[flv]','[/flv]','[diapo= rel=]','[/diapo]','[mp3]','[/mp3]','[secret]','[/secret]');
imageTag = false;

function getarraysize(thearray)
{
	for (i = 0; i < thearray.length; i++) 
	{
		if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
		{
			return i;
		}
	}
	return thearray.length;
}

function arraypush(thearray,value)
{
	thearray[ getarraysize(thearray) ] = value;
}

function arraypop(thearray)
{
	thearraysize = getarraysize(thearray);
	retval = thearray[thearraysize - 1];
	delete thearray[thearraysize - 1];
	return retval;
}

function checkForm(form,champ)
{
	bbstyle(-1,form,champ);
	return true;
}

function bbfontstyle(bbopen, bbclose,form,champ)
{
	var txtarea = document.forms[form].elements[champ];

	if ((clientVer >= 4) && is_ie && is_win)
	{
		theSelection = document.selection.createRange().text;
		if (!theSelection)
		{
			txtarea.value += bbopen + bbclose;
			txtarea.focus();
			return;
		}
		document.selection.createRange().text = bbopen + theSelection + bbclose;
		txtarea.focus();
		return;
	}
	else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
	{
		mozWrap(txtarea, bbopen, bbclose);
		return;
	}
	else
	{
		txtarea.value += bbopen + bbclose;
		txtarea.focus();
	}
	storeCaret(txtarea);
}


function bbstyle(bbnumber,form,champ)
{
	var txtarea = document.forms[form].elements[champ];

	txtarea.focus();
	donotinsert = false;
	theSelection = false;
	bblast = 0;

	if (bbnumber == -1)
	{
		while (bbcode[0])
		{
			butnumber = arraypop(bbcode) - 1;
			txtarea.value += bbtags[butnumber + 1];
			buttext = eval('document.forms[form].addbbcode' + butnumber + '.value');
			eval('document.forms[form].addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
		}
		imageTag = false;
		txtarea.focus();
		return;
	}

	if ((clientVer >= 4) && is_ie && is_win)
	{
		theSelection = document.selection.createRange().text;
		if (theSelection)
		{
			document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];
			txtarea.focus();
			theSelection = '';
			return;
		}
	}
	else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
	{
		mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]);
		return;
	}

	for (i = 0; i < bbcode.length; i++)
	{
		if (bbcode[i] == bbnumber+1)
		{
			bblast = i;
			donotinsert = true;
		}
	}

	if (donotinsert)
	{
		while (bbcode[bblast])
		{
			butnumber = arraypop(bbcode) - 1;
			txtarea.value += bbtags[butnumber + 1];
			buttext = eval('document.forms[form].addbbcode' + butnumber + '.value');
			eval('document.forms[form].addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
			imageTag = false;
		}
		txtarea.focus();
		return;
	}
	else
	{
		if (imageTag && (bbnumber != 14))
		{		
			txtarea.value += bbtags[15];
			lastValue = arraypop(bbcode) - 1;	
			document.forms[form].addbbcode14.value = "Img";
			imageTag = false;
		}
		
		txtarea.value += bbtags[bbnumber];
		if ((bbnumber == 14) && (imageTag == false)) imageTag = 1; 
		arraypush(bbcode,bbnumber+1);
		eval('document.forms[form].addbbcode'+bbnumber+'.value += "*"');
		txtarea.focus();
		return;
	}
	storeCaret(txtarea);
}

function mozWrap(txtarea, open, close)
{
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	if (selEnd == 1 || selEnd == 2)
	{
		selEnd = selLength;
	}

	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);
	txtarea.value = s1 + open + s2 + close + s3;
	return;
}

function storeCaret(textEl)
{
	if (textEl.createTextRange)
	{
		textEl.caretPos = document.selection.createRange().duplicate();
	}
}


function useravatar_admin (formulaire,type)
{
	if (type == 'galerie')
	{
		formulaire.elements['avatar_type'][0].checked = true;
	}
	else if (type == 'upload')
	{
		formulaire.elements['avatar_type'][1].checked = true;
	}
	else if (type == 'url')
	{
		formulaire.elements['avatar_type'][2].checked = true;
	}
}

function userphoto_admin (formulaire,type)
{
	if (type == 'upload')
	{
		formulaire.elements['photo_type'][0].checked = true;
	}
	else if (type == 'url')
	{
		formulaire.elements['photo_type'][1].checked = true;
	}
}

function galleryavatar_admin (id)
{
	self.close ('avatars');
	opener.document.forms['adminuser'].elements['avatar_galerie'][id].selected = true;
	opener.document.forms['adminuser'].elements['avatar_type'][0].checked = true;
}

function show_avatar_admin()
{
	if (document.forms['adminuser'].elements['avatar_type'][0].checked == true)
	{
		if (avatar != document.forms['adminuser'].elements['avatar_galerie'].value)
		{
			avatar = document.forms['adminuser'].elements['avatar_galerie'].value;
			document.getElementById('show_avatar').innerHTML = '<img src="http://www.zelda-hyrulezelda-hyrule.com/data/avatars/'+document.forms['adminuser'].elements['avatar_galerie'].value+'" title="Aperçu de votre avatar" alt="Aperçu de votre avatar" />';
		}
	}
	else if (document.forms['adminuser'].elements['avatar_type'][2].checked == true)
	{
		if (avatar != document.forms['adminuser'].elements['avatar_url'].value)
		{
			avatar = document.forms['adminuser'].elements['avatar_url'].value;
			document.getElementById('show_avatar').innerHTML = '<img src="'+document.forms['adminuser'].elements['avatar_url'].value+'" title="Aperçu de votre avatar" alt="Aperçu de votre avatar" />';
		}
	}
	else if (document.forms['adminuser'].elements['avatar_type'][3].checked == true)
	{
		if (avatar != 'keep')
		{
			avatar = 'keep';
			document.getElementById('show_avatar').innerHTML = '<img src="'+avatar_actuel+'" title="Aperçu de votre avatar" alt="Aperçu de votre avatar" />';
		}
	}
	else if (document.forms['adminuser'].elements['avatar_type'][4].checked == true || document.forms['adminuser'].elements['avatar_type'][1].checked == true)
	{
		if (avatar != '')
		{
			avatar = '';
			document.getElementById('show_avatar').innerHTML = '';
		}
	}
	setTimeout ('show_avatar_admin()',500);
}

function show_photo_admin()
{
	if (document.forms['adminuser'].elements['photo_type'][1].checked == true)
	{
		if (photo != document.forms['adminuser'].elements['photo_url'].value)
		{
			photo = document.forms['adminuser'].elements['photo_url'].value;
			document.getElementById('show_photo').innerHTML = '<img src="'+document.forms['adminuser'].elements['photo_url'].value+'" title="Aperçu de votre photo personnelle" alt="Aperçu de votre photo personnelle" />';
		}
	}
	else if (document.forms['adminuser'].elements['photo_type'][2].checked == true)
	{
		if (photo != 'keep')
		{
			photo = 'keep';
			document.getElementById('show_photo').innerHTML = '<img src="'+photo_actuel+'" title="Aperçu de votre photo personnelle" alt="Aperçu de votre photo personnelle" />';
		}
	}
	else if (document.forms['adminuser'].elements['photo_type'][3].checked == true || document.forms['adminuser'].elements['photo_type'][0].checked == true)
	{
		if (photo != '')
		{
			photo = '';
			document.getElementById('show_photo').innerHTML = '';
		}
	}
	setTimeout ('show_photo_admin()',500);
}

function useravatar (formulaire,type)
{
	if (type == 'galerie')
	{
		formulaire.elements['avatar_type'][0].checked = true;
	}
	else if (type == 'upload')
	{
		formulaire.elements['avatar_type'][1].checked = true;
	}
	else if (type == 'url')
	{
		formulaire.elements['avatar_type'][2].checked = true;
	}
}

function userphoto (formulaire,type)
{
	if (type == 'upload')
	{
		formulaire.elements['photo_type'][0].checked = true;
	}
	else if (type == 'url')
	{
		formulaire.elements['photo_type'][1].checked = true;
	}
}

function galleryavatar (id)
{
	self.close ('avatars');
	opener.document.forms['editprofil'].elements['avatar_galerie'][id].selected = true;
	opener.document.forms['editprofil'].elements['avatar_type'][0].checked = true;
}

function show_avatar()
{
	if (document.forms['editprofil'].elements['avatar_type'][0].checked == true)
	{
		if (avatar != document.forms['editprofil'].elements['avatar_galerie'].value)
		{
			avatar = document.forms['editprofil'].elements['avatar_galerie'].value;
			document.getElementById('show_avatar').innerHTML = '<img src="http://www.zelda-hyrule.com/data/avatars/'+document.forms['editprofil'].elements['avatar_galerie'].value+'" title="Aperçu de votre avatar" alt="Aperçu de votre avatar" />';
		}
	}
	else if (document.forms['editprofil'].elements['avatar_type'][2].checked == true)
	{
		if (avatar != document.forms['editprofil'].elements['avatar_url'].value)
		{
			avatar = document.forms['editprofil'].elements['avatar_url'].value;
			document.getElementById('show_avatar').innerHTML = '<img src="'+document.forms['editprofil'].elements['avatar_url'].value+'" title="Aperçu de votre avatar" alt="Aperçu de votre avatar" />';
		}
	}
	else if (document.forms['editprofil'].elements['avatar_type'][3].checked == true)
	{
		if (avatar != 'keep')
		{
			avatar = 'keep';
			document.getElementById('show_avatar').innerHTML = '<img src="'+avatar_actuel+'" title="Aperçu de votre avatar" alt="Aperçu de votre avatar" />';
		}
	}
	else if (document.forms['editprofil'].elements['avatar_type'][4].checked == true || document.forms['editprofil'].elements['avatar_type'][1].checked == true)
	{
		if (avatar != '')
		{
			avatar = '';
			document.getElementById('show_avatar').innerHTML = '';
		}
	}
	setTimeout ('show_avatar()',500);
}

function show_photo()
{
	if (document.forms['editprofil'].elements['photo_type'][1].checked == true)
	{
		if (photo != document.forms['editprofil'].elements['photo_url'].value)
		{
			photo = document.forms['editprofil'].elements['photo_url'].value;
			document.getElementById('show_photo').innerHTML = '<img src="'+document.forms['editprofil'].elements['photo_url'].value+'" title="Aperçu de votre photo personnelle" alt="Aperçu de votre photo personnelle" />';
		}
	}
	else if (document.forms['editprofil'].elements['photo_type'][2].checked == true)
	{
		if (photo != 'keep')
		{
			photo = 'keep';
			document.getElementById('show_photo').innerHTML = '<img src="'+photo_actuel+'" title="Aperçu de votre photo personnelle" alt="Aperçu de votre photo personnelle" />';
		}
	}
	else if (document.forms['editprofil'].elements['photo_type'][3].checked == true || document.forms['editprofil'].elements['photo_type'][0].checked == true)
	{
		if (photo != '')
		{
			photo = '';
			document.getElementById('show_photo').innerHTML = '';
		}
	}
	setTimeout ('show_photo()',500);
}