function Chg(AText) {
   return "[b]" + AText + "[/b]";
}

function Ins(AObj, ASt, AEnd) {
   AObj.focus();
   if (document.selection) {
      var xSel = document.selection.createRange();
      xSel.text=ASt + xSel.text + AEnd;
      xSel.select();
   } else if (typeof(AObj.selectionStart)=="number") {
      var xScroll=AObj.scrollTop;
      var xStart = AObj.selectionStart;
      var xEnd = AObj.selectionEnd;
      var xText=ASt + AObj.value.substr(xStart, xEnd-xStart) + AEnd;
      AObj.value = AObj.value.substr(0, xStart) + xText + AObj.value.substr(xEnd);
      AObj.setSelectionRange(xEnd, xEnd);
      AObj.scrollTop=xScroll;
   }
   return false;
}

function InsImg(AObj, ASt) {
   if (!ASt) { return false; }
   else { return Ins(AObj, "[img]" + ASt, "[/img]"); }
}

function Ins2(AObj, ASt) {
   var xTxt="";
   if (document.getSelection) { xTxt=document.getSelection(); }
   else if (document.selection) { xTxt=document.selection.createRange().text; }
   if (xTxt=="") { alert("Не выделен текст для цитирования или функция не поддерживается вашим браузером"); return false; }
   xTxt="[quote]" + ASt + xTxt + "[/quote]\n";

   AObj.focus();
   if (document.selection) {
      var xSel = document.selection.createRange();
      //if (xSel.text) {
         xSel.text=xTxt;
         xSel.select();
      //}
   } else if (typeof(AObj.selectionStart)=="number") {
      //if (AObj.selectionStart!=AObj.selectionEnd) {
         var xScroll=AObj.scrollTop;
         var xStart = AObj.selectionStart;
         var xEnd = AObj.selectionEnd;
         AObj.value = AObj.value.substr(0, xStart) + xTxt + AObj.value.substr(xEnd);
         AObj.setSelectionRange(xEnd, xEnd);
         AObj.scrollTop=xScroll;
      //}
   }
   return false;
}

function ShowSmiles() {
   var xEl=document.getElementById("smiles");
   if (xEl!=null) {
      if (xEl.style.display=="none") {
         xEl.style.display="block";
      } else {
         xEl.style.display="none";
      }
   }
   return false;
}

var Poll=new Array();
var PollCnt=new Array();
var PollAllowDel=1;

function InitPoll() {
   var xEl=document.getElementById("pollanswers");
   if (xEl==null) { alert ("Ошибка на странице. Невозможно показать опрос."); return; }
   var xData="";
   xData=xData + "<div id=\"pollanswer_0\">Ответ #0<br /><input type=\"text\" class=\"text\" maxlength=\"128\" name=\"pollanswer0\" value=\"\" onchange=\"SavePollAnswer(this, " + 0 + ");\" /></div>";
   xData=xData + "<a href=\"#\" class=\"link\" onclick=\"return AddPollAnswer();\">Добавить</a>";
   xData=xData + "<br /><br />";
   xEl.innerHTML=xData;
   Poll[0]=new String("");
   PollCnt[0]=0;
}

function ShowPollData() {
   var xEl=document.getElementById("pollanswers");
   if (xEl==null) { alert ("Ошибка на странице. Невозможно показать опрос."); return; }
   var xData="";
   var xReadOnly="";
   for (var xi=0; xi<Poll.length; xi++) {
      if (PollAllowDel==0) { xReadOnly=" readonly=\"readonly\""; } else { xReadOnly=""; }
      if (PollCnt[xi]==0) { xReadOnly=""; }
      xData=xData + "<div id=\"pollanswer_" + xi + "\">Ответ #" + xi + "<br /><input type=\"text\" class=\"text\" maxlength=\"128\"" + xReadOnly + " name=\"pollanswer" + xi + "\" value=\"" + Poll[xi] + "\" onchange=\"SavePollAnswer(this, " + xi + ");\" /></div>";
      if (xi==(Poll.length - 1)) { xData=xData + "<a href=\"#\" class=\"link\" onclick=\"return AddPollAnswer();\">Добавить</a>&nbsp;&nbsp;&nbsp;"; }
      if ((Poll.length>1) && (PollAllowDel==1)) { xData=xData + "<a href=\"#\" class=\"link\" onclick=\"return DelPollAnswer(" + xi + ");\">Удалить</a>&nbsp;&nbsp;&nbsp;"; }
      xData=xData + "<br /><br />";
   }
   xEl.innerHTML=xData;
}

function ShowPoll() {
   var xEl=document.getElementById("showpoll");
   if (xEl!=null) {
      var xIsChecked=xEl.checked;
      xEl=document.getElementById("poll");
      if (xEl==null) { alert("Ошибка на странице. Невозможно найти опрос."); return; }
      if (xIsChecked) { xEl.style.display="block"; } else { xEl.style.display="none"; return; }
      if (Poll.length=="") { InitPoll(xEl); }
      else { ShowPollData(); }
   } else { alert("Ошибка на странице. Невозможно найти чекбокс."); }
}

function AddPollAnswer() {
   Poll[Poll.length]=new String("");
   PollCnt[Poll.length-1]=0;
   ShowPollData();
   return false;
}

function DelPollAnswer(AIndex) {
   if (PollAllowDel==0) { alert("Невозможно удалить ответ в активном опросе"); return false; }
   if (confirm('Вы уверены, что хотите удалить этот ответ?')) {
      Poll.splice(AIndex, 1);
      ShowPollData();
   }
   return false;
}

function SavePollAnswer(AEl, AIndex) {
   if (AEl!=null) {
      Poll[AIndex]=AEl.value;
   }
}


