var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
var regexp = new RegExp("[\r]","gi");

function storeCaret(selec)
{
	if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.forms['formbb'].elements['contenu'];

		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 );

	//	alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")");
			
		oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]" + objectValueFin;
		oField.selectionStart = strlen(objectValueDeb);
		oField.selectionEnd = strlen(objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]");
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec.length + 2);
	}
	else
	{
	// Si on est sur IE
		
		oField = document.forms['formbb'].elements['contenu'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
		//	alert(oField.caretPos+"\n"+oField.value.length+"\n")
			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) + "[" + selec + "][/" + selec + "]" + orig.substr(i, oField.value.length);
			var r = 0;
			for(n = 0; n < i; n++)
			{if(regexp.test(oField.value.substr(n,2)) == true){r++;}};
			pos = i + 2 + selec.length - r;
			//placer(document.forms['formbb'].elements['contenu'], pos);
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

//-------------------------------------------------------------------------------------------------
function smylies(texte){
document.formbb.contenu.value+=" "+texte;
}
//-------------------------------------------------------------------------------------------------
function description(message, champ){
if(document.getElementById)
document.getElementById(champ).innerHTML = message;
}
//-------------------------------------------------------------------------------------------------
function boldfr(texte){
var question = prompt("Insérez ici le texte que vous désirez mettre en <b> Gras </b>","");
if(question)
{
texte = "<b>"+question+"</b>";
document.formbb.contenu.value+=" "+texte;
}
else
{
texte = "";
document.formbb.contenu.value+=" "+texte;
}
}
function boldus(texte){
var question = prompt("Insert here the text that should be in <b> Bold </b>","");
if(question)
{
texte = "<b>"+question+"</b>";
document.formbb.contenu.value+=" "+texte;
}
else
{
texte = "";
document.formbb.contenu.value+=" "+texte;
}
}
//-------------------------------------------------------------------------------------------------
function italicfr(texte){
var question = prompt("Insérez ici le texte que vous désirez mettre en <i> Italique </i>","");
if(question)
{
texte = "<i>"+question+"</i>";
document.formbb.contenu.value+=" "+texte;
}
else
{
texte = "";
document.formbb.contenu.value+=" "+texte;
}
}
function italicus(texte){
var question = prompt("Insert here the text that should be in <i> Italic </i>","");
if(question)
{
texte = "<i>"+question+"</i>";
document.formbb.contenu.value+=" "+texte;
}
else
{
texte = "";
document.formbb.contenu.value+=" "+texte;
}
}
//-------------------------------------------------------------------------------------------------
function underlinefr(texte){
var question = prompt("Insérez ici le texte que vous désirez mettre en <u> Souligné </u>","");
if(question)
{
texte = "<u>"+question+"</u>";
document.formbb.contenu.value+=" "+texte;
}
else
{
texte = "";
document.formbb.contenu.value+=" "+texte;
}
}
function underlineus(texte){
var question = prompt("Insert here the text that should be <u> Underlined </u>","");
if(question)
{
texte = "<u>"+question+"</u>";
document.formbb.contenu.value+=" "+texte;
}
else
{
texte = "";
document.formbb.contenu.value+=" "+texte;
}
}
//-------------------------------------------------------------------------------------------------
function linkfr(texte){
var url=prompt("Insérez ici l'adresse du site (avec le http://) !","");
var titre=prompt("Insérez ici le message à afficher pour l'URL !\nLaisser ce champ vide et faites OK si vous souhaitez afficher l'URL.","");
if(url && titre)
{
texte = "[url=\""+url+"\"][txt]"+titre+"[/txt][/url]";
document.formbb.contenu.value+=" "+texte;
}
else
{
if(url && titre == "")
{
texte = "[url=\""+url+"\"][txt]"+url+"[/txt][/url]";
document.formbb.contenu.value+=" "+texte;
}
else
{
if(url == "")
{
titre = "";
texte = "";
document.formbb.contenu.value+=" "+texte;
}
else
{
texte=""
document.formbb.contenu.value+=" "+texte;
}
}
}
}
function linkus(texte){
var url=prompt("Insert here the URL address (including http://)!","");
var titre=prompt("Insert here the text for this URL!\nLeave this field blank and click OK if you wish to display the URL instead.","");
if(url && titre)
{
texte = "[url=\""+url+"\"][txt]"+titre+"[/txt][/url]";
document.formbb.contenu.value+=" "+texte;
}
else
{
if(url && titre == "")
{
texte = "[url=\""+url+"\"][txt]"+url+"[/txt][/url]";
document.formbb.contenu.value+=" "+texte;
}
else
{
if(url == "")
{
titre = "";
texte = "";
document.formbb.contenu.value+=" "+texte;
}
else
{
texte=""
document.formbb.contenu.value+=" "+texte;
}
}
}
}
//-------------------------------------------------------------------------------------------------
function emailfr(texte){
var email=prompt("Insérez ici l'adresse E-Mail !","");
var titre=prompt("Insérez ici le message à afficher pout l'E-Mail !\nLaisser ce champ vide et faites OK si vous souhaitez afficher l'EMail.","");
if(email && titre)
{
texte = "[mail="+email+"][txt]"+titre+"[/txt][/mail]";
document.formbb.contenu.value+=" "+texte;
}
else
{
if(email && titre == "")
{
texte = "[mail="+email+"][txt]"+email+"[/txt][/mail]";
document.formbb.contenu.value+=" "+texte;
}
else
{
if(email == "")
{
titre = "";
texte = "";
document.formbb.contenu.value+=" "+texte;
}
else
{
texte=""
document.formbb.contenu.value+=" "+texte;
}
}
}
}
function emailus(texte){
var email=prompt("Insert here the E-Mail address!","");
var titre=prompt("Insert here the text for this E-Mail !\nLeave this field blank and click OK if you wish to display the EMail instead.","");
if(email && titre)
{
texte = "[mail="+email+"][txt]"+titre+"[/txt][/mail]";
document.formbb.contenu.value+=" "+texte;
}
else
{
if(email && titre == "")
{
texte = "[mail="+email+"][txt]"+email+"[/txt][/mail]";
document.formbb.contenu.value+=" "+texte;
}
else
{
if(email == "")
{
titre = "";
texte = "";
document.formbb.contenu.value+=" "+texte;
}
else
{
texte=""
document.formbb.contenu.value+=" "+texte;
}
}
}
}
//-------------------------------------------------------------------------------------------------
