//коментарии в рецепте

function storeCaret(){
   var frm;
   frm=document.cmform.p_mess;
   if (frm.createTextRange)
     frm.caretPos = document.selection.createRange().duplicate();
}
function Smile(s){
 var frm, text, agent;
 agent=navigator.userAgent;
 frm=document.cmform.p_mess;
 if(s=="1"){
  text=":-)";
 }else if(s=="2"){
  text=";-)";
 }else if(s=="3"){
  text=":-D";
 }else if(s=="4"){
  text="8-)";
 }else if(s=="5"){
  text="~jump~";
 }else if(s=="6"){
  text=":-P";
 }else if(s=="7"){
  text="~cool~";
 }else if(s=="8"){
  text="8-|";
 }else if(s=="9"){
  text=":-(";
 }else if(s=="10"){
  text=":-O";
 }else if(s=="11"){
  text=">-(";
 }else if(s=="12"){
  text="~drink~";
 }else{
  text="~"+s+"~";
 }
 if(agent.indexOf("MSIE")>-1){
  if(frm.createTextRange() && frm.caretPos){
   caretPos=frm.caretPos;
   caretPos.text=caretPos.text.charAt(caretPos.text.length-1)==' '?text+' ':text;
  }else{
   frm.value+=text;
   frm.focus();
  }
 }else{
  frm.value+=text;
  frm.focus();
 }
 return true;
}

var B_open=0;
var I_open=0;
var U_open=0;
var URL_open=0;
var bbtags   = new Array();
var myAgent   = navigator.userAgent.toLowerCase();
var myVersion = parseInt(navigator.appVersion);
var is_ie   = ((myAgent.indexOf("msie") != -1)  && (myAgent.indexOf("opera") == -1));
var is_nav  = ((myAgent.indexOf('mozilla')!=-1) && (myAgent.indexOf('spoofer')==-1)
                && (myAgent.indexOf('compatible') == -1) && (myAgent.indexOf('opera')==-1)
                && (myAgent.indexOf('webtv') ==-1)       && (myAgent.indexOf('hotjava')==-1));
var is_win   =  ((myAgent.indexOf("win")!=-1) || (myAgent.indexOf("16bit")!=-1));
var is_mac    = (myAgent.indexOf("mac")!=-1);
var allcookies = document.cookie;
var pos = allcookies.indexOf("bbmode=");
prep_mode();

function prep_mode(){
 if (pos != 1) {
  var cstart = pos + 7;
  var cend   = allcookies.indexOf(";", cstart);
  if (cend == -1) { cend = allcookies.length; }
  cvalue = allcookies.substring(cstart, cend);
 }
}

function stacksize(thearray){
 for (i = 0 ; i < thearray.length; i++ ) {
  if ((thearray[i] == "") || (thearray[i] == null) || (thearray == "undefined")){
   return i;
  }
 }
 return thearray.length;
}
function pushstack(thearray, newval){
 arraysize = stacksize(thearray);
 thearray[arraysize] = newval;
}
function popstack(thearray){
 arraysize = stacksize(thearray);
 theval = thearray[arraysize - 1];
 delete thearray[arraysize - 1];
 return theval;
}
function simpletag(thetag){
 var tagOpen = eval(thetag + "_open");
 if (tagOpen == 0) {
  if(doInsert("[" + thetag + "]", "[/" + thetag + "]", true)){
    eval(thetag + "_open = 1");
    eval("document.cmform." + thetag + ".className = 'outset'");
    pushstack(bbtags, thetag);
  }else{
    eval("document.cmform." + thetag + ".className = 'inset'");
  }
 }else{
  lastindex = 0;
  for (i = 0 ; i < bbtags.length; i++ ) {
   if ( bbtags[i] == thetag ) {
    lastindex = i;
   }
  }
  while (bbtags[lastindex]) {
	tagRemove = popstack(bbtags);
	if(doInsert("[/" + tagRemove + "]", "", false)){
	  eval("document.cmform." + thetag + ".className = 'outset'");
	}else{
  	  eval("document.cmform." + thetag + ".className = 'inset'");
	}
	eval(tagRemove + "_open = 0");
  }
 }
}
function doInsert(ibTag, ibClsTag, isSingle){
 var isClose = false;
 var obj_ta = document.cmform.p_mess;
 if ((myVersion >= 4) && is_ie && is_win){
  if(obj_ta.isTextEdit){
	obj_ta.focus();
	var sel = document.selection;
	var rng = sel.createRange();
	rng.colapse;
	if((sel.type == "Text" || sel.type == "None") && rng != null){
		if(ibClsTag != "" && rng.text.length > 0){
			ibTag += rng.text + ibClsTag;
		}else if(isSingle){
			isClose = true;
		}
		rng.text = ibTag;
	}
  }else{
	if(isSingle)
		isClose = true;
	obj_ta.value += ibTag;
  }
 }else{
  if(isSingle)
	isClose = true;
  obj_ta.value += ibTag;
 }
 obj_ta.focus();
 return isClose;
}
