function storeCaret(ao_txtfield,as_mf)
{
    var isIE = (document.all);
    if (!isIE) {
        //mozilla
        //recuperation du txt selectionné
        oField = ao_txtfield;
        oFieldValue = oField.value;
        deb = oField.selectionStart;
        fin = oField.selectionEnd;
        Deb = oFieldValue.substring( 0 , oField.selectionStart );
        Fin = oFieldValue.substring( oField.selectionEnd , oField.textLength );
        Sel = oFieldValue.substring( oField.selectionStart ,oField.selectionEnd );
        oField.value = Deb + '[' + as_mf + "]" + Sel + "[/" + as_mf + ']' + Fin;
        oField.selectionStart = Deb.length;
        tmps =Deb + '[' + as_mf+']' + Sel +"[/" + as_mf + ']'
        oField.selectionEnd = tmps.length+2;
        oField.setSelectionRange(Deb.length+as_mf.length+2,tmps.length-as_mf.length-3);
        oField.focus();
    } else {
        //IE
        var str = document.selection.createRange().text;
        if (str.length>0) {
            //recuperation du txt selectionné
            var select = document.selection.createRange();
            select.text = '[' + as_mf + ']' + str + "[/" + as_mf + ']';
            select.collapse();
            select.select();
        } else {
            ao_txtfield.focus(ao_txtfield.caretPos);
            ao_txtfield.focus(ao_txtfield.value.length);
            ao_txtfield.caretPos = document.selection.createRange().duplicate();
            var bidon = "%~%";
            var original = ao_txtfield.value;
            ao_txtfield.caretPos.text = bidon;
            var i = ao_txtfield.value.search(bidon);
            ao_txtfield.value = original.substr(0,i) + '[' + as_mf + "][/" + as_mf + ']' + original.substr(i, ao_txtfield.value.length);
            var temp = original.substr(0,i);
            var nbretour =0;
            for (var cpt=0;cpt<temp.length;cpt=cpt+1) {
                if (temp.charAt(cpt)=="\n") {
                    nbretour=nbretour+1;
                }
            }
            pos = i + 2 + as_mef.length - nbretour;
            var r = oField.createTextRange();
            var r = ao_txtfield.createTextRange();
            r.moveStart('character', pos);
            r.collapse();
            r.select();
        }
    }
}


function storeCaretValue(ao_txtfield,as_mf,as_url)
{
    var isIE = (document.all);
    if (!isIE) {
        //mozilla
        //recuperation du txt selectionné
        oField = ao_txtfield;
        oFieldValue = oField.value;
        deb = oField.selectionStart;
        fin = oField.selectionEnd;
        Deb = oFieldValue.substring( 0 , oField.selectionStart );
        Fin = oFieldValue.substring( oField.selectionEnd , oField.textLength );
        Sel = oFieldValue.substring( oField.selectionStart ,oField.selectionEnd );
        oField.value = Deb + '[' + as_mf+'='+as_url+ ']' + Sel + '[/' + as_mf + ']' + Fin;
        oField.selectionStart = Deb.length;
        tmps =Deb + '[' + as_mf+'=' +as_url+ ']' + Sel +'[/' + as_mf + ']';
        oField.selectionEnd = tmps.length+3;
        oField.setSelectionRange(Deb.length+(as_mf.length*2)+as_url.length+4,tmps.length-as_mf.length-3);
        oField.focus();
    } else {
        //IE
        var str = document.selection.createRange().text;
        if (str.length>0) {
            //recuperation du txt selectionné
            var select = document.selection.createRange();
            select.text = '[' + as_mf +'='+as_url+ ']' + str + '[/' + as_mf + ']';
            select.collapse();
            select.select();
        } else {
            ao_txtfield.focus(ao_txtfield.caretPos);
            ao_txtfield.focus(ao_txtfield.value.length);
            ao_txtfield.caretPos = document.selection.createRange().duplicate();
            var bidon = "%~%";
            var original = ao_txtfield.value;
            ao_txtfield.caretPos.text = bidon;
            var i = ao_txtfield.value.search(bidon);
            ao_txtfield.value = original.substr(0,i) + '[' + as_mf +'='+as_url+ '][/' + as_mf + ']' + original.substr(i, ao_txtfield.value.length);
            var temp = original.substr(0,i);
            var nbretour =0;
            for (var cpt=0;cpt<temp.length;cpt=cpt+1) {
                if (temp.charAt(cpt)=="\n") {
                    nbretour=nbretour+1;
                }
            }
            pos = i + 2 + as_mef.length - nbretour;
            var r = oField.createTextRange();
            var r = ao_txtfield.createTextRange();
            r.moveStart('character', pos);
            r.collapse();
            r.select();
            var r = ao_txtfield.createTextRange();
            r.moveStart('character', pos);
            r.collapse();
            r.select();
        }
    }
}

function storeCaretIMG(ao_txtfield,as_mf,as_url,ab_img)
{
    var isIE = (document.all);
    if (!isIE) {
        //mozilla
        //recuperation du txt selectionné
        oField = ao_txtfield;
        oFieldValue = oField.value;
        deb = oField.selectionStart;
        fin = oField.selectionEnd;
        Deb = oFieldValue.substring( 0 , oField.selectionStart );
        Fin = oFieldValue.substring( oField.selectionEnd , oField.textLength );
        Sel = oFieldValue.substring( oField.selectionStart ,oField.selectionEnd );
        oField.value = Deb + '[' + as_mf +'='+as_url+ ']' + Sel + '[/' + as_mf + ']' + Fin;
        tmps =Deb + '[' + as_mf +'='+as_url+ ']';
        oField.selectionStart = tmps.length;
        tmps =Deb +'['+ as_mf+'='+as_url+']'+Sel;
        oField.selectionEnd = tmps.length;
        oField.setSelectionRange(Deb.length+as_mf.length+4,tmps.length);
        oField.focus();
    }else{
        //IE
        var str = document.selection.createRange().text;
        if (str.length>0) {
            //recuperation du txt selectionné
            var select = document.selection.createRange();
            select.text = '[' + as_mf +'='+as_url+ ']' + str + '[/' + as_mf + ']';
            select.collapse();
            select.select();
        }else{
            ao_txtfield.focus(ao_txtfield.caretPos);
            ao_txtfield.focus(ao_txtfield.value.length);
            ao_txtfield.caretPos = document.selection.createRange().duplicate();
            var bidon = "%~%";
            var original = ao_txtfield.value;
            ao_txtfield.caretPos.text = bidon;
            var i = ao_txtfield.value.search(bidon);
            ao_txtfield.value = original.substr(0,i) + '[' + as_mf +'='+as_url+ '][/' + as_mf + ']' + original.substr(i, ao_txtfield.value.length);
            var temp = original.substr(0,i);
            var nbretour =0;
            for (var cpt=0;cpt<temp.length;cpt=cpt+1) {
                if (temp.charAt(cpt)=="\n") {
                    nbretour=nbretour+1;
                }
            }
            pos = i + 2 + as_mef.length - nbretour;
            var r = oField.createTextRange();
            var r = ao_txtfield.createTextRange();
            r.moveStart('character', pos);
            r.collapse();
            r.select();
            var r = ao_txtfield.createTextRange();
            r.moveStart('character', pos);
            r.collapse();
            r.select();
        }
    }
}

function resetTxtField(ao_input)
{
    var ls_texte = ao_input.value;
    var la_ar = ls_texte.split("[u]");
    var tamp="";
    for(var i=0;i<la_ar.length;i++){
        tamp+=la_ar;
    }
    ls_texte = tamp;
    tamp="";
    la_ar = ls_texte.split("[/u]");
    for(var i=0;i<la_ar.length;i++){
        tamp+=la_ar[i];
    }
    ls_texte = tamp;
    tamp="";
    la_ar = ls_texte.split("[i]");
    for(var i=0;i<la_ar.length;i++){
        tamp+=la_ar[i];
    }
    ls_texte = tamp;
    tamp="";
    la_ar = ls_texte.split("");
    for(var i=0;i<la_ar.length;i++){
        tamp+=la_ar[i];
    }
    ls_texte = tamp;
    tamp="";
    la_ar = ls_texte.split("");
    for(var i=0;i<la_ar.length;i++){
        tamp+=la_ar[i];
    }
    ls_texte = tamp;
    tamp="";
    la_ar = ls_texte.split("");
    for(var i=0;i<la_ar.length;i++){
        tamp+=la_ar[i];
    }
    ls_texte = tamp;
    tamp="";
    la_ar = ls_texte.split("[tab]");
    for(var i=0;i<la_ar.length;i++){
        tamp+=la_ar[i];
    }
    ls_texte = tamp;
    tamp="";
    la_ar = ls_texte.split("[/url]");
    for(var i=0;i<la_ar.length;i++){
        tamp+=la_ar[i];
    }
    ls_texte = tamp;
    var tamp="";
    la_ar = ls_texte.split("[/color]");
    for(var i=0;i<la_ar.length;i++){
        tamp+=la_ar[i];
    }
    ls_texte = tamp;
    var tamp="";
    var bfind=false;
    for (var i=0;i<ls_texte.length;i++){
        if (ls_texte.charAt(i)=="["&&ls_texte.charAt(i+1)=="u"&&ls_texte.charAt(i+2)=="r"&&ls_texte.charAt(i+3)=="l"){
            bfind=true;
        }
        if (bfind){
            if (ls_texte.charAt(i)=="]"){
                bfind=false;
            }
        } else {
            tamp+=ls_texte.charAt(i);
        }
    }
    ls_texte = tamp;
    var tamp="";
    var bfind=false;
    for (var i=0;i<ls_texte.length;i++){
        if (ls_texte.charAt(i)=="["&&ls_texte.charAt(i+1)=="i"&&ls_texte.charAt(i+2)=="m"&&ls_texte.charAt(i+3)=="g"){
            bfind=true;
        }
        if (bfind){
            if(ls_texte.charAt(i)=="]"){
                bfind=false;
            }
        } else {
            tamp+=ls_texte.charAt(i);
        }
    }
    ls_texte = tamp;
    tamp="";
    var bfind=false;
    for(var i=0;i<ls_texte.length;i++){
        if(ls_texte.charAt(i)=="["&&ls_texte.charAt(i+1)=="c"&&ls_texte.charAt(i+2)=="o"&&ls_texte.charAt(i+3)=="l"&&ls_texte.charAt(i+4)=="o"&&ls_texte.charAt(i+5)=="r"){
            bfind=true;
        }
        if(bfind){
            if(ls_texte.charAt(i)=="]"){
                bfind=false;
            }
        }else{
            tamp+=ls_texte.charAt(i);
        }
    }
    ls_texte = tamp;
    ao_input.value=ls_texte;
}

