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);

function text(text)
 {
  document.post.message.value=document.post.message.value+text;
 }
function InsertName(name)
 {
  document.post.message.value=document.post.message.value+"[b]"+name+"[/b]"+" \n";
 }

function SubmitControl(fname)
 {
  if (document.all || document.getElementById)
   {
    for (i=0; i < fname.length;i++)
     {
      if(fname.elements[i].type.toLowerCase()=="submit"||fname.elements[i].type.toLowerCase()=="reset")
       {
        fname.elements[i].disabled = true
       }
     }
   }
 }
 
b_help = "Жирный текст: [b]текст[/b]  (alt+b)";
i_help = "Наклонный текст: [i]текст[/i]  (alt+i)";
u_help = "Подчёркнутый текст: [u]текст[/u]  (alt+u)";
s_help = "Перечёркнутый текст: [s]текст[/s]  (alt+s)";
n_help = "Подстрочный текст: [sub]текст[/sub]  (alt+n)";
v_help = "Надстрочный текст: [sup]текст[/sup]  (alt+v)";
q_help = "Цитата: [quote]текст[/quote]  (alt+q)";
c_help = "Код (программа): [code]код[/code]  (alt+c)";
p_help = "Вставить картинку: [img]http://image_url[/img]  (alt+p)";
l_help = "Список: [list]текст[/list] (alt+l)"; 
o_help = "Нумерованный список: [list=][*]строка1[*]строка2...[/list]  (alt+o)";
w_help = "Вставить ссылку: [url]http://url[/url] или [url=http://url]текст ссылки[/url]  (alt+w)";
m_help = "Вставить E-mail: [email]you@mail.com[/email]  (alt+m)";
r_help = "Цвет шрифта: [color=red]текст[/color]. Можно использовать color=#FF0000";
f_help = "Размер шрифта: [size=9]маленький текст[/size]";
a_help = "Выравнивание текста: [align=center]текст[/align]";
e_help = "Закрыть все открытые теги bbCode";

bbcode = new Array();
bbtags = new Array(
                   '[b]','[/b]',
                   '[i]','[/i]',
                   '[u]','[/u]',
                   '[s]','[/s]',
                   '[sub]','[/sub]',
                   '[sup]','[/sup]',
                   '[quote]','[/quote]',
                   '[code]','[/code]',
                   '[list]','[/list]',
                   '[list=]','[/list]',
                   '[img]','[/img]',
                   '[url]','[/url]',
                   '[email]','[/email]'
                  );
 
function helpline(help) 
 {
  document.post.helpbox.value = eval(help + "_help");
 }
 
function bbfontstyle(bbopen, bbclose) 
 {
  if ((clientVer >= 4) && is_ie && is_win) 
   {
	theSelection = document.selection.createRange().text;
	if (!theSelection) 
	 {
	  document.post.message.value += bbopen + bbclose;
	  document.post.message.focus();
	  return;
	 }
	document.selection.createRange().text = bbopen + theSelection + bbclose;
	document.post.message.focus();
	return;
   } 
  else 
   {
	document.post.message.value += bbopen + bbclose;
	document.post.message.focus();
	return;
   }
  storeCaret(document.post.message);
 }
 
function bbstyle(bbnumber) 
 {
  donotinsert = false;
  theSelection = false;
  bblast = 0;

  if (bbnumber == -1) 
   {
	while (bbcode[0]) 
	 {
	  butnumber = arraypop(bbcode) - 1;
	  document.post.message.value += bbtags[butnumber + 1];
	  eval('document.post.addbbcode' + butnumber + '.style.backgroundColor =""');
	 }
	document.post.message.focus();
	return;
   }

  if ((clientVer >= 4) && is_ie && is_win)
   {
	theSelection = document.selection.createRange().text;
   }		
  if (theSelection) 
   {
	document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];
	document.post.message.focus();
	theSelection = '';
	return;
   }
	
  for (i = 0; i < bbcode.length; i++) 
   {
	if (bbcode[i] == bbnumber+1) 
	 {
	  bblast = i;
	  donotinsert = true;
	 }
   }

  if (donotinsert) 
   {
	while (bbcode[bblast]) 
	 {
	  butnumber = arraypop(bbcode) - 1;
	  document.post.message.value += bbtags[butnumber + 1];
	  eval('document.post.addbbcode' + butnumber + '.style.backgroundColor =""');
	 }
	document.post.message.focus();
	return;
   } 
  else 
   {
    document.post.message.value += bbtags[bbnumber]; 
	arraypush(bbcode,bbnumber+1);
	eval('document.post.addbbcode'+bbnumber+'.style.backgroundColor = "#FF0000"');
	document.post.message.focus();
	return;
   }
  storeCaret(document.post.message);
 }
 
function storeCaret(textEl) 
 {
  if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
 }
 
function getarraysize(thearray) 
 {
  for (i = 0; i < thearray.length; i++) 
   {
	if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null)) return i;
   }
  return thearray.length;
} 
 
function arraypush(thearray,value) 
 {
  thearray[ getarraysize(thearray) ] = value;
 }

function arraypop(thearray) 
 {
  thearraysize = getarraysize(thearray);
  retval = thearray[thearraysize - 1];
  delete thearray[thearraysize - 1];
  return retval;
 }


