function countInstances(open,closed)
   {
      var opening = document.post.message.value.split(open);
      var closing = document.post.message.value.split(closed);
      return opening.length + closing.length - 2;
   }
   
   
   function TAinsert(text1,text2)
   {
      var ta = document.getElementById('message');
       
      if (document.selection) {
         var str = document.selection.createRange().text;
         ta.focus();
         var sel = document.selection.createRange();
         if (text2!="")
         {
            if (str=="")
            {
               var instances = countInstances(text1,text2);
               if (instances%2 != 0){ sel.text = sel.text + text2;}
               else{ sel.text = sel.text + text1;}
            }
            else
            {
               sel.text = text1 + sel.text + text2;
            }
         }
         else
         {
            sel.text = sel.text + text1;
         }
         
      }
      else if (ta.selectionStart | ta.selectionStart == 0)
      {
         if (ta.selectionEnd > ta.value.length) { ta.selectionEnd = ta.value.length; }
       
         var firstPos = ta.selectionStart;
         var secondPos = ta.selectionEnd+text1.length;
       
         ta.value=ta.value.slice(0,firstPos)+text1+ta.value.slice(firstPos);
         ta.value=ta.value.slice(0,secondPos)+text2+ta.value.slice(secondPos);
         
         ta.selectionStart = firstPos+text1.length;
         ta.selectionEnd = secondPos;
         ta.focus();
      }
      else
      { // Opera
         var sel = document.post.message;
       
         var instances = countInstances(text1,text2);
         if (instances%2 != 0 && text2 != ""){ sel.value = sel.value + text2; }
         else{ sel.value = sel.value + text1; }
      }  
   }
   
   
   function TAinsert2(text1,text2)
   {
      var ta = window.opener.document.getElementById('message');
       
      if (window.opener.document.selection) {
         var str = window.opener.document.selection.createRange().text;
         ta.focus();
         var sel = window.opener.document.selection.createRange();
         if (text2!="")
         {
            if (str=="")
            {
               var instances = countInstances(text1,text2);
               if (instances%2 != 0){ sel.text = sel.text + text2;}
               else{ sel.text = sel.text + text1;}
            }
            else
            {
               sel.text = text1 + sel.text + text2;
            }
         }
         else
         {
            sel.text = sel.text + text1;
         }
         
      }
      else if (ta.selectionStart | ta.selectionStart == 0)
      {
         if (ta.selectionEnd > ta.value.length) { ta.selectionEnd = ta.value.length; }
       
         var firstPos = ta.selectionStart;
         var secondPos = ta.selectionEnd+text1.length;
       
         ta.value=ta.value.slice(0,firstPos)+text1+ta.value.slice(firstPos);
         ta.value=ta.value.slice(0,secondPos)+text2+ta.value.slice(secondPos);
         
         ta.selectionStart = firstPos+text1.length;
         ta.selectionEnd = secondPos;
         ta.focus();
      }
      else
      { // Opera
         var sel = window.opener.document.post.message;
       
         var instances = countInstances(text1,text2);
         if (instances%2 != 0 && text2 != ""){ sel.value = sel.value + text2; }
         else{ sel.value = sel.value + text1; }
      }  
   }


col0 = new Array(255,255,0,255,0,0);
col1 = new Array(255,0,255,255,0,0);
col2 = new Array(0,0,255,0,0,255);
col3 = new Array(0,255,0,0,255,0);

var base_hexa = "0123456789ABCDEF";
function dec2Hexa(number)
{
   return base_hexa.charAt(Math.floor(number / 16)) + base_hexa.charAt(number % 16);
}

function RGB2Hexa(TR,TG,TB)
{
  return "#" + dec2Hexa(TR) + dec2Hexa(TG) + dec2Hexa(TB);
}
function lightCase(MyObject)
{
document.getElementById('ColorUsed').bgColor = document.getElementById(MyObject).bgColor;
}

function rgb(dm,ta,index){
    fm = dm + 18;
    for (i=dm;i<fm+1;i++)
{
r = Math.floor(ta[0] + (i-dm)*(ta[1]-ta[0])/(fm-dm));
g = Math.floor(ta[2] + (i-dm)*(ta[3]-ta[2])/(fm-dm));
b = Math.floor(ta[4] + (i-dm)*(ta[5]-ta[4])/(fm-dm));
  codehex = dec2Hexa(r) + '' + dec2Hexa(g) + '' + dec2Hexa(b);
  document.write('<td id=\"tableId'+index+'\" bgColor=\"'+RGB2Hexa(r,g,b)+'\" title=\"Mettre en couleur. Syntaxe : [#'+codehex+']texte[/#'+codehex+']\" width=\"3\" height=\"17\"><img src=\"images/trans.gif\" width=\"3\" height=\"17\" onclick=\"TAinsert(\'[\'+document.getElementById(\'tableId'+index+'\').bgColor+\']\',\'[/\'+document.getElementById(\'tableId'+index+'\').bgColor+\']\');lightCase(\'tableId'+index+'\');\" /></td>\n');
    index++;
}
}