// JavaScript Document d'origine : http://www.codes-sources.com/code.aspx?ID=37337, large source d'inspiration, merci à Vince_02
function initBBcode(IdName,PrwName) {
	var InpBtn = '';
	var LabBtn = '';
	var DivBtn = '';

	var NamBtn = new Array('[b],[/b]','[u],[/u]','[i],[/i]','[s],[/s]','[align=left],[/align]','[align=center],[/align]','[align=right],[/align]','[align=justify],[/align]');
	var DesBtn = new Array('Gras','Souligné','Italique','Barré','Gauche','Centré','Droite','Justifié');
	var ImgBtn = new Array('bold','underline','italic','strikethrough','alignleft','aligncenter','alignright','alignjustify');

//-- ajout de la previsu automatique
	InpBtn = document.getElementById(IdName);
	InpBtn.onkeyup = function() { preview(IdName); }
	InpBtn.onclick = function() { preview(IdName); }

	// Le plus facile et plus simple, les balises de [b],[/b] à [url],[/url]

	DivBtn = document.createElement( 'div' );
	DivBtn.id = "SubBB_"+IdName;

	var i = 0;

	while (NamBtn[i]) {

			LabBtn = document.createElement( 'label' );
			LabBtn.title = DesBtn[i];

 		InpBtn = document.createElement( 'img' );
			InpBtn.src = rep_image_bbcode+ImgBtn[i]+'.gif';

			var val = NamBtn[i].split(',');
			InpBtn.name = val[0];
			InpBtn.id = val[1];

			InpBtn.onclick = function() {

					var objet = eval("document.Form"+IdName+"."+IdName+";");
					var balise = this.name;
					var balise2 = this.id;
					selection(objet,balise,balise2);
					preview(IdName);
			}

			LabBtn.appendChild(InpBtn);
			DivBtn.appendChild(LabBtn);

			i++;

	}

	document.getElementById('bouton_BBCode').appendChild(DivBtn);

}
function preview(Name) {

	var q1 = "<table align=center border=0 cellpadding=3 cellspacing=1 width=90%><tbody><tr><td><div align=\"left\" style=\"font-size : 11px; color: #000000;\"><b>";
	var q2 = "</b></div></td></tr><tr><td align=\"left\" style=\"font-family: Arial; font-size: 11px; color: #444444; background-color: #FAFAFA; border: #D1D7DC; border-style: solid; border-width: 1px;\">";
	var q3 =  "</td></tr></tbody></table>";

	var texte = document.getElementById(Name).value;

	texte=texte.replace(/</g, '&lt;');
	texte=texte.replace(/>/g, '&gt;');

	texte=texte.replace(/\r\n|\r|\n/g, '<br />');
	texte=texte.replace(/\[(b|u|s|i|\/b|\/u|\/s|\/i)]/g,'<$1>');

	texte=texte.replace(/\[align=([^\[]*)\]/mig, '<div style=\'text-align:$1;\'>');
	texte=texte.replace(/\[\/align]/gi, '</div>');

	document.getElementById('prev_'+ Name).innerHTML = texte;
	return (texte);
}

function selection(objet,balise,balise2) {
 if (document.selection) {
	 //-- IE
	 objet.focus();
	 sel = document.selection.createRange();
	 var long_sel=sel.text.length;
	 var der=sel.text.substring(sel.text.length-1,sel.text.length);
		 if(der==" ") {
			 txt=sel.text.substring(0,sel.text.length-1);
			 sel.text = balise + txt + balise2 +" ";
		 } else {
			 txt=sel.text;
			 sel.text = balise + txt + balise2;
		 }
		if (long_sel==0) {
			sel = document.selection.createRange();
			sel.move('character', -balise2.length);
			sel.select();
		}
 } else {
  //-- FF
	 objet.focus();
		var deb = objet.selectionStart;
	 if(objet.selectionStart==objet.selectionEnd) {
		 if (balise=="[img]" && balise2=="[/img]") {
			 var InfUrl=prompt("Entrez l\'adresse URL de botre image SVP :", "");
		 } else {
			 if (balise=="[url]" && balise2=="[/url]") {
					var InfUrl=prompt("Entrez l\'adresse URL :", "");
				} else {
					var InfUrl="";
				}
		 }
		 var textedebut = objet.value.substring(0,objet.selectionStart);
		 var textefin = objet.value.substring(objet.selectionEnd, objet.value.length);
		 objet.value = textedebut + balise + InfUrl + balise2 + textefin;
			objet.selectionStart=deb+balise.length;
			objet.selectionEnd=deb+balise.length;
	 } else {
		 var der = objet.value.substring(objet.selectionEnd-1, objet.selectionEnd);
		 if(der==" ") objet.selectionEnd--;
		 var textedebut = objet.value.substring(0,objet.selectionStart);
		 var textefin = objet.value.substring(objet.selectionEnd, objet.value.length);
		 var texteSelection = objet.value.substring(objet.selectionStart, objet.selectionEnd);
		 objet.value = textedebut + balise + texteSelection + balise2 + textefin;
	 }
 }
}

