var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
var regexp = new RegExp("[\r]","gi");

function dispChoix(selec, style)
{
	if (isMozilla) 
	{
		// Si on est sur Mozilla

		oField = document.forms['boutons_bbcode'].elements['message_reponse'];
		var positionAscenseur = oField.scrollTop;
		var positionCurseurDebut = oField.selectionStart;
		var positionCurseurFin = oField.selectionEnd;

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

		oField.value = objectValueDeb + "[" + style + selec + "]" + objectSelected + "[/" + style + "]" + objectValueFin;
		oField.focus();
		
		oField.scrollTop = positionAscenseur;
		if (positionCurseurDebut != positionCurseurFin)
		{
			oField.selectionStart = positionCurseurDebut;
			oField.selectionEnd = positionCurseurDebut + ((positionCurseurFin - positionCurseurDebut) + 5 + (2*style.length));
		}
		else
		{
			oField.selectionStart = positionCurseurDebut + 2 + style.length;
			oField.selectionEnd = oField.selectionStart;
		}
	}
	else
	{
		// Si on est sur IE
		
		oField = document.forms['boutons_bbcode'].elements['message_reponse'];
		var str = document.selection.createRange().text;
		
		var positionAscenseur = oField.scrollTop;
		var positionCurseurDebut = oField.selectionStart;
		var positionCurseurFin = oField.selectionEnd;
		

		if (str.length>0)
		{
			// Si on a selectionné du texte
			var sel = document.selection.createRange();
			sel.text = "[" + style + selec + "]" + str + "[/" + style + "]";
			/*sel.collapse();
			sel.select();*/
			
			sel.moveStart ("character", -(5+str.length+(2*style.length)) );
			sel.collapse ();
			sel.moveEnd ("character", (5+str.length+(2*style.length)));
			sel.select ();
		}
		else
		{
			oField.focus(oField.caretPos);
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			oField.value = orig.substr(0,i) + "[" + style + selec + "][/" + style + "]" + orig.substr(i, oField.value.length);
			var retourLigne = 0;
			for(n = 0; n < i; n++)
			{
				if(regexp.test(oField.value.substr(n,2)) == true){r++;retourLigne++;}
			};
			
			pos = i + style.length + selec.length + 2 - retourLigne; // 2 Car : '[', ']'
			
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();
		}
		
		oField.scrollTop = positionAscenseur;

		//oField.selectionStart = positionCurseurDebut;
		//oField.selectionEnd = positionCurseurDebut + ((positionCurseurFin - positionCurseurDebut) + 5 + (2*style.length));
	}
}

function addtext(instext)
{
	var mess = document.boutons_bbcode.message_reponse;
	
	//IE support
	if (document.selection)
	{
		mess.focus();
		sel = document.selection.createRange();
		sel.text = instext;
		document.boutons_bbcode.focus();
	}
	
	//MOZILLA/NETSCAPE support
	else if (mess.selectionStart || mess.selectionStart == "0")
	{
		var startPos = mess.selectionStart;
		var endPos = mess.selectionEnd;
		var chaine = mess.value;
		
		mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);
		
		mess.selectionStart = startPos + instext.length;
		mess.selectionEnd = endPos + instext.length;
		mess.focus();
	}
	else
	{
		mess.value += instext;
		mess.focus();
	}
}
