var timer=0;
var ptag=String.fromCharCode(5,6,7);
function  previsualisation() {
t=document.formulaire.textarea.value 
t=code_to_html(t)
if (document.getElementById) document.getElementById("prev").innerHTML=t
if (document.formulaire.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.formulaire.auto.checked) previsualisation() <!-- si on a cocher la case d'aper�u automatique -->
}
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 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: 85%; 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" />',t)
t=remblaie(t)

// balise URL   
t=deblaie(/(\[\/url\])/g,t)
t=remplace_tag(/\[\url=([\s\S]*?)\](.+)\[\/url\]/g,'<a href="$1" target="_blank">$2</a>',t)
t=remblaie(t)
//noir


t=deblaie(/(\[\/noir\])/g,t)
t=remplace_tag(/\[noir\](.+)\[\/noir\]/g,'<span style="color: black;">$1</span>',t) 
t=remblaie(t)

//barre

t=deblaie(/(\[\/barre\])/g,t)
t=remplace_tag(/\[barre\](.+)\[\/barre\]/g,'<span style="text-decoration :line-through">$1</span>',t) 
t=remblaie(t)

//white


t=deblaie(/(\[\/blanc\])/g,t)
t=remplace_tag(/\[blanc\](.+)\[\/blanc\]/g,'<span style="color: white;">$1</span>',t) 
t=remblaie(t)

//rouge
t=deblaie(/(\[\/rouge\])/g,t)
t=remplace_tag(/\[rouge\](.+)\[\/rouge\]/g,'<span style="color: #ff0A0A	;">$1</span>',t) 
t=remblaie(t)
//bleu
t=deblaie(/(\[\/bleu\])/g,t)
t=remplace_tag(/\[bleu\](.+)\[\/bleu\]/g,'<span style="color: #1D25E3	;">$1</span>',t) 
t=remblaie(t)
//vert
t=deblaie(/(\[\/vert\])/g,t)
t=remplace_tag(/\[vert\](.+)\[\/vert\]/g,'<span style="color: #06EF15	;">$1</span>',t) 
t=remblaie(t)





//LES tailles

t=deblaie(/(\[\/petit\])/g,t)
t=remplace_tag(/\[petit\](.+)\[\/petit\]/g,'<span style="font-size:0.8em">$1</span>',t) 
t=remblaie(t)

t=deblaie(/(\[\/tpetit\])/g,t)
t=remplace_tag(/\[tpetit\](.+)\[\/tpetit\]/g,'<span style="font-size:0.7em">$1</span>',t) 
t=remblaie(t)

t=deblaie(/(\[\/moyen\])/g,t)
t=remplace_tag(/\[moyen\](.+)\[\/moyen\]/g,'<span style="font-size:1.1em">$1</span>',t) 
t=remblaie(t)

t=deblaie(/(\[\/grand\])/g,t)
t=remplace_tag(/\[grand\](.+)\[\/grand\]/g,'<span style="font-size:1.3em">$1</span>',t) 
t=remblaie(t)



t=deblaie(/(\[\/tgrand\])/g,t)
t=remplace_tag(/\[tgrand\](.+)\[\/tgrand\]/g,'<span style="font-size:1.5em">$1</span>',t) 
t=remblaie(t)


//Les positions :
t=deblaie(/(\[\/gauche\])/g,t)
t=remplace_tag(/\[gauche\](.+)\[\/gauche\]/g,'<div style="text-align:left">$1</div>',t) 
t=remblaie(t)

t=deblaie(/(\[\/centre\])/g,t)
t=remplace_tag(/\[centre\](.+)\[\/centre\]/g,'<div style="text-align:center">$1</div>',t) 
t=remblaie(t)

t=deblaie(/(\[\/droite\])/g,t)
t=remplace_tag(/\[droite\](.+)\[\/droite\]/g,'<div style="text-align:right">$1</div>',t) 
t=remblaie(t)

//Les titres:

t=deblaie(/(\[\/titre\])/g,t)
t=remplace_tag(/\[titre\](.+)\[\/titre\]/g,'<h3>$1</h3>',t) 
t=remblaie(t)

t=deblaie(/(\[\/ptitre\])/g,t)
t=remplace_tag(/\[ptitre\](.+)\[\/ptitre\]/g,'<h4>$1</h4>',t) 
t=remblaie(t)

//les flottants : 

t=deblaie(/(\[\/flottant_g\])/g,t)
t=remplace_tag(/\[flottant_g\](.+)\[\/flottant_g\]/g,'<div style="float : left">$1</div>',t) 
t=remblaie(t)

t=deblaie(/(\[\/flottant_d\])/g,t)
t=remplace_tag(/\[flottant_d\](.+)\[\/flottant_d\]/g,'<div style="float : right">$1</div>',t) 
t=remblaie(t)




// smilies Smile <!-- on oublie pas les smilies -->
t=remplace_tag(/:fumer:/g,'<img src="images/smileys/bedo.gif" alt="Fumer" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/:sourire:/g,'<img src="images/smileys/bigrin.gif" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/:charte:/g,'<img src="images/smileys/charte.gif" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)


t=remplace_tag(/:diable:/g,'<img src="images/smileys/diable.gif" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)


t=remplace_tag(/->/g,'<img src="images/smileys/fleched.gif" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/:gni:/g,'<img src="images/smileys/gni.gif" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)


t=remplace_tag(/:\)/g,'<img src="images/smileys/heureux.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)


t=remplace_tag(/:niark:/g,'<img src="images/smileys/niark.gif" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)


t=remplace_tag(/:punk:/g,'<img src="images/smileys/punk.gif" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/:siffle:/g,'<img src="images/smileys/siffle.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/:smile:/g,'<img src="images/smileys/smile.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/:superman:/g,'<img src="images/smileys/superman.gif" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/:taggle:/g,'<img src="images/smileys/taggle.gif" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/:xd:/g,'<img src="images/smileys/xd.gif" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/:zik:/g,'<img src="images/smileys/zik.gif" 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');
} 