var theSelection = false;

var clientPC = navigator.userAgent.toLowerCase();
var clientVer = parseInt(navigator.appVersion);

var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav  = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
                && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));

var is_win   = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac    = (clientPC.indexOf("mac")!=-1);

var Bold  = 0;
var fs = 0;
var Italic = 0;
var Underline = 0;

function BBCbold() {
   if ((clientVer >= 4) && is_ie && is_win) {
      theSelection = document.selection.createRange().text;
      if (theSelection != '') {
      document.selection.createRange().text = "[k]" + theSelection + "[/k]";
      document.form1.mesaj.focus();
      return;
      }
   }
   else
   {
      var txtarea = document.form1.mesaj;
      if(getSelectedText(txtarea).length > 0)
      {
         mozWrap(txtarea, "[k]", "[/k]");
         document.form1.mesaj.focus();
         return;
      }
   }
   if (Bold == 0) {
      ToAdd = "[k]";
      document.form1.bold.src = "grafik/kalin1.jpg";
      Bold = 1;
   } else {
      ToAdd = "[/k]";
      document.form1.bold.src = "grafik/kalin.jpg";
      Bold = 0;
   }
   PostWrite(ToAdd);
}
function BBCitalic() {
   if ((clientVer >= 4) && is_ie && is_win) {
      theSelection = document.selection.createRange().text;
      if (theSelection != '') {
      document.selection.createRange().text = "[y]" + theSelection + "[/y]";
      document.form1.mesaj.focus();
      return;
      }
   }
   else
   {
      var txtarea = document.form1.mesaj;
      if(getSelectedText(txtarea).length > 0)
      {
         mozWrap(txtarea, "[y]", "[/y]");
         document.form1.mesaj.focus();
         return;
      }
   }
   if (Italic == 0) {
      ToAdd = "[y]";
      document.form1.italic.src = "grafik/yatik1.jpg";
      Italic = 1;
   } else {
      ToAdd = "[/y]";
      document.form1.italic.src = "grafik/yatik.jpg";
      Italic = 0;
   }
   PostWrite(ToAdd);
}

function BBCunder() {
   if ((clientVer >= 4) && is_ie && is_win) {
      theSelection = document.selection.createRange().text;
      if (theSelection != '') {
      document.selection.createRange().text = "[a]" + theSelection + "[/a]";
      document.form1.mesaj.focus();
      return;
      }
   }
   else
   {
      var txtarea = document.form1.mesaj;
      if(getSelectedText(txtarea).length > 0)
      {
         mozWrap(txtarea, "[a]", "[/a]");
         document.form1.mesaj.focus();
         return;
      }
   }
   if (Underline == 0) {
      ToAdd = "[a]";
      document.form1.under.src = "grafik/alt1.jpg";
      Underline = 1;
   } else {
      ToAdd = "[/a]";
      document.form1.under.src = "grafik/alt.jpg";
      Underline = 0;
   }
   PostWrite(ToAdd);
}
function BBCfs() {
   if ((clientVer >= 4) && is_ie && is_win) {
      theSelection = document.selection.createRange().text;
      if (theSelection != '') {
      document.selection.createRange().text = "[boyut="+document.form1.fs.value+"px]" + theSelection + "[/boyut]";
      document.form1.mesaj.focus();
      return;
      }
   }
   else
   {
      var txtarea = document.form1.mesaj;
      if(getSelectedText(txtarea).length > 0)
      {
         mozWrap(txtarea, "[boyut="+document.form1.fs.value+"px]", "[/boyut]");
         document.form1.mesaj.focus();
         return;
      }
   }
   ToAdd = "[boyut="+document.form1.fs.value+"px]"+" "+"[/boyut]";
   PostWrite(ToAdd);
}
function storeCaret(textEl) {
   if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}

function PostWrite(text) {
   if (document.form1.mesaj.createTextRange && document.form1.mesaj.caretPos) {
      var caretPos = document.form1.mesaj.caretPos;
      caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?   text + ' ' : text;
   }
   else document.form1.mesaj.value += text;
   document.form1.mesaj.focus(caretPos)
}
function mozWrap(txtarea, open, close)
{
   if(is_ie)
   {
      theSelection = getSelectedText(txtarea);
      document.selection.createRange().text = open + theSelection + close;
      return;
   }
   else
   {
      if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
      {      
         var selLength = txtarea.textLength;
         var selStart = txtarea.selectionStart;
         var selEnd = txtarea.selectionEnd;
         if (selEnd == 1 || selEnd == 2)
            selEnd = selLength;

         var s1 = (txtarea.value).substring(0,selStart);
         var s2 = (txtarea.value).substring(selStart, selEnd)
         var s3 = (txtarea.value).substring(selEnd, selLength);
         txtarea.value = s1 + open + s2 + close + s3;
         return;
      }
      PostWrite(open+close);
   }
   return;
}

function replaceAll(text)
{
   document.form1.mesaj.value = text;
}
function getSelectedText(txtarea)
{
   if ((clientVer >= 4) && is_ie && is_win)
   {
      return document.selection.createRange().text; // Get text selection
   }
   else
   {
      var selLength = txtarea.textLength;
      var selStart = txtarea.selectionStart;
      var selEnd = txtarea.selectionEnd;
      if (selEnd == 1 || selEnd == 2)
         selEnd = selLength;

      var s2 = (txtarea.value).substring(selStart, selEnd);
      return s2;
   }
   return;
}