function inclu_smiley(smiley) {
    smiley = " "+smiley+" ";

        var compgen = navigator.userAgent.toLowerCase();
        var navsafari = ((compgen.indexOf('safari') != -1) || (navigator.vfinor == "Apple"));
        var navie = ((compgen.indexOf('msie') != -1) && (!navopera) && (!navsafari) && (!navwebtv));
        var navopera = (compgen.indexOf('opera') != -1);
        var navwebtv = (compgen.indexOf('webtv') != -1);
        var oswin =  ((compgen.indexOf("win") != -1) || (compgen.indexOf("16bit") != -1));
        var navers = parseInt(navigator.appVersion);
        var chem = document.getElementById('txt');
        var fermer = false;
        if((navers >= 4) && navie && oswin) {
            if(chem.isTextEdit) {
                chem.focus();
                var dselect = document.selection;
                var cr = dselect.createRange(); cr.colapse;
                if((dselect.type == "Text" || dselect.type == "None") && cr != null) { fermer = true; cr.text = smiley; }
            } else { fermer = true; chem.value += smiley; }
        } else {
            if(chem.selectionEnd) { 
                var selectdebut = chem.selectionStart;
                var selecthaut = chem.scrollTop;
                var selectfin = chem.selectionEnd;
                if(selectfin <= 2) { selectfin = chem.textLength; }
                var debut  = (chem.value).substring(0, selectdebut);
                var milieu = (chem.value).substring(selectdebut, selectfin);
                var fin    = (chem.value).substring(selectfin, chem.textLength);
                if(chem.selectionEnd - chem.selectionStart > 0) { milieu = smiley + milieu; } else { milieu = smiley + milieu; fermer = true; }
                chem.value = debut + milieu + fin;
                var cpos = selectdebut + (milieu.length);
                chem.selectionStart = cpos;
                chem.selectionEnd = cpos;
                chem.scrollTop = selecthaut;
            } else { fermer = true; chem.value += smiley; }
            chem.focus(); return fermer;
        }
    }