	// 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 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;
		
	}