	// Check for Browser & Platform for PC & IE specific bits
	// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
	
	var clientPC = navigator.userAgent.toLowerCase(); // Get client info
	var clientVer = parseInt(navigator.appVersion); // Get browser version
	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);
	
	function confirme(Message){
	    if ( Message == "" ){
	        alert ('Vous devez compléter votre page !!');
	        return false;
	    }else{
	    	document.FEDITO.submit();
			return true;
	    }
	}
	
	function insert(icon){
		document.FEDITO.message.value = document.FEDITO.message.value + icon;
		document.FEDITO.message.focus();
	}
	
	// From http://www.moteurprog.com/
	function bbfontstyle(bbopen, bbclose,txtzone) {
		var txtarea = txtzone;
		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);
	}
	
	// From http://www.massless.org/mozedit/
	// From http://www.moteurprog.com/
	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 suprimepage(x){
	    var answer = confirm ("Supprimer la page "+x+" ?")
	    if (answer){
	     alert ("Votre dernière chance de concerver cette page est de ne pas cliquer sur OK et de fermer votre navigateur (Ctrl alt Sup sous windows ou Kill sous Nux) passé cette étape, la page en cour sera définitivement supprimée.");
		 var xhr=null;
		
		 if (window.XMLHttpRequest) { 
			xhr = new XMLHttpRequest();
		 }
		 else if (window.ActiveXObject) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		 }

		 xhr.open("GET", "<? echo $domain; ?>util/ajax/deletePage.php?id="+x+"&file=<? echo $this->getPage(); ?>", false);
		 xhr.send(null);
		
		 obj = document.getElementById("delete");
		 obj.value = xhr.responseText;
	    }else{
	     alert ("Fausse manipe pas de panique");
		}
	}
	
	function preview(x,type){
		obj = document.getElementById("edito");
		text = formate_text(x);
		if(type==2){
			obj.innerHTML = obj.innerHTML+text;
		}else{
			obj.innerHTML = text;
		}
	}
	
	function formate_text(x){
	
		// previsualisation du message
		text = x;
		
		// les <
		var modele = /</;
		while(modele.test(text)){text = text.replace("<","&lt;");}

		// les >
		var modele = />/;
		while(modele.test(text)){text = text.replace(">","&gt;");}

		// les retours a la ligne
		var modele = /\n/;
		while(modele.test(text)){text = text.replace("\n","<br />");}

		// les séparateurs
		var modele = /\[l\]/;
		while(modele.test(text)){text = text.replace("[l]","<hr class=\"separateur\"/>");}

		// texte gras
		var modele = /\[b\]/;
		while(modele.test(text)){text = text.replace("[b]","<b>");}
		var modele = /\[\/b\]/;
		while(modele.test(text)){text = text.replace("[/b]","</b>");}

		// texte italique
		var modele = /\[i\]/;
		while(modele.test(text)){text = text.replace("[i]","<i>");}
		var modele = /\[\/i\]/;
		while(modele.test(text)){text = text.replace("[/i]","</i>");}

		// texte souligné
		var modele = /\[u\]/;
		while(modele.test(text)){text = text.replace("[u]","<u>");}
		var modele = /\[\/u\]/;
		while(modele.test(text)){text = text.replace("[/u]","</u>");}

		// texte centré
		var modele = /\[center\]/;
		while(modele.test(text)){text = text.replace("[center]","<div class=\"center\">");}
		var modele = /\[\/center\]/;
		while(modele.test(text)){text = text.replace("[/center]","</div>");}

		// texte gauche
		var modele = /\[txtleft\]/;
		while(modele.test(text)){text = text.replace("[txtleft]","<div class=\"txtleft\">");}
		var modele = /\[\/txtleft\]/;
		while(modele.test(text)){text = text.replace("[/txtleft]","</div>");}

		// texte droit
		var modele = /\[txtright\]/;
		while(modele.test(text)){text = text.replace("[txtright]","<div class=\"txtright\">");}
		var modele = /\[\/txtright\]/;
		while(modele.test(text)){text = text.replace("[/txtright]","</div>");}

		// texte justifié
		var modele = /\[txtjust\]/;
		while(modele.test(text)){text = text.replace("[txtjust]","<div class=\"txtjust\">");}
		var modele = /\[\/txtjust\]/;
		while(modele.test(text)){text = text.replace("[/txtjust]","</div>");}

		// lettrine
		var modele = /\[lettrine\]/;
		while(modele.test(text)){text = text.replace("[lettrine]","<span class=\"lettrine\">");}
		var modele = /\[\/lettrine\]/;
		while(modele.test(text)){text = text.replace("[/lettrine]","</span>");}

		// titre
		var modele = /\[titre\]/;
		while(modele.test(text)){text = text.replace("[titre]","<h2>");}
		var modele = /\[\/titre\]/;
		while(modele.test(text)){text = text.replace("[/titre]","</h2>");}

		// sous titre
		var modele = /\[stitre\]/;
		while(modele.test(text)){text = text.replace("[stitre]","<h3>");}
		var modele = /\[\/stitre\]/;
		while(modele.test(text)){text = text.replace("[/stitre]","</h3>");}

		// image
		var modele = /\[img\]/;
		while(modele.test(text)){text = text.replace("[img]","<img class=\"imgnorm\" alt=\"\" src=\"");}
		var modele = /\[\/img\]/;
		while(modele.test(text)){text = text.replace("[/img]","\" />");}

		// image droite
		var modele = /\[imgright\]/;
		while(modele.test(text)){text = text.replace("[imgright]","<img class=\"imgright\" alt=\"\" src=\"");}

		// image left
		var modele = /\[imgleft\]/;
		while(modele.test(text)){text = text.replace("[imgleft]","<img class=\"imgleft\" alt=\"\" src=\"");}

		// image pleine
		var modele = /\[imgfull\]/;
		while(modele.test(text)){text = text.replace("[imgfull]","<img class=\"imgfull\" alt=\"\" src=\"");}

		// liens
		var modele = /\[url=/;
		while(modele.test(text)){text = text.replace("[url=","<a href=\"");}
		var modele = /\[\/url\]/;
		while(modele.test(text)){text = text.replace("[/url]","</a>");}
		
		// liens externe
		var modele = /\[urle=/;
		while(modele.test(text)){text = text.replace("[urle=","<a target=\"_blank\" class=\"a_externe\" href=\"");}
		var modele = /\[\/urle\]/;
		while(modele.test(text)){text = text.replace("[/urle]","</a>");}
		
		// liens rel nofolow
		var modele = /\[urln=/;
		while(modele.test(text)){text = text.replace("[urln=","<a target=\"_blank\" rel=\"nofollow\" class=\"a_externe\" href=\"");}
		var modele = /\[\/urln\]/;
		while(modele.test(text)){text = text.replace("[/urln]","</a>");}
		
		// couleurs
		var modele = /\[col=/;
		while(modele.test(text)){text = text.replace("[col=","<font color=\"");}
		var modele = /\[\/col\]/;
		while(modele.test(text)){text = text.replace("[/col]","</font>");}

		// texte citation
		var modele = /\[quote\]/;
		while(modele.test(text)){text = text.replace("[quote]","<div class=\"quote\">");}
		var modele = /\[\/quote\]/;
		while(modele.test(text)){text = text.replace("[/quote]","</div>");}

		// texte citation avec auteur
		var modele = /\[quote=\"/;
		while(modele.test(text)){text = text.replace("[quote=\"","<div class=\"quote\"><div class=\"auteur\">");}
		
		// composant message du forum ([fmsg=""][/fmsg])
		var modele = /\[fmsg=\"/;
		while(modele.test(text)){text = text.replace("[fmsg=\"","<div class=\"fmsg\"><div class=\"fmsgauteur\">");}
		var modele = /\[\/fmsg\]/;
		while(modele.test(text)){text = text.replace("[/fmsg]","</div>");}

		// box commande du forum
		var modele = /\[fedit\]/;
		while(modele.test(text)){text = text.replace("[fedit]","\n<div class=\"editbox\" id=\"editbox");}
		var modele = /\[\/fedit\]/;
		while(modele.test(text)){text = text.replace("[/fedit]","\"></div>");}

		// box button du forum
		var modele = /\[bedit\]/;
		while(modele.test(text)){text = text.replace("[bedit]","<div class=\"optmsg\"><input type=\"button\" value=\"citer\" class=\"fquotebutton\" onclick=\"msgquote('");}
		var modele = /\[\/bedit\]/;
		while(modele.test(text)){text = text.replace("[/bedit]","',0);\" /></div>");}


		var modele = /\"\]/;
		while(modele.test(text)){text = text.replace("\"]","</div>");}
		var modele = /\]/;
		while(modele.test(text)){text = text.replace("]","\">");}
		
		return text;
		
	}