// JavaScript Document
var timer=0;
var ptag=String.fromCharCode(5,6,7);
/*function  previsualisation() {
t=document.commentaire.textarea.value 
t=code_to_html(t)
if (document.getElementById) document.getElementById("prev").innerHTML=t
if (document.commentaire.auto.checked) timer=setTimeout(previsualisation,1)
<!-- le "1" est le temps que met le texte à s'afficher, "1" : le texte s'affichera en même temps que l'on écrit (en s) -->
}
function automatique() {
if (document.commentaire.auto.checked) previsualisation() <!-- si on a cocher la case d'aperçu automatique -->
}*/
function  previsualisation(area) {
t=document.getElementById(area).value 
t=code_to_html(t)
if (document.getElementById) document.getElementById("prev").innerHTML=t
}
function code_to_html(t) {
t=nl2khol(t)
// balise Gras <!-- on lui dis que telles balises correspondent à tels codes en HTML -->
t=deblaie(/(\[\/gras\])/g,t)
t=remplace_tag(/\[gras\](.+)\[\/gras\]/g,'<span style="font-weight: bold;">$1</span>',t) 
t=remblaie(t)

// balise Italic
t=deblaie(/(\[\/italic\])/g,t)
t=remplace_tag(/\[italic\](.+)\[\/italic\]/g,'<span style="font-style: italic;">$1</span>',t) 
t=remblaie(t)

// balise Souligne
t=deblaie(/(\[\/souligne\])/g,t)
t=remplace_tag(/\[souligne\](.+)\[\/souligne\]/g,'<span style="text-decoration: underline;">$1</span>',t) 
t=remblaie(t)

// balise Citation
t=deblaie(/(\[\/citation\])/g,t)
t=remplace_tag(/\[citation=([\s\S]*?)\](.+)\[\/citation\]/g,'<strong>Citation $1 :</strong><div style="border: 1px solid #000000; width: 50%; font-family: Verdana, \'Trebuchet MS\', Tahoma, \'Times New Roman\', Times, serif; text-align: left; font-size: 11px;" align="center">$2</div>',t) 
t=remblaie(t)

// balise Image
t=deblaie(/(\[\/image\])/g,t)
t=remplace_tag(/\[image\](.+)\[\/image\]/g,'<img src="$1" alt="" />',t)
t=remblaie(t)

// balise URL   
t=deblaie(/(\[\/url\])/g,t)
t=remplace_tag(/\[\url=([\s\S]*?)\](.+)\[\/url\]/g,'<a href="$1" onclick="window.open(this.href,\'_blank\');return false;">$2</a>',t)
t=remblaie(t)

// smilies Smile <!-- on oublie pas les smilies -->
// :)
t=remplace_tag(/:\)/g,'<img src="image/smileys/smile.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :D
t=remplace_tag(/:D/g,'<img src="image/smileys/grin.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// ;)
t=remplace_tag(/;\)/g,'<img src="image/smileys/wink.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// ^^
t=remplace_tag(/\^\^/g,'<img src="image/smileys/happy.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :P
t=remplace_tag(/:P/g,'<img src="image/smileys/tungue.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// w00t
t=remplace_tag(/w00t/g,'<img src="image/smileys/w00t.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :kiss:
t=remplace_tag(/:kiss:/g,'<img src="image/smileys/kissing.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :(
t=remplace_tag(/:\(/g,'<img src="image/smileys/sad.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :'(
t=remplace_tag(/:\'\(/g,'<img src="image/smileys/cwy.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// T_T
t=remplace_tag(/T_T/g,'<img src="image/smileys/cry.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :!
t=remplace_tag(/:!/g,'<img src="image/smileys/tagueule.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :angry:
t=remplace_tag(/:angry:/g,'<img src="image/smileys/colere.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :S
t=remplace_tag(/:S/g,'<img src="image/smileys/sick.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :-&
t=remplace_tag(/:-&/g,'<img src="image/smileys/vomit.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :top:
t=remplace_tag(/:top:/g,'<img src="image/smileys/yes.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :pastop:
t=remplace_tag(/:pastop:/g,'<img src="image/smileys/no.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :love:
t=remplace_tag(/:love:/g,'<img src="image/smileys/love.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :paslove:
t=remplace_tag(/:paslove:/g,'<img src="image/smileys/coeur2.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :siffle:
t=remplace_tag(/:siffle:/g,'<img src="image/smileys/siffler.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// O_o
t=remplace_tag(/O_o/g,'<img src="image/smileys/blink.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :honte:
t=remplace_tag(/:honte:/g,'<img src="image/smileys/honte.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :/
t=remplace_tag(/:\//g,'<img src="image/smileys/getlost.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// *-|
t=remplace_tag(/\*\-\|/g,'<img src="image/smileys/auciel.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// ???
t=remplace_tag(/\?\?\?/g,'<img src="image/smileys/question.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// 8)
t=remplace_tag(/8\)/g,'<img src="image/smileys/cool.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :O
t=remplace_tag(/:O/g,'<img src="image/smileys/shocked.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :doute:
t=remplace_tag(/:doute:/g,'<img src="image/smileys/hmmm.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :mange:
t=remplace_tag(/:mange:/g,'<img src="image/smileys/manger.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :zzz:
t=remplace_tag(/:zzz:/g,'<img src="image/smileys/zzz.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// <:)
t=remplace_tag(/\<:o\)/g,'<img src="image/smileys/fiesta.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// >_<
t=remplace_tag(/\>_\</g,'<img src="image/smileys/poo.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)
// :pardon:
t=remplace_tag(/:pardon:/g,'<img src="image/smileys/pardon.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

return t
}
<!-- tout le code qui suit c'est pour transformer toutes les balises, comme les preg_replace en PHP -->
function deblaie(reg,t) {
textarea=new String(t);
return textarea.replace(reg,'$1\n');
}
function remblaie(t) {
textarea=new String(t);
return textarea.replace(/\n/g,'');
}
function remplace_tag(reg,rep,t) {
textarea=new String(t);
return textarea.replace(reg,rep);
}
function nl2br(t) {
textarea=new String(t);
return textarea.replace(/\n/g,'<br/>');
}
function nl2khol(t) {
textarea=new String(t);
return textarea.replace(/\n/g,ptag);
}
function unkhol(t) {
textarea=new String(t);
return textarea.replace(new RegExp(ptag,'g'),'\n');
}   