var alreadyFocused = false;

function obj(oid) {
 if (document.getElementById) {
  return document.getElementById(oid);
 } else if (document.all) {
  return document.all[oid];
 } else {
  return null;
 }
}
function quote(fid,text) {
 f = obj(fid);
 if (!f) return;
 f.value += '[quote] ' + text + ' [/quote]\n';
 f.focus();
}
function quote_full(fid,name,text) {
 f = obj(fid);
 if (!f) return;
 f.value += '[quote="' + name + '"] ' + text + ' [/quote]\n';
 f.focus();
}
function quote_name(fid,name) {
 f = obj(fid);
 if (!f) return;
 f.value += '[b] ' + name + ' [/b]\n';
 f.focus();
}
function quoteSelected(fid) {
 ds = document.selection;
 if (!ds) {
	 selected = window.getSelection().toString();
	 if (!selected) {
	  alert('Сначала выделите текст!');
	 } else {
	   quote(fid, selected);
	 }
 } else {
	 selected = ds.createRange().text;
	 if (!selected) {
	  alert('Сначала выделите текст!');
	 } else {
	  quote(fid, selected);
	 }
 }
}
function checkLength(fid, max) {
 f = obj(fid);
 if (!f) return true;
 left = max - f.value.length;
 return (left > -5);
}
function keepLength(fid, max) {
 f = obj(fid);
 if (!f) return;
 left = max - (msg = f.value).length;
 if (left < 0) {
  f.value = msg.substring(0, max);
 }
}
function keepLengthEx(fid, max, cid) {
 f = obj(fid);
 if (!f) return;
 c = obj(cid);
 if (!c) return;
 cs = c.style;
 left = max - (msg = f.value).length;
 if (left < 0) {
  f.value = msg.substring(0, max); c.innerHTML = 0;
 } else {
  c.innerHTML = left;
 }
 if (left <= 20) {
  cs.color = 'red'; cs.fontWeight = 'bold';
 } else {
  cs.color = 'black'; cs.fontWeight = 'normal';
 }
}
function appendValue(oid, app) {
 o = obj(oid);
 if (!o) return;
 if (!o.value) return;
 o.value = o.value + app;
}

