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

// FONCTION Prévisualisation
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) // 1 = temps avant affichage (s)
}

// FONCTION Prévisualisation Auto
function automatique()
{
	if (document.formulaire.auto.checked) previsualisation() <!-- si on a cocher la case d'aperçu automatique -->
}

// FONCTION Code >> Html
function code_to_html(t)
{
t=nl2khol(t)

// balise Spoil
t=deblaie(/(\[\/spoil\])/g,t)
t=remplace_tag(/\[spoil\](.+)\[\/spoil\]/g,'<input type="button" value="Spoiler" onClick="this.nextSibling.style.display=((this.nextSibling.style.display==\'none\')?\'\':\'none\');" /><div style="display: none; margin-top: 5px; border: 1px dashed #DDDDDD; padding: 5px;">$1</div>',t) 
t=remblaie(t)

// balise Quote
t=deblaie(/(\[\/quote\])/g,t)
t=remplace_tag(/\[quote\](.+)\[\/quote\]/g,'<div style="background: #EEEEEE; padding: 5px; border: 1px solid #DDDDDD;">$1</p></div>',t) 
t=remblaie(t)

// balise Quote=
t=deblaie(/(\[\/quote\])/g,t)
t=remplace_tag(/\[quote=(.+)\](.+)\[\/quote\]/g,'<div style="background: #EEEEEE; padding: 5px; border: 1px solid #DDDDDD;"><b>$1</b> a écrit :<p>$2</p></div>',t) 
t=remblaie(t)

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

// balise Barré
t=deblaie(/(\[\/barre\])/g,t)
t=remplace_tag(/\[barre\](.+)\[\/barre\]/g,'<span style="text-decoration: line-through;">$1</span>',t) 
t=remblaie(t)

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

// balise Color
t=deblaie(/(\[\/color\])/g,t)
t=remplace_tag(/\[color=(.+)\](.+)\[\/color\]/g,'<span style="color: $1;">$2</span>',t) 
t=remblaie(t)

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

// balise Fansub
t=deblaie(/(\[\/fansub\])/g,t)
t=remplace_tag(/\[fansub=(.+)\](.+)\[\/fansub\]/g,'<a href="$1" target="_blank" style="font-weight: bold;">$2</a>',t) 
t=remblaie(t)

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

// Balise Stream
t=deblaie(/(\[\/stream\])/g,t)
t=remplace_tag(/\[stream=(.+)\](.+)\[\/stream\]/g,'<a href="#top" onclick="window.open(\'$1\',\'_blank\',\'toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,copyhistory=0,menuBar=0,width=580,height=528\')" target="_self">$2</a>',t) 
t=remblaie(t)

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

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

// balise Url
t=deblaie(/(\[\/url\])/g,t)
t=remplace_tag(/\[url\](.+)\[\/url\]/g,'<a href="$1">$1</a>',t) 
t=remblaie(t)

// balise Url=
t=deblaie(/(\[\/url\])/g,t)
t=remplace_tag(/\[url=(.+)\](.+)\[\/url\]/g,'<a href="$1">$2</a>',t) 
t=remblaie(t)

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

// balise Image border
t=deblaie(/(\[\/img\])/g,t)
t=remplace_tag(/\[img=border\](.+)\[\/img\]/g,'<img src="$1" style="border: 1px solid #000000;" />',t)
t=remblaie(t)

// balise Image News
t=deblaie(/(\[\/image\])/g,t)
t=remplace_tag(/\[image\](.+)\[\/image\]/g,'<img src="$1" style="width: 200px; height: 150px; border: 1px solid #000000;" />',t)
t=remblaie(t)

// balise Image redimensionnée
t=deblaie(/(\[\/img\])/g,t)
t=remplace_tag(/\[img=(.+)\](.+)\[\/img\]/g,'<img src="$2" style="width: $1%; height: $1%; border: 1px solid #000000;" />',t) 
t=remblaie(t)

// balise Float left
t=deblaie(/(\[\/float\])/g,t)
t=remplace_tag(/\[float=left\](.+)\[\/float\]/g,'<div style="float: left; margin-right: 20px;">$1</div>',t)
t=remblaie(t)

// balise Float right
t=deblaie(/(\[\/float\])/g,t)
t=remplace_tag(/\[float=right\](.+)\[\/float\]/g,'<div style="float: right; margin-left: 20px;">$1</div>',t)
t=remblaie(t)

// balise Email
t=deblaie(/(\[\/email\])/g,t)
t=remplace_tag(/\[email\](.+)\[\/email\]/g,'<a href="mailto:$1">$1</a>',t) 
t=remblaie(t)

// Smiley Very Happy
t=remplace_tag(/:D/g,'<img src="templates/images/form/biggrin.gif" title="Very Happy" alt=":D" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Smile
t=remplace_tag(/:\)/g,'<img src="templates/images/form/smile.gif" title="Smile" alt=":smile:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Sad
t=remplace_tag(/:\(/g,'<img src="templates/images/form/frown.gif" title="Sad" alt=":sad:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Surprised
t=remplace_tag(/:o/g,'<img src="templates/images/form/eek.gif" title="Surprised" alt=":surprised:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Confused
t=remplace_tag(/:confus:/g,'<img src="templates/images/form/confused.gif" title="Confused" alt=":confus:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Cool
t=remplace_tag(/:cool:/g,'<img src="templates/images/form/cool.gif" title="Cool" alt=":cool:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Langue
t=remplace_tag(/:p/g,'<img src="templates/images/form/tongue.gif" title="Langue" alt=":P" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Mad
t=remplace_tag(/:mad:/g,'<img src="templates/images/form/mad.gif" title="Mad" alt=":mad:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Wink
t=remplace_tag(/;\)/g,'<img src="templates/images/form/wink.gif" title="Wink" alt=":wink:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Embarassed
t=remplace_tag(/:redface:/g,'<img src="templates/images/form/redface.gif" title="Embarassed" alt=":redface:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Rolling Eyes
t=remplace_tag(/:roll:/g,'<img src="templates/images/form/rolleyes.gif" title="Rolling Eyes" alt=":roll:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Cry
t=remplace_tag(/:cry:/g,'<img src="templates/images/form/cry.gif" title="Cry" alt=":cry:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Yahoo
t=remplace_tag(/:yahoo:/g,'<img src="templates/images/form/yahoo.gif" title="Yahoo" alt=":yahoo:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Happy
t=remplace_tag(/:happy:/g,'<img src="templates/images/form/happy.gif" title="Happy" alt=":happy:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Hein?
t=remplace_tag(/:hein:/g,'<img src="templates/images/form/hein.gif" title="Hein?" alt=":hein:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Crazy
t=remplace_tag(/:fou:/g,'<img src="templates/images/form/fou.gif" title="Crazy" alt=":fou:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley Suicide
t=remplace_tag(/:suicide:/g,'<img src="templates/images/form/suicide.gif" title="Suicide" alt=":suicide:" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

// Smiley +1
t=remplace_tag(/:\+1:/g,'<img src="templates/images/form/+1.gif" title="+1" alt="+1" />',t) 
t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

return t
}

// FONCTION Remplace Tag
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 bbcode
function bbcode(bbdebut, bbfin)
{
var input = window.document.formulaire.textarea;
input.focus();

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();
}

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;
}

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 + '';
}