// JavaScript Document
function montrer(id)
{
if(document.getElementById(id) && document.getElementById('check').checked)
{document.getElementById(id).style.display='block';}
else
{document.getElementById(id).style.display='none';}
}

function decouvrir(id)
{
if(document.getElementById(id)) document.getElementById(id).style.display='block';
}
function cacher(id)
{
if(document.getElementById(id)) document.getElementById(id).style.display='none';
}

function selectionner(id) { document.getElementById(id).select(); }
function toutCocher(f) 
{
	for (var i = 0 ; i<f.elements["id[]"].length; i++)
	{
	f.elements["id[]"][i].checked = true;
	}
}
function toutDecocher(f) 
{
	for (var i = 0 ; i<f.elements["id[]"].length; i++)
	{
	f.elements["id[]"][i].checked = false;
	}
}
// ###################################################################  Prévisualisation

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(/(\[\/b\])/g,t)
t=remplace_tag(/\[b\](.+)\[\/b\]/g,'<span style="font-weight: bold;">$1</span>',t) 
t=remblaie(t)

// balise Italic
t=deblaie(/(\[\/i\])/g,t)
t=remplace_tag(/\[i\](.+)\[\/i\]/g,'<span style="font-style: italic;">$1</span>',t) 
t=remblaie(t)

// balise Souligner
t=deblaie(/(\[\/u\])/g,t)
t=remplace_tag(/\[u\](.+)\[\/u\]/g,'<span style="text-decoration:underline;">$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;" class="citer">$2</div>',t) 
t=remblaie(t)

// balise Lien
t=deblaie(/(\[\/url\])/g,t)
t=remplace_tag(/\[url\](.+)\[\/url\]/g,'<a href="$1">$1</a>',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 Barrer
t=deblaie(/(\[\/o\])/g,t)
t=remplace_tag(/\[o\](.+)\[\/o\]/g,'<span style="text-decoration:line-through;">$1</span>',t) 
t=remblaie(t)

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

// smilies <!-- on oublie pas les smilies -->
t=remplace_tag(/:coeur:/g,'<img src="images/smiley/coeur.gif" alt="Coeur" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/:\)/g,'<img src="images/smiley/content.gif" alt="Content" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/;\)/g,'<img src="images/smiley/clindoeil.gif" alt="Clin d\'oeil" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/:non:/g,'<img src="images/smiley/desaccord.gif" alt="Pas d\'accord" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/:colere:/g,'<img src="images/smiley/encolere.gif" alt="Colère" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/:lol:/g,'<img src="images/smiley/mdr.gif" alt="Mort de rire" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

t=remplace_tag(/:\'\(/g,'<img src="images/smiley/pleur.gif" alt="Pleur" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

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

t=remplace_tag(/xD/g,'<img src="images/smiley/heureux.gif" alt="Heureux" />',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');
}
/*#######################################  FONCTION POUR QUE LES SMILIES/BBCODE MARCHE QUAND ON CLIK DESSUS */
function bbcode(bbdebut, bbfin)
{
var input = window.document.formulaire.textarea;
input.focus();

/* pour IE (toujous un cas appar lui ;) )*/
if(typeof document.selection != 'undefined')
{
var range = document.selection.createRange();
var insText = range.text;
range.text = bbdebut + insText + bbfin;
range = document.selection.createRange();
if (insText.length == 0)
{
range.move('character', -bbfin.length);
}
else
{
range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
}
range.select();
}
/* pour les navigateurs plus récents que IE comme Firefox... */
else if(typeof input.selectionStart != 'undefined')
{
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
var pos;
if (insText.length == 0)
{
pos = start + bbdebut.length;
}
else
{
pos = start + bbdebut.length + insText.length + bbfin.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
/* pour les autres navigateurs comme Netscape... */
else
{
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos))
{
pos = prompt("insertion (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length)
{
pos = input.value.length;
}
var insText = prompt("Veuillez taper le texte");
input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
}
}
function smilies(img)
{
window.document.formulaire.textarea.value += '' + img + '';
}

/* ################################################ INSCRIPTION VERIFFFFF ########################################### */

function verif_pseudo(pseudo,id)
{
	var exp=new RegExp("^[a-zA-Z][a-zA-Z0-9_]{3,14}$", "g");
	if (exp.test(pseudo)) document.getElementById(id).style.borderColor = "green";
	else document.getElementById(id).style.borderColor = "red";
}
function verif_passe(passe,idPasse_1)
{
	var exp=new RegExp("^[A-Za-zàèéìùò0-9@\#!?,;.:&_-]+$", "g");
	if (exp.test(passe)) document.getElementById(idPasse_1).style.borderColor = "green";
	else document.getElementById(idPasse_1).style.borderColor = "red";
}
function verif_repasse(idPasse_1,idPasse_2)
{
	if (document.getElementById(idPasse_1).value==document.getElementById(idPasse_2).value) document.getElementById(idPasse_2).style.borderColor = "green";
	else document.getElementById(idPasse_2).style.borderColor = "red";
}
function verif_mail(mail,id)
{
	var exp=new RegExp("^[_A-Za-z0-9.-]+[^.]@[^.][A-Za-z0-9.-]{2,}[.][a-z]{2,4}$", "g");
	if (exp.test(mail)) document.getElementById(id).style.borderColor = "green";
	else document.getElementById(id).style.borderColor = "red";
}
function verif_site_web(site,id)
{
	var exp=new RegExp("^^http(s)?://([a-zA-Z0-9-]+.)?([a-zA-Z0-9-]+.)?[a-zA-Z0-9-]+\.[a-zA-Z]{2,4}(:[0-9]+)?(/[a-zA-Z0-9-]*/?|/[a-zA-Z0-9]+\.[a-zA-Z0-9]{1,4})?$", "g");
	if (exp.test(site)) document.getElementById(id).style.borderColor = "green";
	else document.getElementById(id).style.borderColor = "red";
}