/******** Chargement et insertion d'une chaine de caractères ********/
function Insertion(Form, Champ, Deb, Fin)
{
 var input=document.forms[Form].elements[Champ];
 input.focus();
 /*** Pour Internet Explorer ***/
 if(typeof document.selection!='undefined')
 {
  /* Insertion du code de formatage */
  var range=document.selection.createRange();
  var insText=range.text;
  range.text=Deb+insText+Fin;
  /* Ajustement de la position du curseur */
  range=document.selection.createRange();
  if (insText.length==0)
  {
   range.move('character',-Fin.length);
  }
  else
  {
   range.moveStart('character',Deb.length+insText.length+Fin.length);
  }
  range.select();
 }
 
 /*** Pour navigateurs plus récents basés sur Gecko ***/
 else if(typeof input.selectionStart!='undefined')
 {
  /* Insertion du code de formatage */
  var start=input.selectionStart;
  var end=input.selectionEnd;
  var insText=input.value.substring(start,end);
  input.value=input.value.substr(0,start)+Deb+insText+Fin+input.value.substr(end);
  /* Ajustement de la position du curseur */
  var pos;
  if (insText.length==0)
  {
   pos=start+Deb.length;
  }
  else
  {
   pos=start+Deb.length+insText.length+Fin.length;
  }
  input.selectionStart=pos;
  input.selectionEnd=pos;
 }
 /*** Pour les autres navigateurs ***/
 else
 {
  /* requête de la position d'insertion */
  var pos;
  var re=new RegExp('^[0-9]{0,3}$');
  while(!re.test(pos))
  {
   pos=prompt("Insertion à la position (0.."+input.value.length+"):","0");
  }
  if(pos>input.value.length)
  {
   pos=input.value.length;
  }
  /* Insertion du code de formatage */
  var insText=prompt("Entrez le texte à insérer:");
  input.value=input.value.substr(0,pos)+Deb+insText+Fin+input.value.substr(pos);
 }
}

