var timer=0;
var ptag=String.fromCharCode(5,6,7);
var AutoChecked = 1;
function  previsualisation() {
	t=document.FormModifTexte.Texte.value  
	t=code_to_html(t)

	if (document.getElementById) document.getElementById("prev").innerHTML=t
	if (AutoChecked == 1) 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() {
	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,'<strong>$1</strong>',t)  
	t=remblaie(t)
	
	// balise Italic
	t=deblaie(/(\[\/italic\])/g,t)
	t=remplace_tag(/\[italic\](.+)\[\/italic\]/g,'<em>$1</em>',t)  
	t=remblaie(t)
	
	// balise Souligné
	t=deblaie(/(\[\/souligne\])/g,t)
	t=remplace_tag(/\[souligne\](.+)\[\/souligne\]/g,'<u>$1</u>',t)  
	t=remblaie(t)
	
	// balise Barre
	t=deblaie(/(\[\/barre\])/g,t)
	t=remplace_tag(/\[barre\](.+)\[\/barre\]/g,'<STRIKE>$1</STRIKE>',t)  
	t=remblaie(t)
	
	// balise Liste
	t=deblaie(/(\[\/liste\])/g,t)
	t=remplace_tag(/\[liste\](.+)\[\/liste\]/g,'<li>$1</li>',t)  
	t=remblaie(t)
	
	// balise Titre
	t=deblaie(/(\[\/titre\])/g,t)
	t=remplace_tag(/\[titre(.+)\](.+)\[\/titre\]/g,'<h$1>$2</h$1>',t)  
	t=remblaie(t)
	
	// balise Paragraphe
	t=deblaie(/(\[\/paragraphe\])/g,t)
	t=remplace_tag(/\[paragraphe\](.+)\[\/paragraphe\]/g,'<p>$1</p>',t)  
	t=remblaie(t)
	
	// balise Attention, Erreur, Question, Info, inline et block
	t=deblaie(/(\[\/(Attention|Alert|Info|Question|inline|block)\])/g,t)
	t=remplace_tag(	/\[(Attention|Alert|Info|Question|inline|block)\](.+)\[\/(Attention|Alert|Info|Question|inline|block)\]/g,'<div class="$1">$2</div>',t)  
	t=remblaie(t)
	
	// balise Flotant
	t=deblaie(/(\[\/(FloatRight|FloatLeft)\])/g,t)
	t=remplace_tag(	/\[(FloatRight|FloatLeft)\](.+)\[\/(FloatRight|FloatLeft)\]/g,'<div class="$1">$2</div>',t)  
	t=remblaie(t)

	// balise Taille
	t=deblaie(/(\[\/taille\])/g,t)
	t=remplace_tag(/\[taille=([\s\S]*?)\](.+)\[\/taille\]/g,'<span class="$1">$2</span>',t)  
	t=remblaie(t)
	
	// balise Alignement
	t=deblaie(/(\[\/alignement\])/g,t)
	t=remplace_tag(/\[alignement=([\s\S]*?)\](.+)\[\/alignement\]/g,'<div align="$1">$2</align>',t)  
	t=remblaie(t)
	
	// balise Image
	t=deblaie(/(\[\/image\])/g,t)
	t=remplace_tag(/\[image\](.+)\[\/image\]/g,'<img src="../$1" alt="image utilisateur">',t)
	t=remblaie(t)
	
	// balise Flottant
	t=deblaie(/(\[\/flottant\])/g,t)
	t=remplace_tag(/\[flottant=([\s\S]*?)\](.+)\[\/flottant\]/g,'<div class="$1">$2</div>',t)  
	t=remblaie(t)
	
	
	// balise URL   
	t=deblaie(/(\[\/URL\])/g,t)
	t=remplace_tag(/\[\URL=([\s\S]*?)\](.+)\[\/URL\]/g,'<a href="$1">$2</a>',t)
	t=remblaie(t)
	
	// balise MAIL   
	t=deblaie(/(\[\/MAIL\])/g,t)
	t=remplace_tag(/\[\MAIL=([\s\S]*?)\](.+)\[\/MAIL\]/g,'<a href="mailto:$1">$2</a>',t)
	t=remblaie(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');
}   
