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['form'].elements['messageThread'];

                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['form'].elements['messageThread'];
                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['form'].elements['messageThread'], pos);
                        var r = oField.createTextRange();
                        r.moveStart('character', pos);
                        r.collapse();
                        r.select();

                }
        }
}

function copy2Clipboard(idMessage,idInput)
{
var obj=document.getElementById(idMessage);

var textRange = document.body.createTextRange();
textRange.moveToElementText(obj);
textRange.execCommand("Copy");

document.getElementById(idInput).value += "[quote]"+obj.innerHTML+"[/quote]\n";
}