// JavaScript Document
var timer=0;

var ptag=String.fromCharCode(5,6,7);

function  previsualisation() {

t=document.formulaire.message.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 Centrer

t=deblaie(/(\[\/centrer\])/g,t)

t=remplace_tag(/\[centrer\](.+)\[\/centrer\]/g,'<center>$1</center>',t)

t=remblaie(t)

// balise souligne

t=deblaie(/(\[\/underline\])/g,t)

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

t=remblaie(t)



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



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


// smilies Smile <!-- on oublie pas les smilies -->
t=remplace_tag(/:\)/g,'<img src="../image/smile/sourit.png" alt=":)" title=":)" />',t) 
t=remblaie(t)

// smilies Smile <!-- on oublie pas les smilies -->
t=remplace_tag(/o\_O/g,'<img src="../image/smile/blink.gif" alt="" />',t) 
t=remblaie(t)

// smilies Smile <!-- on oublie pas les smilies -->
t=remplace_tag(/;\)/g,'<img src="../image/smile/clin.png" alt="" />',t) 
t=remblaie(t)

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

// smilies Smile <!-- on oublie pas les smilies -->
t=remplace_tag(/\^\^/g,'<img src="../image/smile/hihi.png" alt="" />',t) 
t=remblaie(t)

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

// smilies Smile <!-- on oublie pas les smilies -->
t=remplace_tag(/:euh:/g,'<img src="../image/smile/unsure.gif" alt="" />',t) 
t=remblaie(t)

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

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

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

// smilies Smile <!-- on oublie pas les smilies -->
t=remplace_tag(/:lol:/g,'<img src="../image/smile/rire.gif" alt="" />',t) 
t=remblaie(t)

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

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

// smilies Smile <!-- on oublie pas les smilies -->
t=remplace_tag(/:honte:/g,'<img src="../image/smile/rouge.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) {

message=new String(t);

return message.replace(reg,'$1\n');

}

function remblaie(t) {

message=new String(t);

return message.replace(/\n/g,'');

}

function remplace_tag(reg,rep,t) {

message=new String(t);

return message.replace(reg,rep);

}

function nl2br(t) {

message=new String(t);

return message.replace(/\n/g,'<br/>');

}

function nl2khol(t) {

message=new String(t);

return message.replace(/\n/g,ptag);

}

function unkhol(t) {

message=new String(t);

return message.replace(new RegExp(ptag,'g'),'\n');

}   