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: 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" />',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)

// Flotte à gauche
t=deblaie(/(\[\/Image à gauche\])/g,t)
t=remplace_tag(/\[flottergauche\](.+)\[\/flottergauche\]/g,'<img src="$1" class="flottergauche">',t)
t=remblaie(t)

// Flotte à droite
t=deblaie(/(\[\/Image à droite\])/g,t)
t=remplace_tag(/\[flotterdroite\](.+)\[\/flotterdroite\]/g,'<img src="$1" class="flotterdroite">',t)
t=remblaie(t)

// Flotte au centre
t=deblaie(/(\[\/Image au centre\])/g,t)
t=remplace_tag(/\[flottercentre\](.+)\[\/flottercentre\]/g,'<center><img src="$1"></center>',t)
t=remblaie(t)

// smilies Smile <!-- on oublie pas les smilies -->
t=remplace_tag(/ :smile: /g,'<img src="images/smilies/emoticon_smile.png" alt="" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

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


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

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

// smilies xD
t=remplace_tag(/xD/g,'<img src="images/smilies/emoticon_evilgrin.png" alt="" />',t)
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// smilies ^^
t=remplace_tag(/\^\^/g,'<img src="images/smilies/emoticon_grin.png" alt="" />',t)
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

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

// smilies ;)
t=remplace_tag(/;\)/g,'<img src="images/smilies/emoticon_wink.png" alt="" />',t)
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

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