var edCanvas;
var edButtons = new Array();
 
function edButton(id, display, tagStart, tagEnd)
{
   this.id = id;
   this.display = display;
   this.tagStart = tagStart;
   this.tagEnd = tagEnd;
}
edButtons[edButtons.length] = new edButton('ed_bold','bold' ,'<b>','</b>');
edButtons[edButtons.length] = new edButton('ed_italic','italic' ,'<i>' ,'</i>');
edButtons[edButtons.length] = new edButton('ed_under','uline' ,'<u>' ,'</u>');
//edButtons[edButtons.length] = new edButton('ed_strike','strike','<s>','</s>');
edButtons[edButtons.length] = new edButton('ed_smiley','01',':)','');
edButtons[edButtons.length] = new edButton('ed_smiley','02',':(','');
edButtons[edButtons.length] = new edButton('ed_smiley','19',':|','');
edButtons[edButtons.length] = new edButton('ed_smiley','11',':O','');
edButtons[edButtons.length] = new edButton('ed_smiley','42','**==','');
edButtons[edButtons.length] = new edButton('ed_smiley','99','|*|','');
edButtons[edButtons.length] = new edButton('ed_smiley','95','|UK|','');
edButtons[edButtons.length] = new edButton('ed_smiley','44','~o)','');
edButtons[edButtons.length] = new edButton('ed_smiley','97',':beer:','');
edButtons[edButtons.length] = new edButton('ed_smiley','98',':coke:','');
edButtons[edButtons.length] = new edButton('ed_red','btn_red','<r>','</r>');
edButtons[edButtons.length] = new edButton('ed_orange','btn_orange','<o>','</o>');
edButtons[edButtons.length] = new edButton('ed_yellow','btn_yellow','<y>','</y>');
edButtons[edButtons.length] = new edButton('ed_green','btn_green','<g>','</g>');
edButtons[edButtons.length] = new edButton('ed_blue','btn_blue','<n>','</n>');
edButtons[edButtons.length] = new edButton('ed_purple','btn_purple','<p>','</p>');
function edShowButton(button, i)
{
   tb=edButtons.length+800;
   document.write('<a tabindex='+tb+' unselectable=on href="javascript:edInsertTag(' +i +')">');
   tb=edButtons.length+900;
   if (button.id=='ed_smiley')
   {
      document.write('<img tabindex='+tb+' unselectable=on src="smiley/'+button.display+'.gif" border=0></a>');
   }
   else
   {
      document.write('<img tabindex='+tb+' unselectable=on src="images/'+button.display+'.gif" border=0></a>');
   }
}
 
function edToolbar()
{
   document.write('<tr><td style="background-color:silver; height:30px; valign:center;"><div id="ed_toolbar" align=center>');
   for (i = 0; i < edButtons.length; i++)
   {
      edShowButton(edButtons[i], i);
   }
   document.write('<input style="font:8pt Tahoma;" type="button" value="SpellCheck" onclick="javascript:SpellCheck();">');
   document.write("&nbsp;&nbsp;<a tabindex=799 unselectable=on href=smiley/cheatsheet.html target=new_win>");
   document.write('<img tabindex=798 unselectable=on src="images/help_edit.gif" border=0>');
   document.write("</a>");
   document.write('</div></td></tr>');
}
 
function edInsertTag(i)
{
   //IE support
   if (document.selection)
   {
      edCanvas.focus();
      sel = document.selection.createRange().duplicate();
      if ((sel.text.length > 0) && (edButtons[i].tagEnd != ''))
      {
         sel.text = edButtons[i].tagStart + sel.text + edButtons[i].tagEnd;
      }
      else
      {
         if (edButtons[i].tagEnd == '')
         {
            sel.text = edButtons[i].tagStart;
         }
      }
      sel.collapse();
      edCanvas.focus();
      sel.select();
   }
   //MOZILLA/NETSCAPE support
   else if (edCanvas.selectionStart || edCanvas.selectionStart == '0')
   {
      var startPos = edCanvas.selectionStart;
      var endPos = edCanvas.selectionEnd;
      var cursorPos = endPos;
      if ((startPos != endPos) && (edButtons[i].tagEnd != ''))
      {
         edCanvas.value = edCanvas.value.substring(0, startPos)+ edButtons[i].tagStart+ edCanvas.value.substring(startPos, endPos)+ edButtons[i].tagEnd+ edCanvas.value.substring(endPos, edCanvas.value.length);
         cursorPos += edButtons[i].tagStart.length + edButtons[i].tagEnd.length;
      }
      else
      {
         if (edButtons[i].tagEnd == '')
         {
            edCanvas.value = edCanvas.value.substring(0, startPos)+ edButtons[i].tagStart+ edCanvas.value.substring(endPos, edCanvas.value.length);
            cursorPos = startPos + edButtons[i].tagStart.length;
         }
      }
      edCanvas.focus();
      edCanvas.selectionStart = startPos;
      edCanvas.selectionEnd=cursorPos;
   }
   else
   {
      edCanvas.focus();
   }
}
 
function SpellCheck()
{
   try
   {
      var tmpis = new ActiveXObject("ieSpell.ieSpellExtension");
      tmpis.CheckAllLinkedDocuments(document);
   }
   catch(e)
   {
      alert("To Enable Spell Checking Download The Free Spell Checker: http://www.iespell.com.");
   }
}
 
function replaceAll( str, from, to )
{
   var idx = str.indexOf( from );
   while ( idx > -1 )
   {
      str = str.replace( from, to );
      idx = str.indexOf( from );
   }
   return str;
}
 
function InsertEditor(txtAreaName,rows,cols,txt)
{
   txt= replaceAll( txt, "<br>", "\n" );
   document.write('<table border=0 cellpadding=0 cellspacing=0 style="margin:0px;">');
   document.write('<tr><td><textarea name="'+txtAreaName+'" id="'+txtAreaName+'" rows='+rows+' cols='+cols+' wrap=hard>');
   document.write(txt+'</textarea></td></tr>');
   edCanvas = document.getElementById(txtAreaName);
   edToolbar();
   document.write('</table>');
  // edCanvas.focus();
}

