var isMozilla =
(navigator.userAgent.toLowerCase().indexOf(´gecko´
)!=-1) ? true : false;
var regexp = new RegExp("[\r]","gi");
function epcode(selec_debut, selec_fin)
{
if (isMozilla)
{
// Si on est sur Mozilla
oField =
document.forms[´epcode_form´].elements[´message_ep
code´];
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 + selec_debut + objectSelected + selec_fin + objectValueFin ;
oField.selectionStart = strlen(objectValueDeb);
oField.selectionEnd = strlen(objectValueDeb + selec_debut + objectSelected + selec_fin );
oField.focus();
oField.setSelectionRange(
objectValueDeb.length + selec.length + 2,
objectValueDeb.length + selec.length + 2);
}
else
{
// Si on est sur IE
oField =
document.forms[´epcode_form´].elements[´message_ep
code´];
var str = document.selection.createRange().text;
if (str.length>0)
{
// Si on a selectionné du texte
var sel = document.selection.createRange();
sel.text = + selec_debut + str + selec_fin ;
sel.collapse();
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) + selec_debut + selec_fin + orig.substr(i, oField.value.length);
//Gestion des retours chariots sous IE
var temp = orig.substr(0,i);
var nbretour =0;
for (var cpt=0;cpt<temp.length;cpt=cpt+1)
{
if(temp.charAt(cpt)=="\n")
{
nbretour=nbretour+1;
}
}
//Prise en compte des retour chariots dans le placement du curseur
pos = i + 2 + selec.length - nbretour;
var r = oField.createTextRange();
r.moveStart(´character´, pos);
r.collapse();
r.select();
}
}
}
c´est pour m´aider ou c´est pour toi ? lol