// VISUALISATION
// Ce script permet d'avoir une visualisation du texte qu'on va écrire
// Il nous faut une zone dans texte dans un <form> exemple : <textarea name="texte" rows="3" wrap="VIRTUAL" class="txt_normal" id="texte" style="width:100%; height:150px;" cols="100"><?php echo comf($row_texte['texte']);?></textarea>
// Un bouton ou lorsque qu'on va cliquer ca va prévisualiser, avec sa case à cocher pour la prévisualisation automatique <input type="button" value="Prévisualiser" onClick="visualisation()"><input name="auto" type="checkbox" onClick="automatique()"> 
// Et la zone de prévisualistion, le texte à l'interieur s'efface tout seul <span id="previsualisation">La prévisualisation permet de voir votre texte, tel qu\'il sera dans le site.</span>

var timer=0;
var ptag=String.fromCharCode(5,6,7);
function  visualisation() {
	t=document.post.texte.value  
	t=code_to_html(t)
	if (document.getElementById) document.getElementById("previsualisation").innerHTML=t
	if (document.post.auto.checked) timer=setTimeout(visualisation,1000)
}
function automatique() {
	if (document.post.auto.checked) visualisation()
}
function code_to_html(t) {
	t=nl2khol(t)
// balise Gras
	t=deblaie(/(\[\/b\])/g,t)
	t=remplace_tag(/\[b\](.+)\[\/b\]/g,'<b>$1</b>',t)  
	t=remblaie(t)
// balise Italique
	t=deblaie(/(\[\/i\])/g,t)
	t=remplace_tag(/\[i\](.+)\[\/i\]/g,'<i>$1</i>',t)  
	t=remblaie(t)
// balise Souligné
	t=deblaie(/(\[\/u\])/g,t)
	t=remplace_tag(/\[u\](.+)\[\/u\]/g,'<u>$1</u>',t)  
	t=remblaie(t)
// balise Rayé (strike)
	t=deblaie(/(\[\/strike\])/g,t)
	t=remplace_tag(/\[strike\](.+)\[\/strike\]/g,'<strike>$1</strike>',t)  
	t=remblaie(t)
// balise Centrer
	t=deblaie(/(\[\/centre\])/g,t)
	t=remplace_tag(/\[centre\](.+)\[\/centre\]/g,'<div align="center">$1</div>',t)  
	t=remblaie(t)	
// balise Spoiler
	t=deblaie(/(\[\/spoiler\])/g,t)
	t=remplace_tag(/\[spoiler\](.+)\[\/spoiler\]/g,'<span class="spoiler" onmouseover="this.className=\'unspoil\';" onmouseout="this.className=\'spoiler\';">$1</span>',t)  
	t=remblaie(t)	
// balise URL
	t=deblaie(/(\[\/url\])/g,t)
	t=remplace_tag(/\[url\](.+)\[\/url\]/g,'<b>[ <a href="$1" target="_blank">WWW</a> ]</b>',t)  
	t=remblaie(t)	
// balise URL Avancée
	t=deblaie(/(\[\/url\])/g,t)
	t=remplace_tag(/\[url=([^\]]+)\](.+)\[\/url\]/g,'<b>[ <a href="$1" target="_blank">$2</a> ]</b>',t)  
	t=remblaie(t)
// balise TAG
	t=deblaie(/(\[\/tag\])/g,t)
	t=remplace_tag(/\[tag\](.+)\[\/tag\]/g,'<b>[ TAG : $1 ]</b>',t)  
	t=remblaie(t)
// balise TITRE
	t=deblaie(/(\[\/titre\])/g,t)
	t=remplace_tag(/\[titre\](.+)\[\/titre\]/g,'<font class="titre">$1</font>',t)  
	t=remblaie(t)
// balise ROUGE
	t=deblaie(/(\[\/rouge\])/g,t)
	t=remplace_tag(/\[rouge\](.+)\[\/rouge\]/g,'<font color="#FF0000">$1</font>',t)  
	t=remblaie(t)
// balise BLEU
	t=deblaie(/(\[\/bleu\])/g,t)
	t=remplace_tag(/\[bleu\](.+)\[\/bleu\]/g,'<font color="#0000FF">$1</font>',t)  
	t=remblaie(t)
// balise IMG (modifier pour être compatible a cause du script) [img]url image[/img]
	t=deblaie(/(\[\/img\])/g,t)
	t=remplace_tag(/\[img\](.+)\[\/img\]/g,'<b>[ <a href="$1" target="_blank">IMAGE</a> ]</b>',t)  
	t=remblaie(t)
// balise size	
	t=deblaie(/(\[\/size\])/g,t)
	t=remplace_tag(/\[size=([+-]?[0-9])\](.+)\[\/size\]/g,'<font size="$1">$2</font>',t)
	t=remblaie(t)
	t=unkhol(t)
	t=nl2br(t)
// balise code	
	t=remplace_tag(/\[code\](.+)\[\/code\]/g,'<code>$1</code>',t)
// balise quote
	t=deblaie(/(\[\/quote\])/g,t)
	t=remplace_tag(/\[quote\](.+)\[\/quote\]/g,'<div class="bloc_quote"><div class="quote">$1</div></div>',t)  
	t=remblaie(t)
// balise Color	
	t=deblaie(/(\[\/color\])/g,t)
	t=remplace_tag(/\[color=(#[a-fA-F0-9]{6})\](.+)\[\/color\]/g,'<font color="$1">$2</font>',t)
	t=remblaie(t)
	return t
}
function deblaie(reg,t) {
	texte=new String(t);
	return texte.replace(reg,'$1\n');
}
function remblaie(t) {
	texte=new String(t);
	return texte.replace(/\n/g,'');
}
function remplace_tag(reg,rep,t) {
	texte=new String(t);
	return texte.replace(reg,rep);
}
function nl2br(t) {
	texte=new String(t);
	return texte.replace(/\n/g,'<br/>');
}
function nl2khol(t) {
	texte=new String(t);
	return texte.replace(/\n/g,ptag);
}
function unkhol(t) {
	texte=new String(t);
	return texte.replace(new RegExp(ptag,'g'),'\n');
}