if(typeof isInsertion == "undefined") {
    var isInsertion = true;
    function insertion(repdeb, repfin, formulaire, champ) {
      if(formulaire == 'none') {
        var temp = new getObj(champ);
        var input = temp.obj;
      } else {
        var input = document.forms[formulaire].elements[champ];
      }
    
      input.focus();
      /* pour l'Explorer Internet */
      if(typeof document.selection != 'undefined') {
        /* Insertion du code de formatage */
        var range = document.selection.createRange();
        var insText = range.text;
        range.text = repdeb + insText + repfin;
        /* Ajustement de la position du curseur */
        range = document.selection.createRange();
        if (insText.length == 0) {
          range.move('character', -repfin.length);
        } else {
          range.moveStart('character', repdeb.length + insText.length + repfin.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) + repdeb + insText + repfin + input.value.substr(end);
        /* Ajustement de la position du curseur */
        var pos;
        if (insText.length == 0) {
          pos = start + repdeb.length;
        } else {
          pos = start + repdeb.length + insText.length + repfin.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("Veuillez entrer le texte à formater:");
        input.value = input.value.substr(0, pos) + repdeb + insText + repfin + input.value.substr(pos);
      }
    }
    var imageCompagnon = "";
    function insertCompagnon(formulaire, champ) {
        if(imageCompagnon != "")
            insertion('[compagnon src=http://'+imageCompagnon+']','[/compagnon]', formulaire, champ);
        else
            insertion('[compagnon]','[/compagnon]', formulaire, champ);
    }
    
    function recherche(repdeb, repfin, formulaire, champ, adresse) {
      var input = document.forms[formulaire].elements[champ];
      input.focus();
      /* pour l'Explorer Internet */
      if(typeof document.selection != 'undefined') {
        /* Récupération du texte sélectionné */
        var range = document.selection.createRange();
        var insText = range.text;
      }
      /* pour navigateurs plus récents basés sur Gecko*/
      else if(typeof input.selectionStart != 'undefined')
      {
        /* Récupération du texte sélectionné */
        var start = input.selectionStart;
        var end = input.selectionEnd;
        var insText = input.value.substring(start, end);
      }
      /* pour les autres navigateurs */
      else
      {
        /* récupération par popup */
        var insText = prompt("Veuillez entrer le texte à formater:");
      }
    }
    
    function keyPressedMessagePost(e) {
        var evt = navigator.appName=="Netscape" ? e:event;
        if(evt.ctrlKey) {
            keynum = 0;
            if(window.event) // IE
            {
                keynum = evt.keyCode;
            }
            else if(evt.which) // Netscape/Firefox/Opera
            {
                keynum = evt.which
            }
            done = false;
            switch(keynum) {
                case 98 :
                case 66 :   // B et b
                    insertion('[b]','[/b]', 'poster', 'message');
                    done = true;
                break;
                case 105:
                case 73 :   // I et i
                    insertion('[i]','[/i]', 'poster', 'message');
                    done = true;
                break;
                case 117 :
                case 85 :   // U et u
                    insertion('[u]','[/u]', 'poster', 'message');
                    done = true;
                break;
                case 115 :
                case 83 :   // S et s
                    insertion('[smallcaps]','[/smallcaps]', 'poster', 'message');
                    done = true;
                break;
            }
            document.forms['poster'].elements['message'].focus();
            if(done) {
                evt.cancelBubble = true;
                if (evt.preventDefault) evt.preventDefault();
                if (evt.stopPropagation) evt.stopPropagation();
            }
        }
    }
    
    function setDateForm(champ, type, value) {
        champ = eval(champ);
        switch(type) {
            case "DAY" :
                champ.value = champ.value.substr(0, 8)+value+champ.value.substr(10);
            break;
            case "MONTH" :
                champ.value = champ.value.substr(0, 5)+value+champ.value.substr(7);
            break;
            case "YEAR":
                champ.value = value+champ.value.substr(4);
            break;
            case "HOURS":
                champ.value = champ.value.substr(0, 11)+value+champ.value.substr(13);
            break;
            case "MINUTES":
                champ.value = champ.value.substr(0, 14)+value+champ.value.substr(16);
            break;
            case "SECONDS":
                champ.value = champ.value.substr(0, 17)+value;
            break;
        }
    }
}